/* ── Summerland Slider — Foolproof CSS ── */

.ss-slider-container {
    position: relative !important;
    display: block !important;
    width: 100% !important;
    overflow: hidden !important;
    background: transparent !important;
    border-radius: 20px !important;
    margin: 0 0 20px 0 !important;
    padding: 0 !important;
    border: none !important;
    box-sizing: border-box !important;
    height: auto !important;
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
    
    /* Responsive Height */
    aspect-ratio: 16 / 6.4;
}

/* Force Elementor Wrappers to be transparent to prevent white corners */
.elementor-widget-summerland_slider,
.elementor-widget-summerland_slider .elementor-widget-container,
.elementor-widget-wrap:has(.ss-slider-container),
.elementor-column:has(.ss-slider-container),
.e-con:has(.ss-slider-container),
.elementor-section:has(.ss-slider-container) {
    background: transparent !important;
    background-color: transparent !important;
}

/* Fallback for older browsers */
@supports not (aspect-ratio: 16/6.4) {
    .ss-slider-container {
        height: 0 !important;
        padding-bottom: 40% !important;
    }
}

@media (max-width: 1024px) {
    .ss-slider-container { aspect-ratio: 16 / 9; }
    @supports not (aspect-ratio: 16/9) { .ss-slider-container { padding-bottom: 56.25% !important; } }
}

@media (max-width: 767px) {
    .ss-slider-container { 
        height: 170px !important;
        border-radius: 12px !important;
    }
}

.ss-slider-wrapper {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    display: flex !important;
    flex-wrap: nowrap !important;
    gap: 0 !important;
    width: 100% !important;
    height: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    transition: transform 500ms ease !important;
    will-change: transform;
}

.ss-slide {
    position: relative !important;
    flex: 0 0 100% !important;
    width: 100% !important;
    height: 100% !important;
    overflow: hidden !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
}

.ss-slide-image {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
    opacity: 1 !important;
    visibility: visible !important;
}

/* Arrows & Dots */
.ss-arrows {
    position: absolute !important;
    inset: 0 !important;
    pointer-events: none !important;
    z-index: 10 !important;
}

.ss-arrow {
    position: absolute !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    width: 40px !important;
    height: 40px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: rgba(255,255,255,0.2) !important;
    border-radius: 50% !important;
    cursor: pointer !important;
    pointer-events: auto !important;
    color: #fff !important;
    border: none !important;
}
.ss-prev { left: 10px !important; }
.ss-next { right: 10px !important; }

.ss-arrow svg {
    width: 24px !important;
    height: 24px !important;
    stroke: #fff !important;
}

.ss-dots {
    position: absolute !important;
    bottom: 15px !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    display: flex !important;
    gap: 8px !important;
    z-index: 10 !important;
}

.ss-dot {
    width: 8px !important;
    height: 8px !important;
    border-radius: 50% !important;
    background: rgba(255,255,255,0.5) !important;
    cursor: pointer !important;
}

.ss-dot.ss-active {
    background: #fff !important;
}
