/* Category-based commercial pages: targeted, lightweight, mobile first. */
.fleet-landing-hero{background:linear-gradient(110deg,#f6fbff,#e9f5fb);padding:72px 0 64px}
.fleet-landing-hero-grid{display:grid;grid-template-columns:minmax(0,1.14fr) minmax(0,.86fr);align-items:center;gap:56px}
.fleet-breadcrumb{display:flex;gap:9px;flex-wrap:wrap;font-size:.85rem;color:#718798;margin-bottom:27px}
.fleet-breadcrumb a{color:#27749f;text-decoration:none}
.fleet-landing-hero h1{font-size:clamp(2rem,4vw,3.25rem);line-height:1.13;color:#112b41;letter-spacing:-.035em;margin:15px 0 20px}
.fleet-landing-lead{line-height:1.85;color:#506b7e;font-size:1.04rem;max-width:680px}
.fleet-landing-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
.fleet-landing-disclaimer{font-size:.83rem;color:#6e8799;margin-top:16px}
.fleet-landing-visual{margin:0;background:#fff;padding:11px;border-radius:23px;box-shadow:0 18px 42px #24405316;overflow:hidden}
.fleet-landing-visual img{width:100%;height:340px;object-fit:contain;border-radius:16px;background:#f7fafc}
.fleet-landing-overview{display:grid;grid-template-columns:1.2fr .8fr;gap:80px;align-items:center}
.fleet-landing-overview h2{font-size:clamp(1.65rem,3vw,2.35rem);color:#143752;margin:12px 0 18px}
.fleet-landing-overview p{line-height:1.85;color:#5a6c7c;max-width:780px}
.fleet-landing-points{display:grid;gap:13px}
.fleet-landing-point{display:flex;gap:14px;padding:16px 18px;border:1px solid #e2eaf0;background:#fff;border-radius:13px;line-height:1.55;color:#314d61}
.fleet-landing-point span{color:#109dd4;font-weight:900}
.fleet-landing-empty{text-align:center;padding:35px;background:#fff;border-radius:12px}
.fleet-landing-categories{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.fleet-landing-categories a{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:17px 20px;border:1px solid #dceaf2;border-radius:10px;color:#1b567b;background:#f9fcfe;text-decoration:none}
.fleet-landing-categories a:hover{border-color:#149cda;background:#eaf8ff}
.rental-pricing-band{background:#e9f6fd;padding:44px 0;border-top:1px solid #d4ebf5;border-bottom:1px solid #d4ebf5}
.rental-pricing-band-inner{display:grid;grid-template-columns:1fr auto;gap:34px;align-items:center}
.rental-pricing-band h2{color:#123852;font-size:clamp(1.45rem,2.6vw,1.95rem);margin:9px 0 12px}
.rental-pricing-band p{max-width:850px;color:#567587;line-height:1.75;margin:0}
.rental-pricing-actions{display:flex;flex-direction:column;gap:11px;align-items:stretch;min-width:220px}
.mobility-rental-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.mobility-rental-option{padding:24px;border:1px solid #e0e8f0;border-radius:15px;background:#fff;text-decoration:none;color:#123b57}
.mobility-rental-option strong{display:block;font-size:1.12rem;margin:8px 0}
.mobility-rental-option p{color:#647989;line-height:1.75;margin:10px 0}
.mobility-rental-option:hover{box-shadow:0 12px 28px #24435414;border-color:#13a3e3}
@media(max-width:900px){.fleet-landing-hero-grid,.fleet-landing-overview,.rental-pricing-band-inner{grid-template-columns:1fr;gap:30px}.fleet-landing-visual img{height:260px}.fleet-landing-categories{grid-template-columns:repeat(2,1fr)}.rental-pricing-actions{flex-direction:row;flex-wrap:wrap}}
@media(max-width:600px){.fleet-landing-hero{padding:43px 0}.fleet-landing-categories,.mobility-rental-options{grid-template-columns:1fr}.rental-pricing-actions .btn{width:100%}.fleet-landing-actions .btn{width:100%;text-align:center}}

/* Services mega menu — grouped, readable and stable from trigger to final link. */
.mobile-nav-rental-children{
    padding:4px 0 10px 18px;
    border-left:2px solid #13a3e3;
    margin-left:18px;
}
.mobile-nav-rental-children a{display:block;padding:8px 10px;font-size:.86rem}
.mobile-nav-sub a:has(.mobile-nav-service-icon){display:flex;align-items:center;gap:11px}
.mobile-nav-service-icon{width:21px;flex:0 0 21px;text-align:center;color:#c30c29}

/* Apply the same gap-free hover and keyboard behavior to Services and Offers. */
@media (min-width:981px){
    .nav-item-dropdown > .nav-submenu{top:100%;margin-top:0}
    .nav-item-dropdown:hover > .nav-submenu,
    .nav-item-dropdown:focus-within > .nav-submenu{display:block}
    .nav-item-dropdown:hover > a .nav-chevron,
    .nav-item-dropdown:focus-within > a .nav-chevron{transform:rotate(180deg)}

    .nav-item-dropdown > .nav-submenu-services{
        display:none;
        width:min(698px,calc(100vw - 32px));
        min-width:0;
        max-width:none;
        max-height:none;
        overflow:visible;
        padding:0;
        top:100%;
        left:50%;
        transform:translateX(-50%);
        border:1px solid #e4ebf0;
        border-radius:18px;
        background:#fff;
        box-shadow:0 28px 64px rgba(10,33,51,.17);
        z-index:110;
    }
    .nav-item-dropdown:hover > .nav-submenu-services,
    .nav-item-dropdown:focus-within > .nav-submenu-services{display:block}
    .nav-submenu-services:before{border-color:#e4ebf0;background:#fff}
}

/* All links remain in the same positions when hovered or keyboard-focused. */
.services-mega-header{
    display:flex;align-items:center;justify-content:space-between;
    gap:18px;padding:18px 22px 17px;
    background:linear-gradient(115deg,#f7fbfe,#fff);
    border-radius:18px 18px 0 0;border-bottom:1px solid #e8edf1;
}
.services-mega-kicker{
    display:block;font-size:.63rem;font-weight:800;letter-spacing:.13em;
    line-height:1.4;color:#bb1630;margin-bottom:4px;
}
.services-mega-title{
    display:block;color:#142d40;font-size:1rem;font-weight:800;
    line-height:1.35;letter-spacing:-.015em;
}
.nav-submenu-services .services-mega-view-all{
    display:inline-flex;align-items:center;gap:10px;
    flex:none;padding:9px 11px;border:1px solid #d9e6ed;
    color:#23556e;background:#fff;border-radius:9px;
    font-size:.74rem;font-weight:800;white-space:nowrap;
}
.nav-submenu-services .services-mega-view-all:hover,
.nav-submenu-services .services-mega-view-all:focus-visible{
    color:#b60b26;background:#fff5f6;border-color:#f0ced4;
}
.services-mega-view-all i{font-size:.67rem}
.services-mega-columns{
    display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);
    gap:17px;padding:18px 18px 20px;
}
.services-mega-section{min-width:0}
.services-mega-section-travel{
    border-left:1px solid #e8eef3;
    padding-left:17px;
}
.services-mega-section-title{
    display:flex;align-items:center;gap:9px;
    padding:0 8px;margin:0 0 8px;color:#6a7c89;
    font-size:.70rem;font-weight:900;letter-spacing:.065em;text-transform:uppercase;
}
.services-mega-section-mark{
    width:7px;height:7px;border-radius:50%;background:#13a3e3;
    flex:0 0 7px;
}
.services-mega-section-travel .services-mega-section-mark{background:#c30c29}
.services-mega-items{display:grid;gap:4px}
.nav-submenu-services .services-mega-link{
    display:flex;align-items:center;gap:11px;
    min-width:0;min-height:59px;
    padding:9px 10px;
    border:1px solid transparent;border-radius:11px;
    color:#182a37;background:transparent;
    text-decoration:none;
    transition:background-color .16s ease,border-color .16s ease;
}
.nav-submenu-services .services-mega-link:hover,
.nav-submenu-services .services-mega-link:focus-visible,
.nav-submenu-services .services-mega-rental:focus-within > .services-mega-link{
    background:#f2f9fd;color:#12364d;border-color:#d6e9f5;
}
.services-mega-section-travel .services-mega-link:hover,
.services-mega-section-travel .services-mega-link:focus-visible{
    background:#fff7f8;border-color:#f3dfe3;
}
.services-mega-icon{
    display:grid;place-items:center;flex:0 0 36px;
    width:36px;height:36px;border-radius:10px;
    background:#e9f6fd;color:#1087be;font-size:.95rem;
}
.services-mega-section-travel .services-mega-icon{
    background:#fcecef;color:#c30c29;
}
.services-mega-copy{display:grid;gap:3px;min-width:0;flex:1}
.services-mega-copy strong{
    font-size:.825rem;font-weight:850;line-height:1.25;
    letter-spacing:-.012em;white-space:normal;
}
.services-mega-copy small{
    color:#708290;font-size:.71rem;font-weight:550;
    line-height:1.33;white-space:normal;
}
.services-mega-arrow{flex:0 0 auto;align-self:center;color:#a2b4c1;font-size:.69rem}
.nav-submenu-services .services-mega-link:hover .services-mega-arrow,
.nav-submenu-services .services-mega-link:focus-visible .services-mega-arrow{color:#c30c29}
.services-mega-rental{
    border:1px solid #e6edf2;border-radius:12px;
    background:#fbfdfe;padding:2px;
}
.services-mega-rental .services-mega-link{min-height:54px}
.services-mega-rental-options{
    display:grid;grid-template-columns:repeat(2,minmax(0,1fr));
    gap:5px;margin:0 8px 8px 47px;
}
.nav-submenu-services .services-mega-rental-options a{
    display:inline-flex;justify-content:center;align-items:center;
    gap:6px;min-height:32px;min-width:0;padding:6px 7px;
    border:1px solid #e0e9ef;border-radius:7px;
    background:#fff;color:#315e75;text-align:center;
    font-size:.70rem;font-weight:800;line-height:1.35;white-space:normal;
}
.nav-submenu-services .services-mega-rental-options a:hover,
.nav-submenu-services .services-mega-rental-options a:focus-visible{
    background:#eaf7ff;border-color:#afd9ef;color:#0f76aa;
}
.services-mega-rental-options i{font-size:.65rem}
.nav-submenu-services a:focus-visible{
    outline:2px solid #13a3e3;
    outline-offset:2px;
}

/* On shorter desktop viewports the panel may scroll, without hiding the
   last service. Its whole surface remains in the dropdown hover area. */
@media (min-width:981px) and (max-height:490px){
    .nav-item-dropdown > .nav-submenu-services{
        max-height:calc(100dvh - 90px);
        overflow-y:auto;overscroll-behavior:contain;
    }
}


/*
 * Compact header on 981–1280px laptops: use shorter wording and tighter
 * spacing rather than replacing usable desktop navigation with a hamburger.
 * Below 981px the site's established mobile navigation still applies.
 */
.site-header .nav-label-short{display:none}

@media (min-width:1281px) and (max-width:1480px){
    .site-header .container.nav{gap:13px}
    .site-header .nav-links{
        min-width:0;flex:0 1 auto;gap:1px;
        font-size:.855rem;white-space:nowrap;
    }
    .site-header .nav-links > a,
    .site-header .nav-item-dropdown > a{
        padding-inline:10px;
        white-space:nowrap;
    }
    .site-header .phone-link{display:none}
    .site-header .nav-actions{flex:0 0 auto;gap:9px}
    .site-header .nav-actions > .btn-primary{
        white-space:nowrap;
        min-height:44px;
        padding-inline:16px;
        font-size:.80rem;
        letter-spacing:.025em;
    }
}

/* Full horizontal Services / Offers / Blog navigation also on small laptops. */
@media (min-width:981px) and (max-width:1280px){
    .site-header .container.nav{
        width:calc(100% - 24px);
        min-height:70px;
        gap:10px;
    }
    .site-header .brand{flex:0 0 auto}
    .site-header .brand-logo{height:48px}
    .site-header .nav-links{
        display:flex;
        flex:0 1 auto;
        min-width:0;
        gap:0;
        padding:4px;
        font-size:.81rem;
        white-space:nowrap;
    }
    .site-header .nav-links > a,
    .site-header .nav-item-dropdown > a{
        min-height:39px;
        padding-inline:8px;
        white-space:nowrap;
    }
    .site-header .nav-chevron{width:12px;height:12px}
    .site-header .phone-link{display:none}
    .site-header .lang-dropdown{display:block}
    .site-header .nav-actions{
        display:flex;
        flex:0 0 auto;
        gap:7px;
    }
    .site-header .lang-dropdown-toggle{
        min-height:39px;
        padding-inline:9px;
        white-space:nowrap;
    }
    .site-header .nav-actions > .btn-primary{
        display:inline-flex;
        flex:0 0 auto;
        min-height:40px;
        padding-inline:13px;
        font-size:.77rem;
        letter-spacing:0;
        white-space:nowrap;
    }
    .site-header .mobile-toggle{display:none}

    .site-header .nav-label-full{display:none}
    .site-header .nav-label-short{display:inline}

    /* Keep the wide Services panel inside the viewport even though the
       anchor is now farther left in the shortened laptop navigation. */
    .site-header .nav-item-dropdown > .nav-submenu-services{
        width:min(660px,calc(100vw - 30px));
        left:var(--mega-menu-left, 0px);
        transform:none;
    }
    .site-header .nav-item-dropdown > .nav-submenu-services::before{
        left:var(--mega-menu-caret, 50%);
    }
}

/* Extra compact typography on 981–1080px screens and at browser zoom. */
@media (min-width:981px) and (max-width:1080px){
    .site-header .container.nav{gap:7px}
    .site-header .brand-logo{height:44px}
    .site-header .nav-links{font-size:.75rem;padding:3px}
    .site-header .nav-links > a,
    .site-header .nav-item-dropdown > a{padding-inline:6px}
    .site-header .nav-actions{gap:5px}
    .site-header .nav-actions > .btn-primary{padding-inline:10px}
    .site-header .lang-dropdown-toggle{padding-inline:7px}
}

@media (max-width:980px){
    .site-header .nav-actions > .btn-primary{
        white-space:nowrap;
        letter-spacing:.03em;
    }
    .mobile-nav-clean{top:72px}
}
@media (max-width:640px){
    .site-header .nav-actions > .btn-primary{display:none}
}

.mobile-nav-footer .mobile-nav-call{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:10px;
    min-height:42px;
    padding:10px 14px;
    color:#25475c;
    border:1px solid #d9e6ec;
    border-radius:10px;
    background:#f7fbfd;
    text-align:center;
    font-size:.84rem;
    font-weight:800;
    text-decoration:none;
}
.mobile-nav-footer .mobile-nav-call i{color:#c30c29}
.mobile-nav-footer .mobile-nav-call:hover,
.mobile-nav-footer .mobile-nav-call:focus-visible{
    background:#eaf7fe;
    border-color:#a9d8ee;
}


/* Fallback if real text size, browser zoom or OS font scaling exceeds
   the available header width. Applied by the measured-width header script.
   Never collapse based only on an arbitrary laptop breakpoint. */
@media (min-width:981px){
    .site-header.is-nav-collapsed .nav-links{
        display:none !important;
    }
    .site-header.is-nav-collapsed .nav-actions{
        margin-left:auto;
    }
    .site-header.is-nav-collapsed .mobile-toggle{
        display:flex !important;
        flex:0 0 44px;
        width:44px;
        height:44px;
    }
    .site-header.is-nav-collapsed + .mobile-nav-clean{
        inset:auto 16px auto auto;
        top:76px;
        width:min(430px,calc(100vw - 32px));
        max-height:calc(100dvh - 88px);
        overflow-y:auto;
        overscroll-behavior:contain;
        padding:14px 22px 24px;
        border:1px solid #e4ebf0;
        border-radius:16px;
        box-shadow:0 24px 64px rgba(10,33,51,.18);
    }
}


/* Shared service-detail breadcrumb: keep the current page on one line on
   desktop and use a compact "Back to services" action on narrow screens.
   The page title already appears in the H1, so it is not repeated on mobile. */
.detail-hero .detail-breadcrumb{
    display:inline-flex;
    align-items:center;
    flex-wrap:nowrap;
    width:fit-content;
    max-width:100%;
}
.detail-hero .detail-breadcrumb-back{
    display:inline-flex;
    align-items:center;
    flex:0 0 auto;
    gap:9px;
    white-space:nowrap;
}
.detail-hero .detail-breadcrumb-current{
    display:block;
    min-width:0;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
}
.detail-hero .detail-breadcrumb-back:focus-visible{
    outline:2px solid #13a3e3;
    outline-offset:3px;
    border-radius:6px;
}
@media (max-width:760px){
    .detail-hero .detail-breadcrumb{
        display:inline-flex;
        width:auto;
        max-width:100%;
        padding:0;
        margin:0 0 18px;
        border:0;
        border-radius:0;
        background:transparent;
        backdrop-filter:none;
        white-space:nowrap;
    }
    .detail-hero .detail-breadcrumb-back{
        display:inline-flex;
        align-items:center;
        justify-content:flex-start;
        gap:9px;
        min-height:40px;
        max-width:100%;
        padding:10px 14px;
        border:1px solid rgba(255,255,255,.2);
        border-radius:999px;
        background:rgba(255,255,255,.09);
        color:rgba(255,255,255,.92);
        font-size:.78rem;
        font-weight:750;
        line-height:1.3;
        text-decoration:none;
        white-space:nowrap;
    }
    .detail-hero .detail-breadcrumb-back:hover,
    .detail-hero .detail-breadcrumb-back:focus-visible{
        border-color:rgba(19,163,227,.65);
        background:rgba(19,163,227,.17);
        color:#fff;
    }
    .detail-hero .detail-breadcrumb-back i{
        margin:0;
        font-size:.72rem;
    }
    .detail-hero .detail-breadcrumb-current,
    .detail-hero .detail-breadcrumb-separator{
        display:none;
    }
}
