/* ===== Kadana Rental — custom styles ===== */
html { scroll-behavior: smooth; }
body { background:#faf6ef; }

/* scroll reveal */
.reveal { opacity:0; transform:translateY(30px); transition:opacity .7s cubic-bezier(.22,1,.36,1), transform .7s cubic-bezier(.22,1,.36,1); }
.reveal.show { opacity:1; transform:none; }

/* vehicle card */
.v-card { transition:transform .4s cubic-bezier(.22,1,.36,1), box-shadow .4s ease; }
.v-card:hover { transform:translateY(-8px); box-shadow:0 28px 50px -18px rgba(12,84,75,.4); }
.v-card:hover .card-img { transform:scale(1.06); }
.card-img { transition:transform .8s cubic-bezier(.22,1,.36,1); }
.v-card.is-disabled .card-img { filter:grayscale(1); opacity:.55; }
.v-card.is-disabled:hover .card-img { transform:none; }

/* filter pills */
.filter-btn.active { background:#0c544b; color:#fff; border-color:#0c544b; }

/* gradient text */
.grad-text { background:linear-gradient(90deg,#e2703f,#e0b251); -webkit-background-clip:text; background-clip:text; color:transparent; }

/* modal */
.modal-bg { transition:opacity .3s ease; }
.modal-panel { transition:transform .35s cubic-bezier(.22,1,.36,1), opacity .35s ease; }

/* floating whatsapp */
.wa-pulse::before { content:''; position:absolute; inset:0; border-radius:9999px; background:#25d366; opacity:.55; animation:ping 1.8s cubic-bezier(0,0,.2,1) infinite; }
@keyframes ping { 75%,100%{ transform:scale(1.9); opacity:0; } }
.wa-panel { transform-origin:bottom right; transition:opacity .25s ease, transform .25s cubic-bezier(.22,1,.36,1); }
.wa-panel.closed { opacity:0; transform:scale(.85) translateY(10px); pointer-events:none; }

/* utility */
.no-scrollbar::-webkit-scrollbar { display:none; }
.no-scrollbar { -ms-overflow-style:none; scrollbar-width:none; }

/* hero entrance */
@keyframes fadeUp { from{ opacity:0; transform:translateY(24px); } to{ opacity:1; transform:translateY(0); } }
.hero-anim { opacity:0; animation:fadeUp .7s ease-out forwards; }
.hero-anim.d1{ animation-delay:.05s; } .hero-anim.d2{ animation-delay:.18s; }
.hero-anim.d3{ animation-delay:.31s; } .hero-anim.d4{ animation-delay:.44s; } .hero-anim.d5{ animation-delay:.57s; }

/* how-it-works steps */
.step-card { transition:transform .35s cubic-bezier(.22,1,.36,1); }
.step-card:hover { transform:translateY(-10px); }
.step-card:hover .badge { transform:rotate(-6deg) scale(1.08); }
.badge { transition:transform .35s ease; }
@keyframes pulseRing { 0%{ box-shadow:0 0 0 0 rgba(224,178,81,.45); } 70%{ box-shadow:0 0 0 16px rgba(224,178,81,0); } 100%{ box-shadow:0 0 0 0 rgba(224,178,81,0); } }
.pulse-ring { animation:pulseRing 2.6s ease-out infinite; }
.pulse-ring.p2{ animation-delay:.6s; } .pulse-ring.p3{ animation-delay:1.2s; }

/* hero scroll cue: stacked chevrons drifting down */
@keyframes chevDrop { 0%{ opacity:0; transform:translateY(-7px); } 45%{ opacity:1; } 100%{ opacity:0; transform:translateY(7px); } }
.chev { animation:chevDrop 1.6s ease-in-out infinite; }
.chev.c2{ animation-delay:.22s; } .chev.c3{ animation-delay:.44s; }

/* pagination */
.page-btn { transition:all .2s ease; }
.page-btn.active { background:#0c544b; color:#fff; border-color:#0c544b; }
.page-btn:disabled { opacity:.4; cursor:not-allowed; }

/* blink caret */
@keyframes blink { 0%,100%{ opacity:1; } 50%{ opacity:0; } }
.blink { animation:blink 1s step-end infinite; }
