/* 7Coast Tours – Premium Luxury Travel Theme
   v1.6.5 "Midnight" – navy-blue dark theme with spectrum accents */
:root{
  --ocean-blue:#0b3d91;
  --ocean-deep:#072044;
  --tropical-teal:#0fb6b0;
  --sunset-orange:#ff7a3d;
  --gold:#d4a045;
  --gold-light:#f5e3b3;
  --sky:#2f9bff;
  --coral:#ff5e6c;
  --magenta:#e84393;
  --violet:#7c3aed;
  --lime:#84cc16;
  --ink:#0f172a;
  --paper:#ffffff;
  --sand:#f7f4ef;
  --cloud:#eef6fb;
  --tint-blue:#eff6ff;
  --tint-teal:#ecfdf9;
  --tint-gold:#fff8e6;
  --tint-coral:#fff0f2;
  --tint-violet:#f4efff;
  --glass:rgba(255,255,255,0.62);
  --glass-dark:rgba(7,32,68,0.42);
  --spectrum:linear-gradient(90deg,var(--sky) 0%,var(--tropical-teal) 25%,var(--lime) 45%,var(--gold) 65%,var(--sunset-orange) 82%,var(--magenta) 100%);
  --spectrum-soft:linear-gradient(135deg,rgba(47,155,255,.10),rgba(15,182,176,.12) 35%,rgba(245,185,66,.12) 70%,rgba(255,122,61,.10));
  /* v1.6.5 midnight palette */
  --navy-950:#050f20;
  --navy-900:#081a33;
  --navy-850:#0a1f3d;
  --navy-800:#0d2344;
  --navy-750:#10294e;
  --navy-700:#123056;
  --navy-600:#1a3a66;
  --line:rgba(148,178,235,.14);
  --line-strong:rgba(148,178,235,.3);
  --txt:#e9eff8;
  --txt-2:#c2cfe6;
  --txt-3:#93a5c5;
  --txt-4:#7d92b6;
  --sky-light:#8fc1ff;
  --teal-light:#4fd1c5;
  --gold-light:#f2c67d;
  --green-light:#4ade80;
  --red-light:#f87171;
  --orange-light:#ff9d66;
  --magenta-light:#ff8fb8;
}

html{scroll-behavior:smooth;}
body{
  font-family:'Inter','Segoe UI',system-ui,-apple-system,sans-serif;
  color:var(--txt);
  background:
    radial-gradient(1100px 520px at 88% -120px, rgba(15,182,176,.10), transparent 60%),
    radial-gradient(950px 480px at -8% 8%, rgba(47,155,255,.10), transparent 55%),
    radial-gradient(900px 520px at 55% 115%, rgba(255,122,61,.08), transparent 60%),
    radial-gradient(700px 400px at 105% 60%, rgba(232,67,147,.07), transparent 60%),
    var(--navy-900);
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3,h4,.font-display{
  font-family:'Playfair Display','Cormorant Garamond',Georgia,serif;
  letter-spacing:-0.01em;
}
a{color:inherit;}

/* ============ Premium Buttons ============ */
.btn-primary{
  display:inline-flex;align-items:center;gap:.55rem;
  padding:.85rem 1.6rem;border-radius:9999px;
  background:linear-gradient(135deg,#0fb6b0 0%,#25D366 55%,#84cc16 115%);
  color:#fff;font-weight:600;letter-spacing:.01em;
  box-shadow:0 10px 30px rgba(37,211,102,.35),0 4px 14px rgba(15,182,176,.25);
  transition:transform .25s,box-shadow .25s,filter .25s;
}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 16px 42px rgba(37,211,102,.45),0 6px 20px rgba(15,182,176,.35);filter:brightness(1.05);}
.btn-secondary{
  display:inline-flex;align-items:center;gap:.55rem;
  padding:.8rem 1.55rem;border-radius:9999px;
  background:linear-gradient(135deg,#f5b942 0%,#ff7a3d 45%,#e84393 105%);
  color:#fff;font-weight:600;
  box-shadow:0 10px 30px rgba(255,122,61,.35);
  transition:transform .25s,box-shadow .25s,filter .25s;
}
.btn-secondary:hover{transform:translateY(-2px);box-shadow:0 16px 42px rgba(232,67,147,.45);filter:brightness(1.06);}
.btn-ghost{
  display:inline-flex;align-items:center;gap:.5rem;
  padding:.75rem 1.4rem;border-radius:9999px;
  border:1.5px solid rgba(255,255,255,.75);color:#fff;font-weight:500;
  backdrop-filter:blur(8px);background:linear-gradient(135deg,rgba(255,255,255,.16),rgba(15,182,176,.18));
  transition:background .25s,border-color .25s,transform .25s,box-shadow .25s;
}
.btn-ghost:hover{background:rgba(255,255,255,.22);transform:translateY(-2px);box-shadow:0 10px 26px rgba(15,182,176,.3);}
.btn-outline{
  display:inline-flex;align-items:center;gap:.5rem;
  padding:.7rem 1.35rem;border-radius:9999px;
  border:1.5px solid var(--line-strong);color:var(--txt-2);font-weight:600;
  transition:background .25s,color .25s,box-shadow .25s,border-color .25s;
}
.btn-outline:hover{background:linear-gradient(135deg,var(--ocean-blue),var(--tropical-teal));color:#fff;border-color:transparent;box-shadow:0 8px 22px rgba(11,61,145,.4);}

/* ============ Header / Nav ============ */
.site-header{
  position:fixed;inset:0 0 auto 0;z-index:50;
  transition:background .35s, box-shadow .35s, padding .35s, color .35s;
  padding:1rem 0;
}
.site-header.is-top{background:transparent;color:#fff;}
.site-header.is-scrolled{
  background:linear-gradient(90deg,rgba(8,26,51,.94),rgba(13,35,68,.92) 45%,rgba(18,48,86,.92) 80%,rgba(13,35,68,.92));
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  box-shadow:0 6px 30px rgba(0,0,0,.4);
  padding:.55rem 0;color:var(--txt);
}
.site-header .nav-link{
  position:relative;padding:.4rem .15rem;font-weight:500;font-size:.95rem;
}
.site-header .nav-link::after{
  content:"";position:absolute;left:0;bottom:-4px;height:2.5px;width:0;border-radius:99px;
  background:var(--spectrum);
  transition:width .3s;
}
.site-header .nav-link:hover::after{width:100%;}
.brand{display:flex;align-items:center;gap:.65rem;font-family:'Playfair Display',serif;font-weight:700;font-size:1.35rem;color:#fff;}
/* ============ Header clearance fallbacks (v1.6.7) ============
   Hero height/alignment/padding utilities come from the Tailwind CDN.
   When the CDN is unavailable (offline preview) or the viewport is very
   short, these zero-specificity rules keep the first hero line (kicker /
   breadcrumb) clear of the fixed header + logo. Real Tailwind utilities
   always win over :where() when present. */
:where(section.items-end.text-white){display:flex;align-items:flex-end;min-height:22rem;}
:where(section.items-end.text-white > div.relative.z-10){padding:2.5rem 1.25rem;}
:where(.hero .hero-content){padding:8rem 1.25rem 5rem;}
/* policy pages (privacy/terms/refund): guarantee header clearance when pt-32 utility is absent */
section.section.pt-32{padding-top:8rem;}

/* v1.6.8 — home page: push the "Curated Luxury Holidays" kicker down 3/4 inch
   (72px) to give it breathing room below the fixed header. Scoped to .hero,
   which exists only on the home page. */
:where(.hero .kicker){margin-top:72px;}

.brand-img{
  width:22px;height:auto;display:block;border-radius:6px;flex:none;
}
/* v1.6.7 — brand logo embedded as data-URI (immune to missing asset files);
   compact 88x84 version of the 7Coast logo, displayed at 22px */
.brand-mark{
  display:block;flex:none;width:22px;height:21px;
  background:url("data:image/png;base64,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") center/contain no-repeat;
}
.brand-logo{
  width:42px;height:42px;border-radius:12px;
  background:linear-gradient(135deg,#0b3d91 0%,#2f9bff 30%,#0fb6b0 55%,#f5b942 80%,#ff7a3d 100%);
  display:flex;align-items:center;justify-content:center;color:#fff;
  font-family:'Playfair Display';font-weight:900;font-size:1.05rem;
  box-shadow:0 6px 16px rgba(47,155,255,.4);
}

/* Dropdown menus */
.has-dropdown{position:relative;padding-bottom:14px;margin-bottom:-14px;}
/* invisible hover-bridge so cursor can travel from link → panel without closing */
.has-dropdown::after{
  content:"";position:absolute;left:50%;transform:translateX(-50%);
  top:100%;width:280px;max-width:90vw;height:18px;background:transparent;
  pointer-events:auto;
}
.dropdown-panel{
  position:absolute;top:calc(100% + 14px);left:50%;transform:translateX(-50%) translateY(8px);
  background:linear-gradient(180deg,var(--navy-800),var(--navy-850));color:var(--txt-2);
  border:1px solid var(--line);
  border-radius:18px;padding:1rem;min-width:280px;
  box-shadow:0 30px 80px rgba(0,0,0,.55);
  opacity:0;pointer-events:none;
  transition:opacity .22s ease, transform .25s ease, visibility 0s linear .25s;
  visibility:hidden;
  z-index:60;
}
.dropdown-panel.wide{min-width:640px;}
.dropdown-panel.xwide{min-width:760px;}
.has-dropdown:hover .dropdown-panel,
.has-dropdown:focus-within .dropdown-panel,
.has-dropdown.is-open .dropdown-panel{
  opacity:1;transform:translateX(-50%) translateY(0);pointer-events:auto;
  visibility:visible;transition-delay:0s;
}
/* On touch / smaller screens click-toggle replaces hover */
.has-dropdown > a{cursor:pointer;}
.dropdown-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.25rem;}
.dropdown-grid.cols-3{grid-template-columns:repeat(3,minmax(0,1fr));}
.dropdown-link{
  display:block;padding:.55rem .75rem;border-radius:10px;font-size:.9rem;
  transition:background .2s,color .2s;color:var(--txt-2);
}
.dropdown-link:hover{background:linear-gradient(135deg,rgba(47,155,255,.16),rgba(15,182,176,.14) 60%,rgba(245,185,66,.14));color:var(--sky-light);}

/* ============ Hero ============ */
.hero{
  position:relative;min-height:100vh;overflow:hidden;
  display:flex;align-items:center;color:#fff;
}
.hero-slides{position:absolute;inset:0;z-index:0;}
.hero-slide{
  position:absolute;inset:0;background-size:cover;background-position:center;
  opacity:0;transform:scale(1.08);
  transition:opacity 1.2s ease, transform 4s ease;
  will-change:opacity, transform;
}
.hero-slide.active{opacity:1;transform:scale(1.0);}
.hero-overlay{
  position:absolute;inset:0;z-index:1;
  background:
    radial-gradient(85% 55% at 12% 18%, rgba(124,58,237,.4), transparent 55%),
    radial-gradient(80% 55% at 88% 78%, rgba(255,122,61,.42), transparent 58%),
    radial-gradient(60% 40% at 70% 10%, rgba(15,182,176,.3), transparent 60%),
    linear-gradient(to bottom, rgba(11,61,145,.55) 0%, rgba(8,26,51,.15) 40%, rgba(5,15,32,.82) 100%);
}
.hero-content{position:relative;z-index:2;}
.hero h1{font-size:clamp(2.4rem,5.2vw,4.6rem);line-height:1.05;font-weight:700;}
.hero .subhead{font-size:clamp(1rem,1.4vw,1.25rem);opacity:.92;}
.kicker{
  display:inline-flex;align-items:center;gap:.5rem;
  padding:.4rem .85rem;border-radius:9999px;
  background:linear-gradient(135deg,rgba(47,155,255,.32),rgba(15,182,176,.28) 50%,rgba(255,122,61,.3));
  backdrop-filter:blur(8px);
  font-size:.78rem;letter-spacing:.18em;text-transform:uppercase;color:#fff;
  border:1px solid rgba(255,255,255,.4);
  box-shadow:0 4px 18px rgba(15,182,176,.25);
}

/* counters */
.counters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;}
.counter-card{
  background:rgba(13,35,68,.72);backdrop-filter:blur(14px);
  border:1px solid rgba(148,178,235,.22);border-radius:18px;
  padding:1.1rem 1.2rem;text-align:center;color:var(--txt);
  position:relative;overflow:hidden;
}
.counter-card::before{content:"";position:absolute;inset:0 0 auto 0;height:4px;background:var(--spectrum);opacity:.95;}
.counter-card:nth-child(1){background:linear-gradient(160deg,rgba(47,155,255,.16),rgba(13,35,68,.72));}
.counter-card:nth-child(2){background:linear-gradient(160deg,rgba(15,182,176,.16),rgba(13,35,68,.72));}
.counter-card:nth-child(3){background:linear-gradient(160deg,rgba(245,185,66,.16),rgba(13,35,68,.72));}
.counter-card .num{font-family:'Playfair Display',serif;font-size:2rem;font-weight:800;
  background:linear-gradient(135deg,var(--sky-light) 0%,var(--teal-light) 45%,var(--sunset-orange) 80%,var(--magenta-light) 110%);
  -webkit-background-clip:text;background-clip:text;color:transparent;}
.counter-card .lbl{font-size:.82rem;letter-spacing:.1em;text-transform:uppercase;color:var(--txt-3);}

/* floating airplane trail */
.plane-trail{position:absolute;right:-10%;top:18%;color:#fff;opacity:.35;z-index:2;
  animation:fly 22s linear infinite;}
@keyframes fly{
  0%{transform:translate(0,0) rotate(-8deg);opacity:0;}
  10%{opacity:.4;}
  100%{transform:translate(-130vw,80px) rotate(-8deg);opacity:0;}
}

/* ============ Sections ============ */
.section{padding:5rem 0;}
.section-title{font-size:clamp(1.8rem,3vw,2.6rem);font-weight:700;margin-bottom:.5rem;position:relative;color:#f4f8fd;}
.section-title::after{
  content:"";position:absolute;left:0;bottom:-8px;width:72px;height:5px;border-radius:99px;
  background:var(--spectrum);
}
.section-title.text-center::after{left:50%;transform:translateX(-50%);}
.section-sub{color:var(--txt-3);max-width:720px;}

/* ============ Cards ============ */
.dest-card{
  position:relative;border-radius:22px;overflow:hidden;
  background:linear-gradient(170deg,var(--navy-800),var(--navy-850));
  border:1px solid var(--line);
  box-shadow:0 12px 35px rgba(0,0,0,.35);
  transition:transform .35s, box-shadow .35s;
}
.dest-card::before{
  content:"";position:absolute;top:0;left:0;right:0;height:4px;z-index:3;
  background:var(--spectrum);opacity:.95;
}
.dest-card:hover{transform:translateY(-6px);box-shadow:0 22px 50px rgba(0,0,0,.5),0 0 0 2px rgba(47,155,255,.35);}
.dest-card .media{position:relative;aspect-ratio:4/3;overflow:hidden;background:linear-gradient(135deg,var(--navy-750),var(--navy-850));}
.dest-card .media img{width:100%;height:100%;object-fit:cover;transition:transform .8s;}
.dest-card:hover .media img{transform:scale(1.08);}
.dest-card .badge{
  position:absolute;top:18px;left:12px;z-index:4;
  background:linear-gradient(135deg,var(--gold),var(--sunset-orange) 60%,var(--magenta));
  color:#fff;font-size:.7rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;
  padding:.3rem .65rem;border-radius:9999px;box-shadow:0 6px 16px rgba(255,122,61,.4);
}
.dest-card .body{padding:1rem 1.1rem 1.2rem;}
.dest-card h3{font-size:1.15rem;font-weight:700;color:#f4f8fd;}
.dest-card .tagline{color:var(--txt-3);font-size:.85rem;margin:.25rem 0 .6rem;}
.dest-card .meta{display:flex;justify-content:space-between;align-items:center;font-size:.78rem;color:var(--txt-3);}
.dest-card .meta .days{color:var(--sky-light);font-weight:600;}

/* text-only attraction tiles (Tourist Attractions on destination pages) */
.dest-card.att-card{
  background:linear-gradient(160deg,var(--navy-800) 45%,rgba(15,182,176,.16));
}
.dest-card.att-card:nth-child(even){
  background:linear-gradient(160deg,var(--navy-800) 45%,rgba(245,185,66,.15));
}
.dest-card.att-card h3{color:var(--txt);}
.dest-card.att-card h3::before{
  content:"";display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:.6rem;
  transform:rotate(45deg);background:var(--spectrum);vertical-align:middle;
}

/* passport-stamp like overlay */
.stamp{
  position:absolute;top:14px;right:14px;z-index:4;
  border:2px dashed rgba(255,255,255,.85);color:#fff;font-size:.6rem;
  letter-spacing:.18em;font-weight:700;padding:.35rem .55rem;border-radius:8px;
  text-transform:uppercase;transform:rotate(-6deg);
  background:rgba(255,255,255,.08);backdrop-filter:blur(2px);
}

/* ============ Glass card / Why us ============ */
.glass{
  background:linear-gradient(160deg,rgba(13,35,68,.78),rgba(10,31,61,.62) 55%,rgba(18,48,86,.55));
  border:1px solid rgba(148,178,235,.2);
  backdrop-filter:blur(14px);
  border-radius:20px;padding:1.5rem;
  box-shadow:0 12px 35px rgba(0,0,0,.35);
}

.feature-card{
  border-radius:20px;padding:1.5rem;
  background:linear-gradient(170deg,var(--navy-800),var(--navy-850));
  border:1px solid var(--line);transition:transform .3s, box-shadow .3s, border-color .3s;
}
.feature-card:nth-child(4n+1){background:linear-gradient(165deg,var(--navy-800) 55%,rgba(47,155,255,.14));}
.feature-card:nth-child(4n+2){background:linear-gradient(165deg,var(--navy-800) 55%,rgba(15,182,176,.14));}
.feature-card:nth-child(4n+3){background:linear-gradient(165deg,var(--navy-800) 55%,rgba(245,185,66,.14));}
.feature-card:nth-child(4n+4){background:linear-gradient(165deg,var(--navy-800) 55%,rgba(255,94,108,.12));}
.feature-card:hover{transform:translateY(-4px);box-shadow:0 18px 40px rgba(0,0,0,.45);border-color:rgba(148,178,235,.35);}
.feature-icon{
  width:54px;height:54px;border-radius:14px;display:flex;align-items:center;justify-content:center;
  background:linear-gradient(135deg,#2f9bff,#0b3d91);color:#fff;margin-bottom:.85rem;
  box-shadow:0 8px 20px rgba(47,155,255,.4);
}
.feature-card:nth-child(4n+2) .feature-icon{background:linear-gradient(135deg,#14b8a6,#0f766e);box-shadow:0 8px 20px rgba(20,184,166,.4);}
.feature-card:nth-child(4n+3) .feature-icon{background:linear-gradient(135deg,#f5b942,#ea580c);box-shadow:0 8px 20px rgba(245,185,66,.4);}
.feature-card:nth-child(4n+4) .feature-icon{background:linear-gradient(135deg,#e84393,#ff5e6c);box-shadow:0 8px 20px rgba(232,67,147,.4);}
.feature-card p,.feature-card li{color:var(--txt-2);}

/* ============ Floating WA ============ */
.fab-wa{
  position:fixed;right:18px;bottom:18px;z-index:60;
  width:60px;height:60px;border-radius:50%;
  background:linear-gradient(135deg,#25D366,#128C7E);
  color:#fff;display:flex;align-items:center;justify-content:center;
  box-shadow:0 14px 36px rgba(37,211,102,.45);
  animation:pulse 2.4s infinite;
}
@keyframes pulse{
  0%{box-shadow:0 0 0 0 rgba(37,211,102,.55);}
  70%{box-shadow:0 0 0 18px rgba(37,211,102,0);}
  100%{box-shadow:0 0 0 0 rgba(37,211,102,0);}
}

/* ============ Footer ============ */
.site-footer{
  position:relative;
  background:linear-gradient(135deg,#04091a 0%,#081a38 35%,#171243 70%,#341028 100%);
  color:#cfd9ec;
  padding:4rem 0 1.5rem;
  border-top:1px solid var(--line);
}
.site-footer::before{
  content:"";position:absolute;top:0;left:0;right:0;height:5px;
  background:var(--spectrum);
}
.site-footer a{color:#cfd9ec;}
.site-footer a:hover{color:#fff;}
.site-footer h4{color:#fff;font-family:'Playfair Display',serif;font-size:1.15rem;margin-bottom:.85rem;}
.divider{height:1px;background:rgba(255,255,255,.12);margin:2rem 0 1rem;}

/* ============ Lightbox ============ */
.lightbox{position:fixed;inset:0;background:rgba(4,10,22,.94);display:none;align-items:center;justify-content:center;z-index:80;padding:2rem;}
.lightbox.open{display:flex;}
.lightbox img{max-width:92vw;max-height:88vh;border-radius:14px;box-shadow:0 30px 80px rgba(0,0,0,.6);}
.lightbox .lb-close{position:absolute;top:18px;right:22px;color:#fff;font-size:2rem;cursor:pointer;}

/* ============ Reels ============ */
.reels{display:grid;grid-auto-flow:column;grid-auto-columns:240px;gap:1rem;overflow-x:auto;padding-bottom:1rem;scrollbar-width:thin;}
.reel{
  aspect-ratio:9/16;border-radius:18px;overflow:hidden;position:relative;background:#000;
  box-shadow:0 12px 30px rgba(0,0,0,.4);transition:transform .3s;
}
.reel:hover{transform:translateY(-4px) scale(1.02);}
.reel img{width:100%;height:100%;object-fit:cover;opacity:.85;transition:opacity .25s, transform 6s;}
.reel:hover img{opacity:1;transform:scale(1.08);}
.reel .caption{
  position:absolute;left:10px;right:10px;bottom:10px;color:#fff;font-size:.78rem;font-weight:500;
  padding:.4rem .6rem;border-radius:10px;
  background:linear-gradient(90deg,rgba(11,61,145,.85),rgba(124,58,237,.65) 60%,rgba(232,67,147,.65));
  backdrop-filter:blur(6px);
}
.reel .play{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,.92);
  text-shadow:0 4px 18px rgba(0,0,0,.4);}

/* ============ FAQ accordion ============ */
.faq{border:1px solid rgba(148,178,235,.18);border-radius:14px;background:var(--navy-800);transition:border-color .25s, background .25s, box-shadow .25s;}
.faq + .faq{margin-top:.65rem;}
.faq:hover{border-color:rgba(122,184,255,.45);background:linear-gradient(135deg,var(--navy-800),var(--navy-700));}
.faq summary{
  cursor:pointer;list-style:none;padding:1rem 1.1rem;font-weight:600;color:var(--txt);
  display:flex;align-items:center;justify-content:space-between;
}
.faq summary::-webkit-details-marker{display:none;}
.faq summary::after{content:"+";font-size:1.3rem;color:var(--sky-light);transition:transform .25s;}
.faq[open]{border-color:var(--tropical-teal);background:linear-gradient(135deg,var(--navy-800),rgba(15,182,176,.12));box-shadow:inset 4px 0 0 0 var(--tropical-teal);}
.faq[open] summary::after{content:"–";color:var(--teal-light);}
.faq .answer{padding:0 1.1rem 1rem;color:var(--txt-2);line-height:1.6;}

/* ============ Forms ============ */
.input{
  width:100%;padding:.85rem 1rem;border-radius:12px;border:1px solid rgba(148,178,235,.3);
  background:var(--navy-850);color:var(--txt);
  font-size:.95rem;transition:border-color .2s, box-shadow .2s;
}
.input::placeholder{color:var(--txt-4);}
.input:focus{outline:none;border-color:var(--tropical-teal);box-shadow:0 0 0 4px rgba(15,182,176,.18);}
.label{font-size:.85rem;font-weight:600;color:var(--txt-3);margin-bottom:.35rem;display:block;}

/* ============ Popup ============ */
.popup-mask{position:fixed;inset:0;z-index:90;background:rgba(4,10,22,.75);display:none;align-items:center;justify-content:center;padding:1.5rem;}
.popup-mask.open{display:flex;animation:fadeIn .25s;}
.popup-card{
  background:var(--navy-800);border:1px solid var(--line);
  border-radius:22px;overflow:hidden;max-width:760px;width:100%;
  display:grid;grid-template-columns:1fr 1fr;box-shadow:0 30px 80px rgba(0,0,0,.6);
  position:relative;animation:zoomIn .35s;
}
.popup-card::before{content:"";position:absolute;top:0;left:0;right:0;height:6px;background:var(--spectrum);z-index:5;}
.popup-img{background-size:cover;background-position:center;min-height:360px;}
.popup-body{padding:2rem 1.75rem;color:var(--txt-2);}
.popup-close{position:absolute;top:.6rem;right:.85rem;font-size:1.5rem;cursor:pointer;color:var(--txt-3);background:rgba(13,35,68,.9);border-radius:50%;width:32px;height:32px;display:flex;align-items:center;justify-content:center;line-height:1;z-index:6;}
@keyframes fadeIn{from{opacity:0}to{opacity:1}}
@keyframes zoomIn{from{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}
@media (max-width:640px){.popup-card{grid-template-columns:1fr;}.popup-img{min-height:200px;}}

/* ============ Filters ============ */
.chip{
  padding:.45rem .9rem;border-radius:9999px;background:var(--navy-800);border:1px solid rgba(148,178,235,.3);
  font-size:.85rem;font-weight:500;color:var(--txt-2);cursor:pointer;transition:all .2s;
}
.chip:hover{border-color:var(--sky-light);color:var(--sky-light);background:var(--navy-700);}
.chip.active{background:linear-gradient(135deg,var(--ocean-blue),var(--tropical-teal));border-color:transparent;color:#fff;box-shadow:0 6px 18px rgba(11,61,145,.4);}

/* ============ Breadcrumbs ============ */
.breadcrumbs{font-size:.85rem;color:var(--txt-3);}
.breadcrumbs a{color:var(--sky-light);}
.breadcrumbs a:hover{text-decoration:underline;color:var(--teal-light);}

/* ============ Itinerary timeline ============ */
.timeline{position:relative;padding-left:2rem;}
.timeline::before{content:"";position:absolute;left:.65rem;top:.5rem;bottom:.5rem;width:3px;border-radius:99px;
  background:linear-gradient(to bottom,var(--sky),var(--tropical-teal) 25%,var(--lime) 50%,var(--gold) 70%,var(--sunset-orange) 85%,var(--magenta));}
.day-item{position:relative;padding-bottom:1.5rem;}
.day-item::before{
  content:"";position:absolute;left:-1.65rem;top:.45rem;width:14px;height:14px;border-radius:50%;
  background:var(--navy-900);border:3px solid var(--sky);box-shadow:0 0 0 4px rgba(47,155,255,.18);
}
.day-item:nth-child(6n+2)::before{border-color:var(--tropical-teal);box-shadow:0 0 0 4px rgba(15,182,176,.2);}
.day-item:nth-child(6n+3)::before{border-color:var(--lime);box-shadow:0 0 0 4px rgba(132,204,22,.2);}
.day-item:nth-child(6n+4)::before{border-color:var(--gold);box-shadow:0 0 0 4px rgba(212,160,69,.22);}
.day-item:nth-child(6n+5)::before{border-color:var(--sunset-orange);box-shadow:0 0 0 4px rgba(255,122,61,.2);}
.day-item:nth-child(6n+6)::before{border-color:var(--magenta);box-shadow:0 0 0 4px rgba(232,67,147,.2);}
.day-item h4{font-family:'Inter',sans-serif;font-size:1rem;font-weight:700;color:var(--sky-light);margin-bottom:.2rem;}
.day-item:nth-child(6n+2) h4{color:var(--teal-light);}
.day-item:nth-child(6n+3) h4{color:#a3e635;}
.day-item:nth-child(6n+4) h4{color:var(--gold-light);}
.day-item:nth-child(6n+5) h4{color:var(--orange-light);}
.day-item:nth-child(6n+6) h4{color:var(--magenta-light);}
.day-item p{color:var(--txt-2);line-height:1.6;font-size:.95rem;}

/* ============ Util ============ */
.gradient-text{
  background:linear-gradient(135deg,var(--sky-light) 0%,var(--teal-light) 35%,var(--sunset-orange) 70%,var(--magenta-light) 100%);
  -webkit-background-clip:text;background-clip:text;color:transparent;
}
.lazy-img{background:var(--navy-750);}
.no-scrollbar::-webkit-scrollbar{display:none;}
.no-scrollbar{-ms-overflow-style:none;scrollbar-width:none;}

/* ============ Tailwind utility overrides for dark theme ============ */
.text-slate-900{color:#f4f8fd !important;}
.text-slate-700{color:#c9d6ea !important;}
.text-slate-600{color:#b7c6de !important;}
.text-slate-500{color:#9fb0ca !important;}
.text-slate-400{color:#8fa3c4 !important;}
.text-blue-900{color:var(--sky-light) !important;}
.text-blue-700{color:#7ab8ff !important;}
.text-blue-600{color:#7ab8ff !important;}
.text-green-900{color:#6ee7b7 !important;}
.text-green-800{color:var(--green-light) !important;}
.text-green-700{color:var(--green-light) !important;}
.text-green-600{color:var(--green-light) !important;}
.text-red-700{color:var(--red-light) !important;}
.text-amber-700{color:#fbbf24 !important;}
.text-emerald-600{color:#34d399 !important;}
.bg-green-50{background-color:rgba(74,222,128,.14) !important;}
.bg-emerald-50{background-color:rgba(52,211,153,.14) !important;}
.bg-blue-50{background-color:rgba(122,184,255,.14) !important;}
.border-slate-200{border-color:var(--line) !important;}

@media (max-width:1024px){
  .desktop-nav{display:none;}
  .mobile-menu-btn{display:inline-flex;}
}
@media (min-width:1025px){
  .mobile-menu-btn{display:none;}
}
.mobile-drawer{
  position:fixed;inset:0 0 0 auto;width:88%;max-width:380px;
  background:linear-gradient(180deg,var(--navy-850),var(--navy-900));color:var(--txt);
  z-index:70;transform:translateX(100%);transition:transform .3s;
  box-shadow:-10px 0 40px rgba(0,0,0,.5);overflow-y:auto;padding:1.25rem;
}
.mobile-drawer::before{content:"";position:fixed;top:0;left:0;right:0;height:4px;background:var(--spectrum);z-index:71;}
.mobile-drawer.open{transform:translateX(0);}
.mobile-mask{position:fixed;inset:0;background:rgba(4,10,22,.65);z-index:65;display:none;}
.mobile-mask.open{display:block;}
.mobile-drawer .m-link{display:block;padding:.85rem .25rem;border-bottom:1px solid rgba(148,178,235,.12);font-weight:500;color:var(--txt-2);}
.mobile-drawer details summary{padding:.85rem .25rem;border-bottom:1px solid rgba(148,178,235,.12);font-weight:500;cursor:pointer;list-style:none;display:flex;justify-content:space-between;color:var(--txt-2);}
.mobile-drawer details summary::after{content:"+";color:var(--sky-light);}
.mobile-drawer details[open] summary::after{content:"–";}
.mobile-drawer details .sub{padding:.5rem 1rem;}
.mobile-drawer details .sub a{display:block;padding:.5rem 0;font-size:.92rem;color:var(--txt-2);}
