/* ==========================================================
   ZANZI STROLL TOURS AND SAFARI
   PREMIUM HEADER - DESIGN 01
   FULL NAVY / TEAL BACKGROUND
========================================================== */

:root{
    --zs-navy:#003B69;
    --zs-navy-dark:#022B4D;
    --zs-blue:#00518A;
    --zs-blue-light:#0870AF;
    --zs-gold:#F5A000;
    --zs-gold-light:#FFB515;
    --zs-white:#FFFFFF;
    --zs-muted:#C9D7E2;
}


/* ==========================================================
   COMPLETE HEADER
========================================================== */

body .site-header{
    position:relative !important;
    top:auto !important;
    left:auto !important;
    right:auto !important;

    width:100% !important;

    margin:0 !important;
    padding:0 !important;

    background:var(--zs-navy-dark) !important;

    border:0 !important;
    border-top:3px solid var(--zs-blue-light) !important;

    box-shadow:
        0 8px 25px rgba(0,0,0,.15) !important;

    z-index:1000 !important;
}


/* ==========================================================
   TOP HEADER
========================================================== */

body .site-header .top-bar{
    display:block !important;

    position:relative !important;

    width:100% !important;

    min-height:70px !important;

    margin:0 !important;
    padding:0 !important;

    background:#022B4D !important;

    border:0 !important;
    border-bottom:
        1px solid rgba(255,255,255,.08) !important;

    box-shadow:none !important;
}


/* TOP CONTAINER */

body .site-header .top-bar .nav-container{
    width:min(1780px,calc(100% - 60px)) !important;

    min-height:70px !important;

    margin:0 auto !important;
    padding:0 !important;

    display:flex !important;

    align-items:center !important;

    justify-content:space-between !important;

    gap:30px !important;

    background:transparent !important;

    border:0 !important;
    box-shadow:none !important;
}


/* ==========================================================
   TOP LEFT
========================================================== */

body .site-header .top-left{
    display:flex !important;

    align-items:center !important;

    gap:34px !important;

    margin:0 !important;
    padding:0 !important;
}


body .site-header .top-left a,
body .site-header .top-left span{
    display:inline-flex !important;

    align-items:center !important;

    gap:11px !important;

    color:#ffffff !important;

    font-family:'Manrope',sans-serif !important;

    font-size:14px !important;

    font-weight:500 !important;

    line-height:1 !important;

    text-decoration:none !important;

    white-space:nowrap !important;
}


body .site-header .top-left i{
    color:var(--zs-gold) !important;

    font-size:14px !important;
}


body .site-header .top-left a:hover{
    color:var(--zs-gold-light) !important;
}


/* ==========================================================
   TOP RIGHT
========================================================== */

body .site-header .top-right{
    display:flex !important;

    align-items:center !important;

    justify-content:flex-end !important;

    gap:23px !important;

    margin:0 !important;
    padding:0 !important;
}


body .site-header .top-right > a{
    display:flex !important;

    align-items:center !important;

    justify-content:center !important;

    width:30px !important;
    height:30px !important;

    padding:0 !important;

    color:#ffffff !important;

    background:transparent !important;

    border:0 !important;

    font-size:14px !important;

    text-decoration:none !important;

    transition:
        color .2s ease,
        transform .2s ease !important;
}


body .site-header .top-right > a:hover{
    color:var(--zs-gold) !important;

    transform:translateY(-2px) !important;
}


/* DIVIDER */

body .site-header .top-divider{
    display:block !important;

    width:1px !important;
    height:36px !important;

    margin:0 4px !important;

    background:
        rgba(255,255,255,.28) !important;
}


/* ==========================================================
   LANGUAGE
========================================================== */

body .site-header .language-switcher{
    position:relative !important;
}


body .site-header .language-current{
    display:flex !important;

    align-items:center !important;

    gap:10px !important;

    padding:8px 4px !important;

    color:#ffffff !important;

    background:transparent !important;

    border:0 !important;

    font-family:'Manrope',sans-serif !important;

    font-size:14px !important;

    font-weight:700 !important;

    cursor:pointer !important;
}


body .site-header .language-current img{
    width:31px !important;
    height:21px !important;

    object-fit:cover !important;
}


body .site-header .language-current i{
    margin-left:3px !important;

    font-size:10px !important;

    color:#ffffff !important;
}


/* LANGUAGE DROPDOWN */

body .site-header .language-dropdown{
    position:absolute !important;

    top:calc(100% + 15px) !important;
    right:0 !important;

    z-index:10000 !important;

    width:190px !important;

    padding:8px !important;

    background:#ffffff !important;

    border:
        1px solid rgba(0,0,0,.08) !important;

    border-radius:10px !important;

    box-shadow:
        0 18px 40px rgba(0,0,0,.20) !important;
}


body .site-header .language-option{
    width:100% !important;

    display:flex !important;

    align-items:center !important;

    gap:10px !important;

    padding:10px !important;

    color:var(--zs-navy) !important;

    background:transparent !important;

    border:0 !important;

    border-radius:7px !important;

    font-family:'Manrope',sans-serif !important;

    font-weight:600 !important;

    cursor:pointer !important;
}


body .site-header .language-option:hover,
body .site-header .language-option.active{
    background:#F6F9FC !important;

    color:var(--zs-gold) !important;
}


body .site-header .language-option img{
    width:25px !important;
}


/* ==========================================================
   MAIN NAVIGATION BAR
========================================================== */

body .site-header .main-navbar{
    position:relative !important;

    width:100% !important;

    margin:0 !important;
    padding:0 !important;

    background:
        linear-gradient(
            105deg,
            #003B69 0%,
            #00518A 43%,
            #0870AF 100%
        ) !important;

    border:0 !important;

    box-shadow:none !important;

    backdrop-filter:none !important;
    -webkit-backdrop-filter:none !important;

    overflow:visible !important;
}


/* SUBTLE BOTTOM LINE */

body .site-header .main-navbar::after{
    content:"" !important;

    position:absolute !important;

    left:0 !important;
    right:0 !important;
    bottom:0 !important;

    height:1px !important;

    background:
        linear-gradient(
            90deg,
            transparent,
            rgba(245,160,0,.35),
            transparent
        ) !important;

    pointer-events:none !important;
}


/* ==========================================================
   MAIN NAV CONTAINER
========================================================== */

body .site-header .main-navbar > .nav-container{
    position:relative !important;

    width:min(1780px,calc(100% - 60px)) !important;

    min-height:125px !important;

    margin:0 auto !important;
    padding:0 !important;

    display:grid !important;

    grid-template-columns:
        minmax(280px,390px)
        minmax(620px,1fr)
        minmax(280px,350px) !important;

    align-items:center !important;

    gap:35px !important;

    background:transparent !important;

    border:0 !important;
    border-radius:0 !important;

    box-shadow:none !important;
}


/* ==========================================================
   LOGO
========================================================== */

body .site-header .site-logo{
    position:relative !important;

    display:flex !important;

    align-items:center !important;

    justify-content:flex-start !important;

    width:auto !important;
    height:auto !important;

    min-width:0 !important;

    margin:0 !important;
    padding:0 !important;

    background:transparent !important;

    border:0 !important;
    border-radius:0 !important;

    box-shadow:none !important;

    clip-path:none !important;

    overflow:visible !important;

    transform:none !important;
}


body .site-header .site-logo::before,
body .site-header .site-logo::after{
    content:none !important;

    display:none !important;
}


/* LOGO.PNG */

body .site-header .site-logo img{
    display:block !important;

    width:340px !important;
    max-width:100% !important;

    height:105px !important;
    max-height:105px !important;

    object-fit:contain !important;
    object-position:left center !important;

    margin:0 !important;
    padding:0 !important;

    background:transparent !important;

    border:0 !important;
    border-radius:0 !important;

    box-shadow:none !important;

    filter:
        drop-shadow(
            0 5px 8px rgba(0,0,0,.22)
        ) !important;
}


/* ==========================================================
   MAIN MENU
========================================================== */

body .site-header .main-menu{
    position:relative !important;

    display:flex !important;

    align-items:center !important;

    justify-content:center !important;

    gap:48px !important;

    width:100% !important;

    margin:0 !important;
    padding:0 !important;

    background:transparent !important;

    border:0 !important;

    box-shadow:none !important;
}


body .site-header .main-menu > a{
    position:relative !important;

    display:flex !important;

    align-items:center !important;

    justify-content:center !important;

    min-height:125px !important;

    margin:0 !important;
    padding:0 !important;

    color:#ffffff !important;

    background:transparent !important;

    border:0 !important;
    border-radius:0 !important;

    box-shadow:none !important;

    font-family:'Manrope',sans-serif !important;

    font-size:15px !important;

    font-weight:700 !important;

    line-height:1 !important;

    letter-spacing:.1px !important;

    text-decoration:none !important;

    white-space:nowrap !important;

    opacity:1 !important;

    transition:
        color .2s ease,
        transform .2s ease !important;
}


/* REMOVE OLD DECORATIONS */

body .site-header .main-menu > a::before{
    content:none !important;

    display:none !important;
}


/* MENU HOVER */

body .site-header .main-menu > a:hover{
    color:var(--zs-gold-light) !important;

    background:transparent !important;

    transform:translateY(-1px) !important;
}


/* ACTIVE */

body .site-header .main-menu > a.active{
    color:var(--zs-gold) !important;
}


/* ACTIVE GOLD LINE */

body .site-header .main-menu > a::after{
    content:"" !important;

    position:absolute !important;

    left:50% !important;
    bottom:28px !important;

    width:0 !important;
    height:3px !important;

    transform:
        translateX(-50%) !important;

    background:
        linear-gradient(
            90deg,
            var(--zs-gold),
            var(--zs-gold-light)
        ) !important;

    border-radius:100px !important;

    opacity:0 !important;

    transition:
        width .2s ease,
        opacity .2s ease !important;
}


body .site-header .main-menu > a:hover::after{
    width:25px !important;

    opacity:.6 !important;
}


body .site-header .main-menu > a.active::after{
    width:42px !important;

    opacity:1 !important;
}


/* ==========================================================
   RIGHT ACTION AREA
========================================================== */

body .site-header .nav-actions{
    position:relative !important;

    display:flex !important;

    align-items:center !important;

    justify-content:flex-end !important;

    width:auto !important;

    margin:0 !important;
    padding:0 !important;

    background:transparent !important;

    border:0 !important;
    border-radius:0 !important;

    box-shadow:none !important;

    clip-path:none !important;

    overflow:visible !important;
}


body .site-header .nav-actions::before,
body .site-header .nav-actions::after{
    content:none !important;

    display:none !important;
}


/* ==========================================================
   CALL US NOW
========================================================== */

body .site-header .header-call{
    position:relative !important;

    display:flex !important;

    align-items:center !important;

    justify-content:flex-start !important;

    gap:14px !important;

    min-width:275px !important;

    margin:0 !important;
    padding:0 !important;

    color:#ffffff !important;

    background:transparent !important;

    border:0 !important;
    border-radius:0 !important;

    box-shadow:none !important;

    clip-path:none !important;

    text-decoration:none !important;

    transition:
        transform .2s ease !important;
}


body .site-header .header-call::before,
body .site-header .header-call::after{
    content:none !important;

    display:none !important;
}


body .site-header .header-call:hover{
    transform:
        translateY(-2px) !important;
}


/* PHONE CIRCLE */

body .site-header .header-call-icon{
    flex:0 0 62px !important;

    width:62px !important;
    height:62px !important;

    display:flex !important;

    align-items:center !important;

    justify-content:center !important;

    color:#ffffff !important;

    background:
        linear-gradient(
            145deg,
            #00518A,
            #022B4D
        ) !important;

    border:
        2px solid var(--zs-gold) !important;

    border-radius:50% !important;

    box-shadow:
        0 0 0 5px rgba(245,160,0,.08),
        0 7px 18px rgba(0,0,0,.20) !important;

    font-size:20px !important;
}


body .site-header .header-call:hover
.header-call-icon{
    background:var(--zs-gold) !important;

    color:var(--zs-navy-dark) !important;
}


/* PHONE TEXT */

body .site-header .header-call-text{
    display:flex !important;

    flex-direction:column !important;

    align-items:flex-start !important;

    justify-content:center !important;

    gap:5px !important;

    white-space:nowrap !important;
}


body .site-header .header-call-text small{
    display:block !important;

    margin:0 !important;

    color:rgba(255,255,255,.72) !important;

    font-family:'Manrope',sans-serif !important;

    font-size:11px !important;

    font-weight:500 !important;

    line-height:1 !important;

    letter-spacing:.2px !important;
}


body .site-header .header-call-text strong{
    display:block !important;

    margin:0 !important;

    color:var(--zs-gold-light) !important;

    font-family:'Manrope',sans-serif !important;

    font-size:17px !important;

    font-weight:800 !important;

    line-height:1.1 !important;

    letter-spacing:.2px !important;
}


/* ==========================================================
   REMOVE OLD WHITE SHAPES COMPLETELY
========================================================== */

body .site-header .site-logo,
body .site-header .nav-actions,
body .site-header .header-call{
    clip-path:none !important;

    -webkit-clip-path:none !important;
}


body .site-header .site-logo::before,
body .site-header .site-logo::after,
body .site-header .nav-actions::before,
body .site-header .nav-actions::after,
body .site-header .header-call::before,
body .site-header .header-call::after{
    content:none !important;

    display:none !important;
}


/* ==========================================================
   MOBILE LANGUAGE
========================================================== */

body .site-header .mobile-language-switcher{
    display:none !important;
}


/* ==========================================================
   MOBILE MENU BUTTON
========================================================== */

body .site-header .menu-toggle{
    display:none !important;

    align-items:center !important;

    justify-content:center !important;

    width:46px !important;
    height:46px !important;

    margin:0 !important;
    padding:0 !important;

    color:var(--zs-navy-dark) !important;

    background:
        linear-gradient(
            135deg,
            var(--zs-gold-light),
            var(--zs-gold)
        ) !important;

    border:0 !important;

    border-radius:9px !important;

    box-shadow:
        0 5px 15px rgba(0,0,0,.15) !important;

    font-size:19px !important;

    cursor:pointer !important;
}


/* ==========================================================
   HOME HERO
========================================================== */

body .zp-home-hero{
    margin-top:0 !important;
}


/* ==========================================================
   MEDIUM DESKTOP
========================================================== */

@media(max-width:1450px){

    body .site-header .main-navbar > .nav-container{
        width:calc(100% - 40px) !important;

        grid-template-columns:
            260px
            1fr
            260px !important;

        gap:25px !important;
    }


    body .site-header .top-bar .nav-container{
        width:calc(100% - 40px) !important;
    }


    body .site-header .site-logo img{
        width:255px !important;
    }


    body .site-header .main-menu{
        gap:30px !important;
    }


    body .site-header .header-call{
        min-width:250px !important;
    }


    body .site-header .header-call-text strong{
        font-size:14px !important;
    }

}


/* ==========================================================
   TABLET
========================================================== */

@media(max-width:1100px){

    body .site-header .top-bar{
        min-height:58px !important;
    }


    body .site-header .top-bar .nav-container{
        min-height:58px !important;
    }


    body .site-header .main-navbar > .nav-container{
        display:flex !important;

        width:calc(100% - 32px) !important;

        min-height:90px !important;

        justify-content:space-between !important;

        gap:15px !important;
    }


    body .site-header .site-logo{
        flex:0 0 auto !important;
    }


    body .site-header .site-logo img{
        width:225px !important;

        height:78px !important;
    }


    body .site-header .main-menu{
        gap:22px !important;
    }


    body .site-header .main-menu > a{
        min-height:90px !important;

        font-size:13px !important;
    }


    body .site-header .main-menu > a::after{
        bottom:18px !important;
    }


    body .site-header .header-call{
        min-width:auto !important;
    }


    body .site-header .header-call-text{
        display:none !important;
    }


    body .site-header .header-call-icon{
        width:52px !important;
        height:52px !important;

        flex-basis:52px !important;
    }

}


/* ==========================================================
   MOBILE
========================================================== */

@media(max-width:900px){

    body .site-header .top-bar{
        display:none !important;
    }


    body .site-header .main-navbar{
        background:
            linear-gradient(
                105deg,
                #003B69,
                #0870AF
            ) !important;
    }


    body .site-header .main-navbar > .nav-container{
        position:relative !important;

        width:calc(100% - 28px) !important;

        min-height:84px !important;

        display:flex !important;

        align-items:center !important;

        justify-content:space-between !important;

        gap:10px !important;
    }


    body .site-header .site-logo img{
        width:205px !important;
        max-width:205px !important;

        height:70px !important;
        max-height:70px !important;
    }


    body .site-header .main-menu{
        position:absolute !important;

        top:100% !important;
        left:-14px !important;
        right:-14px !important;

        z-index:9999 !important;

        display:none !important;

        flex-direction:column !important;

        align-items:stretch !important;

        justify-content:flex-start !important;

        gap:0 !important;

        width:auto !important;

        padding:10px 18px 18px !important;

        background:#003B69 !important;

        border-top:
            1px solid rgba(255,255,255,.08) !important;

        border-bottom:
            3px solid var(--zs-gold) !important;

        box-shadow:
            0 18px 35px rgba(0,0,0,.25) !important;
    }


    body .site-header .main-menu.open,
    body .site-header .main-menu.active,
    body .site-header .main-menu.is-open{
        display:flex !important;
    }


    body .site-header .main-menu > a{
        justify-content:flex-start !important;

        width:100% !important;

        min-height:52px !important;

        padding:0 7px !important;

        border-bottom:
            1px solid rgba(255,255,255,.07) !important;

        font-size:14px !important;
    }


    body .site-header .main-menu > a::after{
        left:7px !important;

        bottom:7px !important;

        transform:none !important;
    }


    body .site-header .main-menu > a.active::after{
        width:28px !important;
    }


    body .site-header .nav-actions{
        display:flex !important;

        align-items:center !important;

        gap:9px !important;
    }


    body .site-header .header-call{
        display:none !important;
    }


    body .site-header .mobile-language-switcher{
        display:block !important;
    }


    body .site-header .mobile-language-current{
        display:flex !important;

        align-items:center !important;

        gap:6px !important;

        height:44px !important;

        padding:0 9px !important;

        color:#ffffff !important;

        background:
            rgba(255,255,255,.08) !important;

        border:
            1px solid rgba(255,255,255,.16) !important;

        border-radius:8px !important;
    }


    body .site-header .mobile-language-current img{
        width:24px !important;
    }


    body .site-header .menu-toggle{
        display:flex !important;
    }

}


/* ==========================================================
   SMALL MOBILE
========================================================== */

@media(max-width:600px){

    body .site-header .main-navbar > .nav-container{
        width:calc(100% - 22px) !important;

        min-height:76px !important;
    }


    body .site-header .site-logo img{
        width:170px !important;
        max-width:170px !important;

        height:61px !important;
        max-height:61px !important;
    }


    body .site-header .mobile-language-current{
        height:41px !important;

        padding:0 7px !important;
    }


    body .site-header .menu-toggle{
        width:41px !important;
        height:41px !important;

        font-size:17px !important;
    }

}


/* ==========================================================
   EXTRA SMALL
========================================================== */

@media(max-width:420px){

    body .site-header .main-navbar > .nav-container{
        width:calc(100% - 18px) !important;
    }


    body .site-header .site-logo img{
        width:148px !important;
        max-width:148px !important;
    }


    body .site-header .mobile-language-current span{
        display:none !important;
    }

}

/* ==========================================================
   ZANZI STROLL - FINAL BRAND + READABILITY OVERRIDES
   Approved palette only:
   Navy       #003B69
   Dark Navy  #022B4D
   Blue       #00518A
   Light Blue #0870AF
   Gold       #F5A000
   Light Gold #FFB515
   White      #FFFFFF
========================================================== */

body .site-header,
body .site-header button,
body .site-header a,
body .site-header span,
body .site-header small,
body .site-header strong{
    font-family:"Manrope","Inter","Segoe UI",Arial,sans-serif !important;
    -webkit-font-smoothing:antialiased;
    text-rendering:optimizeLegibility;
}

body .site-header .top-left a,
body .site-header .top-left span,
body .site-header .language-current{
    font-size:14px !important;
    line-height:1.35 !important;
}

body .site-header .language-option{
    font-size:14px !important;
    line-height:1.35 !important;
}

body .site-header .main-menu > a{
    font-size:15px !important;
    line-height:1.25 !important;
    font-weight:700 !important;
}

body .site-header .header-call-text small{
    font-size:12px !important;
    line-height:1.3 !important;
}

body .site-header .header-call-text strong{
    font-size:17px !important;
    line-height:1.25 !important;
}

@media(max-width:1100px){
    body .site-header .main-menu > a{
        font-size:13.5px !important;
    }
}

@media(max-width:900px){
    body .site-header .main-menu > a{
        font-size:14px !important;
        line-height:1.3 !important;
    }
}
