/* Enhanced EasySlider Frontend Styles v1.2.4 - Fixed Conflicts */

/* Reset any conflicting slider styles */
.easyslider-container,
.easyslider-container *,
.easyslider-container *:before,
.easyslider-container *:after {
    box-sizing: border-box !important;
}

/* Override any conflicting slider plugin styles */
.easyslider-container {
    /* Reset Slidr and other slider plugin conflicts but respect inline height */
    max-height: none !important;
    /* Don't override inline height - let PHP set it */
}

.easyslider-container[style*="height"] {
    /* Respect inline height from PHP but ensure minimum */
    min-height: 300px !important;
}

.easyslider-container .easyslider-slide {
    /* Reset conflicting item styles */
    max-height: none !important;
    width: 100% !important;
    height: 100% !important;
}

.easyslider-container .easyslider-slide img {
    /* Reset conflicting image styles */
    object-fit: cover !important;
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    max-height: none !important;
}

.easyslider-container {
    position: relative !important;
    width: 100% !important;
    overflow: hidden !important;
    border-radius: 0 !important; /* Removed round corners */
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1) !important;
    /* Reset any conflicting styles but respect inline height */
    max-height: none !important;
    display: block !important;
    box-sizing: border-box !important;
    /* Don't override height - let inline style from PHP handle it */
}

/* Ensure minimum height only if no inline height is set */
.easyslider-container:not([style*="height"]) {
    min-height: 400px !important;
}

.easyslider-wrapper {
    position: relative !important;
    width: 100% !important;
    height: 100% !important;
    display: block !important;
    box-sizing: border-box !important;
}

.easyslider-slide {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    opacity: 0 !important;
    transition: opacity 0.5s ease-in-out !important;
    display: flex !important;
    flex-direction: column !important;
    box-sizing: border-box !important;
    /* Reset any conflicting styles */
    max-height: none !important;
    min-height: auto !important;
    object-fit: initial !important;
}

/* Ensure image area takes up available space */
.easyslider-slide .easyslider-image {
    flex: 1 !important;
    min-height: 200px !important; /* Ensure minimum height for images */
}

.easyslider-slide.active {
    opacity: 1 !important;
}

/* Whole slide clickable styles */
.easyslider-container[data-whole-slide-clickable="true"] .easyslider-slide {
    cursor: pointer;
}

.easyslider-container[data-whole-slide-clickable="true"] .easyslider-slide:hover {
    transform: scale(1.005); /* Very subtle scaling to prevent shaking */
    transition: transform 0.5s ease, opacity 0.5s ease-in-out; /* Slower transition */
}

.easyslider-image {
    flex: 1 !important;
    overflow: hidden !important;
    position: relative !important;
    width: 100% !important;
    display: block !important;
    box-sizing: border-box !important;
    /* Remove height: auto that was collapsing the container */
}

/* Ensure image containers have proper height */
.easyslider-container .easyslider-slide .easyslider-image {
    flex: 1 !important;
    min-height: 250px !important;
    height: auto !important;
}

.easyslider-image img,
.easyslider-container .easyslider-image img,
.easyslider-slide .easyslider-image img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    transition: transform 0.3s ease !important;
    display: block !important;
    max-width: none !important;
    max-height: none !important;
    min-width: auto !important;
    min-height: auto !important;
    box-sizing: border-box !important;
    /* Ensure images are visible */
    opacity: 1 !important;
    visibility: visible !important;
}

.easyslider-image a {
    display: block;
    height: 100%;
    text-decoration: none;
}

/* Disabled to prevent shaking - image hover scaling removed */
/* .easyslider-slide:hover .easyslider-image img {
    transform: scale(1.03);
    transition: transform 0.4s ease;
} */

.easyslider-content {
    padding: 30px !important;
    padding-bottom: 70px !important; /* Extra bottom padding for navigation */
    background: inherit !important;
    position: relative !important;
    z-index: 2 !important;
    box-sizing: border-box !important;
    width: calc(100% - 120px) !important; /* Reduce width to leave space for arrows */
    max-width: none !important;
    margin: 0 auto !important; /* Center the content */
}

.easyslider-title {
    margin: 0 0 15px 0;
    font-size: 28px;
    font-weight: 700;
    line-height: 1.3;
}

.easyslider-title a {
    color: inherit;
    text-decoration: none;
    transition: opacity 0.3s ease;
}

.easyslider-title a:hover {
    opacity: 0.8;
}

.easyslider-excerpt {
    margin: 0 0 15px 0;
    font-size: 16px;
    line-height: 1.6;
    opacity: 0.9;
}

.easyslider-meta {
    font-size: 14px;
    opacity: 0.7;
    font-weight: 500;
    margin-bottom: 15px;
}

.easyslider-read-more {
    margin-top: 15px;
}

/* Improved Read More Button Styling */
.easyslider-read-more-btn {
    display: inline-block;
    padding: 8px 16px;
    text-decoration: none;
    border-radius: 20px;
    font-size: 12px;
    font-weight: 600;
    transition: all 0.3s ease;
    cursor: pointer;
    border: none;
    outline: none;
    white-space: nowrap;
    line-height: 1.2;
    letter-spacing: 0.5px;
    text-transform: uppercase;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

.easyslider-read-more-btn:hover {
    transform: translateY(-1px); /* Reduced from -2px to prevent shaking */
    box-shadow: 0 3px 6px rgba(0, 0, 0, 0.15); /* Reduced shadow */
    text-decoration: none;
    opacity: 0.9;
    transition: all 0.3s ease; /* Added explicit transition */
}
}

.easyslider-read-more-btn:active {
    transform: translateY(0);
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

/* Enhanced Navigation Arrows */
.easyslider-arrow {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    /* Background color is set via inline styles from PHP to respect block settings */
    color: white;
    border: none !important;
    width: 50px !important;
    height: 50px !important;
    border-radius: 50% !important; /* Strengthened with !important */
    cursor: pointer;
    font-size: 24px;
    font-weight: bold;
    transition: all 0.3s ease;
    z-index: 10;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
    box-sizing: border-box !important; /* Added for consistent sizing */
}

.easyslider-arrow:hover {
    background: rgba(0, 0, 0, 0.8);
    transform: translateY(-50%) scale(1.1);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
}

.easyslider-arrow:focus {
    outline: 2px solid #007cba;
    outline-offset: 2px;
}

.easyslider-arrow:active {
    transform: translateY(-50%) scale(0.95);
}

.easyslider-prev {
    left: 20px;
}

.easyslider-next {
    right: 20px;
}

/* Enhanced Dots Navigation */
.easyslider-dots {
    position: absolute;
    bottom: 30px; /* Increased from 20px for better spacing */
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    gap: 12px;
    z-index: 10;
}

.easyslider-dot {
    width: 10px !important;
    height: 10px !important;
    border-radius: 50% !important;
    /* Border and background colors are set via PHP-generated CSS to respect block settings */
    cursor: pointer !important;
    transition: all 0.3s ease !important;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2) !important;
    display: inline-block !important;
    box-sizing: border-box !important;
    /* Reset any inherited styles */
    margin: 0 !important;
    padding: 0 !important;
    outline: none !important;
    /* Ensure perfect circle */
    min-width: 10px !important;
    min-height: 10px !important;
    max-width: 10px !important;
    max-height: 10px !important;
    flex-shrink: 0 !important;
    /* Make it behave like a button */
    user-select: none !important;
    -webkit-user-select: none !important;
    -moz-user-select: none !important;
    -ms-user-select: none !important;
}

.easyslider-dot:hover,
.easyslider-dot.active {
    /* Colors are set via PHP-generated CSS to respect block settings */
    /* Only handle transform and shadow effects here */
    transform: scale(1.2) !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3) !important;
}

.easyslider-dot:focus {
    outline: 2px solid #007cba !important;
    outline-offset: 2px !important;
}

.easyslider-dot:active {
    transform: scale(1.1) !important;
}

.easyslider-dot:active {
    transform: scale(1.1) !important;
}

/* Full Background Mode Styles */
.easyslider-container[data-background-mode="fullBackground"] .easyslider-slide {
    background-size: cover !important;
    background-position: center !important;
    background-repeat: no-repeat !important;
}

.easyslider-container[data-background-mode="fullBackground"] .easyslider-content {
    background: transparent !important;
    height: 100% !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-end !important;
    padding: 30px !important;
    padding-bottom: 80px !important; /* Extra bottom padding for navigation */
    width: calc(100% - 200px) !important; /* Reduce width to leave space for arrows */
    max-width: none !important;
    margin: 0 auto !important; /* Center the content */
    box-sizing: border-box !important;
}

.easyslider-container[data-background-mode="fullBackground"] .easyslider-title,
.easyslider-container[data-background-mode="fullBackground"] .easyslider-excerpt,
.easyslider-container[data-background-mode="fullBackground"] .easyslider-meta {
    text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.8) !important;
    color: white !important;
}

.easyslider-container[data-background-mode="fullBackground"] .easyslider-read-more-btn {
    text-shadow: none !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3) !important;
}

/* Hide separate image container in full background mode */
.easyslider-container[data-background-mode="fullBackground"] .easyslider-image {
    display: none !important;
}

/* Prevent hover conflicts and shaking */
.easyslider-slide {
    /* Ensure smooth transitions */
    transition: transform 0.4s ease, opacity 0.5s ease-in-out !important;
}

/* Reduce slide hover effect to prevent shaking */
.easyslider-container[data-whole-slide-clickable="true"] .easyslider-slide:hover {
    transform: scale(1.005); /* Very subtle scaling to prevent shaking */
    transition: transform 0.5s ease, opacity 0.5s ease-in-out; /* Slower transition */
}

/* Slide indicators */
.easyslider-slide-counter,
.easyslider-click-indicator {
    position: absolute !important;
    padding: 8px 12px !important;
    border-radius: 20px !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    z-index: 10 !important;
    font-family: inherit !important;
    line-height: 1.2 !important;
    /* Colors are set via inline styles from PHP to respect block settings */
}

.easyslider-slide-counter {
    top: 20px !important;
    right: 20px !important;
}

.easyslider-click-indicator {
    top: 20px !important;
    left: 20px !important;
}

/* No posts message */
.easyslider-no-posts {
    padding: 60px 30px;
    text-align: center;
    background: #f8f9fa;
    border: 2px dashed #dee2e6;
    border-radius: 8px;
    color: #6c757d;
    font-size: 18px;
}

/* Loading Animation */
.easyslider-loaded {
    animation: fadeIn 0.5s ease-in-out;
}

@keyframes fadeIn {
    from { opacity: 0; }
    to { opacity: 1; }
}

/* Responsive Design */
@media (max-width: 768px) {
    .easyslider-content {
        padding: 20px !important;
        padding-bottom: 60px !important; /* Extra bottom padding for navigation */
        width: calc(100% - 80px) !important; /* Reduce width for smaller screens */
    }
    
    .easyslider-container[data-background-mode="fullBackground"] .easyslider-content {
        padding: 20px !important;
        padding-bottom: 70px !important;
        width: calc(100% - 120px) !important;
    }
    
    .easyslider-title {
        font-size: 24px;
    }
    
    .easyslider-excerpt {
        font-size: 14px;
    }
    
    .easyslider-arrow {
        width: 40px;
        height: 40px;
        font-size: 20px;
    }
    
    .easyslider-prev {
        left: 10px;
    }
    
    .easyslider-next {
        right: 10px;
    }
    
    .easyslider-dots {
        bottom: 15px;
        gap: 8px;
    }
    
    .easyslider-dot {
        width: 8px; /* Reduced from 12px */
        height: 8px; /* Reduced from 12px */
    }

    .easyslider-read-more-btn {
        padding: 6px 12px;
        font-size: 11px;
    }
    
    /* Responsive indicators */
    .easyslider-slide-counter,
    .easyslider-click-indicator {
        top: 15px !important;
        padding: 6px 10px !important;
        font-size: 12px !important;
    }
    
    .easyslider-slide-counter {
        right: 15px !important;
    }
    
    .easyslider-click-indicator {
        left: 15px !important;
    }
}

@media (max-width: 480px) {
    .easyslider-content {
        padding: 15px !important;
        padding-bottom: 50px !important; /* Extra bottom padding for navigation */
        width: calc(100% - 60px) !important; /* Reduce width for mobile */
    }
    
    .easyslider-container[data-background-mode="fullBackground"] .easyslider-content {
        padding: 15px !important;
        padding-bottom: 60px !important;
        width: calc(100% - 80px) !important;
    }
    
    .easyslider-title {
        font-size: 20px;
    }
    
    .easyslider-excerpt {
        font-size: 13px;
    }
    
    .easyslider-arrow {
        width: 35px;
        height: 35px;
        font-size: 18px;
    }

    .easyslider-dots {
        bottom: 10px;
        gap: 6px;
    }
    
    .easyslider-dot {
        width: 6px; /* Reduced from 10px */
        height: 6px; /* Reduced from 10px */
    }

    .easyslider-read-more-btn {
        padding: 5px 10px;
        font-size: 10px;
    }
    
    /* Mobile responsive indicators */
    .easyslider-slide-counter,
    .easyslider-click-indicator {
        top: 10px !important;
        padding: 5px 8px !important;
        font-size: 11px !important;
    }
    
    .easyslider-slide-counter {
        right: 10px !important;
    }
    
    .easyslider-click-indicator {
        left: 10px !important;
    }
}

/* Accessibility */
@media (prefers-reduced-motion: reduce) {
    .easyslider-slide,
    .easyslider-arrow,
    .easyslider-dot,
    .easyslider-image img,
    .easyslider-read-more-btn {
        transition: none;
    }
    
    .easyslider-loaded {
        animation: none;
    }
    
    .easyslider-container[data-whole-slide-clickable="true"] .easyslider-slide:hover {
        transform: none;
    }
}

/* High contrast mode */
@media (prefers-contrast: high) {
    .easyslider-arrow {
        background: black;
        border: 2px solid white;
    }
    
    .easyslider-dot {
        /* Don't override colors in high contrast mode - let block settings work */
        border-width: 3px;
    }
    
    .easyslider-read-more-btn {
        border: 2px solid currentColor;
    }
}

/* Focus styles for better accessibility */
.easyslider-container:focus {
    outline: 2px solid #007cba;
    outline-offset: 2px;
}

.easyslider-container:focus-visible {
    outline: 2px solid #007cba;
    outline-offset: 2px;
}

.easyslider-read-more-btn:focus {
    outline: 2px solid #007cba;
    outline-offset: 2px;
}

/* Print styles */
@media print {
    .easyslider-arrow,
    .easyslider-dots {
        display: none;
    }
    
    .easyslider-slide {
        position: static;
        opacity: 1;
        page-break-inside: avoid;
    }
    
    .easyslider-slide:not(.active) {
        display: none;
    }
    
    .easyslider-read-more-btn {
        display: none;
    }
}

/* Additional conflict prevention - highest specificity */
.easyslider-container.easyslider-container {
    /* Double class for higher specificity */
    position: relative !important;
    width: 100% !important;
    max-height: none !important;
    overflow: hidden !important;
    display: block !important;
    /* Don't override height - respect inline styles */
}

/* Only set min-height if no inline height */
.easyslider-container.easyslider-container:not([style*="height"]) {
    min-height: 400px !important;
}

.easyslider-container.easyslider-container .easyslider-slide.easyslider-slide {
    /* Double class for higher specificity */
    position: absolute !important;
    width: 100% !important;
    height: 100% !important;
    max-height: none !important;
    top: 0 !important;
    left: 0 !important;
    display: flex !important;
    flex-direction: column !important;
}

.easyslider-container.easyslider-container .easyslider-slide.easyslider-slide img {
    /* Triple specificity for images */
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    max-width: none !important;
    max-height: none !important;
    min-width: auto !important;
    min-height: auto !important;
    display: block !important;
}

/* Force override any theme or plugin conflicts */
body .easyslider-container,
html body .easyslider-container {
    position: relative !important;
    width: 100% !important;
    max-height: none !important;
    overflow: hidden !important;
    /* Don't override height - respect inline styles */
}

/* Only set min-height if no inline height */
body .easyslider-container:not([style*="height"]),
html body .easyslider-container:not([style*="height"]) {
    min-height: 400px !important;
}

body .easyslider-container .easyslider-slide,
html body .easyslider-container .easyslider-slide {
    position: absolute !important;
    width: 100% !important;
    height: 100% !important;
    max-height: none !important;
    top: 0 !important;
    left: 0 !important;
}

body .easyslider-container .easyslider-slide img,
html body .easyslider-container .easyslider-slide img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    max-width: none !important;
    max-height: none !important;
}

/* High specificity for content width */
body .easyslider-container .easyslider-content,
html body .easyslider-container .easyslider-content {
    width: calc(100% - 120px) !important;
    max-width: none !important;
    margin: 0 auto !important;
    box-sizing: border-box !important;
    padding-bottom: 70px !important;
}

/* High specificity for full background content */
body .easyslider-container[data-background-mode="fullBackground"] .easyslider-content,
html body .easyslider-container[data-background-mode="fullBackground"] .easyslider-content {
    width: calc(100% - 200px) !important;
    padding-bottom: 80px !important;
}

/* High specificity for round dots */
body .easyslider-container .easyslider-dot,
html body .easyslider-container .easyslider-dot {
    width: 10px !important;
    height: 10px !important;
    border-radius: 50% !important;
    min-width: 10px !important;
    min-height: 10px !important;
    max-width: 10px !important;
    max-height: 10px !important;
    display: inline-block !important;
    box-sizing: border-box !important;
    flex-shrink: 0 !important;
    /* Reset any inherited styles for span elements */
    margin: 0 !important;
    padding: 0 !important;
    outline: none !important;
    user-select: none !important;
    -webkit-user-select: none !important;
    -moz-user-select: none !important;
    -ms-user-select: none !important;
}

/* High specificity for active dots */
body .easyslider-container .easyslider-dot.active,
html body .easyslider-container .easyslider-dot.active,
body .easyslider-container .easyslider-dot:hover,
html body .easyslider-container .easyslider-dot:hover {
    /* Colors are set via PHP-generated CSS to respect block settings */
    /* Only handle transform and shadow effects here */
    transform: scale(1.2) !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3) !important;
}

/* High specificity for round arrows */
body .easyslider-container .easyslider-arrow,
html body .easyslider-container .easyslider-arrow {
    border-radius: 50% !important;
    width: 50px !important;
    height: 50px !important;
    border: none !important;
    box-sizing: border-box !important;
}

/* Disabled arrows when loop is off */
.easyslider-arrow.disabled {
    opacity: 0.3 !important;
    cursor: not-allowed !important;
    pointer-events: none !important;
}

/* True Horizontal Parallax Effect */
.easyslider-container[data-enable-parallax="true"] .easyslider-slide {
    overflow: hidden !important;
}

/* Background layer - continuous horizontal movement */
.easyslider-container[data-enable-parallax="true"] .easyslider-slide img {
    transform: scale(1.1) !important; /* Slight zoom to prevent gaps during parallax */
    will-change: transform !important;
}

/* Text content layer - directional animations */
.easyslider-container[data-enable-parallax="true"] .easyslider-content {
    will-change: transform, opacity !important;
    position: relative !important;
    z-index: 2 !important; /* Ensure text stays above background */
}

/* Ensure smooth transitions for text animations */
.easyslider-container[data-enable-parallax="true"] .easyslider-content {
    transition-property: transform, opacity !important;
    transition-timing-function: ease-out !important;
}

/* Hide text initially for animation */
.easyslider-container[data-enable-parallax="true"] .easyslider-slide:not(.active) .easyslider-content {
    opacity: 0 !important;
}

/* Ensure all container elements use full width */
body .easyslider-container,
html body .easyslider-container,
body .easyslider-container .easyslider-wrapper,
html body .easyslider-container .easyslider-wrapper,
body .easyslider-container .easyslider-slide,
html body .easyslider-container .easyslider-slide {
    width: 100% !important;
    max-width: none !important;
}
