/* Haven Trails performance bundle v1 - generated 2026-10-02 */

/* === phase1-appearance.css === */
/* Haven Trails Phase 1 appearance system | 2026-09-25 */
:root{--ht-p1-khaki:#faed78!important;--ht-p1-brown:#2f2118!important;--ht-p1-white:#fff!important;--ht-p1-black:#111!important;--bg:#fff!important;--bg2:#faed78!important;--bg3:#fff!important;--surface:#fff!important;--surface2:#fff!important;--surface3:#fff!important;--dark:#2f2118!important;--brown:#2f2118!important;--brown-lt:#2f2118!important;--gold:#faed78!important;--gold-lt:#faed78!important;--gold-dark:#2f2118!important;--khaki:#faed78!important;--khaki-lt:#faed78!important;--ink:#111!important;--text:#111!important;--body:#111!important;--muted:#4b4b4b!important;--soft:#656565!important}
:root{--amber-bg:#faed78!important;--rust-bg:#faed78!important;--sky-bg:#faed78!important;--teal-bg:#faed78!important;--purple-bg:#faed78!important;--green-bg:#faed78!important;--red-bg:#faed78!important;--emerald-bg:#faed78!important;--scarlet-bg:#faed78!important;--sapphire-bg:#faed78!important;--gold-pale:#faed78!important;--khaki-pale:#faed78!important;--brown-pale:#faed78!important;--accent-bg:#faed78!important}
html,body{background:#fff!important;color:#111!important}.section-label,.section-title em,.hero__eyebrow,.journal-hero__eyebrow,.te-hero__crumb{color:#2f2118!important}.section-label:before,.section-label:after,.hero__eyebrow:before{background:#2f2118!important}
/* Hero: title only, readable on photography */
.hero__sub,.hero__desc,.hero-sub,.hero-subtitle,.hero-description,.page-hero__desc,.te-hero__sub,.sng-hero-sub,.ct-hero-sub,.journal-hero__sub,.journal-hero__subtitle,.dest-hero-sub,.pp-hero-sub,.sc-hero-sub,.ht-hero-sub,.tc-hero-sub,.ty-hero-sub{display:none!important}
:where(.hero,.page-hero,.tour-hero,.safari-hero,.zanzibar-hero,.kili-hero,.article-hero,.blog-hero,.activity-hero,.destination-hero,.journal-hero,.ct-hero,.faq-hero,.gb-hero,.te-hero,.sng-hero,.dest-hero,.pp-hero,.sc-hero,.ht-hero,.tc-hero,.ty-hero) h1{color:#fff!important;text-shadow:0 3px 22px rgba(0,0,0,.55)!important}
:where(.hero__overlay,.hero-ov,.te-hero__veil,.sng-hero-overlay,.page-hero__overlay,.article-hero__overlay,.destination-hero__overlay){background:linear-gradient(180deg,rgba(0,0,0,.18),rgba(0,0,0,.34) 48%,rgba(0,0,0,.76))!important}
/* Three-background system */
:where(.intro,.safaris-section,.pillars-section,.faq-section,.months-section,.bestfor-section,.journal-body,.articles-section,#overview,#tours,#timing){background:#fff!important;color:#111!important}
:where(.parks-section,.compare-section,.testimonials-section,.category-section:nth-child(odd),.te-related,.newsletter-strip--light){background:#faed78!important;color:#111!important}
:where(.circuits-strip,.highlights-strip,.cta-section,.te-jumpnav,.te-season,.te-scta,.te-kili-card,.te-booking-card){background:#2f2118!important;color:#fff!important}
/* Newsletter contrast */
.togo-footer-sec>div:first-of-type{background:#faed78!important;border-color:rgba(47,33,24,.18)!important}.newsletter-content-panel{background:#faed78!important;color:#111!important;border:2px solid #2f2118!important;border-radius:24px!important;box-shadow:0 18px 45px rgba(47,33,24,.10)!important}.newsletter-content-panel h3,.newsletter-content-panel p{color:#111!important}.footer-newsletter-input{background:#fff!important;color:#111!important;border:2px solid #2f2118!important}.footer-newsletter-input::placeholder{color:#555!important}.footer-newsletter-input:focus{border-color:#2f2118!important;box-shadow:0 0 0 4px rgba(47,33,24,.12)!important}.newsletter-content-panel button{background:#2f2118!important;color:#fff!important;border-color:#2f2118!important;border-radius:999px!important}
/* Approved article card language */
.article-card{background:#fff!important;border:1px solid rgba(47,33,24,.12)!important;border-radius:24px!important;overflow:hidden!important;box-shadow:0 12px 32px rgba(47,33,24,.08)!important;cursor:default!important}.article-card:hover{transform:translateY(-6px)!important;box-shadow:0 22px 50px rgba(47,33,24,.14)!important}.article-card__img-wrap{height:230px!important;margin:10px 10px 0!important;border-radius:18px!important}.article-card__img-wrap img{transition:transform .5s ease!important}.article-card:hover .article-card__img-wrap img{transform:scale(1.045)!important}.article-card__body{padding:20px 22px 22px!important}.article-card__cat{background:#faed78!important;color:#111!important;border:0!important;padding:7px 12px!important}.article-card__title{color:#111!important;font-size:1.28rem!important}.article-card__excerpt{display:none!important}.article-card__footer{border-top:0!important;padding-top:8px!important}.article-card__cta{background:#2f2118!important;color:#fff!important;border-radius:999px!important;padding:10px 16px!important}.article-card__type-icon{color:#2f2118!important}
/* Destination cards */
.dest-card,.destination-card,.park-card{position:relative!important;border-radius:24px!important;overflow:hidden!important;border:0!important;box-shadow:0 14px 36px rgba(47,33,24,.12)!important}.dest-card__img-wrap{height:100%!important;min-height:340px!important}.dest-card__img{height:100%!important;object-fit:cover!important}.dest-card__img-overlay,.park-card__overlay{background:linear-gradient(180deg,rgba(0,0,0,.05),rgba(0,0,0,.18) 48%,rgba(0,0,0,.78))!important}.dest-card__body{position:absolute!important;inset:0!important;z-index:3!important;display:flex!important;flex-direction:column!important;justify-content:flex-end!important;padding:24px!important;background:transparent!important;color:#fff!important}.dest-card__name,.dest-card__name a,.park-card__name{color:#fff!important;text-shadow:0 2px 14px rgba(0,0,0,.5)!important}.dest-card__tags{margin-top:10px!important}.dest-card__tag,.dest-card__img-label{background:#faed78!important;color:#111!important;border:0!important}.dest-card__footer{border:0!important}.dest-card__link{color:#fff!important;font-weight:800!important}.dest-card__arrow{background:#faed78!important;color:#111!important;border-radius:50%!important}
/* Approved image-led tour cards */
.package-card{position:relative!important;min-height:430px!important;border-radius:24px!important;overflow:hidden!important;border:0!important;background:#2f2118!important;box-shadow:0 14px 38px rgba(47,33,24,.14)!important}.package-card__img{position:absolute!important;inset:0!important;height:100%!important}.package-card__img:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.16),rgba(0,0,0,.12) 38%,rgba(0,0,0,.80))}.package-card__body{position:relative!important;z-index:2!important;min-height:430px!important;justify-content:flex-end!important;padding:26px!important;background:transparent!important;color:#fff!important}.package-card__badge{position:absolute!important;top:20px!important;left:20px!important;background:#faed78!important;color:#111!important;border:0!important}.package-card__title,.package-card__title a,.package-card__price,.package-card__price span{color:#fff!important;text-shadow:0 2px 14px rgba(0,0,0,.45)!important}.package-card__desc{display:none!important}.package-card__specs{margin:8px 0 14px!important}.package-card__spec{background:rgba(47,33,24,.72)!important;border:1px solid rgba(255,255,255,.22)!important}.package-card__spec__l,.package-card__spec__v{color:#fff!important}.package-card a.btn,.package-card .btn{background:#fff!important;color:#111!important;border-radius:999px!important;border:0!important}.package-card:hover{transform:translateY(-6px)!important;box-shadow:0 24px 52px rgba(47,33,24,.20)!important}.package-card:hover .package-card__img img{transform:scale(1.045)!important}
.trip-card,.tour-card,.route-card{border-radius:24px!important;overflow:hidden!important;border:1px solid rgba(47,33,24,.12)!important;box-shadow:0 12px 34px rgba(47,33,24,.08)!important}.trip-card__header,.tour-card__header,.route-card__header{min-height:280px!important}.trip-card__header-overlay,.tour-card__header-overlay,.route-card__header-overlay{background:linear-gradient(180deg,rgba(0,0,0,.08),rgba(0,0,0,.76))!important}.trip-card__badge,.tour-card__badge,.route-card__badge,.trip-card__pills .pill,.tour-card__pills .pill,.route-card__pills .pill{background:#faed78!important;color:#111!important;border:0!important}.trip-card__title,.tour-card__title{color:#fff!important}.trip-card__cta a,.tour-card__cta a,.route-card a.btn{border-radius:999px!important}
/* Horizontal rails */
:where(.tours-grid,.packages-grid,.related-grid).ht-phase1-rail{display:flex!important;overflow-x:auto!important;gap:22px!important;scroll-snap-type:x mandatory!important;padding-bottom:18px!important;scrollbar-width:thin!important;scrollbar-color:#2f2118 #faed78!important}:where(.tours-grid,.packages-grid,.related-grid).ht-phase1-rail>*{flex:0 0 min(340px,84vw)!important;scroll-snap-align:start!important}
/* Buttons and chips follow the palette */
:where(.btn--primary,.btn--gold,.topbar__btn--gold,.newsletter-strip__submit,.filter-btn.active,.te-btn,.ht-btn--primary){background:#faed78!important;color:#111!important;border-color:#faed78!important}:where(.btn--brown,.btn-consult,.sticky-book,.article-card__cta){background:#2f2118!important;color:#fff!important}:where(.pill,.tag,.category-tag,.season-month-tag){background:#faed78!important;color:#111!important;border-color:rgba(47,33,24,.16)!important}
/* Rebuilt mobile navigation */
@media(max-width:1200px){.ht-mobile-menu{width:min(92vw,420px)!important;max-width:420px!important;background:#2f2118!important;border-radius:28px 0 0 28px!important;box-shadow:-18px 0 60px rgba(0,0,0,.28)!important}.ht-mobile-menu__header{background:#2f2118!important;border-bottom:1px solid rgba(255,255,255,.12)!important;padding:18px 20px!important}.ht-mobile-menu__close{background:#faed78!important;color:#111!important;border:0!important;border-radius:50%!important}.ht-mobile-menu__content{background:#2f2118!important;padding:18px!important}.ht-mobile-trust{background:#faed78!important;color:#111!important;border-radius:20px!important}.ht-mobile-trust-stat strong,.ht-mobile-trust-stat span{color:#111!important}.ht-mobile-trust-div{background:rgba(17,17,17,.18)!important}.ht-mobile-item{background:rgba(255,255,255,.07)!important;border:1px solid rgba(255,255,255,.10)!important;border-radius:18px!important;margin-bottom:9px!important}.ht-mobile-item__title,.ht-mobile-item__toggle{color:#fff!important}.ht-mobile-item__title :is(.fa,.fas,.far,.fab){background:#faed78!important;color:#111!important;border-radius:10px!important}.ht-mobile-item__toggle{background:rgba(255,255,255,.08)!important;border:0!important}.ht-mobile-item.active{background:#faed78!important}.ht-mobile-item.active .ht-mobile-item__title,.ht-mobile-item.active .ht-mobile-item__toggle{color:#111!important}.ht-mobile-item.active .ht-mobile-item__toggle{background:#2f2118!important;color:#fff!important}.ht-mobile-link{color:#fff!important;border-radius:12px!important}.ht-mobile-link:hover,.ht-mobile-link:focus{background:#faed78!important;color:#111!important;transform:translateX(3px)!important}.ht-mobile-lang{border-top:1px solid rgba(255,255,255,.14)!important}.ht-mobile-lang__title,.ht-drawer-lang-cat{color:#faed78!important}.ht-mobile-lang__scroll{background:rgba(255,255,255,.05)!important}.ht-drawer-lang-btn{color:#fff!important}.ht-drawer-lang-btn__name{color:#fff!important}.ht-drawer-lang-btn__native{color:rgba(255,255,255,.62)!important}.ht-drawer-lang-btn:hover,.ht-drawer-lang-btn.active{background:#faed78!important;border-color:#faed78!important}.ht-drawer-lang-btn:hover .ht-drawer-lang-btn__name,.ht-drawer-lang-btn.active .ht-drawer-lang-btn__name,.ht-drawer-lang-btn:hover .ht-drawer-lang-btn__native,.ht-drawer-lang-btn.active .ht-drawer-lang-btn__native{color:#111!important}.ht-mobile-cta .ht-btn{width:100%!important;justify-content:center!important;background:#faed78!important;color:#111!important}}
.ht-mobile-toggle{background:#faed78!important;border:0!important;border-radius:14px!important}.ht-mobile-toggle span{background:#111!important}.ht-mobile-flags__trigger{background:#fff!important;border:2px solid #2f2118!important}.ht-mobile-flags__panel{border-radius:24px!important}.ht-mf-cat__head{background:#faed78!important;color:#111!important}.ht-mobile-flag-btn.active{background:#faed78!important;border-color:#faed78!important}
/* Article detail: content before sidebar on mobile */
@media(max-width:1020px){.te-layout,.article-layout,.post-layout,.blog-single-layout{display:flex!important;flex-direction:column!important}.te-article,.article-content,.post-content,.blog-single-content{order:1!important;width:100%!important}.te-sidebar,.article-sidebar,.post-sidebar,.blog-single-sidebar{order:2!important;width:100%!important;position:static!important;top:auto!important}.te-sidebar{margin-top:18px!important}}
/* Mobile card proportions */
@media(max-width:768px){.articles-grid,.articles-grid--2col,.packages-grid,.tours-grid{grid-template-columns:1fr!important}.article-card__img-wrap{height:245px!important}.package-card,.package-card__body{min-height:470px!important}.dest-card__img-wrap{min-height:400px!important}.hero__inner,.te-hero__inner,.journal-hero__inner{padding-left:18px!important;padding-right:18px!important}.hero h1,.hero__title,.te-hero h1,.journal-hero__title{font-size:clamp(2.2rem,11vw,4rem)!important;line-height:1.03!important}}
/* Homepage approved tour and blog cards */
:root{--cream:#fff!important;--earth:#2f2118!important;--gold-vivid:#faed78!important;--gold-pale:#faed78!important;--gray-100:#fff!important;--gray-200:rgba(47,33,24,.12)!important;--gray-500:#4b4b4b!important;--sky:#111!important}
.ht-tab-btn{background:#fff!important;color:#111!important;border-color:rgba(47,33,24,.16)!important}.ht-tab-btn.active,.ht-tab-btn:hover{background:#faed78!important;color:#111!important;border-color:#faed78!important}
.ht-tour-card{position:relative!important;height:430px!important;border-radius:24px!important;overflow:hidden!important;background:#2f2118!important;box-shadow:0 14px 38px rgba(47,33,24,.14)!important}.ht-tour-card>img{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;object-fit:cover!important;transition:transform .5s ease!important}.ht-tour-card:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.08),rgba(0,0,0,.15) 44%,rgba(0,0,0,.82));z-index:1}.ht-tour-card-body{position:absolute!important;z-index:2!important;inset:0!important;display:flex!important;flex-direction:column!important;justify-content:flex-end!important;padding:24px!important;color:#fff!important}.ht-tour-card-cat{position:absolute!important;top:18px!important;left:18px!important;background:#faed78!important;color:#111!important;border-radius:999px!important;padding:7px 13px!important;letter-spacing:.08em!important}.ht-tour-card-title,.ht-tour-card-title a{color:#fff!important;font-size:1.35rem!important;text-shadow:0 2px 14px rgba(0,0,0,.48)!important}.ht-tour-card-footer{border-top:1px solid rgba(255,255,255,.22)!important;color:#fff!important}.ht-tour-card-footer div{color:#fff!important}.ht-tour-btn{background:#fff!important;color:#111!important;border-radius:999px!important}.ht-tour-card:hover{transform:translateY(-6px)!important;box-shadow:0 24px 52px rgba(47,33,24,.20)!important}.ht-tour-card:hover>img{transform:scale(1.045)!important}
.blog-card{border-radius:24px!important;overflow:hidden!important;background:#fff!important;border:1px solid rgba(47,33,24,.12)!important;box-shadow:0 12px 34px rgba(47,33,24,.08)!important}.blog-card img{transition:transform .5s ease!important}.blog-card:hover{transform:translateY(-6px)!important;box-shadow:0 22px 50px rgba(47,33,24,.14)!important}.blog-card:hover img{transform:scale(1.045)!important}.blog-card-body{padding:22px!important}.blog-card-body h3 a,.blog-card-body h4 a{color:#111!important}.blog-read-btn{background:#2f2118!important;color:#fff!important;border-radius:999px!important;padding:10px 16px!important}
.hero-desc,.header-video .hero-desc{display:none!important}.hero-h1{color:#fff!important;text-shadow:0 4px 28px rgba(0,0,0,.55)!important}

/* Phase 1 individual-page refinements */
img{box-shadow:none!important}
:where(.faq-hero__sub,.gb-hero__sub,.pp-hero__sub,.sc-hero__sub,.sc-hero__desc,.tc-hero__sub,.ht-hero__sub,.ty-hero__sub,.dest-hero__sub){display:none!important}
:where(.circuits-strip,.highlights-strip,.cta-section,.te-jumpnav,.te-season,.te-scta,.te-kili-card,.te-booking-card) :where(h1,h2,h3,h4,h5,h6,p,li,span,a){color:#fff!important}
:where(.month-card--peak,.filter-btn.active,.overview-badge,.safari-card__badge,.package-card__badge,.article-card__cat,.category-tag,.pill,.tag,.season-month-tag) :where(span,strong,small,i),:where(.month-card--peak,.filter-btn.active,.overview-badge,.safari-card__badge,.package-card__badge,.article-card__cat,.category-tag,.pill,.tag,.season-month-tag){color:#111!important}
:where(.article-card,.blog-card,.package-card,.tour-card,.trip-card,.route-card,.dest-card,.destination-card){min-height:440px}
.article-card,.blog-card{min-height:455px!important}
@media(max-width:768px){.article-card,.blog-card{min-height:470px!important}.ht-tour-card{height:470px!important}.tour-card,.trip-card,.route-card{min-height:470px!important}}

/* Article and tour detail mobile reading order: content first, sidebar second */
@media(max-width:1040px){
 .te-layout,.sc-layout,.ht-layout,.pl{display:flex!important;flex-direction:column!important}
 .te-layout>article,.sc-layout>article,.ht-layout>article,.pl>main{order:1!important;width:100%!important}
 .te-layout>.te-sidebar,.sc-layout>.sc-sidebar,.ht-layout>.ht-sidebar,.pl>.sb{order:2!important;width:100%!important;position:static!important;top:auto!important;align-self:stretch!important}
 .te-layout>.te-sidebar,.sc-layout>.sc-sidebar,.ht-layout>.ht-sidebar,.pl>.sb{margin-top:24px!important}
}

/* Safari circuit cards: polished three-colour treatment */
.safari-card{border:1px solid rgba(47,33,24,.12)!important;border-radius:26px!important;background:#fff!important;box-shadow:0 14px 40px rgba(47,33,24,.10)!important}
.safari-card:hover{box-shadow:0 24px 58px rgba(47,33,24,.16)!important}
.safari-card__body{background:#fff!important;color:#111!important}.safari-card__badge{background:#faed78!important;color:#111!important}.safari-card__tag{background:rgba(47,33,24,.82)!important;color:#fff!important;border:1px solid rgba(255,255,255,.18)!important}
.safari-card__num{color:#faed78!important}.safari-card__eyebrow,.safari-card__title em{color:#2f2118!important}.safari-card__title,.safari-card__desc,.safari-card__hl,.safari-card__highlights__title{color:#111!important}
.safari-card__spec{background:#faed78!important;border-color:rgba(47,33,24,.14)!important}.safari-card__spec__l,.safari-card__spec__v{color:#111!important}.safari-card__hl:before{background:#2f2118!important}
.safari-card__ctas .btn--brown{background:#2f2118!important;color:#fff!important}.safari-card__ctas .btn--outline-dark{background:#fff!important;color:#111!important;border-color:#2f2118!important}
/* Zanzibar beach and navigation cards */
.beach-card{background:#fff!important;border:1px solid rgba(47,33,24,.12)!important;border-radius:24px!important;box-shadow:0 12px 34px rgba(47,33,24,.08)!important}.beach-card:hover{transform:translateY(-6px)!important;box-shadow:0 22px 50px rgba(47,33,24,.14)!important}.beach-card__img{height:230px!important;transition:transform .5s ease!important}.beach-card__badge,.tag{background:#faed78!important;color:#111!important;border-color:rgba(47,33,24,.14)!important}.beach-card__name,.beach-card__location,.beach-card__desc{color:#111!important}
.fact-chip,.tours-sidebar__cta,.tour-nav-item{background:#fff!important;color:#111!important;border-color:rgba(47,33,24,.14)!important}.tour-nav-item:hover,.tour-nav-item.active{background:#faed78!important;color:#111!important}.highlight-tag{background:#faed78!important;color:#111!important;border-color:rgba(47,33,24,.14)!important}
.include-box,.itin-item{background:#fff!important;color:#111!important;border-color:rgba(47,33,24,.14)!important}.include-box--no{background:#faed78!important}.include-head,.include-list li,.itin-title,.itin-body p{color:#111!important}
@media(max-width:768px){.safari-card{grid-template-columns:1fr!important}.safari-card__media{min-height:390px!important}.safari-card__body{padding:30px 22px!important}.beach-card__img{height:260px!important}}

/* Shared header palette lock */
:root{--ht-gold:#faed78!important;--ht-gold-light:#faed78!important;--ht-gold-dark:#2f2118!important;--ht-dark:#2f2118!important;--ht-dark-2:#2f2118!important;--ht-light:#fff!important;--ht-gray-100:#fff!important;--ht-gray-200:#faed78!important}
.ht-header,.ht-header--scrolled{background:#fff!important;color:#111!important}.ht-header:before{background:#faed78!important}.ht-nav__link,.ht-logo__title{color:#111!important}.ht-logo__tagline{color:#2f2118!important}
.ht-nav__link:hover,.ht-nav__link.active{color:#2f2118!important}.ht-cta,.ht-btn--primary{background:#faed78!important;color:#111!important;border-color:#faed78!important}
.ht-mega,.ht-lang__dropdown,.ht-mobile-flags__panel{background:#fff!important;color:#111!important}.ht-mega-link:hover,.ht-lang__option:hover{background:#faed78!important;color:#111!important}

/* Less common hero description classes */
.dest-hero-tagline,.ht-hero__excerpt{display:none!important}

/* Lock legacy template surfaces to the approved palette */
:root{--cream:#fff!important;--parchment:#fff!important;--smoke:#fff!important;--sand:#faed78!important;--sand2:#faed78!important;--forest:#2f2118!important;--forest2:#2f2118!important;--forest3:#2f2118!important;--forest4:#2f2118!important;--dark-2:#2f2118!important;--dark-3:#2f2118!important}
:root{--gold-bg:#faed78!important;--gold-dim:#faed78!important;--gold-glow:transparent!important;--brown-pale:#faed78!important;--green-bg:#faed78!important;--green-dim:#faed78!important;--teal-bg:#faed78!important;--teal-dim:#faed78!important;--amber-bg:#faed78!important;--purple-bg:#faed78!important;--red-bg:#faed78!important;--rose-bg:#faed78!important;--rust-bg:#faed78!important;--violet-bg:#faed78!important;--emerald-bg:#faed78!important;--scarlet-bg:#faed78!important;--sapphire-bg:#faed78!important}
:root{--txt:#111!important;--txt2:#111!important;--body:#111!important;--text:#111!important;--text-muted:#111!important;--muted:#111!important;--soft:#111!important}

/* Legacy tour-detail cards: approved palette */
.acc-card,.hl-card,.why-card,.day-card,.ht-card{background:#fff!important;border:1px solid rgba(47,33,24,.14)!important;border-radius:22px!important;box-shadow:0 10px 28px rgba(47,33,24,.07)!important;overflow:hidden!important}.acc-card:hover,.hl-card:hover,.why-card:hover,.ht-card:hover{box-shadow:0 18px 42px rgba(47,33,24,.12)!important;transform:translateY(-4px)!important}.acc-img-wrap{min-height:220px!important}.acc-img-wrap img{width:100%!important;height:100%!important;object-fit:cover!important}.acc-card-body{background:#fff!important;color:#111!important;padding:20px!important}.acc-card-name,.acc-card-loc,.acc-card-desc{color:#111!important}.acc-stars{color:#2f2118!important}.acc-loc-dot,.acc-img-label{background:#faed78!important;color:#111!important}.acc-features span{background:#faed78!important;color:#111!important;border-color:rgba(47,33,24,.14)!important}
.ie-box{border-radius:20px!important;border:1px solid rgba(47,33,24,.14)!important}.ie-box.inc{background:#fff!important}.ie-box.exc{background:#faed78!important}.ie-box .ie-title,.ie-box .ie-list li,.ie-box :is(.fa-check,.fa-circle-check,.fa-times,.fa-circle-xmark){color:#111!important}
/* Destination detail season and utility cards */
.zone-card,.cons-card,.wm-card,.rel-card{background:#fff!important;border:1px solid rgba(47,33,24,.14)!important;border-radius:22px!important;box-shadow:0 10px 28px rgba(47,33,24,.07)!important}.zone-card:hover,.cons-card:hover,.wm-card:hover,.rel-card:hover{box-shadow:0 18px 42px rgba(47,33,24,.12)!important;transform:translateY(-4px)!important}.prac-card,.pred-card,.intro-fact-card{background:#2f2118!important;color:#fff!important;border-radius:22px!important}.prac-card :is(h1,h2,h3,h4,p,li,span),.pred-card :is(h1,h2,h3,h4,p,li,span),.intro-fact-card :is(h1,h2,h3,h4,p,li,span){color:#fff!important}
.season-panel{border-radius:22px!important;border:1px solid rgba(47,33,24,.16)!important;box-shadow:none!important}.season-panel.peak,.season-panel.fair{background:#faed78!important}.season-panel.good,.season-panel.wet{background:#fff!important}.season-panel .sp-badge{background:#2f2118!important;color:#fff!important}.season-panel :is(.sp-months,.sp-title,.sp-items li){color:#111!important}.season-panel .sp-items i{color:#2f2118!important}
@media(max-width:768px){.acc-img-wrap{min-height:250px!important}.ie-grid,.season-panels{grid-template-columns:1fr!important}}

/* Long-form guide comparison cards */
.te-sum-card,.te-month-card,.te-route-card,.te-park-card,.te-beach-card{background:#fff!important;border:1px solid rgba(47,33,24,.14)!important;border-radius:22px!important;box-shadow:0 10px 28px rgba(47,33,24,.07)!important;overflow:hidden!important}.te-sum-card:hover,.te-month-card:hover,.te-route-card:hover,.te-park-card:hover,.te-beach-card:hover{box-shadow:0 18px 42px rgba(47,33,24,.12)!important;transform:translateY(-3px)!important}
.te-month-card__head,.te-route-card__head,.te-park-card__head,.te-beach-card__head{background:#faed78!important;color:#111!important;border-color:rgba(47,33,24,.14)!important}.te-month-card__icon,.te-sum-card__icon{background:#2f2118!important;color:#fff!important}.te-month-card__name,.te-month-card__season,.te-month-card__row-label,.te-month-card__row-val,.te-month-card [class*="row-val--"],.te-route-card :is(h3,h4,p,span),.te-park-card :is(h3,h4,p,span),.te-beach-card :is(h3,h4,p,span),.te-sum-card :is(h3,h4,p,span){color:#111!important}.te-month-card__row{border-color:rgba(47,33,24,.12)!important}.te-month-card [style*="color:"]{color:#111!important}
@media(max-width:768px){.te-month-grid,.te-summary{grid-template-columns:1fr!important}.te-month-card,.te-route-card,.te-park-card,.te-beach-card{min-height:0!important}}

/* Remove legacy WhatsApp green from visible CTA backgrounds */
.btn-hero-wa,a[href*="wa.me"].btn-hero,.whatsapp-btn,.btn-whatsapp,.floating-whatsapp,.whatsapp-float{background:#2f2118!important;color:#fff!important;border-color:#2f2118!important}
.btn-hero-wa:hover,a[href*="wa.me"].btn-hero:hover,.whatsapp-btn:hover,.btn-whatsapp:hover,.floating-whatsapp:hover,.whatsapp-float:hover{background:#faed78!important;color:#111!important;border-color:#faed78!important}

/* Narrow mobile header and homepage hero fit */
@media(max-width:480px){.ht-header__container{padding-left:10px!important;padding-right:10px!important;gap:8px!important}.ht-logo picture img,.ht-logo img{width:112px!important;max-width:112px!important;height:auto!important}.ht-actions{gap:6px!important;min-width:0!important;flex-shrink:1!important}.ht-mobile-flags__trigger{width:38px!important;height:38px!important;padding:4px!important;justify-content:center!important}.ht-mobile-flags__code,.ht-mobile-flags__chevron{display:none!important}.ht-mobile-toggle{display:flex!important;width:40px!important;height:40px!important;min-width:40px!important;flex:0 0 40px!important}.header-video .ht-container{max-width:100%!important;padding-left:14px!important;padding-right:14px!important}.header-video .hero-pill{max-width:calc(100vw - 28px)!important;white-space:normal!important;text-align:center!important;line-height:1.45!important;padding:12px 18px!important}.header-video .hero-h1{width:100%!important;max-width:calc(100vw - 28px)!important;font-size:clamp(2rem,9vw,2.45rem)!important;line-height:1.05!important;letter-spacing:-.02em!important;white-space:normal!important;overflow-wrap:normal!important;word-break:normal!important;text-align:center!important}.header-video .hero-badges{max-width:calc(100vw - 28px)!important;justify-content:center!important}.header-video .hero-ctas{max-width:calc(100vw - 28px)!important;display:grid!important;grid-template-columns:1fr!important;gap:10px!important}.header-video .btn-hero{width:100%!important;justify-content:center!important}}

/* Mobile drawer brand readability */
.ht-mobile-menu__header .ht-logo{background:#fff!important;border-radius:14px!important;padding:8px 12px!important;transform:none!important;box-shadow:none!important}
.ht-mobile-menu__header .ht-logo img{display:block!important;max-width:126px!important;height:auto!important}

/* Safari package grids: approved reference layout */
.packages-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:22px!important;align-items:stretch!important}
.package-card__img img{width:100%!important;height:100%!important;object-fit:cover!important;display:block!important}
.package-card__body{position:absolute!important;inset:0!important;display:flex!important;flex-direction:column!important;justify-content:flex-end!important;align-items:flex-start!important;padding:24px!important}
.package-card__title{margin:0 0 14px!important;font-size:1.25rem!important;line-height:1.15!important;max-width:92%!important}
.package-card a.btn,.package-card .btn{width:auto!important;min-width:130px!important;align-self:flex-start!important;padding:11px 18px!important;justify-content:center!important}
@media(max-width:1024px){.packages-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:768px){.packages-grid{grid-template-columns:1fr!important}.package-card,.package-card__body{min-height:470px!important}}

/* All hero descriptions removed, title remains */
.hero-sub,.hero__sub,.hero__desc,.te-hero__sub,.sng-hero-sub,.journal-hero__sub,.ct-hero-sub,.page-hero__desc,.faq-hero__sub,.gb-hero__sub,.pp-hero__sub,.sc-hero__sub,.sc-hero__desc,.tc-hero__sub,.ht-hero__sub,.ty-hero__sub,.dest-hero__sub{display:none!important}
/* Newsletter readability */
.newsletter-strip,.newsletter-bar,.newsletter-box{background:#2f2118!important;color:#fff!important}
.newsletter-strip :is(h1,h2,h3,h4,p,label,span),.newsletter-bar :is(h1,h2,h3,h4,p,label,span),.newsletter-box :is(h1,h2,h3,h4,p,label,span){color:#fff!important}
.newsletter-strip input,.newsletter-bar input,.newsletter-box input{background:#fff!important;color:#111!important;border-color:rgba(255,255,255,.22)!important}
.newsletter-strip button,.newsletter-strip__submit,.newsletter-bar button,.newsletter-box button{background:#faed78!important;color:#111!important;border-color:#faed78!important}

/* Final Phase 1 legacy-template cleanup */
.dest-hero-tagline{display:none!important}
.season-card,.season-card.good,.season-card.fair,.season-card.wet{background:#fff!important;color:#111!important;border-color:rgba(47,33,24,.16)!important}
.season-card.peak{background:#faed78!important;color:#111!important;border-color:#faed78!important}
.season-card :is(.season-m,.season-badge,.season-text){color:#111!important}
.list_articles .icon-ok-circled,.list_articles .icon-cancel-circled{color:#2f2118!important}

/* Phase 1 language selector and homepage tour refinements 20260926 */
.ht-lang__toggle{min-height:46px!important;padding:7px 13px 7px 8px!important;background:#593a03!important;color:#fff!important;border:1px solid #9c762c!important;border-radius:999px!important;gap:9px!important;box-shadow:0 8px 22px rgba(89,58,3,.16)!important}
.ht-lang__toggle:hover,.ht-lang__toggle.active{background:#9c762c!important;color:#fff!important;border-color:#9c762c!important;transform:translateY(-1px)!important}
.ht-lang__flag{width:28px!important;height:28px!important;border-radius:50%!important;border:2px solid rgba(255,255,255,.9)!important;box-shadow:0 0 0 2px rgba(156,118,44,.28)!important}
.ht-lang__code{color:#fff!important;font-weight:800!important;letter-spacing:.08em!important}
.ht-lang__chevron{color:#9c762c!important;font-size:.6rem!important}.ht-lang__toggle:hover .ht-lang__chevron,.ht-lang__toggle.active .ht-lang__chevron{color:#fff!important}
.ht-lang__dropdown{width:390px!important;max-height:520px!important;background:#fff!important;border:1px solid rgba(156,118,44,.42)!important;border-radius:22px!important;box-shadow:0 24px 70px rgba(89,58,3,.22)!important;overflow-x:hidden!important}
.ht-lang__dropdown::before{height:4px!important;left:0!important;right:0!important;background:#9c762c!important;border-radius:22px 22px 0 0!important}
.ht-lang__search{position:sticky!important;top:0!important;padding:16px!important;background:#593a03!important;border-radius:20px 20px 0 0!important;z-index:4!important}
.ht-lang__search::before{content:"\f002";font-family:"Font Awesome 6 Free";font-weight:900;position:absolute;left:29px;top:50%;transform:translateY(-50%);color:#9c762c;z-index:2}
.ht-lang__search input{height:44px!important;padding:0 14px 0 40px!important;background:#fff!important;color:#111!important;border:1px solid #9c762c!important;border-radius:12px!important;font-weight:600!important}
.ht-lang__search input:focus{background:#fff!important;border-color:#9c762c!important;box-shadow:0 0 0 3px rgba(156,118,44,.22)!important}
.ht-lang__cat-label{padding:14px 16px 7px!important;color:#593a03!important;font-size:.66rem!important;letter-spacing:.14em!important}
.ht-lang__cat-label i{color:#9c762c!important}.ht-lang__cat-label::after{background:linear-gradient(90deg,rgba(156,118,44,.55),transparent)!important}
.ht-lang__list{padding:0 10px 8px!important;gap:3px!important}
.ht-lang__option{min-height:52px!important;padding:7px 9px!important;border:1px solid transparent!important;border-radius:12px!important;color:#111!important;background:#fff!important}
.ht-lang__option:hover{background:rgba(156,118,44,.10)!important;border-color:rgba(156,118,44,.28)!important;color:#593a03!important;transform:translateX(2px)!important}
.ht-lang__option.active{background:#593a03!important;color:#fff!important;border-color:#593a03!important}
.ht-lang__option.active .ht-lang__option-name,.ht-lang__option.active .ht-lang__option-native{color:#fff!important}
.ht-lang__option.active::after{content:"\f00c";font-family:"Font Awesome 6 Free";font-weight:900;color:#9c762c;font-size:.75rem;margin-left:auto}
.ht-lang__option img{width:30px!important;height:30px!important;border-radius:8px!important;border:1px solid rgba(156,118,44,.35)!important}.ht-lang__option.active img{border-color:#9c762c!important}
.ht-lang__option-name{color:#111!important;font-weight:800!important}.ht-lang__option-native{color:#555!important;font-size:.69rem!important}.ht-lang__dropdown::-webkit-scrollbar-thumb{background:#9c762c!important}
.ht-mobile-flags__trigger{background:#593a03!important;color:#fff!important;border:1px solid #9c762c!important;border-radius:999px!important}.ht-mobile-flags__trigger:hover,.ht-mobile-flags__trigger.active{background:#9c762c!important;color:#fff!important}
.ht-mobile-flags__code,.ht-mobile-flags__chevron{color:#fff!important}.ht-mobile-flags__flag{border:2px solid #fff!important}
.ht-mobile-flags__panel{background:#fff!important;border:1px solid rgba(156,118,44,.42)!important;border-radius:20px!important;box-shadow:0 22px 60px rgba(89,58,3,.22)!important}
.ht-drawer-lang-btn{background:#fff!important;color:#111!important;border:1px solid transparent!important}.ht-drawer-lang-btn:hover{background:rgba(156,118,44,.10)!important;border-color:rgba(156,118,44,.26)!important}.ht-drawer-lang-btn.active{background:#593a03!important;border-color:#593a03!important}
.ht-drawer-lang-btn.active .ht-drawer-lang-btn__name,.ht-drawer-lang-btn.active .ht-drawer-lang-btn__native{color:#fff!important}.ht-drawer-lang-btn__check{color:#9c762c!important}
.tours-section .ht-tour-card-title,.tours-section .ht-tour-card-title a{color:#fff!important;text-shadow:0 2px 16px rgba(0,0,0,.58)!important}
.tours-section .swiper-pagination,.tours-section .swiper-pagination-bullets{display:none!important}
.tours-section .ht-tour-btn{background:#593a03!important;color:#fff!important;border:1px solid #9c762c!important}.tours-section .ht-tour-btn:hover{background:#9c762c!important;color:#fff!important}
@media(max-width:520px){.ht-lang__dropdown{width:min(92vw,360px)!important;right:-8px!important}.ht-lang__search{padding:13px!important}.ht-lang__search::before{left:26px!important}}


/* === assets/css/haven-header-rescue.css === */
/* Haven Trails English root header rescue - 2026-09-29 */
:root{--ht-brown:#593a03;--ht-khaki:#9c762c;--ht-white:#fff;--ht-black:#111}
.hvnhdr-header__inner{width:min(1240px,calc(100% - 32px))!important}
.hvnhdr-logo{width:160px!important;height:52px!important;padding-right:12px!important;display:flex!important;align-items:center!important}
.hvnhdr-logo picture,.hvnhdr-logo img{width:160px!important;height:50px!important;display:block!important;object-fit:contain!important}
.hvnhdr-header-cta,.hvnhdr-header-cta:visited,.hvnhdr-header-cta span,.hvnhdr-header-cta i{color:#fff!important}
.hvnhdr-header-cta{background:var(--ht-brown)!important}
.hvnhdr-header-cta:hover,.hvnhdr-header-cta:focus-visible{background:#452d02!important;color:#fff!important}
.hvnhdr-search-result-url{display:none!important}
.hvnhdr-search-shell{width:min(760px,calc(100vw - 40px))!important;max-height:82dvh!important;border-radius:20px!important}
.hvnhdr-search-head{background:#fff!important;color:var(--ht-black)!important;padding:18px 20px 14px!important;border-bottom:1px solid rgba(89,58,3,.09)!important}
.hvnhdr-search-headrow h2{color:var(--ht-brown)!important;font-size:20px!important}
.hvnhdr-search-close{background:#fff!important;color:var(--ht-brown)!important;border:1px solid rgba(89,58,3,.16)!important}
.hvnhdr-search-box{border:1px solid rgba(89,58,3,.15)!important;box-shadow:0 0 0 3px rgba(156,118,44,.07)!important}
.hvnhdr-search-body{max-height:62dvh!important;overflow:auto!important}
/* Currency dropdown: real flags + compact readable layout */
#currencyMenu,.hvnhdr-currency-menu{width:300px!important;min-width:300px!important;max-width:min(300px,calc(100vw - 24px))!important;padding:8px!important;display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:6px!important;background:#fff!important;border:1px solid rgba(89,58,3,.10)!important;border-radius:0 0 16px 16px!important;box-shadow:0 18px 44px rgba(17,17,17,.16)!important;max-height:420px!important;overflow-y:auto!important}
#currencyMenu .hvnhdr-currency-option{min-height:46px!important;padding:6px 8px!important;display:flex!important;align-items:center!important;gap:8px!important;border:1px solid transparent!important;border-radius:10px!important;background:#fff!important;color:#111!important}
#currencyMenu .hvnhdr-currency-option:hover,#currencyMenu .hvnhdr-currency-option.active{background:rgba(250,237,120,.25)!important;border-color:rgba(89,58,3,.09)!important}
.hvnhdr-currency-flag{width:25px!important;height:18px!important;flex:0 0 25px!important;object-fit:cover!important;border-radius:4px!important;box-shadow:0 0 0 1px rgba(0,0,0,.08)!important}
#currencyMenu .hvnhdr-currency-code{min-width:31px!important;font-size:11px!important;font-weight:900!important;color:#111!important}
#currencyMenu .hvnhdr-currency-sign{font-size:11px!important;color:var(--ht-brown)!important}
#currencyMenu .hvnhdr-currency-check{margin-left:auto!important;font-size:8px!important;color:var(--ht-brown)!important}
.hvnhdr-currency-btn .hvnhdr-current-currency-flag{width:20px!important;height:14px!important;object-fit:cover!important;border-radius:3px!important;box-shadow:0 0 0 1px rgba(255,255,255,.22)!important}
/* Mobile controls */
@media(max-width:1220px){
 .hvnhdr-header__inner{width:calc(100% - 20px)!important}
 .hvnhdr-logo{width:150px!important;height:48px!important;padding-right:0!important}
 .hvnhdr-logo picture,.hvnhdr-logo img{width:150px!important;height:46px!important}
 .hvnhdr-mobile-tools{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;gap:8px!important;width:100%!important;margin-bottom:12px!important}
 .hvnhdr-mobile-tool{width:100%!important;min-width:0!important;min-height:46px!important;padding:7px 9px!important;border:1px solid rgba(89,58,3,.10)!important;border-radius:11px!important;background:#fff!important;color:#111!important;box-shadow:0 4px 12px rgba(17,17,17,.04)!important}
 .hvnhdr-mobile-tool small{color:rgba(17,17,17,.52)!important}
 .hvnhdr-mobile-tool strong{color:#111!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
 .hvnhdr-mobile-tool i{color:var(--ht-brown)!important}
 #mobileCurrencyChoices{display:grid!important;grid-template-columns:1fr 1fr!important;gap:5px!important;padding:7px!important}
 #mobileCurrencyChoices .hvnhdr-mobile-choice{min-height:44px!important;padding:6px 7px!important;display:flex!important;align-items:center!important;gap:7px!important;background:#fff!important;border:1px solid rgba(89,58,3,.08)!important;border-radius:9px!important}
 #mobileCurrencyChoices .hvnhdr-currency-flag{width:24px!important;height:17px!important;flex-basis:24px!important}
}
@media(max-width:720px){
 .hvnhdr-site-search{padding:6vh 14px!important;display:flex!important;align-items:flex-start!important;justify-content:center!important}
 .hvnhdr-site-search.active{display:flex!important}
 .hvnhdr-search-shell{width:min(94vw,500px)!important;min-height:0!important;max-height:88dvh!important;margin:auto!important;border-radius:18px!important;overflow:hidden!important;box-shadow:0 22px 60px rgba(0,0,0,.26)!important}
 .hvnhdr-search-head{padding:12px 12px 10px!important}
 .hvnhdr-search-headrow{margin-bottom:8px!important;justify-content:flex-end!important}
 .hvnhdr-search-headrow h2{display:none!important}
 .hvnhdr-search-close{width:34px!important;height:34px!important}
 .hvnhdr-search-box{min-height:48px!important;border-radius:12px!important;padding:0 12px!important}
 .hvnhdr-search-box input{padding:13px 0!important;font-size:15px!important}
 .hvnhdr-search-body{padding:10px 12px 14px!important;max-height:62dvh!important}
 .hvnhdr-search-status{display:none!important}
 .hvnhdr-search-chips{padding-bottom:8px!important}
 .hvnhdr-search-chip{padding:7px 10px!important;font-size:11px!important}
 .hvnhdr-search-result{padding:10px!important;border-radius:12px!important}
 .hvnhdr-search-result-icon{width:38px!important;height:38px!important;min-width:38px!important;border-radius:10px!important}
}
/* Language and mobile dropdown polish */
@media(min-width:1221px){
 #langMenu,.hvnhdr-lang__dropdown{width:420px!important;max-width:min(420px,calc(100vw - 24px))!important;max-height:520px!important;padding:10px!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:5px!important;background:#fff!important;border:1px solid rgba(89,58,3,.10)!important;border-radius:0 0 16px 16px!important;box-shadow:0 18px 44px rgba(17,17,17,.16)!important}
 #langMenu .hvnhdr-lang__cat{grid-column:1/-1!important;margin:4px 0 2px!important;padding:8px 8px 6px!important;background:#fff!important;color:var(--ht-brown)!important}
 #langMenu .hvnhdr-lang__option{min-height:46px!important;padding:7px 8px!important;border-radius:10px!important;background:#fff!important;border:1px solid transparent!important}
 #langMenu .hvnhdr-lang__option:hover,#langMenu .hvnhdr-lang__option.active{background:rgba(250,237,120,.24)!important;border-color:rgba(89,58,3,.08)!important}
}
#mobileLangPanel,#mobileCurrencyPanel{margin-top:5px!important;border:1px solid rgba(89,58,3,.10)!important;border-radius:12px!important;background:#fff!important;box-shadow:0 10px 24px rgba(17,17,17,.08)!important;overflow:hidden!important}
#mobileLangChoices,#mobileCurrencyChoices{max-height:54vh!important;overflow-y:auto!important;background:#fff!important}

/* Final requested header layout 2026-09-29 */
.hvnhdr-currency-btn .hvnhdr-current-currency-flag,#mobileCurrencyBtn .hvnhdr-current-currency-flag{display:none!important}
@media(min-width:1221px){
 #currencyMenu,.hvnhdr-currency-menu{width:220px!important;min-width:220px!important;max-width:220px!important;grid-template-columns:1fr!important;gap:4px!important}
 #langMenu,.hvnhdr-lang__dropdown{width:310px!important;min-width:310px!important;max-width:min(310px,calc(100vw - 24px))!important;grid-template-columns:1fr!important;gap:4px!important}
 #langMenu .hvnhdr-lang__cat{grid-column:1!important}
}
.hvnhdr-search-result-excerpt{display:block;margin-top:5px;color:#605a52;font-size:12px;line-height:1.45}
.hvnhdr-mobile-home{display:flex;align-items:center;gap:10px;min-height:48px;padding:0 13px;margin-bottom:6px;border:1px solid rgba(89,58,3,.08);border-radius:11px;background:#fff;color:#593a03;font-weight:850;text-decoration:none}
.hvnhdr-mobile-home i{width:20px;text-align:center;color:#9c762c}
@media(max-width:1220px){
 .hvnhdr-mobile-body{padding-top:18px!important}
 .hvnhdr-mobile-tools{margin-top:10px!important;margin-bottom:14px!important}
 #mobileCurrencyChoices,#mobileLangChoices{display:grid!important;grid-template-columns:1fr!important;gap:4px!important;padding:7px!important}
 #mobileCurrencyChoices .hvnhdr-mobile-choice,#mobileLangChoices .hvnhdr-mobile-choice{width:100%!important}
}
@media(max-width:720px){
 .hvnhdr-site-search{padding:5vh 12px!important;align-items:center!important}
 .hvnhdr-search-shell{width:min(94vw,500px)!important;min-height:74dvh!important;height:82dvh!important;max-height:90dvh!important;display:flex!important;flex-direction:column!important}
 .hvnhdr-search-head{flex:0 0 auto!important}
 .hvnhdr-search-body{flex:1 1 auto!important;min-height:0!important;max-height:none!important;overflow-y:auto!important;padding-bottom:18px!important}
 .hvnhdr-search-results{padding-bottom:8px!important}
}


/* === assets/css/haven-root-parity.css === */
/* Haven Trails English root parity layer - based on clean translated-site treatment */
:root{--htp-brown:#593a03;--htp-khaki:#9c762c;--htp-black:#111;--htp-white:#fff;--htp-border:#eee7da;--htp-soft:#faf8f3;--htp-shadow:0 5px 22px rgba(17,17,17,.07)}
#has-smooth-wrap{color:var(--htp-black)}
#has-smooth-wrap .ht-root-force-light{background:var(--htp-white)!important;background-image:none!important;color:var(--htp-black)!important;border-color:var(--htp-border)!important}
#has-smooth-wrap .ht-root-force-light h1,#has-smooth-wrap .ht-root-force-light h2,#has-smooth-wrap .ht-root-force-light h3,#has-smooth-wrap .ht-root-force-light h4,#has-smooth-wrap .ht-root-force-light h5,#has-smooth-wrap .ht-root-force-light h6{color:var(--htp-brown)!important}
#has-smooth-wrap .ht-root-force-light p,#has-smooth-wrap .ht-root-force-light li,#has-smooth-wrap .ht-root-force-light span:not(.badge):not([class*="tag"]){color:var(--htp-black)!important}
/* Card parity */
#has-smooth-wrap :is(.ht-tour-card,.blog-card,.article-card,.dest-card,.package-card,.safari-card,.park-card,.rel-card,.exp-card,.experience-card-v2,.review-card,.acc-card,.faq-card,.pillar-card,.bestfor-card){background:#fff!important;border:1px solid var(--htp-border)!important;border-radius:18px!important;box-shadow:var(--htp-shadow)!important;color:var(--htp-black)!important;overflow:hidden}
#has-smooth-wrap :is(.ht-tour-card,.blog-card,.article-card,.dest-card,.package-card,.safari-card,.park-card,.rel-card,.exp-card,.experience-card-v2,.review-card,.acc-card):hover{transform:translateY(-4px);box-shadow:0 14px 38px rgba(17,17,17,.11)!important}
#has-smooth-wrap :is(.ht-tour-card-title,.blog-card-body h3,.blog-card-body h4,.article-card__title,.dest-card__name,.package-card__title,.safari-card__title,.park-card__name,.rel-card h3,.acc-card-name){color:var(--htp-brown)!important}
#has-smooth-wrap :is(.ht-tour-card-body,.blog-card-body,.article-card__body,.dest-card__body,.package-card__body,.safari-card__body,.park-card__body,.acc-card-body) p{color:#252525!important}
#has-smooth-wrap :is(.ht-tour-card,.blog-card,.article-card,.dest-card,.package-card,.park-card) img{width:100%;object-fit:cover}
/* Sidebar parity */
#has-smooth-wrap :is(aside,[class*="sidebar"],[class*="side-bar"],[class*="sticky-side"],[class*="booking-side"]){background:#fff!important;color:var(--htp-black)!important;border:1px solid var(--htp-border)!important;border-radius:16px!important;box-shadow:var(--htp-shadow)!important}
#has-smooth-wrap :is(aside,[class*="sidebar"],[class*="side-bar"],[class*="sticky-side"],[class*="booking-side"]) h2,#has-smooth-wrap :is(aside,[class*="sidebar"],[class*="side-bar"],[class*="sticky-side"],[class*="booking-side"]) h3,#has-smooth-wrap :is(aside,[class*="sidebar"],[class*="side-bar"],[class*="sticky-side"],[class*="booking-side"]) h4{color:var(--htp-brown)!important}
#has-smooth-wrap :is(aside,[class*="sidebar"],[class*="side-bar"],[class*="sticky-side"],[class*="booking-side"]) p,#has-smooth-wrap :is(aside,[class*="sidebar"],[class*="side-bar"],[class*="sticky-side"],[class*="booking-side"]) li{color:var(--htp-black)!important}
/* Homepage card reset to translated-site proportions */
.ht-homepage .ht-tour-card{background:#fff!important;border-radius:18px!important;box-shadow:0 4px 24px rgba(0,0,0,.08)!important;overflow:hidden!important}
.ht-homepage .ht-tour-card img{height:210px!important;object-fit:cover!important}
.ht-homepage .ht-tour-card-body{padding:20px 22px 22px!important}
.ht-homepage .ht-tour-card-title,.ht-homepage .ht-tour-card-title a{color:#593a03!important;font-size:1.05rem!important;line-height:1.35!important}
.ht-homepage .blog-card{background:#fff!important;border:1px solid #f0ece3!important;border-radius:18px!important;box-shadow:0 4px 20px rgba(0,0,0,.07)!important}
.ht-homepage .blog-card img{height:195px!important;object-fit:cover!important}
.ht-homepage .blog-card-body{padding:20px!important}
.ht-homepage .blog-card-body h3,.ht-homepage .blog-card-body h4,.ht-homepage .blog-card-body h3 a,.ht-homepage .blog-card-body h4 a{color:#593a03!important;font-size:1rem!important;line-height:1.4!important}
.ht-homepage .blog-card-body p{color:#252525!important;font-size:.88rem!important;line-height:1.65!important}
@media(max-width:720px){#has-smooth-wrap :is(.dest-card,.article-card,.blog-card,.ht-tour-card,.package-card){border-radius:15px!important}}
/* Tour-page sidebar: white treatment */
#has-smooth-wrap .sb{background:transparent!important;border:0!important;box-shadow:none!important;border-radius:0!important}
#has-smooth-wrap .sb .bkc,#has-smooth-wrap .sb .ic{background:#fff!important;background-image:none!important;border:1px solid var(--htp-border)!important;border-radius:16px!important;box-shadow:var(--htp-shadow)!important;color:#111!important}
#has-smooth-wrap .sb .bkct,#has-smooth-wrap .sb .ict{color:var(--htp-brown)!important}
#has-smooth-wrap .sb :is(.bkcs,.pfr,.ppp,.pn,.ik,.iv,.rsc,.rbl,.orl,.bkf li){color:#111!important}
#has-smooth-wrap .sb .ir{border-bottom-color:#eee7da!important}
#has-smooth-wrap .sb .pv{color:var(--htp-brown)!important}
#has-smooth-wrap .sb .orl{border-color:#eee7da!important;background:#fff!important}
/* Beat old English-only homepage card overrides */
#has-smooth-wrap .ht-homepage .tour-showcase-section .ht-tour-card-title,#has-smooth-wrap .ht-homepage .tour-showcase-section .ht-tour-card-title a,#has-smooth-wrap .ht-homepage .tours-section .ht-tour-card-title,#has-smooth-wrap .ht-homepage .tours-section .ht-tour-card-title a{color:var(--htp-brown)!important}
#has-smooth-wrap .ht-homepage .tour-showcase-section .ht-tour-from-price,#has-smooth-wrap .ht-homepage .tours-section .ht-tour-from-price{color:var(--htp-brown)!important;background:transparent!important}
#has-smooth-wrap .ht-homepage .tour-showcase-section .ht-tour-from-price span,#has-smooth-wrap .ht-homepage .tour-showcase-section .ht-tour-from-price small,#has-smooth-wrap .ht-homepage .tours-section .ht-tour-from-price span,#has-smooth-wrap .ht-homepage .tours-section .ht-tour-from-price small{color:#5f5a52!important;opacity:1!important}
#has-smooth-wrap .ht-homepage .tour-showcase-section .ht-tour-from-price strong,#has-smooth-wrap .ht-homepage .tours-section .ht-tour-from-price strong{color:var(--htp-brown)!important}
#has-smooth-wrap .ht-homepage .blog-card{border-radius:18px!important;box-shadow:0 4px 20px rgba(0,0,0,.07)!important}
#has-smooth-wrap .ht-homepage .blog-card img{height:195px!important}
#has-smooth-wrap .ht-homepage .blog-card-body{padding:20px!important}
#has-smooth-wrap .ht-homepage .blog-card-body p{color:#252525!important;font-size:.88rem!important;line-height:1.65!important}
#has-smooth-wrap .ht-root-force-light div:not([class*="btn"]):not([class*="badge"]):not([class*="tag"]):not([class*="icon"]){color:var(--htp-black)!important}
#has-smooth-wrap .ht-root-force-light :is(h1,h2,h3,h4,h5,h6,[class*="title"],[class*="heading"]){color:var(--htp-brown)!important}
/* Final English root visual fixes - 2026-09-29 */
#has-smooth-wrap .ht-tour-card{position:relative!important;min-height:390px!important;background:#2d1b03!important;overflow:hidden!important;border-radius:18px!important;border:0!important;box-shadow:0 10px 28px rgba(0,0,0,.16)!important}
#has-smooth-wrap .ht-tour-card>img{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;min-height:100%!important;object-fit:cover!important;object-position:center!important;z-index:0!important;display:block!important}
#has-smooth-wrap .ht-tour-card:before{content:""!important;position:absolute!important;inset:0!important;z-index:1!important;background:linear-gradient(180deg,rgba(20,12,2,.04) 22%,rgba(35,21,2,.30) 52%,rgba(35,21,2,.92) 100%)!important;pointer-events:none!important}
#has-smooth-wrap .ht-tour-card-body{position:relative!important;z-index:2!important;min-height:390px!important;height:100%!important;padding:24px!important;display:flex!important;flex-direction:column!important;justify-content:flex-end!important;background:transparent!important;color:#fff!important}
#has-smooth-wrap .ht-tour-card-cat{color:#fff!important;opacity:.88!important}
#has-smooth-wrap .ht-tour-card-title,#has-smooth-wrap .ht-tour-card-title a{color:#faed78!important;text-shadow:0 2px 12px rgba(0,0,0,.32)!important}
#has-smooth-wrap .ht-tour-card-footer{border-top:1px solid rgba(255,255,255,.22)!important}
#has-smooth-wrap .ht-tour-from-price,#has-smooth-wrap .ht-tour-from-price span,#has-smooth-wrap .ht-tour-from-price strong,#has-smooth-wrap .ht-tour-from-price small{color:#fff!important}
#has-smooth-wrap .ht-tour-btn{background:#faed78!important;color:#593a03!important;border-color:#faed78!important}
#has-smooth-wrap .ht-tour-btn:hover{background:#fff!important;color:#593a03!important}
.ht-homepage .swiper-groups .swiper-pagination,.ht-homepage .gd-swiper-wrap .swiper-pagination{display:none!important}
.ht-homepage .gd-swiper-wrap .swiper{padding-bottom:0!important}
#has-smooth-wrap .review-imgs{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important;overflow:visible!important}
#has-smooth-wrap .review-imgs img{width:100%!important;height:180px!important;object-fit:contain!important;object-position:center!important;background:#f5efe4!important;display:block!important;opacity:1!important;visibility:visible!important}
#has-smooth-wrap .sb .bfo,#has-smooth-wrap .sb .bfo:visited{background:#593a03!important;color:#fff!important;border:1px solid #593a03!important}
#has-smooth-wrap .sb .bfo i{color:#25D366!important}
#has-smooth-wrap .sb .bfo:hover{background:#452d02!important;color:#fff!important;border-color:#452d02!important}
.ht-inline-fa-icon{display:inline-block;margin:0 .14em;color:inherit;font-size:.9em;line-height:1}
@media(max-width:720px){#has-smooth-wrap .ht-tour-card,#has-smooth-wrap .ht-tour-card-body{min-height:350px!important}#has-smooth-wrap .review-imgs img{height:160px!important}}

/* Pricing tables and inclusion icons - final English root repair */
.ht-pricing-table-wrap{width:100%;margin:24px 0 30px;background:#fff;border:1px solid #e7dcc9;border-radius:16px;box-shadow:0 8px 26px rgba(89,58,3,.08);overflow-x:auto;-webkit-overflow-scrolling:touch}
#has-smooth-wrap table.ht-pricing-table{display:table!important;width:100%!important;min-width:600px!important;margin:0!important;border-collapse:separate!important;border-spacing:0!important;background:#fff!important;border:0!important;border-radius:0!important;box-shadow:none!important;color:#111!important}
#has-smooth-wrap table.ht-pricing-table thead,#has-smooth-wrap table.ht-pricing-table thead tr{background:#593a03!important}
#has-smooth-wrap table.ht-pricing-table th{padding:15px 17px!important;background:#593a03!important;color:#fff!important;border:0!important;border-right:1px solid rgba(255,255,255,.12)!important;font-size:12px!important;font-weight:800!important;letter-spacing:.035em!important;text-align:left!important;vertical-align:middle!important}
#has-smooth-wrap table.ht-pricing-table th:last-child{border-right:0!important}
#has-smooth-wrap table.ht-pricing-table td{padding:14px 17px!important;background:#fff!important;color:#111!important;border:0!important;border-bottom:1px solid #eee5d6!important;font-size:14px!important;line-height:1.5!important;vertical-align:middle!important}
#has-smooth-wrap table.ht-pricing-table tbody tr:nth-child(even) td{background:#fbf8f2!important}
#has-smooth-wrap table.ht-pricing-table tbody tr:hover td{background:#f7f0e4!important}
#has-smooth-wrap table.ht-pricing-table tbody tr:last-child td{border-bottom:0!important}
#has-smooth-wrap table.ht-pricing-table td:first-child{font-weight:700!important;color:#593a03!important}
#has-smooth-wrap table.ht-pricing-table td:last-child{font-weight:800!important;color:#593a03!important}
#has-smooth-wrap table.ht-pricing-table tfoot td{background:#f5eddf!important;color:#593a03!important;font-weight:800!important;border-top:2px solid #9c762c!important}
#has-smooth-wrap :is(.ie-box,.inclusion-box,.exclusion-box){background:#fff!important;color:#111!important;border-color:#e7dcc9!important}
#has-smooth-wrap :is(.ie-title,.inclusion-title,.exclusion-title){color:#593a03!important;font-weight:800!important}
#has-smooth-wrap :is(.ie-title,.ie-list,.inclusion-list,.exclusion-list) i[class*="fa-"]{font-family:"Font Awesome 6 Free"!important;font-style:normal!important;font-weight:900!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;visibility:visible!important;opacity:1!important}
#has-smooth-wrap .ie-list li{color:#111!important}
#has-smooth-wrap a i.fa-arrow-right,#has-smooth-wrap button i.fa-arrow-right{margin-left:7px!important;font-size:.85em!important}
@media(max-width:720px){.ht-pricing-table-wrap{border-radius:13px;margin:20px 0 26px}#has-smooth-wrap table.ht-pricing-table{min-width:560px!important}#has-smooth-wrap table.ht-pricing-table th,#has-smooth-wrap table.ht-pricing-table td{padding:12px 13px!important}}


/* === root-card-hero-contrast.css === */
/* Haven Trails root card + hero contrast lock | 2026-09-29 */
:root{--ht-contrast-brown:#593a03;--ht-contrast-khaki:#faed78;--ht-contrast-white:#fff;--ht-contrast-black:#111}

/* Currency flag inside GBP dropdown option only */
.hvnhdr-currency-flag{width:22px;height:15px;object-fit:cover;border-radius:3px;flex:0 0 auto;box-shadow:0 0 0 1px rgba(89,58,3,.14)}
#mobileCurrencyChoices .hvnhdr-currency-flag{width:24px;height:16px}

/* Heroes: all readable copy is white with khaki accents */
:where(.hero,.page-hero,.tour-hero,.safari-hero,.zanzibar-hero,.kili-hero,.article-hero,.blog-hero,.activity-hero,.destination-hero,.journal-hero,.ct-hero,.faq-hero,.gb-hero,.header-video,.te-hero,.sng-hero,.dest-hero,.pp-hero,.sc-hero,.ht-hero,.tc-hero,.ty-hero) :where(h1,h2,h3,h4,h5,h6,p,li,span,a,strong,small,i){color:var(--ht-contrast-white)!important}
:where(.hero,.page-hero,.tour-hero,.safari-hero,.zanzibar-hero,.kili-hero,.article-hero,.blog-hero,.activity-hero,.destination-hero,.journal-hero,.ct-hero,.faq-hero,.gb-hero,.header-video,.te-hero,.sng-hero,.dest-hero,.pp-hero,.sc-hero,.ht-hero,.tc-hero,.ty-hero) :where(em,.eyebrow,[class*="eyebrow"],[class*="kicker"],[class*="label"]){color:var(--ht-contrast-khaki)!important}

/* Image led tour and destination cards */
:where(.ht-tour-card,.package-card,.tour-card,.trip-card,.route-card,.gd-card,.dest-card,.destination-card,.park-card,.ht-dest-card) :where(h1,h2,h3,h4,h5,h6,p,li,span,a,strong,small,i){color:var(--ht-contrast-white)!important}
:where(.ht-tour-card,.package-card,.tour-card,.trip-card,.route-card,.gd-card,.dest-card,.destination-card,.park-card,.ht-dest-card) :where([class*="price"],[class*="eyebrow"],[class*="cat"],[class*="label"]){color:var(--ht-contrast-khaki)!important}

/* Legacy safari cards use a dark body so their required white/khaki text remains readable */
.safari-card__body{background:var(--ht-contrast-brown)!important;color:var(--ht-contrast-white)!important}
.safari-card__body :where(h1,h2,h3,h4,h5,h6,p,li,span,a,strong,small,i){color:var(--ht-contrast-white)!important}
.safari-card__body :where(.safari-card__eyebrow,.safari-card__title em,.safari-card__num){color:var(--ht-contrast-khaki)!important}

/* Khaki surfaces always use dark text and icons */
:where(.ht-tour-card-cat,.package-card__badge,.tour-card__badge,.trip-card__badge,.route-card__badge,.safari-card__badge,.dest-card__tag,.dest-card__img-label,.gd-card-type,.pill,.tag,.category-tag,.filter-btn.active,.btn--gold,.btn--primary,.ht-btn--primary,.gd-book-btn,.ht-tour-btn:hover,.dest-card__arrow,.overview-badge,.highlight-tag){background:var(--ht-contrast-khaki)!important;color:var(--ht-contrast-black)!important}
:where(.ht-tour-card-cat,.package-card__badge,.tour-card__badge,.trip-card__badge,.route-card__badge,.safari-card__badge,.dest-card__tag,.dest-card__img-label,.gd-card-type,.pill,.tag,.category-tag,.filter-btn.active,.btn--gold,.btn--primary,.ht-btn--primary,.gd-book-btn,.ht-tour-btn:hover,.dest-card__arrow,.overview-badge,.highlight-tag) :where(span,a,strong,small,i){color:var(--ht-contrast-black)!important}

/* Inline khaki backgrounds must never inherit white text */
[style*="background:#faed78" i],[style*="background: #faed78" i],[style*="background-color:#faed78" i],[style*="background-color: #faed78" i],[style*="background:#9c762c" i],[style*="background: #9c762c" i],[style*="background-color:#9c762c" i],[style*="background-color: #9c762c" i]{color:var(--ht-contrast-black)!important}
[style*="background:#faed78" i] :where(span,a,strong,small,i),[style*="background: #faed78" i] :where(span,a,strong,small,i),[style*="background:#9c762c" i] :where(span,a,strong,small,i),[style*="background: #9c762c" i] :where(span,a,strong,small,i){color:var(--ht-contrast-black)!important}

/* Tour cards that use separate body panels */
:where(.tour-card,.trip-card,.route-card,.gd-card){background:var(--ht-contrast-brown)!important;color:var(--ht-contrast-white)!important}
:where(.tour-card__body,.trip-card__body,.route-card__body){background:var(--ht-contrast-brown)!important;color:var(--ht-contrast-white)!important}
:where(.tour-card__body,.trip-card__body,.route-card__body) :where(h1,h2,h3,h4,h5,h6,p,li,span,a,strong,small,i){color:var(--ht-contrast-white)!important}

/* Group tour cards follow the same contrast language */
.ht-homepage .gd-card,.ht-homepage .gd-card:hover{background:var(--ht-contrast-brown)!important;color:var(--ht-contrast-white)!important}
.ht-homepage .gd-card :where(.gd-card-title,.gd-card-route,.gd-detail,.gd-detail i,.gd-spots,.gd-spots i){color:var(--ht-contrast-white)!important}
.ht-homepage .gd-card :where(.gd-spots,.gd-spots i){color:var(--ht-contrast-khaki)!important}
.ht-homepage .gd-card-bottom{background:var(--ht-contrast-khaki)!important}
.ht-homepage .gd-card-bottom :where(.gd-price,.gd-price span,.gd-deposit){color:var(--ht-contrast-brown)!important}

/* Hero CTAs use khaki when they need a light surface */
:where(.hero,.page-hero,.tour-hero,.safari-hero,.zanzibar-hero,.kili-hero,.article-hero,.blog-hero,.activity-hero,.destination-hero,.journal-hero,.ct-hero,.faq-hero,.gb-hero,.header-video,.te-hero,.sng-hero,.dest-hero,.pp-hero,.sc-hero,.ht-hero,.tc-hero,.ty-hero) :where(.btn-hero,.hero-btns a,.hero-ctas a,.btn--gold,.btn--primary,.ht-btn--primary){background:var(--ht-contrast-khaki)!important;color:var(--ht-contrast-brown)!important;border-color:var(--ht-contrast-khaki)!important}
:where(.hero,.page-hero,.tour-hero,.safari-hero,.zanzibar-hero,.kili-hero,.article-hero,.blog-hero,.activity-hero,.destination-hero,.journal-hero,.ct-hero,.faq-hero,.gb-hero,.header-video,.te-hero,.sng-hero,.dest-hero,.pp-hero,.sc-hero,.ht-hero,.tc-hero,.ty-hero) :where(.btn-hero,.hero-btns a,.hero-ctas a,.btn--gold,.btn--primary,.ht-btn--primary) :where(span,strong,small,i){color:var(--ht-contrast-brown)!important}

/* Final high-specificity lock against older page-level !important rules */
html body [class*="hero"] :is(h1,h2,h3,h4,h5,h6,p,li,span,a,strong,small,i){color:var(--ht-contrast-white)!important}
html body [class*="hero"] :is(em,[class*="eyebrow"],[class*="kicker"],[class*="label"]){color:var(--ht-contrast-khaki)!important}
html body [class*="hero"] :is(.btn-hero,.hero-btns a,.hero-ctas a,.btn--gold,.btn--primary,.ht-btn--primary){background:var(--ht-contrast-khaki)!important;color:var(--ht-contrast-brown)!important;border-color:var(--ht-contrast-khaki)!important}
html body [class*="hero"] :is(.btn-hero,.hero-btns a,.hero-ctas a,.btn--gold,.btn--primary,.ht-btn--primary) :is(span,strong,small,i){color:var(--ht-contrast-brown)!important}

html body .ht-tour-card .ht-tour-card-title,html body .ht-tour-card .ht-tour-card-title a,html body .ht-tour-card .ht-tour-card-footer,html body .ht-tour-card .ht-tour-card-footer div{color:var(--ht-contrast-white)!important}
html body .ht-tour-card .ht-tour-card-cat{background:var(--ht-contrast-khaki)!important;color:var(--ht-contrast-brown)!important}
html body .package-card .package-card__title,html body .package-card .package-card__title a,html body .package-card .package-card__price,html body .package-card .package-card__price span{color:var(--ht-contrast-white)!important}
html body :is(.tour-card,.trip-card,.route-card) :is(h1,h2,h3,h4,h5,h6,p,li,span,a,strong,small,i){color:var(--ht-contrast-white)!important}
html body :is(.tour-card,.trip-card,.route-card) :is(.tour-card__badge,.trip-card__badge,.route-card__badge,.pill,.tag){background:var(--ht-contrast-khaki)!important;color:var(--ht-contrast-brown)!important}

html body .dest-card .dest-card__name,html body .dest-card .dest-card__name a,html body .dest-card .dest-card__link,html body .destination-card :is(h1,h2,h3,h4,p,span,a,strong),html body .park-card .park-card__name{color:var(--ht-contrast-white)!important}
html body .dest-card :is(.dest-card__tag,.dest-card__img-label,.dest-card__arrow){background:var(--ht-contrast-khaki)!important;color:var(--ht-contrast-brown)!important}

html body .ht-homepage .gd-card,html body .ht-homepage .gd-card:hover{background:var(--ht-contrast-brown)!important;color:var(--ht-contrast-white)!important}
html body .ht-homepage .gd-card :is(.gd-card-title,.gd-card-route,.gd-detail,.gd-detail i){color:var(--ht-contrast-white)!important}
html body .ht-homepage .gd-card :is(.gd-spots,.gd-spots i){color:var(--ht-contrast-khaki)!important}
html body .ht-homepage .gd-card .gd-card-type{background:var(--ht-contrast-khaki)!important;color:var(--ht-contrast-brown)!important}
html body .ht-homepage .gd-card .gd-card-bottom{background:var(--ht-contrast-khaki)!important}
html body .ht-homepage .gd-card .gd-card-bottom :is(.gd-price,.gd-price span,.gd-deposit){color:var(--ht-contrast-brown)!important}

/* Absolute final card specificity lock */
html body .ht-tour-card.ht-tour-card .ht-tour-card-title.ht-tour-card-title,
html body .ht-tour-card.ht-tour-card .ht-tour-card-title.ht-tour-card-title a{color:var(--ht-contrast-khaki)!important}
html body .ht-tour-card.ht-tour-card .ht-tour-card-cat.ht-tour-card-cat{background:var(--ht-contrast-khaki)!important;color:var(--ht-contrast-brown)!important}
html body .ht-tour-card.ht-tour-card .ht-tour-from-price.ht-tour-from-price,
html body .ht-tour-card.ht-tour-card .ht-tour-from-price.ht-tour-from-price :is(span,strong,small),
html body .ht-tour-card.ht-tour-card .ht-tour-card-footer.ht-tour-card-footer{color:var(--ht-contrast-white)!important}

html body .dest-card.dest-card .dest-card__name.dest-card__name,
html body .dest-card.dest-card .dest-card__name.dest-card__name a,
html body .dest-card.dest-card .dest-card__link.dest-card__link{color:var(--ht-contrast-white)!important}
html body .dest-card.dest-card .dest-card__tag.dest-card__tag,
html body .dest-card.dest-card .dest-card__img-label.dest-card__img-label,
html body .dest-card.dest-card .dest-card__arrow.dest-card__arrow{background:var(--ht-contrast-khaki)!important;color:var(--ht-contrast-brown)!important}
html body .dest-card.dest-card .dest-card__tag.dest-card__tag :is(span,strong,i),
html body .dest-card.dest-card .dest-card__arrow.dest-card__arrow :is(span,strong,i){color:var(--ht-contrast-brown)!important}

/* Hero copy lock: white body copy, khaki accents, dark text on khaki CTA surfaces */
html body [class*="hero"][class*="hero"][class*="hero"] :is(h1,h2,h3,h4,h5,h6,p,li,span,a,strong,small,i){color:var(--ht-contrast-white)!important}
html body [class*="hero"][class*="hero"][class*="hero"] :is(em,[class*="eyebrow"],[class*="kicker"],[class*="label"]){color:var(--ht-contrast-khaki)!important}
html body [class*="hero"][class*="hero"][class*="hero"] :is(.btn-hero,.hero-btns a,.hero-ctas a,.btn--gold,.btn--primary,.ht-btn--primary){background:var(--ht-contrast-khaki)!important;color:var(--ht-contrast-brown)!important;border-color:var(--ht-contrast-khaki)!important}
html body [class*="hero"][class*="hero"][class*="hero"] :is(.btn-hero,.hero-btns a,.hero-ctas a,.btn--gold,.btn--primary,.ht-btn--primary) :is(span,strong,small,i){color:var(--ht-contrast-brown)!important}


/* === tour-pricing.css === */
.ht-master-pricing{--brown:#593A03;--khaki:#FAED78;--white:#FFFFFF;box-sizing:border-box;width:100%;margin:0 0 34px;color:var(--brown);font-family:Arial,Helvetica,sans-serif;line-height:1.45}
.ht-master-pricing *{box-sizing:border-box}
.ht-master-pricing .htp-eyebrow{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:1px;color:var(--brown);margin-bottom:6px}
.ht-master-pricing .htp-title{text-align:left;color:var(--brown);font-size:clamp(21px,2.3vw,30px);line-height:1.2;font-weight:800;margin:0 0 16px}
.ht-master-pricing .htp-title em{font-style:normal;color:var(--brown)}
.ht-master-pricing .htp-divider{display:none}
.ht-master-pricing .htp-controls{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:16px}
.ht-master-pricing .htp-tier-tabs{display:flex;gap:8px;flex-wrap:wrap}
.ht-master-pricing .htp-tier-tab{display:flex;align-items:center;gap:9px;min-width:145px;padding:10px 13px;border:1px solid var(--brown);border-radius:10px;background:var(--white);color:var(--brown);cursor:pointer;text-align:left;font:inherit}
.ht-master-pricing .htp-tier-tab.is-active,.ht-master-pricing .htp-tier-tab[aria-selected="true"]{background:var(--khaki)}
.ht-master-pricing .htp-tier-tab i{width:29px;height:29px;display:grid;place-items:center;border-radius:50%;background:var(--brown);color:var(--white);font-size:11px;flex:0 0 29px}
.ht-master-pricing .htp-tier-tab strong{display:block;font-size:14px;line-height:1.1}
.ht-master-pricing .htp-tier-tab small{display:block;margin-top:2px;color:var(--brown);font-size:10px;line-height:1.1}
.ht-master-pricing .htp-validity{height:42px;min-width:118px;padding:0 16px;border:1px solid var(--brown);border-radius:9px;background:var(--brown);color:var(--white);font-weight:700;display:flex;align-items:center;justify-content:center;gap:8px}
.ht-master-pricing .htp-season-list{display:grid;gap:12px}
.ht-master-pricing .htp-season-card{background:var(--white);border:1px solid var(--brown);border-radius:17px;box-shadow:0 2px 8px rgba(89,58,3,.06);overflow:hidden}
.ht-master-pricing .htp-season-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:17px 20px 8px}
.ht-master-pricing .htp-season-icon{width:32px;height:32px;display:grid;place-items:center;border-radius:50%;background:var(--khaki);color:var(--brown);font-size:12px;flex:0 0 32px}
.ht-master-pricing .htp-season-name{font-size:17px;font-weight:800;color:var(--brown)}
.ht-master-pricing .htp-season-period{display:inline-flex;align-items:center;gap:6px;padding:5px 9px;border-radius:8px;background:var(--khaki);color:var(--brown);font-size:11px;font-weight:700}
.ht-master-pricing .htp-price-grid{display:grid;grid-template-columns:repeat(6,1fr);padding:6px 12px 15px}
.ht-master-pricing .htp-price-item{padding:11px 12px;min-width:0}
.ht-master-pricing .htp-people{display:block;margin-bottom:4px;color:var(--brown);font-size:12px}
.ht-master-pricing .htp-price{display:block;color:var(--brown);font-size:21px;line-height:1.1;font-weight:800;white-space:nowrap}
.ht-master-pricing .htp-note{margin:11px 0 0;color:var(--brown);font-size:11px;text-align:left}
.ht-master-pricing .htp-mobile-dots{display:none}
.ht-master-pricing .htp-from-card{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:16px 20px 19px;border:1px solid var(--brown);border-radius:17px;box-shadow:0 2px 8px rgba(89,58,3,.06);background:var(--white)}
.ht-master-pricing .htp-from-copy strong{display:block;font-size:13px;font-weight:700;color:var(--brown)}
.ht-master-pricing .htp-from-copy span{display:block;margin-top:3px;color:var(--brown);font-size:11px}
.ht-master-pricing .htp-from-value{display:flex;align-items:baseline;gap:9px}
.ht-master-pricing .htp-from-label{font-size:13px;font-weight:700;color:var(--brown)}
.ht-master-pricing .htp-from-value .htp-price{font-size:24px}
.ht-master-pricing .htp-route-wrap{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
.ht-master-pricing .htp-route-table{width:100%;border-collapse:separate;border-spacing:0;border:1px solid var(--brown);border-radius:17px;overflow:hidden;box-shadow:0 2px 8px rgba(89,58,3,.06);background:var(--white)}
.ht-master-pricing .htp-route-table th,.ht-master-pricing .htp-route-table td{padding:14px;text-align:left;color:var(--brown);white-space:nowrap;background:var(--white)}
.ht-master-pricing .htp-route-table thead th{font-size:12px;font-weight:700;background:var(--khaki)}
.ht-master-pricing .htp-route-table tbody th{font-size:13px;font-weight:800}
.ht-master-pricing .htp-route-table .htp-price{font-size:18px}
.ht-master-pricing .htp-route-table tbody tr+tr th,.ht-master-pricing .htp-route-table tbody tr+tr td{border-top:1px solid rgba(89,58,3,.12)}
@media(max-width:850px){
.ht-master-pricing .htp-controls{align-items:stretch}
.ht-master-pricing .htp-tier-tabs{width:100%}
.ht-master-pricing .htp-validity{margin-left:auto}
.ht-master-pricing .htp-price-grid{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:600px){
.ht-master-pricing{width:100%;margin:0 0 30px;overflow:hidden}
.ht-master-pricing .htp-title{padding:0 15px;font-size:22px;margin-bottom:14px}
.ht-master-pricing .htp-eyebrow{padding:0 15px}
.ht-master-pricing .htp-controls{padding:0 14px;margin-bottom:14px;align-items:stretch}
.ht-master-pricing .htp-tier-tabs{width:100%;display:flex;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}
.ht-master-pricing .htp-tier-tabs::-webkit-scrollbar{display:none}
.ht-master-pricing .htp-tier-tab{flex:0 0 138px;min-width:138px}
.ht-master-pricing .htp-tier-tab i{display:none}
.ht-master-pricing .htp-validity{margin-left:0;width:100%}
.ht-master-pricing .htp-season-list.htp-scrollable{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding:2px 14px 10px}
.ht-master-pricing .htp-season-list.htp-scrollable::-webkit-scrollbar{display:none}
.ht-master-pricing .htp-season-list.htp-scrollable .htp-season-card{flex:0 0 calc(100vw - 28px);width:calc(100vw - 28px);scroll-snap-align:start;scroll-snap-stop:always;border-radius:15px;box-shadow:0 2px 7px rgba(89,58,3,.06)}
.ht-master-pricing .htp-single .htp-season-card{margin:0 14px;width:auto;flex:none}
.ht-master-pricing .htp-season-head{padding:15px 15px 8px}
.ht-master-pricing .htp-season-period{width:100%;justify-content:center}
.ht-master-pricing .htp-price-grid{grid-template-columns:1fr;padding:5px 15px 12px}
.ht-master-pricing .htp-price-item{min-height:50px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:11px 2px}
.ht-master-pricing .htp-people{margin:0;font-size:12px}
.ht-master-pricing .htp-price{font-size:20px;text-align:right}
.ht-master-pricing .htp-mobile-dots{display:flex;justify-content:center;gap:6px;margin-top:5px}
.ht-master-pricing .htp-single+.htp-mobile-dots,.ht-master-pricing .htp-single .htp-mobile-dots{display:none}
.ht-master-pricing .htp-dot{width:6px;height:6px;border-radius:50%;background:var(--khaki)}
.ht-master-pricing .htp-dot.is-active{width:16px;border-radius:999px;background:var(--brown)}
.ht-master-pricing .htp-note{padding:0 16px;margin-top:8px}
.ht-master-pricing .htp-from-card{margin:0 14px;padding:15px;align-items:baseline}
.ht-master-pricing .htp-from-value .htp-price{font-size:22px}
.ht-master-pricing .htp-route-wrap{padding:0 14px 3px}
.ht-master-pricing .htp-route-table{min-width:760px;border-radius:15px}
.ht-master-pricing .htp-route-table th,.ht-master-pricing .htp-route-table td{padding:12px}
.ht-master-pricing .htp-route-table .htp-price{font-size:17px}
}

/* HT_HEADER_STATIC_EXTERNALIZED_20261002_P2 */
/* ht-fontawesome-guard */
.fa, .fa-solid, .fas {
  font-family: "Font Awesome 6 Free" !important;
  font-weight: 900 !important;
}
.fa-regular, .far {
  font-family: "Font Awesome 6 Free" !important;
  font-weight: 400 !important;
}
.fa-brands, .fab {
  font-family: "Font Awesome 6 Brands" !important;
  font-weight: 400 !important;
}
/* ht-global-visual-fixes */
:root {
  --ht-gold: #C9A227;
  --ht-gold-hover: #B8911F;
  --ht-gold-soft: #FFF6D8;
  --ht-gold-dark: #5C3D1E;
  --ht-hero-fallback-image: url("https://www.haventrails.com/img/havensafari1.webp");
}
:where(.hero,.page-hero,.tour-hero,.safari-hero,.zanzibar-hero,.kili-hero,.article-hero,.blog-hero,.activity-hero,.destination-hero,.journal-hero,.ct-hero,.faq-hero,.gb-hero,.header-video,.te-hero,.sng-hero,.dest-hero,.pp-hero,.sc-hero,.ht-hero,.tc-hero,.ty-hero) {
  background-image: linear-gradient(120deg, rgba(0,0,0,.66), rgba(0,0,0,.36)), var(--ht-hero-fallback-image);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  color: #ffffff;
}
:where(.zanzibar-hero,.activity-hero,[class*="zanzibar" i] .hero,[class*="zanzibar" i].hero) { --ht-hero-fallback-image: url("https://www.haventrails.com/img/zanzibarnew.webp"); }
:where(.kili-hero,[class*="kili" i] .hero,[class*="kilimanjaro" i] .hero,[class*="kili" i].hero,[class*="kilimanjaro" i].hero) { --ht-hero-fallback-image: url("https://www.haventrails.com/img/havenkili1.webp"); }
:where(.hero,.page-hero,.tour-hero,.safari-hero,.zanzibar-hero,.kili-hero,.article-hero,.blog-hero,.activity-hero,.destination-hero,.journal-hero,.ct-hero,.faq-hero,.gb-hero,.header-video,.te-hero,.sng-hero,.dest-hero,.pp-hero,.sc-hero,.ht-hero,.tc-hero,.ty-hero) :where(h1,h2,h3,p,span,li,a,.hero-sub,.te-hero__sub,.sng-hero-sub,.ct-hero-sub,.page-hero__desc,.journal-hero__subtitle) {
  color: inherit;
}
:where(.hero,.page-hero,.tour-hero,.safari-hero,.zanzibar-hero,.kili-hero,.article-hero,.blog-hero,.activity-hero,.destination-hero,.journal-hero,.ct-hero,.faq-hero,.gb-hero,.header-video,.te-hero,.sng-hero,.dest-hero,.pp-hero,.sc-hero,.ht-hero,.tc-hero,.ty-hero) :where(.btn,.btn_1,.btn-p,.ct-submit,.article-card__cta,.featured-article__cta,[class*="btn"]):not(.btn-hero-outline) {
  color: #ffffff;
}
:where(a,button,.btn,.btn_1,.btn-p,.filter-btn,.swiper-pagination-bullet-active) {
  --bs-primary: #C9A227;
  --bs-link-color: #C9A227;
  --bs-link-hover-color: #B8911F;
}
:where(input,select,textarea):focus {
  border-color: #C9A227 !important;
  box-shadow: 0 0 0 .2rem rgba(201,162,39,.18) !important;
  outline-color: #C9A227;
}
:where([style*="background:#C9A227"],[style*="background: #C9A227"],[style*="background-color:#C9A227"],[style*="background-color: #C9A227"],.gold-dot) {
  color: #241a08;
}

:where(.ht-tour-card-cat) {
  color: #765709 !important;
}
:where(.ht-tour-card-title a, .blog-card-body h3 a, .blog-card-body h4 a) {
  color: #533b08 !important;
}
:where(.ht-tour-card-footer div, .review-meta, .review-meta span) {
  color: #555555 !important;
}
:where(.review-platform.ta) {
  color: #00784f !important;
}
:where(.svc-card__desc, .svc-card__stat) {
  display: none !important;
}
:where(.ht-tour-btn) {
  background: var(--earth, #5C3D1E);
  color: #ffffff;
}
:where(.ht-tour-btn span, .ht-tour-btn i) {
  color: inherit;
}
:where(.ht-tour-btn:hover, .ht-tour-btn:focus, .ht-tour-btn:active) {
  background: var(--gold, #C9A227);
  color: var(--earth, #241a08);
}
:where(.btn-consult, .sticky-book, .btn-hero-primary, .btn-hero-wa, .contact-btn-phone:hover, .contact-btn-wa:hover, .blog-read-btn:hover, .btn-outline-earth:hover, .togo-btn-outline:hover, .togo-btn-outline:focus-visible) {
  color: #ffffff;
}
:where(.btn-gold, .gd-book-btn, .svc-card__cta, .gd-cta-bar a, .contact-btn-email, .contact-btn-email:hover, .gd-filter.active, .gd-filter:hover, .how-num, [style*="background:#C9A227"], [style*="background: #C9A227"], [style*="background-color:#C9A227"], [style*="background-color: #C9A227"]) {
  color: #241a08;
}
:where(a, button, .btn, .btn_1, .btn-p, .filter-btn, .ht-tour-btn, .btn-consult, .btn-gold, .gd-book-btn, .svc-card__cta, .blog-read-btn, .contact-btn, .sticky-book, .sticky-wa, [class*="btn"]):focus-visible {
  outline: 3px solid #1a1a1a;
  outline-offset: 3px;
}
:where(.btn-consult, .sticky-book, .btn-hero-primary, .btn-hero-wa, .contact-btn-phone:hover, .contact-btn-wa:hover, .blog-read-btn:hover, .btn-outline-earth:hover, .togo-btn-outline:hover):focus-visible {
  outline-color: #FFF6D8;
}
/* header-static-3 */
:root {
  --ht-gold:        #c9a227;
  --ht-gold-light:  #e0b82e;
  --ht-gold-dark:   #a8851e;
  --ht-dark:        #1a1a1a;
  --ht-dark-2:      #2a1f0a;
  --ht-light:       #ffffff;
  --ht-gray:        #6b7280;
  --ht-gray-100:    #f9f7f2;
  --ht-gray-200:    #efe8d8;
  --ht-font-main:   'Jost', 'Poppins', sans-serif;
  --ht-font-serif:  'Cormorant Garamond', 'Playfair Display', serif;
  --header-h:       72px;
  --header-h-mob:   60px;
  --safe-bottom:    env(safe-area-inset-bottom, 0px);
  --safe-left:      env(safe-area-inset-left, 0px);
  --safe-right:     env(safe-area-inset-right, 0px);
}

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
body { padding-top: var(--header-h); overflow-x: hidden; }


.ht-header {
  position: fixed; top: 0; left: 0; right: 0;
  height: var(--header-h);
  z-index: 9999;
  background: rgba(255,255,255,0.97);
  backdrop-filter: blur(24px) saturate(1.6);
  -webkit-backdrop-filter: blur(24px) saturate(1.6);
  border-bottom: none !important;
  transition: box-shadow 0.3s ease, background 0.3s ease;
}
.ht-header--scrolled {
  background: #fff;
  box-shadow: 0 4px 32px rgba(26,26,26,0.10);
  border-bottom-color: transparent !important;
}
.ht-header::before {
  content: '';
  position: absolute; top: 0; left: 0; right: 0; height: 3px;
  background: linear-gradient(90deg, var(--ht-gold-dark), var(--ht-gold), var(--ht-gold-light), var(--ht-gold));
}

.ht-header__container {
  max-width: 1380px; margin: 0 auto;
  padding: 0 1.75rem;
  padding-left: calc(1.75rem + var(--safe-left));
  padding-right: calc(1.75rem + var(--safe-right));
  height: 100%;
  display: flex; align-items: center;
  justify-content: space-between; gap: 1rem;
}


.ht-logo {
  display: flex; align-items: center; gap: 0; text-decoration: none; flex-shrink: 0;
}
.ht-logo__text { display: flex; flex-direction: column; }
.ht-logo__title {
  font-family: var(--ht-font-serif);
  font-size: 1.4rem; font-weight: 700;
  color: var(--ht-dark); line-height: 1;
  letter-spacing: 0.01em;
}
.ht-logo__tagline {
  font-size: 0.58rem; color: var(--ht-gold-dark);
  text-transform: uppercase; letter-spacing: 0.22em;
  font-weight: 700; margin-top: 4px;
}


.ht-nav { display: flex; align-items: center; gap: 0; flex: 1; justify-content: center; }

/* Categorized language switcher polish */
.ht-lang__dropdown { overflow-y: auto; }
.ht-lang__cat-label {
  padding: 0.7rem 0.75rem 0.35rem;
  font-size: 0.64rem;
  font-weight: 800;
  line-height: 1.2;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--ht-gold-dark);
}
.ht-lang__cat-label span { display: inline-flex; align-items: center; gap: 0.35rem; }
.ht-lang__list { display: grid; gap: 0.12rem; }
.ht-lang__no-results,
.ht-mf-no-results {
  display: none;
  padding: 0.85rem;
  color: var(--ht-gray);
  font-size: 0.84rem;
  text-align: center;
}
.ht-mf-search {
  padding: 0.75rem 0.85rem 0.55rem;
  border-bottom: none !important;
}
.ht-mf-search input {
  width: 100%;
  min-height: 42px;
  border: none !important;
  border-radius: 10px;
  padding: 0.55rem 0.75rem;
  font-family: inherit;
  font-size: 0.84rem;
  color: var(--ht-dark);
  outline: none !important;
}
.ht-mf-search input:focus { border-color: var(--ht-gold); box-shadow: 0 0 0 .18rem rgba(201,162,39,.14); }
.ht-mf-search-results { display: none; padding: 0.45rem; }
.ht-mf-search-results.active { display: block; }
.ht-mf-cat__head { user-select: none; }
.ht-mf-cat__body { display: none; }
.ht-mf-cat.open .ht-mf-cat__body { display: block; }
.ht-drawer-lang-cat {
  padding: 0.45rem 0.625rem;
  font-size: 0.63rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: var(--ht-gold-dark);
  border-bottom: none !important;
  margin: 0.35rem 0 0.2rem;
}
.togo-btn-outline {
  color: #ffffff !important;
  background: #08783e !important;
  border: none !important;
  box-shadow: none !important;
}
.togo-btn-outline:hover,
.togo-btn-outline:focus-visible {
  color: #ffffff !important;
  background: #056332 !important;
  border-color: transparent !important;
}
.togo-btn-outline span,
.togo-btn-outline i {
  color: #ffffff !important;
}

@media (max-width: 1200px) { .ht-nav { display: none; } }

.ht-nav__item { position: relative; }

.ht-nav__link {
  display: flex; align-items: center; gap: 5px;
  padding: 0.55rem 0.95rem;
  color: var(--ht-dark); text-decoration: none;
  font-weight: 600; font-size: 0.875rem;
  letter-spacing: 0.01em;
  border-radius: 8px;
  transition: color 0.2s ease, background 0.2s ease;
  cursor: pointer; border: none; background: transparent;
  font-family: inherit; white-space: nowrap;
  position: relative;
}
.ht-nav__link::after {
  content: '';
  position: absolute; bottom: 3px; left: 50%; right: 50%;
  height: 2px; background: var(--ht-gold);
  border-radius: 2px;
  transition: left 0.25s ease, right 0.25s ease;
}
.ht-nav__item:hover .ht-nav__link::after { left: 0.95rem; right: 0.95rem; }
.ht-nav__item:hover .ht-nav__link { color: var(--ht-gold-dark); }


.ht-nav__chevron {
  font-size: 0.6rem;
  color: var(--ht-gold-dark);
  opacity: 0.75;
  transition: transform 0.28s ease, opacity 0.2s ease;
  margin-left: 1px;
}
.ht-nav__item:hover .ht-nav__chevron { transform: rotate(180deg); opacity: 1; }


.ht-mega {
  position: absolute; top: calc(100% + 10px); left: 50%;
  transform: translateX(-50%) translateY(6px);
  background: #fff; border-radius: 16px;
  padding: 1.375rem;
  box-shadow: 0 16px 48px rgba(26,26,26,0.13), 0 2px 10px rgba(26,26,26,0.06);
  opacity: 0; visibility: hidden;
  transition: opacity 0.22s ease, transform 0.22s ease, visibility 0.22s;
  border: none !important; z-index: 1000;
  
  max-width: min(92vw, 760px);
}
.ht-mega::before {
  content: ''; position: absolute; top: 0; left: 1.5rem; right: 1.5rem; height: 2px;
  background: linear-gradient(90deg, transparent, var(--ht-gold), transparent);
  border-radius: 0 0 2px 2px;
}
.ht-nav__item:hover .ht-mega { opacity: 1; visibility: visible; transform: translateX(-50%) translateY(0); }


.ht-mega--safari   { display: grid; grid-template-columns: 210px 1fr; gap: 1.375rem; width: 580px; }
.ht-mega--kili     { display: grid; grid-template-columns: 1fr 1fr; gap: 1.375rem; width: 560px; }
.ht-mega--zanzibar { display: grid; grid-template-columns: 1fr 1fr; gap: 1.375rem; width: 560px; }
.ht-mega--daytrips { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.1rem; width: 620px; }
.ht-mega--about    { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1.375rem; width: 480px; }

.ht-mega__title {
  font-family: var(--ht-font-serif); font-size: 0.875rem; font-weight: 700;
  color: var(--ht-dark); margin-bottom: 0.75rem;
  padding-bottom: 6px; border-bottom: 2px solid var(--ht-gold);
  display: block; letter-spacing: 0.02em; text-transform: uppercase;
}


.ht-mega-link {
  display: flex; align-items: center; gap: 0.75rem;
  padding: 0.6rem 0.75rem; border-radius: 10px;
  text-decoration: none; color: var(--ht-dark);
  transition: background 0.16s ease, transform 0.16s ease;
  margin-bottom: 0.25rem;
}
.ht-mega-link:last-child { margin-bottom: 0; }
.ht-mega-link:hover { background: var(--ht-gray-100); transform: translateX(3px); color: var(--ht-gold-dark); }
.ht-mega-link__icon {
  width: 34px; height: 34px; flex-shrink: 0;
  background: linear-gradient(135deg, #fef3c7, #fde68a);
  border-radius: 9px;
  display: flex; align-items: center; justify-content: center;
  color: var(--ht-gold-dark); font-size: 0.875rem;
}
.ht-mega-link h4 { font-size: 0.875rem; font-weight: 700; margin-bottom: 1px; line-height: 1.2; }
.ht-mega-link p  { font-size: 0.76rem; color: var(--ht-gray); margin: 0; line-height: 1.3; }


.ht-dest-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 0.5rem; }
.ht-dest-card {
  position: relative; border-radius: 10px; overflow: hidden;
  aspect-ratio: 4/3; display: flex; align-items: flex-end;
  padding: 0.5rem; text-decoration: none; transition: transform 0.28s ease;
}
.ht-dest-card::before {
  content: ''; position: absolute; inset: 0;
  background: linear-gradient(to top, rgba(0,0,0,.75) 0%, transparent 60%); z-index: 1;
}
.ht-dest-card:hover { transform: translateY(-2px); }
.ht-dest-card img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform 0.5s ease; }
.ht-dest-card:hover img { transform: scale(1.06); }
.ht-dest-card span { position: relative; z-index: 2; color: #fff; font-weight: 700; font-size: 0.8rem; }


.ht-route-list { display: flex; flex-direction: column; gap: 0.5rem; }
.ht-route-item {
  display: flex; align-items: center; justify-content: space-between;
  padding: 0.7rem 0.875rem; background: var(--ht-gray-100);
  border-radius: 10px; text-decoration: none; color: var(--ht-dark);
  transition: border-color 0.2s, background 0.2s, transform 0.2s;
  border: none !important;
}
.ht-route-item:hover { border-color: var(--ht-gold); background: #fff; transform: translateX(3px); }
.ht-route-item h5 { font-size: 0.84rem; font-weight: 700; margin-bottom: 1px; }
.ht-route-item > div > span { font-size: 0.73rem; color: var(--ht-gray); }
.ht-route-badge {
  background: var(--ht-gold); color: #1a1a1a;
  padding: 2px 8px; border-radius: 20px;
  font-size: 0.6rem; font-weight: 800; text-transform: uppercase; white-space: nowrap;
}


.ht-zanzibar-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 0.5rem; }
.ht-zan-card {
  background: var(--ht-gray-100); border: 1.5px solid var(--ht-gray-200);
  border-radius: 12px; padding: 0.875rem 0.75rem; text-align: center;
  text-decoration: none; color: var(--ht-dark);
  transition: transform 0.22s, border-color 0.22s, box-shadow 0.22s;
}
.ht-zan-card:hover { transform: translateY(-3px); border-color: var(--ht-gold); box-shadow: 0 6px 16px rgba(201,162,39,.12); }
.ht-zan-card i   { font-size: 1.35rem; color: var(--ht-gold); margin-bottom: 0.35rem; display: block; }
.ht-zan-card h5  { font-size: 0.82rem; font-weight: 700; margin-bottom: 1px; }
.ht-zan-card p   { font-size: 0.72rem; color: var(--ht-gray); margin: 0; line-height: 1.3; }


.ht-daytrip-col { background: var(--ht-gray-100); border-radius: 12px; padding: 1rem; }
.ht-daytrip-col h4 {
  font-family: var(--ht-font-serif); font-size: 0.9rem; margin-bottom: 0.75rem;
  color: var(--ht-dark); display: flex; align-items: center; gap: 0.5rem;
}
.ht-daytrip-col h4 i { color: var(--ht-gold); font-size: 0.875rem; }
.ht-daytrip-list { list-style: none; }
.ht-daytrip-list li { margin-bottom: 0.375rem; }
.ht-daytrip-list a {
  color: var(--ht-gray); text-decoration: none; font-size: 0.82rem; font-weight: 500;
  display: flex; align-items: center; gap: 0.4rem;
  transition: color 0.18s, padding-left 0.18s;
}
.ht-daytrip-list a:hover { color: var(--ht-gold-dark); padding-left: 3px; }
.ht-daytrip-list a::before { content: "\f054"; font-family: "Font Awesome 6 Free"; font-weight: 900; color: var(--ht-gold); font-weight: 900; font-size: 1rem; line-height: 1; }


.ht-lang { position: relative; }
.ht-lang__toggle {
  display: flex; align-items: center; gap: 6px;
  padding: 6px 12px; background: var(--ht-gray-100);
  border-radius: 50px; cursor: pointer;
  transition: border-color 0.2s ease, background-color 0.2s ease, color 0.2s ease, transform 0.2s ease, opacity 0.2s ease; border: 1.5px solid var(--ht-gray-200);
  font-family: inherit; font-size: 0.84rem; font-weight: 600; color: var(--ht-dark);
}
.ht-lang__toggle:hover, .ht-lang__toggle.active { border-color: var(--ht-gold); background: #fff; }
.ht-lang__flag { width: 20px; height: 20px; border-radius: 50%; object-fit: cover; }
.ht-lang__code { font-weight: 700; }
.ht-lang__chevron { font-size: 0.52rem; color: var(--ht-gray); transition: transform 0.3s ease; }
.ht-lang__toggle.active .ht-lang__chevron { transform: rotate(180deg); }


.ht-lang__dropdown {
  position: absolute; top: calc(100% + 10px); right: 0;
  background: #fff; border-radius: 16px;
  width: 300px; max-height: 420px;
  overflow-y: auto; overflow-x: hidden;
  box-shadow: 0 16px 48px rgba(26,26,26,.15), 0 4px 12px rgba(26,26,26,.06);
  opacity: 0; visibility: hidden; transform: translateY(8px) scale(0.98);
  transform-origin: top right;
  transition: opacity 0.22s cubic-bezier(.4,0,.2,1), visibility 0.22s cubic-bezier(.4,0,.2,1), transform 0.22s cubic-bezier(.4,0,.2,1);
  border: none !important; z-index: 1001;
  scrollbar-width: thin; scrollbar-color: var(--ht-gray-200) transparent;
}
.ht-lang__dropdown::-webkit-scrollbar { width: 4px; }
.ht-lang__dropdown::-webkit-scrollbar-track { background: transparent; }
.ht-lang__dropdown::-webkit-scrollbar-thumb { background: var(--ht-gray-200); border-radius: 4px; }
.ht-lang__dropdown::before {
  content: ''; position: absolute; top: 0; left: 1rem; right: 1rem; height: 2px;
  background: linear-gradient(90deg, transparent, var(--ht-gold), transparent);
  border-radius: 0 0 2px 2px; pointer-events: none;
}
.ht-lang__dropdown.active { opacity: 1; visibility: visible; transform: translateY(0) scale(1); }


.ht-lang__search {
  padding: 0.75rem 0.75rem 0.5rem;
  position: sticky; top: 0; background: #fff; z-index: 2;
  border-bottom: none !important;
}
.ht-lang__search-inner { position: relative; display: flex; align-items: center; }
.ht-lang__search-icon { position: absolute; left: 0.7rem; color: var(--ht-gray); font-size: 0.72rem; pointer-events: none; }
.ht-lang__search input {
  width: 100%; padding: 0.45rem 0.75rem 0.45rem 2rem;
  border: none !important; border-radius: 50px;
  font-size: 0.8rem; font-family: inherit; outline: none;
  background: var(--ht-gray-100); transition: border-color 0.18s, background 0.18s;
}
.ht-lang__search input:focus { border-color: var(--ht-gold); background: #fff; }


.ht-lang__cat-label {
  display: flex; align-items: center; gap: 0.5rem;
  padding: 0.55rem 0.75rem 0.3rem;
  font-size: 0.62rem; font-weight: 800; letter-spacing: 0.14em;
  text-transform: uppercase; color: var(--ht-gold-dark);
  margin-top: 0.25rem;
}
.ht-lang__cat-label::after {
  content: ''; flex: 1; height: 1px;
  background: linear-gradient(90deg, var(--ht-gray-200), transparent);
}


.ht-lang__list { padding: 0 0.5rem 0.5rem; }
.ht-lang__option {
  display: flex; align-items: center; gap: 0.65rem;
  padding: 0.5rem 0.6rem; border-radius: 10px;
  text-decoration: none; color: var(--ht-dark);
  transition: background 0.14s, color 0.14s;
  font-size: 0.84rem; font-weight: 500;
  border: none !important; background: transparent;
  width: 100%; font-family: inherit; cursor: pointer;
  margin-bottom: 1px;
}
.ht-lang__option:hover {
  background: rgba(201,162,39,.07);
  border-color: transparent !important;
  color: var(--ht-gold-dark);
}
.ht-lang__option.active {
  background: rgba(201,162,39,.11);
  border-color: transparent !important;
  color: var(--ht-gold-dark);
}
.ht-lang__option img {
  width: 26px; height: 26px; border-radius: 50%; object-fit: cover;
  flex-shrink: 0; border: 1.5px solid var(--ht-gray-200);
  transition: border-color 0.14s;
}
.ht-lang__option:hover img,
.ht-lang__option.active img { border-color: var(--ht-gold); }
.ht-lang__option-info { display: flex; flex-direction: column; flex: 1; min-width: 0; text-align: left; }
.ht-lang__option-name { font-weight: 700; font-size: 0.8rem; line-height: 1.2; }
.ht-lang__option-native { font-size: 0.67rem; color: var(--ht-gray); }
.ht-lang__option-check { font-size: 0.62rem; color: var(--ht-gold); opacity: 0; flex-shrink: 0; transition: opacity 0.14s; }
.ht-lang__option.active .ht-lang__option-check { opacity: 1; }


.ht-lang__no-results { padding: 1.25rem; text-align: center; color: var(--ht-gray); font-size: 0.82rem; display: none; }


.ht-mega--discover { display: grid; grid-template-columns: 1fr 1fr; gap: 1.375rem; width: 560px; }




.ht-actions { display: flex; align-items: center; gap: 0.5rem; flex-shrink: 0; }
.ht-btn {
  display: inline-flex; align-items: center; gap: 6px;
  padding: 0.65rem 1.2rem; border-radius: 50px;
  font-weight: 700; font-size: 0.84rem;
  text-decoration: none; transition: border-color 0.2s ease, background-color 0.2s ease, color 0.2s ease, transform 0.2s ease, opacity 0.2s ease;
  cursor: pointer; border: none; font-family: inherit; white-space: nowrap;
}
.ht-btn--outline {
  color: var(--ht-dark); background: transparent;
  border: none !important;
}
.ht-btn--outline:hover { border-color: var(--ht-gold); color: var(--ht-gold-dark); background: rgba(201,162,39,.05); }
.ht-btn--primary {
  background: linear-gradient(135deg, var(--ht-gold) 0%, var(--ht-gold-dark) 100%);
  color: #1a1a1a;
  box-shadow: 0 4px 16px rgba(201,162,39,.35);
  position: relative; overflow: hidden;
}
.ht-btn--primary::before {
  content: ''; position: absolute; top: 0; left: -100%; width: 60%; height: 100%;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.25), transparent);
  transition: left 0.5s ease;
}
.ht-btn--primary:hover { transform: translateY(-2px); box-shadow: 0 8px 22px rgba(201,162,39,.45); color: #1a1a1a; }
.ht-btn--primary:hover::before { left: 150%; }


.ht-mobile-toggle {
  display: none; width: 42px; height: 42px;
  background: var(--ht-gray-100); border: 1.5px solid var(--ht-gray-200);
  border-radius: 11px; cursor: pointer;
  flex-direction: column; align-items: center; justify-content: center;
  gap: 5px; z-index: 10001; transition: border-color 0.2s, background 0.2s;
  -webkit-tap-highlight-color: transparent;
}
.ht-mobile-toggle:hover { border-color: var(--ht-gold); background: #fff; }
.ht-mobile-toggle span { display: block; width: 20px; height: 2px; background: var(--ht-dark); border-radius: 2px; transition: opacity 0.3s ease, visibility 0.3s ease, transform 0.3s ease, background-color 0.3s ease, border-color 0.3s ease; }
.ht-mobile-toggle.active span:nth-child(1) { transform: rotate(45deg) translate(5px, 5px); }
.ht-mobile-toggle.active span:nth-child(2) { opacity: 0; width: 0; }
.ht-mobile-toggle.active span:nth-child(3) { transform: rotate(-45deg) translate(5px, -5px); }


.ht-mobile-flags {
  display: none; align-items: center; position: relative;
}
.ht-mobile-flags__trigger {
  display: flex; align-items: center; gap: 5px;
  padding: 5px 9px;
  background: var(--ht-gray-100); border: 1.5px solid var(--ht-gray-200);
  border-radius: 50px; cursor: pointer;
  transition: border-color 0.2s ease, background-color 0.2s ease, color 0.2s ease, transform 0.2s ease, opacity 0.2s ease; font-family: inherit;
  -webkit-tap-highlight-color: transparent;
}
.ht-mobile-flags__trigger:hover,
.ht-mobile-flags__trigger.active { border-color: var(--ht-gold); background: #fff; }
.ht-mobile-flags__flag { width: 22px; height: 22px; border-radius: 50%; object-fit: cover; border: 1.5px solid var(--ht-gray-200); }
.ht-mobile-flags__code { font-size: 0.72rem; font-weight: 700; color: var(--ht-dark); }
.ht-mobile-flags__chevron { font-size: 0.48rem; color: var(--ht-gray); transition: transform 0.3s ease; }
.ht-mobile-flags__trigger.active .ht-mobile-flags__chevron { transform: rotate(180deg); }


.ht-mobile-flags__panel {
  position: absolute; top: calc(100% + 10px); right: 0;
  background: #fff; border-radius: 20px;
  padding: 0;
  width: min(340px, calc(100vw - 1.5rem));
  box-shadow: 0 20px 60px rgba(26,26,26,.2), 0 4px 16px rgba(26,26,26,.08);
  border: none !important;
  opacity: 0; visibility: hidden; transform: translateY(10px) scale(0.97);
  transform-origin: top right;
  transition: opacity 0.25s cubic-bezier(.4,0,.2,1), visibility 0.25s cubic-bezier(.4,0,.2,1), transform 0.25s cubic-bezier(.4,0,.2,1);
  z-index: 10002; overflow: hidden;
}
.ht-mobile-flags__panel::before {
  content: ''; position: absolute; top: 0; left: 1rem; right: 1rem; height: 2px;
  background: linear-gradient(90deg, transparent, var(--ht-gold), transparent);
  border-radius: 2px;
}
.ht-mobile-flags__panel.active { opacity: 1; visibility: visible; transform: translateY(0) scale(1); }
.ht-mobile-flags__title {
  font-size: 0.65rem; text-transform: uppercase; letter-spacing: 0.14em;
  font-weight: 700; color: var(--ht-gray); padding: 0.875rem 1rem 0.5rem;
}

.ht-mf-search {
  padding: 0 0.875rem 0.625rem;
  border-bottom: none !important;
}
.ht-mf-search-inner { position: relative; display: flex; align-items: center; }
.ht-mf-search-icon { position: absolute; left: 0.7rem; color: var(--ht-gray); font-size: 0.72rem; pointer-events: none; }
.ht-mf-search input {
  width: 100%; padding: 0.48rem 0.7rem 0.48rem 2rem;
  border: none !important; border-radius: 50px;
  font-size: 0.8rem; font-family: inherit; outline: none;
  background: var(--ht-gray-100); transition: border-color 0.2s;
}
.ht-mf-search input:focus { border-color: var(--ht-gold); background: #fff; }


.ht-mf-body { max-height: 60vh; overflow-y: auto; scrollbar-width: thin; scrollbar-color: var(--ht-gray-200) transparent; }
.ht-mf-body::-webkit-scrollbar { width: 3px; }
.ht-mf-body::-webkit-scrollbar-thumb { background: var(--ht-gray-200); border-radius: 3px; }

.ht-mf-cat {}
.ht-mf-cat__head {
  display: flex; align-items: center; justify-content: space-between;
  padding: 0.625rem 1rem; cursor: pointer;
  font-size: 0.68rem; font-weight: 800; text-transform: uppercase; letter-spacing: 0.12em;
  color: var(--ht-gold-dark); background: rgba(201,162,39,.05);
  border-top: none !important;
  -webkit-tap-highlight-color: transparent;
  transition: background 0.16s;
}
.ht-mf-cat__head:first-child { border-top: none; }
.ht-mf-cat__head:hover { background: rgba(201,162,39,.1); }
.ht-mf-cat__chevron { font-size: 0.6rem; color: var(--ht-gold); transition: transform 0.25s ease; }
.ht-mf-cat.open .ht-mf-cat__chevron { transform: rotate(180deg); }
.ht-mf-cat__body { display: none; padding: 0.375rem 0.625rem 0.625rem; }
.ht-mf-cat.open .ht-mf-cat__body { display: block; }

.ht-mobile-flags__list { display: flex; flex-direction: column; gap: 2px; }
.ht-mobile-flag-btn {
  display: flex; align-items: center; gap: 0.6rem;
  padding: 0.5rem 0.6rem; border-radius: 10px;
  background: transparent; border: 1.5px solid transparent;
  cursor: pointer; transition: color 0.16s ease, background-color 0.16s ease, border-color 0.16s ease, transform 0.16s ease; font-family: inherit;
  -webkit-tap-highlight-color: transparent; width: 100%; text-align: left; text-decoration: none; color: inherit;
}
.ht-mobile-flag-btn:hover { background: var(--ht-gray-100); border-color: var(--ht-gray-200); }
.ht-mobile-flag-btn.active { background: rgba(201,162,39,.1); border-color: var(--ht-gold); }
.ht-mobile-flag-btn img {
  width: 28px; height: 28px; border-radius: 50%; object-fit: cover;
  border: none !important; flex-shrink: 0;
  transition: border-color 0.16s;
}
.ht-mobile-flag-btn:hover img, .ht-mobile-flag-btn.active img { border-color: var(--ht-gold); }
.ht-mobile-flag-btn__info { display: flex; flex-direction: column; flex: 1; min-width: 0; }
.ht-mobile-flag-btn__name { font-size: 0.84rem; font-weight: 700; color: var(--ht-dark); line-height: 1.2; }
.ht-mobile-flag-btn__native { font-size: 0.7rem; color: var(--ht-gray); }
.ht-mobile-flag-btn.active .ht-mobile-flag-btn__name { color: var(--ht-gold-dark); }
.ht-mobile-flag-btn__check { font-size: 0.7rem; color: var(--ht-gold); opacity: 0; flex-shrink: 0; }
.ht-mobile-flag-btn.active .ht-mobile-flag-btn__check { opacity: 1; }


.ht-mf-search-results { padding: 0.5rem 0.625rem 0.75rem; display: none; }
.ht-mf-search-results.active { display: block; }
.ht-mf-no-results { padding: 1.25rem; text-align: center; color: var(--ht-gray); font-size: 0.82rem; display: none; }

@media (max-width: 1200px) {
  .ht-mobile-toggle { display: flex; }
  .ht-lang { display: none; }
  .ht-btn--outline { display: none; }
  .ht-actions .ht-btn--primary { display: none; }
  .ht-mobile-flags { display: flex; }
}


.ht-mobile-overlay {
  position: fixed; inset: 0; background: rgba(26,26,26,.65);
  backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px);
  z-index: 9998;
  opacity: 0; visibility: hidden; transition: opacity 0.3s ease, visibility 0.3s ease, transform 0.3s ease, background-color 0.3s ease, border-color 0.3s ease;
}
.ht-mobile-overlay.active { opacity: 1; visibility: visible; }


.ht-mobile-menu {
  position: fixed; top: 0; right: 0; bottom: 0;
  width: 100%; max-width: 400px; background: #fff;
  z-index: 9999; transform: translateX(0);
  opacity: 0; visibility: hidden; pointer-events: none;
  transition: opacity 0.28s ease, visibility 0.28s ease;
  box-shadow: -8px 0 48px rgba(26,26,26,.18);
  display: flex; flex-direction: column; overflow: hidden;
}
.ht-mobile-menu.active { opacity: 1; visibility: visible; pointer-events: auto; transform: translateX(0); }

.ht-mobile-menu__header {
  padding: 0.875rem 1.125rem;
  border-bottom: none !important;
  display: flex; align-items: center; justify-content: space-between;
  background: linear-gradient(180deg, var(--ht-gray-100) 0%, #fff 100%);
  position: relative; flex-shrink: 0;
}
.ht-mobile-menu__header::before {
  content: ''; position: absolute; top: 0; left: 0; right: 0; height: 3px;
  background: linear-gradient(90deg, var(--ht-gold-dark), var(--ht-gold));
}

.ht-mobile-menu__close {
  width: 42px; height: 42px; border-radius: 11px; border: 1.5px solid var(--ht-gray-200);
  background: #fff; color: var(--ht-dark); font-size: 1rem;
  cursor: pointer; display: flex; align-items: center; justify-content: center;
  transition: border-color 0.2s ease, background-color 0.2s ease, color 0.2s ease, transform 0.2s ease, opacity 0.2s ease; flex-shrink: 0;
  -webkit-tap-highlight-color: transparent;
}
.ht-mobile-menu__close:hover { background: var(--ht-dark); color: #fff; border-color: var(--ht-dark); transform: rotate(90deg); }

.ht-mobile-menu__content {
  flex: 1; overflow-y: auto; padding: 1.125rem;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: thin;
}


.ht-mobile-trust {
  background: linear-gradient(135deg, var(--ht-dark) 0%, var(--ht-dark-2) 100%);
  border-radius: 14px; padding: 1rem 1.125rem; margin-bottom: 1.125rem;
  display: flex; align-items: center; justify-content: space-between; gap: 6px;
  border: none !important;
}
.ht-mobile-trust-stat { text-align: center; }
.ht-mobile-trust-stat strong { display: block; font-family: var(--ht-font-serif); font-size: 1.15rem; color: var(--ht-gold); font-weight: 700; line-height: 1; }
.ht-mobile-trust-stat span  { font-size: 0.65rem; color: rgba(255,255,255,.6); margin-top: 3px; display: block; text-transform: uppercase; letter-spacing: 0.05em; }
.ht-mobile-trust-div { width: 1px; height: 30px; background: rgba(255,255,255,.12); flex-shrink: 0; }


.ht-mobile-item {
  border-radius: 13px; overflow: hidden;
  background: var(--ht-gray-100); margin-bottom: 5px;
  border: none !important; transition: border-color 0.2s, background 0.2s;
}
.ht-mobile-item.active { background: #fff; border-color: var(--ht-gray-200); }
.ht-mobile-item__header {
  display: flex; align-items: center; justify-content: space-between;
  padding: 0.875rem 1rem; cursor: pointer;
  min-height: 54px;
  -webkit-tap-highlight-color: transparent;
}
.ht-mobile-item__title {
  display: flex; align-items: center; gap: 0.75rem;
  font-size: 0.95rem; font-weight: 700; color: var(--ht-dark);
}


.ht-mobile-item__title .fa,
.ht-mobile-item__title .fas,
.ht-mobile-item__title .far,
.ht-mobile-item__title .fab {
  color: var(--ht-gold);
  font-size: 1rem;
  width: 32px; height: 32px;
  display: inline-flex; align-items: center; justify-content: center;
  background: rgba(201,162,39,.12);
  border-radius: 8px;
  flex-shrink: 0;
  transition: background 0.2s, color 0.2s;
}
.ht-mobile-item.active .ht-mobile-item__title .fa,
.ht-mobile-item.active .ht-mobile-item__title .fas,
.ht-mobile-item.active .ht-mobile-item__title .far,
.ht-mobile-item.active .ht-mobile-item__title .fab {
  background: var(--ht-gold);
  color: #1a1a1a;
}

.ht-mobile-item__toggle {
  width: 30px; height: 30px; border-radius: 7px;
  background: #fff; display: flex; align-items: center; justify-content: center;
  color: var(--ht-gray); transition: color 0.28s ease, background-color 0.28s ease, border-color 0.28s ease, transform 0.28s ease; border: 1.5px solid var(--ht-gray-200);
  font-size: 0.7rem; flex-shrink: 0;
}
.ht-mobile-item.active .ht-mobile-item__toggle { background: var(--ht-gold); color: #1a1a1a; border-color: var(--ht-gold); transform: rotate(180deg); }
.ht-mobile-item__content { max-height: 0; overflow: hidden; transition: max-height 0.38s ease; }
.ht-mobile-item.active .ht-mobile-item__content { max-height: 600px; }
.ht-mobile-item__links { padding: 0 0.875rem 0.875rem; display: flex; flex-direction: column; gap: 2px; }
.ht-mobile-link {
  display: flex; align-items: center; gap: 0.7rem;
  padding: 0.75rem 0.875rem; color: var(--ht-gray);
  text-decoration: none; font-size: 0.9rem; font-weight: 500;
  border-radius: 9px; transition: color 0.16s ease, background-color 0.16s ease, border-color 0.16s ease, transform 0.16s ease;
  min-height: 46px;
  -webkit-tap-highlight-color: transparent;
}
.ht-mobile-link:hover { background: var(--ht-gray-100); color: var(--ht-gold-dark); transform: translateX(3px); }

.ht-mobile-link .fa,
.ht-mobile-link .fas,
.ht-mobile-link .far {
  color: var(--ht-gold);
  width: 16px; text-align: center; font-size: 0.875rem; flex-shrink: 0;
  display: inline-block;
}


.ht-mobile-lang {
  margin-top: 1.125rem; padding-top: 1.125rem;
  border-top: none !important;
}
.ht-mobile-lang__title {
  font-size: 0.68rem; color: var(--ht-gray);
  text-transform: uppercase; letter-spacing: 0.12em;
  font-weight: 700; margin-bottom: 0.75rem;
}


.ht-mobile-lang__scroll {
  max-height: 260px;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: thin; scrollbar-color: var(--ht-gray-200) transparent;
  border: none !important; border-radius: 12px;
  padding: 0.375rem;
}
.ht-mobile-lang__scroll::-webkit-scrollbar { width: 4px; }
.ht-mobile-lang__scroll::-webkit-scrollbar-track { background: transparent; }
.ht-mobile-lang__scroll::-webkit-scrollbar-thumb { background: var(--ht-gray-200); border-radius: 4px; }


.ht-drawer-lang-btn {
  display: flex; align-items: center; gap: 0.65rem;
  padding: 0.55rem 0.625rem; border-radius: 9px; width: 100%;
  background: transparent; border: 1.5px solid transparent;
  cursor: pointer; transition: color 0.15s ease, background-color 0.15s ease, border-color 0.15s ease, transform 0.15s ease; font-family: inherit;
  -webkit-tap-highlight-color: transparent; text-align: left; text-decoration: none; color: inherit;
  margin-bottom: 2px;
}
.ht-drawer-lang-btn:last-child { margin-bottom: 0; }
.ht-drawer-lang-btn:hover { background: var(--ht-gray-100); border-color: var(--ht-gray-200); }
.ht-drawer-lang-btn.active { background: rgba(201,162,39,.1); border-color: var(--ht-gold); }
.ht-drawer-lang-btn img {
  width: 26px; height: 26px; border-radius: 50%; object-fit: cover;
  border: none !important; flex-shrink: 0;
  transition: border-color 0.15s;
}
.ht-drawer-lang-btn:hover img, .ht-drawer-lang-btn.active img { border-color: var(--ht-gold); }
.ht-drawer-lang-btn__info { display: flex; flex-direction: column; flex: 1; min-width: 0; }
.ht-drawer-lang-btn__name { font-size: 0.84rem; font-weight: 700; color: var(--ht-dark); line-height: 1.2; }
.ht-drawer-lang-btn__native { font-size: 0.69rem; color: var(--ht-gray); }
.ht-drawer-lang-btn.active .ht-drawer-lang-btn__name { color: var(--ht-gold-dark); }
.ht-drawer-lang-btn__check { font-size: 0.7rem; color: var(--ht-gold); opacity: 0; flex-shrink: 0; }
.ht-drawer-lang-btn.active .ht-drawer-lang-btn__check { opacity: 1; }

/* Keep RTL language panels anchored to their controls without changing page direction. */
html[dir="rtl"] .ht-lang__dropdown,
html[dir="rtl"] .ht-mobile-flags__panel {
  right: auto;
  left: 0;
  transform-origin: top left;
}
html[dir="rtl"] .ht-lang__option,
html[dir="rtl"] .ht-mobile-flag-btn,
html[dir="rtl"] .ht-drawer-lang-btn,
html[dir="rtl"] .ht-lang__option-info,
html[dir="rtl"] .ht-mobile-flag-btn__info,
html[dir="rtl"] .ht-drawer-lang-btn__info {
  text-align: right;
}


.ht-mobile-cta {
  padding: 0.875rem 1.125rem;
  padding-bottom: calc(1.125rem + var(--safe-bottom));
  background: linear-gradient(180deg, #fff 0%, var(--ht-gray-100) 100%);
  border-top: none !important;
  display: flex; flex-direction: column; gap: 0.5rem;
  flex-shrink: 0;
}
.ht-mobile-cta .ht-btn {
  width: 100%; justify-content: center; padding: 0.9rem; font-size: 0.9rem; border-radius: 13px;
}
.ht-mobile-cta .ht-btn--outline { border-color: var(--ht-gray-200); display: flex !important; }


@media (max-width: 1360px) {
  .ht-mega--safari   { width: 520px; }
  .ht-mega--kili     { width: 500px; }
  .ht-mega--zanzibar { width: 500px; }
  .ht-mega--daytrips { width: 560px; }
  .ht-mega--about    { width: 440px; }
  .ht-mega--discover { width: 500px; }
}
@media (max-width: 768px) {
  body { padding-top: var(--header-h-mob); }
  .ht-header { height: var(--header-h-mob); }
  .ht-header__container { padding: 0 1rem; gap: 0.625rem; }
  .ht-logo__title { font-size: 1.15rem; }
  .ht-logo__tagline { display: none; }
  .ht-mobile-menu { max-width: 100%; }
}
/* ht-global-mobile-safety */
@media (max-width: 768px) {
  html, body { max-width: 100%; overflow-x: hidden; }
  img, video, canvas, iframe { max-width: 100%; height: auto; }
  [class*="grid"], [class*="cards"], [class*="row"], [class*="columns"] { min-width: 0; }
  .container, .htc, .wrapper, .section-inner, .content, main, section { max-width: 100%; }
  .tour-card, .blog-card, .dest-card, .package-card, .review-card, .card { max-width: 100%; }
  .tabs, .tab-nav, .ht-tab-nav, .blog-tab-nav, [class*="tab"] { max-width: 100%; }
  .ht-tab-nav, .blog-tab-nav, .tabs-nav, .tab-buttons { overflow-x: auto; -webkit-overflow-scrolling: touch; flex-wrap: nowrap; }
  table { max-width: 100%; display: block; overflow-x: auto; }
}
/* ht-header-border-reset */
.margarine-regular {
  font-family: "Margarine", sans-serif;
  font-weight: 400;
  font-style: normal;
}
html body .ht-header,
html body .ht-header *,
html body .ht-mobile-menu,
html body .ht-mobile-menu *,
html body .ht-mobile-flags__panel,
html body .ht-mobile-flags__panel *,
html body .ht-mega,
html body .ht-mega *,
html body .ht-lang__dropdown,
html body .ht-lang__dropdown * {
  border: none !important;
  border-color: transparent !important;
  outline: none !important;
}
html body .ht-header::before,
html body .ht-header::after,
html body .ht-header *::before,
html body .ht-header *::after,
html body .ht-mobile-menu::before,
html body .ht-mobile-menu::after,
html body .ht-mobile-menu *::before,
html body .ht-mobile-menu *::after,
html body .ht-mobile-flags__panel::before,
html body .ht-mobile-flags__panel::after,
html body .ht-mega::before,
html body .ht-mega::after,
html body .ht-lang__dropdown::before,
html body .ht-lang__dropdown::after {
  border: none !important;
  border-color: transparent !important;
  outline: none !important;
}
.ht-header::before,
.ht-header::after,
.ht-nav__link::before,
.ht-nav__link::after,
.ht-mega::before,
.ht-mega::after,
.ht-lang__dropdown::before,
.ht-lang__dropdown::after,
.ht-lang__cat-label::before,
.ht-lang__cat-label::after,
.ht-mobile-flags__panel::before,
.ht-mobile-flags__panel::after,
.ht-mobile-menu__header::before,
.ht-mobile-menu__header::after {
  content: none !important;
  display: none !important;
}
.ht-mobile-trust-div { display: none !important; }
/* hvnhdr-new-header-style */
/* The new desktop header is 44px topbar + 78px main header.
   Mobile hides the topbar and uses a 64px header. */
body{padding-top:122px !important;}
.hvnhdr-component{font-family:'DM Sans',Arial,Helvetica,sans-serif;}
@media (max-width:1220px){
  body{padding-top:64px !important;}
}

.hvnhdr-component{
  --brown:#593a03;
  --khaki:#faed78;
  --white:#ffffff;
  --black:#111111;
  --header-h:78px;
  --header-mobile-h:64px;
}

.hvnhdr-component,
.hvnhdr-component *,
.hvnhdr-component *::before,
.hvnhdr-component *::after{
  box-sizing:border-box;
  margin:0;
  padding:0;
}





body.menu-open{
  overflow:hidden;
}

.hvnhdr-component a{
  color:inherit;
}

.hvnhdr-component button{
  font:inherit;
}

/* =========================================================
   STICKY HEADER
   ========================================================= */

.hvnhdr-site-header{
  position:fixed;
  top:0;
  left:0;
  right:0;
  z-index:1000;
}

.hvnhdr-site-header.scrolled{
  box-shadow:0 10px 30px rgba(17,17,17,.10);
}

/* =========================================================
   TOP BAR
   ========================================================= */

.hvnhdr-topbar{
  background:var(--brown);
  color:var(--white);
  font-size:13px;
}

.hvnhdr-topbar__inner{
  width:min(1320px,calc(100% - 40px));
  min-height:44px;
  margin:0 auto;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
}

.hvnhdr-topbar__left,
.hvnhdr-topbar__right{
  display:flex;
  align-items:center;
  gap:10px;
}

.hvnhdr-contact,
.hvnhdr-toplink,
.hvnhdr-currency-btn{
  min-height:30px;
  display:inline-flex;
  align-items:center;
  gap:8px;
  color:rgba(255,255,255,.84);
  text-decoration:none;
  white-space:nowrap;
  transition:.18s ease;
}

.hvnhdr-contact:hover,
.hvnhdr-toplink:hover{
  color:var(--white);
}

.hvnhdr-contact i,
.hvnhdr-toplink i{
  color:var(--khaki);
}

.hvnhdr-topbar__divider{
  width:1px;
  height:18px;
  background:rgba(255,255,255,.16);
}

.hvnhdr-socials{
  display:flex;
  align-items:center;
  gap:5px;
}

.hvnhdr-socials a{
  width:28px;
  height:28px;
  border-radius:50%;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  color:var(--white);
  background:rgba(255,255,255,.07);
  text-decoration:none;
  transition:.18s ease;
}

.hvnhdr-socials a:hover{
  color:var(--black);
  background:var(--khaki);
}

.hvnhdr-tripadvisor-svg{
  width:15px;
  height:15px;
  display:block;
}

/* Currency dropdown */

.hvnhdr-currency{
  position:relative;
}

.hvnhdr-currency-btn{
  padding:0 10px;
  border:0;
  border-radius:999px;
  color:var(--white);
  background:rgba(255,255,255,.07);
  cursor:pointer;
  font-weight:800;
}

.hvnhdr-currency-btn .fa-coins{
  color:var(--khaki);
}

.hvnhdr-currency-btn .fa-chevron-down{
  font-size:8px;
  transition:.18s ease;
}

.hvnhdr-currency.open .fa-chevron-down{
  transform:rotate(180deg);
}

.hvnhdr-currency-menu{
  position:absolute;
  top:calc(100% + 9px);
  right:0;
  width:176px;
  padding:7px;
  border-radius:12px;
  background:var(--white);
  box-shadow:0 18px 42px rgba(17,17,17,.18);
  opacity:0;
  visibility:hidden;
  transform:translateY(-6px);
  transition:.18s ease;
}

.hvnhdr-currency.open .hvnhdr-currency-menu{
  opacity:1;
  visibility:visible;
  transform:translateX(0);
}

.hvnhdr-currency-title{
  padding:7px 8px 8px;
  color:var(--brown);
  font-size:10px;
  font-weight:900;
  letter-spacing:.10em;
  text-transform:uppercase;
}

.hvnhdr-currency-option{
  width:100%;
  min-height:37px;
  padding:7px 9px;
  border:0;
  border-radius:8px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  color:var(--black);
  background:transparent;
  cursor:pointer;
  text-align:left;
  font-weight:800;
}

.hvnhdr-currency-option:hover,
.hvnhdr-currency-option.active{
  color:var(--brown);
  background:rgba(250,237,120,.45);
}

.hvnhdr-currency-option.active::after{
  content:"\f00c";
  font-family:"Font Awesome 6 Free";
  font-weight:900;
  font-size:10px;
  color:var(--brown);
}

.hvnhdr-top-cta{
  min-height:32px;
  padding:0 14px;
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  gap:8px;
  color:var(--black);
  background:var(--khaki);
  text-decoration:none;
  font-weight:900;
}

/* =========================================================
   MAIN HEADER
   ========================================================= */

.hvnhdr-header{
  height:var(--header-h);
  background:rgba(255,255,255,.98);
  backdrop-filter:blur(16px);
}

.hvnhdr-header__inner{
  width:min(1380px,calc(100% - 44px));
  height:100%;
  margin:0 auto;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
}

.hvnhdr-logo{
  width:160px;
  height:54px;
  flex:0 0 auto;
  display:flex;
  align-items:center;
  text-decoration:none;
}

.hvnhdr-logo img{
  width:160px;
  height:54px;
  object-fit:contain;
  object-position:left center;
  display:block;
}

/* =========================================================
   DESKTOP NAVIGATION
   ========================================================= */

.hvnhdr-nav{
  flex:1;
  height:100%;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:2px;
}

.hvnhdr-nav-item{
  height:100%;
  display:flex;
  align-items:center;
  position:relative;
}

.hvnhdr-nav-item--mega::after{
  content:"";
  position:absolute;
  left:-10px;
  right:-10px;
  top:calc(100% - .5px);
  height:2px;
  z-index:980;
  background:transparent;
  pointer-events:auto;
}

.hvnhdr-nav-link{
  min-height:42px;
  padding:0 13px;
  border-radius:999px;
  display:flex;
  align-items:center;
  gap:7px;
  color:var(--black);
  text-decoration:none;
  font-size:13.5px;
  font-weight:800;
  position:relative;
  transition:.2s cubic-bezier(.2,.8,.2,1);
}

.hvnhdr-nav-link::after{
  content:"";
  position:absolute;
  left:50%;
  right:50%;
  bottom:3px;
  height:2px;
  border-radius:999px;
  background:var(--brown);
  opacity:0;
  transition:.22s cubic-bezier(.2,.8,.2,1);
}

.hvnhdr-nav-link .fa-chevron-down{
  color:var(--brown);
  font-size:8px;
  transition:.18s ease;
}

.hvnhdr-nav-item.open > .hvnhdr-nav-link{
  color:var(--brown);
  background:rgba(250,237,120,.28);
}

.hvnhdr-nav-item.open > .hvnhdr-nav-link::after{
  left:14px;
  right:14px;
  opacity:1;
}

.hvnhdr-nav-item.open > .hvnhdr-nav-link .fa-chevron-down{
  transform:rotate(180deg);
}

/* =========================================================
   ALTEZZA-INSPIRED MEGA MENU STRUCTURE
   Haven Trails colors and content
   ========================================================= */

.hvnhdr-mega{
  position:fixed;
  left:50%;
  z-index:1002;
  top:calc(44px + var(--header-h) - 1px);
  width:min(1030px,calc(100vw - 40px));
  background:var(--white);
  border-radius:0 0 20px 20px;
  box-shadow:0 18px 42px rgba(17,17,17,.14);
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transform:translate(-50%,-2px);
  transition:opacity .16s ease,transform .20s cubic-bezier(.2,.8,.2,1),visibility .16s ease;
  overflow:hidden;
}

.hvnhdr-nav-item.open .hvnhdr-mega,
.hvnhdr-nav-item:focus-within .hvnhdr-mega{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  transform:translate(-50%,0);
}


.hvnhdr-mega::before{
  content:"";
  position:absolute;
  top:0;
  left:50%;
  width:58px;
  height:3px;
  border-radius:0 0 999px 999px;
  background:var(--khaki);
  transform:translateX(-50%);
  z-index:3;
}

.hvnhdr-mega::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    radial-gradient(circle at 92% 12%,rgba(250,237,120,.12),transparent 18%),
    radial-gradient(circle at 12% 90%,rgba(89,58,3,.04),transparent 20%);
}

.hvnhdr-mega__shell{
  display:grid;
  grid-template-columns:31% 69%;
  height:372px;
  min-height:372px;
}

/* LEFT SIDEBAR */

.hvnhdr-mega__sidebar{
  height:372px;
  padding:20px 17px 20px 20px;
  border-right:1px solid rgba(89,58,3,.10);
  background:var(--white);
  overflow-y:auto;
  scrollbar-width:thin;
  scrollbar-color:rgba(89,58,3,.25) transparent;
}

.hvnhdr-mega__side-list{
  display:flex;
  flex-direction:column;
  gap:3px;
}

.hvnhdr-mega__side-btn{
  width:100%;
  min-height:39px;
  padding:8px 11px 8px 13px;
  border:0;
  border-radius:12px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  color:var(--black);
  background:transparent;
  cursor:pointer;
  text-align:left;
  font-family:inherit;
  font-size:12.8px;
  font-weight:700;
  line-height:1.22;
  transition:.16s ease;
}

.hvnhdr-mega__side-btn i{
  color:rgba(89,58,3,.48);
  font-size:9px;
  transition:.16s ease;
}

.hvnhdr-mega__side-btn:hover,
.hvnhdr-mega__side-btn.active{
  color:var(--brown);
  background:rgba(250,237,120,.44);
  box-shadow:inset 4px 0 0 var(--brown);
}

.hvnhdr-mega__side-btn:hover i,
.hvnhdr-mega__side-btn.active i{
  color:var(--brown);
  transform:translateX(2px);
}

.hvnhdr-mega__side-btn .hvnhdr-mini-tag{
  margin-left:auto;
  margin-right:3px;
  padding:3px 7px;
  border-radius:6px;
  color:var(--brown);
  background:rgba(250,237,120,.58);
  font-size:9px;
  font-weight:900;
  white-space:nowrap;
}

/* RIGHT CONTENT */

.hvnhdr-mega__content{
  position:relative;
  min-width:0;
  height:372px;
  min-height:372px;
  overflow:hidden;
  background:var(--white);
}

.hvnhdr-mega__panel{
  position:absolute;
  inset:0;
  padding:25px 24px 24px 31px;
  display:grid;
  grid-template-columns:minmax(0,1fr) 245px;
  gap:28px;
  align-items:center;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transform:translateX(10px);
  transition:opacity .20s ease,transform .22s cubic-bezier(.2,.8,.2,1),visibility .20s ease;
}

.hvnhdr-mega__panel.active{
  position:absolute;
  inset:0;
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  transform:translateX(0);
}

.hvnhdr-mega__copy{
  min-width:0;
}

.hvnhdr-mega__eyebrow{
  margin-bottom:9px;
  color:var(--brown);
  font-size:10px;
  font-weight:900;
  letter-spacing:.15em;
  text-transform:uppercase;
}

.hvnhdr-mega__copy h2{
  margin-bottom:19px;
  color:var(--black);
  font-family:'Playfair Display',Georgia,serif;
  font-size:26px;
  line-height:1.08;
  letter-spacing:-.025em;
}

.hvnhdr-mega__copy p{
  max-width:510px;
  color:rgba(17,17,17,.72);
  font-size:13px;
  line-height:1.52;
}

.hvnhdr-mega__copy p + p{
  margin-top:13px;
}

.hvnhdr-mega__bullets{
  margin:2px 0 16px;
  display:flex;
  flex-direction:column;
  gap:6px;
}

.hvnhdr-mega__bullets a,
.hvnhdr-mega__bullets span{
  position:relative;
  padding-left:15px;
  color:var(--black);
  text-decoration:none;
  font-size:12.8px;
  line-height:1.32;
}

.hvnhdr-mega__bullets a::before,
.hvnhdr-mega__bullets span::before{
  content:"";
  position:absolute;
  left:0;
  top:.58em;
  width:5px;
  height:5px;
  border-radius:50%;
  background:var(--brown);
}

.hvnhdr-mega__bullets a:hover{
  color:var(--brown);
}

.hvnhdr-mega__main-btn{
  margin-top:17px;
  min-width:235px;
  min-height:40px;
  padding:0 17px;
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  color:var(--white);
  background:var(--brown);
  text-decoration:none;
  font-size:12px;
  font-weight:900;
  transition:.18s ease;
}

.hvnhdr-mega__main-btn i{
  font-size:9px;
  transition:.18s ease;
}

.hvnhdr-mega__main-btn:hover{
  color:var(--black);
  background:var(--khaki);
}

.hvnhdr-mega__main-btn:hover i{
  transform:translateX(3px);
}

/* IMAGE COLUMN */

.hvnhdr-mega__visual{
  width:245px;
  height:278px;
  border-radius:16px 16px 16px 6px;
  overflow:hidden;
  background:rgba(250,237,120,.32);
  box-shadow:0 16px 34px rgba(17,17,17,.10);
  position:relative;
}

.hvnhdr-mega__visual::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(180deg,transparent 58%,rgba(89,58,3,.10));
}

.hvnhdr-mega__visual img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  transition:transform .35s ease;
}

.hvnhdr-mega__panel:hover .hvnhdr-mega__visual img{
  transform:scale(1.025);
}

.hvnhdr-mega__visual-fallback{
  width:100%;
  height:100%;
  display:flex;
  align-items:center;
  justify-content:center;
  color:var(--khaki);
  background:var(--brown);
  font-size:42px;
}

/* smaller text and image for long route lists */
.hvnhdr-mega__panel--list .hvnhdr-mega__copy h2{
  margin-bottom:16px;
}

.hvnhdr-mega__panel--list .hvnhdr-mega__visual{
  height:325px;
}

/* Hide old decorative mega elements if still present */
.hvnhdr-mega__inner,
.hvnhdr-mega__top,
.hvnhdr-mega__grid,
.hvnhdr-mega__col,
.hvnhdr-mega__featured,
.hvnhdr-mega__cta{
  display:none !important;
}

/* =========================================================
   HEADER ACTIONS
   ========================================================= */

.hvnhdr-actions{
  display:flex;
  align-items:center;
  gap:8px;
  flex:0 0 auto;
}

.hvnhdr-search-toggle{width:41px;height:41px;min-width:41px;border:0;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:#593a03;color:#fff;cursor:pointer;font-size:15px;box-shadow:0 6px 18px rgba(89,58,3,.18);transition:transform .2s ease,box-shadow .2s ease,background .2s ease}
.hvnhdr-search-toggle:hover,.hvnhdr-search-toggle:focus-visible{background:#6d4907;transform:translateY(-1px);box-shadow:0 9px 24px rgba(89,58,3,.25);outline:none}
.hvnhdr-site-search{position:fixed;inset:0;z-index:10050;padding:38px 16px;background:rgba(25,17,5,.68);backdrop-filter:blur(7px);-webkit-backdrop-filter:blur(7px);opacity:0;visibility:hidden;overflow:auto;transition:opacity .22s ease,visibility .22s ease}
.hvnhdr-site-search.active{opacity:1;visibility:visible}
.hvnhdr-search-shell{width:min(900px,100%);margin:0 auto;background:#fff;border-radius:24px;overflow:hidden;box-shadow:0 30px 90px rgba(0,0,0,.3);transform:translateY(-14px);transition:transform .22s ease}
.hvnhdr-site-search.active .hvnhdr-search-shell{transform:translateY(0)}
.hvnhdr-search-head{padding:24px;background:#593a03;color:#fff}
.hvnhdr-search-headrow{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px}
.hvnhdr-search-headrow h2{margin:0;color:#fff;font-size:24px;line-height:1.2}
.hvnhdr-search-close{width:40px;height:40px;border-radius:50%;border:1px solid rgba(255,255,255,.3);background:rgba(255,255,255,.1);color:#fff;cursor:pointer}
.hvnhdr-search-box{display:flex;align-items:center;gap:11px;padding:0 15px;background:#fff;border-radius:15px;color:#593a03}
.hvnhdr-search-box input{width:100%;min-width:0;padding:17px 0;border:0;outline:0;background:transparent;color:#1d1d1d;font:inherit;font-size:16px}
.hvnhdr-search-body{padding:20px 24px 26px}
.hvnhdr-search-chips{display:flex;gap:8px;overflow-x:auto;padding-bottom:12px;scrollbar-width:none}.hvnhdr-search-chips::-webkit-scrollbar{display:none}
.hvnhdr-search-chip{flex:0 0 auto;border:1px solid #e7e1d6;border-radius:999px;padding:9px 13px;background:#fff;color:#593a03;font-weight:800;cursor:pointer}
.hvnhdr-search-chip.active{background:#faed78;border-color:#faed78;color:#1d1d1d}
.hvnhdr-search-status{margin:5px 2px 12px;color:#766f65;font-size:13px}
.hvnhdr-search-results{display:grid;gap:9px}
.hvnhdr-search-result{display:flex;align-items:center;gap:13px;padding:13px;border:1px solid #e7e1d6;border-radius:15px;color:#1d1d1d;text-decoration:none;background:#fff;transition:.18s ease}
.hvnhdr-search-result:hover{border-color:#cdbb92;box-shadow:0 7px 22px rgba(89,58,3,.08);transform:translateY(-1px)}
.hvnhdr-search-result-icon{width:44px;height:44px;min-width:44px;border-radius:12px;display:grid;place-items:center;background:#faf8f3;color:#593a03}
.hvnhdr-search-result-text{min-width:0;flex:1}.hvnhdr-search-result-title{display:block;color:#593a03;font-weight:900;line-height:1.25}.hvnhdr-search-result-url{display:block;margin-top:4px;color:#7a746b;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hvnhdr-search-empty{padding:34px 12px;text-align:center;color:#736c63}.hvnhdr-search-empty i{display:block;margin-bottom:10px;color:#9c762c;font-size:30px}
@media(max-width:720px){.hvnhdr-site-search{padding:0}.hvnhdr-search-shell{min-height:100dvh;border-radius:0}.hvnhdr-search-head{padding:17px 15px}.hvnhdr-search-body{padding:16px 14px 24px}.hvnhdr-search-headrow h2{font-size:20px}.hvnhdr-search-toggle{width:38px;height:38px;min-width:38px}}

.hvnhdr-lang{
  position:relative;
}

.hvnhdr-lang__toggle{
  min-height:39px;
  padding:0 11px;
  border:0;
  border-radius:999px;
  display:flex;
  align-items:center;
  gap:7px;
  color:var(--black);
  background:rgba(250,237,120,.36);
  cursor:pointer;
  font-weight:900;
}

.hvnhdr-lang__flag{
  width:21px;
  height:21px;
  border-radius:50%;
  object-fit:cover;
}

.hvnhdr-lang__toggle .fa-chevron-down{
  color:var(--brown);
  font-size:8px;
  transition:.18s ease;
}

.hvnhdr-lang__toggle.open .fa-chevron-down{
  transform:rotate(180deg);
}

.hvnhdr-lang__dropdown{
  position:absolute;
  top:calc(100% + 10px);
  right:0;
  width:255px;
  max-height:390px;
  overflow:auto;
  padding:8px;
  border-radius:14px;
  background:var(--white);
  box-shadow:0 18px 42px rgba(17,17,17,.18);
  opacity:0;
  visibility:hidden;
  transform:translateY(-6px);
  transition:.18s ease;
}

.hvnhdr-lang__dropdown.active{
  opacity:1;
  visibility:visible;
  transform:translateY(0);
}

.hvnhdr-lang__cat{
  padding:8px 9px 5px;
  color:var(--brown);
  font-size:10px;
  font-weight:900;
  letter-spacing:.11em;
  text-transform:uppercase;
}

.hvnhdr-lang__option{
  width:100%;
  padding:8px 9px;
  border:0;
  border-radius:9px;
  display:flex;
  align-items:center;
  gap:9px;
  color:var(--black);
  background:transparent;
  cursor:pointer;
  text-align:left;
}

.hvnhdr-lang__option:hover,
.hvnhdr-lang__option.active{
  background:rgba(250,237,120,.45);
}

.hvnhdr-lang__option img{
  width:23px;
  height:23px;
  border-radius:50%;
  object-fit:cover;
}

.hvnhdr-lang__option strong{
  display:block;
  font-size:12px;
}

.hvnhdr-lang__option small{
  display:block;
  margin-top:2px;
  color:rgba(17,17,17,.50);
  font-size:10px;
}

.hvnhdr-header-cta{
  min-height:42px;
  padding:0 17px;
  border-radius:999px;
  display:flex;
  align-items:center;
  gap:8px;
  color:var(--white);
  background:var(--brown);
  text-decoration:none;
  font-size:13px;
  font-weight:900;
  box-shadow:0 8px 20px rgba(89,58,3,.16);
  transition:.2s ease;
}

.hvnhdr-header-cta:hover{
  color:var(--black);
  background:var(--khaki);
  transform:translateY(-1px);
  box-shadow:0 10px 24px rgba(89,58,3,.20);
}

.hvnhdr-mobile-toggle{
  width:43px;
  height:43px;
  border:0;
  border-radius:12px;
  display:none;
  align-items:center;
  justify-content:center;
  color:var(--khaki);
  background:var(--brown);
  cursor:pointer;
  font-size:18px;
}

/* =========================================================
   MOBILE RIGHT DRAWER
   ========================================================= */

.hvnhdr-mobile-overlay{
  position:fixed;
  inset:0;
  z-index:1090;
  background:rgba(17,17,17,.46);
  opacity:0;
  visibility:hidden;
  transition:.24s ease;
}

.hvnhdr-mobile-overlay.active{
  opacity:1;
  visibility:visible;
}

.hvnhdr-mobile-menu{
  position:fixed;
  top:0;
  right:0;
  bottom:0;
  z-index:1100;
  width:min(82vw,380px);
  display:flex;
  flex-direction:column;
  background:var(--white);
  box-shadow:-18px 0 48px rgba(17,17,17,.22);
  transform:translateX(105%);
  visibility:hidden;
  transition:transform .32s cubic-bezier(.2,.8,.2,1),visibility .32s ease;
}

.hvnhdr-mobile-menu.active{
  transform:translateX(0);
  visibility:visible;
}

.hvnhdr-mobile-head{
  min-height:72px;
  padding:10px 14px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  background:var(--brown);
}

.hvnhdr-mobile-logo{
  width:145px;
  height:48px;
  display:flex;
  align-items:center;
}

.hvnhdr-mobile-logo img{
  width:145px;
  height:48px;
  object-fit:contain;
  object-position:left center;
  display:block;
  filter:brightness(0) invert(1);
}

.hvnhdr-mobile-close{
  width:38px;
  height:38px;
  border:0;
  border-radius:10px;
  display:flex;
  align-items:center;
  justify-content:center;
  color:var(--black);
  background:var(--khaki);
  cursor:pointer;
}

/* tools */

.hvnhdr-mobile-tools{
  margin-bottom:14px;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:7px;
}

.hvnhdr-mobile-tool{
  min-height:46px;
  padding:8px 10px;
  border:0;
  border-radius:11px;
  display:flex;
  align-items:center;
  gap:8px;
  color:var(--white);
  background:var(--brown);
  cursor:pointer;
  text-align:left;
}

.hvnhdr-mobile-tool img{
  width:21px;
  height:21px;
  border-radius:50%;
  object-fit:cover;
}

.hvnhdr-mobile-tool i{
  color:var(--khaki);
}

.hvnhdr-mobile-tool small{
  display:block;
  color:rgba(255,255,255,.55);
  font-size:8px;
  font-weight:900;
  text-transform:uppercase;
}

.hvnhdr-mobile-tool strong{
  display:block;
  margin-top:2px;
  max-width:100px;
  overflow:hidden;
  font-size:10.5px;
  white-space:nowrap;
  text-overflow:ellipsis;
}

/* mobile selectors */

.hvnhdr-mobile-panel{
  max-height:0;
  overflow:hidden;
  transition:max-height .28s ease;
}

.hvnhdr-mobile-panel.open{
  max-height:280px;
}

.hvnhdr-mobile-panel__inner{
  margin:0 0 12px;
  max-height:240px;
  overflow:auto;
  padding:7px;
  border-radius:11px;
  background:var(--brown);
}

.hvnhdr-mobile-choice{
  width:100%;
  min-height:36px;
  padding:7px 8px;
  border:0;
  border-radius:8px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  color:var(--white);
  background:transparent;
  cursor:pointer;
  text-align:left;
  font-size:11px;
  font-weight:800;
}

.hvnhdr-mobile-choice:hover,
.hvnhdr-mobile-choice.active{
  color:var(--black);
  background:var(--khaki);
}

.hvnhdr-mobile-choice img{
  width:20px;
  height:20px;
  border-radius:50%;
  object-fit:cover;
}

/* mobile nav */

.hvnhdr-mobile-nav{
  display:flex;
  flex-direction:column;
}

.hvnhdr-mobile-row{
  border-bottom:1px solid rgba(89,58,3,.11);
}

.hvnhdr-mobile-direct,
.hvnhdr-mobile-toggle-row{
  width:100%;
  min-height:52px;
  padding:9px 4px;
  border:0;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  color:var(--black);
  background:transparent;
  text-decoration:none;
  cursor:pointer;
  text-align:left;
  font-weight:900;
}

.hvnhdr-mobile-label{
  display:flex;
  align-items:center;
  gap:10px;
}

.hvnhdr-mobile-label i{
  width:27px;
  color:var(--brown);
  text-align:center;
}

.hvnhdr-mobile-toggle-row > i{
  color:var(--brown);
  font-size:9px;
  transition:.18s ease;
}

.hvnhdr-mobile-row.open .hvnhdr-mobile-toggle-row > i{
  transform:rotate(180deg);
}

.hvnhdr-mobile-sub{
  max-height:0;
  overflow:hidden;
  transition:max-height .28s ease;
}

.hvnhdr-mobile-row.open .hvnhdr-mobile-sub{
  max-height:520px;
}

.hvnhdr-mobile-sub__inner{
  padding:0 0 10px 37px;
}

.hvnhdr-mobile-sub a{
  min-height:35px;
  padding:6px 0;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  color:rgba(17,17,17,.66);
  text-decoration:none;
  font-size:11.5px;
  font-weight:700;
}

.hvnhdr-mobile-sub a i{
  color:var(--brown);
  font-size:8px;
}

.hvnhdr-mobile-footer{
  padding:12px 14px 15px;
  background:var(--white);
  box-shadow:0 -8px 20px rgba(17,17,17,.05);
}

.hvnhdr-mobile-plan{
  width:100%;
  min-height:46px;
  border-radius:12px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  color:var(--black);
  background:var(--khaki);
  text-decoration:none;
  font-size:13px;
  font-weight:900;
}

/* =========================================================
   RESPONSIVE
   ========================================================= */

@media (max-width:1220px){
  .hvnhdr-topbar{
    display:none;
  }

  .hvnhdr-nav,
  .hvnhdr-lang,
  .hvnhdr-header-cta{
    display:none;
  }

  .hvnhdr-mobile-toggle{
    display:flex;
  }

  .hvnhdr-header{
    height:var(--header-mobile-h);
  }

  .hvnhdr-header__inner{
    width:min(100% - 26px,1380px);
  }

  .hvnhdr-logo{
    width:145px;
    height:48px;
  }

  .hvnhdr-logo img{
    width:145px;
    height:48px;
  }
}

@media (max-width:480px){
  .hvnhdr-mobile-menu{
    width:82vw;
    max-width:340px;
  }
}

/* =========================================================
   HAVEN TRAILS PREMIUM HEADER + MEGA MENU REDESIGN
   ========================================================= */

/* TOP BAR */
.hvnhdr-topbar{
  position:relative;
  background:var(--brown);
  border-bottom:1px solid rgba(250,237,120,.16);
}

.hvnhdr-topbar::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  height:1px;
  background:linear-gradient(90deg,transparent,rgba(250,237,120,.42),transparent);
}

.hvnhdr-topbar__inner{
  width:min(1240px,calc(100% - 36px));
  min-height:44px;
  gap:18px;
}

.hvnhdr-topbar__left,
.hvnhdr-topbar__right{
  gap:9px;
}

.hvnhdr-contact,
.hvnhdr-toplink{
  min-height:28px;
  font-size:12px;
  font-weight:700;
  color:rgba(255,255,255,.82);
}

.hvnhdr-contact i,
.hvnhdr-toplink i{
  width:24px;
  height:24px;
  border-radius:50%;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  color:var(--black);
  background:var(--khaki);
  font-size:10px;
}

.hvnhdr-topbar__divider{
  height:16px;
  background:rgba(255,255,255,.14);
}

.hvnhdr-socials a{
  width:27px;
  height:27px;
  background:transparent;
  border:1px solid rgba(255,255,255,.12);
}

.hvnhdr-socials a:hover{
  border-color:var(--khaki);
}

.hvnhdr-currency-btn{
  min-height:29px;
  padding:0 11px;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.04);
  font-size:11px;
}

.hvnhdr-top-cta{
  min-height:31px;
  padding:0 13px;
  border:1px solid rgba(17,17,17,.08);
  box-shadow:none;
  font-size:11px;
}

/* MAIN HEADER */
.hvnhdr-header{
  position:relative;
  height:var(--header-h);
  background:rgba(255,255,255,.985);
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
  border-bottom:1px solid rgba(89,58,3,.08);
}

.hvnhdr-header::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:-1px;
  height:1px;
  background:rgba(89,58,3,.035);
  pointer-events:none;
}

.hvnhdr-site-header.scrolled .hvnhdr-header{
  box-shadow:0 10px 28px rgba(17,17,17,.08);
}

.hvnhdr-header__inner{
  width:min(1240px,calc(100% - 36px));
  gap:18px;
}

.hvnhdr-logo{
  width:165px;
  height:56px;
  position:relative;
  padding-right:18px;
}

.hvnhdr-logo::after{
  content:"";
  position:absolute;
  right:0;
  top:13px;
  bottom:13px;
  width:1px;
  background:rgba(89,58,3,.10);
}

.hvnhdr-logo img{
  width:160px;
  height:54px;
}

/* DESKTOP NAV */
.hvnhdr-nav{
  gap:1px;
}

.hvnhdr-nav-link{
  min-height:40px;
  padding:0 12px;
  border-radius:11px;
  font-size:12.7px;
  font-weight:800;
  letter-spacing:.015em;
}

.hvnhdr-nav-link::after{
  bottom:2px;
  height:2px;
  background:var(--brown);
}

.hvnhdr-nav-link .fa-chevron-down{
  width:auto;
  height:auto;
  border-radius:0;
  display:inline-block;
  color:var(--brown);
  background:transparent;
  font-size:8px;
}

.hvnhdr-nav-item.open > .hvnhdr-nav-link{
  color:var(--brown);
  background:rgba(250,237,120,.28);
}

.hvnhdr-nav-item.open > .hvnhdr-nav-link{
  box-shadow:inset 0 0 0 1px rgba(89,58,3,.08);
}

.hvnhdr-nav-item.open > .hvnhdr-nav-link::after{
  left:12px;
  right:12px;
}

.hvnhdr-nav-item.open > .hvnhdr-nav-link .fa-chevron-down{
  color:var(--brown);
  background:transparent;
}

/* LANGUAGE */
.hvnhdr-lang__btn{
  min-height:39px;
  border-radius:11px;
  border:1px solid rgba(89,58,3,.09);
  background:rgba(250,237,120,.12);
}

.hvnhdr-lang__btn:hover{
  background:rgba(250,237,120,.25);
}

/* MAIN CTA */
.hvnhdr-header-cta{
  min-height:43px;
  padding:0 17px 0 15px;
  border-radius:12px;
  gap:9px;
  box-shadow:0 7px 18px rgba(89,58,3,.14);
  font-size:12.5px;
}

.hvnhdr-header-cta::before{
  content:"";
  width:8px;
  height:8px;
  border-radius:50%;
  flex:0 0 auto;
  background:var(--khaki);
  box-shadow:0 0 0 4px rgba(250,237,120,.12);
}

.hvnhdr-header-cta:hover{
  transform:translateY(-1px);
  box-shadow:0 9px 22px rgba(89,58,3,.18);
}

/* MEGA MENU FRAME */
.hvnhdr-mega{
  top:calc(44px + var(--header-h) - 1px);
  width:min(980px,calc(100vw - 36px));
  border:1px solid rgba(89,58,3,.085);
  border-top:0;
  border-radius:0 0 22px 22px;
  box-shadow:
    0 24px 54px rgba(17,17,17,.13),
    0 4px 14px rgba(89,58,3,.05);
  transform:translate(-50%,-3px) scale(.995);
  transform-origin:top center;
}

.hvnhdr-nav-item.open .hvnhdr-mega,
.hvnhdr-nav-item:focus-within .hvnhdr-mega{
  transform:translate(-50%,0) scale(1);
}

.hvnhdr-mega::before{
  left:0;
  right:0;
  top:0;
  width:auto;
  height:2px;
  border-radius:0;
  transform:none;
  background:linear-gradient(90deg,var(--brown) 0 29%,var(--khaki) 29% 100%);
}

.hvnhdr-mega::after{
  background:
    radial-gradient(circle at 92% 12%,rgba(250,237,120,.13),transparent 19%),
    radial-gradient(circle at 68% 100%,rgba(89,58,3,.035),transparent 25%);
}

.hvnhdr-mega__shell{
  grid-template-columns:29% 71%;
  height:360px;
  min-height:360px;
}

/* MEGA LEFT SIDE */
.hvnhdr-mega__sidebar{
  height:360px;
  padding:22px 16px 20px 18px;
  border-right:1px solid rgba(89,58,3,.08);
  background:
    linear-gradient(180deg,rgba(250,237,120,.14),rgba(250,237,120,.045)),
    var(--white);
  overflow-y:auto;
}

.hvnhdr-mega__side-list{
  gap:6px;
}

.hvnhdr-mega__side-list::before{
  margin:0 0 9px 10px;
  color:rgba(89,58,3,.68);
  font-size:8.5px;
  letter-spacing:.20em;
}

.hvnhdr-mega__side-btn{
  min-height:42px;
  padding:9px 10px 9px 12px;
  border-radius:10px;
  font-size:12.2px;
  font-weight:800;
  line-height:1.18;
}

.hvnhdr-mega__side-btn i{
  width:24px;
  height:24px;
  border-radius:50%;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
  background:rgba(89,58,3,.055);
  font-size:7px;
}

.hvnhdr-mega__side-btn:hover{
  color:var(--brown);
  background:rgba(250,237,120,.50);
  box-shadow:none;
  transform:translateX(2px);
}

.hvnhdr-mega__side-btn.active{
  color:var(--white);
  background:var(--brown);
  box-shadow:0 8px 18px rgba(89,58,3,.14);
}

.hvnhdr-mega__side-btn.active i{
  color:var(--black);
  background:var(--khaki);
  transform:translateX(0);
}

.hvnhdr-mega__side-btn .hvnhdr-mini-tag{
  color:var(--black);
  background:var(--khaki);
}

/* MEGA CONTENT */
.hvnhdr-mega__content{
  height:360px;
  min-height:360px;
  background:var(--white);
}

.hvnhdr-mega__panel{
  padding:24px 24px 22px 30px;
  grid-template-columns:minmax(0,1fr) 230px;
  gap:24px;
}

.hvnhdr-mega__copy::before{
  left:-13px;
  top:2px;
  width:3px;
  height:36px;
  background:var(--khaki);
}

.hvnhdr-mega__eyebrow{
  margin-bottom:7px;
  font-size:8.5px;
  letter-spacing:.18em;
}

.hvnhdr-mega__copy h2{
  margin-bottom:10px;
  font-size:26px;
  line-height:1.08;
}

.hvnhdr-mega__copy p{
  max-width:430px;
  color:rgba(17,17,17,.66);
  font-size:12.2px;
  line-height:1.48;
}

.hvnhdr-mega__bullets{
  margin:12px 0 0;
  gap:3px;
}

.hvnhdr-mega__bullets a,
.hvnhdr-mega__bullets span{
  min-height:28px;
  padding:6px 8px 6px 24px;
  border-radius:8px;
  display:flex;
  align-items:center;
  color:rgba(17,17,17,.82);
  font-size:11.8px;
  font-weight:700;
  line-height:1.25;
}

.hvnhdr-mega__bullets a::before,
.hvnhdr-mega__bullets span::before{
  content:"\f061";
  left:8px;
  top:50%;
  width:auto;
  height:auto;
  border-radius:0;
  transform:translateY(-50%);
  color:rgba(89,58,3,.58);
  background:transparent;
  font-family:"Font Awesome 6 Free";
  font-size:7px;
  font-weight:900;
}

.hvnhdr-mega__bullets a:hover{
  padding-left:27px;
  color:var(--brown);
  background:rgba(250,237,120,.22);
}

.hvnhdr-mega__bullets a:hover::before{
  color:var(--brown);
}

.hvnhdr-mega__main-btn{
  min-width:0;
  min-height:40px;
  margin-top:13px;
  padding:0 16px;
  border-radius:10px;
  font-size:11.2px;
  box-shadow:0 7px 16px rgba(89,58,3,.12);
}

.hvnhdr-mega__main-btn:hover{
  transform:translateY(-1px);
  box-shadow:0 9px 18px rgba(89,58,3,.14);
}

/* MEGA IMAGE */
.hvnhdr-mega__visual{
  width:230px;
  height:292px;
  border-radius:18px 18px 18px 7px;
  border:1px solid rgba(89,58,3,.08);
  box-shadow:0 14px 30px rgba(17,17,17,.10);
}

.hvnhdr-mega__visual::before{
  right:12px;
  top:12px;
  padding:6px 8px;
  border:1px solid rgba(255,255,255,.42);
  background:rgba(250,237,120,.94);
  font-size:8px;
  letter-spacing:.10em;
}

.hvnhdr-mega__visual::after{
  background:
    linear-gradient(180deg,transparent 52%,rgba(89,58,3,.18)),
    linear-gradient(120deg,transparent 60%,rgba(250,237,120,.12));
}

.hvnhdr-mega__panel.active .hvnhdr-mega__visual img{
  transform:scale(1.015);
}

/* MOBILE HEADER */
.hvnhdr-mobile-toggle{
  width:42px;
  height:42px;
  border-radius:11px;
  color:var(--black);
  background:var(--khaki);
  box-shadow:inset 0 0 0 1px rgba(89,58,3,.08);
}

.hvnhdr-mobile-menu{
  width:min(86vw,365px);
  box-shadow:-20px 0 50px rgba(17,17,17,.20);
}

.hvnhdr-mobile-head{
  min-height:68px;
  padding:9px 13px;
  background:var(--white);
  border-bottom:1px solid rgba(89,58,3,.08);
}

.hvnhdr-mobile-logo img{
  filter:none;
}

.hvnhdr-mobile-close{
  width:38px;
  height:38px;
  color:var(--white);
  background:var(--brown);
}

.hvnhdr-mobile-tools{
  gap:8px;
}

.hvnhdr-mobile-tool{
  min-height:44px;
  border:1px solid rgba(89,58,3,.09);
  border-radius:10px;
  color:var(--black);
  background:rgba(250,237,120,.28);
}

.hvnhdr-mobile-tool i{
  color:var(--brown);
}

.hvnhdr-mobile-tool small{
  color:rgba(89,58,3,.58);
}

.hvnhdr-mobile-footer{
  border-top:1px solid rgba(89,58,3,.07);
  box-shadow:none;
}

.hvnhdr-mobile-plan{
  border-radius:11px;
  color:var(--white);
  background:var(--brown);
}

.hvnhdr-mobile-plan::before{
  content:"";
  width:8px;
  height:8px;
  border-radius:50%;
  background:var(--khaki);
}

/* RESPONSIVE REFINEMENTS */
@media (max-width:1220px){
  .hvnhdr-header{
    border-bottom:1px solid rgba(89,58,3,.08);
  }

  .hvnhdr-header__inner{
    width:min(100% - 24px,1240px);
  }

  .hvnhdr-logo{
    width:150px;
    height:48px;
    padding-right:0;
  }

  .hvnhdr-logo::after{
    display:none;
  }

  .hvnhdr-logo img{
    width:145px;
    height:48px;
  }
}

@media (max-width:480px){
  .hvnhdr-mobile-menu{
    width:86vw;
    max-width:340px;
  }

  .hvnhdr-mobile-head{
    min-height:64px;
  }
}


/* =========================================================
   FULL 38-LANGUAGE SELECTOR
   ========================================================= */
.hvnhdr-lang__dropdown{
  width:min(630px,calc(100vw - 32px));
  max-height:470px;
  padding:13px;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  align-content:start;
  gap:2px 8px;
  border:1px solid rgba(89,58,3,.08);
  border-radius:16px;
}

.hvnhdr-lang__cat{
  grid-column:1 / -1;
  margin-top:4px;
  padding:8px 7px 5px;
  border-bottom:1px solid rgba(89,58,3,.07);
  font-size:9px;
}

.hvnhdr-lang__cat:first-child{
  margin-top:0;
}

.hvnhdr-lang__option{
  min-width:0;
  min-height:43px;
  padding:6px 7px;
  gap:8px;
}

.hvnhdr-lang__option img{
  width:21px;
  height:21px;
  flex:0 0 21px;
}

.hvnhdr-lang__option span{
  min-width:0;
}

.hvnhdr-lang__option strong,
.hvnhdr-lang__option small{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.hvnhdr-lang__option strong{
  font-size:11px;
}

.hvnhdr-lang__option small{
  font-size:9px;
}

/* Mobile keeps all 38 languages accessible in a scrollable panel. */
#mobileLangPanel.open{
  max-height:390px;
}

#mobileLangChoices{
  max-height:350px;
}

@media (max-width:760px){
  .hvnhdr-lang__dropdown{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}


/* Reliable language flags with emoji fallback */
.hvnhdr-lang-flag-wrap,
.hvnhdr-current-flag{
  width:22px;
  height:22px;
  flex:0 0 22px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  position:relative;
}

.hvnhdr-lang-flag-wrap img,
.hvnhdr-current-flag img{
  width:22px;
  height:22px;
  display:block;
  border-radius:50%;
  object-fit:cover;
}

.hvnhdr-flag-emoji,
.hvnhdr-current-flag-emoji{
  width:22px;
  height:22px;
  display:none;
  align-items:center;
  justify-content:center;
  font-size:19px;
  line-height:1;
}

.hvnhdr-mobile-tool .hvnhdr-current-flag{
  width:23px;
  height:23px;
  flex:0 0 23px;
}

.hvnhdr-mobile-tool .hvnhdr-current-flag img{
  width:23px;
  height:23px;
}

.hvnhdr-mobile-choice .hvnhdr-lang-flag-wrap{
  width:22px;
  height:22px;
  flex:0 0 22px;
}

#mobileLangChoices{
  overflow-y:auto;
  overscroll-behavior:contain;
}

.hvnhdr-mobile-menu{
  touch-action:pan-y;
}


/* =========================================================
   DESKTOP LANGUAGE PANEL — SCROLLABLE + STABLE
   ========================================================= */
@media (min-width:1221px){
  .hvnhdr-lang{
    position:relative;
    z-index:1250;
  }

  .hvnhdr-lang__dropdown{
    position:fixed !important;
    top:calc(44px + var(--header-h) - 1px);
    right:max(18px,calc((100vw - 1240px) / 2)) !important;
    left:auto !important;

    width:min(690px,calc(100vw - 36px)) !important;
    height:auto !important;
    max-height:calc(100vh - 44px - var(--header-h) - 22px) !important;
    max-height:calc(100dvh - 44px - var(--header-h) - 22px) !important;

    padding:14px 10px 14px 14px !important;
    display:grid !important;
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    align-content:start !important;
    gap:3px 9px !important;

    overflow-y:scroll !important;
    overflow-x:hidden !important;
    overscroll-behavior:contain !important;
    scrollbar-gutter:stable !important;
    touch-action:pan-y !important;

    border:1px solid rgba(89,58,3,.10) !important;
    border-top:2px solid var(--khaki) !important;
    border-radius:0 0 18px 18px !important;
    background:rgba(255,255,255,.995) !important;
    box-shadow:0 24px 54px rgba(17,17,17,.17) !important;

    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transform:translateY(-5px);
    transition:
      opacity .16s ease,
      transform .18s ease,
      visibility .16s ease;
  }

  .hvnhdr-lang__dropdown.active{
    opacity:1 !important;
    visibility:visible !important;
    pointer-events:auto !important;
    transform:translateY(0) !important;
  }

  .hvnhdr-lang__dropdown::-webkit-scrollbar{
    width:10px;
  }

  .hvnhdr-lang__dropdown::-webkit-scrollbar-track{
    margin:10px 2px 10px 0;
    border-radius:999px;
    background:rgba(89,58,3,.055);
  }

  .hvnhdr-lang__dropdown::-webkit-scrollbar-thumb{
    border:2px solid #fff;
    border-radius:999px;
    background:rgba(89,58,3,.42);
  }

  .hvnhdr-lang__dropdown::-webkit-scrollbar-thumb:hover{
    background:var(--brown);
  }

  .hvnhdr-lang__dropdown{
    scrollbar-width:auto;
    scrollbar-color:rgba(89,58,3,.46) rgba(89,58,3,.055);
  }

  .hvnhdr-lang__cat{
    grid-column:1 / -1 !important;
    position:sticky;
    top:-14px;
    z-index:2;
    margin:5px -2px 4px !important;
    padding:9px 9px 7px !important;
    color:var(--brown);
    background:rgba(255,255,255,.97);
    border-bottom:1px solid rgba(89,58,3,.09);
    backdrop-filter:blur(8px);
    -webkit-backdrop-filter:blur(8px);
  }

  .hvnhdr-lang__cat:first-child{
    margin-top:0 !important;
  }

  .hvnhdr-lang__option{
    min-height:46px !important;
    padding:7px 9px !important;
    border:1px solid transparent;
    border-radius:10px !important;
    transition:
      background .15s ease,
      border-color .15s ease,
      transform .15s ease;
  }

  .hvnhdr-lang__option:hover{
    border-color:rgba(89,58,3,.08);
    background:rgba(250,237,120,.28) !important;
    transform:translateY(-1px);
  }

  .hvnhdr-lang__option.active{
    border-color:rgba(89,58,3,.12);
    background:rgba(250,237,120,.50) !important;
  }

  .hvnhdr-lang__option strong{
    font-size:11.3px !important;
  }

  .hvnhdr-lang__option small{
    font-size:9.4px !important;
  }
}

@media (min-width:1221px) and (max-width:1360px){
  .hvnhdr-lang__dropdown{
    right:18px !important;
    width:min(650px,calc(100vw - 36px)) !important;
  }
}

@media (min-width:1221px) and (max-height:700px){
  .hvnhdr-lang__dropdown{
    max-height:calc(100dvh - 44px - var(--header-h) - 10px) !important;
  }
}


/* =========================================================
   LANGUAGE LIST + MEGA MENU FINAL REFINEMENTS
   ========================================================= */

/* Remove the colored accent line from the top of every mega menu. */
.hvnhdr-mega::before{
  display:none !important;
  content:none !important;
}

/* Keep the mega menu visually three-column:
   1. category navigation
   2. information / tour links
   3. image */
.hvnhdr-mega__shell{
  grid-template-columns:28% 72% !important;
}

.hvnhdr-mega__panel{
  grid-template-columns:minmax(0,1fr) 238px !important;
  gap:25px !important;
  padding-right:22px !important;
}

.hvnhdr-mega__visual{
  width:238px !important;
  height:304px !important;
  min-width:238px !important;
  align-self:center;
  justify-self:end;
  border-radius:16px !important;
  border:1px solid rgba(89,58,3,.08);
  background:rgba(250,237,120,.14);
}

.hvnhdr-mega__visual img{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  display:block !important;
}

/* Desktop language selector: one clean vertical column. */
@media (min-width:1221px){
  .hvnhdr-lang__dropdown{
    width:360px !important;
    max-width:calc(100vw - 36px) !important;
    grid-template-columns:1fr !important;
    gap:2px !important;
    padding:12px 9px 12px 12px !important;
  }

  .hvnhdr-lang__cat{
    grid-column:1 !important;
    margin:6px 0 3px !important;
    padding:9px 10px 7px !important;
    font-size:9px !important;
    letter-spacing:.15em;
  }

  .hvnhdr-lang__option{
    width:100% !important;
    min-height:48px !important;
    padding:7px 10px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:flex-start !important;
    gap:10px !important;
    text-align:left !important;
  }

  .hvnhdr-lang__option > span:last-child{
    flex:1 1 auto;
    min-width:0;
    display:flex;
    flex-direction:column;
    align-items:flex-start;
  }

  .hvnhdr-lang__option strong{
    font-size:11.6px !important;
  }

  .hvnhdr-lang__option small{
    margin-top:1px;
    font-size:9.5px !important;
  }
}

/* Mobile language selector grouped geographically. */
.hvnhdr-mobile-lang-cat{
  position:sticky;
  top:0;
  z-index:3;
  margin:6px 0 4px;
  padding:10px 10px 7px;
  color:var(--brown);
  background:rgba(255,255,255,.98);
  border-bottom:1px solid rgba(89,58,3,.09);
  font-size:9px;
  font-weight:900;
  letter-spacing:.15em;
  text-transform:uppercase;
}

.hvnhdr-mobile-lang-cat:first-child{
  margin-top:0;
}

.hvnhdr-mobile-choice{
  min-height:48px;
  padding:7px 9px !important;
  border-radius:10px;
}

.hvnhdr-mobile-choice__left{
  min-width:0;
  display:flex;
  align-items:center;
  gap:10px;
}

.hvnhdr-mobile-choice__text{
  min-width:0;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  text-align:left;
}

.hvnhdr-mobile-choice__text strong{
  max-width:210px;
  overflow:hidden;
  color:var(--black);
  font-size:11.5px;
  font-weight:800;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.hvnhdr-mobile-choice__text small{
  max-width:210px;
  margin-top:1px;
  overflow:hidden;
  color:rgba(17,17,17,.55);
  font-size:9px;
  text-overflow:ellipsis;
  white-space:nowrap;
}

#mobileLangChoices{
  padding-right:3px;
}

/* Preserve a clear image column on smaller desktop widths. */
@media (min-width:1221px) and (max-width:1320px){
  .hvnhdr-mega{
    width:min(940px,calc(100vw - 28px)) !important;
  }

  .hvnhdr-mega__panel{
    grid-template-columns:minmax(0,1fr) 220px !important;
    gap:20px !important;
  }

  .hvnhdr-mega__visual{
    width:220px !important;
    min-width:220px !important;
  }
}


/* Final dropdown background and border refinements */

/* Desktop language dropdown: remove the top border/accent completely. */
@media (min-width:1221px){
  .hvnhdr-lang__dropdown{
    border-top:0 !important;
  }
}

/* Mobile language and currency dropdown containers: pure white backgrounds. */
#mobileLangPanel,
#mobileCurrencyPanel{
  background:#ffffff !important;
}

#mobileLangChoices,
#mobileCurrencyChoices{
  background:#ffffff !important;
}

.hvnhdr-mobile-lang-cat{
  background:#ffffff !important;
}

.hvnhdr-mobile-choice{
  background:#ffffff;
}

.hvnhdr-mobile-choice:hover,
.hvnhdr-mobile-choice.active{
  background:rgba(250,237,120,.28) !important;
}


/* Mobile language + currency dropdown panels: matching white bordered containers */
#mobileLangPanel,
#mobileCurrencyPanel{
  background:#ffffff !important;
  border:1px solid rgba(89,58,3,.18) !important;
  border-radius:12px !important;
  box-shadow:0 10px 24px rgba(17,17,17,.07) !important;
  overflow:hidden;
}

#mobileLangChoices,
#mobileCurrencyChoices{
  background:#ffffff !important;
  padding:6px !important;
}

#mobileCurrencyChoices{
  display:flex;
  flex-direction:column;
  gap:3px;
}

#mobileCurrencyChoices .hvnhdr-mobile-choice{
  width:100%;
  min-height:48px;
  padding:7px 9px !important;
  border-radius:10px;
  background:#ffffff !important;
}

#mobileCurrencyChoices .hvnhdr-mobile-choice:hover,
#mobileCurrencyChoices .hvnhdr-mobile-choice.active{
  background:rgba(250,237,120,.28) !important;
}

#mobileLangPanel .hvnhdr-mobile-lang-cat{
  background:#ffffff !important;
}

/* Keep each dropdown visually distinct from the parent mobile tools area */
.hvnhdr-mobile-tool-panel{
  margin-top:7px;
}


/* Currency dropdown now mirrors the mobile language dropdown exactly */
#mobileLangPanel,
#mobileCurrencyPanel{
  background:#ffffff !important;
  border:1px solid rgba(89,58,3,.18) !important;
  border-radius:12px !important;
  box-shadow:0 10px 24px rgba(17,17,17,.07) !important;
  overflow:hidden !important;
}

#mobileLangPanel > .hvnhdr-mobile-panel__inner,
#mobileCurrencyPanel > .hvnhdr-mobile-panel__inner{
  margin:0 !important;
  padding:6px !important;
  background:#ffffff !important;
  border:0 !important;
  border-radius:11px !important;
  max-height:350px;
  overflow-y:auto;
  overscroll-behavior:contain;
}

#mobileCurrencyPanel.open{
  max-height:390px !important;
}

#mobileCurrencyChoices .hvnhdr-mobile-lang-cat{
  margin-top:0 !important;
}

#mobileCurrencyChoices .hvnhdr-mobile-choice{
  min-height:48px !important;
  padding:7px 9px !important;
  border:0 !important;
  border-radius:10px !important;
  color:var(--black) !important;
  background:#ffffff !important;
}

#mobileCurrencyChoices .hvnhdr-mobile-choice:hover,
#mobileCurrencyChoices .hvnhdr-mobile-choice.active{
  color:var(--black) !important;
  background:rgba(250,237,120,.28) !important;
}

#mobileCurrencyChoices .hvnhdr-mobile-choice > i{
  color:var(--brown);
  opacity:0;
  font-size:11px;
}

#mobileCurrencyChoices .hvnhdr-mobile-choice.active > i{
  opacity:1;
}

.hvnhdr-currency-symbol{
  width:22px;
  height:22px;
  flex:0 0 22px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:1px solid rgba(89,58,3,.12);
  border-radius:50%;
  color:var(--brown);
  background:rgba(250,237,120,.24);
  font-size:8.5px;
  font-weight:900;
}

#mobileCurrencyChoices .hvnhdr-mobile-choice__text strong{
  color:var(--black);
}

#mobileCurrencyChoices .hvnhdr-mobile-choice__text small{
  color:rgba(17,17,17,.55);
}

/* =========================================================
   HAVEN HEADER — UNIQUE NAMESPACE + CLICK-ONLY MENUS
   ========================================================= */
.hvnhdr-nav-item--mega > .hvnhdr-mega{
  top:calc(44px + var(--header-h) - 1px) !important;
  margin-top:0 !important;
}





.hvnhdr-nav-item--mega:hover > .hvnhdr-nav-link{
  background:transparent;
}



.hvnhdr-lang__dropdown{
  margin-top:0 !important;
}

.hvnhdr-mobile-tool-panel{
  margin-top:2px !important;
}


/* Sitemap-verified split desktop navigation:
   label navigates, chevron opens mega menu */
.hvnhdr-nav-item--mega{
  display:flex;
  align-items:center;
  position:relative;
}

.hvnhdr-nav-item--mega > .hvnhdr-nav-link{
  padding-right:7px !important;
}

.hvnhdr-mega-chevron{
  width:27px;
  height:32px;
  margin-left:-3px;
  padding:0;
  border:0;
  border-radius:8px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 27px;
  color:var(--brown);
  background:transparent;
  cursor:pointer;
  transition:background .16s ease,color .16s ease,transform .16s ease;
}

.hvnhdr-mega-chevron i{
  font-size:8px;
  transition:transform .18s ease;
}

.hvnhdr-mega-chevron:hover,
.hvnhdr-mega-chevron:focus-visible{
  background:rgba(250,237,120,.30);
  outline:none;
}

.hvnhdr-nav-item--mega.open > .hvnhdr-mega-chevron{
  color:var(--brown);
  background:rgba(250,237,120,.38);
}



/* The text link remains a real navigational link even while its menu exists. */


/* =========================================================
   MEGA MENU CLICK-LAYER FIX
   ========================================================= */

/* Inactive panels are fully removed from the interaction layer. */
.hvnhdr-mega__panel{
  display:none !important;
  opacity:0 !important;
  visibility:hidden !important;
  pointer-events:none !important;
  z-index:0 !important;
}

/* Only the selected panel exists as an interactive layer. */
.hvnhdr-mega__panel.active{
  display:grid !important;
  position:absolute !important;
  inset:0 !important;
  opacity:1 !important;
  visibility:visible !important;
  pointer-events:auto !important;
  z-index:20 !important;
  transform:none !important;
}

/* Keep all readable/clickable content above decorative/image layers. */
.hvnhdr-mega__copy{
  position:relative !important;
  z-index:30 !important;
  pointer-events:auto !important;
}

.hvnhdr-mega__bullets{
  position:relative;
  z-index:31;
  pointer-events:auto !important;
}

.hvnhdr-mega__bullets a,
.hvnhdr-mega__main-btn{
  position:relative !important;
  z-index:32 !important;
  pointer-events:auto !important;
  cursor:pointer !important;
}

/* Make each middle link a larger, reliable click target. */
.hvnhdr-mega__bullets a{
  width:100%;
  min-height:29px;
  display:flex !important;
  align-items:center;
}

/* Decorative layers can never intercept clicks. */
.hvnhdr-mega::before,
.hvnhdr-mega::after,
.hvnhdr-mega__visual::before,
.hvnhdr-mega__visual::after{
  pointer-events:none !important;
}

.hvnhdr-mega__visual{
  position:relative;
  z-index:5 !important;
  pointer-events:none !important;
}

.hvnhdr-mega__visual img,
.hvnhdr-mega__visual-fallback{
  pointer-events:none !important;
}

/* Sidebar stays independently clickable. */
.hvnhdr-mega__sidebar,
.hvnhdr-mega__side-list,
.hvnhdr-mega__side-btn{
  position:relative;
  z-index:40;
  pointer-events:auto !important;
}

/* Cursor movement never changes mega menu content. */
.hvnhdr-mega__side-btn:hover{
  transform:none !important;
}

/* The content container itself is a clean interaction surface. */
.hvnhdr-mega__content{
  position:relative !important;
  z-index:10 !important;
  pointer-events:auto !important;
}


/* =========================================================
   HOVER-OPEN MEGA MENU
   ========================================================= */

/* Main label is the real clickable link. Chevron is visual only. */
.hvnhdr-mega-chevron{
  width:25px;
  height:32px;
  margin-left:-3px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 25px;
  color:var(--brown);
  background:transparent !important;
  border:0 !important;
  pointer-events:none !important;
}

.hvnhdr-mega-chevron i{
  font-size:8px;
  transition:transform .18s ease;
}



/* Hover/focus opens the mega menu. */
.hvnhdr-nav-item--mega:hover > .hvnhdr-mega,
.hvnhdr-nav-item--mega.open > .hvnhdr-mega,


/* Closed state when not hovered/open/focused. */
.hvnhdr-nav-item--mega:not(:hover):not(.open):not(:focus-within) > .hvnhdr-mega{
  opacity:0 !important;
  visibility:hidden !important;
  pointer-events:none !important;
}

/* Keep menu touching the header with no cursor gap. */
.hvnhdr-nav-item--mega > .hvnhdr-mega{
  top:calc(44px + var(--header-h) - 1px) !important;
  margin-top:0 !important;
}

/* Invisible 3px bridge prevents a subpixel gap between nav and mega menu. */
.hvnhdr-nav-item--mega::after{
  content:"";
  position:absolute;
  left:-6px;
  right:-6px;
  top:calc(100% - 1px);
  height:4px;
  background:transparent;
  pointer-events:auto;
  z-index:1001;
}

/* Links inside mega menu must always be directly clickable. */
.hvnhdr-mega a[href],
.hvnhdr-mega__main-btn{
  pointer-events:auto !important;
  cursor:pointer !important;
  position:relative !important;
  z-index:60 !important;
}

/* No invisible/decorative layer may capture clicks. */
.hvnhdr-mega::before,
.hvnhdr-mega::after,
.hvnhdr-mega__visual,
.hvnhdr-mega__visual::before,
.hvnhdr-mega__visual::after,
.hvnhdr-mega__visual img{
  pointer-events:none !important;
}


/* =========================================================
   STABLE CSS-ONLY DESKTOP MEGA MENU
   Behavior modeled on the uploaded working Haven header.
   ========================================================= */

@media (min-width:1221px){

  /* Make the navigation itself fill the complete main header height. */
  .hvnhdr-nav{
    height:100% !important;
    align-self:stretch !important;
    align-items:stretch !important;
  }

  /* The nav item becomes the positioning and hover parent. */
  .hvnhdr-nav > .hvnhdr-nav-item,
  .hvnhdr-nav > .hvnhdr-nav-item--mega{
    position:relative !important;
    height:100% !important;
    display:flex !important;
    align-items:center !important;
  }

  /* Keep the visible main link vertically centered. */
  .hvnhdr-nav-item--mega > .hvnhdr-nav-link{
    position:relative !important;
    z-index:3;
  }

  /* Chevron is visual only and cannot interfere with links. */
  .hvnhdr-mega-chevron{
    position:relative;
    z-index:3;
    pointer-events:none !important;
  }

  /* Mega menu is attached to the bottom edge of the nav item/header.
     No fixed positioning, no JS timer, no hover state class. */
  .hvnhdr-nav-item--mega > .hvnhdr-mega{
    position:absolute !important;
    top:100% !important;
    left:50% !important;
    margin:0 !important;

    width:min(940px,calc(100vw - 36px)) !important;
    max-width:min(940px,calc(100vw - 36px)) !important;

    opacity:0 !important;
    visibility:hidden !important;
    pointer-events:none !important;

    transform:translateX(-50%) translateY(5px) !important;
    transform-origin:top center !important;

    transition:
      opacity .18s ease,
      transform .18s ease,
      visibility .18s ease !important;

    z-index:1200 !important;
  }

  /* This is the entire desktop open behavior.
     Hovering either the nav item or any descendant mega-menu content
     keeps the same parent :hover state alive. */
  .hvnhdr-nav-item--mega:hover > .hvnhdr-mega,
  

  /* Remove every old persistent/open-state dependency. */
  

  /* Very small overlap upward avoids a subpixel dead line without
     creating a visible gap or a large invisible bridge. */
  .hvnhdr-mega{
    margin-top:-1px !important;
  }

  /* Do not use a synthetic hover bridge from previous versions. */
  .hvnhdr-nav-item--mega::after{
    display:none !important;
    content:none !important;
  }

  /* Rotate chevron naturally from CSS hover. */
  .hvnhdr-nav-item--mega:hover > .hvnhdr-mega-chevron i,
  

  /* The text link remains a normal anchor and is always clickable. */
  .hvnhdr-nav-item--mega > .hvnhdr-nav-link{
    pointer-events:auto !important;
    cursor:pointer !important;
  }

  /* Mega content is a normal clickable surface. */
  .hvnhdr-mega,
  .hvnhdr-mega__shell,
  .hvnhdr-mega__sidebar,
  .hvnhdr-mega__content,
  .hvnhdr-mega__panel.active,
  .hvnhdr-mega__copy,
  .hvnhdr-mega__bullets{
    pointer-events:auto !important;
  }

  /* Inactive panels cannot sit over active links. */
  .hvnhdr-mega__panel:not(.active){
    display:none !important;
    visibility:hidden !important;
    opacity:0 !important;
    pointer-events:none !important;
  }

  .hvnhdr-mega__panel.active{
    display:grid !important;
    visibility:visible !important;
    opacity:1 !important;
    pointer-events:auto !important;
    z-index:10 !important;
  }

  /* Actual anchors always sit above visual decoration. */
  .hvnhdr-mega a[href],
  .hvnhdr-mega__main-btn{
    position:relative !important;
    z-index:30 !important;
    pointer-events:auto !important;
    cursor:pointer !important;
  }

  /* Images/decorative overlays never consume pointer events. */
  .hvnhdr-mega::before,
  .hvnhdr-mega::after,
  .hvnhdr-mega__visual,
  .hvnhdr-mega__visual::before,
  .hvnhdr-mega__visual::after,
  .hvnhdr-mega__visual img{
    pointer-events:none !important;
  }

  /* Keep first and last menu within viewport without changing hover behavior. */
  .hvnhdr-nav-item--mega:first-child > .hvnhdr-mega{
    left:0 !important;
    transform:translateX(-12%) translateY(5px) !important;
  }

  .hvnhdr-nav-item--mega:first-child:hover > .hvnhdr-mega,
  .hvnhdr-nav-item--mega:first-child:focus-within > .hvnhdr-mega{
    transform:translateX(-12%) translateY(0) !important;
  }

  .hvnhdr-nav-item--mega:last-child > .hvnhdr-mega{
    left:auto !important;
    right:0 !important;
    transform:translateX(10%) translateY(5px) !important;
  }

  .hvnhdr-nav-item--mega:last-child:hover > .hvnhdr-mega,
  .hvnhdr-nav-item--mega:last-child:focus-within > .hvnhdr-mega{
    transform:translateX(10%) translateY(0) !important;
  }
}


/* =========================================================
   DESKTOP MEGA MENU — SINGLE HOVER OWNER
   Only the nav item physically under the pointer may open.
   ========================================================= */
@media (min-width:1221px){

  .hvnhdr-nav{
    height:100% !important;
    align-self:stretch !important;
    display:flex !important;
    align-items:stretch !important;
    position:relative !important;
    z-index:1100 !important;
  }

  .hvnhdr-nav > .hvnhdr-nav-item,
  .hvnhdr-nav > .hvnhdr-nav-item--mega{
    position:relative !important;
    height:100% !important;
    display:flex !important;
    align-items:center !important;
    flex:0 0 auto !important;
  }

  /* Closed by default. No .open class and no focus state can override this. */
  .hvnhdr-nav-item--mega > .hvnhdr-mega{
    position:absolute !important;
    top:calc(100% - 1px) !important;
    left:50% !important;
    right:auto !important;

    margin:0 !important;
    width:min(940px,calc(100vw - 32px)) !important;
    max-width:min(940px,calc(100vw - 32px)) !important;

    opacity:0 !important;
    visibility:hidden !important;
    pointer-events:none !important;

    transform:translateX(-50%) translateY(4px) !important;
    transition:
      opacity .14s ease,
      transform .14s ease,
      visibility 0s linear .14s !important;

    z-index:1300 !important;
  }

  /* ONE opening condition only: the nav item is hovered. */
  .hvnhdr-nav-item--mega:hover > .hvnhdr-mega{
    opacity:1 !important;
    visibility:visible !important;
    pointer-events:auto !important;
    transform:translateX(-50%) translateY(0) !important;
    transition:
      opacity .14s ease,
      transform .14s ease,
      visibility 0s linear 0s !important;
  }

  /* Explicitly neutralize old persistent states. */
  .hvnhdr-nav-item--mega.open:not(:hover) > .hvnhdr-mega,
  .hvnhdr-nav-item--mega:focus-within:not(:hover) > .hvnhdr-mega{
    opacity:0 !important;
    visibility:hidden !important;
    pointer-events:none !important;
    transform:translateX(-50%) translateY(4px) !important;
  }

  /* No pseudo-element bridge extending the hover target. */
  .hvnhdr-nav-item--mega::after,
  .hvnhdr-nav-item--mega::before{
    pointer-events:none !important;
  }

  /* Chevron reflects hover only. */
  .hvnhdr-mega-chevron{
    pointer-events:none !important;
  }

  .hvnhdr-mega-chevron i{
    transform:rotate(0deg) !important;
    transition:transform .15s ease !important;
  }

  .hvnhdr-nav-item--mega:hover > .hvnhdr-mega-chevron i{
    transform:rotate(180deg) !important;
  }

  /* Main navigation link stays normal and clickable. */
  .hvnhdr-nav-item--mega > .hvnhdr-nav-link{
    pointer-events:auto !important;
    cursor:pointer !important;
    position:relative !important;
    z-index:2 !important;
  }

  /* One active middle panel only. */
  .hvnhdr-mega__panel{
    display:none !important;
    visibility:hidden !important;
    opacity:0 !important;
    pointer-events:none !important;
  }

  .hvnhdr-mega__panel.active{
    display:grid !important;
    visibility:visible !important;
    opacity:1 !important;
    pointer-events:auto !important;
    z-index:10 !important;
  }

  /* Prevent decorative/image layers from blocking any link. */
  .hvnhdr-mega::before,
  .hvnhdr-mega::after,
  .hvnhdr-mega__visual,
  .hvnhdr-mega__visual::before,
  .hvnhdr-mega__visual::after,
  .hvnhdr-mega__visual img{
    pointer-events:none !important;
  }

  .hvnhdr-mega__sidebar,
  .hvnhdr-mega__content,
  .hvnhdr-mega__copy,
  .hvnhdr-mega__bullets,
  .hvnhdr-mega__side-list,
  .hvnhdr-mega__side-btn,
  .hvnhdr-mega a[href],
  .hvnhdr-mega__main-btn{
    pointer-events:auto !important;
  }

  .hvnhdr-mega a[href],
  .hvnhdr-mega__main-btn{
    position:relative !important;
    z-index:20 !important;
    cursor:pointer !important;
  }

  /* Keep edge menus in viewport without introducing separate hover logic. */
  .hvnhdr-nav-item--mega:first-child > .hvnhdr-mega{
    left:0 !important;
    transform:translateX(-8%) translateY(4px) !important;
  }

  .hvnhdr-nav-item--mega:first-child:hover > .hvnhdr-mega{
    transform:translateX(-8%) translateY(0) !important;
  }

  .hvnhdr-nav-item--mega:last-child > .hvnhdr-mega{
    left:auto !important;
    right:0 !important;
    transform:translateX(8%) translateY(4px) !important;
  }

  .hvnhdr-nav-item--mega:last-child:hover > .hvnhdr-mega{
    transform:translateX(8%) translateY(0) !important;
  }
}


/* =========================================================
   FINAL CLEAN DESKTOP MEGA MENU
   One hover owner. No JS. No focus/open persistence.
   ========================================================= */
@media (min-width:1221px){

  .hvnhdr-nav{
    height:100% !important;
    align-self:stretch !important;
    display:flex !important;
    align-items:stretch !important;
    justify-content:center !important;
    position:relative !important;
    z-index:1100 !important;
  }

  .hvnhdr-nav > .hvnhdr-nav-item,
  .hvnhdr-nav > .hvnhdr-nav-item--mega{
    position:static !important;
    height:100% !important;
    display:flex !important;
    align-items:center !important;
  }

  .hvnhdr-nav-item--mega > .hvnhdr-nav-link{
    position:relative !important;
    z-index:2 !important;
    pointer-events:auto !important;
    cursor:pointer !important;
  }

  .hvnhdr-mega-chevron{
    pointer-events:none !important;
  }

  /* CLOSED means physically absent from pointer layout. */
  .hvnhdr-nav-item--mega > .hvnhdr-mega{
    display:none !important;
    position:absolute !important;
    top:calc(100% - 1px) !important;
    left:50% !important;
    right:auto !important;
    margin:0 !important;

    width:min(960px,calc(100vw - 36px)) !important;
    max-width:min(960px,calc(100vw - 36px)) !important;

    opacity:1 !important;
    visibility:visible !important;
    pointer-events:auto !important;
    transform:translateX(-50%) !important;

    z-index:1400 !important;
  }

  /* ONLY this condition is allowed to show a desktop mega menu. */
  .hvnhdr-nav-item--mega:hover > .hvnhdr-mega{
    display:block !important;
  }

  /* Old state classes/focus can never show a menu. */
  .hvnhdr-nav-item--mega.open:not(:hover) > .hvnhdr-mega,
  .hvnhdr-nav-item--mega:focus-within:not(:hover) > .hvnhdr-mega{
    display:none !important;
  }

  /* No invisible hover bridges. */
  .hvnhdr-nav-item--mega::before,
  .hvnhdr-nav-item--mega::after{
    content:none !important;
    display:none !important;
    pointer-events:none !important;
  }

  /* Active side category is the only middle panel in the click layer. */
  .hvnhdr-mega__panel{
    display:none !important;
    visibility:hidden !important;
    opacity:0 !important;
    pointer-events:none !important;
  }

  .hvnhdr-mega__panel.active{
    display:grid !important;
    visibility:visible !important;
    opacity:1 !important;
    pointer-events:auto !important;
    position:absolute !important;
    inset:0 !important;
    z-index:20 !important;
  }

  .hvnhdr-mega__content{
    position:relative !important;
    z-index:10 !important;
  }

  .hvnhdr-mega__sidebar,
  .hvnhdr-mega__side-list,
  .hvnhdr-mega__side-btn,
  .hvnhdr-mega__copy,
  .hvnhdr-mega__bullets,
  .hvnhdr-mega a[href],
  .hvnhdr-mega__main-btn{
    pointer-events:auto !important;
  }

  .hvnhdr-mega a[href],
  .hvnhdr-mega__main-btn{
    position:relative !important;
    z-index:40 !important;
    cursor:pointer !important;
  }

  /* Images and decoration can never cover links. */
  .hvnhdr-mega::before,
  .hvnhdr-mega::after,
  .hvnhdr-mega__visual,
  .hvnhdr-mega__visual::before,
  .hvnhdr-mega__visual::after,
  .hvnhdr-mega__visual img{
    pointer-events:none !important;
  }

  .hvnhdr-mega-chevron i{
    transform:rotate(0deg) !important;
    transition:transform .15s ease !important;
  }

  .hvnhdr-nav-item--mega:hover > .hvnhdr-mega-chevron i{
    transform:rotate(180deg) !important;
  }
}


/* =========================================================
   DROPDOWNS MATCH MEGA MENU VISUAL SYSTEM
   Behavior unchanged. Styling only.
   ========================================================= */

/* Shared premium surface */
.hvnhdr-lang__dropdown,
.hvnhdr-currency__menu,
#mobileLangPanel,
#mobileCurrencyPanel{
  background:#ffffff !important;
  border:1px solid rgba(89,58,3,.10) !important;
  border-radius:0 0 18px 18px !important;
  box-shadow:0 20px 48px rgba(17,17,17,.14), 0 4px 14px rgba(17,17,17,.05) !important;
}

/* Desktop language dropdown */
@media (min-width:1221px){
  .hvnhdr-lang__dropdown{
    padding:12px 9px 12px 12px !important;
    width:360px !important;
    max-height:calc(100vh - 145px) !important;
    overflow-y:auto !important;
    overflow-x:hidden !important;
    border-top:0 !important;
    border-radius:0 0 18px 18px !important;
  }

  /* Desktop currency dropdown */
  .hvnhdr-currency__menu{
    min-width:220px !important;
    padding:9px !important;
    border-top:0 !important;
    border-radius:0 0 16px 16px !important;
  }

  .hvnhdr-lang__cat{
    margin:6px 0 4px !important;
    padding:9px 10px 7px !important;
    color:var(--brown) !important;
    background:#ffffff !important;
    border-bottom:1px solid rgba(89,58,3,.08) !important;
    font-size:9px !important;
    font-weight:900 !important;
    letter-spacing:.14em !important;
    text-transform:uppercase !important;
  }

  .hvnhdr-lang__option,
  .hvnhdr-currency__option{
    min-height:46px !important;
    padding:7px 10px !important;
    border:1px solid transparent !important;
    border-radius:10px !important;
    color:#111111 !important;
    background:#ffffff !important;
    transition:
      background .15s ease,
      border-color .15s ease,
      transform .15s ease !important;
  }

  .hvnhdr-lang__option:hover,
  .hvnhdr-currency__option:hover{
    background:rgba(250,237,120,.24) !important;
    border-color:rgba(89,58,3,.08) !important;
    transform:translateY(-1px);
  }

  .hvnhdr-lang__option.active,
  .hvnhdr-currency__option.active{
    background:rgba(250,237,120,.38) !important;
    border-color:rgba(89,58,3,.10) !important;
  }
}

/* Mobile language/currency panels now visually match mega menus */
#mobileLangPanel,
#mobileCurrencyPanel{
  margin-top:4px !important;
  overflow:hidden !important;
  border-radius:14px !important;
}

#mobileLangPanel > .hvnhdr-mobile-panel__inner,
#mobileCurrencyPanel > .hvnhdr-mobile-panel__inner,
#mobileLangChoices,
#mobileCurrencyChoices{
  background:#ffffff !important;
}

#mobileLangChoices,
#mobileCurrencyChoices{
  padding:7px !important;
}

.hvnhdr-mobile-lang-cat{
  margin:6px 0 4px !important;
  padding:9px 10px 7px !important;
  background:#ffffff !important;
  border-bottom:1px solid rgba(89,58,3,.08) !important;
  color:var(--brown) !important;
  font-size:9px !important;
  font-weight:900 !important;
  letter-spacing:.14em !important;
  text-transform:uppercase !important;
}

.hvnhdr-mobile-choice{
  min-height:48px !important;
  padding:7px 9px !important;
  border:1px solid transparent !important;
  border-radius:10px !important;
  background:#ffffff !important;
  color:#111111 !important;
  transition:
    background .15s ease,
    border-color .15s ease,
    transform .15s ease !important;
}

.hvnhdr-mobile-choice:hover,
.hvnhdr-mobile-choice.active{
  background:rgba(250,237,120,.24) !important;
  border-color:rgba(89,58,3,.08) !important;
}

.hvnhdr-mobile-choice.active{
  background:rgba(250,237,120,.38) !important;
}

/* Same clean text treatment used inside mega menu content */
.hvnhdr-lang__option strong,
.hvnhdr-mobile-choice__text strong{
  color:#111111 !important;
  font-weight:800 !important;
}

.hvnhdr-lang__option small,
.hvnhdr-mobile-choice__text small{
  color:rgba(17,17,17,.58) !important;
}

/* Keep scrollbars understated like the mega-menu surface */
.hvnhdr-lang__dropdown::-webkit-scrollbar,
#mobileLangChoices::-webkit-scrollbar,
#mobileCurrencyChoices::-webkit-scrollbar{
  width:7px;
}

.hvnhdr-lang__dropdown::-webkit-scrollbar-track,
#mobileLangChoices::-webkit-scrollbar-track,
#mobileCurrencyChoices::-webkit-scrollbar-track{
  background:transparent;
}

.hvnhdr-lang__dropdown::-webkit-scrollbar-thumb,
#mobileLangChoices::-webkit-scrollbar-thumb,
#mobileCurrencyChoices::-webkit-scrollbar-thumb{
  background:rgba(89,58,3,.24);
  border-radius:999px;
}


/* =========================================================
   DESKTOP LANGUAGE SEARCH + MEGA-MENU ALIGNMENT
   ========================================================= */
@media (min-width:1221px){

  .hvnhdr-lang{
    position:relative !important;
    height:100% !important;
    display:flex !important;
    align-items:center !important;
  }

  /* Attach directly to the parent control/header edge. */
  .hvnhdr-lang__dropdown{
    position:absolute !important;
    top:100% !important;
    right:0 !important;
    left:auto !important;
    margin-top:-1px !important;

    width:360px !important;
    max-height:calc(100vh - 130px) !important;

    /* Match the breathing room of the mega menus. */
    padding:14px 12px 14px 14px !important;

    border-top:0 !important;
    border-radius:0 0 18px 18px !important;
    transform-origin:top right !important;
  }

  .hvnhdr-lang-search{
    position:sticky;
    top:-14px;
    z-index:20;
    margin:-14px -12px 8px -14px;
    padding:14px 14px 10px;
    background:#ffffff;
  }

  .hvnhdr-lang-search__box{
    height:42px;
    display:flex;
    align-items:center;
    gap:8px;
    padding-left:12px;
    background:#ffffff;
    border:1px solid rgba(89,58,3,.15);
    border-radius:11px;
    transition:border-color .15s ease, box-shadow .15s ease;
  }

  .hvnhdr-lang-search__box:focus-within{
    border-color:rgba(89,58,3,.38);
    box-shadow:0 0 0 3px rgba(250,237,120,.28);
  }

  .hvnhdr-lang-search__box > i{
    flex:0 0 auto;
    color:rgba(89,58,3,.58);
    font-size:11px;
    pointer-events:none;
  }

  .hvnhdr-lang-search__box input{
    min-width:0;
    flex:1 1 auto;
    height:100%;
    padding:0;
    border:0 !important;
    outline:0 !important;
    box-shadow:none !important;
    background:transparent !important;
    color:#111111;
    font:inherit;
    font-size:11.5px;
  }

  .hvnhdr-lang-search__box input::placeholder{
    color:rgba(17,17,17,.48);
  }

  .hvnhdr-lang-search__box button{
    width:42px;
    height:100%;
    flex:0 0 42px;
    border:0;
    border-left:1px solid rgba(89,58,3,.10);
    border-radius:0 10px 10px 0;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    color:#ffffff;
    background:var(--brown);
    cursor:pointer;
    transition:background .15s ease;
  }

  .hvnhdr-lang-search__box button:hover,
  .hvnhdr-lang-search__box button:focus-visible{
    background:#3f2902;
    outline:none;
  }

  .hvnhdr-lang-search__box button i{
    font-size:11px;
  }

  .hvnhdr-lang-no-results{
    display:none;
    padding:14px 8px 4px;
    color:rgba(17,17,17,.58);
    font-size:11px;
    text-align:center;
  }

  /* Category labels remain below the sticky search area. */
  .hvnhdr-lang__cat{
    position:relative !important;
    top:auto !important;
  }
}


/* =========================================================
   MOBILE LANGUAGE SEARCH
   ========================================================= */
.hvnhdr-mobile-lang-search{
  position:sticky;
  top:0;
  z-index:20;
  margin:-7px -7px 7px;
  padding:10px 10px 8px;
  background:#ffffff;
}

.hvnhdr-mobile-lang-search__box{
  height:42px;
  display:flex;
  align-items:center;
  gap:8px;
  padding-left:12px;
  background:#ffffff;
  border:1px solid rgba(89,58,3,.15);
  border-radius:11px;
  transition:border-color .15s ease, box-shadow .15s ease;
}

.hvnhdr-mobile-lang-search__box:focus-within{
  border-color:rgba(89,58,3,.38);
  box-shadow:0 0 0 3px rgba(250,237,120,.28);
}

.hvnhdr-mobile-lang-search__box > i{
  flex:0 0 auto;
  color:rgba(89,58,3,.58);
  font-size:11px;
  pointer-events:none;
}

.hvnhdr-mobile-lang-search__box input{
  min-width:0;
  flex:1 1 auto;
  height:100%;
  padding:0;
  border:0 !important;
  outline:0 !important;
  box-shadow:none !important;
  background:transparent !important;
  color:#111111;
  font:inherit;
  font-size:11.5px;
}

.hvnhdr-mobile-lang-search__box input::placeholder{
  color:rgba(17,17,17,.48);
}

.hvnhdr-mobile-lang-search__box button{
  width:42px;
  height:100%;
  flex:0 0 42px;
  border:0;
  border-left:1px solid rgba(89,58,3,.10);
  border-radius:0 10px 10px 0;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  color:#ffffff;
  background:var(--brown);
  cursor:pointer;
}

.hvnhdr-mobile-lang-search__box button:active,
.hvnhdr-mobile-lang-search__box button:focus-visible{
  background:#3f2902;
  outline:none;
}

.hvnhdr-mobile-lang-search__box button i{
  font-size:11px;
}

.hvnhdr-mobile-lang-no-results{
  display:none;
  padding:14px 8px 5px;
  color:rgba(17,17,17,.58);
  font-size:11px;
  text-align:center;
}


/* Expanded currency selector */
@media (min-width:1221px){
  .hvnhdr-currency-menu{
    width:320px !important;
    max-height:460px !important;
    overflow-y:auto !important;
    overflow-x:hidden !important;
    padding:8px !important;
    background:#fff !important;
  }

  .hvnhdr-currency-cat{
    position:sticky;
    top:-8px;
    z-index:4;
    margin:4px 0 3px;
    padding:9px 9px 7px;
    background:#fff;
    border-bottom:1px solid rgba(89,58,3,.08);
    color:var(--brown);
    font-size:9px;
    font-weight:900;
    letter-spacing:.14em;
    text-transform:uppercase;
  }

  .hvnhdr-currency-cat:first-child{ margin-top:0; }

  .hvnhdr-currency-option{
    width:100%;
    min-height:48px;
    display:flex !important;
    align-items:center !important;
    gap:10px !important;
    padding:7px 9px !important;
    text-align:left !important;
  }

  .hvnhdr-currency-option__symbol{
    width:30px;
    height:30px;
    flex:0 0 30px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border:1px solid rgba(89,58,3,.10);
    border-radius:9px;
    background:rgba(250,237,120,.22);
    color:var(--brown);
    font-size:9px;
    font-weight:900;
  }

  .hvnhdr-currency-option__text{
    min-width:0;
    display:flex;
    flex-direction:column;
    align-items:flex-start;
  }

  .hvnhdr-currency-option__text strong{
    color:#111;
    font-size:11px;
    font-weight:800;
    line-height:1.2;
  }

  .hvnhdr-currency-option__text small{
    margin-top:2px;
    color:rgba(17,17,17,.55);
    font-size:9px;
  }

  .hvnhdr-currency-menu::-webkit-scrollbar{ width:7px; }
  .hvnhdr-currency-menu::-webkit-scrollbar-track{ background:transparent; }
  .hvnhdr-currency-menu::-webkit-scrollbar-thumb{ background:rgba(89,58,3,.24); border-radius:999px; }
}

#mobileCurrencyPanel > .hvnhdr-mobile-panel__inner{
  max-height:390px !important;
  overflow-y:auto !important;
  overscroll-behavior:contain;
}

.hvnhdr-mobile-currency-cat{
  position:sticky !important;
  top:0 !important;
  z-index:5 !important;
}

/* =========================================================
   COMPACT TOPBAR CURRENCY SELECTOR
   symbol/icon + ISO initials only
   ========================================================= */

/* Topbar and its currency popup must sit above the main header. */
.hvnhdr-topbar{
  position:relative !important;
  z-index:5000 !important;
  overflow:visible !important;
}

.hvnhdr-topbar__inner,
.hvnhdr-currency,
.hvnhdr-currency__wrap{
  position:relative !important;
  overflow:visible !important;
}

.hvnhdr-currency{
  z-index:5100 !important;
}

.hvnhdr-currency__menu{
  z-index:6000 !important;
}

/* Ensure the main header cannot cover the currency menu. */
.hvnhdr-main,
.hvnhdr-header,
.hvnhdr-site-header{
  z-index:3000;
}

/* Topbar currency trigger: simple icon + ISO code. */
.hvnhdr-currency__button,
#currencyBtn{
  min-width:auto !important;
  gap:6px !important;
  white-space:nowrap !important;
}

/* Currency symbol badge used as the icon. */
.hvnhdr-currency-symbol{
  width:31px;
  height:31px;
  flex:0 0 31px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:9px;
  background:rgba(250,237,120,.38);
  color:var(--brown);
  font-size:10.5px;
  line-height:1;
  font-weight:900;
  letter-spacing:-.02em;
}

.hvnhdr-currency-code{
  color:#111;
  font-size:11px;
  font-weight:850;
  letter-spacing:.055em;
}

.hvnhdr-currency-check{
  margin-left:auto;
  color:var(--brown);
  font-size:9px;
  opacity:0;
}

.hvnhdr-currency__option.active .hvnhdr-currency-check,
.hvnhdr-mobile-choice.active .hvnhdr-currency-check{
  opacity:1;
}

/* Desktop: compact premium grid instead of a very long list. */
@media (min-width:1221px){
  .hvnhdr-currency__menu{
    position:absolute !important;
    top:100% !important;
    right:0 !important;
    left:auto !important;
    margin-top:0 !important;

    width:390px !important;
    max-width:min(390px,calc(100vw - 24px)) !important;
    max-height:430px !important;
    overflow-y:auto !important;
    overflow-x:hidden !important;

    padding:10px !important;
    background:#fff !important;
    border:1px solid rgba(89,58,3,.10) !important;
    border-top:0 !important;
    border-radius:0 0 16px 16px !important;
    box-shadow:0 22px 55px rgba(17,17,17,.18),0 5px 14px rgba(17,17,17,.06) !important;
  }

  /* If the currency options are direct children, make them a clean 3-col grid. */
  .hvnhdr-currency__menu{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:6px;
  }

  /* Hidden menu state remains controlled by existing JS/CSS. */
  .hvnhdr-currency:not(.open) .hvnhdr-currency__menu,
  .hvnhdr-currency__wrap:not(.open) .hvnhdr-currency__menu{
    /* Do not force display:none here; preserve existing behavior. */
  }

  .hvnhdr-currency__option{
    min-width:0 !important;
    min-height:43px !important;
    padding:6px 7px !important;
    display:flex !important;
    align-items:center !important;
    gap:7px !important;
    border:1px solid transparent !important;
    border-radius:10px !important;
    background:#fff !important;
    text-align:left !important;
  }

  .hvnhdr-currency__option:hover{
    background:rgba(250,237,120,.22) !important;
    border-color:rgba(89,58,3,.08) !important;
  }

  .hvnhdr-currency__option.active{
    background:rgba(250,237,120,.40) !important;
    border-color:rgba(89,58,3,.12) !important;
  }

  .hvnhdr-currency__option .hvnhdr-currency-symbol{
    width:27px;
    height:27px;
    flex-basis:27px;
    border-radius:8px;
    font-size:9px;
  }

  .hvnhdr-currency__option .hvnhdr-currency-code{
    font-size:10px;
  }
}

/* Mobile currency choices also become symbol + initials only. */
#mobileCurrencyChoices .hvnhdr-mobile-choice{
  display:flex !important;
  align-items:center !important;
  gap:9px !important;
  min-height:46px !important;
  padding:7px 9px !important;
}

#mobileCurrencyChoices .hvnhdr-currency-symbol{
  width:30px;
  height:30px;
  flex-basis:30px;
}

#mobileCurrencyChoices .hvnhdr-currency-code{
  font-size:11px;
}

#mobileCurrencyChoices .hvnhdr-currency-check{
  margin-left:auto;
}


/* =========================================================
   CURRENCY MENU — NO CATEGORIES
   One continuous list/grid only.
   ========================================================= */

#currencyMenu .hvnhdr-currency-cat,
#currencyMenu .hvnhdr-currency-category,
#currencyMenu .hvnhdr-mobile-lang-cat,
#mobileCurrencyChoices .hvnhdr-currency-cat,
#mobileCurrencyChoices .hvnhdr-currency-category,
#mobileCurrencyChoices .hvnhdr-mobile-lang-cat{
  display:none !important;
}

/* Keep desktop currencies as one uninterrupted compact grid. */
@media (min-width:1221px){
  #currencyMenu,
  .hvnhdr-currency__menu{
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:6px !important;
  }
}

/* Keep mobile currencies as one uninterrupted vertical list. */
#mobileCurrencyChoices{
  display:flex !important;
  flex-direction:column !important;
  gap:4px !important;
}


/* =========================================================
   SMALLER DESKTOP CURRENCY DROPDOWN
   ========================================================= */
@media (min-width:1221px){
  #currencyMenu,
  .hvnhdr-currency__menu{
    width:300px !important;
    max-width:min(300px,calc(100vw - 24px)) !important;
    padding:8px !important;
    gap:5px !important;
  }

  #currencyMenu .hvnhdr-currency__option,
  .hvnhdr-currency__menu .hvnhdr-currency__option{
    min-height:40px !important;
    padding:5px 6px !important;
    gap:6px !important;
  }

  #currencyMenu .hvnhdr-currency-symbol,
  .hvnhdr-currency__menu .hvnhdr-currency-symbol{
    width:24px !important;
    height:24px !important;
    flex-basis:24px !important;
    font-size:8.5px !important;
  }

  #currencyMenu .hvnhdr-currency-code,
  .hvnhdr-currency__menu .hvnhdr-currency-code{
    font-size:9.5px !important;
  }
}


/* =========================================================
   ULTRA-COMPACT DESKTOP CURRENCY DROPDOWN
   approx. half the previous width
   ========================================================= */
@media (min-width:1221px){
  #currencyMenu,
  .hvnhdr-currency__menu{
    width:150px !important;
    max-width:150px !important;
    min-width:150px !important;
    padding:6px !important;
    gap:3px !important;

    display:grid !important;
    grid-template-columns:1fr !important;

    max-height:410px !important;
    overflow-y:auto !important;
    overflow-x:hidden !important;
  }

  #currencyMenu .hvnhdr-currency__option,
  .hvnhdr-currency__menu .hvnhdr-currency__option{
    width:100% !important;
    min-height:34px !important;
    padding:4px 6px !important;
    gap:7px !important;
    display:flex !important;
    align-items:center !important;
    border-radius:8px !important;
  }

  #currencyMenu .hvnhdr-currency-symbol,
  .hvnhdr-currency__menu .hvnhdr-currency-symbol{
    width:25px !important;
    height:25px !important;
    flex:0 0 25px !important;
    border-radius:7px !important;
    font-size:10px !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
  }

  #currencyMenu .hvnhdr-currency-symbol i,
  .hvnhdr-currency__menu .hvnhdr-currency-symbol i{
    font-size:10px !important;
    line-height:1 !important;
  }

  #currencyMenu .hvnhdr-currency-code,
  .hvnhdr-currency__menu .hvnhdr-currency-code{
    font-size:10px !important;
    font-weight:800 !important;
    letter-spacing:.04em !important;
    flex:1 1 auto !important;
  }

  #currencyMenu .hvnhdr-currency-check,
  .hvnhdr-currency__menu .hvnhdr-currency-check{
    font-size:8px !important;
    margin-left:auto !important;
  }
}

/* Make mobile icon treatment consistent too. */
#mobileCurrencyChoices .hvnhdr-currency-symbol i{
  font-size:11px !important;
  line-height:1 !important;
}


/* =========================================================
   EXACT REQUESTED CURRENCY LIST
   ISO code + requested sign only
   ========================================================= */
.hvnhdr-currency__option,
#mobileCurrencyChoices .hvnhdr-mobile-choice{
  justify-content:flex-start !important;
}

.hvnhdr-currency-code{
  color:#111111 !important;
  font-weight:850 !important;
  letter-spacing:.04em !important;
}

.hvnhdr-currency-sign{
  color:var(--brown) !important;
  font-weight:800 !important;
  white-space:nowrap !important;
  margin-left:2px !important;
}

@media (min-width:1221px){
  #currencyMenu .hvnhdr-currency__option,
  .hvnhdr-currency__menu .hvnhdr-currency__option{
    gap:5px !important;
  }

  #currencyMenu .hvnhdr-currency-code,
  .hvnhdr-currency__menu .hvnhdr-currency-code{
    flex:0 0 auto !important;
    min-width:32px !important;
  }

  #currencyMenu .hvnhdr-currency-sign,
  .hvnhdr-currency__menu .hvnhdr-currency-sign{
    font-size:10px !important;
  }
}

#mobileCurrencyChoices .hvnhdr-currency-code{
  min-width:36px;
}

#mobileCurrencyChoices .hvnhdr-currency-sign{
  font-size:11px;
}


/* =========================================================
   CURRENCY TYPOGRAPHY — LARGER TEXT, TIGHTER PADDING
   ========================================================= */
@media (min-width:1221px){
  #currencyMenu,
  .hvnhdr-currency__menu{
    padding:4px !important;
    gap:1px !important;
  }

  #currencyMenu .hvnhdr-currency__option,
  .hvnhdr-currency__menu .hvnhdr-currency__option{
    min-height:30px !important;
    padding:2px 4px !important;
    gap:4px !important;
    border-radius:7px !important;
  }

  #currencyMenu .hvnhdr-currency-code,
  .hvnhdr-currency__menu .hvnhdr-currency-code{
    min-width:36px !important;
    font-size:12px !important;
    line-height:1.1 !important;
    font-weight:900 !important;
    letter-spacing:.025em !important;
  }

  #currencyMenu .hvnhdr-currency-sign,
  .hvnhdr-currency__menu .hvnhdr-currency-sign{
    margin-left:0 !important;
    font-size:12px !important;
    line-height:1.1 !important;
    font-weight:850 !important;
  }

  #currencyMenu .hvnhdr-currency-check,
  .hvnhdr-currency__menu .hvnhdr-currency-check{
    font-size:8px !important;
  }
}

/* Mobile: larger labels but less padding as well. */
#mobileCurrencyChoices{
  gap:2px !important;
  padding:4px !important;
}

#mobileCurrencyChoices .hvnhdr-mobile-choice{
  min-height:38px !important;
  padding:3px 6px !important;
  gap:5px !important;
  border-radius:8px !important;
}

#mobileCurrencyChoices .hvnhdr-currency-code{
  min-width:40px !important;
  font-size:13px !important;
  line-height:1.1 !important;
  font-weight:900 !important;
  letter-spacing:.025em !important;
}

#mobileCurrencyChoices .hvnhdr-currency-sign{
  margin-left:0 !important;
  font-size:13px !important;
  line-height:1.1 !important;
  font-weight:850 !important;
}
