/* ═══════════════════════════════════════════════════════════════
   KUMAR CABS — THEME v3 (css/kc-theme.css)
   Ek hi design system poori site pe: Home, Routes, City, Listing,
   Contact, Booking, Legal. inc/header.php se har page pe load hota hai
   (page ke apne <style> ke BAAD — isliye yahi final look decide karta hai).
   Fonts: Bricolage Grotesque (headings) + Figtree (text)
   ═══════════════════════════════════════════════════════════════ */

:root{
  --kc-ink:#0B0B10; --kc-ink2:#14141C; --kc-ink3:#1C1C27;
  --kc-gold:#F5A700; --kc-gold2:#D18A00; --kc-gold-soft:#FFF4D6;
  --kc-paper:#FFFFFF; --kc-cream:#FAF7F0; --kc-line:#ECE7DC;
  --kc-text:#1F2330; --kc-mut:#6B6F7B;
  --kc-green:#16A34A; --kc-wa:#25D366;
  --kc-r:16px; --kc-r-sm:10px;
  --kc-sh:0 8px 30px rgba(11,11,16,.08); --kc-sh-h:0 16px 44px rgba(11,11,16,.14);
  --disp:'Bricolage Grotesque',system-ui,sans-serif;
  --body:'Figtree',system-ui,sans-serif;
  /* purane page variables ko bhi same palette pe map */
  --gold:var(--kc-gold); --gold2:var(--kc-gold2); --accent:var(--kc-gold); --accent2:var(--kc-gold2);
}

/* ── 1. Typography: ek hi font pair har page pe ── */
body{font-family:var(--body)!important;color:var(--kc-text);background:var(--kc-cream);-webkit-font-smoothing:antialiased;}
h1,h2,h3,h4,h5,h6,.route-headline,.v-card__name,.price-now,.kc-h2,.st{font-family:var(--disp)!important;letter-spacing:-.02em;}
[style*="Plus Jakarta"],[style*="Rajdhani"],[style*="Outfit"],[style*="DM Sans"]{font-family:var(--disp)!important;}
p,li,td,th,label,input,select,textarea,button{font-family:var(--body);}
a{transition:color .2s;}
:focus-visible{outline:3px solid rgba(245,167,0,.55);outline-offset:2px;}

/* ── 2. Bootstrap components → gold theme ── */
.form-control,.form-select{border-radius:var(--kc-r-sm);border-color:#E3DED2;}
.form-control:focus,.form-select:focus{border-color:var(--kc-gold);box-shadow:0 0 0 .2rem rgba(245,167,0,.18);}
.accordion-item{border:1px solid var(--kc-line)!important;border-radius:12px!important;overflow:hidden;margin-bottom:10px;background:#fff;}
.accordion-button{font-weight:700;color:var(--kc-text)!important;background:#fff!important;box-shadow:none!important;padding:16px 18px;}
.accordion-button:not(.collapsed){background:var(--kc-gold-soft)!important;color:var(--kc-ink)!important;}
.accordion-button:focus{box-shadow:0 0 0 .2rem rgba(245,167,0,.2)!important;}
.accordion-button::after{filter:sepia(1) saturate(5) hue-rotate(-10deg);}
.accordion-body{color:#4A4F5C;line-height:1.75;}
.breadcrumb{font-size:13px;margin-bottom:14px;background:none;padding:0;}
.breadcrumb a{color:var(--kc-gold2);font-weight:600;}
.breadcrumb-item.active{color:var(--kc-mut);}
.pagination .page-link{color:var(--kc-ink);border-color:var(--kc-line);font-weight:700;}
.pagination .page-item.active .page-link{background:var(--kc-gold)!important;border-color:var(--kc-gold)!important;color:#000!important;}
.table{--bs-table-bg:transparent;}
.table thead th{font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--kc-mut);font-weight:800;}
.btn-warning{background:var(--kc-gold);border-color:var(--kc-gold);color:#000;font-weight:800;}

/* ── 3. Listing pages (one-way, two-way, local, outstation, tours) ── */
.page-header{background:radial-gradient(60% 80% at 85% 0%,rgba(245,167,0,.18),transparent 60%),linear-gradient(160deg,#0B0B10 0%,#15151F 100%)!important;border-bottom:0!important;padding:64px 0 56px!important;}
.page-header h1{color:#fff!important;font-weight:800;}
.page-header h1 span{color:var(--kc-gold)!important;}
.page-header p{color:#A3A8B6!important;}
.stats-bar{background:var(--kc-ink2)!important;border-top:1px solid rgba(255,255,255,.06);border-bottom:3px solid var(--kc-gold);}
.stat-item{color:#E6E8EE!important;font-weight:700;font-size:13px;}
.stat-item i{color:var(--kc-gold)!important;}
.route-card{background:#fff!important;border:1px solid var(--kc-line)!important;border-radius:var(--kc-r)!important;box-shadow:var(--kc-sh)!important;transition:transform .25s,box-shadow .25s,border-color .25s!important;position:relative;overflow:hidden;}
.route-card::before{content:'';position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--kc-gold);transform:scaleY(0);transform-origin:top;transition:transform .3s;}
.route-card:hover{transform:translateY(-4px);box-shadow:var(--kc-sh-h)!important;border-color:rgba(245,167,0,.45)!important;}
.route-card:hover::before{transform:scaleY(1);}
.route-index{background:var(--kc-gold-soft)!important;color:var(--kc-gold2)!important;font-weight:800;}
.city-from{color:var(--kc-ink)!important;font-weight:800;}
.city-to{color:var(--kc-gold2)!important;font-weight:800;}
.arrow-ic{color:var(--kc-gold)!important;}
.kc-car-chip{display:inline-flex;align-items:center;gap:6px;background:#F4F2EC;color:#4A4F5C;font-size:12px;font-weight:700;padding:4px 10px;border-radius:30px;margin-bottom:10px;}
.kc-car-chip i{color:var(--kc-gold2);}
.price-now{color:var(--kc-ink)!important;font-weight:800;}
.price-old{color:#A8A398!important;}
.off-badge{background:#DCFCE7!important;color:#15803D!important;font-weight:800;}

/* ── 4. Route pages (search/search.php) ── */
.hero .route-headline{font-weight:800;}
.hero .city-from{color:#fff!important;}
.hero .city-to{color:var(--kc-gold)!important;}
.search-panel{border-radius:var(--kc-r)!important;box-shadow:0 20px 50px rgba(0,0,0,.35)!important;}
.btn-search,.btn-book{background:linear-gradient(120deg,var(--kc-gold),var(--kc-gold2))!important;color:#000!important;font-weight:800!important;border:0!important;}
.btn-call{border-color:var(--kc-green)!important;color:var(--kc-green)!important;font-weight:700!important;}
.v-card{border-radius:var(--kc-r)!important;border:1px solid var(--kc-line)!important;box-shadow:var(--kc-sh)!important;overflow:hidden;transition:box-shadow .25s,transform .25s;}
.v-card:hover{box-shadow:var(--kc-sh-h)!important;transform:translateY(-2px);}
.v-card__img{background:linear-gradient(135deg,#FFF8E6,#F7F3EA)!important;}
@media(max-width:767px){
  .v-card__img{min-height:0!important;height:auto!important;padding:14px!important;}
  .v-card__img img{max-height:120px;object-fit:contain;}
  .v-card__img > i{font-size:2rem!important;}
}
.section-label{color:var(--kc-mut)!important;}

/* ── 5. City pages ── */
.sh{color:var(--kc-gold2)!important;}
.st span{color:var(--kc-gold2)!important;}
.sline{background:var(--kc-gold)!important;}
.rc{border-radius:var(--kc-r)!important;border:1px solid var(--kc-line)!important;box-shadow:var(--kc-sh)!important;}
.rc:hover{box-shadow:var(--kc-sh-h)!important;border-color:rgba(245,167,0,.45)!important;}
.feat{border-radius:var(--kc-r)!important;border:1px solid var(--kc-line)!important;box-shadow:none!important;}
.feat:hover{box-shadow:var(--kc-sh)!important;}
.nearby-link{border-radius:12px!important;}
.cta-strip{background:radial-gradient(50% 120% at 50% 0%,rgba(255,255,255,.25),transparent),linear-gradient(120deg,var(--kc-gold),var(--kc-gold2))!important;}

/* ── 6. Homepage tweaks ── */
@media(max-width:575px){
  .kc-stats{display:grid!important;grid-template-columns:repeat(4,1fr);gap:8px!important;}
  .kc-stat{padding:10px 6px!important;text-align:center;min-width:0!important;}
  .kc-stat b{font-size:1.05rem!important;}
  .kc-stat span{font-size:8.5px!important;letter-spacing:.8px!important;}
}
.kc-rc-tag{color:var(--kc-mut)!important;}
.kc-car-cap h3{text-shadow:0 2px 12px rgba(0,0,0,.4);}

/* ── 7. Nav: active link ── */
.kc-nav-links a.is-active{color:var(--kc-gold)!important;background:rgba(245,167,0,.1);}

/* ── 8. Floating buttons → desktop pe neat stack, mobile pe bottom action bar ── */
.kc-mbar{display:none;}
@media(min-width:992px){
  /* right side = AI chat; left side = WhatsApp + Call (overlap nahi) */
  .kc-wa-float{bottom:24px!important;right:auto!important;left:24px!important;}
  .kc-call-float{bottom:86px!important;right:auto!important;left:24px!important;}
}
@media(max-width:991px){
  .kc-wa-float,.kc-call-float{display:none!important;}
  body{padding-bottom:68px;}
  .kc-mbar{
    display:grid;grid-template-columns:repeat(4,1fr);position:fixed;left:0;right:0;bottom:0;z-index:9990;
    background:rgba(11,11,16,.96);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
    border-top:1px solid rgba(255,255,255,.08);padding:6px 6px calc(6px + env(safe-area-inset-bottom));
  }
  .kc-mbar a,.kc-mbar button{
    display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;
    background:none;border:0;color:#C9CEDB;font:700 10.5px/1.2 var(--body);letter-spacing:.3px;
    padding:6px 2px;border-radius:12px;text-decoration:none;
  }
  .kc-mbar i{font-size:18px;}
  .kc-mbar .mb-call{background:var(--kc-gold);color:#000;}
  .kc-mbar .mb-wa i{color:var(--kc-wa);}
  .kc-mbar .mb-chat i{color:var(--kc-gold);}
}

/* ── 9. Footer polish ── */
.kc-ft-bottom{padding-bottom:18px;}

/* ── 10. Reduced motion ── */
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important;}
  .rv{opacity:1!important;transform:none!important;}
}

/* Route page: mobile pe content edge se chipak raha tha */
@media(max-width:767px){ .results-wrap{padding-left:14px!important;padding-right:14px!important;} }
