:root{--sf:#F47B00;--sf2:#FF9D2F;--sf3:#A85200;--sfg:rgba(244,123,0,0.28);--sf-glow:rgba(244,123,0,0.35);--gd:#E8BD3A;--nv:#040C1E;--nv2:#061428;--nv3:#0B1F3A;--wh:#fff;--r6:6px;--r12:12px;--r20:20px;--r28:28px;--rp:100px}
*{margin:0;padding:0;box-sizing:border-box}
body{font-family:'Nunito',sans-serif;background:var(--nv);color:var(--wh);-webkit-font-smoothing:antialiased}

.lem{width:38px;height:38px;background:linear-gradient(135deg,var(--sf),var(--sf3));border-radius:var(--r12);display:flex;align-items:center;justify-content:center;font-size:20px;box-shadow:0 4px 16px var(--sfg)}
.ln{font-family:'Cinzel',serif;font-size:15px;font-weight:700;background:linear-gradient(135deg,var(--sf2),var(--gd));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.ls{font-size:9px;color:rgba(255,255,255,.3);letter-spacing:2px;text-transform:uppercase;display:block;margin-top:1px}
nav{display:flex;align-items:center;gap:4px}
nav a{color:rgba(255,255,255,.85);text-decoration:none;font-size:13px;font-weight:600;padding:7px 14px;border-radius:var(--r6);transition:all .2s}
nav a:hover{color:var(--wh);background:rgba(244,123,0,.1)}

.accent{background:linear-gradient(135deg,var(--sf2),#F5D060);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}

.page-hero{background:linear-gradient(160deg,var(--nv2),var(--nv3));border-bottom:1px solid rgba(244,123,0,.12);padding:40px 5%;position:relative;overflow:hidden}
.page-hero::before{content:'';position:absolute;top:-80px;right:-80px;width:400px;height:400px;background:radial-gradient(ellipse,rgba(244,123,0,.08),transparent 70%);pointer-events:none}
.page-hero::after{content:'';position:absolute;bottom:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,var(--sf),#E8BD3A,var(--sf),transparent)}
.ph-inner{max-width:1200px;margin:0 auto;position:relative;z-index:1}
.ptag{display:inline-flex;align-items:center;gap:8px;background:rgba(244,123,0,.1);border:1px solid rgba(244,123,0,.22);border-radius:var(--rp);padding:5px 16px;font-size:10px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--sf2);margin-bottom:14px}
.ph{font-family:'Cinzel',serif;font-size:clamp(26px,4vw,50px);font-weight:700;color:var(--wh);margin-bottom:12px;line-height:1.15}
.ps{font-size:14px;color:rgba(255,255,255,.75);max-width:600px;line-height:1.75;margin-bottom:24px}

/* Search hero */
.hero-search{display:flex;gap:10px;max-width:560px}
.hs-input{flex:1;padding:12px 18px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);border-radius:var(--r12);font-size:14px;font-weight:600;color:var(--wh);font-family:'Nunito',sans-serif;outline:none;transition:all .2s}
.hs-input::placeholder{color:rgba(255,255,255,.25);font-weight:400}
.hs-input:focus{border-color:rgba(244,123,0,.4);background:rgba(244,123,0,.04)}
.hs-btn{background:linear-gradient(135deg,var(--sf),var(--sf3));color:var(--wh);border:none;padding:12px 24px;border-radius:var(--r12);font-size:14px;font-weight:700;cursor:pointer;font-family:'Nunito',sans-serif;white-space:nowrap;box-shadow:0 6px 20px var(--sfg);transition:all .2s}
.hs-btn:hover{transform:translateY(-1px);box-shadow:0 10px 28px var(--sfg)}

/* Stats */
.stats-strip{background:var(--nv3);border-bottom:1px solid rgba(255,255,255,.04);padding:20px 5%;display:flex;justify-content:center;gap:0}
.sstat{flex:1;max-width:200px;text-align:center;padding:0 24px;border-right:1px solid rgba(255,255,255,.06)}
.sstat:last-child{border-right:none}
.sstat-n{font-family:'Cinzel',serif;font-size:26px;font-weight:700;background:linear-gradient(135deg,var(--sf2),var(--gd));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.sstat-l{font-size:10px;color:rgba(255,255,255,.35);text-transform:uppercase;letter-spacing:1px;margin-top:2px}

/* Filter bar */
.filter-bar{background:rgba(255,255,255,.02);border-bottom:1px solid rgba(255,255,255,.05);padding:14px 5%;display:flex;gap:8px;overflow-x:auto}
.filter-bar::-webkit-scrollbar{display:none}
.fbtn{padding:7px 18px;border-radius:var(--rp);border:1px solid rgba(255,255,255,.09);background:transparent;font-size:12px;font-weight:700;cursor:pointer;color:rgba(255,255,255,.5);transition:all .2s;font-family:'Nunito',sans-serif;white-space:nowrap}
.fbtn:hover{border-color:rgba(244,123,0,.3);color:var(--sf2)}
.fbtn.act{background:rgba(244,123,0,.12);border-color:rgba(244,123,0,.3);color:var(--sf2)}

.content{max-width:1200px;margin:0 auto;padding:40px 5%}
.region-intro{font-size:13px;color:rgba(255,255,255,.45);max-width:760px;line-height:1.7;margin-bottom:28px}
.region-desc{font-size:12px;color:rgba(255,255,255,.4);line-height:1.6;max-width:680px;margin:6px 0 18px}

/* Fare banner */
.fare-banner{background:linear-gradient(135deg,rgba(244,123,0,.1),rgba(232,189,58,.06));border:1px solid rgba(244,123,0,.18);border-radius:var(--r28);padding:28px 32px;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:20px;margin-bottom:40px}
.fb-text h2{font-family:'Cinzel',serif;font-size:20px;color:var(--wh);margin-bottom:4px}
.fb-text p{font-size:12px;color:rgba(255,255,255,.4)}
.fb-rates{display:flex;gap:10px;flex-wrap:wrap}
.fb-rate{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);border-radius:var(--r12);padding:10px 16px;text-align:center}
.fb-rate-v{font-family:'Cinzel',serif;font-size:18px;font-weight:700;color:var(--sf2)}
.fb-rate-l{font-size:9px;color:rgba(255,255,255,.35);text-transform:uppercase;letter-spacing:.5px;margin-top:2px}
.btn-fb{background:linear-gradient(135deg,var(--sf),var(--sf3));color:var(--wh);padding:12px 24px;border-radius:var(--r12);font-size:13px;font-weight:700;text-decoration:none;display:inline-flex;align-items:center;gap:6px;box-shadow:0 6px 20px var(--sfg);transition:all .2s;white-space:nowrap}
.btn-fb:hover{transform:translateY(-1px);box-shadow:0 10px 28px var(--sfg)}

/* Region sections */
.region{margin-bottom:44px}
.region-hdr{display:flex;align-items:center;gap:12px;margin-bottom:18px;padding-bottom:12px;border-bottom:1px solid rgba(244,123,0,.15)}
.region-icon{font-size:26px}
.region-name{font-family:'Cinzel',serif;font-size:20px;color:var(--wh)}
.region-count{background:rgba(244,123,0,.1);border:1px solid rgba(244,123,0,.2);color:var(--sf2);padding:3px 12px;border-radius:var(--rp);font-size:11px;font-weight:700}
.routes-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(288px,1fr));gap:10px}
.rcard{display:flex;align-items:center;gap:12px;background:rgba(255,255,255,.025);border:1px solid rgba(255,255,255,.06);border-radius:var(--r20);padding:14px 16px;cursor:pointer;text-decoration:none;color:inherit;transition:all .25s}
.rcard:hover{background:rgba(244,123,0,.05);border-color:rgba(244,123,0,.28);transform:translateX(5px);box-shadow:0 4px 20px rgba(26,8,0,.4)}
.remoji{font-size:24px;flex-shrink:0}
.rinfo{flex:1;min-width:0}
.rname{font-size:13px;font-weight:700;color:var(--wh);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rmeta{font-size:11px;color:rgba(255,255,255,.3);margin-top:2px}
.rprice{text-align:right;flex-shrink:0}
.rpv{font-family:'Cinzel',serif;font-size:15px;font-weight:700;color:var(--sf2)}
.rpd{font-size:10px;color:rgba(255,255,255,.25);margin-top:2px}

footer a{color:var(--sf2);text-decoration:none}
@media(max-width:600px){nav{display:none}.hero-search{flex-direction:column}.stats-strip{gap:0;flex-wrap:wrap}.sstat{min-width:50%}}

/* ═══════════════════ CHAKRA BEHIND GIRL LOADER ═══════════════════ */
#loader {
  position: fixed; inset: 0; z-index: 9999;
  background: linear-gradient(175deg, #F2F4FA 0%, #E8ECF7 45%, #DDE3F4 100%);
  display: flex; flex-direction: column;
  align-items: center; justify-content: center;
  transition: opacity 0.9s ease, visibility 0.9s ease;
  overflow: hidden;
}
#loader.out { opacity: 0; visibility: hidden; pointer-events: none; }

#loader::before {
  content: '';
  position: absolute; inset: 0; pointer-events: none;
  background: radial-gradient(ellipse 65% 55% at 50% 38%,
    rgba(255,255,255,0.78) 0%, rgba(255,255,255,0.28) 55%, transparent 100%);
}

/* ── LAYER STACK ── */
.ld-scene {
  position: relative;
  width: min(320px, 86vw);
  height: min(400px, 108vw);
  animation: ldSceneReveal 0.9s 0.2s cubic-bezier(0.34,1.1,0.64,1) both,
             ldFloat 4.5s 1.2s ease-in-out infinite;
}
@keyframes ldSceneReveal {
  from { opacity: 0; transform: scale(0.82) translateY(18px); }
  to   { opacity: 1; transform: scale(1) translateY(0); }
}
@keyframes ldFloat {
  0%,100% { transform: translateY(0); }
  50%     { transform: translateY(-7px); }
}

/* LAYER 1 — India map (bottom) */
.ld-map-img {
  position: absolute;
  inset: 0; width: 100%; height: 100%;
  object-fit: contain;
  object-position: center 30%;
  z-index: 1;
  opacity: 0.85;
}

/* LAYER 2 — Spinning Ashoka Chakra (behind girl, in front of map) */
.ld-chakra-svg {
  position: absolute;
  /* centre it over the chakra position in the map photo */
  left: 50%; top: 46%;
  transform: translate(-50%, -50%);
  width: 85%; height: auto;
  z-index: 2;
  animation: ldChakraSpin 8s linear infinite;
  transform-origin: center center;
  filter: drop-shadow(0 6px 24px rgba(4,12,60,0.35));
}
@keyframes ldChakraSpin {
  from { transform: translate(-50%, -50%) rotate(0deg); }
  to   { transform: translate(-50%, -50%) rotate(360deg); }
}

/* LAYER 3 — Girl photo (front, on top of chakra) */
.ld-girl-img {
  position: absolute;
  left: 50%; top: 46%;
  transform: translate(-50%, -50%);
  width: 58%; height: auto;
  z-index: 3;
  object-fit: contain;
}

/* bottom text */
.loader-bottom {
  position: relative; z-index: 6;
  text-align: center; margin-top: 14px;
  animation: ldTextReveal 0.7s 0.9s ease both;
}
@keyframes ldTextReveal {
  from { opacity: 0; transform: translateY(12px); }
  to   { opacity: 1; transform: translateY(0); }
}
.loader-brand {
  font-family: 'Playfair Display','Cinzel', Georgia, serif;
  font-size: clamp(20px,5vw,26px); font-weight: 700;
  color: #040C1E; letter-spacing:-0.01em;
  margin-bottom: 5px; line-height: 1.25;
}
.loader-tagline {
  font-family: 'Nunito', sans-serif;
  font-size: 13px; font-weight: 500;
  color: rgba(26,8,0,0.52); line-height: 1.65; margin-bottom: 16px;
}
.ld-badge {
  width: 72px; height: 72px; border-radius: 50%;
  overflow: hidden; margin: 0 auto;
  box-shadow: 0 2px 14px rgba(26,8,0,0.14),
              0 0 0 2px rgba(201,162,39,0.45);
  animation: ldBadgePop 0.6s 1.2s cubic-bezier(0.34,1.4,0.64,1) both;
}
@keyframes ldBadgePop {
  from { opacity: 0; transform: scale(0.5); }
  to   { opacity: 1; transform: scale(1); }
}
.ld-badge img { width:100%; height:100%; object-fit:cover; }
.loader-bar {
  width: 180px; height: 2px;
  background: rgba(26,8,0,0.08);
  border-radius: 2px; margin: 14px auto 0; overflow: hidden;
}
.loader-bar-fill {
  height: 100%; width: 0; border-radius: 2px;
  background: linear-gradient(90deg, #F47B00, #C9A227, #138808);
  animation: ldFill 2.6s cubic-bezier(0.4,0,0.2,1) forwards;
}
@keyframes ldFill { to { width: 100%; } }

/* ═══════════════════════════════════════════════
   /* ═══════════════════ WARM PEACH THEME — Token Override
═══════════════════════════════════════════════ */
:root {
  --pc-900: #FFF0E8;   /* page base — warm peach */
  --pc-800: #FFE8DC;   /* alt sections */
  --pc-700: #FFD9C8;   /* deeper peach */
  --pc-600: #F5C4AC;   /* borders */
  --pc-400: #D4956A;   /* muted accent */
  --pc-200: #A86840;   /* sub-text */
  --pc-100: #7A4420;   /* dark-on-light */

  /* Flip text to dark */
  --wh:     #1A0800;
  --cream:  #FFF0E8;
  --muted:  rgba(60,25,5,0.55);
  --faint:  rgba(60,25,5,0.09);

  /* Softer shadows on light bg */
  --shadow-card: 0 4px 24px rgba(180,90,30,0.12), 0 1px 4px rgba(180,90,30,0.07);
  --shadow-hero:  0 20px 80px rgba(180,90,30,0.14);
  --glow-sf: 0 0 40px rgba(244,123,0,0.20);
  --glow-gd: 0 0 30px rgba(201,162,39,0.14);
}

/* ── PAGE BASE ── */
body { background: #FFF0E8 !important; color: #1A0800 !important; }

/* ── HEADER ── */

header::before {
  background: linear-gradient(90deg,#F47B00,#E8BD3A,#138808) !important;
}

.logo-name, 

nav a { color: rgba(26,8,0,0.70) !important; font-weight:700 !important; }
nav a:hover { color: #F47B00 !important; background: rgba(244,123,0,0.10) !important; }

/* ── HERO ── */
.hero { background: #FFF0E8 !important; }
.hero-grid {
  background-image: radial-gradient(circle, rgba(180,90,30,0.10) 1px, transparent 1px) !important;
}
.blob-1 { background: radial-gradient(ellipse,rgba(244,123,0,0.10) 0%,transparent 70%) !important; }
.blob-2 { background: radial-gradient(ellipse,rgba(201,162,39,0.07) 0%,transparent 70%) !important; }
.blob-3 { background: radial-gradient(ellipse,rgba(19,136,8,0.05) 0%,transparent 70%) !important; }
.hero-headline, .hero-eyebrow, .hero-sub { color: #1A0800 !important; }
.hero-sub { color: rgba(60,25,5,0.60) !important; }
.hero-eyebrow {
  background: rgba(244,123,0,0.12) !important;
  border-color: rgba(244,123,0,0.28) !important;
  color: #D46800 !important;
}
.hstat-num { background: linear-gradient(135deg,#F47B00,#E8BD3A); -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text; }
.hstat-label { color: rgba(60,25,5,0.45) !important; }
.trust-badge {
  background: rgba(60,25,5,0.06) !important;
  border-color: rgba(60,25,5,0.12) !important;
  color: rgba(60,25,5,0.65) !important;
}

/* ── BOOKING WIDGET ── */
.booking-widget {
  background: rgba(255,255,255,0.85) !important;
  border-color: rgba(244,123,0,0.22) !important;
  box-shadow: 0 8px 48px rgba(180,90,30,0.16) !important;
}
.widget-top-bar {
  background: linear-gradient(135deg,rgba(244,123,0,0.12),rgba(201,162,39,0.06)) !important;
  border-bottom-color: rgba(244,123,0,0.18) !important;
}
.widget-title { color: #1A0800 !important; }
.trip-tab { color: rgba(60,25,5,0.45) !important; }
.trip-tab.active { background: linear-gradient(135deg,#F47B00,#A85200) !important; color:#fff !important; }
.trip-tabs { background: rgba(60,25,5,0.06) !important; border-color: rgba(60,25,5,0.10) !important; }
.field-label { color: rgba(60,25,5,0.45) !important; }
.field-input {
  background: rgba(255,255,255,0.90) !important;
  border-color: rgba(60,25,5,0.14) !important;
  color: #1A0800 !important;
}
.field-input::placeholder { color: rgba(60,25,5,0.32) !important; }
.field-input:focus {
  border-color: rgba(244,123,0,0.55) !important;
  box-shadow: 0 0 0 3px rgba(244,123,0,0.12) !important;
  background: #fff !important;
}
.field-input option { background: #FFF0E8; color: #1A0800; }
.widget-
.wf-item { color: rgba(60,25,5,0.40) !important; }

/* autocomplete */
.autocomplete-list, .pac-container {
  background: #FFF0E8 !important;
  border-color: rgba(244,123,0,0.35) !important;
  box-shadow: 0 16px 48px rgba(180,90,30,0.18) !important;
}
.autocomplete-item:hover { background: rgba(244,123,0,0.09) !important; }
.autocomplete-item .ac-sub { color: rgba(60,25,5,0.42) !important; }

/* ── TRUST BAR ── */
.trust-bar { background: #FFE8DC !important; border-color: rgba(60,25,5,0.06) !important; }
.tb-item { color: rgba(60,25,5,0.62) !important; border-right-color: rgba(60,25,5,0.08) !important; }

/* ── SECTION LABELS / TITLES ── */
.sec-tag { background: rgba(244,123,0,0.10) !important; border-color: rgba(244,123,0,0.22) !important; }
.sec-title { color: #1A0800 !important; }
.sec-sub { color: rgba(60,25,5,0.55) !important; }

/* ── FLEET ── */
.fleet-section { background: #FFE8DC !important; }
.fleet-card {
  background: rgba(255,255,255,0.88) !important;
  border-color: rgba(60,25,5,0.10) !important;
  box-shadow: 0 2px 14px rgba(180,90,30,0.08) !important;
}
.fleet-card:hover { border-color: rgba(244,123,0,0.40) !important; box-shadow: 0 16px 40px rgba(180,90,30,0.16) !important; }
.fleet-name { color: #1A0800 !important; }
.fleet-models { color: rgba(60,25,5,0.38) !important; }
.fleet-spec { background: rgba(60,25,5,0.06) !important; border-color: rgba(60,25,5,0.09) !important; color: rgba(60,25,5,0.58) !important; }
.fleet-price-box { background: rgba(60,25,5,0.04) !important; border-color: rgba(60,25,5,0.08) !important; }
.fp-unit, .fp-type { color: rgba(60,25,5,0.35) !important; }
.fleet-book { background: rgba(244,123,0,0.10) !important; border-color: rgba(244,123,0,0.28) !important; color: #D46800 !important; }

/* ── CALC ── */
.calc-section { background: #FFF0E8 !important; }
.calc-glass { background: rgba(255,255,255,0.88) !important; border-color: rgba(60,25,5,0.10) !important; }
.cr-row { border-bottom-color: rgba(60,25,5,0.06) !important; }
.cr-row .lbl { color: rgba(60,25,5,0.52) !important; }
.cr-row .val { color: #1A0800 !important; }
.crs-balance { background: rgba(60,25,5,0.05) !important; border-color: rgba(60,25,5,0.09) !important; }

/* ── ROUTES ── */
.routes-section { background: #FFE8DC !important; }
.route-card { background: rgba(255,255,255,0.85) !important; border-color: rgba(60,25,5,0.09) !important; }
.route-card:hover { background: rgba(244,123,0,0.06) !important; border-color: rgba(244,123,0,0.28) !important; }
.route-name { color: #1A0800 !important; }
.route-meta, .route-dist { color: rgba(60,25,5,0.40) !important; }

/* ── WHY ── */
.why-section { background: #FFF0E8 !important; }
.why-card { background: rgba(255,255,255,0.65) !important; border-color: rgba(60,25,5,0.09) !important; }
.why-card:hover { border-color: rgba(244,123,0,0.22) !important; box-shadow: 0 12px 40px rgba(180,90,30,0.12) !important; }
.why-icon-wrap { background: rgba(244,123,0,0.10) !important; border-color: rgba(244,123,0,0.20) !important; }
.why-title { color: #1A0800 !important; }
.why-text { color: rgba(60,25,5,0.58) !important; }

/* ── TESTIMONIALS ── */
.testi-section { background: #FFE8DC !important; }
.testi-card { background: rgba(255,255,255,0.65) !important; border-color: rgba(60,25,5,0.09) !important; }
.testi-card:hover { border-color: rgba(201,162,39,0.28) !important; box-shadow: 0 12px 36px rgba(180,90,30,0.13) !important; }
.testi-text { color: rgba(60,25,5,0.62) !important; }
.testi-name { color: #1A0800 !important; }
.testi-route { color: rgba(60,25,5,0.40) !important; }
.testi-quote-mark { color: rgba(244,123,0,0.12) !important; }

/* ── CTA ── */
.cta-section { background: #FFF0E8 !important; }
.cta-title { color: #1A0800 !important; }
.cta-sub { color: rgba(60,25,5,0.58) !important; }
.btn-secondary {
  background: rgba(60,25,5,0.07) !important;
  border-color: rgba(60,25,5,0.16) !important;
  color: #1A0800 !important;
}
.btn-secondary:hover { background: rgba(60,25,5,0.13) !important; }

/* ── FOOTER ── */

/* ── INNER PAGE HERO ── */
.page-hero { background: linear-gradient(160deg,#FFE8DC,#FFD9C8) !important; border-bottom-color: rgba(244,123,0,0.15) !important; }
.ph { color: #1A0800 !important; }
.ps { color: rgba(60,25,5,0.52) !important; }
.ptag { background: rgba(244,123,0,0.10) !important; border-color: rgba(244,123,0,0.22) !important; }

/* ── CARDS — inner pages ── */
.icard { background: rgba(255,255,255,0.65) !important; border-color: rgba(60,25,5,0.09) !important; }
.icard:hover { border-color: rgba(244,123,0,0.28) !important; }
.icard-label { color: rgba(60,25,5,0.40) !important; }
.icard-value { color: #1A0800 !important; }
.icard-sub { color: rgba(60,25,5,0.32) !important; }
.hours-card { background: rgba(255,255,255,0.75) !important; border-color: rgba(60,25,5,0.10) !important; }
.hours-title { color: #1A0800 !important; }
.hours-day { color: rgba(60,25,5,0.52) !important; }
.hours-row { border-bottom-color: rgba(60,25,5,0.06) !important; }

/* ── CONTACT FORM ── */
.content { background: #FFF0E8 !important; }
.form-card { background: rgba(255,255,255,0.78) !important; border-color: rgba(60,25,5,0.10) !important; box-shadow: 0 4px 24px rgba(180,90,30,0.10) !important; }
.form-title { color: #1A0800 !important; }
.form-sub { color: rgba(60,25,5,0.45) !important; }
.field label { color: rgba(60,25,5,0.45) !important; }
.finput { background: rgba(255,255,255,0.88) !important; border-color: rgba(60,25,5,0.12) !important; color: #1A0800 !important; }
.finput::placeholder { color: rgba(60,25,5,0.30) !important; }
.finput:focus { border-color: rgba(244,123,0,0.50) !important; background: #fff !important; }
.finput option { background: #FFF0E8; color: #1A0800; }
.qc-strip { background: linear-gradient(135deg,rgba(244,123,0,0.09),rgba(232,189,58,0.05)) !important; border-color: rgba(244,123,0,0.20) !important; }
.qc-text h2 { color: #1A0800 !important; }
.qc-text p { color: rgba(60,25,5,0.48) !important; }
.map-card { background: rgba(255,255,255,0.75) !important; border-color: rgba(60,25,5,0.08) !important; }
.map-hdr { border-bottom-color: rgba(60,25,5,0.07) !important; }
.map-hdr h3, .map-body p { color: #1A0800 !important; }

/* ── POLICIES ── */
.layout { background: #FFF0E8 !important; }
.policy-panel { background: rgba(255,255,255,0.85) !important; border-color: rgba(60,25,5,0.09) !important; }
.policy-sec { border-bottom-color: rgba(60,25,5,0.06) !important; }
.policy-title { color: #1A0800 !important; }
.policy-sub { color: rgba(60,25,5,0.52) !important; }
.hbox { background: rgba(244,123,0,0.08) !important; border-left-color: #F47B00 !important; }
.hbox p { color: rgba(60,25,5,0.82) !important; }
.snav-item { color: rgba(60,25,5,0.52) !important; }
.snav-item:hover { color: #1A0800 !important; background: rgba(60,25,5,0.05) !important; }
.snav-item.act { background: rgba(244,123,0,0.10) !important; border-left-color: #F47B00 !important; color: #D46800 !important; }
.snav h3 { color: rgba(60,25,5,0.32) !important; }
.snav-help { background: rgba(255,255,255,0.75) !important; border-color: rgba(60,25,5,0.12) !important; }
.snav-help h4 { color: #1A0800 !important; }
.snav-help small { color: rgba(60,25,5,0.35) !important; }

/* ── FAQ ── */
.faq-item { background: rgba(255,255,255,0.65) !important; border-color: rgba(60,25,5,0.09) !important; }
.faq-item:hover { border-color: rgba(244,123,0,0.25) !important; }
.faq-q { color: #1A0800 !important; }
.faq-a { color: rgba(60,25,5,0.58) !important; }

/* ── BLOG ── */
.blog-card { background: rgba(255,255,255,0.65) !important; border-color: rgba(60,25,5,0.09) !important; }
.blog-card:hover { border-color: rgba(244,123,0,0.28) !important; }
.blog-title { color: #1A0800 !important; }
.blog-excerpt { color: rgba(60,25,5,0.58) !important; }
.blog-meta { color: rgba(60,25,5,0.42) !important; }

/* ── DASHBOARDS ── */
.dash-card, .stat-card, .booking-row {
  background: rgba(255,255,255,0.88) !important;
  border-color: rgba(60,25,5,0.09) !important;
}
.dash-label, .stat-label { color: rgba(60,25,5,0.42) !important; }
.dash-value, .stat-value { color: #1A0800 !important; }

/* ── AUTOFILL ── */
input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus {
  -webkit-box-shadow: 0 0 0px 1000px rgba(255,255,255,0.95) inset !important;
  -webkit-text-fill-color: #1A0800 !important;
  caret-color: #1A0800 !important;
}

/* ── PROSE (p, h3, li) — inner pages ── */
h3 { color: #1A0800 !important; }
p  { color: rgba(60,25,5,0.58) !important; }
ul li { color: rgba(60,25,5,0.58) !important; }

/* ══════════════════ ROUTES PAGE — Component Overrides ══════════════════ */
/* Search hero, stats strip, filter bar, fare banner, region/route cards —
   this page's own classes, separate from the shared site classes above. */

/* ── SEARCH HERO ── */
.hs-input { background: rgba(255,255,255,0.85) !important; border-color: rgba(60,25,5,0.14) !important; color: #1A0800 !important; }
.hs-input::placeholder { color: rgba(60,25,5,0.32) !important; }
.hs-input:focus { border-color: rgba(244,123,0,0.45) !important; background: #fff !important; }

/* ── STATS STRIP ── */
.stats-strip { background: #FFE8DC !important; border-bottom-color: rgba(60,25,5,0.06) !important; }
.sstat { border-right-color: rgba(60,25,5,0.10) !important; }
.sstat-l { color: rgba(60,25,5,0.42) !important; }

/* ── FILTER BAR ── */
.filter-bar { background: rgba(255,255,255,0.45) !important; border-bottom-color: rgba(60,25,5,0.07) !important; }
.fbtn { border-color: rgba(60,25,5,0.14) !important; color: rgba(60,25,5,0.55) !important; }
.fbtn:hover { border-color: rgba(244,123,0,0.35) !important; color: #D46800 !important; }
.fbtn.act { background: rgba(244,123,0,0.12) !important; border-color: rgba(244,123,0,0.35) !important; color: #D46800 !important; }

/* ── FARE BANNER ── */
.fare-banner { background: linear-gradient(135deg,rgba(244,123,0,0.10),rgba(232,189,58,0.06)) !important; border-color: rgba(244,123,0,0.20) !important; }
.fb-text h2 { color: #1A0800 !important; }
.fb-text p { color: rgba(60,25,5,0.50) !important; }
.fb-rate { background: rgba(255,255,255,0.65) !important; border-color: rgba(60,25,5,0.10) !important; }
.fb-rate-l { color: rgba(60,25,5,0.42) !important; }

/* ── REGION SECTIONS ── */
.region-hdr { border-bottom-color: rgba(244,123,0,0.18) !important; }
.region-name { color: #1A0800 !important; }
.region-count { background: rgba(244,123,0,0.10) !important; border-color: rgba(244,123,0,0.22) !important; color: #D46800 !important; }

/* ── ROUTE CARDS ── */
.rcard { background: rgba(255,255,255,0.68) !important; border-color: rgba(60,25,5,0.09) !important; }
.rcard:hover { background: rgba(244,123,0,0.08) !important; border-color: rgba(244,123,0,0.30) !important; box-shadow: 0 8px 28px rgba(180,90,30,0.14) !important; }
.rname { color: #1A0800 !important; }
.rmeta { color: rgba(60,25,5,0.42) !important; }
.rpd { color: rgba(60,25,5,0.35) !important; }

/* ══════════════════ VIBRANT PEACH FOOTER ══════════════════ */
/* ─── FOOTER COMPLETE REDESIGN ─── */

  100% { background-position: 200% 50%; }
}

/* ── Footer Top Grid ── */

/* ── Brand Column ── */

.footer-brand p {
  font-size: 13.5px; color: rgba(255, 210, 160, 0.90);
  line-height: 1.90; margin-bottom: 22px;
}

/* ── Contact Rows ── */

.footer-contact-row:hover { color: #FFD4A0; }
.footer-contact-row .ic {
  color: #F47B00; font-size: 15px; margin-top: 1px; flex-shrink: 0;
  filter: drop-shadow(0 0 4px rgba(244,123,0,0.4));
}
.footer-contact-row a { color: inherit; text-decoration: none; }
.footer-contact-row a:hover { color: #FF9D2F; text-decoration: underline; }

/* ── Social Buttons ── */

.footer-social-btn svg { width: 20px; height: 20px; }
.footer-social-btn:hover {
  transform: translateY(-3px);
  box-shadow: 0 8px 20px rgba(0,0,0,0.35);
}

/* ── Nav Columns ── */

/* ── Trust Badges ── */
.footer-trust {
  max-width: 1200px; margin: 0 auto;
  padding: 0 5% 32px;
  display: flex; gap: 10px; flex-wrap: wrap;
  position: relative; z-index: 1;
  justify-content: center;
  border-top: 1px solid rgba(244,123,0,0.12);
  padding-top: 28px;
}
.footer-trust-badge {
  display: flex; align-items: center; gap: 7px;
  background: rgba(244,123,0,0.11);
  border: 1px solid rgba(244,123,0,0.28);
  border-radius: 100px; padding: 7px 16px;
  font-size: 12px; font-weight: 700;
  color: rgba(255, 210, 160, 0.90);
  transition: all 0.2s;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.04);
}
.footer-trust-badge:hover {
  background: rgba(244,123,0,0.20);
  border-color: rgba(244,123,0,0.50);
  color: #FFD4A0;
}

/* ── Footer Bottom ── */

.mini-flag span { flex: 1; }
.mini-flag span:nth-child(1) { background: #F47B00 !important; }
.mini-flag span:nth-child(2) { background: rgba(255,255,255,0.90) !important; }
.mini-flag span:nth-child(3) { background: #138808 !important; }

.fb-links a {
  font-size: 12px; color: rgba(255, 210, 160, 0.55) !important;
  text-decoration: none; transition: color 0.2s;
}
.fb-links a:hover { color: #FF9D2F !important; }
/* ── FOOTER: counter body color inheritance ── */

.footer-contact-row a:hover { color: #FF9D2F !important; }

.fb-links a:hover { color: #FF9D2F !important; }
.footer-contact-row .ic { color: #F47B00 !important; }
/* ─── Typography Readability Improvements ─── */
body { text-rendering: optimizeLegibility; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }
p, li, .body-text, .desc, .description { font-size: 15px; line-height: 1.85; }

/* ═══════════════════════ FLOATING CALL + WHATSAPP ═══════════════════════ */

.float-btn:hover { transform: scale(1.08); }
.float-btn svg { width: 28px; height: 28px; }

@keyframes floatPulseCall {
  0%,100% { box-shadow: 0 8px 28px var(--sf-glow), 0 0 0 0 rgba(244,123,0,0.45); }
  50%     { box-shadow: 0 8px 28px var(--sf-glow), 0 0 0 10px rgba(244,123,0,0); }
}
@keyframes floatPulseWA {
  0%,100% { box-shadow: 0 8px 28px rgba(29,168,81,0.45), 0 0 0 0 rgba(29,168,81,0.45); }
  50%     { box-shadow: 0 8px 28px rgba(29,168,81,0.45), 0 0 0 10px rgba(29,168,81,0); }
}

.float-btn:hover 
@media (max-width: 768px) {
  /* Anchored to the bottom-right corner instead of vertically centered
     (top:50%) so the buttons don't sit on top of page content on mobile —
     see same fix applied in main.css for the homepage. */
  
  
  .float-btn svg { width: 25px; height: 25px; }
  
}
