/* ============================================================
   Dev Yatra — Complete Clean CSS (No Duplicates)
   Navy #1A2E4A + Gold #C8902A
   ============================================================ */

@import url('https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@300;400;500;600;700;800&family=Playfair+Display:ital,wght@0,600;0,700;0,800;1,700&display=swap');

:root {
  --navy:    #1A2E4A;
  --navy2:   #0D1E35;
  --gold:    #C8902A;
  --gold-lt: #E8B86D;
  --emerald: #2D7A4F;
  --cream:   #F8F5EF;
  --muted:   #6B7280;
  --border:  #E5E7EB;
}

html { scroll-behavior:smooth; overflow-x:hidden; }
*, *::before, *::after { box-sizing:border-box; }

body {
  font-family:'Plus Jakarta Sans',sans-serif;
  color:#1A1A2E; background:#fff;
  -webkit-font-smoothing:antialiased;
  margin:0; padding:0;
  overflow-x:hidden;
  max-width:100vw;
}

h1,h2,h3,h4 { font-family:'Playfair Display',serif; }

/* ── UTILS ── */
.container { max-width:1200px; margin:0 auto; padding:0 24px; }
.section-pad { padding:80px 0; }
.bg-white  { background:#fff; }
.bg-cream  { background:var(--cream); }

/* ════════════════════════
   NAVBAR
════════════════════════ */
#navbar {
  background: rgba(255,255,255,0.3);
  box-shadow: 0 2px 20px rgba(0,0,0,0.08);
  transition: background 0.4s ease, box-shadow 0.4s ease;
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}
/* Homepage: transparent over hero */
body.homepage #navbar { background:rgba(255,255,255,0.3) !important; box-shadow:0 2px 20px rgba(0,0,0,0.08) !important; }
body.homepage #navbar .top-ribbon { display:none !important; }
body.homepage #navbar .nav-logo-text { color:var(--navy) !important; }
body.homepage #navbar .nav-logo-sub  { color:var(--gold) !important; }
body.homepage #navbar .nav-link,
body.homepage #navbar .dropdown-btn  { color:var(--navy) !important; }
body.homepage #navbar .nav-link:hover,
body.homepage #navbar .dropdown-btn:hover { background:rgba(200,144,42,0.1) !important; color:var(--gold) !important; }
body.homepage #navbar .nav-cta-btn { background:var(--gold) !important; box-shadow:0 4px 14px rgba(200,144,42,0.4) !important; border:none !important; color:white !important; }
body.homepage #navbar[data-state="solid"] { background:rgba(255,255,255,0.97) !important; box-shadow:0 2px 20px rgba(0,0,0,0.08) !important; }
@media(min-width:768px){
  body.homepage #navbar[data-state="solid"] .top-ribbon { display:flex !important; }
}
body.homepage #navbar[data-state="solid"] .nav-logo-text { color:var(--navy) !important; }
body.homepage #navbar[data-state="solid"] .nav-logo-sub  { color:var(--gold) !important; }
body.homepage #navbar[data-state="solid"] .nav-link,
body.homepage #navbar[data-state="solid"] .dropdown-btn  { color:var(--navy) !important; }
body.homepage #nav-spacer { display:none; }

/* Logo */
.nav-logo-img { height:52px; width:auto; object-fit:contain; display:block; }
body.homepage #navbar:not([data-state="solid"]) .nav-logo-img { filter:drop-shadow(0 2px 6px rgba(0,0,0,0.4)); }

/* ════════════════════════
   HERO SLIDER (homepage)
════════════════════════ */
.hero-section {
  position:relative;
  min-height:100vh;
  height:100vh;
  display:flex;
  flex-direction:column;
  overflow:hidden;
}
/* Slider background */
.slider-wrap {
  position:absolute;
  inset:0;
  z-index:0;
}
.slide {
  position:absolute;
  inset:0;
  opacity:0;
  transition:opacity 1.2s ease;
}
.slide.active { opacity:1; }
.slide img {
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
}
.slide-overlay {
  position:absolute;
  inset:0;
  background:linear-gradient(135deg, rgba(10,18,35,0.86) 0%, rgba(10,18,35,0.5) 55%, rgba(26,46,74,0.65) 100%);
}
/* Hero content sits above slider */
.hero-content {
  position:relative;
  z-index:5;
  flex:1;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  max-width:900px;
  margin:0 auto;
  padding:100px 24px 40px;
  text-align:center;
  width:100%;
}
.hero-stats-wrap {
  position:relative;
  z-index:5;
  padding:0 24px 48px;
}

/* Hero badge */
.hero-badge {
  display:inline-flex; align-items:center; gap:8px;
  background:rgba(200,144,42,0.15); border:1px solid rgba(200,144,42,0.35);
  backdrop-filter:blur(12px); border-radius:50px; padding:7px 20px;
  margin-bottom:24px; font-size:12px; font-weight:600;
  color:var(--gold-lt); letter-spacing:0.8px;
}
.hero-badge-dot {
  width:7px; height:7px; border-radius:50%;
  background:#4ADE80; flex-shrink:0; animation:pulse 2s infinite;
}
.hero-title {
  font-family:'Playfair Display',serif;
  font-size:clamp(36px,7vw,74px);
  font-weight:800; color:white; line-height:1.06;
  margin:0 0 20px; letter-spacing:-0.5px;
}
.hero-title em { font-style:italic; color:var(--gold-lt); }
.hero-sub {
  font-size:clamp(15px,2vw,18px); color:rgba(255,255,255,0.68);
  line-height:1.75; margin:0 0 40px; max-width:580px;
}

/* Slider arrows */
.sarrow {
  position:absolute; top:50%; transform:translateY(-50%);
  z-index:10; width:46px; height:46px; border-radius:50%;
  background:rgba(255,255,255,0.15); border:1px solid rgba(255,255,255,0.3);
  backdrop-filter:blur(8px); color:white; cursor:pointer;
  display:flex; align-items:center; justify-content:center;
  font-size:20px; transition:all 0.2s;
}
.sarrow:hover { background:rgba(200,144,42,0.7); border-color:transparent; }
.sarrow-prev { left:20px; }
.sarrow-next { right:20px; }

/* Slider dots */
.slider-dots { display:flex; gap:8px; justify-content:center; margin-top:20px; }
.sdot {
  width:8px; height:8px; border-radius:50%;
  background:rgba(255,255,255,0.35); border:none; cursor:pointer;
  transition:all 0.3s; padding:0;
}
.sdot.active { width:28px; border-radius:4px; background:var(--gold); }

/* Search box */
.search-box {
  background:white; border-radius:18px; padding:8px;
  box-shadow:0 20px 70px rgba(0,0,0,0.35);
  max-width:820px; margin:0 auto 24px; width:100%;
}
.search-row { display:flex; align-items:center; flex-wrap:wrap; }
.search-field {
  flex:1; min-width:150px; display:flex; align-items:center;
  gap:10px; padding:12px 16px;
}
.sf-icon { font-size:20px; flex-shrink:0; }
.search-field label {
  display:block; font-size:10px; font-weight:700;
  letter-spacing:1.5px; text-transform:uppercase; color:var(--muted); margin-bottom:2px;
}
.sf-input {
  display:block; width:100%; border:none; outline:none;
  font-size:14px; font-weight:600; color:var(--navy); background:transparent;
  font-family:'Plus Jakarta Sans',sans-serif; -webkit-appearance:none;
}
.search-sep { width:1px; height:44px; background:var(--border); flex-shrink:0; }
.search-cta {
  display:flex; align-items:center; gap:8px;
  background:linear-gradient(135deg,var(--navy),#2C4A7C);
  color:white; padding:14px 26px; border-radius:13px;
  font-size:14px; font-weight:700; text-decoration:none;
  margin:6px; transition:all 0.25s; white-space:nowrap;
  box-shadow:0 4px 16px rgba(26,46,74,0.4);
}
.search-cta:hover { transform:translateY(-1px); box-shadow:0 8px 24px rgba(26,46,74,0.5); }

/* Quick chips */
.hero-chips { display:flex; flex-wrap:wrap; justify-content:center; align-items:center; gap:8px; }
.chip-label { font-size:12px; color:rgba(255,255,255,0.5); font-weight:600; }
.hchip {
  display:inline-flex; align-items:center; gap:5px;
  background:rgba(255,255,255,0.1); border:1px solid rgba(255,255,255,0.2);
  color:rgba(255,255,255,0.85); padding:6px 16px; border-radius:50px;
  font-size:12px; font-weight:600; text-decoration:none; transition:all 0.2s;
}
.hchip:hover { background:rgba(255,255,255,0.2); color:white; }

/* Hero stats */
.hero-stats {
  max-width:700px; margin:0 auto;
  display:flex; align-items:center;
  background:rgba(255,255,255,0.08); border:1px solid rgba(255,255,255,0.14);
  backdrop-filter:blur(16px); border-radius:20px; overflow:hidden;
}
.hstat { flex:1; padding:20px 16px; text-align:center; }
.hstat strong {
  display:block; font-family:'Playfair Display',serif;
  font-size:28px; font-weight:800; color:white; line-height:1;
}
.hstat span { font-size:11px; color:rgba(255,255,255,0.5); margin-top:4px; display:block; }
.hstat-div { width:1px; height:44px; background:rgba(255,255,255,0.12); flex-shrink:0; }

/* Scroll indicator */
.scroll-indicator {
  width:26px; height:42px; border:2px solid rgba(255,255,255,0.35);
  border-radius:13px; position:relative; margin:20px auto 0;
}
.scroll-indicator::before {
  content:''; width:4px; height:8px; background:rgba(255,255,255,0.75);
  border-radius:2px; position:absolute; top:6px; left:50%; transform:translateX(-50%);
  animation:scrollDown 2s infinite;
}

/* ════════════════════════
   MARQUEE
════════════════════════ */
.marquee-strip {
  background:linear-gradient(135deg,var(--navy),#2C4A7C);
  padding:13px 0; overflow:hidden; white-space:nowrap;
}
.marquee-inner {
  display:inline-flex; gap:32px;
  animation:marquee 30s linear infinite;
  font-size:12px; font-weight:600; color:rgba(255,255,255,0.85); letter-spacing:0.5px;
}
.mx-dot { opacity:0.35; }

/* ════════════════════════
   SECTION TYPOGRAPHY
════════════════════════ */
.sec-head { margin-bottom:48px; }
.sec-head.center { text-align:center; }
.sec-row {
  display:flex; align-items:flex-end; justify-content:space-between;
  gap:16px; margin-bottom:44px; flex-wrap:wrap;
}
.eyebrow {
  display:inline-flex; align-items:center; gap:8px;
  font-size:11px; font-weight:700; letter-spacing:2.5px;
  text-transform:uppercase; color:var(--gold); margin-bottom:8px;
}
.eyebrow::before {
  content:''; display:inline-block; width:20px; height:2px;
  border-radius:1px; background:linear-gradient(90deg,var(--gold),var(--gold-lt));
}
.sec-title {
  font-family:'Playfair Display',serif; font-size:clamp(26px,4.5vw,44px);
  font-weight:800; color:var(--navy); line-height:1.1; letter-spacing:-0.3px; margin:0;
}
.view-all {
  display:inline-flex; align-items:center; gap:6px; font-size:13px;
  font-weight:700; color:var(--gold); text-decoration:none;
  border-bottom:1.5px solid var(--gold); padding-bottom:2px; transition:gap 0.2s; white-space:nowrap;
}
.view-all:hover { gap:10px; }

/* ════════════════════════
   CATEGORY TILES
════════════════════════ */
.cat-grid { display:grid; grid-template-columns:repeat(6,1fr); gap:16px; }
@media(max-width:900px){ .cat-grid{ grid-template-columns:repeat(3,1fr); } }
@media(max-width:480px){ .cat-grid{ grid-template-columns:repeat(2,1fr); } }

.cat-tile { text-align:center; text-decoration:none; padding:20px 12px; border-radius:18px; transition:all 0.3s; }
.cat-tile:hover { transform:translateY(-6px); background:white; box-shadow:0 12px 40px rgba(26,46,74,0.1); }
.cat-ico {
  width:68px; height:68px; border-radius:20px; margin:0 auto 12px;
  display:flex; align-items:center; justify-content:center; font-size:28px;
  background:var(--ci-bg,#F3F4F6); box-shadow:0 4px 16px var(--ci-shadow,rgba(0,0,0,0.1));
  transition:transform 0.25s;
}
.cat-tile:hover .cat-ico { transform:scale(1.1) rotate(-3deg); }
.cat-name { font-size:14px; font-weight:700; color:var(--navy); margin-bottom:2px; }
.cat-ct   { font-size:12px; color:var(--muted); }

/* ════════════════════════
   PACKAGE CARDS (homepage)
════════════════════════ */
.pkg-grid {
  display:grid; grid-template-columns:repeat(3,1fr); gap:22px;
}
@media(max-width:1024px){ .pkg-grid{ grid-template-columns:repeat(2,1fr); } }
@media(max-width:640px) { .pkg-grid{ grid-template-columns:1fr; } }

.pcard {
  background:white; border-radius:20px; overflow:hidden;
  box-shadow:0 4px 24px rgba(26,46,74,0.08); border:1px solid rgba(26,46,74,0.06);
  transition:all 0.35s cubic-bezier(0.34,1.2,0.64,1);
}
.pcard:hover { transform:translateY(-8px); box-shadow:0 20px 60px rgba(26,46,74,0.15); }
.pcard-featured { border:2px solid rgba(200,144,42,0.3); }
.pcard-dark { background:linear-gradient(160deg,var(--navy2),var(--navy)); border:1px solid rgba(200,144,42,0.15); }

.pcard-img { position:relative; height:224px; overflow:hidden; }
.pcard-img img { width:100%; height:100%; object-fit:cover; transition:transform 0.5s ease; }
.pcard:hover .pcard-img img { transform:scale(1.07); }
.pcard-overlay { position:absolute; inset:0; background:linear-gradient(to top,rgba(13,30,53,0.6) 0%,transparent 55%); }
.pcard-tag { position:absolute; top:14px; left:14px; font-size:10px; font-weight:700; padding:5px 12px; border-radius:30px; color:white; text-transform:uppercase; letter-spacing:0.5px; }
.tag-hot  { background:linear-gradient(135deg,var(--gold),#A0680A); }
.tag-green{ background:linear-gradient(135deg,var(--emerald),#1B5E30); }
.tag-navy { background:linear-gradient(135deg,var(--navy),#2C4A7C); }
.tag-premium { background:linear-gradient(135deg,#7B5E00,#C8902A); }
.pcard-top-right { position:absolute; top:14px; right:14px; }
.pcard-duration { background:rgba(0,0,0,0.45); backdrop-filter:blur(8px); color:white; font-size:11px; font-weight:700; padding:4px 10px; border-radius:20px; }

.pcard-body { padding:18px 20px 20px; }
.pcard-rating { display:flex; align-items:center; gap:8px; margin-bottom:6px; }
.stars { color:#F5A623; font-size:13px; letter-spacing:1px; }
.rcount { font-size:12px; color:var(--muted); font-weight:500; }
.pcard-title { font-family:'Playfair Display',serif; font-size:19px; font-weight:700; color:var(--navy); margin:0 0 7px; line-height:1.2; }
.pcard-desc { font-size:13px; color:var(--muted); line-height:1.65; margin:0 0 12px; }
.pcard-includes { display:flex; flex-wrap:wrap; gap:6px; margin-bottom:16px; }
.pcard-includes span { font-size:11px; font-weight:600; color:var(--navy); padding:4px 10px; border-radius:20px; border:1px solid rgba(26,46,74,0.15); background:rgba(26,46,74,0.04); }
.pcard-foot { display:flex; align-items:center; justify-content:space-between; gap:10px; flex-wrap:wrap; }
.pcard-price { display:flex; flex-direction:column; }
.price-from { font-size:10px; color:var(--muted); }
.price-val  { font-size:21px; font-weight:800; color:var(--navy); line-height:1.1; }
.price-per  { font-size:11px; color:var(--muted); }
.pcard-actions { display:flex; align-items:center; gap:8px; }

.btn-wa { width:40px; height:40px; border-radius:12px; display:flex; align-items:center; justify-content:center; font-size:18px; text-decoration:none; background:rgba(26,46,74,0.06); border:1px solid rgba(26,46,74,0.12); transition:all 0.2s; }
.btn-wa:hover { background:rgba(26,46,74,0.12); }
.btn-book { display:inline-flex; align-items:center; background:linear-gradient(135deg,var(--navy),#2C4A7C); color:white; padding:10px 20px; border-radius:50px; font-weight:700; font-size:12px; text-decoration:none; transition:all 0.2s; box-shadow:0 4px 14px rgba(26,46,74,0.3); white-space:nowrap; }
.btn-book:hover { transform:translateY(-1px); box-shadow:0 6px 20px rgba(26,46,74,0.45); }
.btn-gold    { background:linear-gradient(135deg,var(--gold),#A0680A); box-shadow:0 4px 14px rgba(200,144,42,0.35); }
.btn-emerald { background:linear-gradient(135deg,var(--emerald),#1B5E30); box-shadow:0 4px 14px rgba(45,122,79,0.35); }

/* Custom CTA card */
.pcard-cta {
  background:linear-gradient(145deg,var(--navy2),var(--navy),#1B3A2A);
  border-radius:20px; padding:32px 24px;
  display:flex; flex-direction:column; align-items:flex-start;
  justify-content:center; position:relative; overflow:hidden; min-height:340px;
}
.cta-glow { position:absolute; inset:0; background:radial-gradient(circle at 80% 20%,rgba(200,144,42,0.12),transparent 60%); }
.pcard-cta::after { content:'ॐ'; position:absolute; bottom:-16px; right:-10px; font-size:110px; opacity:0.04; color:white; font-family:serif; line-height:1; }
.cta-eyebrow { font-size:10px; font-weight:700; letter-spacing:2px; color:var(--gold-lt); text-transform:uppercase; margin-bottom:8px; }
.cta-title { font-family:'Playfair Display',serif; font-size:21px; font-weight:800; color:white; line-height:1.3; margin-bottom:10px; }
.cta-desc { font-size:13px; color:rgba(255,255,255,0.55); line-height:1.65; margin-bottom:22px; }
.cta-btn-white { display:block; text-align:center; width:100%; background:white; color:var(--navy); padding:12px; border-radius:50px; font-weight:700; font-size:13px; text-decoration:none; margin-bottom:8px; transition:all 0.2s; }
.cta-btn-white:hover { background:var(--gold-lt); }
.cta-btn-ghost { display:block; text-align:center; width:100%; background:rgba(255,255,255,0.08); color:white; padding:12px; border-radius:50px; font-weight:600; font-size:13px; text-decoration:none; border:1px solid rgba(255,255,255,0.18); transition:all 0.2s; }
.cta-btn-ghost:hover { background:rgba(255,255,255,0.15); }

/* ════════════════════════
   WHY CHOOSE US
════════════════════════ */
.why-wrap { display:grid; grid-template-columns:1fr 1fr; gap:64px; align-items:center; }
@media(max-width:900px){ .why-wrap{ grid-template-columns:1fr; gap:40px; } }
.why-desc { font-size:15px; color:var(--muted); line-height:1.75; margin:12px 0 24px; }
.why-points { display:flex; flex-direction:column; gap:16px; margin-bottom:28px; }
.wp { display:flex; gap:12px; align-items:flex-start; }
.wp-ico { font-size:20px; flex-shrink:0; margin-top:1px; }
.wp strong { display:block; font-size:14px; font-weight:700; color:var(--navy); margin-bottom:2px; }
.wp p { font-size:13px; color:var(--muted); line-height:1.6; margin:0; }
.feat-grid { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.feat-card { background:white; border-radius:18px; padding:24px 20px; box-shadow:0 4px 24px rgba(26,46,74,0.07); border:1px solid rgba(26,46,74,0.06); transition:all 0.3s; }
.feat-card:hover { transform:translateY(-4px); box-shadow:0 12px 40px rgba(26,46,74,0.12); }
.feat-accent  { background:linear-gradient(135deg,var(--navy),#2C4A7C); border:none; box-shadow:0 6px 28px rgba(26,46,74,0.3); }
.feat-accent2 { background:linear-gradient(135deg,var(--emerald),#1B5E30); border:none; box-shadow:0 6px 28px rgba(45,122,79,0.3); }
.feat-accent h4,.feat-accent p,.feat-accent2 h4,.feat-accent2 p { color:white !important; }
.feat-accent p,.feat-accent2 p { opacity:0.78; }
.feat-ico { width:52px; height:52px; border-radius:14px; display:flex; align-items:center; justify-content:center; font-size:24px; margin-bottom:14px; }
.feat-card h4 { font-size:15px; font-weight:700; color:var(--navy); margin:0 0 6px; }
.feat-card p  { font-size:13px; color:var(--muted); line-height:1.65; margin:0; }

/* ════════════════════════
   GALLERY GRID (Tours)
════════════════════════ */
.gallery-grid { display:grid; grid-template-columns:repeat(3,1fr); grid-template-rows:240px 240px; gap:16px; }
@media(max-width:900px){ .gallery-grid{ grid-template-columns:repeat(2,1fr); grid-template-rows:auto; } .gcard-tall{ grid-row:span 1; min-height:240px; } }
@media(max-width:560px){ .gallery-grid{ grid-template-columns:1fr; } }

.gcard { position:relative; border-radius:18px; overflow:hidden; display:block; text-decoration:none; transition:all 0.35s; }
.gcard-tall { grid-row:span 2; }
.gcard:hover { transform:translateY(-5px); box-shadow:0 20px 50px rgba(26,46,74,0.2); }
.gcard img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition:transform 0.5s ease; }
.gcard:hover img { transform:scale(1.06); }
.gcard-over { position:absolute; inset:0; background:linear-gradient(to top,rgba(13,30,53,0.82) 0%,rgba(13,30,53,0.1) 60%); }
.gcard-badge { position:absolute; top:14px; left:14px; font-size:10px; font-weight:700; padding:5px 12px; border-radius:30px; color:white; letter-spacing:0.5px; }
.gcard-info { position:absolute; bottom:0; left:0; right:0; padding:18px; }
.gcard-info h3 { font-family:'Playfair Display',serif; font-size:19px; font-weight:700; color:white; line-height:1.2; margin:0 0 4px; }
.gcard-info p { font-size:12px; color:rgba(255,255,255,0.7); margin:0; }
.gcard-cta { display:inline-block; margin-top:10px; background:var(--gold); color:white; padding:7px 16px; border-radius:50px; font-size:12px; font-weight:700; }
.gcard:hover .gcard-cta { background:var(--navy); }

/* ════════════════════════
   TESTIMONIALS
════════════════════════ */
.testi-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
@media(max-width:900px){ .testi-grid{ grid-template-columns:repeat(2,1fr); } }
@media(max-width:560px){ .testi-grid{ grid-template-columns:1fr; } }

.tcard { background:white; border-radius:18px; padding:26px; box-shadow:0 4px 28px rgba(26,46,74,0.08); border:1px solid rgba(26,46,74,0.06); position:relative; overflow:hidden; transition:all 0.3s; }
.tcard:hover { transform:translateY(-4px); box-shadow:0 14px 44px rgba(26,46,74,0.12); }
.tcard::before { content:'"'; position:absolute; top:12px; right:20px; font-size:80px; font-family:Georgia,serif; color:rgba(26,46,74,0.06); line-height:1; }
.tcard-navy { background:linear-gradient(135deg,var(--navy2),var(--navy)); border:none; box-shadow:0 8px 36px rgba(26,46,74,0.35); }
.tcard-navy::before { color:rgba(255,255,255,0.04); }
.tcard-stars { font-size:15px; letter-spacing:2px; color:#F5A623; margin-bottom:12px; }
.tcard-text { font-size:14px; color:#4B5563; line-height:1.75; margin-bottom:18px; }
.tcard-author { display:flex; align-items:center; gap:12px; }
.tcard-av { width:44px; height:44px; border-radius:50%; display:flex; align-items:center; justify-content:center; font-weight:800; color:white; font-size:16px; flex-shrink:0; }
.tcard-author strong { display:block; font-size:14px; font-weight:700; color:var(--navy); }
.tcard-author p { font-size:12px; color:var(--muted); margin:0; }

/* ════════════════════════
   CTA BANNER
════════════════════════ */
.cta-banner { background:linear-gradient(135deg,var(--navy2) 0%,var(--navy) 50%,#1B3A2A 100%); padding:80px 24px; position:relative; overflow:hidden; text-align:center; }
.cta-banner::before { content:'ॐ'; position:absolute; right:5%; top:50%; transform:translateY(-50%); font-size:240px; opacity:0.03; color:white; font-family:serif; line-height:1; }
.cta-banner::after { content:''; position:absolute; inset:0; background:radial-gradient(circle at 20% 50%,rgba(200,144,42,0.08),transparent 60%); }
.cta-inner { max-width:640px; margin:0 auto; position:relative; z-index:1; }
.cta-heading { font-family:'Playfair Display',serif; font-size:clamp(26px,5vw,46px); font-weight:800; color:white; line-height:1.1; margin:0 0 16px; }
.cta-sub { color:rgba(255,255,255,0.65); font-size:16px; line-height:1.7; margin:0 0 32px; }
.cta-btns { display:flex; flex-wrap:wrap; gap:12px; justify-content:center; }
.cta-b1 { display:inline-flex; align-items:center; gap:10px; background:var(--gold); color:white; padding:14px 32px; border-radius:50px; font-weight:700; font-size:14px; text-decoration:none; box-shadow:0 8px 28px rgba(200,144,42,0.4); transition:all 0.25s; }
.cta-b1:hover { transform:translateY(-2px); box-shadow:0 12px 36px rgba(200,144,42,0.5); }
.cta-b2 { display:inline-flex; align-items:center; gap:10px; background:rgba(255,255,255,0.1); color:white; padding:14px 32px; border-radius:50px; font-weight:700; font-size:14px; text-decoration:none; border:2px solid rgba(255,255,255,0.25); transition:all 0.25s; }
.cta-b2:hover { background:rgba(255,255,255,0.18); }

/* ════════════════════════
   SUBPAGE HERO
════════════════════════ */
.page-hero-section {
  position:relative;
  height:clamp(320px,46vw,480px);
  display:flex; align-items:flex-end;
  overflow:hidden;
}
.page-hero-section > img,
.page-hero-section > picture,
.page-hero-section > picture > img {
  position:absolute; inset:0; width:100%; height:100%;
  object-fit:cover; object-position:center top;
}
.hero-grad {
  position:absolute; inset:0;
  background:linear-gradient(to top,rgba(10,18,35,0.9) 0%,rgba(10,18,35,0.45) 55%,rgba(10,18,35,0.18) 100%);
}
.hero-body { position:relative; z-index:2; width:100%; max-width:1200px; margin:0 auto; padding:0 24px 40px; }
.hero-breadcrumb { font-size:12px; color:rgba(255,255,255,0.55); margin-bottom:10px; display:flex; align-items:center; gap:6px; flex-wrap:wrap; }
.hero-breadcrumb a { color:rgba(255,255,255,0.55); text-decoration:none; transition:color 0.2s; }
.hero-breadcrumb a:hover { color:var(--gold-lt); }
.hero-breadcrumb span { color:white; }
.page-hero-title { font-family:'Playfair Display',serif; font-size:clamp(24px,5vw,52px); font-weight:800; color:white; line-height:1.1; margin:0 0 8px; }
.page-hero-sub { font-size:14px; color:rgba(255,255,255,0.65); margin:0 0 16px; }
.hero-pills { display:flex; flex-wrap:wrap; gap:8px; }
.hero-pill { font-size:11px; font-weight:700; padding:5px 14px; border-radius:30px; color:white; }
.hp-navy  { background:rgba(26,46,74,0.75); border:1px solid rgba(255,255,255,0.2); }
.hp-gold  { background:linear-gradient(135deg,var(--gold),#A0680A); }
.hp-green { background:linear-gradient(135deg,var(--emerald),#1B5E30); }

/* ════════════════════════
   SUBPAGE LAYOUT & COMPONENTS
════════════════════════ */
.sub-grid { display:grid; grid-template-columns:1fr 370px; gap:44px; align-items:start; }
@media(max-width:1024px){ .sub-grid{ grid-template-columns:1fr; } }
.sub-sticky { position:sticky; top:96px; }

/* Quick info */
.qinfo-strip { display:grid; grid-template-columns:repeat(4,1fr); gap:12px; margin-bottom:32px; }
@media(max-width:640px){ .qinfo-strip{ grid-template-columns:repeat(2,1fr); } }
.qinfo-card { background:white; border-radius:14px; padding:16px 12px; text-align:center; border:1px solid var(--border); box-shadow:0 2px 10px rgba(26,46,74,0.05); transition:all 0.25s; }
.qinfo-card:hover { border-color:var(--gold); transform:translateY(-3px); box-shadow:0 8px 24px rgba(26,46,74,0.1); }
.qinfo-ico { font-size:24px; margin-bottom:7px; }
.qinfo-val { font-size:14px; font-weight:700; color:var(--navy); margin-bottom:2px; }
.qinfo-lbl { font-size:11px; color:var(--muted); }

/* Section heading (subpages) */
.sec-h3 { font-family:'Playfair Display',serif; font-size:22px; font-weight:800; color:var(--navy); margin:0 0 5px; }
.gold-line { width:44px; height:3px; background:linear-gradient(90deg,var(--gold),var(--gold-lt)); border-radius:2px; margin-bottom:18px; }

/* Consistent section block spacing — overrides all inline margin-bottom on .reveal */
.sub-grid .reveal { margin-bottom:40px !important; }
.sub-grid .reveal:last-child { margin-bottom:0 !important; }

/* Mini cards */
.mini-card { border:1px solid var(--border); border-radius:14px; padding:18px; transition:all 0.25s; background:white; }
.mini-card:hover { border-color:var(--gold); box-shadow:0 8px 24px rgba(200,144,42,0.1); transform:translateY(-2px); }
.mini-card h3 { font-size:14px; font-weight:700; color:var(--navy); margin:0 0 5px; }
.mini-card p  { font-size:13px; color:var(--muted); line-height:1.6; margin:0; }

/* Day Accordion */
.day-acc { border:1px solid var(--border); border-radius:12px; overflow:hidden; margin-bottom:8px; }
.day-acc summary {
  display:flex; align-items:center; justify-content:space-between;
  padding:14px 18px; cursor:pointer; background:#F8FAFC;
  font-weight:600; color:var(--navy); font-size:14px; transition:background 0.2s;
  list-style:none;
}
.day-acc summary::-webkit-details-marker { display:none; }
.day-acc summary:hover { background:#EEF4FF; }
.day-acc[open] summary { background:var(--navy); color:white; }
.day-acc[open] .day-num { color:var(--gold-lt) !important; }
.day-num { color:var(--gold); font-weight:800; margin-right:8px; }
.day-body { padding:14px 18px; font-size:13px; color:var(--muted); line-height:1.7; border-top:1px solid var(--border); }

/* Inclusions/exclusions */
.inc-list { list-style:none; padding:0; margin:0; }
.inc-list li { display:flex; align-items:flex-start; gap:8px; font-size:13px; color:#374151; margin-bottom:7px; }
.inc-list li:last-child { margin-bottom:0; }
.inc-check { color:#16A34A; font-size:16px; flex-shrink:0; margin-top:1px; }

/* Inclusions/Exclusions section — consistent spacing before Gallery */
.sub-grid .reveal + .reveal { margin-top:0; }
.sub-grid [class*="inc-exc"], .sub-grid .reveal:has(.inc-list) { margin-bottom:40px !important; }
.exc-check { color:#DC2626; font-size:14px; flex-shrink:0; margin-top:1px; }

/* Sidebar */
.pkg-sidebar { background:white; border-radius:18px; overflow:hidden; box-shadow:0 8px 40px rgba(26,46,74,0.12); border:1px solid var(--border); }
.pkg-sidebar-hd { background:linear-gradient(135deg,var(--navy),#2C4A7C); padding:22px; color:white; position:relative; overflow:hidden; }
.pkg-sidebar-hd::after { content:'ॐ'; position:absolute; right:14px; bottom:-8px; font-size:54px; opacity:0.1; color:white; font-family:serif; line-height:1; }
.pkg-sidebar-hd h3 { font-family:'Playfair Display',serif; font-size:19px; font-weight:700; margin:0 0 3px; }
.pkg-sidebar-hd p  { font-size:12px; color:rgba(255,255,255,0.65); margin:0; }
.price-tag { font-size:24px; font-weight:800; color:var(--gold-lt); margin-top:8px; display:block; }
.price-tag span { font-size:12px; font-weight:400; color:rgba(255,255,255,0.55); }
.pkg-sidebar-body { padding:18px; }

.sb-input {
  width:100%; padding:11px 13px; border:1.5px solid var(--border);
  border-radius:10px; font-size:13px; font-family:'Plus Jakarta Sans',sans-serif;
  outline:none; transition:all 0.2s; background:#FAFAFA; margin-bottom:10px; display:block;
}
.sb-input:focus { border-color:var(--navy); background:white; box-shadow:0 0 0 3px rgba(26,46,74,0.08); }
.sb-submit {
  width:100%; padding:13px; border:none; border-radius:12px; cursor:pointer;
  font-weight:700; font-size:14px; color:white;
  background:linear-gradient(135deg,var(--navy),#2C4A7C);
  box-shadow:0 6px 20px rgba(26,46,74,0.4); transition:all 0.2s;
  font-family:'Plus Jakarta Sans',sans-serif;
}
.sb-submit:hover { transform:translateY(-1px); box-shadow:0 8px 28px rgba(26,46,74,0.5); }
.sb-call { display:flex; align-items:center; justify-content:center; gap:8px; padding:11px; border-radius:10px; font-weight:600; font-size:13px; text-decoration:none; transition:all 0.2s; border:1.5px solid var(--border); color:var(--navy); margin-top:10px; }
.sb-call:hover { border-color:var(--navy); background:#F0F4F8; }
.sb-wa { display:flex; align-items:center; justify-content:center; gap:8px; padding:11px; border-radius:10px; font-weight:600; font-size:13px; text-decoration:none; transition:all 0.2s; margin-top:8px; background:#F0FDF4; border:1.5px solid #86EFAC; color:#16A34A; }
.sb-wa:hover { background:#DCFCE7; }

/* Note box */
.note-box { margin-top:14px; background:#FFF9E6; border:1px solid var(--gold-lt); border-radius:12px; padding:14px; }
.note-box strong { font-size:13px; color:var(--navy); }
.note-box ul { margin:8px 0 0; font-size:12px; color:#555; padding-left:16px; }
.note-box li { margin-bottom:4px; }

/* ════════════════════════
   STICKY BUTTONS
════════════════════════ */
.sticky-call, .sticky-whatsapp {
  position:fixed; right:20px; z-index:9999; width:54px; height:54px;
  border-radius:50%; display:flex; align-items:center; justify-content:center;
  cursor:pointer; text-decoration:none;
  transition:transform 0.25s cubic-bezier(0.34,1.56,0.64,1);
}
.sticky-call    { bottom:90px; background:linear-gradient(135deg,var(--gold),#A0680A); box-shadow:0 6px 20px rgba(200,144,42,0.5); animation:ring 3s infinite; }
.sticky-whatsapp{ bottom:22px; background:linear-gradient(135deg,#25D366,#128C7E); box-shadow:0 6px 20px rgba(37,211,102,0.5); animation:ring-wa 3s infinite 1s; }
.sticky-call:hover, .sticky-whatsapp:hover { transform:scale(1.15) rotate(-5deg); }
@media(max-width:768px){ .sticky-call{ bottom:84px; right:14px; width:50px; height:50px; } .sticky-whatsapp{ bottom:20px; right:14px; width:50px; height:50px; } }

/* ════════════════════════
   GLOBAL TAILWIND ORANGE OVERRIDES
════════════════════════ */
.bg-orange-50  { background-color:#F0F4F8 !important; }
.bg-orange-100 { background-color:#E2E8F0 !important; }
.text-orange-300{ color:rgba(255,255,255,0.75) !important; }
.text-orange-500{ color:var(--gold) !important; }
.text-orange-600{ color:var(--navy) !important; }
.border-orange-100 { border-color:var(--border) !important; }
.border-orange-200 { border-color:#CBD5E1 !important; }
.hover\:bg-orange-50:hover  { background-color:#F0F4F8 !important; }
.hover\:text-orange-500:hover{ color:var(--gold) !important; }
[class*="from-orange-5"][class*="to-red"] { background-image:linear-gradient(135deg,var(--navy),#2C4A7C) !important; }

/* ════════════════════════
   POPUP & FORM
════════════════════════ */
.popup-overlay { position:fixed; inset:0; z-index:99999; background:rgba(5,15,30,0.75); display:flex; align-items:center; justify-content:center; backdrop-filter:blur(6px); padding:16px; }
.popup-box { background:white; border-radius:22px; max-width:500px; width:100%; position:relative; overflow:hidden; animation:popIn 0.45s cubic-bezier(0.34,1.56,0.64,1); }
.popup-header { background:linear-gradient(135deg,var(--navy) 0%,#2C4A7C 100%); padding:26px 26px 18px; position:relative; overflow:hidden; }
.popup-header::after { content:'ॐ'; position:absolute; right:18px; top:8px; font-size:58px; opacity:0.12; color:white; font-family:serif; }
.popup-body { padding:22px 26px 26px; }
.form-input { width:100%; padding:11px 14px; border:1.5px solid var(--border); border-radius:10px; font-size:14px; font-family:'Plus Jakarta Sans',sans-serif; transition:all 0.2s; outline:none; background:#fafafa; }
.form-input:focus { border-color:var(--navy); background:white; box-shadow:0 0 0 3px rgba(26,46,74,0.08); }

/* ════════════════════════
   FOOTER
════════════════════════ */
.footer-bg { background:linear-gradient(160deg,#0D1E35 0%,#0D2B1A 60%,#1B0D0D 100%); }
footer .nav-logo-img { filter:brightness(0) invert(1); opacity:0.9; height:50px; }

/* ════════════════════════
   REVEAL ANIMATION
════════════════════════ */
.reveal, [data-reveal] {
  opacity:0; transform:translateY(26px);
  transition:opacity 0.6s ease, transform 0.6s cubic-bezier(0.34,1.2,0.64,1);
}
.reveal.visible, [data-reveal].revealed { opacity:1; transform:translateY(0); }

/* ════════════════════════
   MISC (subpages legacy)
════════════════════════ */
.btn-primary { display:inline-flex; align-items:center; gap:8px; background:linear-gradient(135deg,var(--navy),#2C4A7C); color:white; padding:13px 30px; border-radius:50px; font-weight:700; font-size:14px; transition:all 0.3s; box-shadow:0 8px 25px rgba(26,46,74,0.3); border:none; cursor:pointer; text-decoration:none; }
.btn-primary:hover { transform:translateY(-2px); }
.booking-sidebar-header { background:linear-gradient(135deg,var(--navy) 0%,#2C4A7C 100%); }
.section-title { font-family:'Playfair Display',serif; font-weight:800; line-height:1.15; color:var(--navy); }
.page-hero { position:relative; overflow:hidden; display:flex; align-items:flex-end; }
.page-hero-overlay { position:absolute; inset:0; background:linear-gradient(to top,rgba(5,10,20,0.9) 0%,rgba(5,10,20,0.4) 50%,rgba(5,10,20,0.15) 100%); }
.timeline-item { position:relative; padding-left:52px; padding-bottom:22px; }
.timeline-item::before { content:''; position:absolute; left:18px; top:30px; bottom:0; width:2px; background:linear-gradient(to bottom,var(--gold),transparent); }
.timeline-dot { position:absolute; left:0; top:0; width:34px; height:34px; border-radius:50%; background:linear-gradient(135deg,var(--gold),#A0680A); display:flex; align-items:center; justify-content:center; color:white; font-weight:700; font-size:12px; }

/* ════════════════════════
   SCROLLBAR & SELECTION
════════════════════════ */
::-webkit-scrollbar { width:6px; }
::-webkit-scrollbar-track { background:#f1f1f1; }
::-webkit-scrollbar-thumb { background:linear-gradient(var(--navy),var(--gold)); border-radius:3px; }
::selection { background:rgba(200,144,42,0.2); color:inherit; }

/* ════════════════════════
   KEYFRAMES
════════════════════════ */
@keyframes marquee   { from{transform:translateX(0)} to{transform:translateX(-50%)} }
@keyframes pulse     { 0%,100%{opacity:1} 50%{opacity:0.4} }
@keyframes scrollDown{ 0%{opacity:1;top:6px} 100%{opacity:0;top:22px} }
@keyframes popIn     { from{opacity:0;transform:scale(0.85) translateY(30px)} to{opacity:1;transform:scale(1) translateY(0)} }
@keyframes ring      { 0%,100%{box-shadow:0 6px 20px rgba(200,144,42,0.5)} 50%{box-shadow:0 6px 30px rgba(200,144,42,0.8),0 0 0 12px rgba(200,144,42,0.08)} }
@keyframes ring-wa   { 0%,100%{box-shadow:0 6px 20px rgba(37,211,102,0.5)} 50%{box-shadow:0 6px 30px rgba(37,211,102,0.8),0 0 0 12px rgba(37,211,102,0.08)} }

/* MOBILE SEARCH BOX */
@media(max-width:768px){
  .search-row { flex-direction:column; }
  .search-sep  { width:100%; height:1px; }
  .search-field{ min-width:unset; width:100%; }
}

/* ══════════════════════════════════════
   HOMEPAGE NEW SECTIONS — MOBILE
══════════════════════════════════════ */

/* How It Works — 4 cols → 2 cols on mobile */
@media(max-width:768px){
  /* How it works grid */
  #hero-sec .sarrow-prev { left:10px; }
  #hero-sec .sarrow-next { right:10px; }
}
@media(max-width:640px){
  /* About section image collage */
  .about-collage { grid-template-columns:1fr !important; }
  /* Best time grid 4→2 */
  .season-grid { grid-template-columns:repeat(2,1fr) !important; }
  /* Special packages 3→1 */
  .special-grid { grid-template-columns:1fr !important; }
}

/* FAQ details styling */
details[open] summary .faq-ico { content:'+'; }
details summary::-webkit-details-marker { display:none; }
details summary { outline:none; }

/* How It Works responsive */
@media(max-width:768px){
  .hiw-grid { grid-template-columns:repeat(2,1fr) !important; }
  .hiw-line  { display:none !important; }
}
@media(max-width:480px){
  .hiw-grid { grid-template-columns:1fr !important; }
}

/* About section 2-col → 1-col */
@media(max-width:900px){
  .about-grid    { grid-template-columns:1fr !important; }
  .about-img-col { display:none !important; }
  .tips-faq-grid { grid-template-columns:1fr !important; }
}

/* Season & Special grids */
@media(max-width:900px){
  .season-4col   { grid-template-columns:repeat(2,1fr) !important; }
  .special-3col  { grid-template-columns:1fr !important; }
}

/* ══════════════════════════════════════
   MOBILE OVERFLOW FIX — global
══════════════════════════════════════ */
@media(max-width:768px){

  /* Prevent any element from exceeding viewport */
  html, body {
    overflow-x: hidden !important;
    width: 100% !important;
    position: relative;
  }

  /* Force all inline 2-col grids to 1 col on mobile */
  [style*="grid-template-columns:1fr 1fr"],
  [style*="grid-template-columns: 1fr 1fr"],
  [style*="grid-template-columns:1fr 1fr;"],
  [style*="grid-template-columns:repeat(2"] {
    grid-template-columns: 1fr !important;
    gap: 24px !important;
  }

  /* Force 4-col and 3-col inline grids to 2 col */
  [style*="grid-template-columns:repeat(4"],
  [style*="grid-template-columns:repeat(3"] {
    grid-template-columns: repeat(2,1fr) !important;
  }

  /* Hide staggered image collage offset on mobile */
  [style*="margin-top:32px"],
  [style*="margin-top:-32px"] {
    margin-top: 0 !important;
  }

  /* Constrain all containers */
  .container, section, .section-pad {
    max-width: 100vw;
    overflow-x: hidden;
  }

  /* Fix hero content padding on mobile */
  .hero-content {
    padding: 80px 16px 24px !important;
  }

  /* Fix page hero padding */
  .hero-body {
    padding: 0 16px 32px !important;
  }

  /* Fix about section stats grid */
  [style*="grid-template-columns:repeat(4,1fr)"] {
    grid-template-columns: repeat(2,1fr) !important;
  }

  /* Special Packages — horizontal swipe on mobile */
  .special-pkg-grid {
    display: flex !important;
    flex-direction: row !important;
    overflow-x: auto !important;
    scroll-snap-type: x mandatory !important;
    gap: 16px !important;
    padding: 8px 4px 16px !important;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
  }
  .special-pkg-grid::-webkit-scrollbar { display: none; }
  .special-pkg-grid > div {
    min-width: 82vw !important;
    max-width: 82vw !important;
    scroll-snap-align: start;
    flex-shrink: 0;
  }

  /* Plan Your Visit — horizontal swipe on mobile */
  .plan-visit-grid {
    display: flex !important;
    flex-direction: row !important;
    overflow-x: auto !important;
    scroll-snap-type: x mandatory !important;
    gap: 16px !important;
    padding: 8px 4px 16px !important;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
  }
  .plan-visit-grid::-webkit-scrollbar { display: none; }
  .plan-visit-grid > div {
    min-width: 78vw !important;
    max-width: 78vw !important;
    scroll-snap-align: start;
    flex-shrink: 0;
  }
}
