/* ==========================================================
   ZANZI STROLL TOURS AND SAFARI
   PREMIUM HEADER - CLEAN FINAL VERSION
========================================================== */

:root{
    --zs-navy:#003B69;
    --zs-navy-dark:#022B4D;
    --zs-gold:#F5A000;
    --zs-gold-light:#FFB515;
    --zs-white:#FFFFFF;
    --zs-text:#003B69;
    --zs-muted:#687D8D;
    --zs-border:#DCE6EE;
}


/* ==========================================================
   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:#FFFFFF !important;

    border:0 !important;
    border-top:2px solid #F5A000 !important;

    box-shadow:none !important;

    overflow:visible !important;

    z-index:1000 !important;
}


/* ==========================================================
   TOP BAR
========================================================== */

body .site-header .top-bar{
    position:relative !important;

    display:block !important;

    width:100% !important;

    min-height:72px !important;
    height:72px !important;

    margin:0 !important;
    padding:0 !important;

    background:
        linear-gradient(
            90deg,
            #022B4D 0%,
            #003B69 55%,
            #003B69 100%
        ) !important;

    border:0 !important;

    box-shadow:none !important;

    overflow:visible !important;

    z-index:1002 !important;
}


body .site-header .top-bar .nav-container{
    width:min(1820px,calc(100% - 80px)) !important;
    max-width:none !important;

    min-height:72px !important;
    height:72px !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;

    overflow:visible !important;
}


/* ==========================================================
   TOP LEFT
========================================================== */

body .site-header .top-left{
    display:flex !important;

    align-items:center !important;

    gap:38px !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:10px !important;

    margin:0 !important;
    padding:0 !important;

    color:#FFFFFF !important;

    font-family:'Manrope',Arial,sans-serif !important;

    font-size:14px !important;
    font-weight:600 !important;

    line-height:1 !important;

    text-decoration:none !important;

    white-space:nowrap !important;
}


body .site-header .top-left i{
    margin:0 !important;

    color:var(--zs-gold) !important;

    font-size:15px !important;
}


body .site-header .top-left a:hover{
    color:var(--zs-gold) !important;
}


/* ==========================================================
   TOP RIGHT
========================================================== */

body .site-header .top-right{
    display:flex !important;

    align-items:center !important;
    justify-content:flex-end !important;

    gap:22px !important;

    margin:0 !important;
    padding:0 !important;

    overflow:visible !important;
}


body .site-header .top-right > a{
    display:flex !important;

    align-items:center !important;
    justify-content:center !important;

    width:30px !important;
    height:30px !important;

    margin:0 !important;
    padding:0 !important;

    color:#FFFFFF !important;

    background:transparent !important;

    border:0 !important;
    border-radius:50% !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;
}


body .site-header .top-divider{
    display:block !important;

    width:1px !important;
    height:36px !important;

    margin:0 4px !important;

    background:rgba(255,255,255,.32) !important;
}


/* ==========================================================
   DESKTOP LANGUAGE SWITCHER
========================================================== */

body .site-header .language-switcher{
    position:relative !important;

    display:block !important;

    overflow:visible !important;

    z-index:100000 !important;
}


body .site-header .language-current{
    position:relative !important;

    display:flex !important;

    align-items:center !important;

    gap:9px !important;

    min-height:42px !important;

    margin:0 !important;

    padding:6px 4px !important;

    color:#FFFFFF !important;

    background:transparent !important;

    border:0 !important;

    outline:0 !important;

    font-family:'Manrope',Arial,sans-serif !important;

    font-size:14px !important;
    font-weight:700 !important;

    cursor:pointer !important;

    white-space:nowrap !important;
}


body .site-header .language-current img{
    display:block !important;

    width:34px !important;
    height:23px !important;

    object-fit:cover !important;

    border-radius:2px !important;

    box-shadow:
        0 0 0 1px rgba(255,255,255,.15) !important;
}


body .site-header .language-current i{
    margin-left:3px !important;

    color:#FFFFFF !important;

    font-size:9px !important;

    transition:transform .2s ease !important;
}


body .site-header .language-switcher.open
.language-current i{
    transform:rotate(180deg) !important;
}


/* ==========================================================
   DESKTOP LANGUAGE DROPDOWN
========================================================== */

body .site-header .language-dropdown{
    position:absolute !important;

    top:calc(100% + 10px) !important;
    right:0 !important;

    width:220px !important;

    margin:0 !important;
    padding:8px !important;

    background:#FFFFFF !important;

    border:
        1px solid rgba(0,59,105,.08) !important;

    border-radius:12px !important;

    box-shadow:
        0 20px 55px rgba(0,0,0,.20) !important;

    opacity:0 !important;
    visibility:hidden !important;

    pointer-events:none !important;

    transform:translateY(-7px) !important;

    transition:
        opacity .18s ease,
        visibility .18s ease,
        transform .18s ease !important;

    z-index:100001 !important;
}


body .site-header .language-switcher.open
.language-dropdown{
    opacity:1 !important;
    visibility:visible !important;

    pointer-events:auto !important;

    transform:translateY(0) !important;
}


body .site-header .language-option{
    display:flex !important;

    align-items:center !important;

    gap:11px !important;

    width:100% !important;

    margin:0 !important;
    padding:10px 11px !important;

    color:var(--zs-navy) !important;

    background:#FFFFFF !important;

    border:0 !important;

    border-radius:8px !important;

    font-family:'Manrope',Arial,sans-serif !important;

    font-size:14px !important;
    font-weight:600 !important;

    text-align:left !important;

    cursor:pointer !important;
}


body .site-header .language-option:hover,
body .site-header .language-option.active{
    color:var(--zs-navy) !important;

    background:#FFF4DC !important;
}


body .site-header .language-option img{
    width:25px !important;
    height:17px !important;

    object-fit:cover !important;

    border-radius:2px !important;
}


/* ==========================================================
   MAIN WHITE NAVBAR
========================================================== */

body .site-header .main-navbar{
    position:relative !important;

    width:100% !important;

    min-height:130px !important;
    height:130px !important;

    margin:0 !important;
    padding:0 !important;

    background:#FFFFFF !important;
    background-image:none !important;

    border:0 !important;

    box-shadow:
        0 4px 15px rgba(0,59,105,.07) !important;

    overflow:visible !important;

    z-index:1000 !important;
}


/* ==========================================================
   MAIN NAV CONTAINER
========================================================== */

body .site-header .main-navbar > .nav-container{
    width:min(1820px,calc(100% - 80px)) !important;
    max-width:none !important;

    min-height:130px !important;
    height:130px !important;

    margin:0 auto !important;
    padding:0 !important;

    display:grid !important;

    grid-template-columns:
        minmax(390px,450px)
        minmax(600px,1fr)
        minmax(310px,350px) !important;

    align-items:center !important;

    gap:30px !important;

    background:#FFFFFF !important;
    background-image:none !important;

    border:0 !important;
    border-radius:0 !important;

    box-shadow:none !important;

    overflow:visible !important;
}


/* ==========================================================
   REMOVE OLD SHAPES
========================================================== */

body .site-header .main-navbar::before,
body .site-header .main-navbar::after,
body .site-header .main-navbar > .nav-container::before,
body .site-header .main-navbar > .nav-container::after,
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;
}


/* ==========================================================
   LOGO
========================================================== */

body .site-header .site-logo{
    position:relative !important;

    display:flex !important;

    align-items:center !important;
    justify-content:flex-start !important;

    width:100% !important;
    height:130px !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;

    overflow:visible !important;
}


body .site-header .site-logo img{
    display:block !important;

    width:410px !important;
    max-width:100% !important;

    height:110px !important;
    max-height:110px !important;

    margin:0 !important;
    padding:0 !important;

    object-fit:contain !important;
    object-position:left center !important;

    background:transparent !important;

    border:0 !important;
    border-radius:0 !important;

    box-shadow:none !important;

    filter:none !important;
}


/* ==========================================================
   MAIN MENU
========================================================== */

body .site-header .main-menu{
    display:flex !important;

    align-items:center !important;
    justify-content:center !important;

    gap:44px !important;

    width:100% !important;
    height:130px !important;
    min-height:130px !important;

    margin:0 !important;
    padding:0 !important;

    background:transparent !important;

    border:0 !important;

    box-shadow:none !important;

    overflow:visible !important;
}


body .site-header .main-menu > a{
    position:relative !important;

    display:flex !important;

    align-items:center !important;
    justify-content:center !important;

    height:130px !important;
    min-height:130px !important;

    margin:0 !important;
    padding:0 !important;

    color:var(--zs-navy) !important;

    background:transparent !important;

    border:0 !important;

    font-family:'Manrope',Arial,sans-serif !important;

    font-size:15px !important;
    font-weight:800 !important;

    line-height:1 !important;

    text-decoration:none !important;

    white-space:nowrap !important;

    opacity:1 !important;

    transition:color .2s ease !important;
}


body .site-header .main-menu > a:hover{
    color:var(--zs-gold) !important;
}


body .site-header .main-menu > a.active{
    color:var(--zs-gold) !important;
}


/* ==========================================================
   REMOVE EVERY OLD ACTIVE DECORATION
========================================================== */

body .site-header .main-menu > a::before{
    content:none !important;

    display:none !important;
}


body .site-header .main-menu > a::after{
    content:"" !important;

    position:absolute !important;

    left:50% !important;
    bottom:27px !important;

    width:0 !important;
    height:3px !important;

    margin:0 !important;

    transform:translateX(-50%) !important;

    background:var(--zs-gold) !important;

    border:0 !important;
    border-radius:50px !important;

    opacity:0 !important;

    box-shadow:none !important;

    transition:
        width .2s ease,
        opacity .2s ease !important;
}


body .site-header .main-menu > a:hover::after{
    width:28px !important;

    opacity:.45 !important;
}


body .site-header .main-menu > a.active::after{
    width:50px !important;

    background:var(--zs-gold) !important;

    opacity:1 !important;
}


/* ==========================================================
   RIGHT ACTION AREA
========================================================== */

body .site-header .nav-actions{
    display:flex !important;

    align-items:center !important;
    justify-content:flex-end !important;

    gap:10px !important;

    width:100% !important;
    height:130px !important;
    min-height:130px !important;

    margin:0 !important;
    padding:0 !important;

    background:transparent !important;

    border:0 !important;
    border-radius:0 !important;

    box-shadow:none !important;

    overflow:visible !important;
}


/* REMOVE OLD BUTTON */

body .site-header .nav-actions > .book-btn{
    display:none !important;
}


/* ==========================================================
   CALL US
========================================================== */

body .site-header .header-call{
    position:relative !important;

    display:flex !important;

    align-items:center !important;
    justify-content:flex-start !important;

    gap:17px !important;

    width:auto !important;
    min-width:320px !important;

    height:auto !important;
    min-height:0 !important;

    margin:0 !important;
    padding:0 !important;

    color:var(--zs-navy) !important;

    background:transparent !important;

    border:0 !important;
    border-radius:0 !important;

    box-shadow:none !important;

    text-decoration:none !important;

    overflow:visible !important;
}


body .site-header .header-call-icon{
    display:flex !important;

    align-items:center !important;
    justify-content:center !important;

    width:68px !important;
    height:68px !important;

    min-width:68px !important;
    flex:0 0 68px !important;

    color:#FFFFFF !important;

    background:var(--zs-navy) !important;

    border:4px solid var(--zs-gold) !important;

    border-radius:50% !important;

    box-shadow:
        0 0 0 3px rgba(0,59,105,.07) !important;

    font-size:20px !important;

    transition:transform .2s ease !important;
}


body .site-header .header-call:hover
.header-call-icon{
    transform:scale(1.04) !important;
}


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;

    min-width:0 !important;
}


body .site-header .header-call-text small{
    display:block !important;

    margin:0 !important;

    color:var(--zs-muted) !important;

    font-family:'Manrope',Arial,sans-serif !important;

    font-size:12px !important;
    font-weight:600 !important;

    line-height:1.2 !important;
}


body .site-header .header-call-text strong{
    display:block !important;

    margin:0 !important;

    color:var(--zs-navy) !important;

    font-family:'Manrope',Arial,sans-serif !important;

    font-size:18px !important;
    font-weight:800 !important;

    line-height:1.2 !important;

    white-space:nowrap !important;
}


/* ==========================================================
   MENU TOGGLE
========================================================== */

body .site-header .menu-toggle{
    display:none !important;

    align-items:center !important;
    justify-content:center !important;

    width:44px !important;
    height:44px !important;

    min-width:44px !important;

    margin:0 !important;
    padding:0 !important;

    color:#FFFFFF !important;

    background:var(--zs-navy) !important;

    border:0 !important;

    border-radius:10px !important;

    font-size:18px !important;

    cursor:pointer !important;
}


/* ==========================================================
   MOBILE LANGUAGE
========================================================== */

body .site-header .mobile-language-switcher{
    display:none !important;

    position:relative !important;

    z-index:100000 !important;
}


body .site-header .mobile-language-current{
    display:flex !important;

    align-items:center !important;
    justify-content:center !important;

    gap:6px !important;

    min-width:72px !important;
    height:44px !important;

    padding:0 9px !important;

    color:var(--zs-navy) !important;

    background:#FFFFFF !important;

    border:
        1px solid rgba(0,59,105,.10) !important;

    border-radius:10px !important;

    font-family:'Manrope',Arial,sans-serif !important;

    font-size:12px !important;
    font-weight:800 !important;

    cursor:pointer !important;
}


body .site-header .mobile-language-current img{
    width:24px !important;
    height:17px !important;

    object-fit:cover !important;

    border-radius:2px !important;
}


body .site-header .mobile-language-current i{
    font-size:9px !important;
}


body .site-header .mobile-language-dropdown{
    display:none !important;

    position:absolute !important;

    top:calc(100% + 9px) !important;
    right:0 !important;

    width:210px !important;
    max-width:calc(100vw - 24px) !important;

    padding:8px !important;

    background:#FFFFFF !important;

    border:
        1px solid rgba(0,59,105,.08) !important;

    border-radius:12px !important;

    box-shadow:
        0 20px 50px rgba(0,0,0,.20) !important;

    z-index:100001 !important;
}


body .site-header .mobile-language-switcher.open
.mobile-language-dropdown{
    display:block !important;
}


body .site-header .mobile-language-option{
    display:flex !important;

    align-items:center !important;

    gap:10px !important;

    width:100% !important;

    padding:10px !important;

    color:var(--zs-navy) !important;

    background:#FFFFFF !important;

    border:0 !important;
    border-radius:8px !important;

    font-family:'Manrope',Arial,sans-serif !important;

    font-size:13px !important;
    font-weight:600 !important;

    text-align:left !important;

    cursor:pointer !important;
}


body .site-header .mobile-language-option:hover,
body .site-header .mobile-language-option.active{
    background:#FFF4DC !important;

    color:var(--zs-navy) !important;
}


body .site-header .mobile-language-option img{
    width:24px !important;
    height:16px !important;

    object-fit:cover !important;

    border-radius:2px !important;
}


/* ==========================================================
   GOOGLE TRANSLATE CLEANUP
========================================================== */

#google_translate_element,
#gtranslate-engine{
    position:absolute !important;

    width:1px !important;
    height:1px !important;

    overflow:hidden !important;

    opacity:0 !important;

    pointer-events:none !important;
}


.goog-te-banner-frame,
.goog-te-banner-frame.skiptranslate,
iframe.goog-te-banner-frame,
.goog-te-balloon-frame,
.goog-logo-link,
.goog-te-gadget{
    display:none !important;

    visibility:hidden !important;
}


html{
    top:0 !important;
}


body{
    top:0 !important;
}


/* ==========================================================
   HERO
========================================================== */

body .zp-home-hero{
    margin-top:0 !important;
}


/* ==========================================================
   DESKTOP - 1550
========================================================== */

@media(max-width:1550px){

    body .site-header .top-bar .nav-container,
    body .site-header .main-navbar > .nav-container{
        width:calc(100% - 60px) !important;
    }


    body .site-header .main-navbar > .nav-container{
        grid-template-columns:
            minmax(310px,360px)
            minmax(520px,1fr)
            minmax(270px,300px) !important;

        gap:22px !important;
    }


    body .site-header .site-logo img{
        width:330px !important;
    }


    body .site-header .main-menu{
        gap:30px !important;
    }


    body .site-header .main-menu > a{
        font-size:14px !important;
    }


    body .site-header .header-call{
        min-width:270px !important;

        gap:13px !important;
    }


    body .site-header .header-call-icon{
        width:60px !important;
        height:60px !important;

        min-width:60px !important;

        flex-basis:60px !important;
    }


    body .site-header .header-call-text strong{
        font-size:15px !important;
    }
}


/* ==========================================================
   DESKTOP - 1250
========================================================== */

@media(max-width:1250px){

    body .site-header .main-navbar > .nav-container{
        grid-template-columns:
            275px
            minmax(470px,1fr)
            235px !important;

        gap:15px !important;
    }


    body .site-header .site-logo img{
        width:255px !important;
    }


    body .site-header .main-menu{
        gap:21px !important;
    }


    body .site-header .main-menu > a{
        font-size:13px !important;
    }


    body .site-header .header-call{
        min-width:220px !important;
    }


    body .site-header .header-call-icon{
        width:52px !important;
        height:52px !important;

        min-width:52px !important;

        flex-basis:52px !important;

        border-width:3px !important;
    }


    body .site-header .header-call-text strong{
        font-size:14px !important;
    }
}


/* ==========================================================
   TABLET / MOBILE
========================================================== */

@media(max-width:991px){

    body .site-header .top-bar{
        display:none !important;
    }


    body .site-header .main-navbar{
        min-height:82px !important;
        height:82px !important;

        background:#FFFFFF !important;

        overflow:visible !important;
    }


    body .site-header .main-navbar > .nav-container{
        position:relative !important;

        display:flex !important;

        align-items:center !important;
        justify-content:space-between !important;

        width:calc(100% - 28px) !important;

        min-height:82px !important;
        height:82px !important;

        margin:0 auto !important;

        gap:8px !important;

        overflow:visible !important;
    }


    /* LOGO */

    body .site-header .site-logo{
        flex:0 1 auto !important;

        width:auto !important;
        height:82px !important;

        max-width:58% !important;

        margin:0 auto 0 0 !important;

        padding:0 !important;
    }


    body .site-header .site-logo img{
        width:210px !important;
        max-width:100% !important;

        height:68px !important;
        max-height:68px !important;

        object-fit:contain !important;
    }


    /* MOBILE MENU */

    body .site-header .main-menu{
        position:absolute !important;

        top:82px !important;

        left:-14px !important;
        right:-14px !important;

        display:none !important;

        flex-direction:column !important;

        align-items:stretch !important;
        justify-content:flex-start !important;

        gap:0 !important;

        width:auto !important;
        height:auto !important;
        min-height:0 !important;

        margin:0 !important;

        padding:10px 16px 16px !important;

        background:#FFFFFF !important;

        border-top:
            1px solid var(--zs-border) !important;

        border-bottom:
            3px solid var(--zs-gold) !important;

        box-shadow:
            0 18px 35px rgba(0,59,105,.18) !important;

        z-index:9999 !important;
    }


    body .site-header .main-menu.active,
    body .site-header .main-menu.open,
    body .site-header .main-menu.is-open{
        display:flex !important;
    }


    body .site-header .main-menu > a{
        justify-content:flex-start !important;

        width:100% !important;

        height:52px !important;
        min-height:52px !important;

        padding:0 8px !important;

        color:var(--zs-navy) !important;

        border-bottom:
            1px solid var(--zs-border) !important;

        font-size:14px !important;
    }


    body .site-header .main-menu > a::after{
        display:none !important;
    }


    body .site-header .main-menu > a.active{
        color:var(--zs-gold) !important;
    }


    /* ACTIONS */

    body .site-header .nav-actions{
        flex:0 0 auto !important;

        display:flex !important;

        align-items:center !important;
        justify-content:flex-end !important;

        gap:7px !important;

        width:auto !important;

        height:82px !important;
        min-height:82px !important;

        margin-left:auto !important;
    }


    body .site-header .header-call{
        display:none !important;
    }


    body .site-header .mobile-language-switcher{
        display:block !important;

        flex:0 0 auto !important;
    }


    body .site-header .menu-toggle{
        display:flex !important;

        flex:0 0 44px !important;
    }
}


/* ==========================================================
   SMALL MOBILE
========================================================== */

@media(max-width:600px){

    body .site-header .main-navbar,
    body .site-header .main-navbar > .nav-container{
        min-height:76px !important;
        height:76px !important;
    }


    body .site-header .main-navbar > .nav-container{
        width:calc(100% - 20px) !important;

        gap:6px !important;
    }


    body .site-header .site-logo{
        height:76px !important;

        max-width:54% !important;
    }


    body .site-header .site-logo img{
        width:170px !important;

        height:60px !important;
        max-height:60px !important;
    }


    body .site-header .nav-actions{
        height:76px !important;
        min-height:76px !important;

        gap:5px !important;
    }


    body .site-header .mobile-language-current{
        min-width:66px !important;

        height:42px !important;

        padding:0 7px !important;
    }


    body .site-header .mobile-language-current img{
        width:22px !important;
        height:15px !important;
    }


    body .site-header .mobile-language-current span{
        font-size:11px !important;
    }


    body .site-header .menu-toggle{
        width:42px !important;
        height:42px !important;

        min-width:42px !important;

        flex-basis:42px !important;
    }


    body .site-header .main-menu{
        top:76px !important;

        left:-10px !important;
        right:-10px !important;
    }
}


/* ==========================================================
   VERY SMALL MOBILE
========================================================== */

@media(max-width:390px){

    body .site-header .site-logo{
        max-width:50% !important;
    }


    body .site-header .site-logo img{
        width:150px !important;
    }


    body .site-header .mobile-language-current{
        min-width:60px !important;

        padding-left:6px !important;
        padding-right:6px !important;

        gap:4px !important;
    }


    body .site-header .mobile-language-current span{
        display:none !important;
    }
}

/* ==========================================================
   ZANZI STROLL - FINAL BRAND / TYPOGRAPHY SAFETY
========================================================== */

body .site-header,
body .site-header a,
body .site-header button,
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,
body .site-header .language-option,
body .site-header .mobile-language-current,
body .site-header .mobile-language-option{
    line-height:1.35 !important;
}

body .site-header .main-menu > a{
    line-height:1.25 !important;
}

body .site-header .header-call-text small{
    line-height:1.35 !important;
}

body .site-header .header-call-text strong{
    line-height:1.25 !important;
}

body .site-header{
    accent-color:#F5A000;
}

body .site-header ::selection{
    color:#FFFFFF;
    background:#00518A;
}

/* Approved Zanzi Stroll focus treatment */
body .site-header a:focus-visible,
body .site-header button:focus-visible{
    outline:3px solid rgba(245,160,0,.32) !important;
    outline-offset:3px !important;
}

/* ==========================================================
   END ZANZI STROLL PREMIUM HEADER
========================================================== */
