/*
 * SeiserAlm Header — Responsive overrides  v1.9.2
 * Loaded as separate stylesheet AFTER header.css.
 * Pixel values for bar/logo heights injected via wp_add_inline_style().
 */

/* ── TABLET ≤ 768px ───────────────────────────────────────────── */
@media (max-width: 768px) {
    .sah-header-inner { padding: 0 16px; }

    /* Nav inner: single column, scrollable, centrato.
       Il padding-top lascia spazio alla barra fixed;
       i margini del CTA creano la spaziatura simmetrica logo↔CTA↔voci. */
    .sah-nav-inner {
        padding: 90px 24px 40px;
        flex-direction: column;
        align-items: center;
        overflow-y: auto;
        max-height: 100vh;
    }

    /* ── CTA BUTTONS nel flyout ────────────────────────────────────
       80% larghezza totale, affiancati (ciascuno ~40% - metà gap).
       Margine superiore e inferiore identici e fluidi,
       floor a 15px con clamp().
    ──────────────────────────────────────────────────────────────── */
    .sah-nav-cta {
        display: flex;
        flex-direction: row;
        justify-content: center;
        align-items: stretch;           /* bottoni stessa altezza */
        gap: clamp(8px, 2vw, 16px);
        width: 80%;
        /* margine simmetrico logo↔CTA e CTA↔prima voce: fluido, min 15px */
        margin-top:    clamp(15px, 3.5vh, 36px);
        margin-bottom: clamp(15px, 3.5vh, 36px);
        flex-shrink: 0;
    }

    /* Ogni bottone occupa metà dello spazio meno metà del gap */
    .sah-nav-cta .sah-btn {
        flex: 1 1 0;                    /* entrambi crescono uguale */
        text-align: center;
        white-space: normal;
        /* padding proporzionato: altezza fluida con vh */
        padding: clamp(12px, 2.2vh, 22px) clamp(8px, 2vw, 16px);
        font-size: clamp(10px, 1.6vw, 13px);
        letter-spacing: 0.10em;
        line-height: 1.2;
    }

    /* Nella barra sticky il .sah-right rimane nascosto a menu aperto */
    #sah-header.menu-open .sah-right {
        display: none !important;
    }

    /* PRIMARY NAV LIST: allineata a sinistra */
    .sah-nav-list {
        align-self: flex-start;
        width: 100%;
    }

    /* line-height voci: 1.2 × 0.9 = 1.08 (-10%) */
    .sah-nav-link {
        font-size: 36px;
        line-height: 1.08;
        white-space: normal;
    }

    /* ── SUBMENU BELOW PARENT ──────────────────────────────────────*/
    .sah-submenu {
        position: static;
        transform: none;
        display: none;
        flex-direction: column;
        padding-left: 0;
        margin-left: 0;
        min-width: 0;
        width: 100%;
        gap: 0;
        padding-top: 8px;
        padding-bottom: 16px;
    }
    .sah-nav-item.sah-hover > .sah-submenu { display: flex; }

    .sah-submenu .sah-nav-link {
        font-size: 18px;
        letter-spacing: 1.5px;
        line-height: 32px;
        padding: 2px 16px;
        color: rgba(255,255,255,0.75);
    }
    .sah-submenu .sah-nav-item:hover > .sah-nav-link,
    .sah-submenu .sah-nav-item.is-current > .sah-nav-link { color: #fff; }

    /* Horizontal line below primary link */
    .sah-nav-item.sah-hover > .sah-nav-link::after,
    .sah-nav-item.is-current > .sah-nav-link::after {
        width: 60px;
        margin-top: 4px;
    }
}

/* ── MOBILE ≤ 480px ───────────────────────────────────────────── */
@media (max-width: 480px) {
    .sah-ham-label { display: none; }
    .sah-sep       { display: none; }
    .sah-right     { gap: 0; }
    /* barra sticky: bottoni compatti */
    .sah-header-inner .sah-btn { padding: 10px 12px; font-size: 10px; letter-spacing: 0.08em; }

    .sah-nav-inner { padding: 80px 20px 30px; }

    /* line-height: 28px × 0.9 ≈ 25px */
    .sah-nav-link { font-size: 28px; line-height: 1.08; }

    /* Bottoni nel flyout: 80% larghezza, ridimensionati per schermi piccoli */
    .sah-nav-cta {
        width: 80%;
        gap: clamp(6px, 1.5vw, 12px);
        margin-top:    clamp(15px, 3vh, 28px);
        margin-bottom: clamp(15px, 3vh, 28px);
    }
    .sah-nav-cta .sah-btn {
        padding: clamp(10px, 1.8vh, 18px) clamp(6px, 1.5vw, 12px);
        font-size: clamp(9px, 1.4vw, 11px);
    }

    .sah-submenu .sah-nav-link {
        font-size: 15px;
        letter-spacing: 1px;
        line-height: 28px;
    }

    .sah-nav-item.sah-hover > .sah-nav-link::after,
    .sah-nav-item.is-current > .sah-nav-link::after { width: 40px; }
}

/* ── MOBILE XS ≤ 380px ────────────────────────────────────────── */
@media (max-width: 380px) {
    .sah-header-inner .sah-btn { padding: 8px 10px; font-size: 9px; }
    .sah-nav-link { font-size: 24px; }

    /* Margine minimo garantito a 15px anche su schermi molto piccoli */
    .sah-nav-cta {
        margin-top:    15px;
        margin-bottom: 15px;
    }
    .sah-nav-cta .sah-btn {
        padding: 10px 8px;
        font-size: 9px;
    }
}
