/* =============================================================
   DRE'S TRANSPORTATION & TOURS — green/gold design system
   Layered over base.css + theme.css (tour cards unchanged).
   ============================================================= */
@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@600;700;800;900&family=Inter:wght@400;500;600;700&family=Dancing+Script:wght@600;700&display=swap');

:root{
  --dg-ink:#0A2540;           /* deepest green */
  --dg-green:#0D3B6E;         /* primary green */
  --dg-green-2:#114A86;       /* raised panel */
  --dg-green-3:#0B3360;       /* bands */
  --dg-gold:#F5C400;
  --dg-gold-2:#E0A200;
  --dg-flag-green:#1A6BAF;
  --dg-cream:#F6F8F4;         /* light section bg */
  --dg-text:#16271F;          /* text on light */
  --dg-text-soft:#4E6258;
  --dg-on-dark:rgba(255,255,255,.86);
  --dg-on-dark-soft:rgba(255,255,255,.62);
  --dg-sans:'Montserrat',sans-serif;
  --dg-body:'Inter',sans-serif;
  --dg-script:'Dancing Script',cursive;
  --dg-radius:16px;
  --dg-max:1200px;
}

/* Reset page shell for the new design (overrides theme.css body) */
body.dg{ background:#fff; color:var(--dg-text); font-family:var(--dg-body); }
.dg h1,.dg h2,.dg h3,.dg h4,.dg .dg-script{ font-family:var(--dg-sans); }
.dg .wrap{ max-width:var(--dg-max); margin:0 auto; padding:0 24px; }
.dg .script{ font-family:var(--dg-script); font-weight:700; color:var(--dg-gold); }
.dg .eyebrow{ font-family:var(--dg-sans); font-weight:800; font-size:.74rem; letter-spacing:.16em;
  text-transform:uppercase; color:var(--dg-gold); }
.dg section{ position:relative; }

/* Buttons (new) */
.dg .dgbtn{ display:inline-flex; align-items:center; gap:9px; font-family:var(--dg-sans); font-weight:800;
  font-size:.95rem; padding:14px 26px; border-radius:40px; border:2px solid transparent; cursor:pointer;
  text-decoration:none; transition:transform .15s ease, box-shadow .2s ease, background .2s ease; }
.dg .dgbtn:active{ transform:translateY(1px); }
.dg .dgbtn-gold{ background:linear-gradient(135deg,#FFD21A,#E0A200); color:#11231c;
  box-shadow:0 10px 26px rgba(245,196,0,.32); }
.dg .dgbtn-gold:hover{ box-shadow:0 14px 34px rgba(245,196,0,.46); transform:translateY(-2px); }
.dg .dgbtn-wa{ background:#1FA855; color:#fff; box-shadow:0 10px 24px rgba(31,168,85,.3); }
.dg .dgbtn-wa:hover{ background:#179247; transform:translateY(-2px); }
.dg .dgbtn-ghost{ background:transparent; color:#fff; border-color:rgba(255,255,255,.55); }
.dg .dgbtn-ghost:hover{ border-color:var(--dg-gold); color:var(--dg-gold); }

/* ── Header ── */
.dg-header{ position:sticky; top:0; z-index:200; background:var(--dg-ink);
  border-bottom:1px solid rgba(255,255,255,.08); }
.dg-nav{ display:flex; align-items:center; gap:26px; height:76px; max-width:var(--dg-max); margin:0 auto; padding:0 24px; }
.dg-logo{ display:flex; align-items:center; flex-shrink:0; }
.dg-logo img{ height:52px; width:auto; }
.dg-links{ display:flex; align-items:center; gap:24px; margin-left:auto; }
.dg-links a{ color:var(--dg-on-dark); text-decoration:none; font-family:var(--dg-sans); font-weight:700;
  font-size:.92rem; padding:6px 2px; position:relative; transition:color .15s; }
.dg-links a:hover{ color:#fff; }
.dg-links a.active{ color:var(--dg-gold); }
.dg-links a.active::after{ content:""; position:absolute; left:0; right:0; bottom:-6px; height:3px;
  background:var(--dg-gold); border-radius:2px; }
.dg-wa{ margin-left:8px; flex-shrink:0; }
.dg-burger{ display:none; margin-left:auto; flex-direction:column; gap:5px; background:none; border:0; cursor:pointer; padding:6px; }
.dg-burger span{ width:26px; height:2.5px; background:#fff; border-radius:2px; transition:.25s; }
.dg-burger.open span:nth-child(1){ transform:translateY(7.5px) rotate(45deg); }
.dg-burger.open span:nth-child(2){ opacity:0; }
.dg-burger.open span:nth-child(3){ transform:translateY(-7.5px) rotate(-45deg); }

/* mobile drawer */
.dg-drawer{ position:fixed; inset:0; z-index:300; background:linear-gradient(165deg,#0A2540,#0D3B6E);
  display:flex; flex-direction:column; padding:22px; opacity:0; pointer-events:none; transition:opacity .28s; }
.dg-drawer.open{ opacity:1; pointer-events:auto; }
.dg-drawer-top{ display:flex; align-items:center; justify-content:space-between; margin-bottom:18px; }
.dg-drawer-top img{ height:46px; }
.dg-x{ width:42px; height:42px; border-radius:50%; background:rgba(255,255,255,.1);
  border:1px solid rgba(255,255,255,.18); color:#fff; font-size:1.4rem; cursor:pointer; }
.dg-drawer a.dl{ display:block; color:#fff; font-family:var(--dg-sans); font-weight:800; font-size:1.3rem;
  padding:14px 6px; border-bottom:1px solid rgba(255,255,255,.08); text-decoration:none; }
.dg-drawer a.dl.active{ color:var(--dg-gold); }
.dg-drawer .dg-wa{ margin:20px 0 0; }

/* ── Hero ── */
.dg-hero{ background:var(--dg-ink); color:#fff; position:relative; overflow:hidden; }
.dg-herobg{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:0; }
.dg-hero::before{ content:""; position:absolute; inset:0; z-index:1;
  background:linear-gradient(90deg, rgba(10,30,58,.94) 0%, rgba(10,30,58,.68) 45%, rgba(10,30,58,.34) 100%); }
.dg-hero-inner{ position:relative; z-index:2; max-width:var(--dg-max); margin:0 auto; padding:84px 24px 96px;
  display:grid; grid-template-columns:1.25fr .75fr; gap:40px; align-items:center; }
.dg-hero h1{ font-size:clamp(2.6rem,5.4vw,4.3rem); line-height:1.02; font-weight:900; margin:14px 0 6px; letter-spacing:-.02em; }
.dg-hero h1 .script{ display:block; font-size:clamp(2.4rem,5vw,3.9rem); line-height:1.1; margin-top:2px; }
.dg-hero p.lead{ color:var(--dg-on-dark); font-size:1.12rem; line-height:1.6; max-width:30ch; margin:18px 0 28px; }
.dg-hero-cta{ display:flex; gap:14px; flex-wrap:wrap; }
.dg-hero-right{ display:flex; justify-content:center; }
.dg-hero-inner.solo{ grid-template-columns:1fr; }
/* hero parallax slideshow (6 cross-fading images; filled via Ezy Image Manager) */
.dg-heroslides{ position:absolute; left:0; right:0; top:-15%; height:130%; z-index:0; overflow:hidden; will-change:transform; }
.dg-heroslide{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; opacity:0;
  transform:scale(1.1); transition:opacity 1.4s ease, transform 6.5s ease; }
.dg-heroslide.active{ opacity:1; transform:scale(1); }

/* signpost graphic (hero accent — the one bold element) */
.signpost{ position:relative; padding-top:18px; }
.signpost .post{ position:absolute; left:50%; top:0; width:12px; height:100%; transform:translateX(-50%);
  background:linear-gradient(#6b4a2a,#4a3119); border-radius:4px; z-index:0; }
.sign{ position:relative; z-index:1; display:block; width:230px; margin:0 auto 12px; padding:12px 18px;
  font-family:var(--dg-sans); font-weight:900; font-size:1.15rem; color:#fff; letter-spacing:.02em;
  border-radius:6px; box-shadow:0 8px 20px rgba(0,0,0,.35); clip-path:polygon(0 0,86% 0,100% 50%,86% 100%,0 100%); }
.sign:nth-child(2){ background:#1FA855; transform:translateX(-26px) rotate(-3deg); }
.sign:nth-child(3){ background:var(--dg-gold); color:#11231c; transform:translateX(18px) rotate(2deg); }
.sign:nth-child(4){ background:#D7342B; transform:translateX(-14px) rotate(-1.5deg); }
.sign:nth-child(5){ background:#1E73BE; transform:translateX(22px) rotate(2.5deg); }

/* feature strip */
.dg-strip{ background:var(--dg-green-3); border-top:1px solid rgba(255,255,255,.06); }
.dg-strip-inner{ max-width:var(--dg-max); margin:0 auto; padding:22px 24px; display:grid;
  grid-template-columns:repeat(4,1fr); gap:10px; }
.dg-strip .fi{ display:flex; align-items:center; gap:13px; color:#fff; padding:8px 6px; }
.dg-strip .fi svg{ width:30px; height:30px; color:var(--dg-gold); flex-shrink:0; }
.dg-strip .fi b{ font-family:var(--dg-sans); font-weight:800; font-size:.96rem; display:block; }
.dg-strip .fi span{ color:var(--dg-on-dark-soft); font-size:.78rem; }

/* ── Section scaffolding ── */
.dg-sec{ padding:84px 0; }
.dg-sec.light{ background:var(--dg-cream); }
.dg-sec.white{ background:#fff; }
.dg-sec.dark{ background:var(--dg-green); color:#fff; }
.dg-sec.ink{ background:var(--dg-ink); color:#fff; }
.dg-head{ margin-bottom:40px; }
.dg-head h2{ font-size:clamp(1.9rem,3.4vw,2.7rem); font-weight:900; line-height:1.08; margin:8px 0 0; letter-spacing:-.02em; }
.dg-head.center{ text-align:center; max-width:720px; margin-left:auto; margin-right:auto; }
.dg-sec.dark .dg-head h2, .dg-sec.ink .dg-head h2{ color:#fff; }
.dg-row-head{ display:flex; align-items:flex-end; justify-content:space-between; gap:20px; margin-bottom:34px; flex-wrap:wrap; }
.dg-link{ color:var(--dg-gold-2); font-family:var(--dg-sans); font-weight:800; text-decoration:none; font-size:.92rem; }
.dg-sec.dark .dg-link{ color:var(--dg-gold); }

/* featured tours grid (cards come from core2 — unchanged) */
#featured-tours{ display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }

/* services cards */
.dg-services{ display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.dg-svc{ background:var(--dg-green-2); border:1px solid rgba(255,255,255,.08); border-radius:var(--dg-radius);
  padding:26px 22px; transition:transform .18s, border-color .18s; }
.dg-svc:hover{ transform:translateY(-4px); border-color:rgba(245,196,0,.5); }
.dg-svc .ic{ width:50px; height:50px; border-radius:12px; background:rgba(245,196,0,.14);
  display:flex; align-items:center; justify-content:center; margin-bottom:16px; }
.dg-svc .ic svg{ width:26px; height:26px; color:var(--dg-gold); }
.dg-svc h3{ font-size:1.12rem; font-weight:800; margin:0 0 6px; color:#fff; }
.dg-svc p{ color:var(--dg-on-dark-soft); font-size:.9rem; line-height:1.55; margin:0; }

/* about split */
.dg-split{ display:grid; grid-template-columns:1fr 1fr; gap:54px; align-items:center; }
.dg-feats{ display:grid; grid-template-columns:1fr 1fr; gap:18px; margin-top:26px; }
.dg-feat{ display:flex; gap:12px; align-items:flex-start; }
.dg-feat .fic{ width:40px; height:40px; border-radius:10px; background:rgba(26,107,175,.12);
  display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.dg-feat .fic svg{ width:22px; height:22px; color:var(--dg-flag-green); }
.dg-feat b{ display:block; font-family:var(--dg-sans); font-weight:800; font-size:.96rem; color:var(--dg-text); }
.dg-feat span{ font-size:.82rem; color:var(--dg-text-soft); }

/* image slots (real photos arrive via Ezy Image Manager) */
.img-slot{ position:relative; border-radius:var(--dg-radius); overflow:hidden; min-height:260px;
  background:linear-gradient(145deg,#114A86,#0A2540); display:flex; align-items:flex-end; }
.img-slot.tall{ min-height:440px; }
.img-slot::before{ content:""; position:absolute; inset:0;
  background:radial-gradient(120% 90% at 80% -10%, rgba(245,196,0,.16), transparent 60%); }
.img-slot > img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:0; }
.img-slot .cap{ position:relative; z-index:2; padding:14px 16px; color:#fff; font-family:var(--dg-sans);
  font-weight:800; font-size:.92rem; background:linear-gradient(transparent, rgba(0,0,0,.4)); width:100%; }
.img-slot .hint{ position:absolute; z-index:2; top:12px; left:12px; font-size:.64rem; letter-spacing:.08em;
  text-transform:uppercase; color:rgba(255,255,255,.5); font-weight:700; }

/* gallery strip */
.dg-gallery{ display:grid; grid-template-columns:repeat(5,1fr); gap:14px; }
.dg-gallery .img-slot{ min-height:150px; }

/* testimonials */
.dg-tst{ display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
.dg-tcard{ background:#fff; border:1px solid #E6EDE8; border-radius:var(--dg-radius); padding:26px 24px;
  box-shadow:0 10px 30px rgba(14,59,45,.06); }
.dg-tcard .stars{ color:var(--dg-gold-2); letter-spacing:2px; margin-bottom:10px; }
.dg-tcard p{ color:var(--dg-text); font-size:.95rem; line-height:1.6; font-style:italic; margin:0 0 16px; }
.dg-tcard .who{ display:flex; align-items:center; gap:12px; }
.dg-tcard .av{ width:42px; height:42px; border-radius:50%; background:var(--dg-flag-green); color:#fff;
  display:flex; align-items:center; justify-content:center; font-family:var(--dg-sans); font-weight:800; }
.dg-tcard .who b{ display:block; font-family:var(--dg-sans); font-weight:800; font-size:.9rem; }
.dg-tcard .who span{ font-size:.78rem; color:var(--dg-text-soft); }

/* CTA band */
.dg-cta{ background:linear-gradient(120deg,#0A2540,#114A86); color:#fff; text-align:center; padding:72px 24px;
  position:relative; overflow:hidden; }
.dg-cta h2{ font-size:clamp(1.9rem,3.6vw,2.8rem); font-weight:900; margin:0 0 10px; }
.dg-cta .flagbar{ height:6px; width:120px; margin:0 auto 22px; border-radius:4px;
  background:linear-gradient(90deg,#1A6BAF 0 50%,#FED100 50% 100%); }
.dg-cta .dg-hero-cta{ justify-content:center; margin-top:24px; }
.dg-cta .script{ display:block; margin-top:22px; font-size:1.6rem; }

/* footer */
.dg-foot{ background:var(--dg-ink); color:var(--dg-on-dark-soft); padding:60px 24px 0; }
.dg-foot-grid{ max-width:var(--dg-max); margin:0 auto; display:grid; grid-template-columns:1.4fr 1fr 1.2fr 1.3fr; gap:40px; }
.dg-foot img.flogo{ height:58px; margin-bottom:14px; }
.dg-foot h4{ color:#fff; font-family:var(--dg-sans); font-weight:800; font-size:.95rem; margin:0 0 16px; }
.dg-foot a{ color:var(--dg-on-dark-soft); text-decoration:none; }
.dg-foot a:hover{ color:var(--dg-gold); }
.dg-foot ul{ list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:9px; font-size:.9rem; }
.dg-foot .fc{ display:flex; gap:9px; align-items:flex-start; margin-bottom:10px; font-size:.9rem; }
.dg-foot .fc svg{ width:17px; height:17px; color:var(--dg-gold); flex-shrink:0; margin-top:2px; }
.dg-socials{ display:flex; gap:10px; margin-top:16px; }
.dg-socials a{ width:38px; height:38px; border-radius:50%; background:rgba(255,255,255,.08);
  display:flex; align-items:center; justify-content:center; }
.dg-socials a svg{ width:18px; height:18px; color:#fff; }
.dg-sub{ display:flex; gap:8px; margin-top:12px; }
.dg-sub input{ flex:1; padding:11px 14px; border-radius:10px; border:1px solid rgba(255,255,255,.15);
  background:rgba(255,255,255,.06); color:#fff; font-size:.88rem; }
.dg-sub input::placeholder{ color:rgba(255,255,255,.45); }
.dg-foot-bottom{ max-width:var(--dg-max); margin:40px auto 0; padding:18px 0 26px; border-top:1px solid rgba(255,255,255,.08);
  display:flex; justify-content:space-between; align-items:center; gap:14px; font-size:.8rem; flex-wrap:wrap; }

/* floating whatsapp */
.dg-wafloat{ position:fixed; right:20px; bottom:20px; z-index:400; width:58px; height:58px; border-radius:50%;
  background:#1FA855; display:flex; align-items:center; justify-content:center; box-shadow:0 10px 26px rgba(0,0,0,.3); }
.dg-wafloat svg{ width:30px; height:30px; color:#fff; }

/* ── Responsive ── */
@media(max-width:960px){
  .dg-links,.dg-header .dg-wa{ display:none; }
  .dg-burger{ display:flex; }
  .dg-hero-inner{ grid-template-columns:1fr; gap:28px; padding:56px 24px 64px; }
  .dg-hero-right{ order:-1; }
  .signpost{ transform:scale(.9); }
  .dg-strip-inner{ grid-template-columns:1fr 1fr; }
  .dg-services{ grid-template-columns:1fr 1fr; }
  .dg-split{ grid-template-columns:1fr; gap:30px; }
  .dg-tst{ grid-template-columns:1fr; }
  .dg-gallery{ grid-template-columns:repeat(2,1fr); }
  .dg-foot-grid{ grid-template-columns:1fr 1fr; gap:30px; }
  #featured-tours{ grid-template-columns:1fr 1fr; }
}
@media(max-width:560px){
  .dg-strip-inner,.dg-services,.dg-gallery,.dg-foot-grid,#featured-tours{ grid-template-columns:1fr; }
  .dg-hero h1{ font-size:2.4rem; }
  .dg-feats{ grid-template-columns:1fr; }
  .dg-sec{ padding:60px 0; }
}

/* ============ extra page components ============ */
/* page hero (About/Gallery/Booking/Contact) — image bg + text */
.dg-phero{ background:var(--dg-ink); color:#fff; position:relative; overflow:hidden; }
.dg-phero::before{ content:""; position:absolute; inset:0; z-index:1;
  background:linear-gradient(90deg,rgba(10,30,58,.93),rgba(10,30,58,.6) 55%,rgba(10,30,58,.36)); }
.dg-phero .in{ position:relative; z-index:2; max-width:var(--dg-max); margin:0 auto; padding:64px 24px 72px; }
.dg-phero h1{ font-size:clamp(2.3rem,4.6vw,3.6rem); font-weight:900; line-height:1.04; margin:12px 0 10px; letter-spacing:-.02em; }
.dg-phero h1 .script{ display:block; font-size:clamp(2.1rem,4.2vw,3.2rem); }
.dg-phero p{ color:var(--dg-on-dark); max-width:62ch; line-height:1.6; font-size:1.05rem; }

/* values row */
.dg-values{ display:grid; grid-template-columns:repeat(5,1fr); gap:20px; margin-top:12px; }
.dg-value{ text-align:center; padding:8px; }
.dg-value .vic{ width:62px; height:62px; border-radius:50%; background:var(--dg-flag-green);
  display:flex; align-items:center; justify-content:center; margin:0 auto 14px; }
.dg-value .vic svg{ width:28px; height:28px; color:#fff; }
.dg-value b{ display:block; font-family:var(--dg-sans); font-weight:800; margin-bottom:5px; color:var(--dg-text); }
.dg-value span{ font-size:.82rem; color:var(--dg-text-soft); line-height:1.5; }
.dg-sec.dark .dg-value b{ color:#fff; } .dg-sec.dark .dg-value span{ color:var(--dg-on-dark-soft); }

/* polaroids (about story) */
.polaroids{ position:relative; min-height:420px; }
.polaroid{ position:absolute; background:#fff; padding:12px 12px 40px; border-radius:4px;
  box-shadow:0 18px 40px rgba(0,0,0,.18); }
.polaroid .img-slot{ min-height:220px; border-radius:2px; width:280px; }
.polaroid.p1{ top:0; left:0; transform:rotate(-4deg); }
.polaroid.p2{ bottom:0; right:0; transform:rotate(5deg); }
.polaroid .pcap{ font-family:var(--dg-script); font-weight:700; color:var(--dg-text); text-align:center; padding-top:8px; font-size:1.1rem; }

/* checklist */
.dg-check{ list-style:none; padding:0; margin:16px 0 0; display:flex; flex-direction:column; gap:12px; }
.dg-check li{ display:flex; gap:11px; align-items:center; font-weight:600; }
.dg-check li svg{ width:22px; height:22px; color:var(--dg-flag-green); flex-shrink:0; }
.dg-sec.dark .dg-check li svg{ color:var(--dg-gold); }

/* quote band */
.dg-quote{ background:linear-gradient(120deg,#0A2540,#114A86); color:#fff; padding:60px 24px; }
.dg-quote .in{ max-width:var(--dg-max); margin:0 auto; display:grid; grid-template-columns:1fr 1fr; gap:40px; align-items:center; }
.dg-quote .q{ font-family:var(--dg-script); font-weight:700; font-size:clamp(1.8rem,3.4vw,2.6rem); line-height:1.2; }
.dg-quote .q .gold{ color:var(--dg-gold); }

/* gallery filter pills */
.dg-pills{ display:flex; flex-wrap:wrap; gap:10px; justify-content:center; margin-bottom:34px; }
.dg-pill{ padding:9px 20px; border-radius:30px; border:1.5px solid #D7E0DA; background:#fff;
  font-family:var(--dg-sans); font-weight:700; font-size:.85rem; color:var(--dg-text); cursor:pointer; transition:.15s; }
.dg-pill:hover{ border-color:var(--dg-gold); }
.dg-pill.active{ background:var(--dg-gold); border-color:var(--dg-gold); color:#11231c; }
.dg-grid4{ display:grid; grid-template-columns:repeat(4,1fr); gap:18px; }
.dg-grid4 .img-slot{ min-height:230px; }
.g-hidden{ display:none !important; }

/* booking layout */
.dg-booking{ display:grid; grid-template-columns:.95fr 1.3fr .95fr; gap:26px; align-items:start; }
.dg-svc-list{ display:flex; flex-direction:column; gap:12px; }
.dg-svc-pick{ display:flex; gap:14px; align-items:center; text-align:left; width:100%; cursor:pointer;
  background:#fff; border:1.5px solid #E2E9E4; border-radius:14px; padding:14px; transition:.15s; }
.dg-svc-pick:hover,.dg-svc-pick.active{ border-color:var(--dg-gold); box-shadow:0 8px 22px rgba(245,196,0,.14); }
.dg-svc-pick .t{ width:48px; height:48px; border-radius:10px; background:var(--dg-green); flex-shrink:0;
  display:flex; align-items:center; justify-content:center; }
.dg-svc-pick .t svg{ width:24px; height:24px; color:var(--dg-gold); }
.dg-svc-pick b{ display:block; font-family:var(--dg-sans); font-weight:800; font-size:.95rem; color:var(--dg-text); }
.dg-svc-pick span{ font-size:.8rem; color:var(--dg-text-soft); }
.dg-formcard{ background:#fff; border:1px solid #E2E9E4; border-radius:18px; overflow:hidden; box-shadow:0 14px 40px rgba(14,59,45,.07); }
.dg-formcard .fhead{ background:var(--dg-green); color:#fff; padding:22px 24px; }
.dg-formcard .fhead h3{ font-size:1.3rem; font-weight:800; margin:0 0 4px; color:#fff; }
.dg-formcard .fhead p{ color:var(--dg-on-dark-soft); font-size:.86rem; margin:0; }
.dg-formcard .fbody{ padding:22px 24px 26px; }
.dg-field{ margin-bottom:14px; }
.dg-field label{ display:block; font-family:var(--dg-sans); font-weight:700; font-size:.78rem; color:var(--dg-text); margin-bottom:6px; }
.dg-field input,.dg-field select,.dg-field textarea{ width:100%; padding:11px 13px; border:1.5px solid #D9E1DB;
  border-radius:10px; font-size:.9rem; font-family:var(--dg-body); background:#F7FAF8; color:var(--dg-text); }
.dg-field input:focus,.dg-field select:focus,.dg-field textarea:focus{ outline:none; border-color:var(--dg-gold); background:#fff; }
.dg-two{ display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.dg-pop{ background:linear-gradient(160deg,#114A86,#0A2540); color:#fff; border-radius:18px; overflow:hidden; margin-bottom:22px; }
.dg-pop .img-slot{ min-height:150px; border-radius:0; }
.dg-pop .pb{ padding:20px; }
.dg-pop h3{ font-size:1.2rem; font-weight:800; color:#fff; margin:0 0 12px; }
.dg-pop .script{ font-size:1.1rem; }
.dg-why{ background:linear-gradient(160deg,#0D3B6E,#0A2540); color:#fff; border-radius:18px; padding:24px; }
.dg-why h3{ font-size:1.2rem; font-weight:800; color:#fff; margin:0 0 6px; }

/* contact methods */
.dg-cm{ display:flex; flex-direction:column; gap:14px; }
.dg-cmrow{ display:flex; gap:14px; align-items:center; background:#fff; border:1px solid #E2E9E4;
  border-radius:14px; padding:16px; text-decoration:none; }
.dg-cmrow .ci{ width:48px; height:48px; border-radius:12px; background:var(--dg-green);
  display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.dg-cmrow .ci svg{ width:24px; height:24px; color:var(--dg-gold); }
.dg-cmrow b{ display:block; font-family:var(--dg-sans); font-weight:800; color:var(--dg-text); }
.dg-cmrow span{ font-size:.86rem; color:var(--dg-text-soft); }

@media(max-width:960px){
  .dg-values{ grid-template-columns:1fr 1fr 1fr; }
  .dg-grid4{ grid-template-columns:1fr 1fr; }
  .dg-booking{ grid-template-columns:1fr; }
  .dg-quote .in{ grid-template-columns:1fr; }
  .polaroids{ min-height:0; display:flex; flex-direction:column; gap:20px; align-items:center; }
  .polaroid{ position:static; transform:none !important; }
  .polaroid.p2{ margin-top:-10px; }
}
@media(max-width:560px){ .dg-values{ grid-template-columns:1fr 1fr; } .dg-grid4{ grid-template-columns:1fr; } .dg-two{ grid-template-columns:1fr; } }


/* ===== dg-legacy: recolor the previous-design pages to green/gold ===== */
body.dg-legacy{
  --accent:#1A6BAF; --accent-dark:#0D3B6E; --accent-text:#ffffff;
  --accent-grad:linear-gradient(135deg,#1A6BAF 0%,#2B7DC4 50%,#0D3B6E 100%);
  --jet-blue:#1A6BAF; --jet-navy:#0A2540; --jet-sky:#4BA3D9; --jet-gold:#F5C400;
  --secondary:#F5C400; --secondary-text:#11231c;
  --bg:#F6F8F4; --nav-bg:#0A2540; --footer-bg:#0A2540; --cta-bg:#0A2540;
  --page-hero-bg:linear-gradient(135deg,#0D3B6E,#0A2540);
  --input-bg:#EAF1F8; --card-bg:#ffffff; --border:rgba(26,107,175,.12);
  --shadow-accent:0 4px 16px rgba(26,107,175,.3);
}
body.dg-legacy .btn-primary{ background:linear-gradient(135deg,#F5C400,#E0A200); color:#11231c; border:none; }
body.dg-legacy .section-label,body.dg-legacy .text-accent{ color:#1A6BAF; }

/* ===== v10: interactive home components ===== */
/* Featured tours auto-scroll carousel (overrides the grid) */
/* Featured Tours: static responsive grid (3 / 2 / 1) — no horizontal scroll, page scrolls normally.
   The #featured-tours grid rules live in the main section above; .dg-tourcar wrapper is gone from the markup. */

/* Video section (random video via Ezy Video Manager) */
.dg-vidwrap{ position:relative; border-radius:20px; overflow:hidden; aspect-ratio:16/9; background:#0A2540;
  box-shadow:0 24px 60px rgba(10,37,64,.4); }
.dg-vidwrap video{ width:100%; height:100%; object-fit:cover; display:block; }
.dg-vidwrap .vposter{ position:absolute; inset:0; background:center/cover no-repeat; z-index:0; }
.dg-vidwrap .vbadge{ position:absolute; left:16px; top:16px; z-index:2; background:rgba(10,37,64,.72);
  color:#fff; font-family:var(--dg-sans); font-weight:800; font-size:.72rem; letter-spacing:.08em;
  padding:7px 13px; border-radius:30px; backdrop-filter:blur(4px); }

/* Gallery slider (one per slide, autoslide, swipe, lightbox) */
.dg-gcar{ position:relative; max-width:960px; margin:0 auto; overflow:hidden; border-radius:20px; }
.dg-gcar-track{ display:flex; transition:transform .55s cubic-bezier(.4,0,.2,1); }
.dg-gcar-slide{ flex:0 0 100%; }
.dg-gcar-slide .img-slot{ min-height:440px; border-radius:0; cursor:pointer; }
@media(max-width:600px){ .dg-gcar-slide .img-slot{ min-height:300px; } }
.dg-gcar-arrow{ position:absolute; top:50%; transform:translateY(-50%); width:48px; height:48px; border-radius:50%;
  background:rgba(10,37,64,.55); color:#fff; border:0; cursor:pointer; z-index:3; font-size:1.5rem;
  display:flex; align-items:center; justify-content:center; backdrop-filter:blur(3px); }
.dg-gcar-arrow:hover{ background:var(--dg-gold); color:#11213a; } .dg-gcar-arrow.prev{ left:14px; } .dg-gcar-arrow.next{ right:14px; }
.dg-gcar-dots{ display:flex; gap:9px; justify-content:center; margin-top:18px; }
.dg-gdot{ width:10px; height:10px; border-radius:50%; background:rgba(255,255,255,.28); cursor:pointer; transition:.2s; }
.dg-gdot.active{ background:var(--dg-gold); width:26px; border-radius:6px; }
.dg-lightbox{ position:fixed; inset:0; z-index:1000; background:rgba(5,15,30,.94); display:none;
  align-items:center; justify-content:center; }
.dg-lightbox.open{ display:flex; } .dg-lightbox img{ max-width:92vw; max-height:86vh; border-radius:10px; box-shadow:0 20px 60px rgba(0,0,0,.6); }
.dg-lightbox .lx{ position:absolute; top:18px; right:26px; color:#fff; font-size:2.2rem; cursor:pointer; line-height:1; }

/* Bottom mobile nav (SVG icons) */
.dg-mnav{ display:none; position:fixed; left:0; right:0; bottom:0; z-index:500; background:var(--dg-ink);
  border-top:1px solid rgba(255,255,255,.12); padding:6px 4px; justify-content:space-around;
  box-shadow:0 -4px 20px rgba(0,0,0,.3); }
.dg-mnav a{ flex:1; display:flex; flex-direction:column; align-items:center; gap:3px; padding:6px 2px;
  color:rgba(255,255,255,.82); text-decoration:none; font-size:.62rem; font-weight:700; letter-spacing:.02em; }
.dg-mnav a svg{ width:22px; height:22px; } .dg-mnav a.wa{ color:#25D366; } .dg-mnav a.call{ color:var(--dg-gold); }
.dg-mnav a:active{ opacity:.55; }
@media(max-width:960px){ .dg-mnav{ display:flex; } body.dg{ padding-bottom:64px; } .dg-wafloat{ bottom:74px; } }

/* 10% off promo popup (tours page) */
.dg-promo{ position:fixed; inset:0; z-index:1100; background:rgba(5,15,30,.72); display:none; align-items:center; justify-content:center; padding:20px; }
.dg-promo.open{ display:flex; animation:dgfade .3s ease; }
@keyframes dgfade{ from{opacity:0} to{opacity:1} }
.dg-promo-card{ background:#fff; border-radius:20px; max-width:400px; width:100%; padding:32px 26px 26px; text-align:center; position:relative; border-top:6px solid var(--dg-gold); box-shadow:0 30px 70px rgba(0,0,0,.5); }
.dg-promo-x{ position:absolute; top:12px; right:14px; background:none; border:0; font-size:1.4rem; color:#9aa; cursor:pointer; line-height:1; }
.dg-promo-badge{ display:inline-block; background:rgba(245,196,0,.16); color:#9a7b00; font-family:var(--dg-sans); font-weight:800; font-size:.68rem; letter-spacing:.1em; text-transform:uppercase; padding:6px 14px; border-radius:30px; margin-bottom:14px; }
.dg-promo-card h3{ font-family:var(--dg-sans); font-size:1.6rem; font-weight:900; color:var(--dg-ink); margin:0 0 8px; line-height:1.1; }
.dg-promo-card p{ color:var(--dg-text-soft); font-size:.92rem; line-height:1.6; margin:0 0 18px; }
.dg-promo-code{ display:flex; align-items:stretch; border:2px dashed var(--dg-gold); border-radius:12px; overflow:hidden; margin-bottom:16px; }
.dg-promo-code span{ flex:1; font-family:var(--dg-sans); font-weight:900; font-size:1.2rem; letter-spacing:2px; color:var(--dg-ink); padding:12px; display:flex; align-items:center; justify-content:center; }
.dg-promo-code button{ background:var(--dg-gold); border:0; padding:0 18px; font-weight:800; cursor:pointer; color:#11213a; font-family:var(--dg-sans); }
.dg-promo-fine{ font-size:.72rem; color:var(--dg-text-soft); margin-top:12px; }
