:root{
    --zt-navy:#003B69;
    --zt-navy-2:#00518A;
    --zt-gold:#F5A000;
    --zt-gold-dark:#D88A00;
    --zt-gold-light:#FFB515;
    --zt-gold-soft:#FFF4DC;
    --zt-text:#243746;
    --zt-muted:#61717D;
    --zt-border:#DCE6EE;
    --zt-soft:#F7FAFC;
    --zt-white:#ffffff;
    --zt-blue-light:#0870AF;
}


/* ==========================================================
   PAGE
========================================================== */

.zt-page{
    min-height:100vh;
    padding:35px 0 80px;
    background:#F7FAFC;
}

.zt-container{
    width:min(1220px,calc(100% - 40px));
    margin:0 auto;
}


/* ==========================================================
   SEARCH BAR
========================================================== */

.zt-search{
    margin-bottom:20px;
    padding:13px 15px;

    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:18px;

    background:var(--zt-navy);
    border-radius:14px;

    color:#fff;
}

.zt-search-items{
    display:flex;
    align-items:center;
    flex-wrap:wrap;
    gap:8px;
}

.zt-search-chip{
    min-height:34px;
    padding:0 12px;

    display:inline-flex;
    align-items:center;
    gap:7px;

    background:#fff;
    color:var(--zt-navy);

    border-radius:20px;

    font-size:13px;
    font-weight:700;
}

.zt-search-chip i{
    color:var(--zt-gold-dark);
}

.zt-search-arrow{
    color:var(--zt-gold);
    font-size:15px;
}

.zt-modify{
    height:38px;
    padding:0 16px;

    display:inline-flex;
    align-items:center;
    gap:7px;

    border:0;
    border-radius:20px;

    background:#fff;
    color:var(--zt-navy);

    font-size:13px;
    font-weight:800;

    cursor:pointer;
}


/* ==========================================================
   SEARCH FORM
========================================================== */

.zt-search-form{
    display:none;

    margin-bottom:20px;
    padding:20px;

    background:#fff;
    border:1px solid var(--zt-border);
    border-radius:14px;
}

.zt-search-form.show{
    display:block;
}

.zt-form-grid{
    display:grid;
    grid-template-columns:1.2fr 1.2fr .9fr .8fr .7fr .7fr auto;
    gap:10px;
    align-items:end;
}

.zt-field label{
    display:block;
    margin-bottom:6px;

    color:#61717D;
    font-size:12px;
    font-weight:800;
}

.zt-field select,
.zt-field input{
    width:100%;
    height:46px;

    padding:0 11px;

    border:1px solid var(--zt-border);
    border-radius:8px;

    background:#fff;
    color:var(--zt-text);

    outline:0;

    font-family:inherit;
    font-size:13px;
}

.zt-field select:focus,
.zt-field input:focus{
    border-color:var(--zt-gold);
}

.zt-search-submit{
    height:46px;
    padding:0 18px;

    border:0;
    border-radius:8px;

    background:var(--zt-gold);
    color:var(--zt-navy);

    font-size:13px;
    font-weight:900;

    cursor:pointer;
}


/* ==========================================================
   ROUTE CARD
========================================================== */

.zt-route-card{
    margin-bottom:27px;

    padding:20px;

    display:grid;
    grid-template-columns:390px minmax(0,1fr);
    gap:22px;

    background:#fff;

    border:1px solid var(--zt-border);
    border-radius:15px;

    box-shadow:
        0 7px 25px rgba(0,59,105,.05);
}

.zt-route-left{
    padding:3px 5px;
}

.zt-title{
    display:flex;
    align-items:center;
    gap:8px;

    margin:0 0 18px;

    color:var(--zt-navy);

    font-size:20px;
    font-weight:800;
}

.zt-title i{
    color:var(--zt-gold);
}


/* LOCATIONS */

.zt-location{
    position:relative;

    padding-left:27px;
    margin-bottom:18px;
}

.zt-location-dot{
    position:absolute;
    top:5px;
    left:0;

    width:10px;
    height:10px;

    border-radius:50%;
}

.zt-location-dot.pickup{
    background:#00518A;
}

.zt-location-dot.dropoff{
    background:#F5A000;
}

.zt-location small{
    display:block;

    margin-bottom:4px;

    color:#61717D;

    font-size:12px;
    font-weight:800;
}

.zt-location strong{
    display:block;

    color:var(--zt-navy);

    font-size:14px;
}

.zt-location span{
    display:block;

    margin-top:4px;

    color:#61717D;

    font-size:12px;
}


/* STATS */

.zt-stats{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:10px;

    margin-top:19px;
}

.zt-stat{
    min-height:100px;

    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;

    border-radius:9px;

    background:var(--zt-soft);

    text-align:center;
}

.zt-stat i{
    margin-bottom:8px;

    color:var(--zt-gold);

    font-size:25px;
}

.zt-stat small{
    color:#61717D;

    font-size:12px;
}

.zt-stat strong{
    margin-top:5px;

    color:var(--zt-navy);

    font-size:16px;
}


/* ARRIVAL */

.zt-arrival{
    margin-top:10px;
    min-height:48px;

    display:flex;
    align-items:center;
    justify-content:center;
    gap:10px;

    border-radius:8px;

    background:var(--zt-soft);

    color:#00518A;

    font-size:13px;
}

.zt-arrival i{
    color:var(--zt-gold);
}

.zt-arrival strong{
    color:var(--zt-navy);
}


/* ==========================================================
   MAP
========================================================== */

.zt-map-side{
    min-width:0;
}

#ztTransferMap{
    width:100%;
    height:335px;

    overflow:hidden;

    border-radius:12px;

    background:#EDF4F9;
}

.zt-map-note{
    margin-top:8px;

    text-align:center;

    color:#61717D;

    font-size:12px;
}

.zt-map-note i{
    color:var(--zt-gold);
}

.leaflet-routing-container{
    display:none !important;
}


/* ==========================================================
   VEHICLE HEADING
========================================================== */

.zt-vehicles-title{
    margin:0 0 15px;

    display:flex;
    align-items:center;
    gap:9px;

    color:var(--zt-navy);

    font-size:20px;
    font-weight:800;
}

.zt-vehicles-title > i{
    color:var(--zt-gold);
}

.zt-count{
    padding:5px 8px;

    border-radius:5px;

    background:var(--zt-navy);
    color:#fff;

    font-size:12px;
    font-weight:700;
}


/* ==========================================================
   VEHICLE LIST
========================================================== */

.zt-vehicle-list{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:18px;
}

.zt-vehicle-card{
    min-width:0;

    display:grid;
    grid-template-columns:220px minmax(0,1fr);

    overflow:hidden;

    border:1px solid var(--zt-border);
    border-radius:14px;

    background:#fff;

    box-shadow:
        0 7px 25px rgba(0,59,105,.05);
}

.zt-vehicle-image{
    min-height:300px;

    display:flex;
    align-items:center;
    justify-content:center;

    overflow:hidden;

    background:#F7FAFC;
}

.zt-vehicle-image img{
    width:100%;
    height:100%;

    min-height:300px;

    display:block;

    object-fit:cover;
}

.zt-vehicle-content{
    padding:17px;
}

.zt-vehicle-top{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:10px;
}

.zt-vehicle-top h3{
    margin:0;

    color:var(--zt-navy);

    font-size:18px;
    font-weight:800;
}

.zt-capacity{
    display:flex;
    gap:5px;
}

.zt-capacity span{
    padding:4px 7px;

    display:inline-flex;
    align-items:center;
    gap:4px;

    border-radius:5px;

    background:#00518A;
    color:#fff;

    font-size:11px;
    font-weight:700;
}


/* FEATURES */

.zt-features{
    margin:8px 0 12px;

    display:flex;
    align-items:center;
    flex-wrap:wrap;
    gap:7px;
}

.zt-feature{
    display:inline-flex;
    align-items:center;
    gap:4px;

    color:#00518A;

    font-size:11px;
    font-weight:800;
}


/* SUITABLE */

.zt-suitable{
    margin-bottom:13px;
    padding:10px 11px;

    border:1px solid #E6D3A5;
    border-radius:6px;

    background:#FFF4DC;

    color:#00518A;

    font-size:12px;
    line-height:1.5;
}

.zt-suitable i{
    margin-right:4px;
}


/* DESCRIPTION */

.zt-description{
    margin:0 0 12px;

    color:#61717D;

    font-size:12px;
    line-height:1.6;
}


/* PRICE BOX */

.zt-price-box{
    padding:12px;

    border-radius:8px;

    background:#F7FAFC;
}

.zt-price-line{
    padding:7px 0;

    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:10px;

    color:#61717D;

    font-size:12px;
}

.zt-price-line + .zt-price-line{
    border-top:1px solid #DCE6EE;
}

.zt-price-line strong{
    color:var(--zt-navy);

    font-size:13px;
}

.zt-price-line.total strong{
    color:var(--zt-gold-dark);

    font-size:15px;
}


/* BUTTON */

.zt-select-btn{
    width:100%;
    min-height:42px;

    margin-top:11px;

    display:flex;
    align-items:center;
    justify-content:center;
    gap:7px;

    border:0;
    border-radius:8px;

    background:var(--zt-gold);

    color:var(--zt-navy);

    font-family:inherit;
    font-size:12px;
    font-weight:900;

    cursor:pointer;
}

.zt-select-btn:hover{
    background:var(--zt-gold-dark);
}


/* EMPTY */

.zt-empty{
    padding:45px 20px;

    background:#fff;

    border:1px solid var(--zt-border);
    border-radius:14px;

    text-align:center;
}

.zt-empty i{
    margin-bottom:10px;

    color:var(--zt-gold);

    font-size:36px;
}

.zt-empty h3{
    margin:0 0 7px;

    color:var(--zt-navy);
}

.zt-empty p{
    margin:0;

    color:#61717D;

    font-size:13px;
}


/* ==========================================================
   MOBILE
========================================================== */

@media(max-width:1100px){

    .zt-route-card{
        grid-template-columns:340px 1fr;
    }

    .zt-vehicle-list{
        grid-template-columns:1fr;
    }

    .zt-form-grid{
        grid-template-columns:repeat(3,1fr);
    }
}

@media(max-width:800px){

    .zt-route-card{
        grid-template-columns:1fr;
    }

    #ztTransferMap{
        height:300px;
    }

    .zt-search{
        align-items:flex-start;
        flex-direction:column;
    }

    .zt-form-grid{
        grid-template-columns:1fr 1fr;
    }
}

@media(max-width:560px){

    .zt-container{
        width:calc(100% - 24px);
    }

    .zt-form-grid{
        grid-template-columns:1fr;
    }

    .zt-vehicle-card{
        grid-template-columns:1fr;
    }

    .zt-vehicle-image,
    .zt-vehicle-image img{
        min-height:220px;
        max-height:240px;
    }
}


/* ==========================================================
   ZANZI STROLL TRANSFER PAGE FINAL LAYOUT FIX
   HEADER + VEHICLE IMAGE
========================================================== */


/* ==========================================================
   1. HEADER MUST NEVER OVERLAP TRANSFER CONTENT
========================================================== */

body .site-header{
    position:relative !important;

    top:auto !important;
    left:auto !important;
    right:auto !important;

    width:100% !important;

    z-index:1000 !important;

    background:#003B69 !important;

    transform:none !important;

    margin:0 !important;
}


body .site-header .main-navbar{
    position:relative !important;

    top:auto !important;

    width:100% !important;

    background:#003B69 !important;

    z-index:1001 !important;
}


body .site-header .nav-container{
    min-height:105px !important;

    display:flex !important;

    align-items:center !important;
}


/* MENU */

body .site-header .main-menu{
    position:relative !important;

    top:auto !important;

    display:flex !important;

    align-items:center !important;

    gap:38px !important;

    z-index:10 !important;
}


body .site-header .main-menu a{
    color:#ffffff !important;

    opacity:1 !important;

    font-size:14px !important;

    font-weight:700 !important;

    white-space:nowrap !important;
}


body .site-header .main-menu a:hover,
body .site-header .main-menu a.active{
    color:#F5A000 !important;
}


/* LOGO */

body .site-header .site-logo{
    position:relative !important;

    top:auto !important;
    left:auto !important;

    flex:none !important;

    margin:0 !important;
}


body .site-header .site-logo img{
    max-height:76px !important;

    width:auto !important;

    object-fit:contain !important;
}


/* ==========================================================
   TRANSFER PAGE SHOULD START BELOW HEADER
========================================================== */

.zt-page{
    position:relative !important;

    padding-top:24px !important;

    margin-top:0 !important;

    z-index:1 !important;

    background:#F7FAFC !important;
}


.zt-container{
    position:relative !important;

    z-index:2 !important;
}


/* SUMMARY BAR */

.zt-search{
    position:relative !important;

    top:auto !important;

    margin-top:0 !important;
    margin-bottom:24px !important;

    z-index:5 !important;
}


/* ==========================================================
   2. VEHICLE AREA
========================================================== */

.zt-vehicle-list{
    display:grid !important;

    grid-template-columns:1fr !important;

    gap:22px !important;

    max-width:100% !important;
}


/* Vehicle card wider and cleaner */

.zt-vehicle-card{
    width:100% !important;

    max-width:950px !important;

    min-height:310px !important;

    display:grid !important;

    grid-template-columns:340px minmax(0,1fr) !important;

    overflow:hidden !important;

    background:#ffffff !important;

    border:1px solid #DCE6EE !important;

    border-radius:15px !important;

    box-shadow:
        0 8px 28px
        rgba(0,59,105,.06) !important;
}


/* ==========================================================
   VEHICLE IMAGE - SHOW COMPLETE CAR
========================================================== */

.zt-vehicle-image{
    position:relative !important;

    width:100% !important;

    min-height:310px !important;

    padding:14px !important;

    display:flex !important;

    align-items:center !important;
    justify-content:center !important;

    overflow:hidden !important;

    background:
        linear-gradient(
            145deg,
            #F7FAFC,
            #EDF4F9
        ) !important;
}


.zt-vehicle-image img{
    width:100% !important;
    height:100% !important;

    max-width:100% !important;
    max-height:300px !important;

    min-height:0 !important;

    display:block !important;

    object-fit:contain !important;

    object-position:center center !important;

    margin:auto !important;

    padding:0 !important;

    transform:none !important;
}


/* Never zoom image */

.zt-vehicle-image:hover img{
    transform:none !important;

    scale:1 !important;
}


/* ==========================================================
   VEHICLE CONTENT
========================================================== */

.zt-vehicle-content{
    min-width:0 !important;

    padding:25px 27px !important;

    display:flex !important;

    flex-direction:column !important;

    justify-content:center !important;
}


.zt-vehicle-top h3{
    color:#003B69 !important;

    font-size:24px !important;

    line-height:1.25 !important;

    font-weight:800 !important;
}


.zt-description{
    color:#61717D !important;

    font-size:13px !important;

    line-height:1.7 !important;
}


/* Capacity tags */

.zt-capacity span{
    padding:6px 9px !important;

    background:#00518A !important;

    color:#ffffff !important;

    border-radius:6px !important;

    font-size:12px !important;
}


/* Features */

.zt-features{
    margin:12px 0 15px !important;

    gap:11px !important;
}


.zt-feature{
    font-size:12px !important;
}


/* Suitable box */

.zt-suitable{
    padding:12px 14px !important;

    margin-bottom:15px !important;

    font-size:13px !important;

    line-height:1.6 !important;
}


/* ==========================================================
   PRICE
========================================================== */

.zt-price-box{
    padding:12px 14px !important;

    background:#F7FAFC !important;

    border-radius:9px !important;
}


.zt-price-line{
    min-height:36px !important;

    font-size:12px !important;
}


.zt-price-line strong{
    font-size:13px !important;
}


.zt-price-line.total strong{
    color:#F5A000 !important;

    font-size:17px !important;

    font-weight:900 !important;
}


/* BUTTON */

.zt-select-btn{
    min-height:48px !important;

    margin-top:14px !important;

    background:#F5A000 !important;

    color:#003B69 !important;

    border-radius:9px !important;

    font-size:13px !important;

    font-weight:900 !important;
}


.zt-select-btn:hover{
    background:#00518A !important;
}


/* ==========================================================
   MAP CARD EXTRA SPACING
========================================================== */

.zt-route-card{
    margin-top:0 !important;

    margin-bottom:32px !important;
}


#ztTransferMap{
    min-height:350px !important;
}


/* ==========================================================
   TABLET
========================================================== */

@media(max-width:1000px){

    body .site-header .main-menu{
        gap:22px !important;
    }

    .zt-vehicle-card{
        max-width:100% !important;

        grid-template-columns:300px minmax(0,1fr) !important;
    }

}


/* ==========================================================
   MOBILE
========================================================== */

@media(max-width:760px){

    body .site-header .nav-container{
        min-height:85px !important;
    }


    .zt-page{
        padding-top:16px !important;
    }


    .zt-vehicle-card{
        grid-template-columns:1fr !important;

        max-width:100% !important;
    }


    .zt-vehicle-image{
        min-height:245px !important;

        padding:15px !important;
    }


    .zt-vehicle-image img{
        height:225px !important;

        max-height:225px !important;

        object-fit:contain !important;
    }


    .zt-vehicle-content{
        padding:20px !important;
    }

}


/* =========================================================
   ZANZI STROLL - TRANSFER FINAL BRAND COLORS
========================================================= */

:root{
    --zt-navy:#003B69 !important;
    --zt-navy-2:#00518A !important;

    --zt-gold:#F5A000 !important;
    --zt-gold-dark:#D88A00 !important;

    --zt-text:#243746 !important;
    --zt-muted:#61717D !important;
    --zt-border:#DCE6EE !important;
    --zt-soft:#F7FAFC !important;
    --zt-white:#ffffff !important;
    --zt-blue-light:#00518A !important;
}


/* =========================
   PAGE
========================= */

.zt-page{
    background:#F7FAFC !important;
}


/* =========================
   HEADER
========================= */

body .site-header{
    background:#003B69 !important;
}

body .site-header .main-navbar{
    background:#00518A !important;
}

body .site-header .main-menu a{
    color:#ffffff !important;
}

body .site-header .main-menu a:hover,
body .site-header .main-menu a.active{
    color:#ffffff !important;
}

body .site-header .main-menu a.active::after{
    background:#F5A000 !important;
}


/* =========================
   SEARCH SUMMARY
========================= */

.zt-search{
    background:#003B69 !important;
    color:#ffffff !important;
}

.zt-search-chip{
    background:#ffffff !important;
    color:#003B69 !important;
}

.zt-search-chip i{
    color:#00518A !important;
}

.zt-search-arrow{
    color:#F5A000 !important;
}

.zt-modify{
    background:#ffffff !important;
    color:#003B69 !important;
}


/* =========================
   SEARCH FORM
========================= */

.zt-field label{
    color:#243746 !important;
}

.zt-field select,
.zt-field input{
    border-color:#DCE6EE !important;
    color:#243746 !important;
}

.zt-field select:focus,
.zt-field input:focus{
    border-color:#00518A !important;

    box-shadow:
        0 0 0 3px
        rgba(0,81,138,.10) !important;
}


/* SEARCH BUTTON */

.zt-search-submit{
    background:#F5A000 !important;
    color:#022B4D !important;
}

.zt-search-submit:hover{
    background:#00518A !important;
    color:#ffffff !important;
}


/* =========================
   ROUTE
========================= */

.zt-title{
    color:#003B69 !important;
}

.zt-title i{
    color:#00518A !important;
}


/* PICKUP */

.zt-location-dot.pickup{
    background:#00518A !important;
}


/* DROPOFF */

.zt-location-dot.dropoff{
    background:#F5A000 !important;
}


.zt-location strong{
    color:#003B69 !important;
}


/* =========================
   STATS
========================= */

.zt-stat{
    background:#EDF4F9 !important;
}

.zt-stat i{
    color:#00518A !important;
}

.zt-stat strong{
    color:#003B69 !important;
}


.zt-arrival{
    background:#EDF4F9 !important;
}

.zt-arrival i{
    color:#00518A !important;
}

.zt-arrival strong{
    color:#003B69 !important;
}


/* =========================
   VEHICLES HEADING
========================= */

.zt-vehicles-title{
    color:#003B69 !important;
}

.zt-vehicles-title > i{
    color:#00518A !important;
}

.zt-count{
    background:#003B69 !important;
    color:#ffffff !important;
}


/* =========================
   VEHICLE CARD
========================= */

.zt-vehicle-card{
    border-color:#DCE6EE !important;

    box-shadow:
        0 7px 25px
        rgba(0,59,105,.06) !important;
}


.zt-vehicle-top h3{
    color:#003B69 !important;
}


/* CAPACITY */

.zt-capacity span{
    background:#00518A !important;
    color:#ffffff !important;
}


/* FEATURES */

.zt-feature{
    color:#00518A !important;
}


/* SUITABLE */

.zt-suitable{
    border-color:#E6D3A5 !important;
    background:#FFF4DC !important;
    color:#00518A !important;
}

.zt-suitable i{
    color:#00518A !important;
}


/* =========================
   PRICE
========================= */

.zt-price-box{
    background:#F7FAFC !important;
}

.zt-price-line{
    color:#61717D !important;
}

.zt-price-line strong{
    color:#003B69 !important;
}

.zt-price-line.total strong{
    color:#F5A000 !important;
}


/* =========================
   SELECT VEHICLE BUTTON
========================= */

.zt-select-btn{
    background:#F5A000 !important;
    color:#ffffff !important;

    box-shadow:
        0 8px 20px
        rgba(245,160,0,.15) !important;
}

.zt-select-btn i,
.zt-select-btn span{
    color:#ffffff !important;
}

.zt-select-btn:hover{
    background:#00518A !important;
    color:#ffffff !important;

    box-shadow:
        0 8px 20px
        rgba(0,81,138,.18) !important;
}


/* =========================
   EMPTY STATE
========================= */

.zt-empty i{
    color:#00518A !important;
}

.zt-empty h3{
    color:#003B69 !important;
}


/* =========================
   MAP
========================= */

#ztTransferMap{
    background:#EDF4F9 !important;
}

.zt-map-note i{
    color:#00518A !important;
}


/* =========================================================
   ZANZI STROLL - TRANSFER BEFORE SEARCH FINAL
========================================================= */

.zt-before-search{
    max-width:1180px;
    margin:42px auto 75px;
}


/* ===============================
   HEADING
================================ */

.zt-before-head{
    max-width:760px;
    margin:0 auto 36px;
    text-align:center;
}

.zt-before-eyebrow{
    display:inline-flex;
    align-items:center;
    justify-content:center;

    margin-bottom:11px;

    color:#F5A000;

    font-size:12px;
    font-weight:900;

    letter-spacing:1.7px;
}

.zt-before-head h1{
    margin:0 0 12px;

    color:#003B69;

    font-size:36px;
    line-height:1.12;

    font-weight:900;
}

.zt-before-head p{
    max-width:690px;

    margin:0 auto;

    color:#61717D;

    font-size:14px;
    line-height:1.8;
}


/* ===============================
   STEPS
================================ */

.zt-before-steps{
    display:grid;

    grid-template-columns:
        repeat(3,minmax(0,1fr));

    gap:18px;
}

.zt-before-step{
    min-height:220px;

    padding:27px 25px;

    position:relative;

    overflow:hidden;

    background:#ffffff;

    border:1px solid #DCE6EE;

    border-radius:17px;

    box-shadow:
        0 10px 30px
        rgba(0,59,105,.055);

    transition:
        transform .22s ease,
        box-shadow .22s ease,
        border-color .22s ease;
}

.zt-before-step:hover{
    transform:translateY(-4px);

    border-color:
        rgba(0,81,138,.28);

    box-shadow:
        0 18px 42px
        rgba(0,59,105,.10);
}

.zt-before-step-number{
    position:absolute;

    top:20px;
    right:22px;

    color:rgba(0,59,105,.08);

    font-size:38px;
    line-height:1;

    font-weight:900;
}

.zt-before-step-icon{
    width:50px;
    height:50px;

    margin-bottom:18px;

    display:flex;
    align-items:center;
    justify-content:center;

    background:#FFF4DC;

    border:1px solid #DCE6EE;

    border-radius:13px;

    color:#00518A;

    font-size:19px;
}

.zt-before-step h3{
    margin:0 0 8px;

    color:#003B69;

    font-size:17px;
    line-height:1.3;

    font-weight:850;
}

.zt-before-step p{
    margin:0;

    color:#61717D;

    font-size:13px;
    line-height:1.75;
}


/* ===============================
   BENEFITS
================================ */

.zt-before-benefits{
    margin-top:20px;

    padding:25px;

    display:grid;

    grid-template-columns:
        repeat(4,minmax(0,1fr));

    gap:20px;

    background:#003B69;

    border-radius:17px;

    box-shadow:
        0 12px 30px
        rgba(0,59,105,.12);
}

.zt-before-benefit{
    min-width:0;

    display:flex;
    align-items:flex-start;

    gap:12px;
}

.zt-before-benefit-icon{
    width:42px;
    height:42px;

    flex:0 0 42px;

    display:flex;
    align-items:center;
    justify-content:center;

    background:#ffffff;

    border-radius:11px;

    color:#00518A;

    font-size:15px;
}

.zt-before-benefit strong{
    display:block;

    margin:1px 0 4px;

    color:#ffffff;

    font-size:13px;
    line-height:1.35;
}

.zt-before-benefit span{
    display:block;

    color:rgba(255,255,255,.70);

    font-size:12px;
    line-height:1.55;
}


/* ===============================
   INFORMATION
================================ */

.zt-before-info{
    max-width:800px;

    margin:22px auto 0;

    padding:18px 20px;

    display:flex;
    align-items:flex-start;

    gap:14px;

    background:#FFF4DC;

    border:1px solid #F2DDAF;

    border-radius:13px;
}

.zt-before-info-icon{
    width:42px;
    height:42px;

    flex:0 0 42px;

    display:flex;
    align-items:center;
    justify-content:center;

    background:#F5A000;

    border-radius:11px;

    color:#ffffff;
}

.zt-before-info strong{
    display:block;

    margin-bottom:4px;

    color:#003B69;

    font-size:13px;
}

.zt-before-info p{
    margin:0;

    color:#61717D;

    font-size:12px;
    line-height:1.7;
}


/* ===============================
   CONTACT
================================ */

.zt-before-contact{
    max-width:650px;

    margin:25px auto 0;

    padding:17px 24px;

    display:flex;
    align-items:center;
    justify-content:center;

    gap:28px;

    background:#ffffff;

    border:1px solid #DCE6EE;

    border-radius:14px;
}

.zt-before-contact-item{
    display:flex;
    align-items:center;

    gap:11px;
}

.zt-before-contact-item > i{
    color:#00518A;

    font-size:16px;
}

.zt-before-contact-item small{
    display:block;

    margin-bottom:2px;

    color:#61717D;

    font-size:11px;
}

.zt-before-contact-item a{
    color:#003B69;

    font-size:12px;
    font-weight:800;

    text-decoration:none;
}

.zt-before-contact-item a:hover{
    color:#F5A000;
}

.zt-before-contact-divider{
    width:1px;
    height:34px;

    background:#DCE6EE;
}


/* =========================================================
   SEARCH FORM FINAL BRAND
========================================================= */

.zt-search-submit{
    background:#F5A000 !important;
    color:#022B4D !important;

    border-color:#F5A000 !important;

    box-shadow:
        0 7px 18px
        rgba(245,160,0,.15) !important;
}

.zt-search-submit:hover{
    background:#00518A !important;
    border-color:#00518A !important;
    color:#ffffff !important;
}


/* INPUT FOCUS */

.zt-field select:focus,
.zt-field input:focus{
    border-color:#00518A !important;

    box-shadow:
        0 0 0 3px
        rgba(0,81,138,.09) !important;

    outline:none !important;
}


/* =========================================================
   MOBILE
========================================================= */

@media(max-width:900px){

    .zt-before-steps{
        grid-template-columns:
            repeat(2,minmax(0,1fr));
    }

    .zt-before-step:last-child{
        grid-column:1 / -1;
    }

    .zt-before-benefits{
        grid-template-columns:
            repeat(2,minmax(0,1fr));
    }

}


@media(max-width:600px){

    .zt-before-search{
        margin:
            28px auto
            55px;
    }

    .zt-before-head{
        margin-bottom:25px;
    }

    .zt-before-head h1{
        font-size:28px;
    }

    .zt-before-head p{
        font-size:13px;
    }

    .zt-before-steps{
        grid-template-columns:1fr;
    }

    .zt-before-step:last-child{
        grid-column:auto;
    }

    .zt-before-step{
        min-height:auto;

        padding:23px 21px;
    }

    .zt-before-benefits{
        grid-template-columns:1fr;

        padding:20px;
    }

    .zt-before-info{
        padding:15px;
    }

    .zt-before-contact{
        padding:17px;

        flex-direction:column;

        align-items:flex-start;

        gap:14px;
    }

    .zt-before-contact-divider{
        width:100%;
        height:1px;
    }

}


/* ==========================================================
   ZANZI STROLL - FINAL ACCESSIBILITY & MOBILE SAFETY
   Styling only: no JavaScript or booking logic changes
========================================================== */
.zt-page, .zt-page input, .zt-page select, .zt-page button {
    font-family:"Manrope","Inter","Segoe UI",Arial,sans-serif;
}
.zt-page { color:#243746; -webkit-font-smoothing:antialiased; }
.zt-search-submit, .zt-select-btn { color:#022B4D !important; font-size:14px !important; }
.zt-search-submit i, .zt-search-submit span,
.zt-select-btn i, .zt-select-btn span { color:inherit !important; }
.zt-search-submit:hover, .zt-select-btn:hover {
    background:#00518A !important; color:#FFFFFF !important;
}
.zt-modify:hover { background:#FFF4DC; }
.zt-field input:focus-visible, .zt-field select:focus-visible,
.zt-search-submit:focus-visible, .zt-select-btn:focus-visible,
.zt-modify:focus-visible, .zt-before-contact a:focus-visible {
    outline:3px solid #FFB515 !important; outline-offset:3px;
}
.zt-vehicle-top, .zt-price-line { min-width:0; }
.zt-vehicle-top h3 { overflow-wrap:anywhere; }
.zt-before-info-icon { background:#F5A000; color:#022B4D; }
@media(max-width:991px){
    /* Respect the site's hamburger menu and its active/open classes. */
    body .site-header .main-menu:not(.active):not(.open):not(.is-open){
        display:none !important;
    }
    body .site-header .main-menu.active,
    body .site-header .main-menu.open,
    body .site-header .main-menu.is-open {
        display:flex !important;
    }
}
@media(max-width:560px){
    .zt-search-chip { max-width:100%; overflow-wrap:anywhere; }
    .zt-search-items { min-width:0; }
    .zt-vehicle-top { flex-wrap:wrap; }
    .zt-before-head h1 { line-height:1.2; }
}
