/* STEP TAXI V18 — visual-only enhancement. Existing booking JS unchanged. */
:root{--step-v18-gold:#ffc100;--step-v18-ink:#061a46;--step-v18-shadow:0 22px 65px rgba(7,31,81,.13),0 3px 12px rgba(7,31,81,.045)}
body{background:radial-gradient(circle at 8% 8%,rgba(150,190,255,.22),transparent 34%),radial-gradient(circle at 94% 80%,rgba(255,193,0,.11),transparent 29%),#f4f7fc!important}
:where(.panel,.sidebar,.route-panel,.mapcard,.auth-form-wrap,.card,.step-extra){box-shadow:var(--step-v18-shadow)!important;border:1px solid rgba(19,54,110,.10)!important}
:where(.panel,.sidebar,.route-panel,.auth-form-wrap,.step-extra){backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
:where(.btn,.main-btn,.primary,.go,.step-extra button):not(:disabled):hover{filter:brightness(1.015);transform:translateY(-2px);box-shadow:0 13px 30px rgba(255,193,0,.25)}
:where(.panel,.sidebar,.card,.mapcard,.step-extra){transition:box-shadow .25s ease,border-color .25s ease,transform .25s ease}
:where(.card,.step-extra):hover{border-color:rgba(255,193,0,.42)!important}
:where(input,select,textarea){transition:box-shadow .2s ease,border-color .2s ease}
:where(input,select,textarea):focus-visible{outline:2px solid #ffc100;outline-offset:2px}
:where(.eyebrow,.kicker,.aside-kicker,.small-eyebrow){letter-spacing:.13em;font-weight:850}
:where(.topbar,.nav,.header){backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}
:where(.mapbox,.map-wrap,.map-container,.mapcard){border-radius:24px!important;overflow:hidden}
:where(.maplibregl-ctrl-group){border:1px solid rgba(8,29,86,.1)!important;box-shadow:0 10px 26px rgba(8,29,86,.14)!important}
:where(.step-extra-item){border-color:#e2e9f6;background:linear-gradient(145deg,#fff,#f3f7ff)}
::selection{background:#ffc100;color:#061a46}
body:has(.hero-wrap) .hero-wrap{position:relative;isolation:isolate;border-radius:34px;overflow:hidden;box-shadow:0 28px 90px rgba(8,29,86,.16)}
body:has(.hero-wrap) .hero-wrap::before{content:"";position:absolute;inset:0;pointer-events:none;z-index:-1;background:radial-gradient(circle at 70% 20%,rgba(255,193,0,.17),transparent 30%),radial-gradient(circle at 20% 85%,rgba(81,134,243,.15),transparent 38%)}
body:has(.hero-wrap) .hero-copy h1{letter-spacing:-.065em;line-height:1.06;text-wrap:balance}
body:has(.hero-wrap) .hero-art{filter:drop-shadow(0 25px 34px rgba(3,15,48,.17))}
body:has(.hero-wrap) .card{overflow:hidden;position:relative}
body:has(.hero-wrap) .card::before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,#ffc100,#ffe785,#ffc100)}
body:has(.hero-wrap) .card:hover{transform:translateY(-5px)}
/* The existing 8-second swipe interaction is preserved: only appearance changes. */
.step-offer-overlay{background:radial-gradient(circle at 50% 25%,rgba(20,58,129,.6),rgba(2,10,31,.78))!important;backdrop-filter:blur(14px) saturate(1.2)!important;-webkit-backdrop-filter:blur(14px) saturate(1.2)!important}
.step-offer-card{position:relative;isolation:isolate;width:min(100%,492px)!important;padding:clamp(18px,4vw,30px)!important;border-radius:30px!important;border:1px solid rgba(255,255,255,.75)!important;background:linear-gradient(155deg,#fff 0%,#fbfcff 55%,#edf3ff 100%)!important;box-shadow:0 35px 110px rgba(1,10,38,.45),0 0 0 1px rgba(255,193,0,.15)!important;animation:step-v18-arrive .34s cubic-bezier(.2,.8,.2,1) both!important}
.step-offer-card::before{content:"";position:absolute;top:0;left:30px;right:30px;height:5px;background:linear-gradient(90deg,transparent,#ffc100 22%,#ffe894 50%,#ffc100 78%,transparent);border-radius:0 0 12px 12px}
.step-offer-eyebrow{color:#a47800!important;font-size:11px!important;letter-spacing:.18em!important}
.step-offer-head{align-items:center!important;gap:14px!important}
.step-offer-head h2{font-size:clamp(23px,4vw,29px)!important;letter-spacing:-.045em!important}
.step-offer-timer{width:82px!important;height:82px!important;box-shadow:0 0 0 7px rgba(255,193,0,.10),0 12px 22px rgba(8,29,86,.1)}
.step-offer-timer strong{font-size:27px!important;letter-spacing:-.05em}
.step-offer-details{padding:20px!important;border-radius:21px!important;border:1px solid rgba(8,29,86,.08)!important;background:linear-gradient(145deg,#f8faff,#edf3ff)!important;box-shadow:inset 0 1px 0 #fff}
.step-offer-details b{color:#66758f!important;letter-spacing:.04em}
.step-offer-accept{border-radius:21px!important;box-shadow:0 17px 34px rgba(255,193,0,.23)!important;overflow:hidden!important}
.step-offer-accept::before{background:linear-gradient(95deg,#ffae00 0%,#ffc100 58%,#ffdf62 100%)!important}
.step-offer-accept::after{box-shadow:inset 0 0 0 1px rgba(255,255,255,.48)!important}
.step-slide-track{height:80px!important}
.step-slide-handle{top:8px!important;left:8px!important;width:64px!important;height:64px!important;border-radius:17px!important;background:linear-gradient(145deg,#12316f,#06183f)!important;box-shadow:0 6px 18px rgba(3,22,64,.32),inset 0 1px 0 rgba(255,255,255,.18)!important}
.step-slide-copy{font-size:15px!important;letter-spacing:.015em;text-shadow:0 1px 0 rgba(255,255,255,.55)}
@keyframes step-v18-arrive{from{opacity:0;transform:translateY(18px) scale(.975)}to{opacity:1;transform:translateY(0) scale(1)}}
body:has(.tablewrap) .tablewrap{border-radius:20px;overflow:auto;border:1px solid #e0e8f5}
body:has(.tablewrap) table{border-collapse:separate;border-spacing:0}
body:has(.tablewrap) th{background:#edf3ff;color:#0b245b;letter-spacing:.025em}
body:has(.tablewrap) tbody tr:hover{background:#f5f8ff}
body:has(.tablewrap) .panel{border-radius:23px}
@media(max-width:720px){body:has(.hero-wrap) .hero-wrap{border-radius:22px}:where(.panel,.sidebar,.route-panel,.mapcard,.step-extra){border-radius:19px!important}.step-offer-overlay{padding:12px!important;align-items:center!important}.step-offer-card{border-radius:24px!important;padding:18px!important;max-height:calc(100dvh - 24px);overflow-y:auto}.step-offer-details{padding:14px!important;gap:9px!important}.step-offer-timer{width:68px!important;height:68px!important}.step-offer-timer strong{font-size:23px!important}.step-slide-track{height:74px!important}.step-slide-handle{width:58px!important;height:58px!important}.step-slide-copy{font-size:13px!important;padding-left:57px!important}}
@media(prefers-reduced-motion:reduce){.step-offer-card{animation:none!important}:where(.card,.step-extra):hover{transform:none}}
