/* ============================================================
   Himalayan Haven Journeys — Himalayan Teal theme (approved _theme-demo.html)
   Isolated override sheet, loaded LAST. Presentation only:
   no layout mechanics, no visibility logic, no JS hooks altered.
   Hidden stats stay hidden (guard below). No phone numbers here.
   ============================================================ */
:root{
  --t-primary:#0F4C5C; --t-secondary:#1F6F5B; --t-accent:#D9A441; --t-terra:#C65D3B;
  --t-ivory:#FAF7F0; --t-text:#263238; --t-muted:#667085; --t-border:#D9E2E5;
  --t-teal-lt:#E8F2F3; --t-green-lt:#EAF4EF;
  --t-shadow:0 8px 30px rgba(15,76,92,.08);
  --hhj-ivory:#FAF7F0; --hhj-gold-2:#E4BE6A;
}

/* ---------- base + typography ---------- */
body{background:var(--t-ivory);color:var(--t-text);font-family:'Inter',Arial,sans-serif;-webkit-font-smoothing:antialiased}
h1,h2,h3{font-family:'Fraunces',Georgia,serif}
button,input,select,textarea{font-family:inherit}
::selection{background:var(--t-accent);color:var(--t-text)}

/* rule-5 guard: hidden trust stats must stay hidden */
section .stats{display:none !important}

/* ---------- header / nav ---------- */
.site-header{background:rgba(255,255,255,.95);backdrop-filter:blur(10px);border-bottom:1px solid var(--t-border)}
.brand-mark{background:linear-gradient(135deg,var(--t-primary),var(--t-secondary));box-shadow:var(--t-shadow)}
.brand b{color:var(--t-primary)}
.brand small{color:var(--t-secondary)}
.site-header nav a{color:var(--t-text);padding-bottom:4px;border-bottom:2px solid transparent}
.site-header nav a:hover{color:var(--t-primary);border-color:var(--t-accent)}
.site-header nav a.active{color:var(--t-primary);border-color:var(--t-accent)}
.menu-btn span{background:var(--t-primary)}

/* ---------- buttons (demo language) ---------- */
.btn{border-radius:12px;font-weight:700;transition:.2s}
.btn-blue{background:var(--t-primary);color:#fff;box-shadow:var(--t-shadow)}
.btn-blue:hover{background:var(--t-secondary);color:#fff;transform:translateY(-2px)}
.btn-yellow{background:var(--t-accent);color:var(--t-text);box-shadow:var(--t-shadow)}
.btn-yellow:hover{filter:brightness(.94);color:var(--t-text);transform:translateY(-2px)}
.btn-light{background:#fff;border:1.5px solid var(--t-primary);color:var(--t-primary)}
.btn-light:hover{background:var(--t-teal-lt);color:var(--t-primary)}

/* ---------- homepage hero (light ivory, form left / copy right) ---------- */
.hero{background:linear-gradient(180deg,#FAF7F0 0%,#F3EEE1 100%);grid-template-columns:.95fr 1.05fr}
.hero-left{order:2}
.hero-form-wrap{order:1}
.hero h1{color:var(--t-primary)}
.hero-support-copy p{color:#3d4b53}
.eyebrow{display:inline-flex;align-items:center;gap:9px;color:var(--t-secondary)}
.eyebrow::before{content:"";width:28px;height:2px;background:var(--t-accent);border-radius:2px}
.text-link{color:var(--t-primary)}
.text-link:hover{color:var(--t-secondary)}
.hero-points span{background:rgba(255,255,255,.9);border:1px solid var(--t-border);color:var(--t-primary)}
.hero-visual img{border-radius:18px}
.hero-visual-taxi .fleet-caption{background:rgba(15,76,92,.86);border:1px solid rgba(255,255,255,.2)}
.booking-card{border-radius:18px;box-shadow:0 18px 45px rgba(15,76,92,.14)}
.booking-card h2{color:var(--t-primary)}
.form-grid input,.form-grid select{border-color:var(--t-border);color:var(--t-text)}
.form-grid input:focus,.form-grid select:focus{border-color:var(--t-primary);box-shadow:0 0 0 3px rgba(15,76,92,.12)}

/* ---------- marquee (gold band) ---------- */
.marquee{background:var(--t-accent);padding:12px 0}
.marquee-track,.marquee-track span{color:var(--t-text);font-weight:700}

/* ---------- sections ---------- */
.section.alt{background:var(--t-green-lt)}
.section-head h2{color:var(--t-primary)}
.section-kicker{color:var(--t-secondary)}
.slider-actions button{border-color:var(--t-border);color:var(--t-primary)}
.slider-actions button:hover{background:var(--t-primary);border-color:var(--t-primary);color:#fff}

/* ---------- package cards (demo two-button language) ---------- */
.package-card{border-radius:16px;box-shadow:var(--t-shadow)}
.package-card:hover{border-color:var(--t-accent);box-shadow:0 16px 40px rgba(15,76,92,.14)}
.card-image-wrap{height:185px}
.card-body h3{color:var(--t-text)}
.card-body .price{color:var(--t-primary)}
.card-body .price del{color:#98a3b4}
.card-body .price b{color:var(--t-secondary);background:var(--t-green-lt)}
.duration-badge{background:rgba(15,76,92,.82);border:1px solid rgba(255,255,255,.25)}
.inclusions span{background:var(--t-teal-lt);border:1px solid var(--t-border);color:var(--t-primary)}
.card-btns{margin-top:auto;display:grid;grid-template-columns:1fr 1fr;gap:8px}
.btn-card-teal{display:inline-flex;align-items:center;justify-content:center;background:var(--t-primary);color:#fff;font-size:12.5px;font-weight:700;padding:11px 8px;border-radius:10px;text-align:center;text-decoration:none;transition:.2s}
.btn-card-teal:hover{background:var(--t-secondary);color:#fff}
.btn-card-light{display:inline-flex;align-items:center;justify-content:center;background:#fff;border:1.5px solid var(--t-primary);color:var(--t-primary);font-size:12.5px;font-weight:700;padding:10px 8px;border-radius:10px;text-align:center;text-decoration:none;transition:.2s}
.btn-card-light:hover{background:var(--t-teal-lt);color:var(--t-primary)}
.view-btn{background:#fff;border:1.5px solid var(--t-primary);color:var(--t-primary);box-shadow:none}
.view-btn:hover{background:var(--t-teal-lt);color:var(--t-primary);transform:translateY(-2px)}

/* ---------- homepage taxi/tempo vbox panels + compact rows ---------- */
.vbox{border-radius:18px;box-shadow:var(--t-shadow);overflow:hidden}
.vbox-taxi{background:var(--t-teal-lt);border:1px solid #cfdee2}
.vbox-tempo{background:var(--t-green-lt);border:1px solid #d4e2d6}
.vbox-taxi .vbox-head{background:linear-gradient(135deg,var(--t-primary),var(--t-secondary))}
.vbox-tempo .vbox-head{background:linear-gradient(135deg,var(--t-secondary),#2A8A6E)}
.vbox-head h3{color:#fff}
.vbox-head p{color:#D9E2E5}
.vbox-head .icon{background:rgba(255,255,255,.16)}
.vbox .vlist{padding:16px 18px 8px;display:grid;gap:10px;background:transparent}
.vrow{background:#fff;border:1px solid var(--t-border);border-radius:14px;padding:12px 14px;margin:0;display:grid;grid-template-columns:80px minmax(0,1fr) auto auto;gap:4px 12px;align-items:center;box-shadow:var(--t-shadow)}
.vrow:last-child{border-bottom:1px solid var(--t-border)}
.vrow:hover{border-color:var(--t-accent);background:#fff;transform:translateY(-2px)}
.vrow .vimg{width:80px;height:64px;border-radius:9px;object-fit:cover;background:var(--t-teal-lt)}
.vinfo b{color:var(--t-text);font-size:15px}
.vinfo .vmeta{font-size:11px;color:var(--t-muted);font-weight:600;letter-spacing:.3px;margin-top:3px;text-transform:uppercase}
.vprice .amt{font-family:'Inter',Arial,sans-serif;font-size:17px;font-weight:700;color:var(--t-primary)}
.vprice .per{font-size:10px;color:var(--t-muted)}
.vacts{width:102px;display:grid;gap:6px}
.mini{width:102px;min-height:32px;padding:6px 8px;font-size:12.5px;border-radius:8px}
.mini-detail{background:var(--t-teal-lt);color:var(--t-primary);border:1px solid #cfdee2}
.mini-detail:hover{background:#d5e7ea;color:var(--t-primary)}
.mini-quote{background:var(--t-accent);color:var(--t-text)}
.mini-quote:hover{filter:brightness(.93);color:var(--t-text)}
.vseo{padding:6px 18px 20px}
.vseo>span{display:block;font-size:12px;letter-spacing:1.6px;font-weight:800;color:var(--t-primary);margin:8px 0 10px}
.vbox-tempo .vseo>span{color:var(--t-secondary)}
.kw{display:flex;flex-wrap:wrap;gap:8px}
.kw a,.kw i{font-style:normal;text-decoration:none;font-size:12px;font-weight:600;border-radius:999px;padding:8px 14px;background:#fff;color:var(--t-primary);border:1px solid #cfdee2;transition:.2s}
.kw a:hover{background:var(--t-primary);color:#fff;border-color:var(--t-primary)}
.vbox-tempo .kw a,.vbox-tempo .kw i{color:var(--t-secondary);border-color:#cbdccd}
.vbox-tempo .kw a:hover{background:var(--t-secondary);border-color:var(--t-secondary);color:#fff}

/* ---------- homepage routes + CTA band ---------- */
.hroute-title{color:var(--t-accent);font-size:12px;letter-spacing:1.6px;font-weight:800}
.hroute-chips{display:flex;flex-wrap:wrap;gap:8px}
.hroute-chips a,.hroute-chips span{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.25);color:#fff;border-radius:999px;padding:8px 14px;font-size:12.5px;font-weight:600;text-decoration:none}
.hroute-chips a:hover{background:var(--t-accent);border-color:var(--t-accent);color:var(--t-text)}
.cta{background:var(--t-primary);border-radius:18px;padding:46px;color:#fff}
.cta h2{color:#fff}
.cta p{color:#D9E2E5}
.cta .section-kicker{color:var(--t-accent)}
/* CTA-to-footer breathing gap (desktop only): 55px was excessive cream.
   Mobile keeps its base spacing; bar clearance lives downstream in main. */
@media(min-width:801px){
  .cta{margin-bottom:25px;max-width:1320px}
  .footer-main{max-width:1350px;padding:40px 16px 28px}
}

/* ---------- listing pages ---------- */
.listing-hero h1{color:#fff}
.listing-tabs a{color:var(--t-primary)}
.listing-tabs a:hover{border-color:var(--t-accent);color:var(--t-secondary)}
.listing-tabs a.active{background:var(--t-accent);color:var(--t-text);border-color:transparent;box-shadow:0 8px 18px rgba(217,164,65,.3)}
.listing-grid .package-card,.listing-body .package-card{box-shadow:0 6px 20px rgba(15,76,92,.06)}
.listing-cta{background:var(--t-primary)}
.listing-cta h2{color:#fff}
.listing-cta p{color:#D9E2E5}

/* ---------- taxi / tempo service pages (demo-exact rows) ---------- */
.veh-col-title{color:var(--t-primary)}
.veh-col:last-child .veh-col-title{color:var(--t-secondary)}
.veh-row:hover{border-color:var(--t-accent)}
.veh-img{height:64px}
.veh-main h3{color:var(--t-text)}
.veh-price{font-size:17px;color:var(--t-primary)}
.veh-btn.view{background:var(--t-teal-lt);color:var(--t-primary);border:1px solid #cfdee2}
.veh-btn.view:hover{background:#d5e7ea}
.veh-btn.gold{background:var(--t-accent);box-shadow:0 6px 14px rgba(217,164,65,.35)}
.veh-btn.gold:hover{filter:brightness(.95)}
.veh-col:first-child .veh-sub{color:var(--t-primary)}
.veh-col:last-child .veh-sub{color:var(--t-secondary)}
.route-chips a{color:var(--t-primary)}
.route-chips a:hover{background:var(--t-primary);border-color:var(--t-primary);color:#fff}
.veh-col:last-child .route-chips a{color:var(--t-secondary)}
.veh-col:last-child .route-chips a:hover{background:var(--t-secondary);border-color:var(--t-secondary);color:#fff}

/* ---------- quote forms ---------- */
.quote-form-card{border-radius:18px;box-shadow:0 18px 45px rgba(15,76,92,.14)}
.quote-form-card h2{color:var(--t-primary)}
.quote-grid input,.quote-grid select,.quote-grid textarea{background:#fff;color:var(--t-text)}
.quote-grid input:focus,.quote-grid select:focus,.quote-grid textarea:focus{outline:none;border-color:var(--t-primary);box-shadow:0 0 0 3px rgba(15,76,92,.12);background:#fff}
.quote-submit{background:var(--t-accent);box-shadow:0 8px 20px rgba(217,164,65,.3)}
.quote-submit:hover{filter:brightness(.94);color:var(--t-text);transform:translateY(-2px)}

/* ---------- service / landing sections ---------- */
.service-hero h1{color:#fff}
.service-section h2{color:var(--t-primary)}
.seo-para{color:#3d4b53}
.trip-card h3{color:var(--t-primary)}
.trip-card:hover{border-color:var(--t-accent)}
.trip-card .quote-link{color:var(--t-secondary)}
.trip-card .quote-link:hover{color:var(--t-primary)}
.chips a:hover{background:var(--t-accent);border-color:var(--t-accent);color:var(--t-text)}
.faq-list summary{color:var(--t-primary)}
.intro-panel{background:var(--t-teal-lt);border:1px solid #cfdee2;border-radius:18px;padding:28px}
.intro-panel h2{color:var(--t-primary)}
.intro-panel p{color:#3d4b53}
.provider-chip{display:inline-block;background:#fff;border:1px solid var(--t-border);border-radius:999px;padding:9px 16px;font-size:12.5px;font-weight:700;color:var(--t-primary)}
.fare-chip{display:inline-block;background:#FBF3DF;border:1px solid #EAD9A8;border-radius:999px;padding:9px 16px;font-size:12.5px;font-weight:700;color:var(--t-text)}
.season-panel{background:var(--t-green-lt);border:1px solid #d4e2d6;border-radius:18px;padding:28px}
.season-panel h2{color:var(--t-secondary)}
.season-panel p{color:#3d4b53}

/* ---------- package detail ---------- */
.box{border-radius:18px;box-shadow:var(--t-shadow)}
.box h2{color:var(--t-primary)}
.cta-box{background:var(--t-primary)}
.cta-box h2,.cta-box h3{color:#fff}

/* ---------- get-quote page ---------- */
.gq-hero h1{color:#fff}
.gq-form-card{border-radius:18px;box-shadow:0 18px 45px rgba(15,76,92,.14)}
.gq-form-card h2{color:var(--t-primary)}
.gq-side-card{border-radius:18px;box-shadow:0 8px 26px rgba(15,76,92,.07)}
.gq-side-card h3{color:var(--t-primary)}
.gq-rate b{color:var(--t-text)}
.gq-rate .r{color:var(--t-primary);font-weight:700}

/* ---------- footer (demo teal band) ---------- */
footer{background:var(--t-primary)}
.footer-main h4{color:var(--t-accent);font-size:12px;letter-spacing:1.4px;text-transform:uppercase}
.footer-main a{color:#EDE6D3}
.footer-main a:hover{color:var(--t-accent)}
.footer-main p,.footer-main span{color:#C4D4D8}
.footer-brand .brand-mark{background:linear-gradient(135deg,#2A7D8F,var(--t-secondary));color:#fff}
.footer-brand b{color:#fff}
.footer-bottom{border-top:1px solid rgba(255,255,255,.15);color:#A9BEC4}

/* ---------- package detail: retire old-navy overlays + gold gradients ---------- */
.package-hero-v12 .hero-overlay{background:linear-gradient(90deg,rgba(15,76,92,.95) 0%,rgba(15,76,92,.82) 45%,rgba(15,76,92,.45) 75%,rgba(15,76,92,.15) 100%)}
.package-hero-v12 .duration-v12{background:rgba(15,76,92,.82);border:1px solid rgba(255,255,255,.25)}
.v14-card:hover{border-color:var(--t-accent);box-shadow:0 14px 32px rgba(15,76,92,.13)}
.v14-gallery{box-shadow:0 6px 20px rgba(15,76,92,.06)}
.v14-card a:hover{color:var(--t-secondary)}
.itinerary-backdrop{background:rgba(10,52,63,.62)}
.yellow{background:var(--t-accent);box-shadow:0 10px 22px rgba(217,164,65,.32)}
.yellow:hover{background:var(--t-accent);filter:brightness(.94);transform:translateY(-2px)}
.v14-download{background:var(--t-accent) !important;color:var(--t-text) !important;box-shadow:0 10px 22px rgba(217,164,65,.32)}
.v14-download:hover{background:var(--t-accent) !important;filter:brightness(.94);transform:translateY(-2px)}
.itinerary-submit{background:var(--t-accent)}
.itinerary-submit:hover{background:var(--t-accent);filter:brightness(.94);transform:translateY(-2px)}
.v16-enquire-btn{background:var(--t-accent)}
.v16-enquire-btn:hover{background:var(--t-accent);filter:brightness(.94);transform:translateY(-2px)}
.v16-submit{background:var(--t-accent)}
.v16-submit:hover{background:var(--t-accent);filter:brightness(.94)}

/* ---------- Bug fixes (root-cause, no hacks, no negative margins) ---------- */
/* Footer gap: body-level bottom padding painted a blank strip AFTER the
   footer on every page (76px base, 72px <=800px, 86px <=768px) — including
   desktop, where no fixed bar is rendered at all. Removed everywhere. */
body{padding-bottom:0}
/* Bottom-bar clearance moved INSIDE the document (main element), scoped to
   pages that actually render a fixed bottom bar, so the footer ends the
   document naturally on both desktop and mobile. */
body.has-sticky-bar main{padding-bottom:76px}

/* Dark-photo hero: .hero-booking paints a blurred photo (::before) plus a
   dark teal gradient (::after) on ALL viewports, so hero copy must be
   light. Dark text on that overlay fails contrast everywhere. */
.hero-booking h1{color:#fff}
.hero-support-copy p{color:#E8F2F3}
.hero-booking .text-link{color:#fff}
.hero-booking .text-link:hover{color:var(--t-accent)}
.hero-booking .hero-points span{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.35);color:#fff}

/* Route chips: solid white pills + dark text. Beats the compound base
   selectors (.hroute-chips.taxi/.tempo a) that were winning over the
   translucent treatment and printing dark text on the dark section. */
.routes .hroute-chips a,.routes .hroute-chips span{background:#fff;border:1px solid #fff}
.routes .hroute-chips.taxi a,.routes .hroute-chips.taxi span{color:var(--t-primary)}
.routes .hroute-chips.tempo a,.routes .hroute-chips.tempo span{color:var(--t-secondary)}
.routes .hroute-chips a:hover{background:var(--t-accent);border-color:var(--t-accent);color:var(--t-text);filter:none}
.routes .hroute-chips a:focus-visible{outline:2px solid var(--t-accent);outline-offset:2px}

/* Homepage routes eyebrow: white text + gold dash (base gold kicker
   washes out on the dark teal section at small sizes). */
.routes .section-kicker{color:#fff}
.routes .section-kicker::before{content:"";display:inline-block;width:28px;height:2px;background:var(--t-accent);border-radius:2px;vertical-align:middle;margin-right:9px}

/* ---------- responsive (mirrors demo breakpoints) ---------- */
@media(max-width:1000px){
  .veh-cols{grid-template-columns:1fr}
}
@media(max-width:800px){
  body{padding-bottom:0}
  .hero{grid-template-columns:1fr}
  .hero-left{order:1}
  .hero-form-wrap{order:2}
  .cta{padding:30px 22px}
}
@media(max-width:768px){
  body{padding-bottom:0}
  body.has-fixed-bar main{padding-bottom:86px}
  body.has-sticky-bar main{padding-bottom:86px}
}
@media(max-width:560px){
  .vbox .vlist{padding:12px}
  .vrow{grid-template-columns:60px minmax(0,1fr);gap:6px 10px;padding:12px}
  .vrow .vimg{width:60px;height:48px;grid-row:1/3}
  .vrow .vinfo{grid-column:2}
  .vrow .vprice{grid-column:2;text-align:left}
  .vrow .vprice .per{display:inline}
  .vrow .vacts{grid-column:1/-1;grid-template-columns:102px 102px;justify-content:start;margin-top:2px}
  .card-btns{grid-template-columns:1fr 1fr}
}
/* ---------- Footer compact (whitespace-led; content/typography untouched) ---------- */
.footer-main{padding:40px 28px 28px;gap:26px}
.footer-main>div{gap:8px}
.footer-main p{margin:0}
.footer-main h4{margin:0 0 4px}
.footer-bottom{padding:14px 18px}
@media(max-width:800px){
  .footer-main{padding:30px 18px 24px;gap:22px}
}

/* ---------- Brand polish: Journeys in premium gold ---------- */
.brand small,.footer-brand small{color:var(--t-accent)}

@media (prefers-reduced-motion:reduce){
  .package-card,.vrow,.veh-row,.trip-card{transition:none}
}
