/* DREAM AFRICA ADVENTURES · Premium White Collection · October 2026
   Additional layer: preserves install, bookings, security and existing site components. */
:root{--heading-font:'DM Serif Display',Georgia,serif;--body-font:'Plus Jakarta Sans',Arial,sans-serif;--surface:#fff;--surface-2:#faf8f5;--border:#eadfd5;--text:#332821;--muted:#6b6059;--brand-primary:#5E2F26;--brand-accent:#E1AD01;--radius:18px;--shadow:0 17px 45px rgba(72,39,26,.09)}
html{scroll-padding-top:105px}
body{background:#fff;color:#302721;font-family:var(--body-font)}
h1,h2,h3,h4{font-family:var(--heading-font);font-weight:400;letter-spacing:-.022em}
.section{padding:78px 0}.section:nth-of-type(even),.section.surface,.section.white-divider{background:#fff}
.section-head h2{font-size:clamp(1.75rem,2.7vw,2.8rem);line-height:1.1}
.btn{border-radius:11px}
.btn-primary{background:#693226;color:#fff}
.btn-primary:hover{background:#8b3d27}
/* White-only readable navigation; nothing opens because of hover or focus-within */
.utility-bar{background:#fff!important;border-bottom:1px solid #f0eae3!important;color:#5d352b!important}
.utility-inner{min-height:35px}.utility-inner a{color:#4d2d23}.utility-inner a:hover{color:#9b5325}
.site-header{background:#fff!important;border-bottom:1px solid #e9e1d9!important;box-shadow:0 6px 24px rgba(47,27,14,.075)!important;backdrop-filter:none!important;z-index:120}
.header-row{height:86px;gap:14px!important}
.logo{width:238px!important}.logo img{width:100%;max-height:77px;object-fit:contain}
.nav{gap:0!important}.nav-item{position:relative}.nav-item.has-children{display:flex;align-items:center;position:static}
.nav-link{color:#342820!important;font-family:var(--body-font)!important;font-weight:750;font-size:.76rem!important;padding:13px 6px!important;background:transparent!important;border-radius:6px!important}
.nav-item:hover>.nav-link,.nav-item:focus-within>.nav-link,.nav-item.open>.nav-link{color:#8d4324!important;background:transparent!important}
.nav-item.open>.nav-link{box-shadow:inset 0 -2px #e1ad01}
.submenu-toggle{color:#573b2c!important;background:#faf7f2!important;border:1px solid #ece0d2!important;border-radius:8px!important;width:28px!important;height:28px!important;margin:0 3px 0 1px!important;display:grid!important;place-items:center!important;flex:0 0 auto}
.submenu-toggle:hover,.submenu-toggle:focus-visible,.nav-item.open>.submenu-toggle{color:#40231c!important;background:#f8d87e!important;border-color:#efca5e!important}
.submenu-toggle svg{stroke:currentColor!important;fill:none!important;width:14px!important;height:14px!important;stroke-width:2!important;transition:transform .2s}
.nav-item.open>.submenu-toggle svg{transform:rotate(180deg)}
.nav-item.has-children:not(.open)>.dropdown,
.nav-item.has-children:not(.open):hover>.dropdown,
.nav-item.has-children:not(.open):focus-within>.dropdown{display:none!important;visibility:hidden!important;pointer-events:none!important}
.nav-item.has-children.open>.dropdown{display:block!important;visibility:visible!important;pointer-events:auto!important}
.dropdown.mega-menu{background:#fff!important;color:#34261f!important;top:85px!important;border:1px solid #e8dcd1!important;border-top:3px solid #e1ad01!important;border-radius:0 0 18px 18px!important;box-shadow:0 24px 60px #4425142b!important;z-index:300;max-height:min(78vh,780px);overflow-y:auto}
.mega-menu-inner{gap:20px;padding:24px}.mega-intro{background:#fbf6e9!important;color:#49332a!important;border:1px solid #efdfc6!important}
.mega-intro h3{color:#5e2f26!important}.mega-intro p{color:#6d5348!important}.mega-col strong{color:#914221!important;font-weight:800}
.mega-col a{color:#46332b!important;font-size:.81rem;line-height:1.5;border-radius:9px}
.mega-col a:hover,.mega-col a:focus-visible{background:#faf1df!important;color:#7b3628!important}
.mega-plan{background:#5e2f26!important;color:#fff!important;border-radius:13px}
.mega-plan strong,.mega-plan small{color:#fff!important}
.header-actions .nav-cta{background:#e1ad01!important;color:#2f2216!important}
.mobile-toggle{border:1px solid #e7d3bb!important;background:#fff!important}.mobile-toggle span{background:#5e2f26!important}
/* Quiet, rich banner black overlay. It does not overpower the photography. */
.hero{min-height:640px;background:#211916}.hero-inner{min-height:640px}
.hero-slide:after{background:linear-gradient(90deg,rgba(12,11,11,.73) 0%,rgba(16,13,12,.53) 42%,rgba(12,11,10,.25) 100%)!important}
.hero-copy{max-width:770px!important}.hero h1{color:#fff;font-size:clamp(2.4rem,4.2vw,4.6rem);line-height:1.09}
.hero p{color:#fff9f4;max-width:580px;line-height:1.8}
.hero .eyebrow{color:#f2cb72!important}
/* Company story directly after hero */
.home-about-modern{background:#fff;padding:82px 0 66px;border-bottom:1px solid #f0e9e1}
.home-about-grid{display:grid;grid-template-columns:.99fr 1fr;gap:clamp(30px,5vw,88px);align-items:center}
.about-photo-mosaic{display:grid;position:relative;grid-template-columns:1.08fr .92fr;grid-template-rows:185px 165px;gap:12px;padding:12px 20px 23px 8px}
.about-photo{position:relative;overflow:hidden;border-radius:15px;background:#f8eed9;box-shadow:0 14px 35px #532c161c}
.about-photo img{width:100%;height:100%;object-fit:cover;transition:transform .45s}.about-photo:hover img{transform:scale(1.035)}
.about-photo-primary{grid-row:span 2;border-radius:35px 15px 15px 15px}
.about-photo-secondary{border-radius:15px 35px 15px 15px}.about-photo-third{border-radius:15px 15px 35px 15px}
.about-photo-label{position:absolute;z-index:1;left:23px;bottom:0;background:#fff;border:1px solid #efe2d1;box-shadow:0 10px 40px #4629181a;padding:12px 18px;border-radius:12px;display:flex;flex-direction:column;gap:2px}
.about-photo-label strong{color:#633126;font-size:.81rem}.about-photo-label span{color:#817063;font-size:.69rem}
.about-message .eyebrow{color:#99502a!important}.about-message h2{font-size:clamp(2.1rem,3.3vw,3.6rem);line-height:1.09;color:#2c211d;margin:13px 0 25px}
.about-message h2 em{font-style:normal;color:#9d4b2b}
.about-message p{font-size:.92rem;line-height:1.95;color:#665d58;margin:0 0 13px}
.about-pill-row{display:flex;gap:7px;flex-wrap:wrap;margin:23px 0}.about-pill-row span{font-size:.73rem;background:#fffaf0;border:1px solid #eadbc4;color:#6d392a;padding:8px 13px;border-radius:30px;font-weight:700}
.about-cta-row{display:flex;align-items:center;flex-wrap:wrap;gap:24px;margin-top:16px}.about-text-link{font-size:.84rem;font-weight:800;color:#78402a;border-bottom:1px solid #d4ae81}
/* Finder no longer collides with about section */
.finder{margin-top:0!important;background:#fff;padding:5px 0 34px;z-index:4}
.finder-card{box-shadow:0 12px 35px #63402116!important;background:#fff!important;border-radius:18px!important}
.trust-rail{background:#faf8f3!important;border-bottom:1px solid #f0e6db!important;border-top:1px solid #f0e6db!important}
.trust-icon{background:#f8e6be!important;border-radius:50%;color:#783d29!important}
/* Modern travel cards in mixed 4-column homepage / 3-column collection grids */
.cards{gap:19px!important}
.cards>.package-card,.cards>.package-card.card-v1,.cards>.package-card.card-v2,.cards>.package-card.card-v3{background:#fff!important;border:1px solid #ece5de!important;box-shadow:0 8px 28px #4525170e!important;border-radius:18px!important;overflow:hidden;transform:none;transition:transform .28s ease,box-shadow .28s ease!important}
.cards>.package-card:hover{transform:translateY(-5px)!important;box-shadow:0 19px 42px #49251423!important}
.cards>.package-card .card-media{height:225px!important;overflow:hidden;background:#f6ede0}
.cards>.package-card .card-media img{width:100%;height:100%;object-fit:cover}
.cards>.package-card .card-body{padding:19px 19px 17px!important;display:flex;flex-direction:column;flex:1;min-width:0}
.cards>.package-card h3{font-family:var(--heading-font)!important;font-size:clamp(1.2rem,1.3vw,1.48rem)!important;line-height:1.22!important;font-weight:400!important;color:#2d201b!important;min-height:2.4em;margin:3px 0 8px}
.cards>.package-card .meta{font-size:.7rem;color:#995438;margin:3px 0 5px}
.cards>.package-card p{color:#70655d!important;font-size:.79rem!important;line-height:1.76!important;margin:0 0 14px;min-height:3.5em}
.cards>.package-card .card-actions{display:flex;align-items:center;justify-content:space-between;margin-top:auto;padding-top:13px;border-top:1px solid #f0e7e0!important}
.cards>.package-card .card-actions .link-arrow{font-size:.73rem;color:#6b2f21}
.card-round-arrow{display:grid;place-items:center;width:33px;height:33px;border-radius:50%;background:#f8eee4;color:#783a25;font-size:1.2rem;transition:.2s}
.package-card:hover .card-round-arrow{background:#e1ad01;color:#372418}
.cards>.package-card .card-badge{font-weight:800;font-size:.68rem;border-radius:0 0 10px 0;background:#f3c552!important;color:#332319!important;top:0;left:0}
.cards>.package-card .duration-badge{bottom:9px;left:11px;background:rgba(31,25,21,.75);color:#fff;border-radius:40px}
.home-popular{background:#fff}
.home-categories{background:linear-gradient(115deg,rgba(255,255,255,.965),rgba(255,255,255,.9)),url('/assets/media/seed/tanzania-safari-4.webp') center/cover!important}
.home-categories .category-card{border:1px solid #eee3d7;box-shadow:0 5px 20px #3c261016!important;border-radius:13px!important}
.home-categories .category-photo{height:160px!important}
.home-categories .category-card:nth-child(2n){background:#fff!important}
.region-grid .region-card{border-radius:16px}
/* Tour page gallery, detailed sidebar and related collection */
.content-grid{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:38px;align-items:start}
.tour-prose{max-width:100%;color:#4f453f;line-height:1.85}
.tour-prose p{color:#594e47!important}
.tour-section-lead h2{margin-top:8px}
.tour-prose h2{font-size:clamp(1.45rem,2vw,2rem)}
.tour-overview-photos{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:30px 0 38px}
.tour-overview-photos figure{margin:0;overflow:hidden;border-radius:14px;aspect-ratio:1.35;background:#eee0cc;border:1px solid #f0e2d5}
.tour-overview-photos img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .35s}.tour-overview-photos figure:hover img{transform:scale(1.035)}
.content-grid>aside{display:grid;gap:16px;align-items:start}
.content-grid>aside .sticky-card{position:static;top:auto;border-radius:16px;background:#fff;border:1px solid #e8e0d7;padding:26px 23px;box-shadow:0 13px 44px #4c29151a}
.content-grid>aside .sticky-card h3{font-size:1.5rem;color:#3c2b24}
.content-grid>aside .sticky-card p{line-height:1.7;color:#6b6057;font-size:.85rem}
.content-grid>aside .sticky-card label{font-size:.75rem}
.content-grid>aside .sticky-card :is(input,textarea){border:1px solid #e0d7cf;border-radius:9px}
.booking-reassurance{display:grid;gap:10px;margin-top:19px;padding-top:18px;border-top:1px solid #eee6df}
.booking-reassurance span{display:flex;align-items:start;gap:8px;font-size:.75rem;color:#655850;line-height:1.5}
.booking-reassurance span:before{content:'✓';font-weight:800;color:#2e7d47}
.tour-side-support{padding:23px;border-radius:17px;background:#fcf6e9;border:1px solid #f0dcc1}
.tour-side-support-icon{font-size:27px;color:#ae7622}
.tour-side-support h3{font-size:1.45rem;color:#42271d;margin-top:8px}
.tour-side-support p,.tour-side-contact p{font-size:.83rem;line-height:1.75;color:#746157}
.tour-side-support a{font-size:.79rem;color:#6d3924;font-weight:800;text-decoration:underline;text-underline-offset:4px}
.tour-side-contact{border:1px solid #e8e0d6;border-radius:17px;padding:22px 23px;background:#fff}
.tour-side-contact h3{font-size:1.37rem}.tour-side-contact a{display:flex;align-items:center;gap:9px;border:1px solid #e9ddd1;padding:11px 13px;border-radius:10px;color:#5e3025;font-weight:750;font-size:.79rem;margin-top:9px}
.tour-side-contact a:hover{border-color:#dfbb78;background:#fff9ee}.tour-side-contact svg{width:17px;height:17px;fill:currentColor}
.tour-side-notes{padding:22px 23px;border-radius:17px;border:1px solid #eee4d9;background:#faf9f7}
.tour-side-notes strong{font-size:.89rem;color:#472b20}.tour-side-notes ul{padding-left:16px;margin:12px 0 0}.tour-side-notes li{color:#75675d;font-size:.78rem;line-height:1.75;margin-bottom:5px}
.related-tour-section{background:#fbf8f4!important;border-top:1px solid #eee5db}
.related-tour-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.related-tour-card{border-radius:15px;background:#fff;box-shadow:0 7px 27px #3e261013;overflow:hidden;border:1px solid #eae1d8;transition:transform .25s,box-shadow .25s}
.related-tour-card:hover{transform:translateY(-5px);box-shadow:0 17px 40px #53312321}
.related-tour-photo{position:relative;aspect-ratio:1.43;background:#eadbc7;overflow:hidden}.related-tour-photo img{width:100%;height:100%;object-fit:cover;transition:transform .4s}.related-tour-card:hover img{transform:scale(1.04)}
.related-tour-photo span{position:absolute;bottom:10px;left:11px;background:rgba(33,27,22,.84);border-radius:30px;color:#fff;font-size:.67rem;padding:4px 9px;font-weight:700}
.related-tour-copy{padding:16px}.related-tour-category{color:#95502d;font-size:.64rem;text-transform:uppercase;letter-spacing:.1em;font-weight:800}
.related-tour-copy h3{font-family:var(--heading-font)!important;font-size:1.26rem;line-height:1.25;color:#35231b;margin:7px 0 17px;min-height:2.45em}
.related-tour-link{border-top:1px solid #eee6df;padding-top:11px;display:flex;align-items:center;justify-content:space-between;font-size:.73rem;color:#6d3023;font-weight:750}
.related-tour-link span{font-size:1.2rem;color:#a85f2a}
/* White warm footer, legible contrast on every link */
.footer-cta{background:#f8f3ea!important;border-top:1px solid #efe4d8;border-bottom:1px solid #efe4d8;color:#3c2b23!important;padding:42px 0}
.footer-cta h2{color:#37241e!important}.footer-cta p{color:#695e57!important}.footer-cta .eyebrow{color:#a15c2e!important}
.footer-cta .btn-light{border:1px solid #d1b7a3;color:#683c2d;background:#fff}
.footer{background:#fff!important;color:#4e4039!important;border-top:0;padding-top:65px}
.footer-main{border-bottom:0;gap:26px}.footer h4,.footer h3{color:#563126!important}.footer h4{font-family:var(--body-font)!important;font-weight:800;letter-spacing:.08em;font-size:.76rem}
.footer a,.footer p,.footer .contact-mini span{color:#695d56!important}.footer a:hover{color:#9a562c!important}.footer-brand p{line-height:1.85}
.footer .social-icons a{background:#faf5ed;border:1px solid #ecdfce}.footer .social-icons a svg{color:#733e2e}
.footer-map-row{border-top:1px solid #efe7df}.footer-bottom{border-top:1px solid #eee5dd;color:#79695e}
.footer .moshi-map{box-shadow:0 8px 26px #41230f0d}
.footer .footer-newsletter button{background:#5e2f26}
/* Admin photo slots */
.gallery-editor-divider{border-top:1px solid #e8ded3;margin:29px 0 19px;padding-top:22px}
.gallery-editor-divider h3{font-size:1.12rem;margin-bottom:6px}
.tour-gallery-editor{margin-top:15px}.gallery-image-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:11px}
/* Responsive */
@media(min-width:1100px){.home-popular .cards>.package-card,.home-popular .cards>.package-card.card-v1,.home-popular .cards>.package-card.card-v2,.home-popular .cards>.package-card.card-v3{grid-column:span 3!important}}
@media(max-width:1250px){.logo{width:200px!important}.nav-link{font-size:.71rem!important;padding:10px 4px!important}.submenu-toggle{width:25px!important;height:26px!important;margin:0 2px 0 0!important}}
@media(max-width:1024px){
 .header-row{height:75px}.site-header .logo{width:220px!important}.mobile-toggle{display:block}.nav{top:75px!important;background:#fff!important;max-height:calc(100dvh - 75px);padding:14px 20px 30px!important}
 .nav.open{display:flex!important}.nav-item.has-children{position:relative!important;display:flex;flex-wrap:wrap;width:100%}
 .nav-link{font-size:.93rem!important;padding:15px 10px!important;flex:1}
 .submenu-toggle{width:43px!important;height:42px!important;margin:0!important}
 .dropdown.mega-menu{position:static!important;top:auto!important;left:auto!important;transform:none!important;width:100%!important;max-height:none!important;border:0!important;border-top:1px solid #ede0d2!important;border-radius:0!important;box-shadow:none!important;overflow:visible}
 .nav-item.has-children:not(.open)>.dropdown{display:none!important}.nav-item.has-children.open>.dropdown{display:block!important}
 .mega-menu-inner{padding:12px 4px!important}.mega-columns{grid-template-columns:repeat(2,minmax(0,1fr))}
 .home-about-modern{padding:68px 0}.home-about-grid{grid-template-columns:1fr 1fr;gap:25px}
 .related-tour-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .content-grid{grid-template-columns:1fr!important}.content-grid>aside{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.content-grid>aside .sticky-card{grid-row:span 2}
}
@media(max-width:760px){.home-about-grid{grid-template-columns:1fr}.about-photo-mosaic{max-width:580px;width:100%;margin:auto}.about-message h2{font-size:2.4rem}.content-grid>aside{grid-template-columns:1fr}.content-grid>aside .sticky-card{grid-row:auto}.section{padding:65px 0}}
@media(max-width:650px){.utility-bar{display:none}.hero,.hero-inner{min-height:550px}.hero-slide:after{background:linear-gradient(0deg,rgba(10,9,9,.8) 0%,rgba(12,11,11,.43) 85%)!important}.hero h1{font-size:clamp(2rem,8.3vw,3.25rem)}.hero-copy{padding:28px 0 95px!important}.hero-actions{gap:8px}.hero-actions .btn{font-size:.78rem}.home-about-modern{padding:46px 0 49px}.about-photo-mosaic{grid-template-rows:132px 126px;padding:6px 6px 23px}.about-message h2{font-size:2.13rem}.about-photo-label{left:9px}.finder{padding:4px 0 27px}.related-tour-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.related-tour-copy{padding:12px}.related-tour-copy h3{font-size:1.1rem}.tour-overview-photos{gap:9px}.tour-overview-photos figure{aspect-ratio:1.1}.footer{padding-top:47px}.footer-main{gap:25px}.footer-map-row{margin-top:23px}}
@media(max-width:440px){.related-tour-grid{grid-template-columns:1fr}.related-tour-photo{aspect-ratio:1.9}.related-tour-copy h3{min-height:0}.about-pill-row span{font-size:.7rem}}
@media(prefers-reduced-motion:reduce){.about-photo img,.related-tour-card img{transition:none}}
