/* ===========================================================
   AdmireDworld Travel — design tokens
   Colors: Corporate Navy #2B3968 / Accent Blue #3D5FA8 /
           Gold #E3A23E / Cloud Gray #F2F3F6 /
           Ink #1D2433 / Cloud #FFFFFF
   Type: Inter (display + body/UI) — flat corporate style
=========================================================== */

:root{
  --navy:#2B1F3D;
  --navy-deep:#170F22;
  --teal:#7A6291;
  --teal-deep:#54406B;
  --amber:#D9A94E;
  --amber-deep:#B9862A;
  --coral:#D4785A;
  --coral-deep:#B35E42;
  --sand:#EDE7F1;
  --sand-soft:#FFFFFF;
  --ink:#241A33;
  --ink-soft:#6B5F79;
  --cloud:#FFFFFF;
  --line:#E5E0EA;

  --serif: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;

  --radius-s: 6px;
  --radius-m: 10px;
  --radius-l: 14px;
  --shadow-card: 0 1px 2px rgba(16,24,40,0.04), 0 4px 14px rgba(16,24,40,0.07);
  --shadow-modal: 0 24px 60px rgba(10,15,30,0.30);

  /* Destination Wedding page only — forest & gold luxury accent,
     additive tokens, doesn't change any colour used elsewhere. */
  --wed-green:#1F3D2B;
  --wed-green-deep:#132A1B;
  --wed-gold:#D9A94E;
  --wed-gold-deep:#B9862A;
}

*{ box-sizing:border-box; }
html{ scroll-behavior:smooth; }
body{
  margin:0;
  font-family:var(--sans);
  color:var(--ink);
  background:var(--sand-soft);
  line-height:1.55;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3,h4{
  font-family:var(--serif);
  font-weight:600;
  color:var(--navy);
  margin:0 0 0.4em;
  line-height:1.12;
}
p{ margin:0 0 1em; color:var(--ink-soft); max-width:64ch; }
a{ color:inherit; text-decoration:none; }
button{ font-family:var(--sans); cursor:pointer; border:none; background:none; }
input, select, textarea{ font-family:var(--sans); font-size:0.98rem; }
em{ font-style:italic; color:var(--amber-deep); }

/* ============ Header / Nav ============ */
.site-header{
  position:sticky; top:0; z-index:60;
  background:var(--cloud);
  border-bottom:1px solid var(--line);
  box-shadow:0 2px 16px rgba(15,20,30,0.06);
}
.header-inner{
  max-width:1240px; margin:0 auto; padding:12px 28px;
  display:flex; align-items:center; justify-content:space-between; gap:24px;
}
.logo{ display:flex; align-items:center; gap:10px; color:var(--navy); }
.logo-mark{
  font-family:var(--serif); font-weight:700; font-size:1.5rem;
  width:42px; height:42px; border-radius:50%;
  background:linear-gradient(145deg,var(--amber),var(--amber-deep));
  color:var(--navy-deep);
  display:flex; align-items:center; justify-content:center;
  flex-shrink:0;
}
.logo-dot{ color:var(--amber-deep); }
.logo-text{ font-family:var(--serif); font-size:1.02rem; font-weight:700; line-height:1.15; color:var(--navy); }
.logo-text em{ color:var(--amber-deep); font-style:italic; }
.logo-text small{ font-family:var(--sans); font-weight:400; font-size:0.62rem; letter-spacing:0.14em; color:var(--ink-soft); }

.main-nav{ display:flex; gap:4px; flex:1; justify-content:center; }
.nav-link{
  color:var(--ink-soft); font-size:0.92rem; font-weight:500;
  padding:9px 15px; border-radius:99px; transition:background 0.2s, color 0.2s;
  white-space:nowrap;
}
.nav-link:hover{ background:var(--sand-soft); color:var(--navy); }
.nav-link.active{ background:var(--sand-soft); color:var(--amber-deep); font-weight:700; box-shadow:inset 0 -2px 0 var(--amber); border-radius:99px; }

.header-actions{ display:flex; align-items:center; gap:12px; }
.site-search-box{
  display:flex; align-items:center; gap:8px;
  background:var(--sand-soft); border:1px solid var(--line);
  border-radius:99px; padding:8px 14px; width:230px;
  transition:width 0.2s, border-color 0.2s;
}
.site-search-box:focus-within{ width:280px; border-color:var(--amber); }
.site-search-ic{ color:var(--ink-soft); flex-shrink:0; }
.site-search-box input{
  border:none; background:none; outline:none; width:100%;
  font-size:0.88rem; color:var(--navy);
}
.site-search-box input::placeholder{ color:var(--ink-soft); }
@media (max-width: 980px){
  .site-search-box{ width:150px; }
  .site-search-box:focus-within{ width:180px; }
}
@media (max-width: 760px){
  .site-search-box{ width:40px; padding:8px; overflow:hidden; }
  .site-search-box:focus-within{ width:200px; }
  .site-search-box input{ opacity:0; transition:opacity 0.15s; }
  .site-search-box:focus-within input{ opacity:1; }
}
.btn-account{
  display:flex; align-items:center; gap:7px;
  color:var(--navy-deep); font-size:0.9rem; font-weight:700;
  padding:9px 16px; border-radius:99px; border:none;
  background:var(--amber);
  transition:background 0.2s;
}
.btn-account:hover{ background:var(--amber-deep); }
.nav-burger{ display:none; flex-direction:column; gap:5px; width:26px; }
.nav-burger span{ height:2px; background:var(--navy); border-radius:2px; }

/* ============ Holiday nav dropdown (India + International Packages) ============ */
.nav-dropdown{ position:relative; }
.nav-dropdown-toggle{
  display:flex; align-items:center; gap:5px; background:none; border:none; cursor:pointer;
  font-family:inherit; color:var(--ink-soft); font-size:0.92rem; font-weight:500;
  padding:9px 15px; border-radius:99px; transition:background 0.2s, color 0.2s; white-space:nowrap;
}
.nav-dropdown-toggle:hover{ background:var(--sand-soft); color:var(--navy); }
.nav-dropdown-toggle.active{ background:var(--sand-soft); color:var(--amber-deep); font-weight:700; box-shadow:inset 0 -2px 0 var(--amber); border-radius:99px; }
.nav-caret{ font-size:0.65em; display:inline-block; transition:transform 0.2s; }
.nav-dropdown.open .nav-caret{ transform:rotate(180deg); }
.nav-dropdown-menu{
  display:none; position:absolute; top:100%; left:0; margin-top:6px; background:var(--cloud);
  border:1px solid var(--line); border-radius:14px; box-shadow:0 10px 30px rgba(22,32,44,0.14);
  padding:6px; min-width:210px; z-index:60; flex-direction:column;
}
.nav-dropdown.open .nav-dropdown-menu{ display:flex; }
.nav-dropdown-link{
  background:none; border:none; text-align:left; font-family:inherit; cursor:pointer;
  padding:9px 14px; border-radius:10px; font-size:0.92rem; color:var(--ink-soft); white-space:nowrap;
}
.nav-dropdown-link:hover{ background:var(--sand-soft); color:var(--navy); }
.nav-dropdown-link.active{ color:var(--coral); font-weight:700; }

/* ============ Quick-nav icon row (home) ============ */
.quick-nav{
  max-width:1240px; margin:0 auto; padding:0 28px 24px; position:relative; z-index:2;
  display:grid; grid-template-columns:repeat(auto-fit, minmax(120px,1fr)); gap:16px;
}
.quick-nav-item{
  background:var(--cloud); border-radius:var(--radius-l); box-shadow:var(--shadow-card);
  padding:20px 12px 16px; display:flex; flex-direction:column; align-items:center; gap:10px;
  text-align:center; transition:transform 0.18s ease, box-shadow 0.18s ease; border:1px solid var(--line);
}
.quick-nav-item:hover{ transform:translateY(-4px); box-shadow:0 18px 34px -14px rgba(15,20,30,0.28); }
.quick-nav-icon{
  width:52px; height:52px; border-radius:50%; display:flex; align-items:center; justify-content:center;
  background:linear-gradient(145deg,var(--sand),var(--sand-soft)); color:var(--navy);
}
.quick-nav-icon svg{ width:24px; height:24px; }
.quick-nav-item span{ font-size:0.86rem; font-weight:700; color:var(--navy); }

/* ============ Buttons ============ */
.btn-primary{
  background:var(--coral); color:var(--cloud);
  font-weight:700; font-size:0.96rem;
  padding:13px 26px; border-radius:99px;
  transition:transform 0.15s ease, background 0.2s;
}
.btn-primary:hover{ background:var(--coral-deep); transform:translateY(-1px); }
.btn-block{ width:100%; }
.btn-text{
  display:block; width:100%; text-align:center; margin-top:10px;
  color:var(--teal); font-weight:600; font-size:0.88rem;
}
.btn-text:hover{ text-decoration:underline; }

/* ============ Tab panels ============ */
.tab-panel{ display:none; }
.tab-panel.active{ display:block; animation:fadeIn 0.35s ease; }
@keyframes fadeIn{ from{opacity:0; transform:translateY(6px);} to{opacity:1; transform:translateY(0);} }

/* ============ Hero (home) ============ */
.hero{ position:relative; overflow:hidden; color:var(--navy); background:var(--cloud); }
.hero-art{ display:none; } /* Illustration hidden — hero is now plain solid white per request */
.hero-art{ position:absolute; inset:0; z-index:0; }
.hero-art svg{ width:100%; height:100%; display:block; }
.hero-content{
  position:relative; z-index:1;
  max-width:1240px; margin:0 auto; padding:52px 28px 30px;
}
.hero-content--split{
  display:flex; align-items:flex-start; justify-content:space-between; gap:40px; flex-wrap:wrap;
}
.hero-text{ flex:1 1 420px; max-width:640px; padding-top:0; }
.hero-kicker{
  font-size:0.86rem; font-weight:600; color:var(--amber);
  letter-spacing:0.02em; margin-bottom:14px;
}
.hero-title{
  font-size:clamp(2.4rem, 5vw, 4rem); color:var(--navy); max-width:16ch;
  margin-bottom:18px;
}
.hero-title em{ color:var(--amber-deep); }
.hero-sub{ color:var(--ink-soft); max-width:52ch; font-size:1.08rem; }
.hero-trust-line{
  display:flex; flex-direction:column; gap:2px; margin-top:14px; font-size:0.85rem; font-weight:500;
  color:var(--ink-soft); letter-spacing:0.01em;
}
.hero-trust-line strong{ font-size:1rem; font-weight:800; color:var(--navy); }
.hero-trust-sub{ font-size:0.78rem; font-weight:500; color:var(--ink-soft); }

.hero-search{
  margin-top:36px; background:var(--cloud); border-radius:var(--radius-l);
  padding:18px; display:flex; gap:14px; align-items:flex-end; flex-wrap:wrap;
  box-shadow:var(--shadow-card); max-width:820px;
}
.hs-field{ display:flex; flex-direction:column; gap:6px; flex:1; min-width:150px; }
.hs-field label{ font-size:0.74rem; font-weight:600; color:var(--ink-soft); text-transform:none; }
.hs-field input, .hs-field select{
  border:1px solid var(--line); border-radius:var(--radius-s);
  padding:11px 12px; color:var(--ink); background:var(--sand-soft);
}
.hs-submit{ flex-shrink:0; }

/* Home page "Packages" search card (reuses .cwiz-search-card styling from Customize Package) */
#heroSearch{ margin:0; max-width:340px; width:100%; flex:0 0 340px; text-align:left; padding:18px; }
#heroSearch .hs-tabs{ gap:14px; margin-bottom:12px; padding-bottom:8px; }
#heroSearch .hs-tab{ font-size:0.82rem; padding-bottom:8px; }
#heroSearch .cwiz-mode-toggle{ gap:14px; margin-bottom:12px; }
#heroSearch .cwiz-radio{ font-size:0.78rem; }
#heroSearch .cwiz-radio input{ width:14px; height:14px; }
#heroSearch .f-field{ gap:4px; }
#heroSearch .f-field label{ font-size:0.72rem; }
#heroSearch .f-field--wide{ margin-bottom:12px; }
#heroSearch .f-field input, #heroSearch .f-field select{ padding:7px 9px; font-size:0.82rem; }
#heroSearch .form-grid{ gap:10px; margin-bottom:10px; }
#heroSearch .cwiz-checkbox{ font-size:0.76rem; margin:2px 0 12px; }
#heroSearch .cwiz-checkbox input{ width:13px; height:13px; }
#heroSearch .btn-primary{ padding:10px 20px; font-size:0.84rem; }
#heroSearch .field-error{ font-size:0.72rem; }
.hs-tabs{ display:flex; gap:22px; border-bottom:1px solid var(--line); margin-bottom:20px; padding-bottom:12px; }
.hs-tab{ font-weight:700; color:var(--ink-soft); font-size:0.98rem; padding-bottom:12px; }
.hs-tab.active{ color:var(--navy); box-shadow:inset 0 -2px 0 var(--navy); }

/* ============ Stats strip ============ */
.strip{
  display:flex; justify-content:center; gap:56px; flex-wrap:wrap;
  padding:34px 28px; background:var(--navy-deep); color:var(--cloud);
}
.strip-item{ text-align:center; }
.strip-item strong{ display:block; font-family:var(--serif); font-size:1.9rem; color:var(--amber); }
.strip-item span{ font-size:0.82rem; color:rgba(255,255,255,0.65); }

/* ============ Sections ============ */
.section{ max-width:1240px; margin:0 auto; padding:70px 28px; }
.section.alt{ background:var(--sand-soft); max-width:none; }
.section.alt > *{ max-width:1240px; margin-left:auto; margin-right:auto; }
.section-head{ margin-bottom:36px; max-width:640px; }
.section-head h2{ font-size:2rem; }

/* ============ Cards ============ */
.card-grid{ display:grid; grid-template-columns:repeat(auto-fill, minmax(300px,1fr)); gap:26px; }
.pkg-card{
  background:var(--cloud); border:1px solid var(--line); border-radius:var(--radius-m);
  overflow:hidden; display:flex; flex-direction:column; box-shadow:var(--shadow-card);
  transition:transform 0.22s ease, box-shadow 0.22s ease;
}
.pkg-card:hover{ transform:translateY(-5px); box-shadow:0 18px 34px -14px rgba(15,20,30,0.28); }
.pkg-media{
  height:200px; position:relative; overflow:hidden;
  background:linear-gradient(135deg,var(--navy),var(--teal-deep));
}
.pkg-media svg{ width:100%; height:100%; display:block; }
.pkg-media::after{
  content:""; position:absolute; inset:0; pointer-events:none;
  background:linear-gradient(180deg, rgba(13,20,35,0) 42%, rgba(13,20,35,0.88) 100%);
}
.card-photo{
  width:100%; height:100%; object-fit:cover; display:block;
  transition:transform 0.5s ease; background:linear-gradient(135deg,var(--navy),var(--teal-deep));
}
.pkg-card:hover .card-photo, .wedding-card:hover .card-photo{ transform:scale(1.07); }
.pkg-tag{
  position:absolute; top:12px; left:12px; background:var(--amber);
  color:var(--navy-deep); font-size:0.72rem; font-weight:800; padding:5px 11px; border-radius:6px;
  box-shadow:0 4px 10px rgba(15,20,30,0.18); z-index:1;
}
.pkg-media-overlay{
  position:absolute; left:0; right:0; bottom:0; z-index:1; padding:12px 16px 12px;
  display:flex; flex-direction:column; gap:2px;
}
.pkg-media-overlay h3{ color:var(--cloud); font-size:1.08rem; margin:0; line-height:1.2; }
.pkg-media-price{ color:var(--amber); font-weight:800; font-size:0.9rem; }
.pkg-media-price span{ color:rgba(255,255,255,0.75); font-weight:500; font-size:0.78rem; }
.pkg-loc-pill{
  display:inline-flex; align-self:flex-start; font-size:0.72rem; font-weight:700; color:var(--teal-deep);
  background:var(--sand); padding:4px 10px; border-radius:99px; margin-bottom:2px;
}
.pkg-body{ padding:14px 20px 22px; display:flex; flex-direction:column; gap:8px; flex:1; }
.pkg-desc{ font-size:0.9rem; margin-bottom:4px; }
.pkg-meta{ display:flex; justify-content:space-between; align-items:center; margin-top:auto; padding-top:10px; border-top:1px dashed var(--line); }
.pkg-price{ font-family:var(--serif); font-size:1.2rem; color:var(--teal-deep); font-weight:700; }
.pkg-price span{ font-family:var(--sans); font-size:0.72rem; color:var(--ink-soft); font-weight:400; display:block; }
.pkg-book{
  background:var(--navy); color:var(--cloud); font-weight:700; font-size:0.86rem;
  padding:9px 17px; border-radius:99px; transition:background 0.2s;
}
.pkg-book:hover{ background:var(--navy-deep); }

/* ---------- "View Full Details" — opens the day-wise / hotel / inclusions modal ---------- */
.pkg-view-details{
  display:flex; align-items:center; justify-content:center; gap:7px; width:100%;
  background:var(--cloud); border:1.5px solid var(--teal); color:var(--teal-deep);
  font-family:inherit; font-size:0.86rem; font-weight:700; cursor:pointer; text-decoration:none;
  padding:10px 14px; border-radius:99px; margin-top:2px; transition:background 0.2s, color 0.2s, transform 0.15s;
  box-sizing:border-box;
}
.pkg-view-details svg{ flex-shrink:0; }
.pkg-view-details:hover{ background:var(--teal); color:var(--cloud); transform:translateY(-1px); }

/* ============ WhatsApp CTA (shown under every package/venue) ============ */
.pkg-whatsapp{
  display:inline-flex; align-items:center; justify-content:center; gap:7px;
  background:#25D366; color:#fff; font-weight:600; font-size:0.84rem;
  padding:10px 16px; border-radius:99px; text-decoration:none; transition:background 0.2s, transform 0.15s;
}
.pkg-whatsapp:hover{ background:#1DA851; color:#fff; transform:translateY(-1px); }
.pkg-whatsapp svg{ width:15px; height:15px; fill:#fff; flex-shrink:0; }
.pkg-whatsapp--block{ width:100%; margin-top:4px; }

/* ============ Filter chips ============ */
.filter-row{ display:flex; gap:10px; flex-wrap:wrap; margin-bottom:30px; }
.chip{
  border:1px solid var(--line); border-radius:99px; padding:8px 18px;
  font-size:0.86rem; font-weight:600; color:var(--ink-soft); transition:all 0.2s;
}
.chip:hover{ border-color:var(--coral); color:var(--coral); }
.chip.active{ background:var(--coral); color:var(--cloud); border-color:var(--coral); }

/* ============ Panel hero (sub-pages) ============ */
.panel-hero{
  color:var(--cloud); padding:78px 28px 60px; position:relative; overflow:hidden;
}
.panel-hero h1{ color:var(--cloud); font-size:clamp(2rem,4vw,3rem); max-width:18ch; }
.panel-sub{ color:rgba(255,255,255,0.85); max-width:56ch; font-size:1.05rem; }
.panel-hero > *{ position:relative; z-index:1; max-width:1240px; margin:0 auto; }
.panel-hero--india{ background:linear-gradient(120deg,#2B3968,#3D5FA8); }
.panel-hero--intl{ background:linear-gradient(120deg,#2B3968,#8A4B2E,var(--amber)); }
.panel-hero--fixed{ background:linear-gradient(120deg,#0A2E33,#3D5FA8); }
.panel-hero--custom{ background:linear-gradient(120deg,#2B3968,#3D5FA8); }

/* ============ How it works ============ */
.how-grid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:24px; }
.how-card{ background:var(--cloud); border:1px solid var(--line); border-radius:var(--radius-m); padding:26px; }
.how-mark{
  display:inline-block; font-family:var(--serif); font-weight:600; font-size:0.8rem;
  color:var(--amber-deep); background:var(--sand); padding:4px 12px; border-radius:99px; margin-bottom:14px;
}
.how-card h3{ font-size:1.08rem; }
.how-card p{ font-size:0.92rem; }

/* ============ Testimonials ============ */
.testimonial-row{ display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); gap:24px; }
blockquote{ margin:0; padding:24px; background:var(--sand-soft); border-left:3px solid var(--amber); border-radius:var(--radius-s); }
blockquote p{ font-style:italic; color:var(--ink); margin-bottom:10px; }
blockquote cite{ font-size:0.82rem; color:var(--teal); font-weight:600; font-style:normal; }

/* ============ Fixed departure list ============ */
.fixed-list{ display:flex; flex-direction:column; gap:16px; }
.fixed-row{
  display:flex; align-items:center; gap:20px; flex-wrap:wrap;
  background:var(--cloud); border:1px solid var(--line); border-radius:var(--radius-m);
  padding:20px 24px; box-shadow:var(--shadow-card);
}
.fixed-date{
  background:var(--navy); color:var(--cloud); border-radius:var(--radius-s);
  padding:10px 14px; text-align:center; min-width:70px; font-family:var(--serif);
}
.fixed-date .d{ font-size:1.3rem; font-weight:700; display:block; }
.fixed-date .m{ font-size:0.7rem; text-transform:uppercase; letter-spacing:0.04em; color:var(--amber); }
.fixed-info{ flex:1; min-width:220px; }
.fixed-info h3{ font-size:1.08rem; margin-bottom:4px; }
.fixed-info p{ font-size:0.86rem; margin-bottom:0; }
.fixed-meta{ display:flex; gap:18px; flex-wrap:wrap; align-items:center; }
.fixed-seats{ font-size:0.8rem; font-weight:600; color:var(--amber-deep); }
.fixed-price{ font-family:var(--serif); font-size:1.15rem; color:var(--navy); font-weight:600; }
.fixed-thumb{
  width:100px; height:80px; border-radius:var(--radius-s); flex-shrink:0;
  overflow:hidden; background:linear-gradient(135deg,var(--navy),var(--teal-deep));
  cursor:pointer; position:relative;
}
.fixed-thumb img{ width:100%; height:100%; object-fit:cover; display:block; }
@media (max-width:560px){ .fixed-thumb{ width:100%; height:150px; } }

/* ============ Custom form ============ */
.custom-form{
  max-width:760px; background:var(--sand-soft); border:1px solid var(--line);
  border-radius:var(--radius-l); padding:36px;
}
.form-grid{ display:grid; grid-template-columns:1fr 1fr; gap:18px; margin-bottom:18px; }
.f-field{ display:flex; flex-direction:column; gap:6px; }
.f-field--wide{ grid-column:1/-1; margin-bottom:22px; }
.f-field label{ font-size:0.82rem; font-weight:600; color:var(--ink); }
.f-field input, .f-field select, .f-field textarea{
  border:1px solid var(--line); border-radius:var(--radius-s);
  padding:11px 13px; background:var(--cloud); color:var(--ink); resize:vertical;
}
.f-field input:focus, .f-field select:focus, .f-field textarea:focus,
.hs-field input:focus, .hs-field select:focus{
  outline:2px solid var(--teal); outline-offset:1px;
}

/* ============ Footer ============ */
.site-footer{ background:var(--sand-soft); color:var(--ink-soft); padding:56px 28px 0; border-top:1px solid var(--line); }
.footer-inner{
  max-width:1240px; margin:0 auto; display:flex; gap:60px; flex-wrap:wrap;
  align-items:flex-start;
  padding-bottom:40px; border-bottom:1px solid var(--line);
}
.footer-brand{ flex:1; min-width:220px; }
.footer-brand .logo-mark{ margin-bottom:10px; }
.footer-brand .logo-text{ color:var(--navy); font-size:1.1rem; }
.footer-brand p{ color:var(--ink-soft); font-size:0.86rem; margin-top:10px; }
.footer-cols{ display:flex; gap:56px; flex-wrap:wrap; flex:2; justify-content:flex-end; }
.footer-cols h4{ color:var(--navy); font-family:var(--sans); font-size:0.82rem; letter-spacing:0.03em; margin-bottom:14px; }
.footer-cols a{ display:block; color:var(--ink-soft); font-size:0.88rem; margin-bottom:10px; }
.footer-cols a:hover{ color:var(--amber-deep); }
.footer-bottom{ max-width:1240px; margin:0 auto; padding:20px 0; font-size:0.78rem; color:var(--ink-soft); text-align:center; }

/* ============ Modals ============ */
.modal-overlay{
  position:fixed; inset:0; background:rgba(15,20,30,0.55);
  display:none; align-items:center; justify-content:center; z-index:200; padding:20px;
}
.modal-overlay.open{ display:flex; }

/* FIX: "Reserve seat" (and login) opened correctly from INSIDE the Fixed
   Departure / Package detail full-page overlays, but landed invisibly
   BEHIND them — all `.modal-overlay`s share the same z-index (200), so
   paint order fell back to DOM order, and #bookingOverlay/#loginOverlay
   happen to sit earlier in index.html than #fixedDetailOverlay/
   #pkgDetailOverlay. Giving them a higher z-index makes them always
   appear on top, regardless of what other overlay is already open,
   without needing to reorder any markup. */
#loginOverlay, #bookingOverlay{ z-index:260; }
.modal{
  background:var(--cloud); border-radius:var(--radius-l); padding:36px;
  max-width:440px; width:100%; box-shadow:var(--shadow-modal); position:relative;
  max-height:88vh; overflow-y:auto;
}
.booking-modal{ max-width:560px; }

/* ============ Package Detail — a real full page, not a popup ============
   #pkgDetailOverlay is still a `.modal-overlay` (position:fixed, inset:0 —
   handy for taking over the viewport and for the existing openOverlay()/
   closeOverlay() JS), but everything inside it is restyled here to read as
   its own page: no dark backdrop, no small centered card, a proper top bar
   with a "← Back to packages" link and the site logo instead of a lone "×"
   close button, and full-width scrolling content instead of an internal
   scroll box. */
#pkgDetailOverlay{
  /* Soft, slightly tinted backdrop (was flat white) so the white content
     card below actually reads as a card instead of blending into the page. */
  background:linear-gradient(180deg, #EEF1F8 0%, #F5F6FA 320px, #F5F6FA 100%);
  padding:0; align-items:flex-start; overflow-y:auto;
}
#pkgDetailOverlay .pkg-detail-page{
  max-width:none; width:100%; min-height:100vh; margin:0; padding:0;
  border-radius:0; box-shadow:none; background:transparent; overflow:visible;
}
.pkg-detail-topbar{
  position:sticky; top:0; z-index:5; background:var(--cloud); border-bottom:1px solid var(--line);
  display:flex; align-items:center; justify-content:space-between; gap:16px;
  padding:14px 24px;
}
.pkg-detail-back{
  display:inline-flex; align-items:center; gap:6px; color:var(--navy); font-weight:700;
  font-size:0.9rem; text-decoration:none; padding:6px 10px; margin:-6px -10px; border-radius:8px;
}
.pkg-detail-back:hover{ background:var(--sand-soft); color:var(--teal-deep); }
.pkg-detail-topbar .logo.pkg-detail-brand{ color:var(--navy); }
.pkg-detail-topbar .logo-text{ color:var(--navy); font-size:0.92rem; }
.pkg-detail-body{ max-width:820px; margin:0 auto; padding:28px 24px 60px; }
@media (max-width:600px){
  .pkg-detail-topbar{ padding:12px 16px; }
  .pkg-detail-topbar .logo-text small{ display:none; }
  .pkg-detail-body{ padding:20px 16px 48px; }
}

/* ============ Blog Detail — reuses the Package Detail Page's full-page
   topbar/body layout (see #pkgDetailOverlay above) under its own overlay
   id, plus a little typography for the article body itself. ============ */
#blogDetailOverlay{
  background:linear-gradient(180deg, #EEF1F8 0%, #F5F6FA 320px, #F5F6FA 100%);
  padding:0; align-items:flex-start; overflow-y:auto;
}
#blogDetailOverlay .pkg-detail-page{
  max-width:none; width:100%; min-height:100vh; margin:0; padding:0;
  border-radius:0; box-shadow:none; background:transparent; overflow:visible;
}
.blog-detail-hero-img{
  width:100%; max-height:360px; object-fit:cover; border-radius:var(--radius-l);
  margin-bottom:14px; box-shadow:var(--shadow-card); display:block;
}
.blog-detail-date{ font-size:0.78rem; font-weight:600; color:var(--teal); text-transform:uppercase; letter-spacing:0.06em; }
.blog-detail-article{ color:var(--ink); line-height:1.75; white-space:pre-line; }
#blogDetailContent .aw-blog-cta{ margin-top:18px; }
@media (max-width:600px){ .blog-detail-hero-img{ max-height:220px; } }

.modal-close{
  position:absolute; top:16px; right:16px; font-size:1.4rem; color:var(--ink-soft);
  width:32px; height:32px; border-radius:50%; line-height:1;
}
.modal-close:hover{ background:var(--sand-soft); }
.modal h2{ font-size:1.5rem; }
.modal-sub{ font-size:0.92rem; margin-bottom:22px; }
.login-step{ display:none; }
.login-step.active{ display:block; }
.field-error{ color:#C0392B; font-size:0.82rem; min-height:1.2em; margin:-6px 0 8px; }

.otp-inputs{ display:flex; gap:10px; margin-bottom:6px; }
.otp-box{
  width:100%; aspect-ratio:1/1; text-align:center; font-size:1.3rem; font-weight:700;
  border:1px solid var(--line); border-radius:var(--radius-s); color:var(--navy);
}
.otp-box:focus{ outline:2px solid var(--teal); }

.success-icon{
  width:56px; height:56px; border-radius:50%; background:var(--teal);
  color:var(--cloud); font-size:1.6rem; display:flex; align-items:center; justify-content:center;
  margin-bottom:16px;
}

/* Booking modal content */
.bk-head{ display:flex; gap:16px; align-items:center; margin-bottom:20px; }
.bk-media{ width:88px; height:88px; border-radius:var(--radius-s); overflow:hidden; flex-shrink:0; }
.bk-media svg{ width:100%; height:100%; }
.bk-head h2{ font-size:1.24rem; margin-bottom:2px; }
.bk-head p{ margin-bottom:0; font-size:0.86rem; color:var(--teal); font-weight:600; }
.bk-summary{ background:var(--sand-soft); border-radius:var(--radius-s); padding:16px; margin-bottom:20px; font-size:0.9rem; }
.bk-summary strong{ color:var(--navy); }
.bk-form-grid{ display:grid; grid-template-columns:1fr 1fr; gap:14px; margin-bottom:20px; }
.bk-total{ display:flex; justify-content:space-between; align-items:center; padding:14px 0; border-top:1px dashed var(--line); margin-bottom:16px; }
.bk-total strong{ font-family:var(--serif); font-size:1.3rem; color:var(--navy); }

/* ============ Toast ============ */
.toast{
  position:fixed; bottom:26px; left:50%; transform:translateX(-50%) translateY(120%);
  background:var(--navy-deep); color:var(--cloud); padding:14px 22px; border-radius:99px;
  font-size:0.88rem; box-shadow:var(--shadow-modal); z-index:300; transition:transform 0.3s ease;
  max-width:90vw; text-align:center;
}
.toast.show{ transform:translateX(-50%) translateY(0); }

/* ============ Responsive ============ */
@media (max-width: 900px){
  .main-nav{ display:none; }
  .nav-burger{ display:flex; }
  .main-nav.open{
    display:flex; position:absolute; top:100%; left:0; right:0; flex-direction:column;
    background:var(--cloud); padding:14px 20px; gap:4px;
    box-shadow:0 12px 24px rgba(15,20,30,0.12); border-bottom:1px solid var(--line);
  }
  .form-grid, .bk-form-grid{ grid-template-columns:1fr; }
  .hero-search{ flex-direction:column; align-items:stretch; }
  #heroSearch{ flex:1 1 100%; max-width:100%; }
  .footer-cols{ justify-content:flex-start; gap:40px; }
  .nav-dropdown-toggle{ width:100%; justify-content:space-between; }
  .nav-dropdown-menu{
    display:none; position:static; margin-top:0; border:none; box-shadow:none;
    padding:0 0 0 14px; min-width:0; background:none;
  }
  .nav-dropdown.open .nav-dropdown-menu{ display:flex; }
}
@media (prefers-reduced-motion: reduce){
  *{ animation:none !important; transition:none !important; }
}

/* ===========================================================
   BLOG (AI daily posts) — new, additive section, doesn't
   change any rule above.
=========================================================== */
.blog-featured{
  display:grid; grid-template-columns:1.1fr 1fr; gap:32px; align-items:stretch;
  background:var(--cloud); border:1px solid var(--line); border-radius:var(--radius-l);
  overflow:hidden; box-shadow:var(--shadow-card);
}
.blog-featured .bf-media{ min-height:280px; background-size:cover; background-position:center; }
.blog-featured .bf-body{ padding:30px 32px; display:flex; flex-direction:column; }
.blog-featured .bf-date{ font-size:0.78rem; font-weight:600; color:var(--teal); text-transform:uppercase; letter-spacing:0.06em; }
.blog-featured h3{ margin:8px 0 12px; font-size:1.6rem; }
.blog-featured .bf-content{ color:var(--ink-soft); white-space:pre-line; max-height:260px; overflow:auto; }
.blog-featured .bf-read-link, .blog-card .bc-read-link{ display:inline-block; margin-top:10px; font-weight:700; font-size:0.85rem; color:var(--teal); text-decoration:none; }
.blog-featured .bf-read-link:hover, .blog-card .bc-read-link:hover{ text-decoration:underline; }
@media (max-width:760px){ .blog-featured{ grid-template-columns:1fr; } .blog-featured .bf-media{ min-height:200px; } }

.blog-card{
  background:var(--cloud); border:1px solid var(--line); border-radius:var(--radius-m);
  overflow:hidden; display:flex; flex-direction:column; box-shadow:var(--shadow-card);
}
.blog-card .bc-media{ height:170px; background-size:cover; background-position:center; }
.blog-card .bc-body{ padding:16px 18px; }
.blog-card .bc-date{ font-size:0.72rem; font-weight:600; color:var(--teal); text-transform:uppercase; letter-spacing:0.06em; }
.blog-card h4{ font-family:var(--serif); margin:6px 0 8px; font-size:1.08rem; color:var(--navy); }
.blog-card p{ font-size:0.9rem; margin:0; }

.blog-admin{
  margin-top:44px; padding:22px 24px; border:1px dashed var(--line);
  border-radius:var(--radius-m); background:var(--sand-soft); max-width:420px;
}
.blog-admin h4{ margin:0 0 4px; color:var(--navy); }

/* ===========================================================
   INDIA PACKAGES — backend-driven detail view + admin box
   (additive only; no rule above is changed)
=========================================================== */
/* Hero band — dark gradient card that carries the package photo, name,
   chips and price. Sits above the white content card below it so the page
   has some visual depth instead of everything on one flat background. */
.pkg-detail-hero{
  background:linear-gradient(135deg, var(--navy) 0%, var(--teal-deep) 65%, var(--teal) 100%);
  border-radius:var(--radius-l); padding:26px 28px 24px; margin-bottom:18px;
  box-shadow:0 10px 28px rgba(27,35,64,0.22); position:relative; overflow:hidden;
}
.pkg-detail-hero::after{
  /* faint decorative glow, purely visual, sits behind the content */
  content:""; position:absolute; top:-60px; right:-60px; width:220px; height:220px;
  background:radial-gradient(circle, rgba(227,162,62,0.28), transparent 70%); pointer-events:none;
}
.pkg-detail-hero .pkg-detail-head,
.pkg-detail-hero .pkg-detail-price{ position:relative; z-index:1; }
/* NOTE (SEO fix): the package name heading inside .pkg-detail-hero is now
   rendered as a real <h1> (see pkgDetailHTML() in script.js) instead of
   <h2>, so every package page has exactly one relevant H1 for search
   engines. font-size is pinned to the browser's previous default h2 size
   (1.5em) so nothing here looks any different than before. */
.pkg-detail-hero h1{ color:var(--cloud); font-size:1.5em; }
.pkg-detail-hero .pkg-loc{ color:rgba(255,255,255,0.8); }
.pkg-detail-head{ display:flex; gap:18px; align-items:flex-start; margin-bottom:14px; }
.pkg-detail-head img{
  width:140px; height:100px; object-fit:cover; border-radius:var(--radius-s); flex-shrink:0;
  box-shadow:0 4px 14px rgba(0,0,0,0.25);
}
.pkg-detail-chips{ display:flex; flex-wrap:wrap; gap:8px; margin-top:8px; }
.pkg-detail-hero .pkg-detail-chip{
  background:rgba(255,255,255,0.14); color:var(--cloud); border-color:rgba(255,255,255,0.3);
  backdrop-filter:blur(2px);
}
.pkg-detail-chip{
  display:inline-block; background:var(--sand-soft); color:var(--navy); font-size:0.8rem;
  font-weight:600; padding:5px 12px; border-radius:99px; border:1px solid var(--line);
}
.pkg-detail-price{ display:flex; align-items:baseline; gap:10px; margin:0; }
.pkg-detail-hero .pkg-detail-price .old{ color:rgba(255,255,255,0.62); }
.pkg-detail-hero .pkg-detail-price .new{ color:#FCE2B3; }
.pkg-detail-price-unit{ color:rgba(255,255,255,0.78); font-size:0.85rem; }
.pkg-detail-price .old{ text-decoration:line-through; color:var(--ink-soft); font-size:0.95rem; }
.pkg-detail-price .new{ font-family:var(--serif); font-size:1.6rem; color:var(--amber-deep); font-weight:700; }
/* White content card — itinerary, inclusions/exclusions, CTA buttons */
.pkg-detail-card{
  background:var(--cloud); border:1px solid var(--line); border-radius:var(--radius-l);
  box-shadow:var(--shadow-card); padding:28px;
}
.pkg-detail-card > p:first-child{ margin-top:0; }
.pkg-day-row{ display:flex; gap:14px; padding:10px 0; border-bottom:1px dashed var(--line); }
.pkg-day-row .pd-num{ font-family:var(--serif); font-weight:700; color:var(--teal); flex-shrink:0; width:56px; }
.pkg-inc-exc{ display:grid; grid-template-columns:1fr 1fr; gap:24px; margin-top:18px; }
.pkg-inc-exc ul{ margin:8px 0 0; padding-left:18px; color:var(--ink-soft); font-size:0.92rem; }
.pkg-inc-exc h4{ margin:0; color:var(--navy); font-size:0.95rem; }
@media (max-width:600px){ .pkg-inc-exc{ grid-template-columns:1fr; } }

/* ---------- Related (same-destination) packages — internal linking ----------
   Shown only on a package's own detail page, and only when the site has
   other LIVE packages for the same destination — see relatedPackagesHTML()
   in script.js and buildRelatedPackagesHTML() in middleware.js. Every card
   here links to a real /package/india/... URL, never a guessed one. */
.pkg-related-section{
  background:var(--cloud); border:1px solid var(--line); border-radius:var(--radius-l);
  box-shadow:var(--shadow-card); padding:28px; margin-top:20px;
}
.pkg-related-section h2{ margin:0 0 14px; font-size:1.15rem; color:var(--navy); }
.pkg-related-grid{ display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.pkg-related-link{
  display:block; padding:14px 16px; border:1px solid var(--line); border-radius:var(--radius-s);
  text-decoration:none; transition:border-color .15s ease, transform .15s ease;
}
.pkg-related-link:hover{ border-color:var(--teal); transform:translateY(-2px); }
.pkg-related-name{ display:block; font-weight:700; color:var(--navy); font-size:0.95rem; }
.pkg-related-loc{ display:block; color:var(--ink-soft); font-size:0.82rem; margin-top:4px; }
@media (max-width:600px){ .pkg-related-grid{ grid-template-columns:1fr; } }

/* ---------- Package-page FAQ (AEO) ----------
   Always-visible <h2>/<h3>/<p> section (never an accordion/collapsed
   element), so the full question + answer text is plain, crawlable HTML
   for any bot — including AI crawlers that don't execute JavaScript.
   See pkgFaqHTML() in script.js and buildPkgFaqHTML() in middleware.js. */
.pkg-faq-section{
  background:var(--cloud); border:1px solid var(--line); border-radius:var(--radius-l);
  box-shadow:var(--shadow-card); padding:28px; margin-top:20px;
}
.pkg-faq-section h2{ margin:0 0 6px; font-size:1.3rem; }
.pkg-faq-item{ padding:14px 0; border-bottom:1px dashed var(--line); }
.pkg-faq-item:last-child{ border-bottom:none; padding-bottom:0; }
.pkg-faq-item h3{ margin:0 0 6px; font-size:0.98rem; color:var(--navy); }
.pkg-faq-item p{ margin:0; color:var(--ink-soft); font-size:0.92rem; line-height:1.6; max-width:none; }

/* ===========================================================
   FIXED DEPARTURE — full detail page (gallery / price box /
   book-trip form / highlights / similar tours / itinerary-
   flights-hotels tabs / inclusions / exclusions / T&C).
   Additive only — no rule above is changed.
=========================================================== */
.fd-modal{ max-width:820px; }
.fd-detail h2{ font-size:1.5rem; margin-bottom:6px; }
.fd-detail-desc{ font-size:0.94rem; margin-bottom:12px; }
.fd-badges{ display:flex; gap:10px; flex-wrap:wrap; margin-bottom:18px; }
.fd-chip{
  display:inline-block; padding:5px 12px; border-radius:99px; font-size:0.78rem;
  font-weight:600; background:var(--sand-soft); color:var(--navy); border:1px solid var(--line);
}
.fd-chip--accent{ background:var(--coral); color:var(--cloud); border-color:var(--coral); }

.fd-gallery{ display:grid; grid-template-columns:1.6fr 1fr; gap:8px; margin-bottom:22px; }
.fd-gallery-main img{ width:100%; height:100%; min-height:220px; object-fit:cover; border-radius:var(--radius-m); display:block; }
.fd-gallery-thumbs{ display:grid; grid-template-columns:1fr 1fr; gap:8px; }
.fd-gallery-thumbs img{ width:100%; height:100%; object-fit:cover; border-radius:var(--radius-s); display:block; }
.fd-gallery-viewall{ position:relative; border-radius:var(--radius-s); overflow:hidden; }
.fd-viewall-label{
  position:absolute; inset:0; display:flex; align-items:center; justify-content:center;
  background:rgba(15,20,30,0.5); color:var(--cloud); font-weight:600; font-size:0.85rem;
}
@media (max-width:640px){ .fd-gallery{ grid-template-columns:1fr; } .fd-gallery-thumbs{ display:none; } }

.fd-detail-grid{ display:grid; grid-template-columns:1.5fr 1fr; gap:26px; margin-bottom:26px; align-items:start; }
@media (max-width:700px){ .fd-detail-grid{ grid-template-columns:1fr; } }

.fd-date-picker h4, .fd-highlights h4{ font-size:1rem; margin-bottom:10px; }
.fd-date-options{ display:flex; flex-direction:column; gap:10px; margin-bottom:22px; }
.fd-date-option{
  display:flex; align-items:center; gap:12px; padding:12px 14px; border:1px solid var(--line);
  border-radius:var(--radius-s); cursor:pointer; transition:border-color 0.15s, background 0.15s;
}
.fd-date-option:hover{ border-color:var(--teal); }
.fd-date-option.active{ border-color:var(--teal); background:var(--sand-soft); }
.fd-date-radio{
  width:16px; height:16px; border-radius:50%; border:2px solid var(--line); flex-shrink:0; position:relative;
}
.fd-date-option.active .fd-date-radio{ border-color:var(--teal); }
.fd-date-option.active .fd-date-radio::after{
  content:""; position:absolute; inset:2px; border-radius:50%; background:var(--teal);
}
.fd-date-option-date{ text-align:center; width:52px; flex-shrink:0; }
.fd-date-option-date .d{ display:block; font-weight:700; font-size:1.1rem; color:var(--navy); }
.fd-date-option-date .m{ display:block; font-size:0.7rem; text-transform:uppercase; color:var(--amber-deep); letter-spacing:0.04em; }
.fd-date-option-info{ flex:1; font-size:0.86rem; }
.fd-date-option-seats{ color:var(--amber-deep); font-weight:600; font-size:0.8rem; }
.fd-date-option-price{ text-align:right; font-family:var(--serif); font-weight:700; color:var(--navy); font-size:1.05rem; }
.fd-date-option-price span{ display:block; font-family:var(--sans); font-weight:400; font-size:0.72rem; color:var(--ink-soft); }
.fd-date-option.sold-out, .fd-date-option[data-fd-seats="0"]{ opacity:0.55; }

/* ---------- Check Availability (live, backend-driven) ---------- */
.fd-check-avail-btn{
  display:inline-flex; align-items:center; gap:6px; background:none; border:1px dashed var(--teal);
  color:var(--teal-deep); font-weight:600; font-size:0.85rem; padding:8px 14px; border-radius:999px;
  cursor:pointer; margin-bottom:16px; transition:background 0.15s, border-style 0.15s;
}
.fd-check-avail-btn:hover{ background:var(--sand-soft); border-style:solid; }
.fd-availability-panel{
  border:1px solid var(--line); border-radius:var(--radius-m); padding:16px 18px; margin-bottom:22px;
  background:var(--sand-soft);
}
.fd-avail-title{ margin:0 0 12px; font-size:0.95rem; }
.fd-avail-loading, .fd-avail-empty{ color:var(--ink-soft); font-size:0.88rem; margin:0; }
.fd-avail-month{ margin-bottom:14px; }
.fd-avail-month:last-child{ margin-bottom:0; }
.fd-avail-month-label{
  font-weight:700; color:var(--navy); font-size:0.82rem; text-transform:uppercase;
  letter-spacing:0.04em; margin-bottom:8px;
}
.fd-avail-rows{ display:flex; flex-wrap:wrap; gap:8px; }
.fd-avail-row{
  display:flex; flex-direction:column; align-items:flex-start; gap:2px; background:var(--cloud);
  border:1px solid var(--line); border-radius:10px; padding:8px 12px; cursor:pointer; font-family:var(--sans);
  transition:border-color 0.15s, background 0.15s; min-width:132px; text-align:left;
}
.fd-avail-row:hover:not(:disabled){ border-color:var(--teal); }
.fd-avail-row.active{ border-color:var(--teal); background:var(--sand); }
.fd-avail-row:disabled{ opacity:0.5; cursor:not-allowed; }
.fd-avail-date{ font-weight:700; font-size:0.85rem; color:var(--ink); }
.fd-avail-seats{ font-size:0.76rem; color:var(--amber-deep); font-weight:600; }
.fd-avail-row.sold-out .fd-avail-seats, .fd-avail-row:disabled .fd-avail-seats{ color:var(--coral-deep); }

.bk-fixed-date{
  border:1px solid var(--line); border-radius:var(--radius-s); padding:10px 12px; font-size:0.92rem;
  background:var(--sand-soft); color:var(--ink);
}
.bk-fixed-seats{ color:var(--amber-deep); font-weight:600; font-size:0.82rem; }

.fd-highlights ul{ margin:0; padding-left:18px; color:var(--ink-soft); font-size:0.92rem; }
.fd-highlights li{ margin-bottom:6px; }

.fd-detail-side{ position:sticky; top:90px; }
.fd-price-box{
  border:1px solid var(--line); border-radius:var(--radius-m); padding:16px 18px; margin-bottom:14px;
  background:var(--sand-soft);
}
.fd-price{ font-family:var(--serif); font-size:1.5rem; font-weight:700; color:var(--navy); }
.fd-price-sub{ font-size:0.8rem; color:var(--ink-soft); }
.fd-book-box{ border:1px solid var(--line); border-radius:var(--radius-m); padding:18px; }
.fd-book-box h4{ margin-bottom:14px; font-size:1rem; }
.fd-book-field{ margin-bottom:14px; }
.fd-book-field label{ display:block; font-size:0.76rem; color:var(--ink-soft); text-transform:uppercase; letter-spacing:0.03em; margin-bottom:4px; }
.fd-book-value{ font-size:0.92rem; font-weight:600; color:var(--navy); }
.fd-book-box .btn-primary{ margin-bottom:10px; }

.fd-similar{ margin-bottom:28px; }
.fd-similar h4{ font-size:1.05rem; margin-bottom:12px; }
.fd-similar-scroll{ display:flex; gap:14px; overflow-x:auto; padding-bottom:6px; }
.fd-similar-card{
  flex:0 0 190px; border:1px solid var(--line); border-radius:var(--radius-s); overflow:hidden; cursor:pointer;
  transition:box-shadow 0.15s;
}
.fd-similar-card:hover{ box-shadow:var(--shadow-card); }
.fd-similar-card img{ width:100%; height:110px; object-fit:cover; display:block; }
.fd-similar-body{ padding:10px 12px; display:flex; flex-direction:column; gap:4px; }
.fd-similar-body strong{ font-size:0.9rem; color:var(--navy); }
.fd-similar-body span{ font-size:0.78rem; color:var(--ink-soft); }

.fd-tabs{ display:flex; background:var(--navy-deep); border-radius:var(--radius-s); overflow:hidden; margin-bottom:18px; }
.fd-tabs button{
  flex:1; padding:12px; color:rgba(255,255,255,0.65); font-weight:600; font-size:0.9rem;
  border-right:1px solid rgba(255,255,255,0.1);
}
.fd-tabs button:last-child{ border-right:none; }
.fd-tabs button.active{ color:var(--cloud); background:rgba(255,255,255,0.08); }

.fd-panel-head{ display:flex; align-items:center; justify-content:space-between; margin-bottom:10px; }
.fd-expand-all{ color:var(--coral); font-weight:600; font-size:0.85rem; }
.fd-day-row{ border-bottom:1px solid var(--line); }
.fd-day-head{
  width:100%; display:flex; align-items:center; gap:14px; padding:12px 0; text-align:left;
}
.fd-day-badge{
  flex-shrink:0; width:52px; height:44px; border-radius:8px; background:var(--coral); color:var(--cloud);
  font-size:0.72rem; font-weight:700; text-align:center; line-height:1.15; display:flex;
  flex-direction:column; align-items:center; justify-content:center;
}
.fd-day-title{ flex:1; font-weight:600; color:var(--navy); font-size:0.94rem; }
.fd-day-chevron{ color:var(--ink-soft); font-size:1.2rem; transition:transform 0.15s; }
.fd-day-head.open .fd-day-chevron{ transform:rotate(90deg); }
.fd-day-body{ padding:0 0 14px 66px; }
.fd-day-body p{ margin:0; font-size:0.9rem; }

.fd-flight-route{ font-weight:600; color:var(--navy); margin-bottom:2px; }
.fd-muted{ color:var(--ink-soft); }

.fd-hotel-card{ display:flex; gap:16px; border:1px solid var(--line); border-radius:var(--radius-s); padding:14px; }
.fd-hotel-card img{ width:140px; height:100px; object-fit:cover; border-radius:var(--radius-s); flex-shrink:0; }
.fd-hotel-stars{ color:var(--amber-deep); font-size:0.85rem; }
.fd-hotel-address{ font-size:0.86rem; margin:4px 0 8px; }
.fd-hotel-room{ font-size:0.86rem; color:var(--ink-soft); line-height:1.6; }

.fd-included, .fd-exclusions, .fd-terms{ margin-top:22px; }
.fd-included h4, .fd-exclusions h4, .fd-terms h4{ font-size:1rem; margin-bottom:10px; }
.fd-included ul{ list-style:none; margin:0; padding:0; font-size:0.9rem; color:var(--ink-soft); }
.fd-included li{ padding-left:24px; position:relative; margin-bottom:8px; }
.fd-included li::before{ content:"✓"; position:absolute; left:0; color:var(--teal); font-weight:700; }
.fd-exclusions ul, .fd-terms ul{ margin:0; padding-left:18px; font-size:0.9rem; color:var(--ink-soft); }
.fd-exclusions li, .fd-terms li{ margin-bottom:8px; }

.pkg-admin-row{
  display:flex; justify-content:space-between; align-items:center; gap:10px;
  padding:10px 0; border-bottom:1px solid var(--line); font-size:0.9rem;
}
.pkg-admin-row .pa-tag{ font-size:0.72rem; color:var(--teal); font-weight:600; text-transform:uppercase; }
.pkg-admin-row button{ font-size:0.8rem; font-weight:600; color:var(--amber-deep); }

/* ===========================================================
   DESTINATION WEDDING — new, additive section, doesn't
   change any rule above.
=========================================================== */
.panel-hero--wedding{ background:linear-gradient(120deg,#8A4B2E,var(--amber),#C98620); }

.wedding-card{
  background:var(--cloud); border:1px solid var(--line); border-radius:var(--radius-m);
  overflow:hidden; box-shadow:var(--shadow-card); transition:transform 0.22s ease, box-shadow 0.22s ease;
}
.wedding-card:hover{ transform:translateY(-5px); box-shadow:0 18px 34px -14px rgba(15,20,30,0.28); }
.wedding-card .wc-media{
  position:relative; height:200px; overflow:hidden;
  background:linear-gradient(135deg,#8A4B2E,var(--amber));
}
.wedding-card .wc-media::after{
  content:""; position:absolute; inset:0; pointer-events:none;
  background:linear-gradient(180deg, rgba(15,20,30,0) 55%, rgba(15,20,30,0.42) 100%);
}
.wedding-card .wc-media svg{ display:block; width:100%; height:auto; }
.wedding-card .wc-tag{
  position:absolute; top:12px; left:12px; background:rgba(15,20,30,0.55); color:var(--cloud);
  font-size:0.72rem; font-weight:600; padding:5px 12px; border-radius:99px;
}
.wedding-card .wc-body{ padding:20px 22px 24px; }
.wedding-card h3{ font-size:1.1rem; margin-bottom:2px; }
.wedding-card .wc-dest{ font-size:0.85rem; color:var(--teal); font-weight:600; margin-bottom:8px; }
.wedding-card .wc-guests{ font-size:0.82rem; color:var(--ink-soft); margin-bottom:10px; }
.wedding-card .wc-meta{ display:flex; align-items:center; justify-content:space-between; margin-top:14px; }
.wedding-card .wc-price{ font-family:var(--serif); font-size:1.02rem; color:var(--navy); font-weight:600; }
.wedding-card .wc-price span{ display:block; font-family:var(--sans); font-size:0.72rem; color:var(--ink-soft); font-weight:400; }

/* Venue facility details (hotel category / rooms / lawn area / pool) — additive */
.wc-facilities{ display:flex; flex-wrap:wrap; gap:6px; margin:2px 0 10px; }
.wc-facility-chip{
  display:inline-block; background:var(--sand-soft); border:1px solid var(--line); color:var(--ink-soft);
  font-size:0.74rem; font-weight:600; padding:4px 10px; border-radius:99px; white-space:nowrap;
}

/* Wedding enquiry form — function-type checkboxes ("Haldi/Mehndi/Reception/Shaadi") */
.f-check-group{ display:flex; flex-wrap:wrap; gap:10px; }
.f-check-item{
  display:flex; align-items:center; gap:8px; background:var(--cloud); border:1px solid var(--line);
  border-radius:99px; padding:8px 16px; cursor:pointer; font-size:0.88rem; color:var(--ink); font-weight:600;
  transition:border-color 0.18s ease, background 0.18s ease;
}
.f-check-item input{ width:16px; height:16px; accent-color:var(--amber-deep); margin:0; flex-shrink:0; }
.f-check-item:has(input:checked){ border-color:var(--amber-deep); background:#FDF3E2; }

/* ===========================================================
   DESTINATION WEDDING — page redesign (forest & gold luxury
   theme). New, additive .wed-* classes only; nothing above in
   this file (including the old .wedding-card/.wc-* rules) is
   changed or removed.
=========================================================== */
.wed-hero{
  position:relative; overflow:hidden; color:var(--cloud);
  background:linear-gradient(120deg,var(--wed-green),var(--wed-green-deep));
  background-size:cover; background-position:center;
}
.wed-hero-inner{ position:relative; z-index:1; max-width:900px; margin:0 auto; padding:84px 28px 56px; }
.wed-kicker{
  display:inline-flex; align-items:center; gap:8px; font-size:0.8rem; font-weight:700;
  color:var(--wed-gold); letter-spacing:0.04em; text-transform:uppercase;
  background:rgba(255,255,255,0.1); border:1px solid rgba(217,169,78,0.45);
  padding:7px 16px; border-radius:99px; margin-bottom:20px;
}
.wed-hero h1{
  font-family:var(--serif); font-style:italic; font-size:clamp(2.1rem,4.6vw,3.2rem);
  color:var(--cloud); max-width:16ch; margin-bottom:16px; line-height:1.15;
}
.wed-hero-sub{ color:rgba(255,255,255,0.85); max-width:58ch; font-size:1.05rem; margin-bottom:28px; font-style:normal; }
.wed-hero-actions{ display:flex; gap:14px; flex-wrap:wrap; }
.wed-hero-btn{
  display:inline-flex; align-items:center; justify-content:center; padding:13px 26px;
  border-radius:99px; font-weight:700; font-size:0.94rem; text-decoration:none; cursor:pointer;
  border:1px solid transparent; transition:background 0.18s ease, transform 0.18s ease;
}
.wed-hero-btn:not(.wed-hero-btn--ghost){ background:var(--wed-gold); color:#20301F; border-color:var(--wed-gold); }
.wed-hero-btn:not(.wed-hero-btn--ghost):hover{ background:var(--wed-gold-deep); transform:translateY(-1px); }
.wed-hero-btn--ghost{ background:rgba(255,255,255,0.06); color:var(--cloud); border-color:rgba(255,255,255,0.5); }
.wed-hero-btn--ghost:hover{ background:rgba(255,255,255,0.16); }

/* Hero venue slider — auto-rotating hotel highlights layered on the
   hero photo. Purely additive; if it stays hidden (no venues loaded
   yet), the hero looks exactly as it did before. */
.wed-hero-slider{
  position:relative; z-index:1; display:flex; flex-direction:column; align-items:center;
  gap:10px; padding:0 28px 28px;
}
.wed-hero-slide-card{
  display:flex; align-items:center; gap:14px; max-width:420px; width:100%;
  background:rgba(15,30,20,0.55); backdrop-filter:blur(6px); -webkit-backdrop-filter:blur(6px);
  border:1px solid rgba(255,255,255,0.18); border-radius:var(--radius-l);
  padding:12px; box-shadow:0 8px 24px rgba(0,0,0,0.25);
}
.wed-hero-slide-img{
  width:76px; height:76px; border-radius:10px; flex-shrink:0; background-size:cover;
  background-position:center; background-color:rgba(255,255,255,0.08);
}
.wed-hero-slide-body{ min-width:0; }
.wed-hero-slide-tag{
  display:inline-block; font-size:0.68rem; font-weight:700; letter-spacing:0.03em; text-transform:uppercase;
  color:#20301F; background:var(--wed-gold); padding:2px 9px; border-radius:99px; margin-bottom:4px;
}
.wed-hero-slide-body h4{ margin:0 0 2px; font-size:0.98rem; color:var(--cloud); font-family:var(--serif); font-style:normal; }
.wed-hero-slide-dest{ margin:0 0 4px; font-size:0.78rem; color:rgba(255,255,255,0.75); }
.wed-hero-slide-meta{ font-size:0.78rem; color:rgba(255,255,255,0.9); display:flex; gap:12px; flex-wrap:wrap; }
.wed-hero-dots{ display:flex; gap:6px; }
.wed-hero-dot{
  width:7px; height:7px; border-radius:50%; background:rgba(255,255,255,0.4); border:none; padding:0;
  cursor:pointer; transition:background 0.2s ease, width 0.2s ease;
}
.wed-hero-dot.active{ background:var(--wed-gold); width:18px; border-radius:4px; }
@media (max-width:640px){
  .wed-hero-slide-card{ max-width:none; }
}

.wed-stats-bar{
  position:relative; z-index:1; display:flex; justify-content:center; gap:44px; flex-wrap:wrap;
  padding:20px 28px; background:rgba(9,18,12,0.55); border-top:1px solid rgba(255,255,255,0.12);
}
.wed-stat{ display:flex; align-items:center; gap:8px; color:rgba(255,255,255,0.92); font-size:0.9rem; font-weight:600; }
.wed-stat-ic{ font-size:1.05rem; }

/* Two-column layout: venue grid + sticky "Get Quote" card */
.wed-columns{ display:grid; grid-template-columns:1fr 340px; gap:36px; align-items:start; }
.wed-col-quote{ position:sticky; top:90px; }
.wed-grid{ grid-template-columns:repeat(auto-fill, minmax(280px,1fr)); }

.wed-quote-card{
  background:var(--cloud); border:1px solid var(--line); border-radius:var(--radius-l);
  box-shadow:var(--shadow-card); padding:26px 24px; position:relative; overflow:hidden;
}
.wed-quote-card::before{
  content:""; position:absolute; inset:0; pointer-events:none; opacity:0.06;
  background:radial-gradient(circle at 90% 0%, var(--wed-gold), transparent 60%);
}
.wed-quote-card h3{ font-size:1.15rem; margin-bottom:4px; color:var(--navy); }
.wed-quote-card > p{ font-size:0.86rem; color:var(--ink-soft); margin-bottom:18px; }
.wed-quote-card .f-field{ margin-bottom:14px; }
.wed-quote-card .f-field label{ font-size:0.78rem; }
.wed-quote-card .f-field input{ padding:10px 12px; }
.wed-quote-submit{
  width:100%; background:var(--wed-gold-deep); border-color:var(--wed-gold-deep); margin-top:4px;
}
.wed-quote-submit:hover{ background:#9C7020; }
.wed-quote-trust{ font-size:0.78rem; color:var(--ink-soft); margin-top:16px; text-align:center; }
.wed-quote-note{
  font-size:0.78rem; color:var(--amber-deep); background:var(--sand-soft); border-radius:8px;
  padding:8px 10px; margin-top:10px; text-align:center; font-weight:600;
}

/* Redesigned venue card content (tier badge / star rating / fact rows) */
.wed-grid .wedding-card{ display:flex; flex-direction:column; }
.wed-grid .wc-tag{ font-weight:700; letter-spacing:0.02em; background:rgba(19,42,27,0.72); }
.wed-grid .wc-dest{ margin-bottom:6px; }
.wc-rating{ display:flex; align-items:center; gap:6px; font-size:0.82rem; color:var(--ink-soft); margin-bottom:10px; }
.wc-stars{ color:var(--wed-gold-deep); letter-spacing:1px; font-size:0.9rem; }
.wc-facts{ display:flex; flex-direction:column; gap:6px; margin-bottom:14px; }
.wc-fact{ display:flex; align-items:center; gap:8px; font-size:0.84rem; color:var(--ink); }
.wc-fact span{ width:18px; text-align:center; flex-shrink:0; color:var(--ink-soft); }
.wed-grid .wc-meta{ margin-top:auto; }
.wed-grid .pkg-book{ width:100%; }

@media (max-width:900px){
  .wed-columns{ grid-template-columns:1fr; }
  .wed-col-quote{ position:static; }
}

/* ===========================================================
   REFER & EARN — new, additive section, doesn't change any
   rule above.
=========================================================== */
.panel-hero--refer{ background:linear-gradient(120deg,#2B3968,var(--teal),var(--amber)); }

.refer-box{
  background:var(--cloud); border:1px solid var(--line); border-radius:var(--radius-l);
  padding:32px; box-shadow:var(--shadow-card); max-width:600px;
}
.refer-box h3{ font-size:1.2rem; margin-bottom:8px; }
.refer-code-row{
  display:flex; align-items:center; gap:14px; flex-wrap:wrap; margin:18px 0 10px;
  background:var(--sand-soft); border:1px dashed var(--line); border-radius:var(--radius-s); padding:14px 18px;
}
.refer-code{ font-family:var(--serif); font-size:1.3rem; font-weight:700; color:var(--navy); letter-spacing:0.05em; }
.refer-share-row{ margin-bottom:20px; }
.refer-stats-row{ display:flex; gap:32px; flex-wrap:wrap; padding-top:14px; border-top:1px dashed var(--line); }
.refer-stat{ display:flex; flex-direction:column; }
.refer-stat strong{ font-family:var(--serif); font-size:1.5rem; color:var(--amber-deep); }
.refer-stat span{ font-size:0.8rem; color:var(--ink-soft); }

/* Referral Partner status banners — additive, doesn't change any rule
   above. Shown inside #referLoggedIn depending on admin approval state. */
.refer-status-note{
  border-radius:var(--radius-s); padding:14px 18px; font-size:0.9rem; margin-bottom:6px;
}
.refer-status-note--pending{ background:var(--sand-soft); border:1px dashed var(--line); color:var(--ink-soft); }
.refer-status-note--revoked{ background:#FBE0DB; color:#8A362B; border:1px solid #F3C4BB; }
/* Additive: shown to an approved partner who applied without logging in —
   tells them to log in to see their live link/earnings. Doesn't change
   any rule above. */
.refer-status-note--approved-anon{ background:#E4F3EC; border:1px solid #BEE3D1; color:#1F6B45; }

/* ===========================================================
   BOOKINGS ADMIN (referral reward trigger) — new, additive
   section, doesn't change any rule above.
=========================================================== */
.booking-admin-row{
  display:flex; justify-content:space-between; align-items:center; gap:14px; flex-wrap:wrap;
  padding:12px 0; border-bottom:1px solid var(--line); font-size:0.88rem;
}
.booking-admin-row .ba-info{ flex:1; min-width:220px; }
.booking-admin-row .ba-status{
  font-size:0.72rem; font-weight:700; text-transform:uppercase; letter-spacing:0.04em;
  padding:3px 10px; border-radius:99px;
}
.booking-admin-row .ba-status.pending{ background:var(--sand); color:var(--amber-deep); }
.booking-admin-row .ba-status.confirmed{ background:var(--teal); color:var(--cloud); }
.booking-admin-row .ba-reward{ font-size:0.78rem; color:var(--teal); font-weight:600; }
.ba-status{
  font-size:0.72rem; font-weight:700; text-transform:uppercase; letter-spacing:0.04em;
  padding:3px 10px; border-radius:99px;
}
.ba-status.pending{ background:var(--sand); color:var(--amber-deep); }
.ba-status.confirmed{ background:var(--teal); color:var(--cloud); }

/* ===========================================================
   MY BOOKINGS (customer-facing) — new, additive section,
   doesn't change any rule above. Reuses .refer-box / .ba-status
   patterns so it matches the rest of the site.
=========================================================== */
.panel-hero--mybookings{ background:linear-gradient(120deg,#2B3968,var(--teal-deep),var(--teal)); }

/* Customer ID badge, shown once above the list — same ID on every device/login */
.my-customer-id-box{
  display:flex; align-items:center; gap:10px; margin-bottom:18px; max-width:820px;
  background:var(--sand-soft); border:1px dashed var(--line); border-radius:var(--radius-s);
  padding:12px 18px; font-size:0.86rem; color:var(--ink-soft);
}
.my-customer-id-box strong{ font-family:var(--serif); font-size:1.05rem; color:var(--navy); letter-spacing:0.03em; }

.my-bookings-list{ display:flex; flex-direction:column; gap:14px; max-width:820px; }
.my-booking-card{
  background:var(--cloud); border:1px solid var(--line); border-radius:var(--radius-m);
  padding:18px 22px; display:flex; justify-content:space-between; align-items:flex-start;
  gap:16px; flex-wrap:wrap; box-shadow:var(--shadow-card);
}
.my-booking-info{ flex:1; min-width:220px; }
.my-booking-info h4{ font-family:var(--serif); margin:0 0 10px; font-size:1.06rem; color:var(--navy); }
.my-booking-info p{ margin:10px 0 0; font-size:0.86rem; color:var(--ink-soft); }
.my-booking-price{ font-family:var(--serif); font-size:1.05rem; color:var(--navy); font-weight:600; }
.my-booking-reward{ font-size:0.78rem; color:var(--teal); font-weight:600; margin-top:4px; }

/* Detail grid: Lead Pax Name / Destination / Travel Date / Status / Amount / Booking ID */
.my-booking-grid{
  display:grid; grid-template-columns:repeat(auto-fit, minmax(150px, 1fr)); gap:10px 20px;
}
.my-booking-grid > div{ display:flex; flex-direction:column; gap:2px; }
.my-booking-grid span{ font-size:0.72rem; text-transform:uppercase; letter-spacing:0.04em; color:var(--ink-soft); }
.my-booking-grid strong{ font-size:0.92rem; color:var(--ink); font-weight:600; }
.my-booking-grid strong.ba-status{ display:inline-block; width:fit-content; }

.my-booking-actions{ display:flex; flex-direction:column; align-items:flex-end; gap:6px; }
.btn-voucher{
  background:var(--navy); color:#fff; border:none; border-radius:999px; padding:9px 18px;
  font-size:0.82rem; font-weight:600; cursor:pointer; white-space:nowrap;
}
.btn-voucher:hover{ background:var(--navy-deep); }
.btn-voucher:disabled{ opacity:0.6; cursor:default; }
.voucher-pending-note{ font-size:0.76rem; color:var(--ink-soft); text-align:right; max-width:160px; }

/* ===========================================================
   CUSTOMIZE PACKAGE PICKER — new, additive section, doesn't
   change any rule above. Individual item prices are never
   rendered here on purpose; only the combined total box is.
=========================================================== */
.custom-picker{ margin:8px 0 26px; padding-top:8px; border-top:1px dashed var(--line); }
.cp-block{ margin-bottom:26px; }
.cp-block h3{ font-size:1.02rem; margin-bottom:4px; }
.cp-block h3 span{ font-size:0.78rem; font-weight:400; color:var(--ink-soft); }
.cp-hint{ font-size:0.84rem; color:var(--ink-soft); margin-bottom:12px; }
.cp-empty{ font-size:0.86rem; color:var(--ink-soft); }

.cp-options{ display:grid; grid-template-columns:repeat(auto-fill,minmax(220px,1fr)); gap:12px; }
.cp-item{
  position:relative; text-align:left; display:flex; flex-direction:column; gap:3px;
  background:var(--cloud); border:1px solid var(--line); border-radius:var(--radius-s);
  padding:13px 34px 13px 15px; transition:border-color 0.2s, background 0.2s;
}
.cp-item:hover{ border-color:var(--teal); }
.cp-item.selected{ border-color:var(--navy); background:var(--sand-soft); }
.cp-item-tag{ font-size:0.68rem; font-weight:700; text-transform:uppercase; letter-spacing:0.04em; color:var(--teal); }
.cp-item-name{ font-size:0.92rem; font-weight:600; color:var(--ink); }
.cp-item-desc{ font-size:0.8rem; color:var(--ink-soft); }
.cp-item-check{
  position:absolute; top:12px; right:12px; width:20px; height:20px; border-radius:50%;
  border:1px solid var(--line); display:flex; align-items:center; justify-content:center;
  font-size:0.78rem; font-weight:700; color:transparent; background:var(--cloud);
}
.cp-item.selected .cp-item-check{ background:var(--navy); border-color:var(--navy); color:var(--cloud); }

.cp-total-box{
  display:flex; align-items:center; justify-content:space-between; margin-top:10px;
  background:var(--navy); color:var(--cloud); border-radius:var(--radius-m); padding:18px 22px;
}
.cp-total-box span{ font-size:0.9rem; color:rgba(255,255,255,0.75); }
.cp-total-box strong{ font-family:var(--serif); font-size:1.5rem; color:var(--amber); }

/* ============ FAQ SECTION (SEO / AEO) — additive only, does not modify
   any existing rule above ============ */
.faq-item{
  background:var(--cloud); border:1px solid var(--line); border-radius:var(--radius-m);
  padding:16px 20px;
}
.faq-item summary{
  cursor:pointer; font-family:var(--serif); font-size:1.02rem; color:var(--ink);
  list-style:none;
}
.faq-item summary::-webkit-details-marker{ display:none; }
.faq-item summary::before{ content:"+ "; color:var(--teal); font-weight:700; }
.faq-item[open] summary::before{ content:"– "; }
.faq-item p{ margin-top:10px; color:var(--ink-soft); font-size:0.92rem; line-height:1.6; }

/* ============ LEADS & CONVERSIONS SYSTEM (new feature) — additive only,
   does not modify any existing rule above ============ */

/* ---- WhatsApp floating button ---- */
.aw-whatsapp-btn{
  position:fixed; right:20px; bottom:20px; z-index:900;
  width:56px; height:56px; border-radius:50%; background:#25D366;
  display:flex; align-items:center; justify-content:center;
  box-shadow:0 10px 26px rgba(37,211,102,0.45); cursor:pointer;
  border:none; text-decoration:none;
  transition:transform .15s ease;
}
.aw-whatsapp-btn:hover{ transform:scale(1.06); }
.aw-whatsapp-btn svg{ width:28px; height:28px; }

/* ---- Sticky "Get a free quote" bar (appears after scroll, dismissible) ---- */
.aw-sticky-bar{
  position:fixed; left:0; right:0; bottom:0; z-index:850;
  background:var(--navy); color:var(--cloud);
  display:none; align-items:center; justify-content:center; gap:14px;
  padding:12px 20px; box-shadow:0 -10px 30px rgba(10,20,35,0.25);
}
.aw-sticky-bar.show{ display:flex; }
.aw-sticky-bar span{ font-size:0.92rem; }
.aw-sticky-bar button.aw-cta{
  background:var(--amber); color:var(--navy); border:none; border-radius:999px;
  padding:8px 18px; font-weight:700; font-size:0.86rem; cursor:pointer;
}
.aw-sticky-bar button.aw-close{
  background:none; border:none; color:rgba(255,255,255,0.7); font-size:1.1rem; cursor:pointer; line-height:1;
}

/* ---- Lead popup modal (exit-intent / timed) ---- */
.aw-modal-overlay{
  position:fixed; inset:0; z-index:1000; background:rgba(10,20,35,0.55);
  display:none; align-items:center; justify-content:center; padding:16px;
}
.aw-modal-overlay.open{ display:flex; }
.aw-modal{
  background:var(--cloud); border-radius:var(--radius-l); max-width:440px; width:100%;
  padding:30px 26px; position:relative; box-shadow:var(--shadow-modal);
  font-family:var(--sans);
}
.aw-modal-close{
  position:absolute; top:14px; right:16px; background:none; border:none;
  font-size:1.4rem; color:var(--ink-soft); cursor:pointer; line-height:1;
}
.aw-modal h3{ font-family:var(--serif); font-size:1.35rem; color:var(--ink); margin:0 0 6px; }
.aw-modal p.aw-modal-sub{ color:var(--ink-soft); font-size:0.9rem; margin:0 0 18px; }
.aw-field{ margin-bottom:12px; }
.aw-field label{ display:block; font-size:0.8rem; color:var(--ink-soft); margin-bottom:5px; }
.aw-field input, .aw-field select, .aw-field textarea{
  width:100%; border:1px solid var(--line); border-radius:var(--radius-s);
  padding:10px 12px; font-family:var(--sans); font-size:0.94rem; color:var(--ink);
  background:var(--cloud);
}
.aw-field input:focus, .aw-field select:focus, .aw-field textarea:focus{
  outline:none; border-color:var(--teal);
}
.aw-btn-primary{
  width:100%; background:var(--navy); color:var(--cloud); border:none; border-radius:999px;
  padding:12px 18px; font-weight:700; font-size:0.95rem; cursor:pointer; margin-top:6px;
}
.aw-btn-primary:hover{ background:var(--navy-deep); }
.aw-form-msg{ font-size:0.85rem; margin-top:10px; color:var(--coral); min-height:1em; }
.aw-form-msg.ok{ color:var(--teal); }
.aw-modal-success{ text-align:center; padding:10px 0; }
.aw-modal-success .aw-check{
  width:52px; height:52px; border-radius:50%; background:var(--teal); color:var(--cloud);
  display:flex; align-items:center; justify-content:center; font-size:1.5rem; margin:0 auto 14px;
}

/* ---- Blog inline lead CTA card ---- */
.aw-blog-cta{
  margin-top:24px; background:var(--sand-soft); border:1px solid var(--line);
  border-radius:var(--radius-l); padding:24px; display:flex; flex-wrap:wrap;
  gap:18px; align-items:center; justify-content:space-between;
}
.aw-blog-cta-text h4{ font-family:var(--serif); margin:0 0 4px; color:var(--ink); font-size:1.1rem; }
.aw-blog-cta-text p{ margin:0; color:var(--ink-soft); font-size:0.88rem; max-width:420px; }
.aw-blog-cta-form{ display:flex; gap:8px; flex-wrap:wrap; flex:1; min-width:260px; }
.aw-blog-cta-form input{
  flex:1; min-width:140px; border:1px solid var(--line); border-radius:var(--radius-s);
  padding:10px 12px; font-family:var(--sans); font-size:0.9rem;
}
.aw-blog-cta-form button{
  background:var(--amber-deep); color:var(--cloud); border:none; border-radius:var(--radius-s);
  padding:10px 18px; font-weight:700; font-size:0.88rem; cursor:pointer; white-space:nowrap;
}

/* ---- Newsletter box (injected into footer) ---- */
.aw-newsletter{
  background:var(--cloud); border-radius:var(--radius-l); padding:24px;
  color:var(--navy); margin-bottom:26px; border:1px solid var(--line); box-shadow:var(--shadow-card);
  flex:1 1 320px; max-width:420px;
}
.aw-newsletter h4{ font-family:var(--serif); margin:0 0 6px; font-size:1.1rem; color:var(--navy); }
.aw-newsletter p{ margin:0 0 14px; font-size:0.86rem; color:var(--ink-soft); }
.aw-newsletter-form{ display:flex; gap:8px; flex-wrap:wrap; }
.aw-newsletter-form input{
  flex:1; min-width:160px; border:1px solid var(--line); border-radius:var(--radius-s);
  padding:10px 12px; background:var(--sand-soft); color:var(--ink); font-size:0.9rem;
}
.aw-newsletter-form input::placeholder{ color:var(--ink-soft); }
.aw-newsletter-form button{
  background:var(--amber); color:var(--navy); border:none; border-radius:var(--radius-s);
  padding:10px 18px; font-weight:700; font-size:0.88rem; cursor:pointer;
}
.aw-newsletter-msg{ font-size:0.8rem; margin-top:8px; color:var(--amber-deep); }

/* ---- Admin: Leads dashboard (visible only with ?admin=1) ---- */
.aw-admin-toggle{
  position:fixed; left:20px; bottom:20px; z-index:900; background:var(--ink);
  color:var(--cloud); border:none; border-radius:999px; padding:10px 16px;
  font-size:0.82rem; font-weight:700; cursor:pointer; box-shadow:var(--shadow-card);
}
.aw-admin-panel{
  position:fixed; inset:0; z-index:1000; background:rgba(10,20,35,0.55);
  display:none; align-items:flex-start; justify-content:center; padding:40px 16px; overflow:auto;
}
.aw-admin-panel.open{ display:flex; }
.aw-admin-panel-inner{
  background:var(--cloud); border-radius:var(--radius-l); max-width:960px; width:100%;
  padding:26px; position:relative;
}
.aw-admin-stats{ display:flex; gap:14px; flex-wrap:wrap; margin:14px 0 18px; }
.aw-admin-stat{
  background:var(--sand-soft); border-radius:var(--radius-s); padding:10px 16px; font-size:0.85rem;
}
.aw-admin-stat strong{ display:block; font-family:var(--serif); font-size:1.2rem; color:var(--navy); }
.aw-leads-table{ width:100%; border-collapse:collapse; font-size:0.84rem; }
.aw-leads-table th, .aw-leads-table td{
  text-align:left; padding:8px 10px; border-bottom:1px solid var(--line); vertical-align:top;
}
.aw-leads-table th{ color:var(--ink-soft); font-weight:600; }
.aw-leads-table select{ font-size:0.8rem; padding:4px 6px; border-radius:6px; border:1px solid var(--line); }

@media (max-width:640px){
  .aw-blog-cta, .aw-newsletter-form{ flex-direction:column; align-items:stretch; }
  .aw-blog-cta-form{ flex-direction:column; }
}

/* ============ CUSTOMIZE PACKAGE — itinerary builder (new UI) — additive
   only, does not modify any existing rule above ============ */

/* ---- Step 1: search card ---- */
.cwiz-search-card{
  max-width:640px; margin:0 auto 32px; background:var(--cloud); border:1px solid var(--line);
  border-radius:var(--radius-l); padding:28px; box-shadow:var(--shadow-card);
}
.cwiz-mode-toggle{ display:flex; gap:24px; margin-bottom:20px; }
.cwiz-radio{ display:flex; align-items:center; gap:8px; font-size:0.92rem; color:var(--ink); cursor:pointer; }
.cwiz-radio input{ accent-color:var(--navy); width:18px; height:18px; }
.cwiz-checkbox{ display:flex; align-items:center; gap:8px; font-size:0.88rem; color:var(--ink-soft); margin:6px 0 18px; cursor:pointer; }
.cwiz-checkbox input{ accent-color:var(--navy); width:16px; height:16px; }

.cwiz-children-wrap{ margin-bottom:18px; }
.cwiz-children-hint{ font-weight:400; color:var(--ink-soft); font-size:0.78rem; }
.cwiz-children-list{ display:flex; flex-direction:column; gap:8px; margin:8px 0; }
.cwiz-child-row{
  display:flex; align-items:center; gap:10px;
  background:var(--sand); border:1px solid var(--line); border-radius:var(--radius-m);
  padding:8px 10px;
}
.cwiz-child-row select{
  border:1px solid var(--line); border-radius:var(--radius-s);
  padding:7px 9px; font-size:0.85rem; color:var(--ink); background:var(--cloud);
}
.cwiz-child-label{ font-size:0.85rem; font-weight:600; color:var(--ink); min-width:56px; }
.cwiz-child-age{ flex:1; max-width:160px; }
.cwiz-child-remove{
  margin-left:auto; width:26px; height:26px; border-radius:50%;
  border:1px solid var(--line); background:var(--cloud); color:var(--coral-deep);
  font-size:1rem; line-height:1; cursor:pointer;
}
.cwiz-child-remove:hover{ background:var(--coral); color:var(--cloud); border-color:var(--coral); }
.cwiz-add-child-btn{
  border:1px dashed var(--teal); color:var(--teal-deep); background:transparent;
  border-radius:var(--radius-m); padding:8px 14px; font-size:0.85rem; font-weight:600;
  cursor:pointer;
}
.cwiz-add-child-btn:hover{ background:var(--sand); }
.cwiz-add-child-btn:disabled{ opacity:0.5; cursor:default; }
.cwiz-child-note{
  color:var(--coral-deep); background:var(--sand); border:1px solid var(--line);
  border-radius:var(--radius-m); padding:8px 12px; margin:10px 0; font-size:0.85rem;
}
.cwiz-search-btn{ width:100%; }

/* ---- Step 2: builder layout ---- */
.cwiz-builder{ display:flex; gap:24px; align-items:flex-start; flex-wrap:wrap; }
.cwiz-builder-left{ flex:1 1 560px; min-width:0; }

.cwiz-tabs{
  display:flex; gap:6px; border-bottom:1px solid var(--line); margin-bottom:20px; flex-wrap:wrap;
}
.cwiz-tab{
  background:none; border:none; padding:10px 16px; font-size:0.92rem; font-weight:600;
  color:var(--ink-soft); cursor:pointer; border-bottom:2px solid transparent;
}
.cwiz-tab.active{ color:var(--navy); border-bottom-color:var(--navy); }

.cwiz-panel{ display:none; }
.cwiz-panel.active{ display:block; }
.cwiz-hint{ color:var(--ink-soft); font-size:0.9rem; }

/* Hotel selection cards */
.cwiz-card{
  display:block; width:100%; text-align:left; background:var(--cloud); border:1px solid var(--line);
  border-radius:var(--radius-m); padding:16px 18px; margin-bottom:12px; cursor:pointer;
  font-family:var(--sans); transition:border-color .15s ease, box-shadow .15s ease;
}
.cwiz-card:hover{ border-color:var(--teal); }
.cwiz-card.selected{ border-color:var(--navy); box-shadow:0 0 0 2px rgba(27,42,74,0.15); }
.cwiz-card-top{ display:flex; align-items:center; justify-content:space-between; gap:10px; }
.cwiz-card-top strong{ font-family:var(--serif); font-size:1.05rem; color:var(--ink); }
.cwiz-stars{ color:var(--amber-deep); font-size:0.85rem; white-space:nowrap; }
.cwiz-card-tag{
  display:inline-block; margin-top:4px; background:var(--sand-soft); color:var(--ink-soft);
  border-radius:999px; padding:2px 10px; font-size:0.72rem; font-weight:600;
}
.cwiz-card-desc{ margin:8px 0 0; color:var(--ink-soft); font-size:0.86rem; }
.cwiz-card-select{ display:inline-block; margin-top:10px; font-size:0.82rem; font-weight:700; color:var(--teal); }
.cwiz-card.selected .cwiz-card-select::before{ content:"✓ "; }
.cwiz-card.selected .cwiz-card-select{ content:"Selected"; }

/* Sightseeing / transfer checkbox cards */
.cwiz-check-card{
  display:flex; gap:12px; align-items:flex-start; background:var(--cloud); border:1px solid var(--line);
  border-radius:var(--radius-m); padding:14px 16px; margin-bottom:10px; cursor:pointer;
}
.cwiz-check-card input{ margin-top:3px; width:17px; height:17px; accent-color:var(--navy); flex-shrink:0; }
.cwiz-check-card strong{ font-size:0.95rem; color:var(--ink); }

/* Itinerary tab */
.cwiz-itinerary-note{ color:var(--ink-soft); font-size:0.82rem; margin-bottom:16px; font-style:italic; }
.cwiz-itin-day{ display:flex; gap:16px; padding:14px 0; border-bottom:1px solid var(--line); }
.cwiz-itin-day:last-child{ border-bottom:none; }
.cwiz-itin-daynum{
  flex-shrink:0; width:64px; font-weight:700; color:var(--navy); font-size:0.85rem; padding-top:2px;
}
.cwiz-itin-day strong{ display:block; font-family:var(--serif); font-size:1rem; color:var(--ink); }
.cwiz-itin-day p{ margin:4px 0 0; color:var(--ink-soft); font-size:0.88rem; }

/* Review & Price tab — recap of hotel/sightseeing/transfers/visa picked,
   followed by the one final total (see .cwiz-summary-total below, reused
   here). This is the ONLY tab that shows a price. */
.cwiz-review-row{
  display:flex; justify-content:space-between; align-items:flex-start; gap:16px;
  padding:12px 0; border-bottom:1px dashed var(--line); font-size:0.92rem;
}
.cwiz-review-row:last-of-type{ border-bottom:none; }
.cwiz-review-row span{ color:var(--ink-soft); flex-shrink:0; }
.cwiz-review-row strong{ color:var(--navy); text-align:right; font-weight:600; }

/* ---- Summary sidebar ---- */
.cwiz-summary{
  flex:0 0 340px; position:sticky; top:96px; background:var(--cloud); border:1px solid var(--line);
  border-radius:var(--radius-l); padding:22px; box-shadow:var(--shadow-card);
}
.cwiz-summary-head{ display:flex; align-items:flex-start; justify-content:space-between; gap:10px; }
.cwiz-summary-kicker{ display:block; font-size:0.75rem; color:var(--ink-soft); text-transform:uppercase; letter-spacing:0.04em; }
.cwiz-summary-head h4{ margin:2px 0 0; font-family:var(--serif); font-size:1.15rem; color:var(--ink); }
.cwiz-edit-btn{
  background:var(--sand-soft); border:none; border-radius:8px; width:32px; height:32px;
  cursor:pointer; font-size:0.95rem; flex-shrink:0;
}
.cwiz-summary-meta{ color:var(--ink-soft); font-size:0.82rem; margin:8px 0 16px; }
.cwiz-summary-total{
  display:flex; align-items:center; justify-content:space-between; background:var(--navy);
  color:var(--cloud); border-radius:var(--radius-m); padding:14px 18px; margin-bottom:16px;
}
.cwiz-summary-total span{ font-size:0.85rem; color:rgba(255,255,255,0.75); }
.cwiz-summary-total strong{ font-family:var(--serif); font-size:1.4rem; color:var(--amber); }
.cwiz-summary-note{ color:var(--ink-soft); font-size:0.76rem; margin:-10px 0 16px; }
.cwiz-contact .f-field{ margin-bottom:10px; }
.cwiz-contact input{
  width:100%; border:1px solid var(--line); border-radius:var(--radius-s); padding:9px 11px; font-size:0.9rem;
}
.cwiz-share{ display:flex; align-items:center; justify-content:space-between; margin-top:16px; }
.cwiz-share > span{ font-size:0.82rem; color:var(--ink-soft); }
.cwiz-share-icons{ display:flex; gap:8px; }
.cwiz-share-icons button{
  width:34px; height:34px; border-radius:50%; border:none; cursor:pointer;
  display:flex; align-items:center; justify-content:center;
}
#cwizShareWA{ background:#25D366; }
#cwizShareEmail{ background:var(--amber-deep); }
.cwiz-share-icons svg{ width:18px; height:18px; }
.cwiz-pdf-btn{
  width:100%; margin-top:14px; background:none; border:1px solid var(--navy); color:var(--navy);
  border-radius:999px; padding:11px 18px; font-weight:700; font-size:0.88rem; cursor:pointer;
}
.cwiz-pdf-btn:hover{ background:var(--sand-soft); }

/* ---- Printable quote (only visible during print / Save-as-PDF) ---- */
.cwiz-print-area{ display:none; }
@media print{
  /* #cwizPrintArea is a direct child of <body> (see index.html) specifically
     so this can hide every other top-level section and reveal only the quote. */
  body.cwiz-printing > *{ display:none !important; }
  body.cwiz-printing > .cwiz-print-area{
    display:block !important; padding:20px; font-family:var(--sans); color:#1D2433;
  }
  .cwiz-print-area h1{ font-family:var(--serif); font-size:1.4rem; margin-bottom:4px; }
  .cwiz-print-area h3{ font-family:var(--serif); font-size:1rem; margin:18px 0 4px; }
  .cwiz-print-area ul{ padding-left:18px; }
  .cwiz-print-area li{ margin-bottom:6px; font-size:0.92rem; }
  .cwiz-print-total{ font-size:1.3rem; font-weight:700; color:#2B3968; }
  .cwiz-print-footer{ margin-top:30px; font-size:0.8rem; color:#5B6472; }
  .cwiz-print-area .cwiz-child-note{ color:#B23A2E; font-weight:700; border:1px solid #B23A2E; background:none; }
}

@media (max-width:900px){
  .cwiz-builder{ flex-direction:column; }
  .cwiz-summary{ position:static; width:100%; flex:1 1 auto; }
}

/* ============ Hero destination slider (added — does not modify anything above) ============ */
.hero{ min-height: clamp(520px, 62vw, 720px); }
.hero-slides{ position:absolute; inset:0; z-index:0; }
.hero-slide{
  position:absolute; inset:0; opacity:0; visibility:hidden;
  transition: opacity 1.1s ease;
}
.hero-slide.active{ opacity:1; visibility:visible; }
.hero-slide svg{ width:100%; height:100%; display:block; }
.hero-photo{
  position:absolute; inset:0; width:100%; height:100%;
  object-fit:cover; object-position:center;
}
.hero-slide::after{
  content:""; position:absolute; inset:0;
  background:linear-gradient(180deg, rgba(15,27,48,0.15) 0%, rgba(15,27,48,0.55) 100%);
  pointer-events:none;
}
.hero-slide-label{
  position:absolute; right:24px; bottom:22px; z-index:2;
  background:rgba(15,27,48,0.55); color:#fff; font-family:var(--serif);
  font-style:italic; padding:7px 18px; border-radius:999px;
  font-size:0.85rem; letter-spacing:0.02em; backdrop-filter:blur(2px);
}
.hero-dots{
  position:absolute; left:50%; bottom:14px; transform:translateX(-50%);
  z-index:2; display:flex; gap:9px;
}
.hero-dots button{
  width:9px; height:9px; padding:0; border-radius:50%; border:none;
  background:rgba(255,255,255,0.45); cursor:pointer; transition:background 0.25s, transform 0.25s;
}
.hero-dots button.active{ background:#fff; transform:scale(1.25); }

@media (max-width:640px){
  .hero{ min-height: clamp(420px, 88vw, 560px); }
  .hero-slide-label{ font-size:0.72rem; padding:5px 13px; right:14px; bottom:14px; }
}

/* ============ Fixed Departure — Photo Lightbox ============ */
.photo-lightbox-modal{ max-width:720px; }
.pl-title{ margin-bottom:14px; padding-right:30px; }
.pl-main{ border-radius:var(--radius-m); overflow:hidden; margin-bottom:12px; background:var(--sand-soft); }
.pl-main img{ width:100%; max-height:460px; object-fit:cover; display:block; }
.pl-thumbs{ display:flex; gap:8px; overflow-x:auto; padding-bottom:2px; }
.pl-thumb{
  flex-shrink:0; width:84px; height:60px; border-radius:var(--radius-s); overflow:hidden;
  cursor:pointer; opacity:0.6; border:2px solid transparent; transition:opacity .15s, border-color .15s;
}
.pl-thumb img{ width:100%; height:100%; object-fit:cover; display:block; }
.pl-thumb:hover{ opacity:0.85; }
.pl-thumb.active{ opacity:1; border-color:var(--teal); }

/* ===========================================================
   MOBILE-FRIENDLY ENHANCEMENTS — additive only, does not
   modify or override any rule above; just fills gaps for
   small-screen (phone) devices.
=========================================================== */

/* Prevent any accidental horizontal scroll on phones */
html, body{ overflow-x:hidden; max-width:100%; }

/* Any image/video that doesn't already set its own width
   stays inside its container on narrow screens */
img, video{ max-width:100%; height:auto; }

/* Bigger, easier-to-tap burger button + nav dropdown on phones */
@media (max-width:900px){
  .nav-burger{ padding:8px; width:auto; }
  .nav-burger span{ width:22px; }
  .btn-account{ padding:9px 12px; }
}

/* Tighter side padding + smaller heading/section spacing so
   content doesn't feel cramped on small phones */
@media (max-width:480px){
  .header-inner,
  .hero > *,
  .panel-hero > *,
  .section,
  .footer-cols,
  .footer-bottom{ padding-left:16px; padding-right:16px; }
  .section{ padding-top:44px; padding-bottom:44px; }
  .custom-form{ padding:20px; }
  .hero-title{ font-size:clamp(1.9rem, 8vw, 2.6rem); }
}

/* Let image+text rows stack instead of squeezing on very
   narrow phones */
@media (max-width:420px){
  .pkg-detail-head,
  .fd-hotel-card{ flex-wrap:wrap; }
  .pkg-detail-head img,
  .fd-hotel-card img{ width:100%; height:170px; }
}

/* Modals/dialogs stay comfortably inside the viewport on phones */
@media (max-width:600px){
  .modal, .modal-box, .photo-lightbox-modal{ max-width:94vw; }
}
.aw-reviews-head{ text-align:center; max-width:1200px; margin:0 auto 24px; padding:0 16px }
.aw-reviews-head h4{ text-align:center; width:100% }
.aw-reviews-track{ display:flex; gap:20px; width:max-content; animation:aw-scroll 40s linear infinite; padding-left:16px }
@keyframes aw-scroll{ 0%{transform:translateX(0)} 100%{transform:translateX(-50%)} }
#aw-reviews-section:hover .aw-reviews-track, .aw-reviews-track:hover{ animation-play-state:paused }

/* ============ In-page destination search bar (above package grids) ============
   Additive only — used on Home "Popular right now", India Packages,
   International Packages and Search Results. Header search is unchanged. */
.pkg-search-form{
  display:flex; align-items:center; gap:10px;
  max-width:640px; margin:0 0 28px;
  background:var(--cloud); border:1px solid var(--line);
  border-radius:99px; padding:6px 6px 6px 18px;
  box-shadow:var(--shadow-card);
  transition:border-color 0.2s, box-shadow 0.2s;
}
.pkg-search-form:focus-within{ border-color:var(--amber); box-shadow:0 0 0 3px rgba(217,169,78,0.18); }
.pkg-search-ic{ color:var(--ink-soft); flex-shrink:0; }
.pkg-search-input{
  flex:1; min-width:0; border:none; background:none; outline:none;
  font-size:0.95rem; color:var(--navy); padding:9px 0;
}
.pkg-search-input::placeholder{ color:var(--ink-soft); }
.pkg-search-btn{
  background:var(--coral); color:var(--cloud);
  font-weight:700; font-size:0.9rem;
  padding:10px 24px; border-radius:99px; flex-shrink:0;
  transition:transform 0.15s ease, background 0.2s;
}
.pkg-search-btn:hover{ background:var(--coral-deep); transform:translateY(-1px); }
@media (max-width:480px){
  .pkg-search-form{ padding-left:14px; margin-bottom:22px; }
  .pkg-search-input{ font-size:0.88rem; }
  .pkg-search-btn{ padding:9px 16px; font-size:0.86rem; }
}

/* ============ Home hero — reduced empty gap below the search card ============
   Additive override: the hero used to be forced up to 720px tall on wide
   screens, leaving ~210px of empty space between the "Get Instant Quotes"
   card and the quick-nav cards. Now it is capped at 580px (still tall enough
   for the slider photo, dots and label). Mobile (<=640px) is unchanged. */
@media (min-width:641px){
  .hero{ min-height: clamp(520px, 46vw, 580px); }
}


/* ---------- My Bookings: source tag + payment summary card (offline booking sync) ---------- */
.mb-source-tag{ display:inline-block; margin-top:6px; padding:2px 9px; border-radius:999px; font-size:0.7rem; font-weight:700;
  background:var(--sand); color:var(--ink-soft); text-transform:uppercase; letter-spacing:0.03em; }
.pay-summary-card{ margin-top:12px; padding:12px 14px; border:1px solid var(--sand); border-radius:12px; background:var(--sand-soft); }
.pay-summary-head{ display:flex; justify-content:space-between; align-items:center; margin-bottom:8px; font-size:0.9rem; }
.pay-summary-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:10px; }
.pay-summary-grid span{ display:block; font-size:0.72rem; color:var(--ink-soft); }
.pay-summary-grid strong{ font-size:0.95rem; }
.pay-status{ padding:2px 10px; border-radius:999px; font-size:0.72rem; font-weight:700; }
.pay-status.paid{ background:#DCF3EA; color:#1D7A56; }
.pay-status.partial{ background:#FBEBD8; color:var(--amber-deep); }
.pay-status.pending{ background:#FBE0DB; color:var(--coral-deep); }
.btn-pay-balance{ display:inline-block; margin-top:10px; padding:8px 16px; border-radius:999px; background:var(--coral); color:#fff;
  font-weight:600; font-size:0.85rem; text-decoration:none; }
.btn-pay-balance:hover{ background:var(--coral-deep); }
@media (max-width:520px){ .pay-summary-grid{ grid-template-columns:1fr; } }

/* My Bookings — trip details + balance deadline (additive) */
.mb-trip-grid{ margin-top:10px; }
.pay-overdue{ color:#c0392b; }
.pay-summary-grid{ grid-template-columns:repeat(auto-fit,minmax(130px,1fr)); }

/* Package PDF download — inline only, no popup/modal */
.package-download-section{margin-top:22px;padding:20px;border:1px solid var(--line);border-radius:14px;background:var(--surface,#fff)}
.package-download-section h3{margin:0 0 12px;font-size:1.05rem}
.package-download-section input{width:100%;box-sizing:border-box;padding:12px 14px;border:1px solid var(--line);border-radius:10px;font:inherit;margin-bottom:10px}
.package-download-section button{width:100%}
.package-download-section button:disabled{opacity:.55;cursor:not-allowed}
.package-download-msg{min-height:1.1em;margin:8px 0 0;font-size:.84rem;color:var(--coral-deep)}

/* Customize wizard: PDF download box is shown only under the blue total bar (Review & Price tab) */
.cwiz-summary > .customize-download-section{ display:none; }
.cwiz-panel .customize-download-section{ margin-top:0; }


/* ============ Destination sub-tabs (India / International) — additive ============ */
.sub-tabs{ display:flex; gap:8px; flex-wrap:nowrap; overflow-x:auto; -webkit-overflow-scrolling:touch; scrollbar-width:none; margin:0 0 16px; padding:4px 0 10px; border-bottom:1px solid var(--line); }
.sub-tabs::-webkit-scrollbar{ display:none; }
.subtab{ flex:0 0 auto; padding:9px 18px; border-radius:999px; border:1.5px solid var(--line); background:#fff; color:var(--ink-soft); font-weight:700; font-size:0.9rem; cursor:pointer; transition:all .2s; white-space:nowrap; }
.subtab:hover{ border-color:var(--navy); color:var(--navy); }
.subtab.active{ background:var(--navy); color:var(--cloud); border-color:var(--navy); }
.pkg-card.sub-hidden{ display:none !important; }
.sub-empty{ grid-column:1/-1; padding:28px 12px; text-align:center; color:var(--ink-soft); font-weight:600; }
