/* =========================================================
   OM SAI RAM CAB — Landing Page Stylesheet
   Design tokens derived from brand logo (Sai Baba saffron/gold
   + charcoal grey) — Pune/Shirdi tourism cab service
   ========================================================= */

:root{
  /* ---- Brand palette (from logo) ---- */
  --clr-primary:        #E15A1D;   /* saffron-orange — brand core */
  --clr-primary-dark:   #B8430F;   /* pressed / gradients */
  --clr-primary-light:  #FFF1E8;   /* tints, chips, soft bg */
  --clr-gold:           #D6A429;   /* Sai Baba gold accent — sparing use */
  --clr-charcoal:       #2B2B2E;   /* headings, footer bg */
  --clr-charcoal-soft:  #4B4B50;   /* body copy on light */
  --clr-gray:           #6E6E76;   /* secondary text */
  --clr-gray-light:     #9A9AA1;
  --clr-line:           #EAE6E1;
  --clr-cream:          #FFF9F4;   /* alt-section background */
  --clr-white:          #FFFFFF;
  --clr-whatsapp:       #25D366;

  /* ---- Type ---- */
  --font-display: 'Poppins', sans-serif;
  --font-body:    'Inter', sans-serif;

  /* ---- Radii / shadow ---- */
  --radius-sm: 10px;
  --radius-md: 16px;
  --radius-lg: 28px;
  --shadow-soft: 0 10px 30px -12px rgba(43,43,46,.15);
  --shadow-card: 0 18px 40px -16px rgba(225,90,29,.22);

  /* ---- Motion ---- */
  --ease: cubic-bezier(.4,0,.2,1);
}

/* ================= RESET / BASE ================= */
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  font-family: var(--font-body);
  color: var(--clr-charcoal-soft);
  background: var(--clr-white);
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3,h4,h5,.font-display{
  font-family: var(--font-display);
  color: var(--clr-charcoal);
  font-weight:700;
  letter-spacing:-.02em;
}
p{line-height:1.75; color:var(--clr-gray);}
a{text-decoration:none; color:inherit;}
img{max-width:100%; display:block;}
::selection{background: var(--clr-primary); color:#fff;}

.container-xl{max-width:1280px;}

.section-pad{padding-block:5.5rem;}
@media(max-width:767px){.section-pad{padding-block:3.25rem;}}

.bg-cream{background:var(--clr-cream);}

/* Eyebrow / kicker */
.eyebrow{
  display:inline-flex;align-items:center;gap:.5rem;
  font-family:var(--font-display);
  font-size:.75rem; font-weight:600; letter-spacing:.14em;
  text-transform:uppercase; color:var(--clr-primary);
  background:var(--clr-primary-light);
  padding:.4rem 1rem; border-radius:50px;
  margin-bottom:1rem;
}
.eyebrow::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--clr-primary);}

.section-title{font-size:clamp(1.7rem,3vw,2.5rem); margin-bottom:.6rem;}
.section-sub{max-width:620px; color:var(--clr-gray); font-size:1.02rem;}
.title-wrap{margin-bottom:2.75rem;}

/* divider road-line motif — signature element */
.route-divider{
  position:relative; height:2px; margin:0 auto 3rem; max-width:220px;
  background-image:repeating-linear-gradient(90deg,var(--clr-primary) 0 14px, transparent 14px 24px);
  opacity:.55;
}

/* ================= BUTTONS ================= */
/* NOTE: Bootstrap's base .btn sets `background-color:var(--bs-btn-hover-bg)` on :hover,
   and --bs-btn-hover-bg defaults to transparent unless a variant defines it. Every custom
   button below now sets --bs-btn-hover-bg / --bs-btn-hover-color explicitly (in addition to
   plain properties) so buttons never "vanish" on hover — this was the cause of the WhatsApp
   header button disappearing on hover. */
.btn{font-family:var(--font-display); font-weight:600; border-radius:50px; padding:.75rem 1.6rem; font-size:.92rem; transition:all .3s var(--ease); border:none;}
.btn-brand{--bs-btn-hover-bg:var(--clr-primary-dark); --bs-btn-hover-color:#fff; background:linear-gradient(135deg,var(--clr-primary),var(--clr-primary-dark)); color:#fff; box-shadow:0 10px 24px -8px rgba(225,90,29,.55);}
.btn-brand:hover{background:linear-gradient(135deg,var(--clr-primary-dark),var(--clr-primary)); background-color:var(--clr-primary-dark); transform:translateY(-3px); box-shadow:0 16px 30px -8px rgba(225,90,29,.65); color:#fff;}
.btn-outline-brand{--bs-btn-hover-bg:var(--clr-primary); --bs-btn-hover-color:#fff; background:transparent; border:1.5px solid var(--clr-primary); color:var(--clr-primary);}
.btn-outline-brand:hover{background:var(--clr-primary); background-color:var(--clr-primary); color:#fff; transform:translateY(-3px);}
.btn-whatsapp{--bs-btn-hover-bg:#20b858; --bs-btn-hover-color:#fff; background:var(--clr-whatsapp); color:#fff;}
.btn-whatsapp:hover{background:#20b858; background-color:#20b858; filter:brightness(1.08); transform:translateY(-3px); color:#fff;}
.btn-call{--bs-btn-hover-bg:#1669c1; --bs-btn-hover-color:#fff; background:#1E88E5; color:#fff;}
.btn-call:hover{background:#1669c1; background-color:#1669c1; transform:translateY(-3px); color:#fff;}
.btn-dark{--bs-btn-hover-bg:#000; --bs-btn-hover-color:#fff; background:var(--clr-charcoal); color:#fff;}
.btn-dark:hover{background:#000; background-color:#000; color:#fff; transform:translateY(-3px);}
.btn-sm-pill{padding:.55rem 1.2rem; font-size:.82rem;}
.btn:focus-visible{outline:2px solid var(--clr-charcoal); outline-offset:2px;}

/* ================= PRELOADER ================= */
#preloader{
  position:fixed; inset:0; z-index:9999; background:var(--clr-white);
  display:flex; align-items:center; justify-content:center; flex-direction:column; gap:1rem;
  transition:opacity .5s var(--ease), visibility .5s var(--ease);
}
#preloader.loaded{opacity:0; visibility:hidden;}
.loader-ring{width:52px;height:52px;border:4px solid var(--clr-primary-light); border-top-color:var(--clr-primary); border-radius:50%; animation:spin 0.9s linear infinite;}
@keyframes spin{to{transform:rotate(360deg);}}

/* ================= TOPBAR ================= */
.topbar{background:var(--clr-charcoal); color:#cfcfd2; font-size:.82rem; padding:.45rem 0;}
.topbar a{color:#cfcfd2;}
.topbar .divider{width:1px; height:14px; background:#55555a; display:inline-block; margin:0 .75rem;}

/* ================= NAVBAR ================= */
.navbar-brand-wrap{display:flex; align-items:center; gap:.6rem;}
.navbar-brand-wrap img{height:52px; width:auto;}
.navbar{padding-block:.7rem; transition:all .35s var(--ease); background:rgba(255,255,255,.97); backdrop-filter:blur(10px);}
.navbar.scrolled{box-shadow:0 6px 24px -10px rgba(0,0,0,.15); padding-block:.4rem;}
.navbar .nav-link{font-family:var(--font-display); font-weight:600; font-size:.92rem; color:var(--clr-charcoal-soft); margin-inline:.35rem; position:relative;}
.navbar .nav-link.active,.navbar .nav-link:hover{color:var(--clr-primary);}
.navbar .nav-link::after{content:"";position:absolute;left:0;bottom:-2px;width:0;height:2px;background:var(--clr-primary);transition:width .3s var(--ease);}
.navbar .nav-link:hover::after,.navbar .nav-link.active::after{width:100%;}
.nav-call-badge{display:flex;align-items:center;gap:.5rem; background:var(--clr-primary-light); padding:.45rem .9rem; border-radius:50px;}
.nav-call-badge .bi{color:var(--clr-primary); font-size:1.1rem;}
.nav-call-badge small{display:block; color:var(--clr-gray); font-size:.68rem; line-height:1;}
.nav-call-badge strong{font-family:var(--font-display); font-size:.9rem; color:var(--clr-charcoal);}
.navbar .btn-whatsapp{position:relative; z-index:5; white-space:nowrap;}
.navbar .btn-whatsapp,.navbar .btn-whatsapp:hover,.navbar .btn-whatsapp:focus,.navbar .btn-whatsapp:active{color:#fff!important;}

/* ================= HERO ================= */
.hero{
  position:relative; padding-top:7.5rem; padding-bottom:5rem;
  background:
    linear-gradient(105deg, rgba(20,16,14,.92) 0%, rgba(30,22,16,.82) 38%, rgba(43,30,20,.55) 62%, rgba(43,30,20,.35) 100%),
    url('https://images.unsplash.com/photo-1449965408869-eaa3f722e40d?auto=format&fit=crop&w=1900&q=80') center 55%/cover no-repeat;
  overflow:hidden;
}
@media(max-width:991px){
  .hero{
    background:
      linear-gradient(180deg, rgba(20,16,14,.75) 0%, rgba(30,22,16,.88) 55%, rgba(30,22,16,.96) 100%),
      url('https://images.unsplash.com/photo-1449965408869-eaa3f722e40d?auto=format&fit=crop&w=1400&q=80') center/cover no-repeat;
  }
}
.hero .eyebrow{background:rgba(255,255,255,.14); color:#FFCB9C; backdrop-filter:blur(6px);}
.hero .eyebrow::before{background:#FFCB9C;}
.hero-title{color:#fff;}
.hero-lead{color:#e7e1da;}
.hero-trust-row .item{color:#fff!important;}
.hero-trust-row .item .bi{color:var(--clr-gold);}
.hero-badge-fleet{
  position:absolute; bottom:2.2rem; left:1.5rem; background:#fff; border-radius:var(--radius-md);
  padding:.9rem 1.2rem; box-shadow:var(--shadow-soft); display:flex; align-items:center; gap:.7rem; z-index:3;
}
.hero-badge-fleet .icon{width:42px;height:42px;border-radius:50%;background:var(--clr-primary-light); display:flex;align-items:center;justify-content:center; color:var(--clr-primary); font-size:1.2rem;}
.hero-badge-fleet strong{display:block; font-family:var(--font-display); font-size:1.05rem; color:var(--clr-charcoal);}
.hero-badge-fleet span{font-size:.75rem; color:var(--clr-gray);}

.hero-title{font-size:clamp(2.1rem,4.2vw,3.4rem); line-height:1.12;}
.hero-title .accent{color:var(--clr-primary); position:relative; display:inline-block;}
.hero-lead{font-size:1.08rem; max-width:520px;}
.hero-price-chip{
  display:inline-flex; align-items:center; gap:.6rem; background:var(--clr-charcoal); color:#fff;
  border-radius:50px; padding:.5rem .55rem .5rem 1.1rem; margin-bottom:1.4rem;
}
.hero-price-chip .amt{background:var(--clr-primary); border-radius:50px; padding:.35rem .9rem; font-family:var(--font-display); font-weight:700;}
.hero-trust-row{display:flex; gap:1.6rem; flex-wrap:wrap; margin-top:2.2rem;}
.hero-trust-row .item{display:flex; align-items:center; gap:.55rem; font-size:.86rem; font-weight:600; color:var(--clr-charcoal-soft);}
.hero-trust-row .item .bi{color:var(--clr-primary); font-size:1.15rem;}

/* Signature: temple-arch image frame */
.arch-frame{
  position:relative; border-radius:220px 220px 24px 24px; overflow:hidden;
  box-shadow:var(--shadow-soft); border:6px solid #fff;
}
.arch-frame img{width:100%; height:100%; object-fit:cover; aspect-ratio:4/5;}
.hero-visual{position:relative;}

/* ================= ABOUT ================= */
.about-img-wrap{position:relative;}
.about-img-wrap .arch-frame{aspect-ratio:auto;}
.about-stat-card{
  position:absolute; bottom:-1.6rem; right:-1rem; background:#fff; border-radius:var(--radius-md);
  padding:1.1rem 1.4rem; box-shadow:var(--shadow-soft); text-align:center; z-index:3;
}
.about-stat-card .num{font-family:var(--font-display); font-weight:800; font-size:1.9rem; color:var(--clr-primary); line-height:1;}
.about-stat-card .lbl{font-size:.75rem; color:var(--clr-gray); text-transform:uppercase; letter-spacing:.06em;}
.about-points li{display:flex; gap:.75rem; margin-bottom:.85rem; align-items:flex-start; font-weight:500; color:var(--clr-charcoal-soft);}
.about-points .bi{color:var(--clr-primary); font-size:1.2rem; margin-top:.1rem;}

/* ================= FARE TABLE ================= */
.fare-card{
  background:#fff; border:1px solid var(--clr-line); border-radius:var(--radius-lg); overflow:hidden;
  box-shadow:0 4px 18px -12px rgba(0,0,0,.08); transition:transform .35s var(--ease), box-shadow .35s var(--ease);
  height:100%;
}
.fare-card:hover{transform:translateY(-8px); box-shadow:var(--shadow-card);}
.fare-card .fare-img{height:170px; overflow:hidden;}
.fare-card .fare-img img{width:100%; height:100%; object-fit:cover; transition:transform .5s var(--ease);}
.fare-card:hover .fare-img img{transform:scale(1.08);}
.fare-card .fare-body{padding:1.4rem 1.5rem 1.6rem;}
.fare-card .veh-name{font-family:var(--font-display); font-weight:700; font-size:1.15rem; color:var(--clr-charcoal); margin-bottom:.15rem;}
.fare-card .veh-seats{font-size:.78rem; color:var(--clr-gray); margin-bottom:1rem;}
.fare-row{display:flex; justify-content:space-between; align-items:center; padding:.65rem 0; border-top:1px dashed var(--clr-line);}
.fare-row .lbl{font-size:.82rem; color:var(--clr-gray); font-weight:600;}
.fare-row .price{font-family:var(--font-display); font-weight:700; color:var(--clr-primary);}
.fare-row .price small{color:var(--clr-gray-light); font-weight:500; font-size:.7rem;}
.fare-row.fare-row-km{background:var(--clr-primary-light); margin:0 -1.5rem; padding:.55rem 1.5rem; border-top:none; border-bottom:1px dashed rgba(225,90,29,.25);}
.fare-row.fare-row-km .lbl{color:var(--clr-primary-dark);}
.fare-row.fare-row-km .price{color:var(--clr-primary-dark); font-size:.95rem;}
.fare-note{font-size:.72rem; color:var(--clr-gray-light); text-align:center; margin-top:1.5rem;}

/* fare card 3-in-a-row action buttons */
.fare-btn-row{display:flex; gap:.4rem; margin-top:1.1rem;}
.fare-btn-row .fare-btn{
  flex:1; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:.2rem;
  padding:.55rem .3rem; border-radius:14px; font-family:var(--font-display); font-weight:600;
  font-size:.68rem; line-height:1.1; text-align:center; transition:all .3s var(--ease); color:#fff;
}
.fare-btn-row .fare-btn .bi{font-size:1rem;}
.fare-btn-row .fare-btn.fare-btn-call{--bs-btn-hover-bg:#1669c1; background:#1E88E5;}
.fare-btn-row .fare-btn.fare-btn-call:hover{background:#1669c1; transform:translateY(-3px); color:#fff;}
.fare-btn-row .fare-btn.fare-btn-book{--bs-btn-hover-bg:var(--clr-primary-dark); background:linear-gradient(135deg,var(--clr-primary),var(--clr-primary-dark));}
.fare-btn-row .fare-btn.fare-btn-book:hover{background:var(--clr-primary-dark); transform:translateY(-3px); color:#fff;}
.fare-btn-row .fare-btn.fare-btn-wa{--bs-btn-hover-bg:#20b858; background:var(--clr-whatsapp);}
.fare-btn-row .fare-btn.fare-btn-wa:hover{background:#20b858; transform:translateY(-3px); color:#fff;}
@media(max-width:400px){
  .fare-btn-row .fare-btn{font-size:.6rem; padding:.5rem .2rem;}
  .fare-btn-row .fare-btn .bi{font-size:.92rem;}
}

/* ================= PACKAGE CARDS ================= */
.pkg-card{
  position:relative; border-radius:var(--radius-lg); overflow:hidden; height:100%;
  box-shadow:0 4px 18px -12px rgba(0,0,0,.1); transition:transform .4s var(--ease), box-shadow .4s var(--ease);
  background:#fff;
}
.pkg-card:hover{transform:translateY(-8px); box-shadow:var(--shadow-card);}
.pkg-card .pkg-img{height:210px; overflow:hidden; position:relative;}
.pkg-card .pkg-img img{width:100%; height:100%; object-fit:cover; transition:transform .6s var(--ease);}
.pkg-card:hover .pkg-img img{transform:scale(1.1);}
.pkg-card .pkg-days{
  position:absolute; top:14px; left:14px; background:var(--clr-primary); color:#fff;
  font-family:var(--font-display); font-weight:700; font-size:.78rem; padding:.35rem .8rem; border-radius:50px;
}
.pkg-card .pkg-body{padding:1.25rem 1.4rem 1.5rem;}
.pkg-card h5{font-size:1.08rem; margin-bottom:.6rem;}
.pkg-card ul{padding-left:0; list-style:none; margin-bottom:1.1rem;}
.pkg-card ul li{font-size:.83rem; color:var(--clr-gray); display:flex; gap:.5rem; margin-bottom:.4rem;}
.pkg-card ul li .bi{color:var(--clr-gold); font-size:.85rem; margin-top:.2rem;}
.pkg-card .pkg-foot{display:flex; justify-content:space-between; align-items:center; border-top:1px solid var(--clr-line); padding-top:.9rem;}
.pkg-card .pkg-price{font-family:var(--font-display); font-weight:700; color:var(--clr-charcoal);}
.pkg-card .pkg-price span{color:var(--clr-gray); font-size:.72rem; font-weight:500; display:block;}

/* ================= CTA BANNER ================= */
.cta-banner{
  border-radius:var(--radius-lg); overflow:hidden; position:relative;
  background:linear-gradient(120deg,var(--clr-charcoal) 0%, #3a2318 100%);
  padding:3rem clamp(1.5rem,5vw,3.5rem);
}
.cta-banner::before{
  content:""; position:absolute; inset:0; opacity:.15; pointer-events:none;
  background-image:repeating-linear-gradient(90deg, var(--clr-primary) 0 10px, transparent 10px 22px);
  mask-image:linear-gradient(90deg,black,transparent 70%);
}
.cta-banner h3{color:#fff; font-size:clamp(1.35rem,2.4vw,1.9rem); margin-bottom:.4rem;}
.cta-banner p{color:#d8d3cc; margin-bottom:0;}
.cta-banner .cta-buttons{display:flex; gap:.75rem; flex-wrap:wrap;}

/* ================= WHY CHOOSE US ================= */
.why-card{
  background:#fff; border-radius:var(--radius-md); padding:1.8rem 1.4rem; text-align:center; height:100%;
  border:1px solid var(--clr-line); transition:all .35s var(--ease);
}
.why-card:hover{border-color:transparent; box-shadow:var(--shadow-card); transform:translateY(-6px);}
.why-card .icon{
  width:64px; height:64px; border-radius:50%; margin:0 auto 1.1rem; display:flex; align-items:center; justify-content:center;
  background:linear-gradient(135deg,var(--clr-primary-light),#fff); color:var(--clr-primary); font-size:1.6rem;
}
.why-card h6{font-family:var(--font-display); font-weight:700; margin-bottom:.4rem; font-size:1rem;}
.why-card p{font-size:.85rem; margin-bottom:0;}

/* ================= STATS ================= */
.stats-band{
  background:linear-gradient(120deg,var(--clr-primary),var(--clr-primary-dark)); border-radius:var(--radius-lg);
  padding:3rem 1.5rem; color:#fff; position:relative; overflow:hidden;
}
.stats-band::after{content:"";position:absolute; inset:0; background:url('https://images.unsplash.com/photo-1449965408869-eaa3f722e40d?auto=format&fit=crop&w=1600&q=60') center/cover; opacity:.12; mix-blend-mode:overlay;}
.stat-item{text-align:center; position:relative; z-index:1;}
.stat-item .count{font-family:var(--font-display); font-weight:800; font-size:clamp(2rem,4vw,2.8rem); line-height:1;}
.stat-item .lbl{font-size:.85rem; opacity:.9; margin-top:.35rem;}

/* ================= FAQ ================= */
.accordion-item{border:none; border-radius:var(--radius-md)!important; overflow:hidden; margin-bottom:.9rem; box-shadow:0 4px 16px -12px rgba(0,0,0,.1);}
.accordion-button{font-family:var(--font-display); font-weight:600; color:var(--clr-charcoal); background:#fff; padding:1.1rem 1.4rem;}
.accordion-button:not(.collapsed){background:var(--clr-primary-light); color:var(--clr-primary); box-shadow:none;}
.accordion-button:focus{box-shadow:none;}
.accordion-button::after{filter:hue-rotate(0deg);}
.accordion-body{padding:1rem 1.4rem 1.4rem; color:var(--clr-gray); font-size:.92rem;}

/* ================= TESTIMONIALS ================= */
.testi-card{
  background:#fff; border:1px solid var(--clr-line); border-radius:var(--radius-md); padding:1.7rem 1.6rem;
  height:100%; box-shadow:0 4px 16px -12px rgba(0,0,0,.08);
}
.testi-card .stars{color:var(--clr-gold); font-size:.9rem; margin-bottom:.8rem;}
.testi-card p{font-size:.92rem; color:var(--clr-charcoal-soft); font-style:italic;}
.testi-author{display:flex; align-items:center; gap:.8rem; margin-top:1.2rem;}
.testi-author img{width:46px; height:46px; border-radius:50%; object-fit:cover;}
.testi-author strong{display:block; font-family:var(--font-display); font-size:.9rem;}
.testi-author span{font-size:.75rem; color:var(--clr-gray);}
.swiper-pagination-bullet-active{background:var(--clr-primary)!important;}

/* ================= CONTACT ================= */
.contact-wrap{background:var(--clr-charcoal); border-radius:var(--radius-lg); overflow:hidden;}
.contact-info{padding:3rem 2.2rem; color:#fff; height:100%;
  background:linear-gradient(160deg,rgba(225,90,29,.18),transparent 60%);}
.contact-info h3{color:#fff;}
.contact-info p{color:#c8c5c1;}
.contact-info-item{display:flex; gap:1rem; align-items:flex-start; margin-top:1.5rem;}
.contact-info-item .bi{width:44px; height:44px; border-radius:50%; background:rgba(225,90,29,.18); color:var(--clr-primary); display:flex; align-items:center; justify-content:center; font-size:1.15rem; flex-shrink:0;}
.contact-info-item strong{display:block; color:#fff; font-size:.92rem;}
.contact-info-item span{font-size:.83rem; color:#b9b6b2;}
.contact-form{background:#fff; padding:3rem 2.4rem;}
.contact-form .form-control,.contact-form .form-select{
  border-radius:12px; border:1.5px solid var(--clr-line); padding:.75rem 1rem; font-size:.9rem;
}
.contact-form .form-control:focus,.contact-form .form-select:focus{border-color:var(--clr-primary); box-shadow:0 0 0 3px rgba(225,90,29,.12);}
.contact-form label{font-size:.82rem; font-weight:600; color:var(--clr-charcoal-soft); margin-bottom:.35rem;}

/* ================= FOOTER ================= */
.site-footer{background:#1E1E20; color:#a9a8ac; padding-top:4rem;}
.site-footer h6{color:#fff; font-family:var(--font-display); font-weight:700; margin-bottom:1.1rem; font-size:.95rem;}
.site-footer .footer-logo img{height:48px; margin-bottom:1rem;}
.site-footer a{color:#a9a8ac; font-size:.88rem; transition:color .25s;}
.site-footer a:hover{color:var(--clr-primary);}
.footer-links li{margin-bottom:.6rem;}
.footer-social a{width:38px; height:38px; border-radius:50%; background:#2c2c2f; display:flex; align-items:center; justify-content:center; margin-right:.5rem;}
.footer-social a:hover{background:var(--clr-primary);}
.footer-bottom{border-top:1px solid #313134; margin-top:3rem; padding:1.2rem 0; font-size:.8rem;}

/* ================= FLOATING BUTTONS ================= */
.float-btns{position:fixed; right:1.3rem; bottom:1.3rem; z-index:1000; display:flex; flex-direction:column; gap:.7rem; align-items:flex-end;}
.float-btn{width:54px; height:54px; border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:1.5rem; color:#fff; box-shadow:0 10px 24px -8px rgba(0,0,0,.35); transition:transform .3s var(--ease);}
.float-btn:hover{transform:scale(1.1); color:#fff;}
.float-whatsapp{background:var(--clr-whatsapp);}
.float-call{background:var(--clr-primary);}
.back-to-top{width:44px; height:44px; border-radius:50%; background:var(--clr-charcoal); color:#fff; display:flex; align-items:center; justify-content:center; opacity:0; visibility:hidden; transform:translateY(10px); transition:all .35s var(--ease);}
.back-to-top.show{opacity:1; visibility:visible; transform:translateY(0);}

/* pulse animation for whatsapp */
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(37,211,102,.55);}70%{box-shadow:0 0 0 16px rgba(37,211,102,0);}100%{box-shadow:0 0 0 0 rgba(37,211,102,0);}}
.float-whatsapp{animation:pulse 2.2s infinite;}

/* ================= OUR VEHICLES CAROUSEL ================= */
.vehicles-wrap{position:relative; padding:0 3.2rem;}
.vehicle-card{
  background:#fff; border:1px solid var(--clr-line); border-radius:var(--radius-md); overflow:hidden;
  box-shadow:0 4px 18px -12px rgba(0,0,0,.1); transition:transform .35s var(--ease), box-shadow .35s var(--ease);
  height:100%;
}
.vehicle-card:hover{transform:translateY(-8px); box-shadow:var(--shadow-card);}
.vehicle-card .veh-img{height:180px; background:#f6f4f1; display:flex; align-items:center; justify-content:center; overflow:hidden;}
.vehicle-card .veh-img img{width:100%; height:100%; object-fit:cover;}
.vehicle-card .veh-body{padding:1.2rem 1.3rem 1.4rem; text-align:center;}
.vehicle-card .veh-title{font-family:var(--font-display); font-weight:700; color:var(--clr-primary); font-size:1.15rem; margin-bottom:.7rem;}
.vehicle-card .veh-tags{display:flex; align-items:center; justify-content:center; gap:.5rem; margin-bottom:.9rem; flex-wrap:wrap;}
.vehicle-card .veh-tag{display:inline-flex; align-items:center; gap:.35rem; background:var(--clr-cream); border:1px solid var(--clr-line); color:var(--clr-charcoal-soft); font-size:.76rem; font-weight:600; padding:.3rem .7rem; border-radius:50px;}
.vehicle-card .veh-tag .bi{color:var(--clr-primary);}
.vehicle-card .veh-from{font-size:.72rem; color:var(--clr-gray); text-transform:uppercase; letter-spacing:.06em; margin-bottom:.15rem;}
.vehicle-card .veh-rate{font-family:var(--font-display); font-weight:800; color:var(--clr-charcoal); font-size:1.5rem; margin-bottom:1rem;}
.vehicle-card .veh-rate span{font-size:.85rem; font-weight:600; color:var(--clr-gray);}
.vehicles-wrap .swiper-button-next,.vehicles-wrap .swiper-button-prev{
  width:44px; height:44px; background:var(--clr-primary); border-radius:50%; color:#fff; top:42%;
  box-shadow:0 10px 22px -8px rgba(225,90,29,.5); transition:background .25s;
}
.vehicles-wrap .swiper-button-next:hover,.vehicles-wrap .swiper-button-prev:hover{background:var(--clr-primary-dark);}
.vehicles-wrap .swiper-button-next::after,.vehicles-wrap .swiper-button-prev::after{font-size:1rem; font-weight:800;}
.vehicles-wrap .swiper-pagination-bullet-active{background:var(--clr-primary)!important;}
@media(max-width:575px){
  .vehicles-wrap{padding:0 0 2.5rem;}
  .vehicles-wrap .swiper-button-next,.vehicles-wrap .swiper-button-prev{display:none;}
}

/* ================= ITINERARY POPUP MODAL ================= */
/* Built as a single reusable component driven by data-* attributes on each
   "View Itinerary" button — this maps cleanly onto an Elementor Popup Builder
   template later (one popup design, one dynamic content source per trigger). */
.itinerary-modal .modal-content{border:none; border-radius:var(--radius-lg); overflow:hidden;}
.itinerary-modal .btn-close{position:absolute; top:1rem; right:1rem; z-index:5; background:#fff; opacity:1; width:34px; height:34px; border-radius:50%; padding:0; background-image:none; display:flex; align-items:center; justify-content:center; box-shadow:0 4px 14px -4px rgba(0,0,0,.35);}
.itinerary-modal .btn-close::before{content:"\f659"; font-family:"bootstrap-icons"; font-size:1rem; color:var(--clr-charcoal);}
.itin-modal-img{position:relative; height:230px;}
.itin-modal-img img{width:100%; height:100%; object-fit:cover;}
.itin-modal-img::after{content:""; position:absolute; inset:0; background:linear-gradient(180deg,transparent 40%,rgba(0,0,0,.55) 100%);}
.itin-modal-days{position:absolute; bottom:14px; left:20px; z-index:2; background:var(--clr-primary); color:#fff; font-family:var(--font-display); font-weight:700; font-size:.78rem; padding:.35rem .9rem; border-radius:50px;}
.itin-modal-body{padding:1.6rem 1.8rem 1.9rem;}
.itin-modal-body h3{font-size:1.4rem; margin-bottom:.7rem;}
.itin-modal-meta{display:flex; gap:1.4rem; flex-wrap:wrap; margin-bottom:1.3rem; padding-bottom:1.1rem; border-bottom:1px dashed var(--clr-line);}
.itin-modal-meta span{display:flex; align-items:center; gap:.45rem; font-size:.85rem; color:var(--clr-gray); font-weight:600;}
.itin-modal-meta .bi{color:var(--clr-primary); font-size:1rem;}
.itin-modal-meta strong{color:var(--clr-charcoal); font-family:var(--font-display);}
.itin-day-block{margin-bottom:1.1rem;}
.itin-day-block:last-child{margin-bottom:0;}
.itin-day-block .itin-day-label{display:inline-flex; align-items:center; gap:.5rem; font-family:var(--font-display); font-weight:700; font-size:.85rem; color:var(--clr-primary); background:var(--clr-primary-light); padding:.3rem .8rem; border-radius:50px; margin-bottom:.6rem;}
.itin-day-block ul{list-style:none; padding-left:0; margin:0;}
.itin-day-block ul li{display:flex; gap:.6rem; align-items:flex-start; font-size:.86rem; color:var(--clr-charcoal-soft); margin-bottom:.5rem;}
.itin-day-block ul li .bi{color:var(--clr-gold); font-size:.85rem; margin-top:.2rem; flex-shrink:0;}
.itin-modal-inclusions{margin-top:1.3rem; padding-top:1.1rem; border-top:1px dashed var(--clr-line); font-size:.82rem; color:var(--clr-gray);}
.itin-modal-inclusions strong{color:var(--clr-charcoal); font-family:var(--font-display); display:block; margin-bottom:.35rem; font-size:.85rem;}
.itin-modal-actions{display:flex; gap:.7rem; margin-top:1.4rem; flex-wrap:wrap;}
.itin-modal-actions .btn{flex:1;}
@media(max-width:575px){
  .itin-modal-body{padding:1.3rem 1.3rem 1.6rem;}
  .itin-modal-img{height:170px;}
}

/* ================= MISC / RESPONSIVE ================= */
@media(max-width:991px){
  .hero-badge-fleet{display:none;}
  .about-stat-card{right:.4rem; bottom:-1.2rem; padding:.85rem 1.1rem;}
  .contact-info,.contact-form{padding:2.2rem 1.6rem;}
  .section-pad{padding-block:4.25rem;}
}
@media(max-width:767px){
  .hero{padding-top:6.5rem; padding-bottom:3.5rem; text-align:left;}
  .hero-price-chip{font-size:.82rem;}
  .pkg-card .pkg-img{height:180px;}
  .vehicle-card .veh-img{height:160px;}
}
@media(max-width:575px){
  .arch-frame{border-radius:120px 120px 18px 18px;}
  .cta-banner{text-align:center;}
  .cta-banner .cta-buttons{justify-content:center; margin-top:1.2rem;}
  .hero-title{font-size:2rem;}
  .hero-lead{font-size:.98rem;}
  .hero-trust-row{gap:1rem 1.4rem;}
  .fare-row.fare-row-km{margin:0 -1.2rem; padding:.5rem 1.2rem;}
  .fare-card .fare-body{padding:1.2rem 1.2rem 1.4rem;}
  .d-flex.flex-wrap.gap-3{gap:.7rem!important;}
  .btn{padding:.68rem 1.3rem; font-size:.85rem;}
}

[data-aos]{will-change:transform,opacity;}
