/* ============================================================
   MOBILE & TRUST STRIP FIXES
   Load AFTER all other CSS files (san-luis.css, hero-fix.css, etc.)
   ============================================================ */

/* ---------- 1. DESKTOP: HERO SHORTER SO TRUST STRIP SHOWS ON LOAD ---------- */
@media (min-width: 901px) {
    .hero-carousel {
        min-height: calc(100vh - 88px) !important;
        height: calc(100vh - 88px) !important;
    }

    .hero-slides,
    .hero-slides .slick-list,
    .hero-slides .slick-track {
        min-height: calc(100vh - 88px) !important;
    }

    .hero-slide {
        min-height: calc(100vh - 88px) !important;
    }

    .hero-slide-content.hero-split {
        padding: 110px 40px 70px !important;
    }
}

/* ---------- 2. TRUST STRIP BASE ---------- */
.trust-strip {
    background: #fff;
    border-bottom: 1px solid var(--gray-light, #e2eadf);
    position: relative;
    z-index: 4;
}

/* ---------- 3. MOBILE HERO: NO OVERLAP, CONTROLS BELOW CONTENT ---------- */
@media (max-width: 900px) {

    /* Hero grows with content, does not force 100vh */
    .hero-carousel {
        min-height: auto !important;
        height: auto !important;
        overflow: visible !important;
    }

    .hero-slides,
    .hero-slides .slick-list,
    .hero-slides .slick-track {
        min-height: auto !important;
        height: auto !important;
    }

    .hero-slide {
        min-height: auto !important;
        height: auto !important;
        position: relative !important;
        padding-bottom: 70px !important;
        /* room for arrows + dots */
    }

    /* Content flows naturally in a column */
    .hero-slide-content.hero-split {
        min-height: auto !important;
        height: auto !important;
        padding: 90px 20px 40px !important;
        display: flex !important;
        flex-direction: column !important;
        gap: 24px !important;
    }

    /* Right visual goes below copy, full width */
    .hero-visual {
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        position: relative !important;
    }

    .hero-visual-frame {
        border-radius: 12px !important;
        overflow: hidden !important;
        box-shadow: 0 12px 40px rgba(35, 31, 32, 0.15) !important;
        background: #dfe6e2 !important;
    }

    .hero-visual-frame img {
        width: 100% !important;
        height: auto !important;
        aspect-ratio: 4 / 3 !important;
        object-fit: cover !important;
        display: block !important;
    }

    /* Tags repositioned for mobile */
    .hero-tag.t1 {
        top: 10px !important;
        right: 10px !important;
        bottom: auto !important;
        left: auto !important;
        font-size: 0.6rem !important;
        padding: 4px 10px !important;
    }

    .hero-tag.t2 {
        top: auto !important;
        bottom: 10px !important;
        left: 10px !important;
        right: auto !important;
        font-size: 0.6rem !important;
        padding: 4px 10px !important;
    }

    /* Slick arrows: centered row at bottom of the slide */
    .hero-slides .slick-prev,
    .hero-slides .slick-next {
        position: absolute !important;
        bottom: 16px !important;
        top: auto !important;
        transform: none !important;
        z-index: 20 !important;
        width: 36px !important;
        height: 36px !important;
        border-radius: 50% !important;
        background: rgba(255, 255, 255, 0.95) !important;
        color: var(--primary, #231F20) !important;
        border: 1px solid rgba(0, 0, 0, 0.08) !important;
        box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1) !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        font-size: 0.7rem !important;
    }

    .hero-slides .slick-prev {
        left: calc(50% - 70px) !important;
    }

    .hero-slides .slick-next {
        left: calc(50% + 34px) !important;
    }

    .hero-slides .slick-prev::before,
    .hero-slides .slick-next::before {
        display: none !important;
    }

    /* Dots: centered pill at bottom */
    .hero-slides .custom-dots {
        position: absolute !important;
        left: 50% !important;
        bottom: 26px !important;
        transform: translateX(-50%) !important;
        z-index: 20 !important;
        background: rgba(0, 0, 0, 0.35) !important;
        padding: 6px 14px !important;
        border-radius: 50px !important;
        backdrop-filter: blur(8px) !important;
        -webkit-backdrop-filter: blur(8px) !important;
        display: flex !important;
        gap: 6px !important;
        align-items: center !important;
        margin: 0 !important;
        list-style: none !important;
    }

    .hero-slides .custom-dots li {
        display: inline-block !important;
        margin: 0 !important;
        padding: 0 !important;
        width: auto !important;
        height: auto !important;
        list-style: none !important;
    }

    .hero-slides .custom-dots button {
        width: 6px !important;
        height: 6px !important;
        min-width: 6px !important;
        min-height: 6px !important;
        border-radius: 50% !important;
        background: rgba(255, 255, 255, 0.3) !important;
        border: none !important;
        padding: 0 !important;
        font-size: 0 !important;
        text-indent: -9999px !important;
        display: block !important;
        cursor: pointer !important;
        transition: all 0.3s ease !important;
    }

    .hero-slides .custom-dots .slick-active button {
        width: 18px !important;
        border-radius: 4px !important;
        background: var(--secondary, #3E9B3C) !important;
    }

    /* Hero strip: static, below controls area */
    .hero-strip {
        position: static !important;
        margin: 0 20px 20px !important;
        border-radius: 8px !important;
        padding: 10px 16px !important;
        font-size: 0.72rem !important;
        text-align: center !important;
        width: auto !important;
    }

    /* Hide static fallback controls if Slick is active */
    .hero-slides.slick-initialized~.hero-controls {
        display: none !important;
    }

    /* Show static controls in flow if Slick is NOT initialized */
    .hero-slides:not(.slick-initialized)~.hero-controls {
        position: static !important;
        transform: none !important;
        padding: 16px 20px 20px !important;
        background: #fff !important;
        justify-content: center !important;
        display: flex !important;
        gap: 12px !important;
        bottom: auto !important;
        left: auto !important;
    }
}

/* ---------- 4. TRUST STRIP MOBILE LAYOUT ---------- */
@media (max-width: 900px) {
    .trust-strip {
        padding: 20px 0;
    }

    .trust-grid {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 16px !important;
        padding-top: 0 !important;
        padding-bottom: 0 !important;
    }

    .trust-item {
        gap: 10px !important;
    }

    .trust-item i {
        flex: 0 0 36px !important;
        height: 36px !important;
        font-size: 0.9rem !important;
        border-radius: 8px !important;
    }

    .trust-item strong {
        font-size: 0.8rem !important;
    }

    .trust-item span {
        font-size: 0.7rem !important;
    }
}

@media (max-width: 480px) {
    .trust-grid {
        grid-template-columns: 1fr !important;
        gap: 12px !important;
    }

    .trust-item {
        padding: 8px 0;
    }

    .trust-item i {
        flex: 0 0 32px !important;
        height: 32px !important;
        font-size: 0.8rem !important;
    }
}

/* ---------- 5. DESKTOP TRUST STRIP ---------- */
@media (min-width: 901px) {
    .trust-strip {
        margin-top: 0;
    }
}