/* Envision Africa Travel – shared site styles (merged: enhance.css + static-fixes.css + extra.css, 2026-10-03). Edit this file. */
/* ==========================================================================
   Envision Africa Travel — enhancement layer (modern, responsive, interactive)
   Adds: home hero, mobile off-canvas menu, carousels, accordions, animations,
   form states, back-to-top. Scoped with .ea- prefixes so it never fights theme CSS.
   ========================================================================== */
:root{
  --ea-green:#17402f; --ea-green-2:#0f2a20; --ea-red:#92372f;
  --ea-orange:#e8820e; --ea-orange-2:#f0a500; --ea-ink:#1c1b1a;
  --ea-sand:#f6efe6; --ea-radius:14px; --ea-shadow:0 18px 40px -18px rgba(0,0,0,.45);
  --ea-ease:cubic-bezier(.22,.61,.36,1);
}
*{scroll-behavior:smooth;}
img{max-width:100%;}

/* ---------- Buttons ---------- */
.ea-btn{display:inline-flex;align-items:center;gap:.55em;font:600 15px/1 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  letter-spacing:.02em;padding:16px 30px;border-radius:999px;text-decoration:none!important;cursor:pointer;border:2px solid transparent;
  transition:transform .25s var(--ea-ease),box-shadow .25s var(--ea-ease),background .25s,color .25s;white-space:nowrap;}
.ea-btn svg{width:1em;height:1em;}
.ea-btn--primary{background:var(--ea-orange);color:#1c1b1a!important;box-shadow:0 12px 26px -10px rgba(232,130,14,.7);}
.ea-btn--primary:hover{background:var(--ea-orange-2);transform:translateY(-3px);box-shadow:0 18px 32px -10px rgba(232,130,14,.85);}
.ea-btn--ghost{background:rgba(255,255,255,.10);color:#fff!important;border-color:rgba(255,255,255,.7);backdrop-filter:blur(4px);}
.ea-btn--ghost:hover{background:#fff;color:var(--ea-ink)!important;transform:translateY(-3px);}

/* ==========================================================================
   HOME HERO
   ========================================================================== */
.ea-hero{position:relative;min-height:92vh;display:flex;align-items:center;overflow:hidden;isolation:isolate;color:#fff;}
.ea-hero__slides{position:absolute;inset:0;z-index:-2;}
.ea-hero__slide{position:absolute;inset:0;background-size:cover;background-position:center;opacity:0;transform:scale(1.08);
  transition:opacity 1.4s var(--ea-ease);will-change:opacity;}
.ea-hero__slide.is-active{opacity:1;animation:eaHeroZoom 8s linear forwards;}
@keyframes eaHeroZoom{from{transform:scale(1.06)}to{transform:scale(1.15)}}
.ea-hero__overlay{position:absolute;inset:0;z-index:-1;
  background:linear-gradient(180deg,rgba(15,25,20,.55) 0%,rgba(15,25,20,.35) 40%,rgba(15,25,20,.72) 100%);}
.ea-hero__inner{max-width:1180px;margin:0 auto;padding:120px 24px 90px;width:100%;}
.ea-hero__eyebrow{display:inline-flex;align-items:center;gap:.6em;text-transform:uppercase;letter-spacing:.28em;
  font:700 13px/1 system-ui,sans-serif;color:#ffd9a3;margin:0 0 18px;opacity:0;transform:translateY(18px);
  animation:eaUp .8s .15s var(--ea-ease) forwards;}
.ea-hero__eyebrow::before{content:"";width:34px;height:2px;background:var(--ea-orange);}
.ea-hero__title{font:800 clamp(34px,6vw,68px)/1.05 "Playfair Display",Georgia,serif;color:#fff!important;margin:0 0 22px;max-width:15ch;
  text-shadow:0 4px 30px rgba(0,0,0,.4);opacity:0;transform:translateY(24px);animation:eaUp .9s .3s var(--ea-ease) forwards;}
.ea-hero__title span{color:var(--ea-orange-2)!important;}
.ea-hero__sub{font:400 clamp(16px,2.1vw,21px)/1.6 system-ui,sans-serif;max-width:52ch;margin:0 0 38px;color:rgba(255,255,255,.92);
  opacity:0;transform:translateY(24px);animation:eaUp .9s .45s var(--ea-ease) forwards;}
.ea-hero__cta{display:flex;flex-wrap:wrap;gap:16px;opacity:0;transform:translateY(24px);animation:eaUp .9s .6s var(--ea-ease) forwards;}
.ea-hero__stats{display:flex;flex-wrap:wrap;gap:34px;margin-top:54px;opacity:0;animation:eaUp 1s .8s var(--ea-ease) forwards;}
.ea-hero__stat b{display:block;font:800 30px/1 "Playfair Display",serif;color:#fff;}
.ea-hero__stat span{font:500 13px/1.3 system-ui,sans-serif;letter-spacing:.06em;text-transform:uppercase;color:rgba(255,255,255,.75);}
.ea-hero__dots{position:absolute;bottom:30px;left:50%;transform:translateX(-50%);display:flex;gap:10px;z-index:2;}
.ea-hero__dots button{width:11px;height:11px;border-radius:50%;border:2px solid #fff;background:transparent;cursor:pointer;padding:0;transition:.25s;}
.ea-hero__dots button.is-active{background:var(--ea-orange);border-color:var(--ea-orange);width:30px;border-radius:6px;}
@keyframes eaUp{to{opacity:1;transform:none}}
@media(max-width:640px){.ea-hero{min-height:88vh}.ea-hero__inner{padding:110px 20px 80px}.ea-hero__stats{gap:22px}.ea-hero__stat b{font-size:24px}}

/* ==========================================================================
   MOBILE OFF-CANVAS MENU
   ========================================================================== */
body.ea-noscroll{overflow:hidden;}
.ea-mm-overlay{position:fixed;inset:0;background:rgba(10,15,12,.55);backdrop-filter:blur(2px);opacity:0;visibility:hidden;
  transition:.35s;z-index:99998;}
.ea-mm-overlay.is-open{opacity:1;visibility:visible;}
/* Turn the theme's offcanvas content into a real slide-in drawer */
.gva-offcanvas-content.mobile{position:fixed!important;top:0!important;right:0!important;left:auto!important;height:100%!important;
  width:min(86vw,360px)!important;max-width:360px;background:#fff!important;z-index:99999!important;box-shadow:-20px 0 50px -20px rgba(0,0,0,.5);
  transform:translateX(105%);transition:transform .4s var(--ea-ease);overflow-y:auto;display:block!important;visibility:visible!important;opacity:1!important;padding:22px 20px 40px;}
.gva-offcanvas-content.mobile.ea-open{transform:translateX(0);}
.ea-mm-close{position:absolute;top:14px;right:16px;width:40px;height:40px;border:none;background:var(--ea-sand);border-radius:50%;
  font-size:20px;line-height:1;cursor:pointer;color:var(--ea-ink);z-index:2;}
.gva-offcanvas-content.mobile .menu-item{list-style:none;}
.gva-offcanvas-content.mobile .menu > .menu-item > a,.gva-offcanvas-content.mobile .menu-item a{display:block;padding:12px 6px;
  border-bottom:1px solid #eee;color:var(--ea-ink)!important;text-decoration:none;font:600 16px/1.2 system-ui,sans-serif;}
.gva-offcanvas-content.mobile .submenu-inner,.gva-offcanvas-content.mobile ul.sub-menu{max-height:0;overflow:hidden;
  transition:max-height .35s var(--ea-ease);padding-left:14px;}
.gva-offcanvas-content.mobile .menu-item-has-children.ea-expanded>.submenu-inner,
.gva-offcanvas-content.mobile .menu-item-has-children.ea-expanded>ul.sub-menu{max-height:1200px;}
.gva-offcanvas-content.mobile .menu-item-has-children>a::after{content:"⌄";float:right;transition:transform .3s;opacity:.6;}
.gva-offcanvas-content.mobile .menu-item-has-children.ea-expanded>a::after{transform:rotate(180deg);}

/* ==========================================================================
   SCROLL REVEAL ANIMATIONS
   ========================================================================== */
.ea-reveal{opacity:0;transform:translateY(34px);transition:opacity .7s var(--ea-ease),transform .7s var(--ea-ease);will-change:opacity,transform;}
.ea-reveal.ea-in{opacity:1;transform:none;}
@media(prefers-reduced-motion:reduce){.ea-reveal{opacity:1!important;transform:none!important;}.ea-hero__slide.is-active{animation:none;}}

/* ==========================================================================
   CAROUSELS (arrows + drag) — layered on the scroll-snap fallback
   ========================================================================== */
.ea-carousel-wrap{position:relative;}
.swiper .swiper-wrapper{scroll-behavior:smooth;padding-bottom:6px;}
.swiper .swiper-wrapper::-webkit-scrollbar{height:6px;}
.swiper .swiper-wrapper::-webkit-scrollbar-thumb{background:rgba(0,0,0,.18);border-radius:6px;}
.ea-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:5;width:46px;height:46px;border-radius:50%;border:none;
  background:#fff;color:var(--ea-ink);box-shadow:var(--ea-shadow);cursor:pointer;font-size:20px;display:flex;align-items:center;
  justify-content:center;transition:.25s;}
.ea-arrow:hover{background:var(--ea-orange);color:#fff;}
.ea-arrow--prev{left:-6px;} .ea-arrow--next{right:-6px;}
.ea-arrow[disabled]{opacity:0;pointer-events:none;}
@media(max-width:600px){.ea-arrow{width:38px;height:38px;}}

/* ==========================================================================
   ACCORDIONS (Elementor) — smooth toggle
   ========================================================================== */
.elementor-accordion .elementor-tab-title{cursor:pointer;transition:background .25s,color .25s;}
.elementor-accordion .elementor-tab-content{display:none;}
.elementor-accordion .elementor-tab-content.ea-open{display:block;animation:eaFade .4s var(--ea-ease);}
@keyframes eaFade{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}

/* ==========================================================================
   FORMS
   ========================================================================== */
.wpcf7-form input,.wpcf7-form textarea,.ea-form input,.ea-form textarea{transition:border-color .2s,box-shadow .2s;}
.wpcf7-form input:focus,.wpcf7-form textarea:focus{outline:none;border-color:var(--ea-orange)!important;box-shadow:0 0 0 3px rgba(232,130,14,.18)!important;}
.ea-field-error{border-color:#d33!important;box-shadow:0 0 0 3px rgba(221,51,51,.15)!important;}
.ea-form-msg{margin-top:14px;padding:14px 18px;border-radius:10px;font:500 15px/1.5 system-ui,sans-serif;display:none;}
.ea-form-msg.ea-ok{display:block;background:#e7f6ec;color:#1b7a3d;border:1px solid #bfe6cd;}
.ea-form-msg.ea-err{display:block;background:#fdecec;color:#b02525;border:1px solid #f4c4c4;}
.ea-sending{opacity:.6;pointer-events:none;}

/* ==========================================================================
   BACK TO TOP
   ========================================================================== */
.ea-top{position:fixed;right:20px;bottom:22px;width:48px;height:48px;border-radius:50%;border:none;background:var(--ea-green);
  color:#fff;font-size:22px;cursor:pointer;box-shadow:var(--ea-shadow);opacity:0;visibility:hidden;transform:translateY(12px);
  transition:.3s var(--ea-ease);z-index:9990;}
.ea-top.is-show{opacity:1;visibility:visible;transform:none;}
.ea-top:hover{background:var(--ea-orange);}

/* ==========================================================================
   SMALL POLISH
   ========================================================================== */
a{transition:color .2s;}
.tour-card,.excursion-card{transition:transform .35s var(--ea-ease),box-shadow .35s var(--ea-ease);}
.tour-card:hover{transform:translateY(-6px);box-shadow:var(--ea-shadow);}

.ea-hero h1,.ea-hero .ea-hero__title{color:#fff!important;}
.ea-hero__title span{color:var(--ea-orange-2)!important;}

/* ---- Static-site fixes: neutralize JS-driven Swiper carousels so all slides are visible ---- */
.swiper .swiper-wrapper{transform:none!important;display:flex!important;flex-wrap:nowrap!important;overflow-x:auto!important;overflow-y:hidden!important;gap:12px;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;height:auto!important;}
.swiper .swiper-slide{flex:0 0 auto!important;height:auto!important;scroll-snap-align:start;}
.swiper{overflow:hidden!important;}
.elementor-image-carousel-wrapper.swiper .swiper-slide img{height:auto;}
/* hide non-functional carousel arrow/dot controls */
.elementor-swiper-button,.swiper-pagination,.swiper-button-next,.swiper-button-prev{display:none!important;}
/* reveal anything the theme left hidden pending JS */
.elementor-invisible{visibility:visible!important;}
/* ---- Force Seraphinite lazy-load elements to their loaded/visible state (JS removed) ---- */
.lzl,.lzl-ing,img.lzl,.lzl:not(.lzl-ed),*[class*="lzl"]{opacity:1!important;visibility:visible!important;}

.lzl-fr-ing,.lzl-fr-ing *,.lzl-fr-ing:not(.lzl-fr-sa) *{opacity:1!important;visibility:visible!important;}
img.lzl{filter:none!important;}
/* ---- Hide JS-controlled page preloader / overlays that never dismiss without JS ---- */
.tevily-page-loading,.page-loading,.preloader,#preloader,.elementor-loading{display:none!important;}
body{overflow:auto!important;}


.ea-africa-map{width:100%;height:auto;display:block;max-width:560px;margin:0 auto;overflow:visible}
.map_wrapper{overflow:hidden;padding:0 12px;box-sizing:border-box}
.ea-africa-map path{fill:#91372f;stroke:#fff;stroke-width:1;transition:fill .2s}
.ea-africa-map a.am-on path{fill:#eb9621;cursor:pointer}
.ea-africa-map a.am-on:hover path,.ea-africa-map a.am-on:focus path{fill:#EAD3AA}
.map_wrapper .map_aspect_ratio{padding-top:0!important;height:auto!important}
.map_wrapper .map_container,.map_wrapper .map_render{position:static!important;height:auto!important}
img{height:auto}
.ea-terms{max-width:900px;margin:0 auto;padding:60px 20px 80px;color:#3c3b45;font-size:16px;line-height:1.75}
.ea-terms h2{font-size:clamp(20px,2.4vw,26px);margin:2.2em 0 .7em;padding-top:.6em;border-top:2px solid #eb9621;color:#1f2a24}
.ea-terms h2:first-of-type{border-top:0;margin-top:0}
.ea-terms h3{font-size:18px;margin:1.6em 0 .5em;color:#91372f}
.ea-terms p{margin:0 0 .9em}
.ea-terms em{color:#6b6a72}
@media(max-width:600px){.ea-terms{padding:36px 16px 56px;font-size:15px}}
.ea-terms__head{text-align:center;margin:0 0 36px}
.ea-terms__kicker{display:block;font-family:reey,cursive;color:#c9442f;font-size:clamp(26px,4vw,40px);line-height:1.2}
.ea-terms__head h1{font-size:clamp(30px,5vw,48px);margin:.1em 0 0;color:#1f2a24}
.main-search .control-search{cursor:pointer}
.main-search.ea-search-open .gva-search-content{display:block!important;visibility:visible!important;opacity:1!important;pointer-events:auto!important;transform:none!important}

/* ===== Footer (static rebuild) ===== */
footer.clearfix{background:none!important;padding:0!important}
.ea-footer{background:#1f1f1f url(../img/2021-09-bg-map-2-435.webp) no-repeat right 4% top 60px;background-size:340px auto;color:#cfcac0;font:400 15px/1.7 Roboto,Arial,sans-serif}
.ea-footer__stripe{display:flex;height:6px}
.ea-footer__stripe span{flex:1}
.ea-footer__stripe span:nth-child(1){background:#92372F}.ea-footer__stripe span:nth-child(2){background:#EAD3AA}
.ea-footer__stripe span:nth-child(3){background:#22401f}.ea-footer__stripe span:nth-child(4){background:#92372F}
.ea-footer__inner{max-width:1200px;margin:0 auto;padding:64px 24px 40px;display:grid;grid-template-columns:1.4fr 1fr 1fr 1.3fr;gap:40px}
.ea-footer h3{color:#fff;font:600 17px/1.3 Roboto,Arial,sans-serif;margin:0 0 14px;letter-spacing:.02em;position:relative;padding-bottom:10px}
.ea-footer h3::after{content:"";position:absolute;left:0;bottom:0;width:36px;height:2px;background:#EB9621}
.ea-footer h3:not(:first-child){margin-top:26px}
.ea-footer ul{list-style:none;margin:0;padding:0}
.ea-footer li{margin:0 0 8px}
.ea-footer a{color:#e9e5dc;text-decoration:none;transition:color .2s}
.ea-footer a:hover{color:#EB9621}
.ea-footer p{margin:0 0 14px;text-align:left}
.ea-footer__brand{display:flex;align-items:center;gap:12px;margin-bottom:16px}
.ea-footer__brand img{width:64px;height:auto}
.ea-footer__brand span{font-family:reey,cursive;font-size:30px;color:#fff;line-height:1.25}
.ea-footer__kicker{color:#EB9621;font-weight:600;font-size:16px}
.ea-footer__social{display:flex;gap:10px;margin-top:6px}
.ea-footer__social a{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.08);color:#fff}
.ea-footer__social a:hover{background:#EB9621;color:#1f1f1f}
.ea-footer__contact li a,.ea-footer__addr{display:flex;gap:10px;align-items:flex-start}
.ea-footer__contact svg{flex:0 0 18px;margin-top:4px;color:#EB9621}
.ea-footer__addr{color:#cfcac0}
.ea-footer__reg{color:#EAD3AA;font-size:13px;margin-top:6px}
.ea-footer__badges{display:flex;gap:12px;align-items:center;margin-top:8px}
.ea-footer__badges img{background:#fff;border-radius:8px;padding:4px;height:56px;width:auto}
.ea-footer__bottom{border-top:1px solid rgba(255,255,255,.1);max-width:1200px;margin:0 auto;padding:18px 24px 26px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px;font-size:13px;color:#a9a49a}
.ea-footer__bottom a{color:#cfcac0}
@media(max-width:1024px){.ea-footer__inner{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.ea-footer__inner{grid-template-columns:1fr;gap:30px;padding:44px 20px 28px}.ea-footer{background-size:240px auto}.ea-footer__bottom{flex-direction:column;align-items:center;text-align:center}}

@media(max-width:767px){
 .ea-cta-band .elementor-container{flex-direction:column;align-items:center}
 .ea-cta-band .elementor-column{width:100%!important}
 .ea-cta-band .elementor-widget-wrap{justify-content:center!important;padding:6px 16px!important}
 .ea-cta-band h2.elementor-heading-title{text-align:center!important;font-size:21px!important;line-height:1.35!important}
 .ea-cta-band .elementor-button-wrapper,.ea-cta-band .elementor-widget-button{text-align:center!important;margin-top:0!important}
 .ea-cta-band{padding-top:26px!important;padding-bottom:26px!important}
}
.ea-footer,.ea-footer *{text-align:left!important}
.ea-footer__bottom{text-align:inherit}
@media(max-width:600px){.ea-footer__bottom,.ea-footer__bottom *{text-align:center!important}}
.ea-footer__brand span{font-size:27px!important;white-space:nowrap}
.ea-footer h3,.ea-footer li,.ea-footer p{float:none!important}
@media(max-width:600px){.ea-footer__inner{grid-template-columns:1fr 1fr;gap:28px 20px}.ea-footer__about,.ea-footer__contact{grid-column:1/-1}}

/* ===== Tour & vehicle cards: dimmed photos, readable text (2026-10-03) ===== */
.tour-card{background:#000}
.tour-card img{filter:brightness(.55);transition:filter .35s ease,transform .35s ease}
.tour-card:hover img{filter:brightness(.45)}
.tour-card .tour-overlay{top:0;bottom:0;display:flex;flex-direction:column;justify-content:flex-end;background:linear-gradient(to top,rgba(0,0,0,.85) 0%,rgba(0,0,0,.55) 45%,rgba(0,0,0,.15) 100%) !important;color:#fff !important;opacity:1 !important;filter:none !important}
.tour-card .tour-overlay *{opacity:1 !important;filter:none !important}
.tour-card .tour-title{color:#fff !important;text-shadow:0 2px 10px rgba(0,0,0,.7)}
.tour-card .tour-type,.tour-card .tour-overlay p,.tour-card .tour-overlay li{color:#fff !important;text-shadow:0 1px 6px rgba(0,0,0,.8)}
.tour-card .tour-overlay p.tour-price{color:#ffc93c !important;text-shadow:0 1px 6px rgba(0,0,0,.8)}
.tour-card .tour-overlay > a,.tour-card .tour-overlay > .read-more,.tour-card .tour-overlay a{align-self:flex-start;width:auto}

/* ===== 2026-10-03 (2): brighter itinerary background, gallery glide, readable excursion captions ===== */
.elementor-1065 .elementor-element.elementor-element-5ff2d26>.elementor-background-overlay{opacity:.08 !important}
.swiper .swiper-wrapper.ea-marquee{scrollbar-width:none}
.swiper .swiper-wrapper.ea-marquee::-webkit-scrollbar{display:none}
.excursion-card{position:relative}
.excursion-card .excursion-card-content{background:linear-gradient(to top,rgba(0,0,0,.85) 0%,rgba(0,0,0,.45) 60%,rgba(0,0,0,0) 100%) !important;padding:60px 22px 22px !important}
.excursion-card .excursion-card-content p{color:#fff !important;font-size:20px;font-weight:600;line-height:1.3;margin:0;text-shadow:0 2px 8px rgba(0,0,0,.8);opacity:1 !important}
.tour-card img{filter:brightness(.75)}
.tour-card:hover img{filter:brightness(.65)}
.excursion-card .excursion-card-content h1,.excursion-card .excursion-card-content h2,.excursion-card .excursion-card-content h3,.excursion-card .excursion-card-content h4,.excursion-card .excursion-card-content h5,.excursion-card .excursion-card-content h6,.excursion-card .excursion-card-content a,.excursion-card .excursion-card-content span{color:#fff !important;font-size:20px;font-weight:600;line-height:1.3;margin:0;text-transform:none;text-shadow:0 2px 8px rgba(0,0,0,.8);opacity:1 !important}
/* Vehicle cards (home): clean, clear photos; shade only behind the text */
.elementor-element-1ff1a28 .tour-card img,.elementor-element-1ff1a28 .tour-card:hover img{filter:none !important}
.elementor-element-1ff1a28 .tour-card .tour-overlay{top:auto !important;background:linear-gradient(to top,rgba(0,0,0,.82) 0%,rgba(0,0,0,.55) 55%,rgba(0,0,0,0) 100%) !important;padding-top:70px}
.elementor-element-1ff1a28 .tour-card .tour-overlay{background:linear-gradient(to top,rgba(0,0,0,.7) 0%,rgba(0,0,0,.35) 50%,rgba(0,0,0,0) 100%) !important}
.elementor-element-1ff1a28 .tour-card .tour-title,.elementor-element-1ff1a28 .tour-card .tour-overlay p,.elementor-element-1ff1a28 .tour-card .tour-overlay li{text-shadow:0 1px 3px rgba(0,0,0,.9),0 2px 12px rgba(0,0,0,.7)}

/* ===== Vehicle / contact HTML-widget layout (Tailwind-style utilities, 2026-10-03) ===== */
.elementor-widget-html .container.mx-auto{max-width:1200px;margin-left:auto;margin-right:auto;width:100%}
.elementor-widget-html .mx-auto{margin-left:auto;margin-right:auto}
.elementor-widget-html .max-w-6xl{max-width:72rem}.elementor-widget-html .max-w-3xl{max-width:48rem}
.elementor-widget-html .grid{display:grid}
.elementor-widget-html .grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}
.elementor-widget-html .gap-4{gap:1rem}.elementor-widget-html .gap-6{gap:1.5rem}
.elementor-widget-html .card{display:flex;flex-direction:column;background:#fff;border-radius:.6rem;overflow:hidden;box-shadow:0 10px 25px rgba(0,0,0,.12);border:0}
.elementor-widget-html .card .card-img{height:240px !important;width:100%;object-fit:cover;border-radius:0}
.elementor-widget-html .p-4{padding:1rem}.elementor-widget-html .px-3{padding-left:.75rem;padding-right:.75rem}.elementor-widget-html .px-4{padding-left:1rem;padding-right:1rem}
.elementor-widget-html .py-2{padding-top:.5rem;padding-bottom:.5rem}.elementor-widget-html .py-6{padding-top:1.5rem;padding-bottom:1.5rem}.elementor-widget-html .py-8{padding-top:2rem;padding-bottom:2rem}
.elementor-widget-html .mb-2{margin-bottom:.5rem}.elementor-widget-html .mb-3{margin-bottom:.75rem}.elementor-widget-html .mb-4{margin-bottom:1rem}.elementor-widget-html .mb-6{margin-bottom:1.5rem}
.elementor-widget-html .mt-4{margin-top:1rem}.elementor-widget-html .mt-8{margin-top:2rem}
.elementor-widget-html .text-sm{font-size:.875rem;line-height:1.5}.elementor-widget-html .text-base{font-size:1rem;line-height:1.6}.elementor-widget-html .text-lg{font-size:1.125rem}.elementor-widget-html .text-xl{font-size:1.25rem;line-height:1.4}.elementor-widget-html .text-2xl{font-size:1.5rem;line-height:1.3}
.elementor-widget-html .font-bold{font-weight:700}.elementor-widget-html .font-semibold{font-weight:600}.elementor-widget-html .text-center{text-align:center}
.elementor-widget-html .text-green-700{color:#15803d}.elementor-widget-html .text-gray-600{color:#4b5563}.elementor-widget-html .text-gray-700{color:#374151}.elementor-widget-html .text-gray-800{color:#1f2937}.elementor-widget-html .text-white{color:#fff}
.elementor-widget-html .bg-white{background:#fff}.elementor-widget-html .bg-gray-50{background:#f9fafb}.elementor-widget-html .bg-gray-100{background:#f3f4f6}
.elementor-widget-html .bg-orange-600{background:#ea580c}.elementor-widget-html .hover\:bg-orange-700:hover{background:#c2410c}
.elementor-widget-html .rounded{border-radius:.25rem}.elementor-widget-html .rounded-lg{border-radius:.5rem}
.elementor-widget-html .shadow-lg{box-shadow:0 10px 25px rgba(0,0,0,.12)}.elementor-widget-html .shadow-md{box-shadow:0 4px 10px rgba(0,0,0,.1)}
.elementor-widget-html .inline-block{display:inline-block}.elementor-widget-html .w-full{width:100%}.elementor-widget-html .overflow-hidden{overflow:hidden}
.elementor-widget-html .list-disc{list-style:disc}.elementor-widget-html .list-inside{list-style-position:inside}
.elementor-widget-html .transition{transition:all .3s}
@media (min-width:640px){
 .elementor-widget-html .sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}
 .elementor-widget-html .sm\:gap-6{gap:1.5rem}.elementor-widget-html .sm\:gap-8{gap:2rem}
 .elementor-widget-html .sm\:p-6{padding:1.5rem}.elementor-widget-html .sm\:px-4{padding-left:1rem;padding-right:1rem}.elementor-widget-html .sm\:px-6{padding-left:1.5rem;padding-right:1.5rem}.elementor-widget-html .sm\:py-12{padding-top:3rem;padding-bottom:3rem}
 .elementor-widget-html .sm\:mb-8{margin-bottom:2rem}.elementor-widget-html .sm\:mt-12{margin-top:3rem}
 .elementor-widget-html .sm\:text-base{font-size:1rem;line-height:1.6}.elementor-widget-html .sm\:text-lg{font-size:1.125rem}.elementor-widget-html .sm\:text-xl{font-size:1.25rem}.elementor-widget-html .sm\:text-2xl{font-size:1.5rem}.elementor-widget-html .sm\:text-3xl{font-size:1.875rem}
}
@media (min-width:768px){.elementor-widget-html .md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.elementor-widget-html .md\:px-8{padding-left:2rem;padding-right:2rem}}
@media (min-width:1024px){.elementor-widget-html .lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.elementor-widget-html .lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}

/* ===== Testimonials: one at a time (2026-10-03) ===== */
.gva-testimonial-carousel .swiper .swiper-wrapper{gap:12px}
.gva-testimonial-carousel .swiper .swiper-slide{flex:0 0 100% !important;width:100% !important;max-width:none !important;display:flex;justify-content:center}
.gva-testimonial-carousel .swiper .swiper-slide .testimonial-item{width:100%;max-width:820px;margin:0 auto}
.gva-testimonial-carousel .swiper .swiper-wrapper{scrollbar-width:none}
.gva-testimonial-carousel .swiper .swiper-wrapper::-webkit-scrollbar{display:none}

/* ===== Cookie consent banner (2026-10-03) ===== */
.ea-cc{position:fixed;left:24px;bottom:24px;z-index:99999;width:min(460px,calc(100vw - 32px));background:#fff;color:#2b2b2b;border-radius:16px;box-shadow:0 18px 50px rgba(20,20,20,.28),0 2px 8px rgba(0,0,0,.08);overflow:hidden;font-family:"DM Sans","Roboto",system-ui,sans-serif;opacity:0;transform:translateY(24px);transition:opacity .3s ease,transform .3s ease}
.ea-cc--show{opacity:1;transform:none}
.ea-cc__stripe{display:flex;height:5px}.ea-cc__stripe span{flex:1}
.ea-cc__stripe span:nth-child(1),.ea-cc__stripe span:nth-child(4){background:#92372F}.ea-cc__stripe span:nth-child(2){background:#EAD3AA}.ea-cc__stripe span:nth-child(3){background:#2f5a3a}
.ea-cc__body{padding:22px 24px 20px}
.ea-cc__head{display:flex;align-items:center;gap:12px;margin-bottom:10px}
.ea-cc__icon{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;background:#fbf1e1;color:#EB9621;flex:0 0 44px}
.ea-cc__title{margin:0;font-size:19px;line-height:1.25;font-weight:700;color:#1f2a24;letter-spacing:0}
.ea-cc__text{margin:0 0 16px;font-size:14.5px;line-height:1.6;color:#4a4a4a}
.ea-cc__text a{color:#92372F;font-weight:600;text-decoration:underline;text-underline-offset:2px}
.ea-cc__prefs{border-top:1px solid #eee;margin:0 0 16px;padding-top:6px}
.ea-cc__opt{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 0;border-bottom:1px solid #f1f1f1;cursor:pointer;margin:0}
.ea-cc__opt strong{display:block;font-size:14.5px;color:#1f2a24}.ea-cc__opt small{display:block;font-size:12.5px;color:#6b6b6b;line-height:1.45;margin-top:2px}
.ea-cc__always{font-size:12px;font-weight:700;color:#2f5a3a;background:#e6efe8;padding:4px 10px;border-radius:999px;white-space:nowrap}
.ea-cc__switch{appearance:none;-webkit-appearance:none;width:44px;height:24px;border-radius:999px;background:#cfcac0;position:relative;flex:0 0 44px;cursor:pointer;transition:background .2s;margin:0;border:0}
.ea-cc__switch::after{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.25);transition:transform .2s}
.ea-cc__switch:checked{background:#2f5a3a}.ea-cc__switch:checked::after{transform:translateX(20px)}
.ea-cc__switch:focus-visible{outline:3px solid rgba(235,150,33,.5);outline-offset:2px}
.ea-cc__actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.ea-cc__btn{font:inherit;font-size:14px;font-weight:700;border-radius:999px;padding:11px 18px;cursor:pointer;line-height:1;transition:background .2s,color .2s,border-color .2s;letter-spacing:.2px}
.ea-cc__btn--primary{background:#92372F;color:#fff;border:2px solid #92372F;flex:1 1 auto}
.ea-cc__btn--primary:hover{background:#7a2c25;border-color:#7a2c25}
.ea-cc__btn--outline{background:#fff;color:#92372F;border:2px solid #92372F;flex:1 1 auto}
.ea-cc__btn--outline:hover{background:#fbf1ee}
.ea-cc__btn--ghost{background:none;border:2px solid transparent;color:#1f2a24;padding-left:4px;padding-right:8px;text-decoration:underline;text-underline-offset:3px}
.ea-cc__btn--ghost:hover{color:#92372F}
.ea-cc__btn:focus-visible{outline:3px solid rgba(235,150,33,.55);outline-offset:2px}
@media (max-width:600px){
 .ea-cc{left:0;right:0;bottom:0;width:100%;border-radius:18px 18px 0 0}
 .ea-cc__body{padding:18px 18px calc(16px + env(safe-area-inset-bottom))}
 .ea-cc__actions{flex-direction:column-reverse;align-items:stretch}
 .ea-cc__btn{width:100%;padding:13px 18px}
 .ea-cc__btn--ghost{text-align:center}
}
@media (prefers-reduced-motion:reduce){.ea-cc{transition:none}}
.ea-cookie-notice{margin-top:40px;padding:24px 26px;border-radius:14px;background:#faf6ef;border-left:5px solid #EB9621}
.ea-terms .ea-cookie-notice h2{margin:0 0 12px !important;padding-top:0 !important;border-top:0 !important;font-size:24px !important;line-height:1.3;color:#1f2a24}
/* contrast fixes (audit 2026-10-03) */
.elementor-widget-html .bg-orange-600{background:#c2410c}.elementor-widget-html .hover\:bg-orange-700:hover{background:#9a3412}
.ea-terms .ea-cookie-notice a{color:#92372F;text-decoration:underline;text-underline-offset:2px}
/* accessibility helpers (audit) */
.ea-skip{position:absolute;left:12px;top:-60px;z-index:100000;background:#1f2a24;color:#fff;padding:10px 16px;border-radius:8px;font-weight:700;text-decoration:none;transition:top .2s}
.ea-skip:focus{top:12px;color:#fff;outline:3px solid #EB9621;outline-offset:2px}
#page-content:focus{outline:none}
.ea-hero__dots{gap:16px !important}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:3px solid #EB9621 !important;outline-offset:2px}
.swiper .swiper-wrapper:focus-visible{outline:3px solid #EB9621;outline-offset:-3px}
.ea-form-privacy{font-size:13px;line-height:1.5;color:#5f6170;margin:12px 0 0}
.ea-form-privacy a{color:#92372F;text-decoration:underline}
.ea-form-msg.ea-err a,.ea-form-msg.ea-ok a{text-decoration:underline}
/* Floating WhatsApp button (replaces broken chat-plugin leftover) */
.ea-wa{position:fixed;right:18px;bottom:84px;z-index:9990;width:52px;height:52px;border-radius:50%;background:#1f7a3e;color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 8px 22px rgba(0,0,0,.28);transition:transform .2s,background .2s}
.ea-wa:hover{background:#17602f;color:#fff;transform:translateY(-2px)}
@media (max-width:600px){.ea-wa{width:48px;height:48px;right:16px;bottom:78px}}
/* Google Maps placeholder until consent */
.ea-map-consent{min-height:320px;display:flex;align-items:center;justify-content:center;background:#f6efe6 linear-gradient(135deg,#f6efe6,#efe2cf);border-radius:12px;padding:24px;text-align:center}
.ea-map-consent__inner{max-width:420px}
.ea-map-consent__title{font-weight:700;font-size:18px;color:#1f2a24;margin:0 0 8px}
.ea-map-consent p{color:#4a4a4a;font-size:14.5px;line-height:1.55;margin:0 0 14px}
.ea-map-consent__btn{background:#92372F;color:#fff;border:0;border-radius:999px;padding:11px 22px;font-weight:700;cursor:pointer;font:inherit;font-weight:700}
.ea-map-consent__btn:hover{background:#7a2c25}
.ea-map-consent__link{display:block;margin-top:12px;color:#92372F;text-decoration:underline;font-size:14px}
.ea-map-frame{width:100%;height:500px;border:0}
.ea-404{text-align:center;padding:40px 0 60px}
.ea-404 p{font-size:17px}
.ea-404__links{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin-top:24px}
.ea-404__btn{display:inline-block;padding:12px 22px;border-radius:999px;background:#92372F;color:#fff !important;font-weight:700;text-decoration:none}
.ea-404__btn--alt{background:#fff;color:#92372F !important;border:2px solid #92372F}
/* mobile menu: overlay must sit below the header (z-index 999) that contains the menu panel */
.ea-mm-overlay{z-index:998 !important}
body.ea-noscroll .ea-wa,body.ea-noscroll .ea-top{opacity:0;visibility:hidden}
/* mobile menu sub-items (theme uses ul.submenu-inner, not ul.sub-menu) */
.gva-offcanvas-content.mobile .menu-item-has-children>ul.submenu-inner{display:none;position:static !important;opacity:1 !important;visibility:visible !important;transform:none !important;box-shadow:none !important;padding:4px 0 8px 14px !important;margin:0;background:transparent !important;min-width:0 !important;width:auto !important}
.gva-offcanvas-content.mobile .menu-item-has-children.ea-expanded>ul.submenu-inner{display:block !important}
.gva-offcanvas-content.mobile ul.submenu-inner a{font-size:15px;font-weight:500;padding:8px 0 !important;display:block}
.gva-offcanvas-content.mobile .menu-item-has-children>a{position:relative;padding-right:32px !important}
.gva-offcanvas-content.mobile .menu-item-has-children>a::after{content:"";position:absolute;right:8px;top:50%;width:8px;height:8px;margin-top:-6px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);transition:transform .2s}
.gva-offcanvas-content.mobile .menu-item-has-children.ea-expanded>a::after{transform:rotate(225deg);margin-top:-2px}
/* readable text on the orange "Envision Africa Travel offers…" panels (contrast) */
.elementor-element-9c0017a>.elementor-widget-wrap .elementor-widget-text-editor *,.elementor-element-9c0017a>.elementor-widget-wrap .elementor-heading-title,.elementor-element-92e24ef>.elementor-widget-wrap .elementor-widget-text-editor *,.elementor-element-92e24ef>.elementor-widget-wrap .elementor-heading-title,.elementor-element-23db7cb>.elementor-widget-wrap .elementor-widget-text-editor *,.elementor-element-23db7cb>.elementor-widget-wrap .elementor-heading-title,.elementor-element-ff5955c>.elementor-widget-wrap .elementor-widget-text-editor *,.elementor-element-ff5955c>.elementor-widget-wrap .elementor-heading-title,.elementor-element-ce9c8de>.elementor-widget-wrap .elementor-widget-text-editor *,.elementor-element-ce9c8de>.elementor-widget-wrap .elementor-heading-title,.elementor-element-8e1e387>.elementor-widget-wrap .elementor-widget-text-editor *,.elementor-element-8e1e387>.elementor-widget-wrap .elementor-heading-title,.elementor-element-6ada256>.elementor-widget-wrap .elementor-widget-text-editor *,.elementor-element-6ada256>.elementor-widget-wrap .elementor-heading-title{color:#1c1b1a !important}
.ea-cc{visibility:hidden}.ea-cc.ea-cc--show{visibility:visible}
/* keep logo proportions (mobile menu logo was squashed to 22px high) */
img[src*="logo-header-"]{height:auto !important;object-fit:contain}
.logo-mm img{width:auto !important;max-width:118px;height:auto !important;max-height:46px}
.gva-offcanvas-content .logo-mm img{height:46px !important;max-height:none !important;width:auto !important;max-width:none !important}
/* phones: lighter hero images */
@media (max-width:767px){
.ea-hero__slide[style*="header-8-1600"]{background-image:url("../img/2025-06-header-8-1024.webp") !important}
}
.ea-sr{position:absolute !important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
/* Clean mobile menu: hide the theme's logo/close strip, keep only the round close button */
.gva-offcanvas-content.mobile .top-canvas{display:none !important}
.gva-offcanvas-content.mobile{padding-top:64px !important}
