/* =========================================================
   CRYSTAL CLEANING - DESKTOP NAV FIT FIX V52
   Keeps the larger nav typography from V51 without clipping
   the right-side actions / Get a Quote button.
   Loaded LAST intentionally.
   ========================================================= */

@media (min-width: 921px){

    .site-header{
        width:100%!important;
        max-width:100%!important;
        box-sizing:border-box!important;
    }

    .site-header .site-container{
        width:min(calc(100% - 48px), 1720px)!important;
        max-width:min(calc(100% - 48px), 1720px)!important;
        box-sizing:border-box!important;
    }

    .site-header__card,
    .site-header__card--modern{
        width:100%!important;
        max-width:100%!important;
        min-width:0!important;
        display:flex!important;
        align-items:center!important;
        gap:18px!important;
        overflow:visible!important;
        box-sizing:border-box!important;
        padding-left:14px!important;
        padding-right:14px!important;
    }

    /* Brand may not steal space from navigation/actions. */
    .site-brand--modern,
    .site-brand{
        flex:0 0 auto!important;
        min-width:0!important;
        max-width:235px!important;
    }

    .site-brand__plate{
        width:190px!important;
        max-width:190px!important;
        min-width:0!important;
    }

    /* Main menu keeps V51 text size but can shrink its gaps safely. */
    .site-nav,
    .site-nav--modern{
        flex:1 1 auto!important;
        min-width:0!important;
        display:flex!important;
        align-items:center!important;
        justify-content:center!important;
        gap:clamp(18px,1.45vw,30px)!important;
        white-space:nowrap!important;
    }

    .site-nav a,
    .site-nav--modern > a{
        flex:0 0 auto!important;
        font-size:14px!important;
        font-weight:600!important;
    }

    /* Right controls are kept inside the header instead of overflowing. */
    .site-header__actions,
    .site-header__actions--modern{
        flex:0 0 auto!important;
        min-width:0!important;
        max-width:100%!important;
        display:flex!important;
        align-items:center!important;
        gap:9px!important;
        box-sizing:border-box!important;
    }

    .nav-clock{
        flex:0 0 auto!important;
        min-width:0!important;
        width:auto!important;
        max-width:190px!important;
        padding-inline:12px!important;
    }

    .language-switch--modern,
    .site-header__portal-link,
    .site-button--nav,
    .site-button--header{
        flex:0 0 auto!important;
        box-sizing:border-box!important;
        white-space:nowrap!important;
    }

    .language-switch--modern{
        padding-inline:10px!important;
    }

    .site-header__portal-link{
        padding-inline:14px!important;
    }

    .site-button--nav,
    .site-button--header{
        min-width:132px!important;
        max-width:150px!important;
        padding-inline:16px!important;
        justify-content:center!important;
        gap:10px!important;
        overflow:visible!important;
    }

    /* The arrow never gets pushed outside the green CTA. */
    .site-button--nav > span,
    .site-button--header > span,
    .site-button--nav svg,
    .site-button--header svg{
        flex:0 0 auto!important;
    }
}

/* Medium desktop / laptops:
   keep readable text, compress only spacing and utility actions. */
@media (min-width: 921px) and (max-width: 1450px){

    .site-header .site-container{
        width:calc(100% - 28px)!important;
        max-width:calc(100% - 28px)!important;
    }

    .site-header__card,
    .site-header__card--modern{
        gap:12px!important;
        padding-left:12px!important;
        padding-right:12px!important;
    }

    .site-brand--modern,
    .site-brand{
        max-width:205px!important;
    }

    .site-brand__plate{
        width:165px!important;
        max-width:165px!important;
    }

    .site-nav,
    .site-nav--modern{
        gap:clamp(14px,1.1vw,22px)!important;
    }

    .site-nav a,
    .site-nav--modern > a{
        font-size:13.5px!important;
    }

    .site-header__actions,
    .site-header__actions--modern{
        gap:7px!important;
    }

    .nav-clock{
        max-width:170px!important;
        padding-inline:9px!important;
    }

    .site-header__portal-link{
        padding-inline:11px!important;
        font-size:11px!important;
    }

    .site-button--nav,
    .site-button--header{
        min-width:122px!important;
        max-width:136px!important;
        padding-inline:13px!important;
        font-size:12px!important;
    }
}

/* Small laptops: hide only the non-essential date line inside clock,
   never the main navigation or CTA. */
@media (min-width: 921px) and (max-width: 1180px){

    .nav-clock small{
        display:none!important;
    }

    .nav-clock{
        max-width:135px!important;
    }

    .site-nav,
    .site-nav--modern{
        gap:12px!important;
    }

    .site-nav a,
    .site-nav--modern > a{
        font-size:13px!important;
    }

    .site-header__portal-link{
        padding-inline:9px!important;
    }

    .site-button--nav,
    .site-button--header{
        min-width:112px!important;
        max-width:125px!important;
    }
}
