/* ==========================================================================
   MOBILE POLISH — Targeted fixes for <768px
   Dossier Edition — v04.26
   ========================================================================== */

@media (max-width: 768px) {

    /* --- Hero on mobile: tighter typography, better spacing --- */
    .hero {
        min-height: 90vh;
        padding: 100px 20px 60px;
    }
    .hero-headline {
        font-size: clamp(36px, 9vw, 56px) !important;
        line-height: 1 !important;
    }
    .hero-subline {
        font-size: 14px !important;
        line-height: 1.5 !important;
        max-width: 90% !important;
    }
    .hero-cta {
        flex-direction: column;
        align-items: flex-start;
        gap: 16px !important;
    }

    /* --- Primary CTA buttons: larger touch target --- */
    .btn {
        min-height: 52px;
        padding: 16px 24px;
        width: auto;
    }
    .btn-large {
        min-height: 58px;
    }

    /* --- Vorgespräch-Link: enough space on mobile --- */
    .hero-preflight,
    .final-preflight {
        font-size: 10px;
        letter-spacing: 0.2em;
        min-height: 44px;
        display: inline-flex;
        align-items: center;
        padding: 8px 0;
    }

    /* --- Format cards: more breathing room --- */
    .format-card {
        min-height: auto !important;
        padding: 32px 24px !important;
    }
    .format-card-featured {
        margin-top: 12px;
    }
    .format-badge {
        font-size: 9px;
        padding: 5px 12px;
    }

    /* --- Reach cards: better spacing --- */
    .reach-card {
        padding: 36px 24px 28px !important;
        min-height: 240px !important;
    }
    .reach-value {
        font-size: 44px !important;
    }
    .reach-aggregate {
        flex-direction: column;
        gap: 28px !important;
    }
    .reach-agg-divider {
        width: 60px;
        height: 1px;
    }

    /* --- Voices carousel: tighter padding --- */
    .voices-carousel {
        padding: 0 8px !important;
    }

    /* --- Diagnosis on mobile: keep tight --- */
    .diagnosis-head {
        margin-bottom: 40px !important;
        padding: 0 8px;
    }
    .diagnosis-divider-arrow {
        width: 44px !important;
        height: 44px !important;
        font-size: 18px !important;
    }

    /* --- Partner wall: 2 columns instead of 1 for better use of space --- */
    .partners-wall {
        grid-template-columns: repeat(2, 1fr) !important;
    }
    .partner-cell {
        min-height: 100px !important;
    }
    .partner-name {
        font-size: 16px !important;
    }

    /* --- System flow: tighter on mobile --- */
    .system-flow {
        margin-top: 48px !important;
    }

    /* --- Proof numbers: stack tightly --- */
    .proof-numbers {
        gap: 32px !important;
    }
    .proof-number-value {
        font-size: clamp(44px, 14vw, 72px) !important;
    }

    /* --- Final CTA: mobile padding --- */
    .section-final.section-dark > .final-content {
        padding-top: clamp(80px, 12vh, 120px) !important;
        padding-bottom: clamp(100px, 14vh, 140px) !important;
    }
    .final-headline {
        font-size: clamp(36px, 9vw, 52px) !important;
        line-height: 1 !important;
    }

    /* --- Footer: better mobile layout --- */
    .footer-inner {
        gap: 32px;
    }

    /* --- Sticky CTA: smaller, less intrusive --- */
    .sticky-cta {
        padding: 12px 16px !important;
        font-size: 10px !important;
        bottom: 12px !important;
        right: 12px !important;
    }

    /* --- Section headlines: tighter --- */
    .section-headline {
        font-size: clamp(32px, 8vw, 48px) !important;
    }
}

/* --- Very small phones (<400px) --- */
@media (max-width: 400px) {
    .hero-headline {
        font-size: 32px !important;
    }
    .reach-value {
        font-size: 38px !important;
    }
    .proof-number-value {
        font-size: 52px !important;
    }
}

/* ==========================================================================
   GLOBAL MOBILE GUARDS — verhindert horizontalen Overflow & Button-Cutoff
   ========================================================================== */
@media (max-width: 768px) {
    /* Globaler Overflow-Schutz auf html-Ebene (body hat ihn schon) */
    html {
        overflow-x: hidden;
        max-width: 100vw;
    }
    body {
        max-width: 100vw;
    }

    /* Sicherstellen, dass keine Section über Viewport-Breite hinausragt */
    section, header, footer, main, nav {
        max-width: 100vw;
    }

    /* Bilder & Videos nie breiter als Container */
    img, video, iframe, picture {
        max-width: 100% !important;
        height: auto;
    }
}

/* ==========================================================================
   STICKY CTA MOBILE — garantiert sichtbar, nie abgeschnitten
   ========================================================================== */
@media (max-width: 640px) {
    .sticky-cta {
        /* Kompakter Text, kleineres Padding, sicherer Abstand */
        padding: 12px 16px !important;
        font-size: 10px !important;
        letter-spacing: 0.18em !important;
        gap: 10px !important;
        bottom: 16px !important;
        right: 12px !important;
        /* Niemals breiter als 80% Viewport */
        max-width: calc(100vw - 24px);
        white-space: nowrap;
    }
    .sticky-cta-arrow {
        font-size: 13px !important;
    }
}

/* Sehr kleine Phones: Label kürzen + noch kompakter */
@media (max-width: 380px) {
    .sticky-cta {
        padding: 10px 14px !important;
        font-size: 9px !important;
        letter-spacing: 0.14em !important;
        gap: 8px !important;
        bottom: 12px !important;
        right: 10px !important;
    }
}
