/**
 * EcoSapa homepage styles.
 *
 * Loaded only on the WordPress front page. The block order intentionally mirrors
 * the previous inline stylesheet order so the approved visual cascade is preserved.
 *
 * @package EcoSapa_Child
 */

/* ===== Migrated from inline-block-1 ===== */
/* ── WP OVERRIDE ── */
html,body{max-width:none!important;width:100%!important;margin:0!important;padding:0!important}
#page,#content,#primary,#secondary,#main,#sidebar,.site,.site-content,.site-inner,.content-area,.widget-area,.hentry,.post,.page,.entry-content,.container,.tm-wrapper,.tm-content-wrapper,.tm-content-area,.tm-main,.tm-sidebar,[class*="tm-col"],.site-primary,.site-secondary{all:unset!important;display:revert!important;float:none!important;width:auto!important;max-width:none!important;padding:0!important;margin:0!important}
.hero-section{position:relative!important;background-color:#041e18!important;}
.hero-img{display:none!important;}
.hero-overlay{position:absolute!important;inset:0!important;z-index:2!important;}
.hero-van-wrap{position:absolute!important;inset:0!important;z-index:3!important;pointer-events:none!important;}
.hero-body{position:relative!important;z-index:4!important;}
.hero-card{display:none!important;}

/* ── TOKENS ── */
:root{
  --teal:#0d4a3d;
  --teal2:#072e26;
  --teal-lt:#e8f5ee;
  --gold:#b5720a;
  --gold-lt:#fff8eb;
  --wa:#25D366;
  --wa2:#1da851;
  --ink:#1a1208;
  --muted:#6b6356;
  --border:#ddd8cf;
  --slate:#f7f5f1;
  --white:#fff;
  --serif:'DM Sans',system-ui,-apple-system,'Segoe UI',sans-serif;
  --sans:'DM Sans',system-ui,sans-serif;
  --r:14px;
  --sh:0 4px 24px rgba(7,46,38,.10);
  --sh2:0 8px 40px rgba(7,46,38,.15);
}

/* ── RESET ── */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;scroll-padding-top:70px}
body{font-family:var(--sans);font-size:19px;line-height:1.72;color:var(--ink);background:#fff;-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
a:hover{opacity:.85}

/* ── PROGRESS BAR ── */
#prog{position:fixed;top:0;left:0;width:0%;height:3px;background:linear-gradient(90deg,var(--teal),var(--gold));z-index:9999;transition:width .1s}

/* ── TOPBAR ── */
.topbar{background:var(--teal2);color:rgba(255,255,255,.82);font-size:.9rem;padding:8px 20px;display:flex;align-items:center;justify-content:center;gap:18px;flex-wrap:wrap}
.topbar a{color:rgba(255,255,255,.9);display:inline-flex;align-items:center;gap:5px;font-weight:500}
.topbar a:hover{color:#fff}
.topbar svg{width:13px;height:13px;fill:currentColor;flex-shrink:0}
.tb-div{color:rgba(255,255,255,.3)}

/* ── NAV ── */
nav.sitenav{position:sticky;top:0;z-index:800;background:#fff;border-bottom:1.5px solid var(--border);box-shadow:0 2px 12px rgba(0,0,0,.06)}
.nav-inner{max-width:1280px;margin:0 auto;padding:0 20px;display:flex;align-items:center;justify-content:space-between;height:62px;gap:16px}
.nav-logo{display:flex;align-items:center;gap:10px;flex-shrink:0}
.nav-logo img{height:36px;width:auto}
.nav-logo-text{display:flex;flex-direction:column;line-height:1.1}
.nav-logo-text strong{font-family:var(--serif);font-size:1.15rem;color:var(--teal);font-weight:700}
.nav-logo-text span{font-size:.88rem;color:var(--muted);font-weight:500}
.nav-links{display:flex;align-items:center;gap:2px}
.nav-links a{padding:9px 16px;font-size:1.05rem;font-weight:600;color:var(--ink);border-radius:8px;white-space:nowrap;transition:background .15s,color .15s}
.nav-links a:hover,.nav-links a.active{background:var(--teal-lt);color:var(--teal)}
/* ── TOURS DROPDOWN ── */
.nav-drop{position:relative;display:inline-flex;align-items:center}
.nav-drop-btn{display:flex;align-items:center;gap:5px;padding:9px 14px;font-size:1rem;font-weight:600;color:var(--ink);border-radius:8px;cursor:pointer;white-space:nowrap;transition:background .15s,color .15s;user-select:none}
.nav-drop-btn:hover,.nav-drop.open .nav-drop-btn{background:var(--teal-lt);color:var(--teal)}
.nav-drop-caret{font-size:10px;opacity:.6;transition:transform .2s}
.nav-drop.open .nav-drop-caret{transform:rotate(180deg)}
.nav-drop-menu{display:none;position:absolute;top:calc(100% + 8px);left:0;background:#fff;border:1.5px solid var(--border);border-radius:16px;box-shadow:0 8px 36px rgba(7,46,38,.14);min-width:220px;padding:8px;z-index:600}
.nav-drop.open .nav-drop-menu{display:block;animation:dropFade .18s ease}
@keyframes dropFade{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
.nd-item{display:flex;align-items:center;gap:10px;padding:10px 14px;border-radius:10px;font-size:.95rem;font-weight:600;color:var(--ink);text-decoration:none;transition:background .12s,color .12s;white-space:nowrap}
.nd-item:hover{background:var(--teal-lt);color:var(--teal)}
.nd-item.nd-active{background:var(--teal-lt);color:var(--teal);font-weight:800}
.nd-item.nd-soon{opacity:.65;cursor:default}
.nd-item.nd-soon:hover{background:transparent;color:var(--ink);opacity:.65}
.nd-cs{font-size:.68rem;font-weight:800;background:#f0f0f0;color:#999;padding:2px 7px;border-radius:20px;margin-left:auto;letter-spacing:.3px;text-transform:uppercase;flex-shrink:0}
.nd-icon{font-size:1.1rem;width:24px;text-align:center;flex-shrink:0}
.nd-divider{height:1px;background:var(--border);margin:4px 8px}
/* ── MOBILE TOURS SECTION ── */
.mob-tour-section{background:var(--teal-lt);border-radius:12px;padding:6px;margin:4px 0}
.mob-tour-label{font-size:.78rem;font-weight:800;color:var(--teal);padding:6px 12px 4px;letter-spacing:.8px;text-transform:uppercase;display:block}
.mob-tour-section a{display:flex;align-items:center;gap:10px;padding:11px 14px;border-radius:9px;font-size:.98rem;font-weight:600;color:var(--ink);border:none!important;text-decoration:none}
.mob-tour-section a:hover,.mob-tour-section a.nd-active{background:rgba(13,74,61,.1);color:var(--teal)}
.nav-cta{background:var(--wa);color:#fff!important;padding:11px 20px!important;border-radius:50px!important;display:inline-flex;align-items:center;gap:6px;font-weight:700!important;font-size:.95rem!important;min-height:44px;flex-shrink:0;transition:background .15s!important}
.nav-cta:hover{background:var(--wa2)!important;opacity:1!important}
.nav-cta svg{width:15px;height:15px;fill:#fff;flex-shrink:0}
.nav-ham{display:none;flex-direction:column;gap:5px;cursor:pointer;padding:8px;border-radius:8px;background:none;border:none}
.nav-ham span{width:22px;height:2px;background:var(--ink);border-radius:2px;transition:.2s}
.mob-menu{display:none;position:fixed;inset:0;background:#fff;z-index:900;padding:20px;overflow-y:auto;flex-direction:column;gap:8px}
.mob-menu.open{display:flex}
.mob-close{align-self:flex-end;font-size:1.3rem;background:none;border:none;cursor:pointer;padding:6px 10px;color:var(--ink)}
.mob-menu a{font-size:1.2rem;font-weight:600;padding:14px 16px;border-radius:12px;color:var(--ink);border:1.5px solid var(--border)}
.mob-menu a:hover{background:var(--teal-lt);border-color:var(--teal);color:var(--teal)}
.mob-wa{background:var(--wa)!important;color:#fff!important;border-color:var(--wa)!important;text-align:center;display:flex;align-items:center;justify-content:center;gap:8px;margin-top:8px;padding:16px!important;font-size:1.15rem!important;border-radius:50px!important}

/* ══════════════════════════════════════
   HERO — VAN SHOWCASE LAYOUT
   Left: text copy  |  Right: van fills the frame
══════════════════════════════════════ */
.hero-section{
  position:relative;
  min-height:680px;
  overflow:hidden;
  background:#041e18
    var(--ecosapa-hero-image)
    center 45% / cover no-repeat;
  display:block;
  filter:none;
}

/* hero-img no longer used — background is CSS */
.hero-img{ display:none !important; }

/* Overlay: strong on far-left for text, open on right so van shines */
.hero-overlay{
  position:absolute;inset:0;
  z-index:2;
  background:
    linear-gradient(95deg,
      rgba(3,18,12,.97)  0%,
      rgba(3,22,14,.92) 16%,
      rgba(3,22,14,.72) 30%,
      rgba(3,22,14,.18) 52%,
      rgba(3,22,14,.04) 100%);
}

/* 2-column grid: text | empty (van is absolute) */
.hero-body{
  position:relative;
  z-index:4;
  width:100%;max-width:1360px;
  margin:0 auto;
  padding:64px 40px 58px;
  display:grid;
  grid-template-columns:520px 1fr;
  gap:0;
  align-items:center;
  min-height:680px;
}

.hero-content{max-width:500px}

.hero-badge{
  display:inline-flex;align-items:center;gap:8px;
  background:rgba(215,168,79,.16);
  backdrop-filter:blur(8px);
  border:1px solid rgba(215,168,79,.50);
  color:#f5d58a;
  font-size:.76rem;font-weight:800;
  padding:6px 14px;border-radius:50px;
  margin-bottom:22px;
  letter-spacing:1.2px;text-transform:uppercase;
}
.hero-badge::before{
  content:'';width:6px;height:6px;border-radius:50%;
  background:var(--wa);flex-shrink:0;
  animation:pulse 2s infinite;
}
@keyframes pulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(1.4)}}

.hero-h1{
  font-family:var(--serif);
  font-size:clamp(2.6rem,4vw,4.2rem);
  color:#fff;line-height:1.06;
  font-weight:700;margin-bottom:18px;
  letter-spacing:-.025em;
}
.hero-h1 .h1-line2{
  display:block;
  color:#d7a84f;
  font-weight:900;
  font-size:1.1em;
  text-shadow:0 2px 24px rgba(215,168,79,.50);
}

.hero-sub{
  font-size:1.1rem;
  color:rgba(255,255,255,.88);
  line-height:1.7;
  margin-bottom:26px;
  max-width:460px;
}

.hero-features{
  display:grid;grid-template-columns:1fr 1fr;
  gap:10px 18px;
  margin-bottom:32px;
  max-width:480px;
}
.hero-feat{
  display:flex;align-items:center;gap:9px;
  color:rgba(255,255,255,.92);
  font-size:.95rem;font-weight:500;
}
.hero-feat-icon{
  width:30px;height:30px;border-radius:50%;
  background:rgba(215,168,79,.18);
  border:1px solid rgba(215,168,79,.38);
  display:flex;align-items:center;justify-content:center;
  font-size:.85rem;flex-shrink:0;
}

.hero-btns{display:flex;flex-wrap:wrap;gap:12px}
.btn-wa-hero{
  display:inline-flex;align-items:center;gap:9px;
  background:var(--wa);color:#fff;
  font-weight:700;font-size:1.05rem;
  padding:16px 28px;border-radius:50px;
  min-height:54px;
  transition:background .15s,transform .15s;
  box-shadow:0 4px 22px rgba(37,211,102,.45);
}
.btn-wa-hero:hover{background:var(--wa2);transform:translateY(-2px);opacity:1}
.btn-wa-hero svg{width:19px;height:19px;fill:#fff;flex-shrink:0}
.btn-ghost-hero{
  display:inline-flex;align-items:center;gap:8px;
  border:2px solid rgba(255,255,255,.40);
  color:#fff;font-weight:600;font-size:.98rem;
  padding:14px 22px;border-radius:50px;
  min-height:54px;transition:.15s;
}
.btn-ghost-hero:hover{background:rgba(255,255,255,.10);border-color:#fff;opacity:1}

/* Van showcase — hiện xe exterior, cắt interior bên phải
   Ảnh ecosapa.jpg = collage: [xe exterior | interior]
   Dùng clip-path để loại interior */
.hero-van-wrap{
  position:absolute;
  inset:0;
  z-index:3;
  pointer-events:none;
  /* Clip right side to hide interior panel — show only left ~58% of image */
  overflow:hidden;
  display:flex;
  align-items:center;
  justify-content:flex-end;
  /* Mask: fade left edge into overlay, hard cut right to crop interior */
  -webkit-mask-image: linear-gradient(to right, transparent 28%, black 48%, black 58%, transparent 100%);
  mask-image: linear-gradient(to right, transparent 28%, black 48%, black 58%, transparent 100%);
}
.hero-van-img{
  display:block !important;
  /* Show only the left ~58% of the wide composite image */
  /* width large enough that right 42% (interior) is outside container */
  width: clamp(700px, 68vw, 1100px);
  height:auto;
  max-width:none;
  object-fit:fill;
  /* Shift image left so interior goes off right — negative margin trick */
  /* The interior is approximately the right 45% of the image */
  /* e.g. at 1000px wide, interior starts ~550px → clip at 550px */
  margin-right: -42%;
  flex-shrink:0;
  filter:brightness(1.12) contrast(1.08) saturate(1.14);
}

/* Hide booking card in hero */
.hero-card{ display:none !important; }

/* ── TRUST STRIP ── */
.trust-strip{
  background:#fff;
  padding:18px 20px;
  border-bottom:1.5px solid #e8e4dd;
  box-shadow:0 2px 12px rgba(7,46,38,.06);
}
.trust-inner{
  max-width:1280px;margin:0 auto;
  display:flex;align-items:center;justify-content:center;
  gap:0;flex-wrap:wrap;
}
.trust-item{
  display:flex;align-items:center;gap:10px;
  padding:8px 28px;
  border-right:1.5px solid #e8e4dd;
}
.trust-item:last-child{border-right:none}
.trust-icon{
  width:36px;height:36px;border-radius:50%;
  background:linear-gradient(135deg,#e8f5ee,#d1ece0);
  display:flex;align-items:center;justify-content:center;
  font-size:1.1rem;flex-shrink:0;
}
.trust-text strong{display:block;font-size:1.05rem;font-weight:700;color:var(--teal2);line-height:1.2;}
.trust-text span{font-size:.88rem;color:var(--muted);line-height:1;}
.trust-div{display:none}

/* ── RESPONSIVE ── */
@media(max-width:1100px){
  .hero-body{grid-template-columns:460px 1fr;padding:56px 28px 50px}
  .hero-van-img{width:clamp(460px,50vw,720px)}
}
@media(max-width:860px){
  .hero-body{grid-template-columns:1fr;padding:48px 20px 44px;min-height:auto}
  .hero-section{min-height:auto}
  .hero-van-img{width:clamp(360px,80vw,560px);opacity:.35;filter:brightness(1.05) drop-shadow(0 20px 30px rgba(0,0,0,.4))}
  .hero-content{max-width:100%}
  .hero-sub{max-width:100%}
  .hero-features{grid-template-columns:1fr 1fr}
}
@media(max-width:560px){
  .hero-body{padding:40px 16px 36px}
  .hero-h1{font-size:2.2rem}
  .hero-sub{font-size:1rem}
  .hero-van-img{width:clamp(260px,74vw,380px);opacity:.25}
  .btn-wa-hero,.btn-ghost-hero{width:100%;justify-content:center}
  .hero-btns{flex-direction:column}
}
@media(max-width:720px){
  .trust-inner{gap:0;justify-content:flex-start}
  .trust-item{padding:8px 16px;border-right:none;border-bottom:1px solid #e8e4dd;width:50%}
  .trust-item:nth-child(odd){border-right:1px solid #e8e4dd}
  .trust-item:last-child,.trust-item:nth-last-child(2):nth-child(odd){border-bottom:none}
}

/* Background photo — pure scenery, no van cutout needed here */
/* hero-img removed */

/* Overlay: strong on far-left for text, transparent in centre (van zone), light on far-right */
.hero-overlay{
  position:absolute;inset:0;
  z-index:2;
  background:
    linear-gradient(100deg,
      rgba(3,22,16,.96)  0%,
      rgba(3,30,22,.88) 18%,
      rgba(3,30,22,.45) 32%,
      rgba(3,30,22,.05) 52%,
      rgba(3,30,22,.35) 68%,
      rgba(3,30,22,.72) 84%,
      rgba(3,22,16,.88) 100%);
}

/* 3-column grid: text | [van lives here as absolute] | card */
.hero-body{
  position:relative;
  z-index:4;
  width:100%;max-width:1360px;
  margin:0 auto;
  padding:58px 36px 54px;
  display:grid;
  grid-template-columns:480px 1fr 340px;
  gap:0;
  align-items:center;
  min-height:680px;
}

/* ─ LEFT: copy ─ */
.hero-content{max-width:460px}

.hero-badge{
  display:inline-flex;align-items:center;gap:8px;
  background:rgba(215,168,79,.16);
  backdrop-filter:blur(8px);
  border:1px solid rgba(215,168,79,.50);
  color:#f5d58a;
  font-size:.76rem;font-weight:800;
  padding:6px 14px;border-radius:50px;
  margin-bottom:20px;
  letter-spacing:1.2px;text-transform:uppercase;
}
.hero-badge::before{
  content:'';width:6px;height:6px;border-radius:50%;
  background:var(--wa);flex-shrink:0;
  animation:pulse 2s infinite;
}
@keyframes pulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(1.4)}}

.hero-h1{
  font-family:var(--serif);
  font-size:clamp(2.4rem,3.8vw,3.8rem);
  color:#fff;line-height:1.08;
  font-weight:700;margin-bottom:16px;
  letter-spacing:-.02em;
}
.hero-h1 .h1-line2{
  display:block;
  color:#d7a84f;
  font-weight:900;
  font-size:1.1em;
  text-shadow:0 2px 22px rgba(215,168,79,.45);
}

.hero-sub{
  font-size:1.05rem;
  color:rgba(255,255,255,.86);
  line-height:1.68;
  margin-bottom:24px;
  max-width:420px;
}

/* 4 feature bullets */
.hero-features{
  display:grid;grid-template-columns:1fr 1fr;
  gap:9px 16px;
  margin-bottom:30px;
  max-width:440px;
}
.hero-feat{
  display:flex;align-items:center;gap:9px;
  color:rgba(255,255,255,.90);
  font-size:.92rem;font-weight:500;
}
.hero-feat-icon{
  width:28px;height:28px;border-radius:50%;
  background:rgba(215,168,79,.18);
  border:1px solid rgba(215,168,79,.38);
  display:flex;align-items:center;justify-content:center;
  font-size:.82rem;flex-shrink:0;
}

/* CTA buttons */
.hero-btns{display:flex;flex-wrap:wrap;gap:10px}
.btn-wa-hero{
  display:inline-flex;align-items:center;gap:9px;
  background:var(--wa);color:#fff;
  font-weight:700;font-size:1rem;
  padding:15px 26px;border-radius:50px;
  min-height:52px;
  transition:background .15s,transform .15s;
  box-shadow:0 4px 22px rgba(37,211,102,.45);
}
.btn-wa-hero:hover{background:var(--wa2);transform:translateY(-2px);opacity:1}
.btn-wa-hero svg{width:18px;height:18px;fill:#fff;flex-shrink:0}
.btn-ghost-hero{
  display:inline-flex;align-items:center;gap:8px;
  border:2px solid rgba(255,255,255,.40);
  color:#fff;font-weight:600;font-size:.96rem;
  padding:13px 20px;border-radius:50px;
  min-height:52px;transition:.15s;
}
.btn-ghost-hero:hover{background:rgba(255,255,255,.10);border-color:#fff;opacity:1}

/* ─ CENTRE: van image — absolute, full-height, centred ─ */
.hero-van-wrap{
  position:absolute;
  inset:0;
  z-index:3;
  pointer-events:none;
  display:flex;
  align-items:flex-end;
  justify-content:center;
}
.hero-van-img{
  display:block;
  width:clamp(480px,42vw,700px);
  height:auto;
  max-width:none;
  object-fit:contain;
  object-position:center bottom;
  /* shift right of centre so it's between text and form */
  margin-left:clamp(60px,8vw,160px);
  margin-bottom:0;
  filter:
    drop-shadow(0 -4px 32px rgba(0,0,0,.55))
    drop-shadow(0 24px 40px rgba(0,0,0,.55))
    brightness(1.10)
    contrast(1.06)
    saturate(1.12);
}


/* ── TRUST STRIP (redesigned) ── */
.trust-strip{
  background:#fff;
  padding:18px 20px;
  border-bottom:1.5px solid #e8e4dd;
  box-shadow:0 2px 12px rgba(7,46,38,.06);
}
.trust-inner{
  max-width:1280px;margin:0 auto;
  display:flex;align-items:center;justify-content:center;
  gap:0;flex-wrap:wrap;
}
.trust-item{
  display:flex;align-items:center;gap:10px;
  padding:8px 28px;
  border-right:1.5px solid #e8e4dd;
}
.trust-item:last-child{border-right:none}
.trust-icon{
  width:36px;height:36px;border-radius:50%;
  background:linear-gradient(135deg,#e8f5ee,#d1ece0);
  display:flex;align-items:center;justify-content:center;
  font-size:1.1rem;flex-shrink:0;
}
.trust-text strong{
  display:block;
  font-size:1.05rem;font-weight:700;
  color:var(--teal2);line-height:1.2;
}
.trust-text span{
  font-size:.88rem;color:var(--muted);line-height:1;
}
.trust-div{display:none}

/* ── HERO RESPONSIVE ── */
@media(max-width:1200px){
  .hero-body{
    grid-template-columns:400px 1fr 320px;
    padding:50px 24px 46px;
    max-width:100%;
  }
  .hero-card{width:320px}
  .hero-van-img{width:clamp(400px,38vw,580px);margin-left:40px}
}
@media(max-width:980px){
  /* Collapse to 2-col: text | card; van goes absolute behind */
  .hero-body{
    grid-template-columns:1fr 300px;
    gap:28px;
    padding:46px 20px 42px;
    min-height:auto;
  }
  .hero-card{width:auto}
  .hero-van-img{
    width:clamp(300px,46vw,480px);
    opacity:.38;
    margin-left:0;
    filter:brightness(1.05) contrast(1.02) drop-shadow(0 20px 36px rgba(0,0,0,.45));
  }
}
@media(max-width:760px){
  .hero-body{
    grid-template-columns:1fr;
    gap:0;
    padding:40px 16px 36px;
    min-height:auto;
  }
  .hero-card{display:none}
  .hero-section{min-height:auto}
  .hero-features{grid-template-columns:1fr 1fr}
  .hero-sub{max-width:100%;font-size:1rem}
  .hero-h1{font-size:2.1rem}
  .hero-van-img{
    width:clamp(240px,72vw,360px);
    opacity:.28;
    margin-left:0;
  }
  .btn-wa-hero,.btn-ghost-hero{width:100%;justify-content:center}
  .hero-btns{flex-direction:column}
}
@media(max-width:720px){
  .trust-inner{gap:0;justify-content:flex-start}
  .trust-item{padding:8px 16px;border-right:none;border-bottom:1px solid #e8e4dd;width:50%}
  .trust-item:nth-child(odd){border-right:1px solid #e8e4dd}
  .trust-item:last-child,.trust-item:nth-last-child(2):nth-child(odd){border-bottom:none}
}

/* ── WRAPPER ── */
.page-wrap{max-width:1280px;margin:0 auto;padding:0 20px}
.section{padding:64px 0}
@media(max-width:767px){.section{padding:44px 0}}
.sec-title{font-family:var(--serif);font-size:clamp(2rem,3.5vw,2.75rem);color:var(--teal);font-weight:700;line-height:1.2;margin-bottom:12px}
.sec-sub{font-size:1.2rem;color:#4a4440;margin-bottom:36px;max-width:620px;line-height:1.65}
.sec-head{margin-bottom:36px}

/* ── SCHEDULE SECTION ── */
.schedule-section{background:var(--slate);padding:64px 0}
@media(max-width:767px){.schedule-section{padding:44px 0}}
.schedule-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
@media(max-width:680px){.schedule-grid{grid-template-columns:1fr}}
.trip-card{background:#fff;border-radius:18px;border:1.5px solid var(--border);overflow:hidden;transition:box-shadow .2s,transform .2s;position:relative}
.trip-card:hover{box-shadow:var(--sh2);transform:translateY(-2px)}
.trip-card-top{padding:18px 20px 14px;display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1.5px solid var(--border)}
.trip-route{display:flex;align-items:center;gap:8px}
.trip-city{font-weight:700;font-size:1.2rem;color:var(--ink)}
.trip-arrow{color:var(--teal);font-size:1.1rem;font-weight:700}
.trip-tag{font-size:.88rem;font-weight:700;text-transform:uppercase;letter-spacing:.6px;padding:5px 13px;border-radius:50px}
.tag-morning{background:#e8f5ee;color:var(--teal)}
.tag-afternoon{background:var(--gold-lt);color:var(--gold)}
.trip-card-body{padding:20px 22px}
.trip-row{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:13px}
.trip-row:last-child{margin-bottom:0}
.trip-label{font-size:.92rem;color:var(--muted);font-weight:600;margin-bottom:3px;text-transform:uppercase;letter-spacing:.5px}
.trip-val{font-size:1.15rem;font-weight:700;color:var(--ink)}
.trip-val.teal{color:var(--teal)}
.trip-card-footer{padding:14px 20px;border-top:1.5px solid var(--border);display:flex;align-items:center;justify-content:space-between;gap:12px}
.trip-price{font-family:var(--serif);font-size:1.85rem;color:#d4000f;font-weight:900;letter-spacing:-.5px}
.price-fx{display:block;font-family:var(--sans);font-size:.78rem;font-weight:600;color:var(--muted);letter-spacing:0;margin-top:3px}
.trip-price span{font-family:var(--sans);font-size:.97rem;color:#a00009;font-weight:600}
.btn-book{display:inline-flex;align-items:center;gap:8px;background:var(--wa);color:#fff;font-weight:700;font-size:1rem;padding:13px 24px;border-radius:50px;transition:background .15s;white-space:nowrap;min-height:48px}
.btn-book:hover{background:var(--wa2);opacity:1}
.btn-book svg{width:15px;height:15px;fill:#fff;flex-shrink:0}
.vip-badge{position:absolute;top:14px;right:14px;background:var(--gold);color:#fff;font-size:.85rem;font-weight:800;padding:4px 11px;border-radius:50px;letter-spacing:.5px;text-transform:uppercase}

/* ── AMENITIES CHIPS ── */
.amenity-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}
.amenity-chip{background:#fff;border:1.5px solid var(--border);border-radius:50px;padding:8px 16px;font-size:1rem;font-weight:600;color:var(--ink);display:inline-flex;align-items:center;gap:6px}

/* ── WHY GRID ── */
.why-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
@media(max-width:860px){.why-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){.why-grid{grid-template-columns:1fr}}
.why-card{background:var(--slate);border:1.5px solid var(--border);border-radius:18px;padding:24px 20px;transition:box-shadow .2s,transform .2s}
.why-card:hover{box-shadow:var(--sh);transform:translateY(-2px)}
.why-icon{font-size:2.2rem;margin-bottom:14px;display:block}
.why-title{font-weight:700;font-size:1.15rem;color:var(--ink);margin-bottom:8px}
.why-desc{font-size:1.08rem;color:#4a4440;line-height:1.7}

/* ── HOW TO BOOK ── */
.how-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;position:relative}
@media(max-width:680px){.how-grid{grid-template-columns:1fr}}
.how-card{background:#fff;border:1.5px solid var(--border);border-radius:18px;padding:28px 22px;text-align:center;position:relative}
.how-num{width:50px;height:50px;border-radius:50%;background:var(--teal);color:#fff;font-weight:800;font-size:1.1rem;display:flex;align-items:center;justify-content:center;margin:0 auto 16px;font-family:var(--serif);font-size:1.2rem}
.how-title{font-weight:700;font-size:1.2rem;color:var(--ink);margin-bottom:9px}
.how-desc{font-size:1.08rem;color:#4a4440;line-height:1.7}
.how-connector{position:absolute;top:40px;right:-22px;color:var(--border);font-size:1.3rem;z-index:2}
@media(max-width:680px){.how-connector{display:none}}

/* ── GUIDES GRID ── */
.guides-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
@media(max-width:860px){.guides-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){.guides-grid{grid-template-columns:1fr}}
.guide-card{border-radius:18px;overflow:hidden;border:1.5px solid var(--border);background:#fff;transition:box-shadow .2s,transform .2s;display:block}
.guide-card:hover{box-shadow:var(--sh2);transform:translateY(-3px);opacity:1}
.guide-card-img{width:100%;height:180px;object-fit:cover}
.guide-card-body{padding:16px 16px 18px}
.guide-card-badge{display:inline-block;font-size:.88rem;font-weight:700;text-transform:uppercase;letter-spacing:.7px;color:var(--teal);background:var(--teal-lt);padding:4px 11px;border-radius:50px;margin-bottom:10px}
.guide-card-title{font-family:var(--serif);font-size:1.2rem;font-weight:700;color:var(--ink);line-height:1.3;margin-bottom:8px}
.guide-card-meta{font-size:1rem;color:var(--muted);line-height:1.5}
.guide-card-arrow{display:inline-flex;align-items:center;gap:5px;font-size:1rem;font-weight:700;color:var(--teal);margin-top:11px}

/* ── REVIEWS ── */
.reviews-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
@media(max-width:640px){.reviews-grid{grid-template-columns:1fr}}
.rv-card{background:var(--slate);border:1.5px solid var(--border);border-radius:18px;padding:22px 20px;position:relative}
.rv-quote{position:absolute;top:16px;right:18px;font-size:2.2rem;color:var(--teal-lt);font-family:Georgia,serif;line-height:1}
.rv-stars{color:#f59e0b;font-size:1.15rem;letter-spacing:2px;margin-bottom:11px}
.rv-text{font-size:1.1rem;line-height:1.78;color:var(--ink);font-style:italic;margin-bottom:16px}
.rv-name{font-weight:700;font-size:1rem;color:var(--ink)}
.rv-meta{font-size:.88rem;color:var(--muted)}
.rv-author{display:flex;align-items:center;gap:10px}
.rv-avatar{width:42px;height:42px;border-radius:50%;background:var(--teal);color:#fff;font-size:.82rem;font-weight:800;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.rv-name{font-size:1rem;font-weight:700;color:var(--ink)}
.rv-meta{font-size:.88rem;color:var(--muted)}
.rv-type{display:inline-block;font-size:.82rem;font-weight:700;background:var(--teal-lt);color:var(--teal);padding:3px 9px;border-radius:50px;margin-top:4px;border:1px solid #b2d4c9}
.tripadvisor-strip{background:var(--teal2);border-radius:16px;padding:20px 24px;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:14px;margin-top:24px}
.ta-left{display:flex;align-items:center;gap:14px}
.ta-score{font-family:var(--serif);font-size:2.2rem;color:#fff;font-weight:700;line-height:1}
.ta-detail strong{display:block;color:#fff;font-size:1.1rem;font-weight:700}
.ta-detail span{color:rgba(255,255,255,.7);font-size:.97rem}
.ta-btn{display:inline-flex;align-items:center;gap:8px;background:#fff;color:var(--teal);font-weight:700;font-size:1rem;padding:13px 24px;border-radius:50px;white-space:nowrap;min-height:44px}
.ta-btn:hover{opacity:.9}

/* ── FAQ ── */
.faq-list{display:flex;flex-direction:column;gap:0}
.faq-item{border-bottom:1.5px solid var(--border)}
.faq-item:first-child{border-top:1.5px solid var(--border)}
.faq-q{width:100%;background:none;border:none;text-align:left;padding:22px 4px;display:flex;align-items:center;justify-content:space-between;gap:16px;cursor:pointer;font-family:var(--sans);font-size:1.15rem;font-weight:700;color:var(--ink);line-height:1.4}
.faq-q:hover{color:var(--teal)}
.faq-icon{width:28px;height:28px;border-radius:50%;background:var(--teal-lt);border:1.5px solid var(--border);display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background .15s,transform .2s;font-size:1rem;color:var(--teal)}
.faq-item.open .faq-icon{background:var(--teal);color:#fff;transform:rotate(45deg)}
.faq-a{max-height:0;overflow:hidden;transition:max-height .3s ease}
.faq-item.open .faq-a{max-height:500px}
.faq-a-inner{padding:0 4px 22px;font-size:1.1rem;color:#3d3830;line-height:1.78}

/* ── BIG CTA BANNER ── */
.cta-banner{background:linear-gradient(135deg,var(--teal2) 0%,var(--teal) 100%);border-radius:24px;padding:48px 40px;text-align:center;position:relative;overflow:hidden}
.cta-banner::before{content:'';position:absolute;top:-40px;right:-40px;width:200px;height:200px;border-radius:50%;background:rgba(255,255,255,.05)}
.cta-banner::after{content:'';position:absolute;bottom:-60px;left:-30px;width:250px;height:250px;border-radius:50%;background:rgba(255,255,255,.04)}
.cta-banner h2{font-family:var(--serif);font-size:clamp(2rem,3.5vw,2.6rem);color:#fff;margin-bottom:13px;position:relative}
.cta-banner p{color:rgba(255,255,255,.88);font-size:1.15rem;margin-bottom:28px;position:relative}
.cta-banner-btns{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:12px;position:relative}
.cta-banner .btn-wa-hero{background:var(--wa);box-shadow:0 4px 20px rgba(37,211,102,.35)}
.cta-stats{display:flex;justify-content:center;flex-wrap:wrap;gap:24px;margin-bottom:28px}
.cta-stat strong{display:block;font-family:var(--serif);font-size:1.85rem;color:#ff6666;font-weight:900}
.cta-stat span{font-size:1rem;color:rgba(255,255,255,.7)}

/* ── SOCIAL BAR ── */
.social-bar{padding:28px 20px;background:var(--slate);border-top:1.5px solid var(--border)}
.social-inner{max-width:1280px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:14px}
.social-title{font-weight:700;font-size:1.05rem;color:var(--ink)}
.social-links{display:flex;align-items:center;gap:10px}
.social-btn{width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center;transition:transform .15s,opacity .15s;border:1.5px solid var(--border)}
.social-btn:hover{transform:translateY(-2px);opacity:.85}
.social-btn svg{width:20px;height:20px}
.social-btn.wa{background:var(--wa);border-color:var(--wa)}
.social-btn.wa svg{fill:#fff}
.social-btn.fb{background:#1877f2;border-color:#1877f2}
.social-btn.fb svg{fill:#fff}
.social-btn.ig{background:radial-gradient(circle at 30% 107%,#fdf497 0%,#fd5949 45%,#d6249f 60%,#285aeb 90%);border-color:#d6249f}
.social-btn.ig svg{fill:#fff}
.social-btn.yt{background:#ff0000;border-color:#ff0000}
.social-btn.yt svg{fill:#fff}
.social-btn.ta{background:#34e0a1;border-color:#34e0a1}
.social-btn.ta svg{fill:#fff}
.social-btn.email{background:var(--teal);border-color:var(--teal)}
.social-btn.email svg{fill:#fff}

/* ── FOOTER ── */
footer{background:var(--teal2);color:rgba(255,255,255,.82);padding:60px 20px 0}
.footer-inner{max-width:1280px;margin:0 auto;display:grid;grid-template-columns:2.2fr 1fr 1fr 1fr;gap:36px}
@media(max-width:1080px){.footer-inner{grid-template-columns:1.5fr 1fr 1fr 1fr}}
@media(max-width:860px){.footer-inner{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.footer-inner{grid-template-columns:1fr}}
.footer-logo{display:flex;align-items:center;gap:10px;margin-bottom:16px}
.footer-logo img{height:34px;filter:brightness(10) saturate(0)}
.footer-logo strong{font-family:var(--serif);color:#fff;font-size:1.15rem;font-weight:700}
.footer-brand-tag{display:inline-block;font-size:.82rem;font-weight:800;text-transform:uppercase;letter-spacing:1px;background:rgba(255,255,255,.12);color:rgba(255,255,255,.8);border:1px solid rgba(255,255,255,.2);padding:4px 11px;border-radius:50px;margin-bottom:14px}
.footer-about{font-size:1.05rem;line-height:1.75;margin-bottom:16px;color:rgba(255,255,255,.82)}
.footer-contact a{display:flex;align-items:center;gap:8px;color:rgba(255,255,255,.85);font-size:1rem;margin-bottom:9px;font-weight:500}
.footer-contact a:hover{color:#fff;opacity:1}
.footer-contact svg{width:15px;height:15px;fill:currentColor;flex-shrink:0}
.footer-col h4{color:#fff;font-size:.92rem;font-weight:800;margin-bottom:16px;letter-spacing:1px;text-transform:uppercase;border-bottom:1px solid rgba(255,255,255,.12);padding-bottom:9px}
.footer-col a{display:block;color:rgba(255,255,255,.72);font-size:1.02rem;margin-bottom:9px;padding:2px 0;transition:color .15s}
.footer-col a:hover{color:#fff;opacity:1}
.footer-trust-list{list-style:none;padding:0;margin:0}
.footer-trust-list li{color:rgba(255,255,255,.75);font-size:1.02rem;margin-bottom:9px;display:flex;align-items:flex-start;gap:7px;line-height:1.5}
.footer-trust-list li::before{content:'✓';color:#34e090;font-weight:800;flex-shrink:0}
.footer-bottom{max-width:1280px;margin:40px auto 0;padding:18px 0 22px;border-top:1px solid rgba(255,255,255,.12);display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;font-size:.95rem;color:rgba(255,255,255,.5)}
.footer-bottom a{color:rgba(255,255,255,.6)}
.footer-bottom a:hover{color:#fff;opacity:1}
.footer-bottom-links{display:flex;gap:18px;align-items:center}

/* ── STICKY WA BUTTON ── */
.wa-fab{position:fixed;bottom:24px;right:20px;z-index:700;width:60px;height:60px;border-radius:50%;background:var(--wa);color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 20px rgba(37,211,102,.5);transition:transform .15s;animation:fab-bounce 3s ease-in-out infinite}
.wa-fab:hover{transform:scale(1.07);opacity:1}
.wa-fab svg{width:30px;height:30px;fill:#fff}
.wa-fab-label{position:absolute;right:66px;top:50%;transform:translateY(-50%);background:var(--teal2);color:#fff;font-size:.82rem;font-weight:700;padding:7px 12px;border-radius:8px;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .2s;box-shadow:var(--sh)}
.wa-fab-label::after{content:'';position:absolute;right:-6px;top:50%;transform:translateY(-50%);border:6px solid transparent;border-right:none;border-left-color:var(--teal2)}
.wa-fab:hover .wa-fab-label{opacity:1}
@keyframes fab-bounce{0%,100%{transform:translateY(0)}50%{transform:translateY(-4px)}}

/* ── COMPARISON TABLE ── */
.cmp-table{width:100%;border-collapse:collapse;border-radius:16px;overflow:hidden;border:1.5px solid var(--border);margin:0}
.cmp-table th{padding:14px 16px;font-size:.88rem;letter-spacing:.8px;text-transform:uppercase;text-align:left;font-weight:700}
.cmp-table th:first-child{background:var(--slate);color:var(--muted)}
.cmp-table th.us{background:var(--teal);color:#fff}
.cmp-table th.them{background:#f0eded;color:#888}
.cmp-table td{padding:13px 16px;border-bottom:1px solid var(--border);font-size:1rem;vertical-align:middle}
.cmp-table tr:last-child td{border:none}
.cmp-table td:first-child{font-weight:600;background:var(--slate)}
.cmp-table td.good{color:#1a7a45;font-weight:700}
.cmp-table td.ok{color:var(--gold);font-weight:600}
.cmp-table td.bad{color:#b45309}
.tbl-scroll{overflow-x:auto;border-radius:16px;border:1.5px solid var(--border)}

/* ── SECTION DIVIDER ── */
.sec-div{border:none;border-top:1.5px solid var(--border);margin:0}

/* ── KEYWORDS DIV (hidden) ── */

/* ── BOOKING MODAL ── */
.modal-overlay{position:fixed;inset:0;background:rgba(7,46,38,.65);backdrop-filter:blur(4px);z-index:950;display:none;align-items:center;justify-content:center;padding:16px}
.modal-overlay.open{display:flex}
.modal-box{background:#fff;border-radius:22px;width:100%;max-width:540px;overflow:hidden;box-shadow:0 24px 80px rgba(7,46,38,.3);animation:modal-in .22s ease}
@keyframes modal-in{from{opacity:0;transform:scale(.95) translateY(12px)}to{opacity:1;transform:scale(1) translateY(0)}}
.modal-head{background:linear-gradient(135deg,var(--teal2),var(--teal));padding:22px 24px 18px;position:relative}
.modal-head h3{font-family:var(--serif);font-size:1.5rem;color:#fff;margin-bottom:4px}
.modal-head p{color:rgba(255,255,255,.88);font-size:1rem}
.modal-close{position:absolute;top:14px;right:16px;background:rgba(255,255,255,.18);border:none;color:#fff;width:32px;height:32px;border-radius:50%;cursor:pointer;font-size:1.1rem;display:flex;align-items:center;justify-content:center;transition:.15s}
.modal-close:hover{background:rgba(255,255,255,.3)}
.modal-body{padding:24px}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:14px}
@media(max-width:480px){.form-row{grid-template-columns:1fr}}
.form-group{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}
.form-group label{font-size:.97rem;font-weight:700;color:var(--ink);text-transform:uppercase;letter-spacing:.5px}
.form-group input,.form-group select{width:100%;padding:14px 16px;border:1.5px solid var(--border);border-radius:10px;font-size:1.05rem;font-family:var(--sans);color:var(--ink);background:#fff;transition:border-color .15s,box-shadow .15s;outline:none}
.form-group input:focus,.form-group select:focus{border-color:var(--teal);box-shadow:0 0 0 3px rgba(13,74,61,.1)}
.form-group input::placeholder{color:#bbb}
.btn-form-submit{width:100%;background:var(--wa);color:#fff;font-weight:700;font-size:1.15rem;padding:15px 20px;border-radius:50px;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:10px;transition:background .15s;min-height:52px;font-family:var(--sans)}
.btn-form-submit:hover{background:var(--wa2)}
.btn-form-submit svg{width:20px;height:20px;fill:#fff;flex-shrink:0}
.modal-footer-note{text-align:center;font-size:.92rem;color:var(--muted);margin-top:12px;line-height:1.5}

/* ── VEHICLE GALLERY ── */
.vehicle-section{padding:64px 0;background:#fff}
@media(max-width:767px){.vehicle-section{padding:44px 0}}
.vehicle-gallery{display:grid;grid-template-columns:1.4fr 1fr 1fr;grid-template-rows:240px 240px;gap:14px}
@media(max-width:860px){.vehicle-gallery{grid-template-columns:1fr 1fr;grid-template-rows:auto}}
@media(max-width:520px){.vehicle-gallery{grid-template-columns:1fr;grid-template-rows:auto}}
.vg-item{border-radius:18px;overflow:hidden;position:relative;background:var(--slate)}
.vg-main{grid-row:1/3}
@media(max-width:860px){.vg-main{grid-row:auto}}
.vg-item img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s ease}
.vg-item:hover img{transform:scale(1.04)}
.vg-caption{position:absolute;bottom:0;left:0;right:0;padding:14px 16px;background:linear-gradient(0deg,rgba(7,46,38,.85) 0%,transparent 100%);color:#fff;font-size:.97rem;font-weight:600}
.vg-caption strong{display:block;font-size:1.1rem;margin-bottom:2px}
.vehicle-features{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:24px}
@media(max-width:860px){.vehicle-features{grid-template-columns:repeat(2,1fr)}}
@media(max-width:400px){.vehicle-features{grid-template-columns:1fr 1fr}}
.vf-card{background:var(--slate);border:1.5px solid var(--border);border-radius:14px;padding:18px 14px;text-align:center}
.vf-icon{font-size:1.8rem;margin-bottom:8px}
.vf-title{font-weight:700;font-size:1.1rem;color:var(--ink);margin-bottom:5px}
.vf-desc{font-size:1rem;color:var(--muted);line-height:1.55}

/* ── FAB URGENT LABEL (always visible, English) ── */
.wa-fab-wrap{position:fixed;bottom:20px;right:18px;z-index:700;display:flex;flex-direction:column;align-items:center;gap:0}
.fab-urgent-label{background:var(--teal2);color:#fff;font-size:.9rem;font-weight:800;padding:7px 14px;border-radius:10px;white-space:nowrap;text-align:center;letter-spacing:.3px;line-height:1.25;box-shadow:0 3px 14px rgba(7,46,38,.35);animation:label-pulse 2.5s ease-in-out infinite;border:1.5px solid rgba(255,255,255,.15)}
.fab-urgent-arrow{color:var(--teal2);font-size:1.15rem;line-height:.75;margin:2px 0;animation:label-pulse 2.5s ease-in-out infinite}
@keyframes label-pulse{0%,100%{opacity:1}50%{opacity:.8}}
.wa-fab-new{width:68px;height:68px;border-radius:50%;background:var(--wa);color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 5px 28px rgba(37,211,102,.6);transition:transform .15s;animation:fab-bounce 3s ease-in-out infinite;text-decoration:none}
.wa-fab-new:hover{transform:scale(1.1);opacity:1}
.wa-fab-new svg{width:34px;height:34px;fill:#fff}
@keyframes fab-bounce{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}

/* ── MOBILE OVERRIDES ── */
@media(max-width:767px){
  body{font-size:19px}
  .topbar{font-size:.82rem;gap:10px;padding:6px 14px}
  .tb-div{display:none}
  .nav-links{display:none}
  .nav-ham{display:flex}
  .hero-h1{font-size:2rem}
  .hero-sub{font-size:1.05rem}
  .btn-wa-hero{font-size:1rem;padding:13px 22px}
  .sec-title{font-size:1.65rem}
  .sec-sub{font-size:1.05rem}
  .schedule-grid{grid-template-columns:1fr}
  .trip-val{font-size:1.08rem}
  .why-grid{grid-template-columns:1fr}
  .how-grid{grid-template-columns:1fr}
  .guides-grid{grid-template-columns:1fr 1fr}
  .reviews-grid{grid-template-columns:1fr}
  .footer-inner{grid-template-columns:1fr}
  .cta-banner{padding:32px 20px}
  .ta-btn{font-size:.97rem;padding:12px 20px}
}
@media(max-width:400px){
  .guides-grid{grid-template-columns:1fr}
  .hero-h1{font-size:1.75rem}
  .hero-sub{font-size:1rem}
  .btn-wa-hero,.btn-ghost-hero{width:100%;justify-content:center}
  .hero-btns{flex-direction:column}
  .trust-text strong{font-size:.95rem}
  .faq-q{font-size:1rem}
}
/* ── PRICE HIGHLIGHT ── */
.price-red{color:#d4000f!important;font-weight:900!important;font-size:1.1em;letter-spacing:-.3px}
.trip-card-footer{background:linear-gradient(135deg,#fff8f8 0%,#fff 100%)}


/* HERO CLEANUP — remove foreground blurry image layer */
.hero-van-wrap,
.hero-van-img{
  display:none!important;
  visibility:hidden!important;
  opacity:0!important;
}
.hero-section{
  background:#041e18 var(--ecosapa-hero-image) 62% center / cover no-repeat!important;
}
.hero-overlay{
  background:linear-gradient(95deg,
    rgba(3,18,12,.96) 0%,
    rgba(3,22,14,.88) 22%,
    rgba(3,22,14,.55) 42%,
    rgba(3,22,14,.18) 64%,
    rgba(3,22,14,.05) 100%)!important;
}


/* ── CONVERSION SCHEDULE PHOTOS ──
   Real vehicle photos inside each schedule card increase trust before the Book Now action.
   Image height increased to reveal more vehicle/interior detail while keeping Book Now visible. */
.trip-media{
  position:relative;
  height:220px;
  overflow:hidden;
  background:#e8f5ee;
  border-bottom:1.5px solid var(--border);
}
.trip-media img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center center;
  display:block;
  transform:scale(1.005);
  transition:transform .45s ease,filter .25s ease;
  filter:saturate(1.03) contrast(1.02);
}
.trip-card:hover .trip-media img{transform:scale(1.055)}
.trip-media::after{
  content:'';
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(7,46,38,.03) 0%,rgba(7,46,38,.08) 45%,rgba(7,46,38,.78) 100%);
  pointer-events:none;
}
.trip-media-caption{
  position:absolute;
  left:14px;
  right:14px;
  bottom:12px;
  z-index:2;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  color:#fff;
  text-shadow:0 1px 8px rgba(0,0,0,.45);
}
.trip-media-caption strong{
  font-size:.96rem;
  line-height:1.18;
  font-weight:800;
  letter-spacing:.1px;
}
.trip-media-caption span{
  flex-shrink:0;
  background:rgba(255,255,255,.16);
  border:1px solid rgba(255,255,255,.32);
  backdrop-filter:blur(6px);
  font-size:.72rem;
  line-height:1;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.55px;
  padding:6px 9px;
  border-radius:999px;
}
.trip-card .vip-badge{z-index:5;box-shadow:0 4px 16px rgba(7,46,38,.20)}
.trip-card-top{background:#fff}
.trip-card-body{background:#fff}
.trip-card-footer{background:linear-gradient(135deg,#fff8f8 0%,#fff 70%)}
@media(max-width:680px){
  .trip-media{height:190px}
  .trip-media-caption{left:12px;right:12px;bottom:10px}
  .trip-media-caption strong{font-size:.9rem}
  .trip-media-caption span{font-size:.68rem;padding:5px 8px}
}
@media(max-width:420px){
  .trip-media{height:175px}
}



/* ── SCHEDULE INTRO COPY ──
   SEO-friendly benefit copy placed before the departure cards, styled like a trust note. */
.schedule-section .sec-head{
  margin-bottom:26px;
}
.schedule-intro{
  max-width:920px;
  margin-top:16px;
  padding:18px 20px;
  background:linear-gradient(135deg,#ffffff 0%,#fffdf7 100%);
  border:1.5px solid #ead8b8;
  border-left:5px solid var(--gold);
  border-radius:18px;
  box-shadow:0 6px 22px rgba(7,46,38,.07);
}
.schedule-intro p{
  margin:0;
  color:#3f3a32;
  font-size:1.08rem;
  line-height:1.7;
  font-weight:500;
}
.schedule-intro-points{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:14px;
}
.schedule-intro-points span{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:7px 12px;
  border-radius:999px;
  background:var(--teal-lt);
  color:var(--teal);
  border:1px solid #c6dfd6;
  font-size:.9rem;
  font-weight:800;
  line-height:1.25;
}
@media(max-width:680px){
  .schedule-intro{
    padding:15px 14px;
    border-radius:16px;
  }
  .schedule-intro p{
    font-size:1rem;
    line-height:1.62;
  }
  .schedule-intro-points{
    gap:7px;
  }
  .schedule-intro-points span{
    font-size:.82rem;
    padding:6px 10px;
  }
}


/* ── SCHEDULE SERVICE HIGHLIGHT BADGE ──
   Visible HTML text under each schedule image: clearer for users and readable for SEO. */
.trip-proof{
  display:flex;
  align-items:center;
  gap:8px;
  margin:0;
  padding:10px 18px;
  background:linear-gradient(135deg,#fff8eb 0%,#fffdf8 100%);
  border-bottom:1px solid #ead8b8;
  color:#7a4a05;
  font-size:.92rem;
  font-weight:800;
  line-height:1.35;
  letter-spacing:.05px;
}
.trip-proof span{
  width:22px;
  height:22px;
  border-radius:50%;
  background:var(--teal);
  color:#fff;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-size:.78rem;
  font-weight:900;
  flex-shrink:0;
  box-shadow:0 2px 8px rgba(13,74,61,.22);
}
@media(max-width:680px){
  .trip-proof{
    padding:9px 14px;
    font-size:.86rem;
  }
  .trip-proof span{width:20px;height:20px;font-size:.72rem}
}
/* ── POPULAR TRANSFER ROUTE HUB ── */
.route-hub-section{padding:64px 0;background:#fff}
.route-hub-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:30px}
.route-hub-head .sec-sub{margin-bottom:0;max-width:760px}
.route-hub-kicker{display:inline-block;color:var(--gold);font-size:.78rem;font-weight:800;letter-spacing:1.15px;text-transform:uppercase;margin-bottom:8px}
.route-hub-all{display:inline-flex;align-items:center;gap:8px;color:var(--teal);font-size:.98rem;font-weight:800;white-space:nowrap;padding:10px 16px;border:1.5px solid var(--border);border-radius:50px;background:#fff}
.route-hub-all:hover{border-color:var(--teal);background:var(--teal-lt);opacity:1}
.route-hub-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.route-group{min-width:0;background:var(--slate);border:1.5px solid var(--border);border-radius:18px;padding:22px 22px 20px;display:flex;flex-direction:column}
.route-group-featured{background:linear-gradient(145deg,#eff9f4 0%,#fff 100%);border:2px solid #8dbcae;box-shadow:0 8px 28px rgba(13,74,61,.10)}
.route-group-title{display:flex;align-items:center;gap:9px;padding-bottom:13px;margin-bottom:10px;border-bottom:1px solid var(--border)}
.route-group-title h3{font-size:1rem;line-height:1.25;color:var(--teal2);font-weight:800;text-transform:uppercase;letter-spacing:.55px}
.route-group-icon{font-size:1.05rem;line-height:1;flex-shrink:0}
.route-best{margin-left:auto;font-size:.63rem;line-height:1;font-weight:900;color:#fff;background:var(--gold);border-radius:50px;padding:5px 8px;letter-spacing:.6px}
.route-links{display:flex;flex-direction:column;gap:0;flex:1}
.route-links a{position:relative;display:block;padding:8px 4px 8px 17px;font-size:.97rem;line-height:1.38;color:#28231d;font-weight:500;border-radius:7px}
.route-links a::before{content:'›';position:absolute;left:4px;top:7px;color:var(--gold);font-size:1.08rem;font-weight:800}
.route-links a:hover{background:#fff;color:var(--teal);opacity:1}
.route-more{display:inline-flex;align-items:center;margin-top:13px;padding-top:13px;border-top:1px solid var(--border);color:var(--teal);font-size:.9rem;font-weight:800}
.route-more:hover{color:var(--gold);opacity:1}
.route-hub-note{margin-top:22px;padding:15px 20px;border:1.5px dashed #b7afa2;border-radius:14px;background:var(--gold-lt);display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap;font-size:.97rem}
.route-hub-note span{font-weight:700;color:var(--ink)}
.route-hub-note a{font-weight:800;color:var(--teal)}
@media(max-width:980px){.route-hub-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){
  .route-hub-section{padding:44px 0}
  .route-hub-head{align-items:flex-start;flex-direction:column;margin-bottom:24px}
  .route-hub-all{width:100%;justify-content:center}
  .route-hub-grid{grid-template-columns:1fr;gap:14px}
  .route-group{padding:19px 18px 17px}
  .route-links a{font-size:.98rem;padding-top:9px;padding-bottom:9px}
}


/* ── POPULAR TRANSFER ROUTES ── */
.transfer-routes-section{background:#fff}
.routes-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:28px}
.routes-head .sec-sub{margin-bottom:0;max-width:720px}
.routes-eyebrow{font-size:.78rem;font-weight:800;letter-spacing:1.35px;color:var(--gold);margin-bottom:8px}
.routes-all-btn{display:inline-flex;align-items:center;justify-content:center;border:1.5px solid var(--border);border-radius:50px;padding:11px 18px;font-size:.93rem;font-weight:700;color:var(--teal);white-space:nowrap;min-height:44px;background:#fff}
.routes-all-btn:hover{border-color:var(--teal);background:var(--teal-lt);opacity:1}
.route-category-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.route-category-card{background:#faf9f6;border:1.5px solid var(--border);border-radius:18px;padding:20px 22px 18px;display:flex;flex-direction:column;min-height:100%}
.route-category-card-featured{background:linear-gradient(180deg,#f2fbf7 0%,#fbfdfc 100%);border-color:#7fbead;box-shadow:inset 0 0 0 1px rgba(13,74,61,.08)}
.route-category-card-airport{background:linear-gradient(180deg,#fbfcff 0%,#faf9f6 100%)}
.route-category-title{display:flex;align-items:center;gap:9px;font-size:.92rem;font-weight:800;letter-spacing:.55px;color:var(--teal2)}
.route-category-title span:first-of-type{flex:1}
.route-popular-badge{font-size:.62rem;line-height:1;background:var(--gold);color:#fff;padding:5px 9px;border-radius:50px;letter-spacing:.5px}
.route-category-divider{height:1px;background:var(--border);margin:12px 0 8px}
.route-link-list{display:flex;flex-direction:column;gap:0;flex:1}
.route-link-list a{position:relative;padding:8px 0 8px 16px;font-size:.94rem;line-height:1.45;color:var(--ink);font-weight:500}
.route-link-list a::before{content:'›';position:absolute;left:0;top:7px;color:var(--gold);font-weight:900}
.route-link-list a:hover{color:var(--teal);opacity:1}
.route-category-footer{border-top:1px solid var(--border);margin-top:10px;padding-top:13px}
.route-category-footer a{font-size:.86rem;font-weight:800;color:var(--teal)}
.route-category-footer a:hover{opacity:.78}
.custom-route-cta{display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap;border:1.5px dashed #cdbd9e;border-radius:14px;background:#fff9ee;margin-top:18px;padding:13px 18px;font-size:.9rem;color:var(--ink)}
.custom-route-cta span{color:var(--teal);font-weight:700}
.custom-route-cta:hover{border-color:var(--gold);opacity:1}
@media(max-width:940px){
  .route-category-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:620px){
  .routes-head{align-items:flex-start;flex-direction:column;margin-bottom:22px}
  .routes-all-btn{width:100%}
  .route-category-grid{grid-template-columns:1fr}
  .route-category-card{padding:18px}
}



/* ── TRANSFER ROUTES FONT CONSISTENCY FIX ── */
.transfer-routes-section,
.transfer-routes-section *{
  font-family:var(--sans)!important;
}
.transfer-routes-section .sec-title{
  font-family:var(--serif)!important;
}
.transfer-routes-section .route-category-title,
.transfer-routes-section .route-link-list a,
.transfer-routes-section .route-category-footer a,
.transfer-routes-section .routes-all-btn,
.transfer-routes-section .custom-route-cta{
  font-weight:600;
}
.transfer-routes-section .route-category-title{
  font-weight:800;
}
.transfer-routes-section .route-category-footer a,
.transfer-routes-section .routes-all-btn{
  font-weight:700;
}


/* ── V3: semantic route links inside existing trip cards ── */
.trip-route-link{
  display:flex;
  align-items:center;
  gap:8px;
  color:inherit;
  text-decoration:none;
  border-radius:8px;
}
.trip-route-link:hover{opacity:1}
.trip-route-link:hover .trip-city{color:var(--teal)}
.trip-val time{font:inherit;color:inherit}

/* ===== Migrated from inline-block-2 ===== */
/* CỤM NÚT TỔNG ĐỂ GÓC TRÁI */
  .eco-lang-wrap { position: fixed; bottom: 25px; left: 20px; z-index: 999999; font-family:var(--sans); }
  
  /* NÚT HÌNH VIÊN THUỐC (PILL SHAPE) */
  .eco-lang-toggle { 
      height: 48px; 
      width: auto; 
      padding: 0 16px 0 8px; /* Dài ra để chứa chữ */
      border-radius: 50px; 
      border: 2px solid #e2e8f0; 
      background: #fff; 
      box-shadow: 0 6px 20px rgba(0,0,0,0.15); 
      cursor: pointer; 
      display: flex; 
      align-items: center; 
      gap: 10px; /* Khoảng cách giữa cờ và chữ */
      transition: transform 0.3s ease, border-color 0.3s; 
      outline: none; 
  }
  .eco-lang-toggle:hover { transform: scale(1.05); border-color: #0d4a3d; }
  
  /* LÁ CỜ BÊN TRONG NÚT CHÍNH */
  .eco-lang-toggle .flag-circle {
      width: 30px; 
      height: 30px; 
      border-radius: 50%; 
      overflow: hidden; 
      flex-shrink: 0;
      box-shadow: 0 2px 4px rgba(0,0,0,0.1);
  }
  .eco-lang-toggle .flag-circle img { width: 100%; height: 100%; object-fit: cover; display: block; }
  
  /* CHỮ "LANGUAGE" */
  .eco-lang-text {
      font-size: 15px;
      font-weight: 700;
      color: #0d4a3d;
      letter-spacing: 0.5px;
  }

  /* MENU THẢ NỔI */
  .eco-lang-menu { position: absolute; bottom: 60px; left: 0; background: #fff; border-radius: 16px; box-shadow: 0 10px 40px rgba(0,0,0,0.2); padding: 10px; display: flex; flex-direction: column; gap: 5px; min-width: 150px; opacity: 0; visibility: hidden; transform: translateY(15px); transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1); }
  .eco-lang-wrap.open .eco-lang-menu { opacity: 1; visibility: visible; transform: translateY(0); }
  
  /* CÁC NÚT BÊN TRONG MENU */
  .eco-lang-item { display: flex; align-items: center; gap: 12px; background: transparent; border: none; padding: 10px 15px; width: 100%; border-radius: 10px; cursor: pointer; font-size: 15px; font-weight: 600; color: #2d3748; transition: background 0.2s, color 0.2s; text-align: left; outline: none; }
  .eco-lang-item:hover, .eco-lang-item.active { background: #f2f7f5; color: #0d4a3d; }
  .eco-lang-item .flag-circle { width: 26px; height: 26px; border-radius: 50%; overflow: hidden; flex-shrink: 0; box-shadow: 0 2px 5px rgba(0,0,0,0.1); }
  .eco-lang-item .flag-circle img { width: 100%; height: 100%; object-fit: cover; display: block; }
  
  /* ẨN GOOGLE TRANSLATE */
  #google_translate_element { display: none !important; position: absolute; top: -9999px; opacity:0; }
  .goog-te-banner-frame { display: none !important; }
  body { top: 0px !important; }

/* ===== Migrated from inline-block-3 ===== */
/* 0. LỆNH "TẬN DIỆT" CÁC NÚT CŨ CỦA THEME (TRÁNH ĐÈ NHAU) */
  #call-now-button, .call-now-button, .wa-float, .whatsapp-button, 
  [id*="whatsapp"], [class*="whatsapp"], [class*="call-now"],
  .joinchat, .contact-buttons, #contact-fixed { 
      display: none !important; visibility: hidden !important; 
  }

  /* 1. SMART DOCK CORE */
  .eco-smart-dock {
      position: fixed; bottom: 20px; left: 50%; 
      transform: translateX(-50%); /* Luôn căn giữa màn hình */
      z-index: 999999; display: flex; align-items: center; gap: 12px;
      width: calc(100% - 30px); max-width: 500px; /* Co gọn trên PC */
  }
  
  .dock-main-bar {
      display: flex; background: #0d4a3d; border-radius: 50px;
      height: 60px; padding: 5px; box-shadow: 0 10px 35px rgba(13,74,61,0.4);
      flex: 1; align-items: center; justify-content: space-around;
  }

  .dock-btn {
      background: transparent; border: none; color: #fff;
      display: flex; flex-direction: column; align-items: center;
      justify-content: center; cursor: pointer; flex: 1; outline: none;
  }
  .dock-btn span { font-size: 10px; font-weight: 800; text-transform: uppercase; margin-top: 3px; color: #fff; }
  .dock-btn svg { width: 22px; height: 22px; stroke: #fff; fill: none; stroke-width: 2.5; }

  /* NÚT WHATSAPP TRÙM CUỐI */
  .dock-wa-btn {
      background: #25D366; width: 62px; height: 62px;
      border-radius: 50%; display: flex; align-items: center;
      justify-content: center; box-shadow: 0 10px 30px rgba(37,211,102,0.4);
      flex-shrink: 0; text-decoration: none !important; transition: 0.3s;
  }
  .dock-wa-btn:hover { transform: scale(1.1) rotate(5deg); }
  .dock-wa-btn svg { width: 34px; height: 34px; fill: #fff; }

  /* 2. MENU PHÂN CẤP CỦA CHỦ TỊCH */
  .eco-hub-overlay {
      position: fixed; inset: 0; background: rgba(0,0,0,0.6);
      z-index: 999998; display: none; backdrop-filter: blur(8px);
  }
  .eco-hub-overlay.show { display: block; }

  .eco-region-menu {
      position: fixed; background: #fff; z-index: 1000000;
      transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
      box-shadow: 0 -10px 40px rgba(0,0,0,0.3);
      display: flex; flex-direction: column;
  }

  /* Giao diện Mobile */
  @media (max-width: 1023px) {
      .eco-region-menu { bottom: 0; left: 0; right: 0; height: 85vh; border-radius: 25px 25px 0 0; transform: translateY(100%); }
      .eco-region-menu.show { transform: translateY(0); }
  }

  /* Giao diện PC */
  @media (min-width: 1024px) {
      .eco-region-menu { top: 0; left: 0; bottom: 0; width: 450px; transform: translateX(-100%); border-right: 1px solid #eee; }
      .eco-region-menu.show { transform: translateX(0); }
  }

  .menu-header { padding: 25px 20px 15px; border-bottom: 1px solid #eee; display: flex; justify-content: space-between; align-items: center; }
  .menu-header h3 { font-size: 22px; font-weight: 900; color: #0d4a3d; margin: 0; font-family:var(--sans); }
  .close-menu { font-size: 28px; color: #718096; cursor: pointer; border:none; background:none; }

  .menu-content { flex: 1; overflow-y: auto; padding: 20px; display: flex; flex-direction: column; }
  .region-sec { margin-bottom: 35px; order: 3; } 
  .region-label { font-size: 14px; font-weight: 800; text-transform: uppercase; letter-spacing: 1.5px; color: #cbd5e0; margin-bottom: 15px; display: flex; align-items: center; gap: 10px; }
  .region-label::after { content: ''; flex: 1; height: 1px; background: #edf2f7; }

  .province-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
  .p-item { 
      display: flex; align-items: center; gap: 10px; padding: 14px;
      background: #f8fafc; border: 1.5px solid #f1f5f9; border-radius: 12px;
      font-weight: 700; font-size: 14px; color: #1e293b; transition: 0.2s;
      text-decoration: none !important;
  }
  .p-item:hover { background: #e2f0ec; border-color: #0d4a3d; color: #0d4a3d; transform: translateY(-2px); }

  /* Ưu tiên vùng miền */
  .is-north .region-north, .is-central .region-central, .is-south .region-south { order: 1 !important; }

  /* POPUP NGÔN NGỮ (FIX GỌN) */
  .eco-lang-popup {
      position: fixed; bottom: 95px; left: 50%; transform: translateX(-130px);
      background: #fff; border-radius: 20px; padding: 12px; z-index: 1000001;
      box-shadow: 0 15px 50px rgba(0,0,0,0.3); display: none; flex-direction: column; gap: 6px;
      min-width: 180px;
  }
  .eco-lang-popup.show { display: flex; }
  .lang-item {
      display: flex; align-items: center; gap: 12px; padding: 12px 15px;
      border-radius: 12px; border: none; background: #f1f5f9;
      font-weight: 700; color: #334155; font-size: 15px; cursor: pointer; text-align: left;
  }
  .lang-item:hover { background: #e2f0ec; color: #0d4a3d; }
  .lang-item img { width: 24px; height: 24px; border-radius: 50%; object-fit: cover; }

/* ===== Migrated from inline-block-4 ===== */
/* 0. TẬN DIỆT TUYỆT ĐỐI NÚT CŨ CỦA THEME (ANTI-OVERLAP) */
  #call-now-button, .call-now-button, .wa-float, .whatsapp-button, 
  [id*="whatsapp"], [class*="whatsapp"], [class*="call-now"], 
  .joinchat, .contact-buttons, #contact-fixed, .button-fixed-bottom { 
      display: none !important; visibility: hidden !important; 
  }

  /* 1. PROGRESS BAR */
  #eco-progress { position: fixed; top: 0; left: 0; width: 0%; height: 4px; background: #b5720a; z-index: 1000002; }

  /* 2. DOCK CHÂN TRANG */
  .eco-smart-dock {
      position: fixed; bottom: 20px; left: 50%; transform: translateX(-50%);
      z-index: 999999; display: flex; align-items: center; gap: 12px;
      width: calc(100% - 30px); max-width: 550px;
  }
  .dock-main-bar {
      display: flex; background: #0d4a3d; border-radius: 50px;
      height: 60px; padding: 5px; box-shadow: 0 15px 40px rgba(13,74,61,0.4);
      flex: 1; align-items: center; justify-content: space-around;
  }
  .dock-btn { background: transparent; border: none; color: #fff; display: flex; flex-direction: column; align-items: center; justify-content: center; cursor: pointer; flex: 1; outline: none; }
  .dock-btn span { font-size: 10px; font-weight: 800; text-transform: uppercase; margin-top: 3px; color: #fff; }
  .dock-btn svg { width: 22px; height: 22px; stroke: #fff; fill: none; stroke-width: 2.2; }

  .dock-wa-btn {
      background: #25D366; width: 62px; height: 62px; border-radius: 50%; 
      display: flex; align-items: center; justify-content: center; 
      box-shadow: 0 10px 30px rgba(37,211,102,0.4); flex-shrink: 0; text-decoration: none !important;
  }
  .dock-wa-btn svg { width: 34px; height: 34px; fill: #fff; }

  /* 3. SHARE POPUP (FIXED & BEAUTIFIED) */
  .eco-share-box {
      position: fixed; bottom: 95px; left: 50%; transform: translateX(-50%);
      background: #fff; border-radius: 28px; padding: 20px; z-index: 1000001;
      box-shadow: 0 25px 60px rgba(0,0,0,0.35); display: none; 
      grid-template-columns: repeat(3, 1fr); gap: 15px; width: 320px;
      animation: ecoPop 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);
  }
  @keyframes ecoPop { from { opacity: 0; transform: translateX(-50%) scale(0.8); } to { opacity: 1; transform: translateX(-50%) scale(1); } }
  .eco-share-box.show { display: grid; }
  
  .share-item { display: flex; flex-direction: column; align-items: center; gap: 8px; background: none; border: none; cursor: pointer; outline: none; text-decoration: none !important; }
  .share-icon { width: 52px; height: 52px; border-radius: 16px; display: flex; align-items: center; justify-content: center; box-shadow: 0 4px 10px rgba(0,0,0,0.1); }
  .share-item span { font-size: 11px; font-weight: 700; color: #4a5568; }

  .si-kakao { background: #FEE500; } .si-line { background: #06C755; } .si-wa { background: #25D366; }
  .si-x { background: #000; } .si-fb { background: #1877F2; } .si-copy { background: #718096; }
  .share-icon svg { width: 24px; height: 24px; fill: #fff; }
  .si-kakao svg { fill: #3C1E1E; }

  /* 4. DESTINATIONS DRAWER */
  .eco-overlay { position: fixed; inset: 0; background: rgba(0,0,0,0.75); z-index: 999997; display: none; backdrop-filter: blur(8px); }
  .eco-overlay.show { display: block; }
  .eco-drawer { position: fixed; background: #fff; z-index: 1000000; transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1); display: flex; flex-direction: column; }
  @media (max-width: 1023px) { .eco-drawer { bottom: 0; left: 0; right: 0; height: 85vh; border-radius: 25px 25px 0 0; transform: translateY(100%); } .eco-drawer.show { transform: translateY(0); } }
  @media (min-width: 1024px) { .eco-drawer { top: 0; left: 0; bottom: 0; width: 450px; transform: translateX(-100%); border-right: 1px solid #eee; } .eco-drawer.show { transform: translateX(0); } }

  .drawer-hd { padding: 25px 20px; border-bottom: 1px solid #f1f5f9; display: flex; justify-content: space-between; align-items: center; }
  .drawer-hd h3 { font-size: 22px; font-weight: 900; color: #0d4a3d; margin:0; font-family: serif; }
  .drawer-content { flex: 1; overflow-y: auto; padding: 20px; display: flex; flex-direction: column; }
  .reg-label { font-size: 13px; font-weight: 800; text-transform: uppercase; letter-spacing: 1.5px; color: #cbd5e0; margin: 25px 0 15px; display: flex; align-items: center; gap: 10px; }
  .reg-label::after { content: ''; flex: 1; height: 1px; background: #edf2f7; }
  .p-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
  .p-link { display: flex; align-items: center; gap: 10px; padding: 15px; background: #f8fafc; border: 1.5px solid #f1f5f9; border-radius: 16px; font-weight: 700; font-size: 15px; color: #1e293b; text-decoration: none !important; transition: 0.2s; }
  .p-link:hover { background: #e2f0ec; color: #0d4a3d; border-color: #0d4a3d; transform: translateY(-2px); }
  .is-north .reg-north, .is-central .reg-central, .is-south .reg-south { order: 1 !important; }

  /* LANG BOX & FOMO */
  .eco-lang-box { position: fixed; bottom: 95px; left: 50%; transform: translateX(-100px); background: #fff; border-radius: 20px; padding: 10px; z-index: 1000001; box-shadow: 0 10px 30px rgba(0,0,0,0.3); display: none; flex-direction: column; gap: 5px; min-width: 180px; }
  .eco-lang-box.show { display: flex; }
  .lang-item { display: flex; align-items: center; gap: 12px; padding: 12px; border-radius: 12px; border:none; background:#f1f5f9; font-weight:700; cursor:pointer; font-size: 15px; }
  .eco-fomo { position: fixed; bottom: 95px; left: 20px; background: #fff; border-radius: 12px; padding: 10px 15px; z-index: 999998; box-shadow: 0 10px 30px rgba(0,0,0,0.2); display: none; align-items: center; gap: 12px; border-left: 5px solid #25D366; animation: fomoIn 0.5s ease-out; max-width: 300px; }
  @keyframes fomoIn { from { transform: translateX(-120%); } to { transform: translateX(0); } }
  .eco-fomo img { width: 35px; height: 35px; border-radius: 50%; object-fit: cover; }
  .eco-fomo p { font-size: 12px; margin: 0; color: #2d3748; font-weight: 700; }

/* ===== Migrated from inline-block-5 ===== */
/* ─── POINTER SAFETY — nothing blocks dock clicks ─── */
  .eco-smart-dock,
  .eco-smart-dock *,
  .dock-main-bar,
  .dock-btn,
  .dock-wa-btn,
  .dock-chat-mobile,
  .mob-wa-pill {
    pointer-events: auto !important;
  }

  /* ═══════════════════════════════════════════════
     ECOSAPA — REFINED MOBILE DOCK + WA FAB
     Scope: mobile bottom action area only.
     Desktop layout is untouched.
  ═══════════════════════════════════════════════ */

  /* 0. HIDE OLD THEME FLOATING BUTTONS */
  #call-now-button, .call-now-button, .wa-float, .whatsapp-button,
  [id*="whatsapp"], [class*="whatsapp"], [class*="call-now"],
  .joinchat, .contact-buttons, #contact-fixed, .button-fixed-bottom {
    display: none !important;
    visibility: hidden !important;
  }

  /* — Hide desktop FAB on mobile — */
  @media (max-width: 1023px) {
    .wa-fab-wrap { display: none !important; }
  }

  /* 1. PROGRESS BAR */
  #eco-progress {
    position: fixed; top: 0; left: 0; width: 0%;
    height: 3px; background: linear-gradient(90deg,#0d4a3d,#b5720a);
    z-index: 1000002;
  }

  /* ─── 2. DOCK CONTAINER ─── */
  .eco-smart-dock {
    position: fixed;
    bottom: 14px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 999999;
    display: flex;
    align-items: flex-end;
    gap: 10px;
    width: calc(100% - 20px);
    max-width: 560px;
  }

  /* ─── 3. MAIN PILL BAR ─── */
  .dock-main-bar {
    display: flex;
    align-items: center;
    justify-content: space-around;
    background: #0d4a3d;
    border-radius: 999px;
    height: 64px;
    padding: 6px 8px;
    box-shadow: 0 8px 32px rgba(13,74,61,0.42), 0 2px 8px rgba(0,0,0,0.18);
    flex: 1;
  }

  /* ─── 4. DOCK BUTTONS ─── */
  .dock-btn {
    background: transparent;
    border: none;
    color: rgba(255,255,255,0.9);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    flex: 1;
    outline: none;
    min-width: 0;
    padding: 6px 2px 4px;
    border-radius: 14px;
    transition: background 0.15s, color 0.15s;
    gap: 3px;
  }

  .dock-btn:hover,
  .dock-btn:active {
    background: rgba(255,255,255,0.12);
    color: #fff;
  }

  .dock-btn > span {
    font-size: 10.5px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.4px;
    color: rgba(255,255,255,0.82);
    line-height: 1;
    white-space: nowrap;
  }

  .dock-btn svg {
    width: 22px;
    height: 22px;
    stroke: rgba(255,255,255,0.92);
    fill: none;
    stroke-width: 2.2;
    flex-shrink: 0;
  }

  /* ─── 5. LANG BUTTON FLAG ─── */
  .dock-btn #cur-flag {
    width: 26px;
    height: 26px;
    border-radius: 50%;
    object-fit: cover;
    border: 2px solid rgba(255,255,255,0.35);
    display: block;
    flex-shrink: 0;
  }

  /* ─── 6. MOBILE-ONLY WHATSAPP INSIDE DOCK ─── */
  .dock-chat-mobile {
    display: none; /* shown only on mobile via media query */
    text-decoration: none !important;
  }

  .dock-chat-mobile svg {
    fill: #fff;
    stroke: none !important;
    width: 24px;
    height: 24px;
  }

  /* ─── 7. DESKTOP WA CIRCLE (beside dock) ─── */
  .dock-wa-btn,
  .dock-chat-btn {
    width: 64px;
    height: 64px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    text-decoration: none !important;
    background: #25D366;
    box-shadow: 0 6px 24px rgba(37,211,102,0.45), 0 2px 8px rgba(0,0,0,0.14);
    transition: transform 0.2s, box-shadow 0.2s;
  }

  .dock-wa-btn:hover,
  .dock-chat-btn:hover {
    transform: scale(1.07);
    box-shadow: 0 10px 32px rgba(37,211,102,0.52);
  }

  .dock-wa-btn svg,
  .dock-chat-btn svg {
    width: 32px;
    height: 32px;
    fill: #fff;
    stroke: none;
  }

  /* ─── 8. SHARE POPUP ─── */
  .eco-share-box {
    position: fixed;
    bottom: 90px;
    left: 50%;
    transform: translateX(-50%);
    background: #fff;
    border-radius: 22px;
    padding: 18px 16px;
    z-index: 1000001;
    box-shadow: 0 20px 56px rgba(0,0,0,0.26);
    display: none;
    grid-template-columns: repeat(3, 1fr);
    gap: 12px;
    width: 300px;
  }

  @keyframes ecoPop {
    from { opacity: 0; transform: translateX(-50%) scale(0.88); }
    to   { opacity: 1; transform: translateX(-50%) scale(1); }
  }

  .eco-share-box.show {
    display: grid;
    animation: ecoPop 0.22s cubic-bezier(0.175,0.885,0.32,1.275);
  }

  .share-item {
    display: flex; flex-direction: column; align-items: center; gap: 7px;
    background: none; border: none; cursor: pointer; outline: none;
    text-decoration: none !important;
  }

  .share-icon {
    width: 50px; height: 50px; border-radius: 14px;
    display: flex; align-items: center; justify-content: center;
    box-shadow: 0 3px 8px rgba(0,0,0,0.1);
  }

  .share-item span { font-size: 11px; font-weight: 700; color: #4a5568; text-align: center; line-height: 1.2; }
  .si-kakao { background: #FEE500; } .si-line { background: #06C755; } .si-wa { background: #25D366; }
  .si-x { background: #000; } .si-fb { background: #1877F2; } .si-copy { background: #64748b; }
  .share-icon svg { width: 22px; height: 22px; fill: #fff; }
  .si-kakao svg { fill: #3C1E1E; }

  /* ─── 9. DRAWER OVERLAY + PANEL ─── */
  .eco-overlay {
    position: fixed; inset: 0; background: rgba(0,0,0,0.6);
    z-index: 999997; display: none; backdrop-filter: blur(6px);
  }
  .eco-overlay.show { display: block; }

  .eco-drawer {
    position: fixed; background: #fff; z-index: 1000000;
    transition: transform 0.36s cubic-bezier(0.4,0,0.2,1);
    display: flex; flex-direction: column;
    box-shadow: 0 12px 48px rgba(0,0,0,0.18);
  }

  @media (max-width: 1023px) {
    .eco-drawer {
      bottom: 0; left: 0; right: 0; height: 88vh;
      border-radius: 24px 24px 0 0; transform: translateY(100%);
    }
    .eco-drawer.show { transform: translateY(0); }
  }

  @media (min-width: 1024px) {
    .eco-drawer {
      top: 0; left: 0; bottom: 0; width: 460px;
      transform: translateX(-100%); border-right: 1px solid #eef2f7;
    }
    .eco-drawer.show {
      transform: translateX(0);
    }
  }

  .drawer-hd {
    padding: 22px 20px;
    border-bottom: 1px solid #edf2f7;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
  }

  .drawer-hd h3 {
    font-size: 22px;
    font-weight: 900;
    color: #0d4a3d;
    margin: 0;
    letter-spacing: .2px;
  }

  .close-menu {
    width: 42px;
    height: 42px;
    border: none;
    border-radius: 12px;
    background: #f8fafc;
    color: #0d4a3d;
    font-size: 20px;
    font-weight: 800;
    cursor: pointer;
  }

  .drawer-content {
    flex: 1;
    overflow-y: auto;
    padding: 18px 18px 30px;
    display: flex;
    flex-direction: column;
    gap: 18px;
  }

  .reg-sec {
    background: #fff;
    border: 1px solid #edf2f7;
    border-radius: 20px;
    padding: 16px;
  }

  .reg-label {
    font-size: 13px;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: 1px;
    color: #0d4a3d;
    margin: 0 0 14px;
    display: flex;
    align-items: center;
    gap: 10px;
  }

  .reg-label::after {
    content: "";
    flex: 1;
    height: 1px;
    background: #e2e8f0;
  }

  .p-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
  }

  .p-link {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 13px 14px;
    background: #f8fafc;
    border: 1px solid #edf2f7;
    border-radius: 14px;
    font-weight: 700;
    font-size: 14px;
    color: #1e293b;
    text-decoration: none !important;
    transition: all .2s ease;
    line-height: 1.35;
  }

  .p-link:hover {
    background: #edf7f3;
    color: #0d4a3d;
    border-color: #b7d7cb;
    transform: translateY(-2px);
  }

  .p-link.active {
    background: #e7f4ef;
    border-color: #0d4a3d;
    color: #0d4a3d;
    box-shadow: inset 0 0 0 1px rgba(13,74,61,.08);
  }

  /* 5. LANGUAGE BOX */
  .eco-lang-box {
    position: fixed;
    bottom: 92px;
    left: 50%;
    transform: translateX(-110px);
    background: #fff;
    border-radius: 18px;
    padding: 10px;
    z-index: 1000001;
    box-shadow: 0 10px 30px rgba(0,0,0,0.24);
    display: none;
    flex-direction: column;
    gap: 6px;
    min-width: 190px;
  }

  .eco-lang-box.show {
    display: flex;
  }

  .lang-item {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px;
    border-radius: 12px;
    border: none;
    background: #f8fafc;
    font-weight: 700;
    cursor: pointer;
    font-size: 15px;
    color: #1f2937;
  }

  .lang-item:hover {
    background: #edf7f3;
  }

  /* ─── 10. LANG BOX ─── */
  .eco-lang-box {
    position: fixed;
    bottom: 90px;
    left: 50%;
    transform: translateX(-110px);
    background: #fff;
    border-radius: 18px;
    padding: 10px;
    z-index: 1000001;
    box-shadow: 0 12px 36px rgba(0,0,0,0.22);
    display: none;
    flex-direction: column;
    gap: 5px;
    min-width: 190px;
  }

  .eco-lang-box.show { display: flex; }

  .lang-item {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 11px 14px;
    border-radius: 12px;
    border: none;
    background: #f8fafc;
    font-weight: 700;
    cursor: pointer;
    font-size: 14px;
    color: #1a2e26;
    transition: background 0.15s;
  }

  .lang-item:hover { background: #edf7f3; color: #0d4a3d; }

  .lang-item img {
    width: 26px;
    height: 26px;
    border-radius: 50%;
    object-fit: cover;
    border: 1.5px solid rgba(0,0,0,0.08);
    flex-shrink: 0;
  }

  /* ─── 11. MOBILE RESPONSIVE ─── */
  @media (max-width: 1023px) {
    /* Show WA inside dock on mobile, hide desktop circle */
    .dock-wa-btn { display: none; }
    .dock-chat-mobile { display: flex; }

    .eco-smart-dock {
      bottom: 12px;
      width: calc(100% - 16px);
      gap: 0; /* pill and WA circle merge visually */
      align-items: center;
    }

    /* On mobile: WA becomes an elevated circle attached to right of pill */
    .dock-main-bar {
      height: 62px;
      border-radius: 999px;
      padding: 5px 8px;
    }

    .dock-btn {
      padding: 5px 2px 4px;
      gap: 3px;
    }

    .dock-btn > span {
      font-size: 10px;
      letter-spacing: 0.3px;
    }

    .dock-btn svg {
      width: 21px;
      height: 21px;
    }

    .dock-btn #cur-flag {
      width: 24px;
      height: 24px;
    }

    .eco-share-box {
      width: calc(100% - 24px);
      max-width: 320px;
      bottom: 88px;
    }

    .eco-lang-box {
      left: auto;
      right: 10px;
      transform: none;
      bottom: 86px;
      min-width: 175px;
    }

    .p-grid { grid-template-columns: 1fr 1fr; gap: 8px; }
    .p-link { padding: 12px 11px; font-size: 13px; gap: 8px; border-radius: 12px; }
  }

  @media (max-width: 420px) {
    .dock-btn > span { font-size: 9.5px; }
    .p-grid { grid-template-columns: 1fr; }
  }

  /* ─── 12. MOBILE WA FLOATING PILL (replaces old wa-fab-wrap on mobile) ─── */
  /* The dock-chat-mobile already handles WA inside the bar on mobile.
     Below is the elevated WA CTA pill that sits just above the dock on mobile — 
     gives the "floating book" feel without the disconnected random placement. */
  .mob-wa-pill {
    display: none;
  }

  @media (max-width: 1023px) {
    .mob-wa-pill {
      display: flex;
      position: fixed;
      bottom: 90px;
      left: 50%;
      transform: translateX(-50%);
      z-index: 999998;
      align-items: center;
      gap: 9px;
      background: #25D366;
      color: #fff;
      font-family: var(--sans, 'DM Sans', sans-serif);
      font-size: 14px;
      font-weight: 800;
      padding: 11px 22px 11px 16px;
      border-radius: 999px;
      box-shadow: 0 6px 24px rgba(37,211,102,0.48), 0 2px 8px rgba(0,0,0,0.12);
      text-decoration: none;
      white-space: nowrap;
      letter-spacing: 0.2px;
      animation: pillFloat 3s ease-in-out infinite;
    }

    @keyframes pillFloat {
      0%,100% { transform: translateX(-50%) translateY(0); }
      50%      { transform: translateX(-50%) translateY(-3px); }
    }

    .mob-wa-pill svg {
      width: 20px;
      height: 20px;
      fill: #fff;
      flex-shrink: 0;
    }
  }

/* ===== Migrated from inline-block-6 ===== */
/* Hide the old multi-action dock, floating WhatsApp bars and theme/plugin floating buttons. */
  .mob-wa-pill,
  .wa-fab-wrap,
  .wa-fab,
  .wa-fab-new,
  .dock-wa-btn,
  .dock-chat-mobile,
  #call-now-button,
  .call-now-button,
  .wa-float,
  .whatsapp-button,
  .joinchat,
  .contact-buttons,
  #contact-fixed,
  .button-fixed-bottom {
    display: none !important;
    visibility: hidden !important;
  }

  .eco-mobile-final-dock {
    display: none !important;
  }

  @media (max-width: 1023px) {
    html,
    body {
      width: 100% !important;
      max-width: 100% !important;
      overflow-x: hidden !important;
    }

    body {
      padding-bottom: calc(92px + env(safe-area-inset-bottom)) !important;
    }

    .topbar {
      display: none !important;
    }

    nav.sitenav {
      top: 0 !important;
    }

    .nav-inner {
      height: 58px !important;
      padding: 0 14px !important;
    }

    .nav-logo-text strong {
      font-size: .95rem !important;
      line-height: 1.1 !important;
    }

    .nav-logo-text span {
      display: none !important;
    }

    .nav-inner > div[style*="flex-shrink:0"] {
      display: none !important;
    }

    .nav-ham {
      display: flex !important;
    }

    .mob-menu .mob-wa,
    .mob-wa-pill,
    .wa-fab-wrap,
    .wa-fab,
    .dock-wa-btn,
    .dock-chat-mobile,
    .eco-share-box,
    .eco-lang-box {
      display: none !important;
      visibility: hidden !important;
    }

    .page-wrap,
    .nav-inner,
    .social-inner,
    .footer-inner,
    .footer-bottom {
      max-width: 100% !important;
    }

    .page-wrap {
      padding-left: 14px !important;
      padding-right: 14px !important;
    }

    .schedule-grid,
    .why-grid,
    .how-grid,
    .guides-grid,
    .reviews-grid,
    .vehicle-gallery,
    .eco-addon-grid {
      width: 100% !important;
      max-width: 100% !important;
      grid-template-columns: 1fr !important;
    }

    .trip-card,
    .guide-card,
    .why-card,
    .how-card,
    .rv-card,
    .eco-addon-card,
    .vehicle-gallery > * {
      width: 100% !important;
      max-width: 100% !important;
    }

    .trip-row {
      display: grid !important;
      grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
      gap: 8px !important;
    }

    .trip-row > div {
      min-width: 0 !important;
    }

    .trip-label {
      font-size: .78rem !important;
    }

    .trip-val {
      font-size: 1rem !important;
      overflow-wrap: anywhere !important;
    }

    .trip-card-footer {
      flex-direction: column !important;
      align-items: stretch !important;
      gap: 14px !important;
    }

    .trip-card-footer .btn-book {
      width: 100% !important;
      justify-content: center !important;
    }

    .eco-smart-dock.eco-mobile-final-dock {
      position: fixed !important;
      left: 10px !important;
      right: 10px !important;
      bottom: calc(10px + env(safe-area-inset-bottom)) !important;
      transform: none !important;
      z-index: 1000005 !important;
      display: grid !important;
      grid-template-columns: 1fr 1fr !important;
      gap: 10px !important;
      width: auto !important;
      max-width: none !important;
      padding: 9px !important;
      background: rgba(255,255,255,.96) !important;
      border: 1px solid rgba(13,74,61,.16) !important;
      border-radius: 24px !important;
      box-shadow: 0 12px 34px rgba(7,46,38,.28) !important;
      -webkit-backdrop-filter: blur(14px) !important;
      backdrop-filter: blur(14px) !important;
      pointer-events: auto !important;
    }

    .eco-mobile-action {
      appearance: none !important;
      border: 0 !important;
      min-height: 58px !important;
      border-radius: 18px !important;
      display: flex !important;
      align-items: center !important;
      justify-content: center !important;
      gap: 9px !important;
      font-family: var(--sans, system-ui, sans-serif) !important;
      font-size: 15px !important;
      font-weight: 900 !important;
      line-height: 1 !important;
      cursor: pointer !important;
      text-decoration: none !important;
      box-shadow: 0 5px 16px rgba(0,0,0,.10) !important;
      -webkit-tap-highlight-color: transparent !important;
    }

    .eco-mobile-book {
      background: #25D366 !important;
      color: #fff !important;
    }

    .eco-mobile-guides {
      background: #0d4a3d !important;
      color: #fff !important;
    }

    .eco-action-icon {
      font-size: 19px !important;
      line-height: 1 !important;
    }

    .eco-action-label {
      color: inherit !important;
      white-space: nowrap !important;
    }
  }

  @media (min-width: 1024px) {
    .eco-mobile-final-dock {
      display: none !important;
    }
  }

/* ===== Migrated from eco-mobile-booking-prompt-final-fix ===== */
html.eco-modal-live,
  body.eco-booking-open{
    overflow:hidden!important;
    height:100%!important;
    touch-action:none!important;
  }

  body.eco-booking-open .eco-mobile-final-dock,
  body.eco-booking-open .eco-smart-dock,
  body.eco-booking-open .wa-fab,
  body.eco-booking-open .wa-fab-wrap,
  body.eco-booking-open .wa-fab-new,
  body.eco-booking-open .fab-urgent-label,
  body.eco-booking-open .mob-wa-pill,
  body.eco-booking-open #eco-share-box,
  body.eco-booking-open .eco-share-box,
  body.eco-booking-open #eco-progress,
  body.eco-booking-open #prog{
    display:none!important;
    visibility:hidden!important;
    pointer-events:none!important;
  }

  @media(max-width:767px){
    .modal-overlay{
      position:fixed!important;
      inset:0!important;
      z-index:2147483000!important;
      display:none!important;
      align-items:stretch!important;
      justify-content:stretch!important;
      padding:0!important;
      background:#fff!important;
      backdrop-filter:none!important;
      overflow:hidden!important;
      overscroll-behavior:contain!important;
    }

    .modal-overlay.open{
      display:block!important;
    }

    .modal-box{
      width:100%!important;
      max-width:none!important;
      height:100dvh!important;
      min-height:100dvh!important;
      border-radius:0!important;
      box-shadow:none!important;
      overflow:hidden!important;
      display:flex!important;
      flex-direction:column!important;
      background:#fff!important;
      animation:none!important;
    }

    .modal-head{
      position:sticky!important;
      top:0!important;
      z-index:3!important;
      padding:18px 18px 16px!important;
      background:linear-gradient(135deg,#072e26 0%,#0d4a3d 100%)!important;
      border-radius:0 0 22px 22px!important;
      box-shadow:0 8px 26px rgba(7,46,38,.18)!important;
    }

    .modal-head::before{
      content:'Official Direct Booking';
      display:inline-flex!important;
      align-items:center!important;
      gap:6px!important;
      margin-bottom:9px!important;
      padding:6px 11px!important;
      border-radius:999px!important;
      background:rgba(255,255,255,.15)!important;
      border:1px solid rgba(255,255,255,.24)!important;
      color:#fff!important;
      font-family:var(--sans,'DM Sans',system-ui,sans-serif)!important;
      font-size:11px!important;
      line-height:1!important;
      font-weight:900!important;
      letter-spacing:.9px!important;
      text-transform:uppercase!important;
    }

    .modal-head h3{
      max-width:calc(100% - 46px)!important;
      margin:0 0 5px!important;
      color:#fff!important;
      font-family:var(--serif)!important;
      font-size:24px!important;
      line-height:1.16!important;
      letter-spacing:-.3px!important;
    }

    .modal-head p{
      max-width:calc(100% - 18px)!important;
      margin:0!important;
      color:rgba(255,255,255,.9)!important;
      font-size:14px!important;
      line-height:1.45!important;
      font-weight:650!important;
    }

    .modal-close{
      position:absolute!important;
      top:15px!important;
      right:14px!important;
      width:40px!important;
      height:40px!important;
      border-radius:999px!important;
      background:rgba(255,255,255,.18)!important;
      color:#fff!important;
      border:1px solid rgba(255,255,255,.28)!important;
      font-size:20px!important;
      line-height:1!important;
      z-index:4!important;
    }

    .modal-body{
      flex:1 1 auto!important;
      overflow-y:auto!important;
      -webkit-overflow-scrolling:touch!important;
      overscroll-behavior:contain!important;
      padding:18px 16px max(28px,calc(env(safe-area-inset-bottom) + 26px))!important;
      background:#fff!important;
    }

    .modal-body::before{
      content:'Fill the form below. Tap the red button at the bottom to send your booking request to WhatsApp.';
      display:block!important;
      margin:0 0 16px!important;
      padding:13px 14px!important;
      border-radius:16px!important;
      background:#f0faf4!important;
      border:1.5px solid #b2d4c9!important;
      color:#0d4a3d!important;
      font-size:13.5px!important;
      line-height:1.48!important;
      font-weight:800!important;
    }

    .form-row{
      display:grid!important;
      grid-template-columns:1fr!important;
      gap:0!important;
      margin:0!important;
    }

    .form-group{
      margin:0 0 15px!important;
      gap:7px!important;
    }

    .form-group label{
      display:flex!important;
      align-items:center!important;
      gap:7px!important;
      font-size:12px!important;
      line-height:1.25!important;
      color:#1a1208!important;
      font-weight:950!important;
      text-transform:uppercase!important;
      letter-spacing:1px!important;
    }

    .form-group input,
    .form-group select{
      width:100%!important;
      min-height:54px!important;
      height:54px!important;
      padding:0 44px 0 15px!important;
      border:1.5px solid #ddd8cf!important;
      border-radius:16px!important;
      background:#fff!important;
      color:#1a1208!important;
      font-family:var(--sans,'DM Sans',system-ui,sans-serif)!important;
      font-size:16px!important;
      line-height:1.2!important;
      font-weight:750!important;
      box-shadow:0 1px 0 rgba(7,46,38,.03)!important;
      outline:none!important;
      max-width:100%!important;
      text-overflow:ellipsis!important;
      white-space:nowrap!important;
      overflow:hidden!important;
      -webkit-appearance:none!important;
      appearance:none!important;
      background-image:linear-gradient(45deg,transparent 50%,#0d4a3d 50%),linear-gradient(135deg,#0d4a3d 50%,transparent 50%)!important;
      background-position:calc(100% - 22px) 23px,calc(100% - 15px) 23px!important;
      background-size:7px 7px,7px 7px!important;
      background-repeat:no-repeat!important;
    }

    .form-group input:not([type='date']){
      background-image:none!important;
      padding-right:15px!important;
    }

    .form-group input:focus,
    .form-group select:focus{
      border-color:#0d4a3d!important;
      box-shadow:0 0 0 4px rgba(13,74,61,.11)!important;
    }

    .form-group input::placeholder{
      color:#9c9890!important;
      opacity:1!important;
      font-weight:650!important;
    }

    #f-waphone{
      padding-left:46px!important;
      background-image:none!important;
    }

    .btn-form-submit{
      position:sticky!important;
      bottom:0!important;
      z-index:5!important;
      width:100%!important;
      min-height:58px!important;
      margin-top:10px!important;
      padding:15px 18px!important;
      border-radius:18px!important;
      border:2px solid #063b2f!important;
      background:linear-gradient(135deg,#25D366 0%,#1db954 100%)!important;
      color:#fff!important;
      font-size:16px!important;
      line-height:1.2!important;
      font-weight:950!important;
      letter-spacing:.1px!important;
      box-shadow:0 12px 28px rgba(37,211,102,.30),0 -10px 30px rgba(255,255,255,.92)!important;
    }

    .btn-form-submit::after{
      content:' →';
      font-weight:950!important;
    }

    .modal-footer-note{
      margin-top:14px!important;
      padding-bottom:12px!important;
      font-size:12.5px!important;
      line-height:1.5!important;
      color:#6b6356!important;
    }

    .modal-footer-note > div:first-child{
      margin-bottom:10px!important;
      border-radius:16px!important;
      padding:12px!important;
    }
  }

/* ===== Migrated from inline-block-8 ===== */
/* Professional VIP price UI */
  .trip-card-footer{
    padding:16px 20px!important;
    border-top:1.5px solid #ead7aa!important;
    background:linear-gradient(135deg,#fffaf0 0%,#ffffff 100%)!important;
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:16px!important;
  }

  .trip-price{
    display:flex!important;
    flex-direction:column!important;
    align-items:flex-start!important;
    gap:6px!important;
    font-family:var(--sans)!important;
    line-height:1.1!important;
    color:var(--ink)!important;
  }

  .trip-price .vip-price-top,
  .trip-price .vip-label{
    display:inline-flex!important;
    align-items:center!important;
    gap:6px!important;
    background:linear-gradient(135deg,#fff4cf 0%,#f6c453 100%)!important;
    color:#5c3700!important;
    border:1.5px solid #d69a16!important;
    border-radius:999px!important;
    padding:5px 12px!important;
    font-family:var(--sans)!important;
    font-size:.75rem!important;
    font-weight:900!important;
    letter-spacing:.7px!important;
    text-transform:uppercase!important;
    box-shadow:0 3px 10px rgba(181,114,10,.18)!important;
  }

  .trip-price .vip-price-main{
    display:flex!important;
    align-items:baseline!important;
    gap:6px!important;
  }

  .trip-price .vip-price-main strong{
    font-family:var(--sans)!important;
    font-size:2rem!important;
    font-weight:900!important;
    color:#0d4a3d!important;
    letter-spacing:-1px!important;
  }

  .trip-price .vip-price-main span{
    font-family:var(--sans)!important;
    font-size:.98rem!important;
    font-weight:800!important;
    color:#6b6356!important;
  }

  .trip-price .vip-amount{
    display:block!important;
    font-family:var(--sans)!important;
    font-size:1.95rem!important;
    font-weight:900!important;
    color:#0d4a3d!important;
    letter-spacing:-.8px!important;
  }

  .trip-price .vip-amount small{
    font-size:.92rem!important;
    font-weight:800!important;
    color:#6b6356!important;
    letter-spacing:0!important;
  }

  .vip-badge{
    position:absolute!important;
    top:14px!important;
    right:14px!important;
    background:linear-gradient(135deg,#0d4a3d 0%,#072e26 100%)!important;
    color:#fff!important;
    font-size:.72rem!important;
    font-weight:900!important;
    padding:5px 10px!important;
    border-radius:999px!important;
    letter-spacing:.7px!important;
    text-transform:uppercase!important;
    box-shadow:0 4px 12px rgba(7,46,38,.2)!important;
  }

  .btn-book{
    box-shadow:0 4px 14px rgba(37,211,102,.28)!important;
    border:2px solid #063b2f!important;
  }

  @media(max-width:520px){
    .trip-card-footer{
      align-items:flex-start!important;
      flex-direction:column!important;
      gap:14px!important;
    }

    .btn-book{
      width:100%!important;
      justify-content:center!important;
    }

    .trip-price .vip-price-main strong,
    .trip-price .vip-amount{
      font-size:1.8rem!important;
    }
  }

/* ===== Migrated from vip-price-card-polish ===== */
.trip-card-footer{
    align-items:center!important;
    background:linear-gradient(135deg,#fffaf0 0%,#ffffff 100%)!important;
    border-top:1.5px solid #ead7aa!important;
    display:flex!important;
    gap:16px!important;
    justify-content:space-between!important;
    padding:16px 20px!important;
  }
  .trip-price{align-items:flex-start!important;display:flex!important;flex-direction:column!important;gap:6px!important;line-height:1.1!important}
  .vip-price-top{background:linear-gradient(135deg,#fff4cf 0%,#f6c453 100%)!important;border:1.5px solid #d69a16!important;border-radius:999px!important;color:#5c3700!important;display:inline-flex!important;font-size:.75rem!important;font-weight:900!important;letter-spacing:.7px!important;padding:5px 12px!important;text-transform:uppercase!important}
  .vip-price-main{align-items:baseline!important;display:flex!important;gap:6px!important}
  .vip-price-main strong{color:#0d4a3d!important;font-size:2rem!important;font-weight:900!important;letter-spacing:-1px!important}
  .vip-price-main span{color:#6b6356!important;font-size:.98rem!important;font-weight:800!important}
  .vip-price-confirm strong{font-size:1.35rem!important;letter-spacing:-.4px!important}
  .btn-book{border:2px solid #063b2f!important;box-shadow:0 4px 14px rgba(37,211,102,.28)!important}
  @media(max-width:520px){.trip-card-footer{align-items:flex-start!important;flex-direction:column!important}.btn-book{justify-content:center!important;width:100%!important}}

/* ===== Migrated from inline-block-10 ===== */
/* ── Language Switcher ── */
.nav-lang-wrap {
  position: relative;
  display: inline-flex;
}
.nav-lang-btn {
  display: flex; align-items: center; gap: 5px;
  background: var(--slate);
  border: 1.5px solid var(--border);
  border-radius: 50px;
  padding: 8px 14px;
  cursor: pointer;
  font-family: var(--sans);
  font-size: .95rem; font-weight: 700;
  color: var(--ink);
  transition: background .15s, border-color .15s;
  min-height: 40px;
  white-space: nowrap;
}
.nav-lang-btn:hover { background: var(--teal-lt); border-color: var(--teal); color: var(--teal); }
.nav-lang-btn #navLangFlag { font-size: 1.1rem; line-height: 1; }
.nav-lang-caret { width: 10px; height: 6px; opacity: .6; transition: transform .2s; }
.nav-lang-wrap.open .nav-lang-caret { transform: rotate(180deg); }
.nav-lang-wrap.open .nav-lang-btn { background: var(--teal-lt); border-color: var(--teal); color: var(--teal); }

.nav-lang-menu {
  display: none;
  position: absolute;
  top: calc(100% + 10px);
  right: 0;
  background: #fff;
  border: 1.5px solid var(--border);
  border-radius: 18px;
  box-shadow: 0 12px 40px rgba(7,46,38,.14);
  padding: 8px;
  z-index: 900;
  min-width: 200px;
  animation: dropFade .18s ease;
}
.nav-lang-wrap.open .nav-lang-menu { display: block; }
.nav-lang-section-label {
  font-size: .72rem; font-weight: 800;
  color: var(--muted);
  text-transform: uppercase; letter-spacing: .8px;
  padding: 6px 12px 8px;
}
.nav-lang-item {
  display: flex; align-items: center; gap: 10px;
  width: 100%; text-align: left;
  background: none; border: none;
  padding: 10px 12px;
  border-radius: 11px;
  font-family: var(--sans);
  font-size: .95rem; font-weight: 600;
  color: var(--ink);
  cursor: pointer;
  transition: background .12s, color .12s;
}
.nav-lang-item:hover { background: var(--teal-lt); color: var(--teal); }
.nav-lang-active { background: var(--teal-lt); color: var(--teal); font-weight: 800; }
.nlg-flag { font-size: 1.2rem; line-height: 1; flex-shrink: 0; }
.nlg-name { flex: 1; }
.nlg-check { font-size: .8rem; color: var(--teal); font-weight: 900; }

/* Language flag polish: show country flag instead of globe and make dropdown feel premium */
.nav-lang-btn #navLangFlag{
  width: 24px;
  height: 24px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 0 0 1px rgba(7,46,38,.12), 0 2px 8px rgba(7,46,38,.10);
  font-size: 1.18rem;
  line-height: 1;
}
.nav-lang-menu{
  min-width: 230px;
  max-height: min(70vh, 430px);
  overflow-y: auto;
}
.nav-lang-item{
  min-height: 44px;
}
.nlg-flag{
  width: 30px;
  height: 30px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 0 0 1px rgba(7,46,38,.10), 0 2px 8px rgba(7,46,38,.08);
  font-size: 1.25rem;
}


/* PROMINENT FLAG-ONLY LANGUAGE SWITCHER */
.nav-lang-btn{
  padding:5px 9px 5px 6px !important;
  gap:7px !important;
  min-height:48px !important;
  border-radius:999px !important;
  background:#fff !important;
  border:1.5px solid rgba(7,46,38,.18) !important;
  box-shadow:0 4px 14px rgba(7,46,38,.10) !important;
}
.nav-lang-btn:hover,
.nav-lang-wrap.open .nav-lang-btn{
  background:#fff !important;
  border-color:var(--teal) !important;
  box-shadow:0 8px 22px rgba(7,46,38,.16) !important;
}
#navLangLabel{
  display:none !important;
}
#navLangFlag.flag-img-badge{
  width:36px !important;
  height:36px !important;
  border-radius:50% !important;
  overflow:hidden !important;
  padding:0 !important;
  background:#fff !important;
  box-shadow:0 0 0 2px #fff, 0 0 0 3px rgba(7,46,38,.18), 0 4px 12px rgba(0,0,0,.18) !important;
}
#navLangFlag img,
.nlg-flag img{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  display:block !important;
}
.nav-lang-caret{
  width:12px !important;
  height:7px !important;
  opacity:.85 !important;
  color:var(--teal) !important;
}
.nav-lang-menu{
  min-width:250px !important;
  padding:10px !important;
  border-radius:20px !important;
  box-shadow:0 18px 50px rgba(7,46,38,.18) !important;
}
.nav-lang-item{
  min-height:52px !important;
  padding:9px 12px !important;
  gap:13px !important;
}
.nlg-flag{
  width:38px !important;
  height:38px !important;
  border-radius:50% !important;
  overflow:hidden !important;
  padding:0 !important;
  background:#fff !important;
  box-shadow:0 0 0 2px #fff, 0 0 0 3px rgba(7,46,38,.10), 0 4px 12px rgba(0,0,0,.12) !important;
}
.nav-lang-active .nlg-flag{
  box-shadow:0 0 0 2px #fff, 0 0 0 3px var(--teal), 0 6px 16px rgba(7,46,38,.18) !important;
}


/* Hide Google Translate toolbar/banner */
.goog-te-banner-frame,
.goog-te-gadget,
#goog-gt-tt,
.goog-tooltip,
.goog-tooltip:hover,
.skiptranslate { display: none !important; }
body { top: 0 !important; }
.goog-te-menu-frame { box-shadow: none !important; }

/* ── Scroll To Top Button ── */
.scroll-top-btn {
  position: fixed;
  bottom: 32px;
  right: 24px;
  z-index: 800;
  width: 48px; height: 48px;
  border-radius: 50%;
  background: var(--teal);
  border: none; cursor: pointer;
  display: flex; align-items: center; justify-content: center;
  box-shadow: 0 4px 18px rgba(7,46,38,.28);
  opacity: 0; pointer-events: none;
  transform: translateY(12px);
  transition: opacity .25s, transform .25s, background .15s;
}
.scroll-top-btn.visible {
  opacity: 1; pointer-events: auto; transform: translateY(0);
}

/* FIX: make language dropdown reliably clickable and visible */
.nav-lang-wrap{
  position:relative !important;
  z-index:9999 !important;
}
.nav-lang-btn{
  pointer-events:auto !important;
  position:relative !important;
  z-index:10001 !important;
}
.nav-lang-menu{
  pointer-events:auto !important;
  z-index:10000 !important;
}
.nav-lang-wrap.open > .nav-lang-menu,
.nav-lang-menu.open{
  display:block !important;
  visibility:visible !important;
  opacity:1 !important;
}
.nav-lang-item .nlg-flag,
.nav-lang-item .nlg-flag img,
#navLangFlag,
#navLangFlag img{
  pointer-events:none !important;
}

.scroll-top-btn:hover { background: var(--teal2); }
.scroll-top-btn svg { width: 22px; height: 22px; }

/* On mobile, shift scroll-top-btn above dock */
@media (max-width: 900px) {
  .scroll-top-btn { bottom: 90px; right: 14px; width: 42px; height: 42px; }
  /* Hide lang switcher on mobile — language handled by mobile dock or menu */
  .nav-lang-wrap { display: none !important; }
}

/* ===== Migrated from ecosapa-menu-professional-v5 ===== */
/* Menu-only redesign. Everything below the navigation remains untouched. */
nav.sitenav{
  background:rgba(255,255,255,.98)!important;
  border-bottom:1px solid #e9e5de!important;
  box-shadow:0 5px 22px rgba(7,46,38,.07)!important;
  backdrop-filter:blur(12px) saturate(140%);
}
nav.sitenav .nav-inner{
  max-width:1360px!important;
  height:72px!important;
  padding:0 24px!important;
  gap:24px!important;
}
nav.sitenav .nav-logo{gap:11px!important}
nav.sitenav .nav-logo img{height:39px!important;width:auto!important}
nav.sitenav .nav-logo-text strong{
  font-family:'DM Sans',system-ui,-apple-system,'Segoe UI',sans-serif!important;
  font-size:16px!important;
  font-weight:800!important;
  letter-spacing:-.02em!important;
  color:#0d4a3d!important;
}
nav.sitenav .nav-logo-text span{
  font-family:'DM Sans',system-ui,-apple-system,'Segoe UI',sans-serif!important;
  font-size:11.5px!important;
  font-weight:600!important;
  color:#7a746b!important;
  letter-spacing:.015em!important;
  margin-top:3px!important;
}
.pro-nav-links{
  display:flex!important;
  align-items:stretch!important;
  justify-content:center!important;
  gap:23px!important;
  margin-left:auto!important;
  height:72px!important;
}
.pro-nav-link{
  position:relative!important;
  display:flex!important;
  align-items:center!important;
  height:72px!important;
  padding:1px 0 0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  color:#28231e!important;
  font-family:'DM Sans',system-ui,-apple-system,'Segoe UI',sans-serif!important;
  font-size:14.5px!important;
  line-height:1!important;
  font-weight:650!important;
  letter-spacing:-.01em!important;
  white-space:nowrap!important;
  opacity:1!important;
}
.pro-nav-link::after{
  content:'';
  position:absolute;
  left:0;right:0;bottom:0;
  height:3px;
  border-radius:3px 3px 0 0;
  background:#0d4a3d;
  transform:scaleX(0);
  transform-origin:center;
  transition:transform .18s ease;
}
.pro-nav-link:hover,.pro-nav-link.active{color:#0d4a3d!important;background:transparent!important;opacity:1!important}
.pro-nav-link:hover::after,.pro-nav-link.active::after{transform:scaleX(1)}
.pro-nav-group{position:relative!important;display:flex!important;align-items:stretch!important;height:72px!important}
.pro-nav-parent{display:flex;align-items:center;height:72px;gap:4px}
.pro-nav-parent-link{height:72px!important}
.pro-nav-caret{
  width:24px;height:32px;padding:0!important;margin:0!important;
  display:grid;place-items:center;
  background:transparent!important;border:0!important;
  color:#777067!important;cursor:pointer!important;
  font-family:Arial,sans-serif!important;font-size:11px!important;
  transition:color .15s,transform .15s;
}
.pro-nav-group:hover .pro-nav-caret,.pro-nav-group:focus-within .pro-nav-caret{color:#0d4a3d!important;transform:translateY(1px)}
.pro-drop-menu{
  display:none!important;
  position:absolute!important;
  top:64px!important;
  left:-18px!important;
  min-width:292px!important;
  padding:10px!important;
  background:#fff!important;
  border:1px solid #e7e1d8!important;
  border-radius:14px!important;
  box-shadow:0 18px 50px rgba(7,46,38,.15)!important;
  z-index:900!important;
}
.pro-nav-group:hover > .pro-drop-menu,
.pro-nav-group:focus-within > .pro-drop-menu,
.pro-nav-group.open > .pro-drop-menu{display:block!important}
.pro-drop-item{
  display:block!important;
  padding:11px 12px!important;
  border-radius:10px!important;
  background:transparent!important;
  text-decoration:none!important;
  border:0!important;
  opacity:1!important;
}
.pro-drop-item:hover{background:#f2f7f4!important;opacity:1!important}
.pro-drop-item strong{
  display:block!important;
  font-family:'DM Sans',system-ui,sans-serif!important;
  font-size:14px!important;
  font-weight:750!important;
  line-height:1.25!important;
  color:#1f2c28!important;
}
.pro-drop-item span{
  display:block!important;
  margin-top:4px!important;
  font-family:'DM Sans',system-ui,sans-serif!important;
  font-size:12px!important;
  line-height:1.35!important;
  font-weight:500!important;
  color:#79746d!important;
}
.pro-drop-divider{height:1px;background:#ebe6df;margin:6px 4px!important}
.pro-drop-all{
  display:block!important;
  padding:10px 12px 9px!important;
  color:#0d4a3d!important;
  font-family:'DM Sans',system-ui,sans-serif!important;
  font-size:13px!important;
  font-weight:750!important;
  text-decoration:none!important;
}
.pro-guide-group .pro-drop-menu{left:-28px!important}
.pro-book-cta{
  height:44px!important;
  padding:0 17px!important;
  border-radius:10px!important;
  border:1px solid #dd7b08!important;
  background:linear-gradient(135deg,#e8840d,#f39a2a)!important;
  box-shadow:0 7px 18px rgba(217,119,6,.22)!important;
  color:#fff!important;
  font-family:'DM Sans',system-ui,-apple-system,'Segoe UI',sans-serif!important;
  font-size:13.5px!important;
  font-weight:750!important;
  letter-spacing:-.01em!important;
  text-decoration:none!important;
  white-space:nowrap!important;
}
.pro-book-cta:hover{background:linear-gradient(135deg,#d97505,#e7891b)!important;transform:translateY(-1px);opacity:1!important}
.pro-book-cta svg{width:17px!important;height:17px!important;fill:#fff!important}
.pro-nav-actions{gap:9px!important}

@media(max-width:1230px){
  .pro-nav-links{gap:15px!important}
  .pro-nav-link{font-size:13.5px!important}
  .pro-book-cta span{display:none!important}
  .pro-book-cta{width:44px!important;padding:0!important;justify-content:center!important}
  nav.sitenav .nav-logo-text span{display:none!important}
}
@media(max-width:1040px){
  .pro-nav-links{display:none!important}
  nav.sitenav .nav-ham{display:flex!important}
}
@media(max-width:767px){
  nav.sitenav .nav-inner{height:60px!important;padding:0 14px!important}
  nav.sitenav .nav-logo img{height:34px!important}
  nav.sitenav .nav-logo-text strong{font-size:14px!important}
  nav.sitenav .pro-nav-actions{display:none!important}
  .pro-mobile-menu{
    padding:18px!important;
    gap:8px!important;
    background:#fff!important;
  }
  .pro-mobile-head{
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    padding-bottom:14px!important;
    margin-bottom:2px!important;
    border-bottom:1px solid #ebe6df!important;
  }
  .pro-mobile-head strong{
    display:block;font-family:'DM Sans',system-ui,sans-serif;
    font-size:18px;font-weight:800;color:#0d4a3d;line-height:1.15;
  }
  .pro-mobile-head span{display:block;margin-top:4px;font-size:11.5px;font-weight:600;color:#777067}
  .pro-mobile-menu .mob-close{margin:0!important;align-self:auto!important}
  .pro-mobile-main{
    display:flex!important;align-items:center!important;justify-content:space-between!important;
    border:0!important;border-bottom:1px solid #eee9e2!important;
    border-radius:0!important;padding:13px 4px!important;
    font-family:'DM Sans',system-ui,sans-serif!important;
    font-size:16px!important;font-weight:700!important;color:#27221e!important;
  }
  .pro-mobile-section{
    margin:1px 0 7px!important;
    padding:7px!important;
    border:1px solid #e0ebe5!important;
    background:#f4f8f6!important;
    border-radius:12px!important;
  }
  .pro-mobile-section .mob-tour-label{font-size:10.5px!important;letter-spacing:.08em!important;padding:6px 8px 4px!important}
  .pro-mobile-section a{
    border:0!important;padding:9px 9px!important;
    font-family:'DM Sans',system-ui,sans-serif!important;
    font-size:13.5px!important;font-weight:650!important;
  }
  .mob-menu .mob-wa.pro-mobile-cta{
    display:flex!important;visibility:visible!important;
    min-height:50px!important;margin-top:8px!important;
    justify-content:center!important;align-items:center!important;
    border:1px solid #dd7b08!important;
    background:linear-gradient(135deg,#e8840d,#f39a2a)!important;
    color:#fff!important;border-radius:11px!important;
    font-family:'DM Sans',system-ui,sans-serif!important;
    font-size:15px!important;font-weight:800!important;
  }
}

/* ===== Migrated from ecosapa-readable-brand-v3 ===== */
/* Unified typography: larger, cleaner and easier to scan */
html{font-size:17px!important}
body{
  font-family:var(--sans)!important;
  font-size:20px!important;
  line-height:1.68!important;
}
h1,h2,h3,h4,h5,h6,
.hero-h1,.sec-title,.cta-banner h2,.guide-card-title,
.footer-logo strong,.nav-logo-text strong,.menu-header h3,
.trip-price,.ta-score,.cta-stat strong{
  font-family:var(--sans)!important;
}

/* Navigation and small UI text were previously too small */
.topbar{font-size:.92rem!important}
.nav-links a,.nav-drop-btn,.pro-nav-link{font-size:1rem!important}
.nd-item,.pro-drop-item,.pro-drop-all{font-size:.94rem!important}
.nav-logo-text strong{font-size:1.12rem!important}
.nav-logo-text span{font-size:.9rem!important}

/* Body copy */
.hero-sub{font-size:1.18rem!important}
.hero-feat{font-size:1rem!important}
.sec-sub{font-size:1.18rem!important}
.trip-city,.how-title,.guide-card-title{font-size:1.2rem!important}
.trip-label,.trip-tag,.guide-card-badge,.rv-meta,.footer-col h4,
.modal-footer-note,.form-group label{font-size:.9rem!important}
.trip-val,.why-title,.vf-title{font-size:1.12rem!important}
.why-desc,.how-desc,.rv-text,.faq-a-inner,.footer-about{font-size:1.05rem!important}
.faq-q{font-size:1.12rem!important}
.footer-contact a,.footer-col a,.footer-trust-list li{font-size:1rem!important}
.route-links a,.route-group-title h3,.route-hub-note{font-size:1rem!important}

/* Brand red — bright red aligned with a red/white logo system */
:root{
  --brand-red:#ed1c24;
  --brand-red-hover:#c9151c;
  --brand-red-soft:#fff1f2;
}

/* Primary booking CTAs */
.nav-cta,
.btn-wa-hero,
.btn-book,
.btn-form-submit,
.pro-book-cta,
.mob-menu .mob-wa.pro-mobile-cta{
  background:var(--brand-red)!important;
  background-image:none!important;
  border-color:var(--brand-red)!important;
  color:#fff!important;
  font-family:var(--sans)!important;
  font-size:1rem!important;
  font-weight:800!important;
  box-shadow:0 5px 18px rgba(237,28,36,.28)!important;
}
.nav-cta:hover,
.btn-wa-hero:hover,
.btn-book:hover,
.btn-form-submit:hover,
.pro-book-cta:hover,
.mob-menu .mob-wa.pro-mobile-cta:hover{
  background:var(--brand-red-hover)!important;
  border-color:var(--brand-red-hover)!important;
  color:#fff!important;
  opacity:1!important;
}

/* Red accents now use the same brand red */
.trip-price,.trip-price span,.price-red,.cta-stat strong{
  color:var(--brand-red)!important;
}
.trip-card-footer{
  background:linear-gradient(135deg,var(--brand-red-soft) 0%,#fff 72%)!important;
}

/* Keep genuine WhatsApp/social controls green for instant recognition */
.social-btn.wa,.wa-fab,.wa-fab-new{
  background:#25D366!important;
  border-color:#25D366!important;
}

/* Comfortable mobile reading without oversized headings */
@media(max-width:767px){
  html{font-size:16.5px!important}
  body{font-size:18.5px!important;line-height:1.65!important}
  .topbar{font-size:.88rem!important}
  .hero-h1{font-size:2.15rem!important;line-height:1.08!important}
  .hero-sub{font-size:1.08rem!important}
  .sec-title{font-size:1.85rem!important;line-height:1.2!important}
  .sec-sub{font-size:1.08rem!important}
  .pro-mobile-main{font-size:1rem!important}
  .pro-mobile-section a{font-size:.94rem!important}
  .mob-menu .mob-wa.pro-mobile-cta{font-size:1rem!important}
  .btn-wa-hero,.btn-book,.btn-form-submit{font-size:1rem!important}
}

/* ===== Migrated from ecosapa-red-faq-footer-v4 ===== */
/* FAQ buttons: force a clean white/red system and prevent parent-theme teal overrides */
#faq .faq-list,
#faq .faq-item{
  background:#fff!important;
}
#faq .faq-item .faq-q{
  background:#fff!important;
  background-color:#fff!important;
  background-image:none!important;
  color:var(--ink)!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  opacity:1!important;
  transition:background-color .16s ease,color .16s ease!important;
}
#faq .faq-item .faq-q:hover,
#faq .faq-item .faq-q:focus-visible{
  background:var(--brand-red-soft)!important;
  background-color:var(--brand-red-soft)!important;
  color:var(--brand-red)!important;
  outline:none!important;
}
#faq .faq-item.open .faq-q,
#faq .faq-item .faq-q[aria-expanded="true"]{
  background:#fff5f5!important;
  background-color:#fff5f5!important;
  color:var(--brand-red)!important;
}
#faq .faq-icon{
  background:#fff!important;
  color:var(--brand-red)!important;
  border:1.5px solid rgba(237,28,36,.28)!important;
  box-shadow:none!important;
}
#faq .faq-item .faq-q:hover .faq-icon,
#faq .faq-item .faq-q:focus-visible .faq-icon{
  background:var(--brand-red-soft)!important;
  border-color:var(--brand-red)!important;
}
#faq .faq-item.open .faq-icon,
#faq .faq-item .faq-q[aria-expanded="true"] .faq-icon{
  background:var(--brand-red)!important;
  color:#fff!important;
  border-color:var(--brand-red)!important;
}

/* Any primary booking control that was still explicitly green */
button[onclick*="bookModal"],
.eco-mobile-book{
  background:var(--brand-red)!important;
  background-color:var(--brand-red)!important;
  background-image:none!important;
  border-color:var(--brand-red)!important;
  color:#fff!important;
  box-shadow:0 5px 18px rgba(237,28,36,.28)!important;
}
button[onclick*="bookModal"]:hover,
.eco-mobile-book:hover{
  background:var(--brand-red-hover)!important;
  background-color:var(--brand-red-hover)!important;
}

/* Book-now floating label uses brand red; the actual WhatsApp social icon can stay WhatsApp green */
.fab-urgent-label{
  background:var(--brand-red)!important;
  border-color:rgba(255,255,255,.22)!important;
  box-shadow:0 4px 16px rgba(237,28,36,.30)!important;
}

/* Footer brand badge */
.footer-brand-tag{
  background:var(--brand-red)!important;
  color:#fff!important;
  border-color:var(--brand-red)!important;
  font-family:var(--sans)!important;
  font-weight:800!important;
}

/* Footer logo: source image is square. Do not stretch or bleach it. */
footer .footer-logo{
  display:flex!important;
  align-items:center!important;
  gap:14px!important;
}
footer .footer-logo img{
  display:block!important;
  width:58px!important;
  height:58px!important;
  min-width:58px!important;
  max-width:58px!important;
  aspect-ratio:1 / 1!important;
  object-fit:contain!important;
  object-position:center!important;
  filter:none!important;
  border-radius:50%!important;
  background:transparent!important;
}
footer .footer-logo strong{
  color:#fff!important;
  font-size:1.18rem!important;
  line-height:1.2!important;
}

/* Red scroll-to-top control for visual consistency */
.scroll-top-btn,
.scroll-top-btn:hover{
  background:var(--brand-red)!important;
}
.scroll-top-btn:hover{background:var(--brand-red-hover)!important}


/* ============================================================
   ECOSAPA SCROLL CAR — v1.2.1
   Branded back-to-top control. Replaces the legacy arrow button.
   ============================================================ */
.scroll-top-btn{display:none!important;}

.eco-scroll-car{
  --eco-road-offset:0px;
  position:fixed;
  right:22px;
  bottom:132px;
  z-index:820;
  width:58px;
  height:88px;
  padding:0;
  border:2px solid rgba(255,255,255,.96);
  border-radius:30px;
  background:linear-gradient(180deg,#ff3138 0%,var(--brand-red,#ED1C24) 58%,#cf1018 100%);
  box-shadow:0 12px 30px rgba(120,10,16,.28),0 3px 10px rgba(0,0,0,.16);
  cursor:pointer;
  overflow:hidden;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transform:translateY(14px) scale(.96);
  transition:opacity .24s ease,visibility .24s ease,transform .24s ease,box-shadow .2s ease;
  -webkit-tap-highlight-color:transparent;
}
.eco-scroll-car.visible{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  transform:translateY(0) scale(1);
}
.eco-scroll-car:hover{
  transform:translateY(-2px) scale(1.035);
  box-shadow:0 16px 34px rgba(120,10,16,.34),0 4px 12px rgba(0,0,0,.17);
}
.eco-scroll-car:focus-visible{
  outline:3px solid #fff;
  outline-offset:3px;
  box-shadow:0 0 0 6px rgba(237,28,36,.28),0 14px 32px rgba(120,10,16,.30);
}
.eco-scroll-road{
  position:absolute;
  inset:5px 0 5px;
  pointer-events:none;
}
.eco-scroll-road::before{
  content:'';
  position:absolute;
  left:50%;
  top:-28px;
  bottom:-28px;
  width:3px;
  transform:translateX(-50%);
  border-radius:3px;
  opacity:.43;
  background:repeating-linear-gradient(to bottom,rgba(255,255,255,.95) 0 8px,transparent 8px 17px);
  background-position:center var(--eco-road-offset);
  transition:background-position .08s linear;
}
.eco-scroll-road::after{
  content:'';
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(205,10,20,.92) 0%,transparent 24%,transparent 77%,rgba(183,9,18,.88) 100%);
}
.eco-scroll-vehicle{
  position:absolute;
  left:50%;
  top:13px;
  width:34px;
  height:44px;
  transform:translateX(-50%) translateY(0) rotate(0deg);
  transform-origin:50% 60%;
  transition:transform .16s cubic-bezier(.2,.8,.2,1);
  filter:drop-shadow(0 4px 4px rgba(62,0,4,.24));
  z-index:2;
}
.eco-scroll-vehicle svg{display:block;width:100%;height:100%;overflow:visible;}
.eco-car-body{fill:#fff;}
.eco-car-glass,.eco-car-window{fill:#203a3a;}
.eco-car-divider{fill:none;stroke:rgba(255,255,255,.55);stroke-width:1;}
.eco-car-grille{fill:#d9d9d9;}
.eco-car-light{fill:#ffe47a;stroke:#fff;stroke-width:.7;}
.eco-car-plate{fill:var(--brand-red,#ED1C24);}
.eco-car-wheel{fill:#202020;}

.eco-scroll-car.is-scrolling-up .eco-scroll-vehicle{
  transform:translateX(-50%) translateY(-6px) rotate(-2deg);
}
.eco-scroll-car.is-scrolling-down .eco-scroll-vehicle{
  transform:translateX(-50%) translateY(6px) rotate(2deg);
}
.eco-scroll-car.is-launching .eco-scroll-vehicle{
  transform:translateX(-50%) translateY(-30px) scale(.92)!important;
  transition:transform .36s cubic-bezier(.2,.85,.25,1)!important;
}
.eco-scroll-car.is-launching .eco-scroll-road::before{
  animation:ecoRoadLaunch .32s linear 2;
}
@keyframes ecoRoadLaunch{
  from{background-position:center 0;}
  to{background-position:center 42px;}
}
.eco-scroll-top-label{
  position:absolute;
  left:0;right:0;bottom:8px;
  z-index:3;
  color:#fff;
  font-family:var(--sans,'DM Sans',sans-serif);
  font-size:8px;
  line-height:1;
  font-weight:900;
  letter-spacing:1.1px;
  text-align:center;
  opacity:.92;
}
body.eco-booking-open .eco-scroll-car,
.modal-overlay.open ~ .eco-scroll-car{
  opacity:0!important;
  pointer-events:none!important;
}
@media(max-width:1023px){
  .eco-scroll-car{
    right:14px;
    bottom:94px;
    width:52px;
    height:78px;
    border-radius:27px;
  }
  .eco-scroll-vehicle{top:11px;width:31px;height:40px;}
  .eco-scroll-top-label{bottom:7px;font-size:7.5px;}
}
@media(max-width:420px){
  .eco-scroll-car{right:10px;bottom:92px;width:50px;height:74px;}
  .eco-scroll-vehicle{top:10px;width:29px;height:38px;}
}
@media(prefers-reduced-motion:reduce){
  .eco-scroll-car,.eco-scroll-vehicle,.eco-scroll-road::before{
    animation:none!important;
    transition:none!important;
  }
  .eco-scroll-car.is-scrolling-up .eco-scroll-vehicle,
  .eco-scroll-car.is-scrolling-down .eco-scroll-vehicle,
  .eco-scroll-car.is-launching .eco-scroll-vehicle{
    transform:translateX(-50%)!important;
  }
}

/* ============================================================
   ECOSAPA WORDPRESS DYNAMIC NAVIGATION — v1.3.0
   Appearance > Menus is the source of truth for primary nav.
   ============================================================ */
.ecosapa-primary-menu,
.ecosapa-primary-menu ul,
.ecosapa-mobile-menu,
.ecosapa-mobile-menu ul{
  list-style:none!important;
  margin:0!important;
  padding:0!important;
}

.ecosapa-primary-menu.pro-nav-links{
  display:flex!important;
  align-items:stretch!important;
  justify-content:center!important;
  gap:22px!important;
  margin-left:auto!important;
  height:72px!important;
}
.ecosapa-primary-menu > li{
  position:relative!important;
  display:flex!important;
  align-items:stretch!important;
  height:72px!important;
  margin:0!important;
  padding:0!important;
}
.ecosapa-primary-menu > li > a{
  position:relative!important;
  display:flex!important;
  align-items:center!important;
  height:72px!important;
  padding:1px 0 0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  color:#28231e!important;
  font-family:'DM Sans',system-ui,-apple-system,'Segoe UI',sans-serif!important;
  font-size:15px!important;
  line-height:1!important;
  font-weight:700!important;
  letter-spacing:-.01em!important;
  text-decoration:none!important;
  white-space:nowrap!important;
  opacity:1!important;
}
.ecosapa-primary-menu > li > a::after{
  content:'';
  position:absolute;
  left:0;right:0;bottom:0;
  height:3px;
  border-radius:3px 3px 0 0;
  background:var(--brand-red,#ed1c24);
  transform:scaleX(0);
  transform-origin:center;
  transition:transform .18s ease;
}
.ecosapa-primary-menu > li:hover > a,
.ecosapa-primary-menu > li:focus-within > a,
.ecosapa-primary-menu > .current-menu-item > a,
.ecosapa-primary-menu > .current-menu-parent > a,
.ecosapa-primary-menu > .current-menu-ancestor > a{
  color:var(--brand-red,#ed1c24)!important;
}
.ecosapa-primary-menu > li:hover > a::after,
.ecosapa-primary-menu > li:focus-within > a::after,
.ecosapa-primary-menu > .current-menu-item > a::after,
.ecosapa-primary-menu > .current-menu-parent > a::after,
.ecosapa-primary-menu > .current-menu-ancestor > a::after{
  transform:scaleX(1);
}
.ecosapa-primary-menu > li.menu-item-has-children > a{
  padding-right:16px!important;
}
.ecosapa-primary-menu > li.menu-item-has-children > a::before{
  content:'⌄';
  position:absolute;
  right:0;
  top:50%;
  transform:translateY(-54%);
  color:#716b64;
  font-size:11px;
  font-weight:800;
}
.ecosapa-primary-menu .sub-menu{
  display:none!important;
  position:absolute!important;
  top:64px!important;
  left:-18px!important;
  min-width:260px!important;
  max-width:340px!important;
  padding:9px!important;
  background:#fff!important;
  border:1px solid #e7e1d8!important;
  border-radius:14px!important;
  box-shadow:0 18px 50px rgba(7,46,38,.15)!important;
  z-index:950!important;
}
.ecosapa-primary-menu li:hover > .sub-menu,
.ecosapa-primary-menu li:focus-within > .sub-menu{
  display:block!important;
}
.ecosapa-primary-menu .sub-menu li{
  position:relative!important;
  margin:0!important;
}
.ecosapa-primary-menu .sub-menu a{
  display:block!important;
  padding:11px 12px!important;
  border:0!important;
  border-radius:10px!important;
  background:transparent!important;
  color:#29241f!important;
  font-family:'DM Sans',system-ui,sans-serif!important;
  font-size:14px!important;
  line-height:1.35!important;
  font-weight:700!important;
  text-decoration:none!important;
  white-space:normal!important;
}
.ecosapa-primary-menu .sub-menu a:hover,
.ecosapa-primary-menu .sub-menu .current-menu-item > a,
.ecosapa-primary-menu .sub-menu .current-menu-parent > a{
  background:#fff2f2!important;
  color:var(--brand-red,#ed1c24)!important;
}
.ecosapa-primary-menu .sub-menu .sub-menu{
  top:-9px!important;
  left:calc(100% + 8px)!important;
}
.ecosapa-submenu-toggle{display:none!important}
.pro-nav-actions{display:flex!important;align-items:center!important;gap:9px!important;flex-shrink:0!important}

/* Mobile menu uses the same WordPress menu tree, not a duplicate hard-coded list. */
.ecosapa-mobile-menu{
  display:block!important;
  width:100%!important;
  margin:0!important;
  padding:0!important;
}
.ecosapa-mobile-menu > li{
  position:relative!important;
  margin:0!important;
  border-bottom:1px solid #eee9e2!important;
}
.ecosapa-mobile-menu li > a{
  display:block!important;
  padding:14px 42px 14px 4px!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  color:#27221e!important;
  font-family:'DM Sans',system-ui,sans-serif!important;
  font-size:16px!important;
  line-height:1.35!important;
  font-weight:750!important;
  text-decoration:none!important;
}
.ecosapa-mobile-menu .current-menu-item > a,
.ecosapa-mobile-menu .current-menu-parent > a,
.ecosapa-mobile-menu .current-menu-ancestor > a{
  color:var(--brand-red,#ed1c24)!important;
}
.ecosapa-mobile-menu .ecosapa-submenu-toggle{
  display:grid!important;
  place-items:center!important;
  position:absolute!important;
  top:8px!important;
  right:0!important;
  width:38px!important;
  height:38px!important;
  padding:0!important;
  border:1px solid #e7e1d8!important;
  border-radius:10px!important;
  background:#fff!important;
  color:#4c4640!important;
  cursor:pointer!important;
  box-shadow:none!important;
}
.ecosapa-mobile-menu .ecosapa-submenu-toggle span{
  display:block!important;
  font-size:16px!important;
  transition:transform .18s ease!important;
}
.ecosapa-mobile-menu .submenu-open > .ecosapa-submenu-toggle{
  border-color:#ffc4c7!important;
  color:var(--brand-red,#ed1c24)!important;
  background:#fff4f4!important;
}
.ecosapa-mobile-menu .submenu-open > .ecosapa-submenu-toggle span{
  transform:rotate(180deg)!important;
}
.ecosapa-mobile-menu .sub-menu{
  display:none!important;
  margin:0 0 10px!important;
  padding:7px!important;
  border:1px solid #eee4df!important;
  border-radius:12px!important;
  background:#faf8f5!important;
}
.ecosapa-mobile-menu .submenu-open > .sub-menu{
  display:block!important;
}
.ecosapa-mobile-menu .sub-menu li{
  border:0!important;
}
.ecosapa-mobile-menu .sub-menu a{
  padding:10px 11px!important;
  border-radius:8px!important;
  font-size:14px!important;
  font-weight:650!important;
}
.ecosapa-mobile-menu .sub-menu a:hover{
  background:#fff!important;
  color:var(--brand-red,#ed1c24)!important;
}

@media(max-width:1230px){
  .ecosapa-primary-menu.pro-nav-links{gap:14px!important}
  .ecosapa-primary-menu > li > a{font-size:13.5px!important}
}
@media(max-width:1040px){
  .ecosapa-primary-menu.pro-nav-links{display:none!important}
}
@media(min-width:1041px){
  .ecosapa-mobile-menu{display:none!important}
}

/* ============================================================
   ECOSAPA v1.3.1 — COMPACT HEADER + CLEAN SCHEDULE + PRIVATE UPSell
   Final overrides intentionally live last so they replace legacy migration
   patches without touching the parent theme.
   ============================================================ */

/* --- Compact one-line brand header --- */
nav.sitenav .nav-inner{
  max-width:1380px!important;
  height:60px!important;
  padding:0 20px!important;
  gap:16px!important;
}
nav.sitenav .nav-logo{
  display:flex!important;
  align-items:center!important;
  gap:9px!important;
  min-width:0!important;
  flex-shrink:0!important;
}
nav.sitenav .nav-logo img{
  width:38px!important;
  height:38px!important;
  object-fit:contain!important;
  flex:0 0 38px!important;
}
nav.sitenav .nav-logo-text{
  display:flex!important;
  flex-direction:row!important;
  align-items:baseline!important;
  gap:7px!important;
  min-width:0!important;
  line-height:1!important;
  white-space:nowrap!important;
}
nav.sitenav .nav-logo-text strong{
  font-family:var(--sans)!important;
  font-size:15.5px!important;
  line-height:1!important;
  font-weight:800!important;
  color:#0b493c!important;
  white-space:nowrap!important;
}
nav.sitenav .nav-logo-text .nav-brand-sep{
  display:inline!important;
  color:#b7afa6!important;
  font-size:12px!important;
  font-weight:700!important;
}
nav.sitenav .nav-logo-text .nav-brand-tagline{
  display:inline!important;
  margin:0!important;
  font-family:var(--sans)!important;
  font-size:12.5px!important;
  line-height:1!important;
  font-weight:650!important;
  color:#5b544d!important;
  letter-spacing:0!important;
  white-space:nowrap!important;
}
.ecosapa-primary-menu.pro-nav-links{
  height:60px!important;
  gap:15px!important;
}
.ecosapa-primary-menu > li{
  height:60px!important;
}
.ecosapa-primary-menu > li > a{
  height:60px!important;
  font-family:var(--sans)!important;
  font-size:14px!important;
  line-height:1!important;
  font-weight:700!important;
}
.ecosapa-primary-menu .sub-menu{top:54px!important;}
.pro-nav-actions{gap:7px!important;}
.pro-book-cta{
  height:40px!important;
  min-height:40px!important;
  padding:0 15px!important;
  border:1px solid #d7161d!important;
  border-radius:10px!important;
  background:#ed1c24!important;
  box-shadow:0 6px 16px rgba(237,28,36,.20)!important;
  color:#fff!important;
  font-size:13.5px!important;
  font-weight:800!important;
}
.pro-book-cta:hover{
  background:#d9151d!important;
  border-color:#c91017!important;
}
@media(max-width:1280px){
  nav.sitenav .nav-logo-text .nav-brand-sep,
  nav.sitenav .nav-logo-text .nav-brand-tagline{display:none!important;}
  .ecosapa-primary-menu.pro-nav-links{gap:12px!important;}
  .ecosapa-primary-menu > li > a{font-size:13.5px!important;}
}
@media(max-width:1120px){
  .ecosapa-primary-menu.pro-nav-links{gap:9px!important;}
  .ecosapa-primary-menu > li > a{font-size:13px!important;}
}
@media(max-width:1040px){
  nav.sitenav .nav-inner{height:58px!important;padding:0 14px!important;}
  nav.sitenav .nav-logo img{width:36px!important;height:36px!important;flex-basis:36px!important;}
  nav.sitenav .nav-logo-text strong{font-size:15px!important;}
}

/* --- One typography system on the homepage --- */
#ecosapa-root,
#ecosapa-root button,
#ecosapa-root input,
#ecosapa-root select,
#ecosapa-root textarea{
  font-family:var(--sans)!important;
}
#ecosapa-root{
  font-size:19px!important;
  line-height:1.64!important;
}
#ecosapa-root h1,#ecosapa-root h2,#ecosapa-root h3,#ecosapa-root h4,
#ecosapa-root .hero-h1,#ecosapa-root .sec-title,#ecosapa-root .guide-card-title,
#ecosapa-root .trip-price,#ecosapa-root .ta-score,#ecosapa-root .footer-logo strong{
  font-family:var(--sans)!important;
  letter-spacing:-.025em!important;
}
.sec-title{font-size:clamp(2.15rem,3.25vw,2.85rem)!important;font-weight:800!important;}
.sec-sub,.schedule-intro p{font-size:1.08rem!important;color:#403a34!important;}

/* --- Schedule card: fewer visual weights, clearer alignment --- */
.trip-card{
  font-family:var(--sans)!important;
}
.trip-card-top{
  padding:17px 20px!important;
}
.trip-city{
  font-family:var(--sans)!important;
  font-size:1.16rem!important;
  font-weight:800!important;
  color:#201b17!important;
}
.trip-tag{
  font-family:var(--sans)!important;
  font-size:.88rem!important;
  font-weight:750!important;
}
.trip-card-body{
  padding:20px 20px 22px!important;
  background:#fff!important;
}
.trip-card .trip-row:not(.trip-row-points){
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:18px!important;
  margin-bottom:18px!important;
  align-items:start!important;
}
.trip-card .trip-row:not(.trip-row-points) > div{
  min-width:0!important;
}
.trip-label{
  margin:0 0 5px!important;
  color:#3d3731!important;
  font-family:var(--sans)!important;
  font-size:.84rem!important;
  line-height:1.2!important;
  font-weight:700!important;
  text-transform:none!important;
  letter-spacing:0!important;
}
.trip-val,
.trip-val.teal{
  color:#1f1a16!important;
  font-family:var(--sans)!important;
  font-size:1.02rem!important;
  line-height:1.35!important;
  font-weight:700!important;
  letter-spacing:0!important;
}
.trip-val.teal{color:#0d4a3d!important;}
.trip-row-points{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
  gap:28px!important;
  align-items:start!important;
  margin:0!important;
  padding-top:17px!important;
  border-top:1px solid #ece5dc!important;
}
.trip-row-points .trip-point{
  min-width:0!important;
}
.trip-row-points .trip-point:last-child{
  padding-left:18px!important;
  border-left:1px solid #ece5dc!important;
}
.trip-proof{
  font-family:var(--sans)!important;
  font-size:.91rem!important;
  font-weight:700!important;
  line-height:1.4!important;
}
.trip-media-caption strong,
.trip-media-caption span{
  font-family:var(--sans)!important;
}
@media(max-width:560px){
  .trip-card .trip-row:not(.trip-row-points){gap:10px!important;}
  .trip-label{font-size:.78rem!important;}
  .trip-val,.trip-val.teal{font-size:.93rem!important;}
  .trip-row-points{
    grid-template-columns:1fr!important;
    gap:13px!important;
  }
  .trip-row-points .trip-point:last-child{
    padding:13px 0 0!important;
    border-left:0!important;
    border-top:1px solid #ece5dc!important;
  }
}

/* --- Private transfer conversion block under all four schedule cards --- */
.private-transfer-upsell{
  margin-top:28px!important;
  display:grid!important;
  grid-template-columns:minmax(0,1.08fr) minmax(390px,.92fr)!important;
  gap:0!important;
  overflow:hidden!important;
  border:1px solid #e8ddd2!important;
  border-radius:22px!important;
  background:linear-gradient(135deg,#fff 0%,#fffaf5 100%)!important;
  box-shadow:0 10px 32px rgba(46,35,22,.08)!important;
}
.private-transfer-media{
  min-width:0!important;
  padding:16px!important;
  background:#f5f2ed!important;
  border-right:1px solid #e8ddd2!important;
}
.private-transfer-main-image{
  position:relative!important;
  overflow:hidden!important;
  border-radius:16px!important;
  aspect-ratio:16/9!important;
  background:#d9d4cd!important;
}
.private-transfer-main-image img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center!important;
  display:block!important;
  transition:transform .35s ease!important;
}
.private-transfer-upsell:hover .private-transfer-main-image img{transform:scale(1.018)!important;}
.private-transfer-badge{
  position:absolute!important;
  top:14px!important;
  left:14px!important;
  display:inline-flex!important;
  align-items:center!important;
  min-height:35px!important;
  padding:0 15px!important;
  border-radius:999px!important;
  background:#ed1c24!important;
  color:#fff!important;
  font-family:var(--sans)!important;
  font-size:.82rem!important;
  font-weight:850!important;
  letter-spacing:.02em!important;
  text-transform:uppercase!important;
  box-shadow:0 6px 18px rgba(146,12,19,.24)!important;
}
.private-transfer-thumbs{
  display:grid!important;
  grid-template-columns:repeat(3,1fr)!important;
  gap:8px!important;
  margin-top:9px!important;
}
.private-transfer-thumbs img{
  display:block!important;
  width:100%!important;
  aspect-ratio:16/9!important;
  object-fit:cover!important;
  border-radius:10px!important;
  border:1px solid rgba(255,255,255,.75)!important;
  background:#ddd!important;
}
.private-transfer-content{
  min-width:0!important;
  padding:32px 32px 30px!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
}
.private-transfer-eyebrow{
  margin-bottom:8px!important;
  color:#0d4a3d!important;
  font-family:var(--sans)!important;
  font-size:.78rem!important;
  line-height:1!important;
  font-weight:850!important;
  letter-spacing:.08em!important;
  text-transform:uppercase!important;
}
.private-transfer-content h3{
  margin:0!important;
  color:#191512!important;
  font-family:var(--sans)!important;
  font-size:clamp(1.7rem,2.2vw,2.35rem)!important;
  line-height:1.12!important;
  font-weight:850!important;
  letter-spacing:-.035em!important;
}
.private-transfer-lead{
  margin:6px 0 14px!important;
  color:#d71920!important;
  font-family:var(--sans)!important;
  font-size:clamp(1.35rem,1.75vw,1.8rem)!important;
  line-height:1.18!important;
  font-weight:850!important;
  letter-spacing:-.025em!important;
}
.private-transfer-copy{
  margin:0!important;
  color:#3a342e!important;
  font-size:1rem!important;
  line-height:1.58!important;
  font-weight:550!important;
}
.private-transfer-benefits{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:10px 18px!important;
  margin-top:20px!important;
}
.private-transfer-benefits span{
  position:relative!important;
  padding-left:27px!important;
  color:#29241f!important;
  font-size:.91rem!important;
  line-height:1.35!important;
  font-weight:700!important;
}
.private-transfer-benefits span::before{
  content:'✓'!important;
  position:absolute!important;
  left:0!important;
  top:0!important;
  width:19px!important;
  height:19px!important;
  display:grid!important;
  place-items:center!important;
  border-radius:50%!important;
  background:#eaf6f1!important;
  color:#07513f!important;
  font-size:12px!important;
  font-weight:900!important;
}
.private-transfer-compare{
  position:relative!important;
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  margin-top:22px!important;
  border:1px solid #e6d8ca!important;
  border-radius:14px!important;
  overflow:hidden!important;
  background:#fff!important;
}
.compare-option{
  padding:17px 18px 15px!important;
  min-width:0!important;
}
.compare-option + .compare-option{border-left:1px solid #e6d8ca!important;}
.compare-option strong{
  display:block!important;
  margin-bottom:9px!important;
  font-family:var(--sans)!important;
  font-size:.94rem!important;
  line-height:1.2!important;
  font-weight:850!important;
  text-transform:uppercase!important;
}
.compare-shared strong{color:#0d4a3d!important;}
.compare-private strong{color:#d71920!important;}
.compare-option ul{
  list-style:none!important;
  margin:0!important;
  padding:0!important;
}
.compare-option li{
  position:relative!important;
  margin:7px 0!important;
  padding-left:22px!important;
  color:#332d27!important;
  font-size:.85rem!important;
  line-height:1.35!important;
  font-weight:600!important;
}
.compare-shared li::before,
.compare-private li::before{
  position:absolute!important;
  left:0!important;
  top:0!important;
  font-weight:900!important;
}
.compare-shared li::before{content:'–'!important;color:#ed1c24!important;}
.compare-private li::before{content:'✓'!important;color:#0d6a54!important;}
.compare-vs{
  position:absolute!important;
  left:50%!important;
  top:50%!important;
  z-index:2!important;
  transform:translate(-50%,-50%)!important;
  width:42px!important;
  height:42px!important;
  display:grid!important;
  place-items:center!important;
  border:1px solid #e3d3c4!important;
  border-radius:50%!important;
  background:#fffaf5!important;
  color:#27211c!important;
  font-size:.75rem!important;
  font-weight:900!important;
}
.private-transfer-actions{
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
  margin-top:20px!important;
}
.private-price-btn,
.private-wa-btn{
  min-height:48px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:0 20px!important;
  border-radius:10px!important;
  font-family:var(--sans)!important;
  font-size:.9rem!important;
  line-height:1.2!important;
  font-weight:850!important;
  text-decoration:none!important;
  cursor:pointer!important;
  transition:transform .15s ease,box-shadow .15s ease,background .15s ease!important;
}
.private-price-btn{
  flex:1.1!important;
  border:1px solid #d8171e!important;
  background:#ed1c24!important;
  color:#fff!important;
  box-shadow:0 7px 18px rgba(237,28,36,.18)!important;
}
.private-wa-btn{
  flex:.9!important;
  border:1px solid #0d4a3d!important;
  background:#fff!important;
  color:#0d4a3d!important;
}
.private-price-btn:hover,.private-wa-btn:hover{transform:translateY(-1px)!important;opacity:1!important;}
.private-price-btn:hover{background:#d9151d!important;box-shadow:0 9px 22px rgba(237,28,36,.23)!important;}
.private-wa-btn:hover{background:#f0f7f4!important;}
@media(max-width:1050px){
  .private-transfer-upsell{grid-template-columns:1fr!important;}
  .private-transfer-media{border-right:0!important;border-bottom:1px solid #e8ddd2!important;}
  .private-transfer-content{padding:26px!important;}
}
@media(max-width:640px){
  #ecosapa-root{font-size:17.5px!important;}
  .private-transfer-upsell{margin-top:20px!important;border-radius:17px!important;}
  .private-transfer-media{padding:10px!important;}
  .private-transfer-main-image{border-radius:12px!important;}
  .private-transfer-badge{top:10px!important;left:10px!important;min-height:31px!important;padding:0 12px!important;font-size:.72rem!important;}
  .private-transfer-thumbs{gap:5px!important;margin-top:6px!important;}
  .private-transfer-thumbs img{border-radius:8px!important;}
  .private-transfer-content{padding:22px 18px!important;}
  .private-transfer-benefits{grid-template-columns:1fr!important;gap:9px!important;}
  .private-transfer-compare{grid-template-columns:1fr!important;overflow:visible!important;}
  .compare-option + .compare-option{border-left:0!important;border-top:1px solid #e6d8ca!important;}
  .compare-vs{display:none!important;}
  .private-transfer-actions{flex-direction:column!important;align-items:stretch!important;}
  .private-price-btn,.private-wa-btn{width:100%!important;flex:none!important;}
}
.private-transfer-compare .compare-private{border-left:1px solid #e6d8ca!important;}
@media(max-width:640px){
  .private-transfer-compare .compare-private{border-left:0!important;border-top:1px solid #e6d8ca!important;}
}

/* ============================================================
   ECOSAPA v1.4.0 — TWO-LINE BRAND + BALANCED MEDIA
   Final homepage overrides.
   ============================================================ */

/* Header: compact brand stack instead of a long inline sentence. */
nav.sitenav .nav-inner{
  max-width:1440px!important;
  min-height:68px!important;
  height:68px!important;
  padding:0 22px!important;
  gap:18px!important;
}
nav.sitenav .nav-logo{
  flex:0 0 auto!important;
  gap:10px!important;
  min-width:210px!important;
  max-width:245px!important;
}
nav.sitenav .nav-logo img{
  width:42px!important;
  height:42px!important;
  flex:0 0 42px!important;
  object-fit:contain!important;
}
nav.sitenav .nav-logo-text{
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  justify-content:center!important;
  gap:3px!important;
  min-width:0!important;
  line-height:1.08!important;
  white-space:normal!important;
}
nav.sitenav .nav-logo-text strong{
  display:block!important;
  font-size:16.5px!important;
  line-height:1.05!important;
  font-weight:800!important;
  color:#0b493c!important;
  white-space:nowrap!important;
}
nav.sitenav .nav-logo-text .nav-brand-tagline{
  display:block!important;
  margin:0!important;
  font-size:12.5px!important;
  line-height:1.15!important;
  font-weight:650!important;
  color:#655e57!important;
  letter-spacing:0!important;
  white-space:nowrap!important;
}
nav.sitenav .nav-brand-sep{display:none!important;}
.ecosapa-primary-menu.pro-nav-links{
  flex:1 1 auto!important;
  height:68px!important;
  min-width:0!important;
  margin:0!important;
  justify-content:center!important;
  gap:18px!important;
}
.ecosapa-primary-menu > li{height:68px!important;}
.ecosapa-primary-menu > li > a{
  height:68px!important;
  font-size:15px!important;
  font-weight:750!important;
}
.ecosapa-primary-menu .sub-menu{top:62px!important;}
.pro-nav-actions{
  flex:0 0 auto!important;
  gap:8px!important;
}
.pro-book-cta{
  min-height:42px!important;
  height:42px!important;
  padding:0 16px!important;
  font-size:14px!important;
}
@media(max-width:1320px){
  nav.sitenav .nav-logo{min-width:190px!important;max-width:215px!important;}
  .ecosapa-primary-menu.pro-nav-links{gap:14px!important;}
  .ecosapa-primary-menu > li > a{font-size:14px!important;}
  nav.sitenav .nav-logo-text .nav-brand-tagline{font-size:11.8px!important;}
}
@media(max-width:1140px){
  nav.sitenav .nav-logo{min-width:auto!important;}
  nav.sitenav .nav-logo-text .nav-brand-tagline{display:none!important;}
  .ecosapa-primary-menu.pro-nav-links{gap:11px!important;}
}
@media(max-width:1040px){
  nav.sitenav .nav-inner{height:62px!important;min-height:62px!important;}
  nav.sitenav .nav-logo img{width:38px!important;height:38px!important;flex-basis:38px!important;}
  nav.sitenav .nav-logo-text strong{font-size:16px!important;}
}

/* Schedule typography: one readable family and fewer competing weights. */
.trip-label,
.trip-val,
.trip-val.teal,
.trip-city,
.trip-tag,
.trip-proof{
  font-family:var(--sans)!important;
}
.trip-label{
  color:#2c2722!important;
  font-size:.88rem!important;
  font-weight:700!important;
}
.trip-val,
.trip-val.teal{
  color:#201c18!important;
  font-size:1.01rem!important;
  font-weight:700!important;
}
.trip-val.teal{color:#0d4a3d!important;}

/* Private transfer media now stretches to the same visual height as the copy. */
.private-transfer-upsell{
  align-items:stretch!important;
  grid-template-columns:minmax(0,1.06fr) minmax(430px,.94fr)!important;
}
.private-transfer-media{
  display:flex!important;
  flex-direction:column!important;
  align-self:stretch!important;
  min-height:100%!important;
  padding:16px!important;
}
.private-transfer-main-image{
  flex:1 1 0!important;
  min-height:430px!important;
  height:auto!important;
  aspect-ratio:auto!important;
}
.private-transfer-main-image img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center center!important;
}
.private-transfer-thumbs{
  flex:0 0 106px!important;
  height:106px!important;
  min-height:106px!important;
  margin-top:9px!important;
}
.private-transfer-thumbs img{
  height:100%!important;
  aspect-ratio:auto!important;
  object-fit:cover!important;
  object-position:center!important;
}
.private-transfer-content{
  align-self:stretch!important;
  padding:34px 34px 30px!important;
}
@media(max-width:1050px){
  .private-transfer-upsell{grid-template-columns:1fr!important;}
  .private-transfer-media{display:block!important;}
  .private-transfer-main-image{
    min-height:0!important;
    height:auto!important;
    aspect-ratio:16/9!important;
  }
  .private-transfer-thumbs{height:auto!important;min-height:0!important;}
  .private-transfer-thumbs img{height:auto!important;aspect-ratio:16/9!important;}
}

/* ============================================================
   ECOSAPA v1.4.0 — BRAND-FIRST WORDPRESS HOMEPAGE
   ============================================================ */

/* Brand hero: one clear H1, broader entity positioning, no legacy-page CTA. */
.ecosapa-brand-hero .hero-content{max-width:590px!important}
.ecosapa-brand-hero .hero-badge{
  font-family:var(--sans)!important;
  font-size:.78rem!important;
  font-weight:800!important;
  letter-spacing:.075em!important;
  text-transform:uppercase!important;
}
.ecosapa-brand-hero .hero-badge::before{display:none!important}
.hero-badge-dot{
  display:inline-block;
  width:7px;height:7px;border-radius:999px;
  background:#25D366;
  box-shadow:0 0 0 5px rgba(37,211,102,.12);
  flex:0 0 auto;
}
.ecosapa-brand-hero .hero-h1{
  max-width:650px!important;
  font-size:clamp(2.7rem,4.6vw,4.65rem)!important;
  line-height:1.02!important;
  letter-spacing:-.045em!important;
  font-weight:850!important;
}
.ecosapa-brand-hero .hero-h1 .h1-line2{
  display:block!important;
  max-width:620px!important;
  margin-top:8px!important;
  color:#ffd9da!important;
  font-size:.52em!important;
  line-height:1.13!important;
  letter-spacing:-.025em!important;
  font-weight:750!important;
  text-shadow:none!important;
}
.ecosapa-brand-hero .hero-sub{
  max-width:560px!important;
  font-size:1.12rem!important;
  line-height:1.68!important;
  color:rgba(255,255,255,.9)!important;
}
.ecosapa-brand-hero .hero-features{
  max-width:560px!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:10px 14px!important;
}
.ecosapa-brand-hero .hero-feat{
  min-width:0!important;
  font-size:.98rem!important;
  font-weight:650!important;
}
.ecosapa-brand-hero .hero-feat-icon{
  width:31px!important;height:31px!important;
  background:rgba(255,255,255,.08)!important;
  border-color:rgba(255,255,255,.18)!important;
}
.ecosapa-brand-hero .hero-feat-icon svg{width:17px;height:17px;fill:#ffd9da}
.ecosapa-brand-hero .btn-wa-hero{
  background:var(--brand-red)!important;
  border:1px solid #ff6268!important;
}
.ecosapa-brand-hero .btn-ghost-hero{
  border:1.5px solid rgba(255,255,255,.5)!important;
  background:rgba(3,22,16,.2)!important;
  font-weight:750!important;
}
.hero-brand-proof{
  margin-top:16px!important;
  color:rgba(255,255,255,.7)!important;
  font-size:.86rem!important;
  font-weight:600!important;
  letter-spacing:.01em!important;
}

/* Reusable section eyebrow and inline section links. */
.ecosapa-section-eyebrow{
  display:inline-block;
  margin-bottom:9px;
  color:var(--brand-red);
  font-family:var(--sans);
  font-size:.78rem;
  line-height:1.2;
  font-weight:850;
  letter-spacing:.085em;
  text-transform:uppercase;
}
.ecosapa-section-link-wrap{text-align:center;margin-top:26px}
.ecosapa-section-link{
  display:inline-flex;align-items:center;gap:8px;
  color:var(--brand-red)!important;
  font-size:1rem!important;font-weight:800!important;
  text-decoration:none!important;
}
.ecosapa-section-link:hover{gap:12px;opacity:1!important}

/* Homepage service hubs: brand breadth without linking to retired HTML pages. */
.ecosapa-services-section{
  padding:64px 0 70px;
  background:#fff;
  border-bottom:1px solid #eee8e1;
}
.ecosapa-services-head{
  max-width:760px;
  margin-bottom:30px;
}
.ecosapa-services-head .sec-sub{max-width:720px;margin-bottom:0!important}
.ecosapa-service-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:16px;
}
.ecosapa-service-card{
  min-width:0;
  min-height:310px;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  padding:25px 22px 22px;
  border:1px solid #e7e1da;
  border-radius:18px;
  background:linear-gradient(180deg,#fff 0%,#fbfaf8 100%);
  box-shadow:0 7px 24px rgba(23,18,13,.045);
  transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;
}
.ecosapa-service-card:hover{
  transform:translateY(-3px);
  border-color:#e5c8c9;
  box-shadow:0 14px 36px rgba(23,18,13,.075);
}
.ecosapa-service-icon{
  width:48px;height:48px;
  display:grid;place-items:center;
  margin-bottom:20px;
  border:1px solid #f0ccce;
  border-radius:14px;
  background:#fff4f4;
}
.ecosapa-service-icon svg{width:25px;height:25px;fill:var(--brand-red)}
.ecosapa-service-label{
  display:block;
  margin-bottom:8px;
  color:#736b63;
  font-size:.78rem;
  font-weight:800;
  letter-spacing:.065em;
  text-transform:uppercase;
}
.ecosapa-service-card h3{
  margin:0 0 10px!important;
  color:#201b17!important;
  font-family:var(--sans)!important;
  font-size:1.22rem!important;
  line-height:1.24!important;
  font-weight:820!important;
  letter-spacing:-.02em!important;
}
.ecosapa-service-card p{
  margin:0 0 22px!important;
  color:#514a44!important;
  font-size:.98rem!important;
  line-height:1.62!important;
}
.ecosapa-service-link{
  margin-top:auto;
  display:inline-flex;
  align-items:center;
  gap:7px;
  color:var(--brand-red)!important;
  font-size:.94rem!important;
  font-weight:800!important;
  text-decoration:none!important;
}
.ecosapa-service-link:hover{gap:11px;opacity:1!important}

/* Brand/entity story — adds useful brand context without turning Home into keyword copy. */
.ecosapa-brand-story{
  background:#fff8f8;
  border-top:1px solid #f1dddd;
  border-bottom:1px solid #f1dddd;
}
.ecosapa-brand-story-grid{
  display:grid;
  grid-template-columns:minmax(0,1.02fr) minmax(0,.98fr);
  gap:42px;
  align-items:center;
}
.ecosapa-brand-story-copy{max-width:630px}
.ecosapa-brand-story-copy .sec-title{margin-bottom:15px!important}
.ecosapa-brand-story-lead{
  margin:0 0 14px!important;
  color:#2e2823!important;
  font-size:1.12rem!important;
  line-height:1.72!important;
  font-weight:600!important;
}
.ecosapa-brand-story-copy > p:not(.ecosapa-brand-story-lead){
  color:#544d46!important;
  font-size:1rem!important;
  line-height:1.72!important;
}
.ecosapa-brand-story-actions{margin-top:22px}
.ecosapa-story-primary{
  display:inline-flex;align-items:center;gap:8px;
  min-height:46px;
  padding:0 18px;
  border-radius:11px;
  background:var(--brand-red)!important;
  color:#fff!important;
  font-size:.96rem!important;
  font-weight:800!important;
  text-decoration:none!important;
}
.ecosapa-story-primary:hover{background:var(--brand-red-hover)!important;gap:11px;opacity:1!important}
.ecosapa-brand-values{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:13px;
}
.ecosapa-brand-value{
  min-height:150px;
  padding:20px;
  border:1px solid #ead9d9;
  border-radius:16px;
  background:#fff;
  box-shadow:0 6px 20px rgba(25,18,13,.035);
}
.ecosapa-brand-value::before{
  content:'✓';
  display:grid;place-items:center;
  width:27px;height:27px;
  margin-bottom:12px;
  border-radius:50%;
  background:#fff0f1;
  color:var(--brand-red);
  font-size:.78rem;
  font-weight:900;
}
.ecosapa-brand-value strong{
  display:block;
  margin-bottom:7px;
  color:#241e1a;
  font-size:1rem;
  line-height:1.3;
  font-weight:820;
}
.ecosapa-brand-value span{
  display:block;
  color:#5d554e;
  font-size:.91rem;
  line-height:1.55;
  font-weight:550;
}

/* Small housekeeping for the reworked homepage. */
.ecosapa-home-main{display:block;width:100%}
.ecosapa-gallery-book{display:inline-flex!important;align-items:center!important;justify-content:center!important}
.eco-mobile-final-dock a.eco-mobile-action{text-decoration:none!important}

@media(max-width:1080px){
  .ecosapa-service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ecosapa-service-card{min-height:270px}
  .ecosapa-brand-story-grid{grid-template-columns:1fr;gap:28px}
  .ecosapa-brand-story-copy{max-width:760px}
}
@media(max-width:760px){
  .ecosapa-brand-hero .hero-h1{font-size:2.35rem!important}
  .ecosapa-brand-hero .hero-h1 .h1-line2{font-size:.56em!important;line-height:1.18!important}
  .ecosapa-brand-hero .hero-features{grid-template-columns:1fr!important}
  .hero-brand-proof{font-size:.82rem!important}
  .ecosapa-services-section{padding:46px 0 50px}
  .ecosapa-service-grid{grid-template-columns:1fr}
  .ecosapa-service-card{min-height:0;padding:21px 19px}
  .ecosapa-brand-values{grid-template-columns:1fr}
  .ecosapa-brand-value{min-height:0}
}
