
.booking{--accent:#2563eb;--muted:#f6f7f9;--text:#111827;--border:#e5e7eb;--ok:#16a34a;--warn:#f59e0b;font-family:ui-sans-serif,system-ui,Inter,Roboto}
.booking *{box-sizing:border-box}
.booking .wrap{max-width:1020px;margin:0 auto;background:#fff;border:1px solid var(--border);border-radius:18px;overflow:hidden;box-shadow:0 20px 50px rgba(2,6,23,.08)}
.booking header{padding:1rem 1.25rem;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;gap:1rem}
.booking h2{margin:0;font-size:1.25rem}
.booking .progress{display:flex;gap:.35rem;flex:1;max-width:420px}
.booking .progress .dot{height:28px;width:28px;border-radius:50%;display:grid;place-items:center;background:#fff;border:1px solid var(--border);color:#64748b;font-weight:700}
.booking .progress .dot.active{background:linear-gradient(135deg,#2563eb,#0ea5e9);color:#fff;border-color:transparent;box-shadow:0 8px 20px rgba(37,99,235,.25)}
.booking main{padding:1rem 1.25rem}
.booking .grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.booking .field{display:grid;gap:.35rem}
.booking label{font-size:.9rem;opacity:.9}
.booking input,.booking select,.booking textarea{padding:.9rem;border:1px solid var(--border);border-radius:.7rem;width:100%;background:#fff}
.booking input:focus,.booking select:focus,.booking textarea:focus{outline:none;box-shadow:0 0 0 3px rgba(147,197,253,.5)}
.booking .row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.booking .actions{display:flex;justify-content:space-between;align-items:center;margin-top:1rem;position:relative}
.booking .btn{appearance:none;border:0;border-radius:.9rem;padding:.9rem 1.1rem;background:linear-gradient(135deg,#2563eb,#0ea5e9);color:#fff;font-weight:800;cursor:pointer;box-shadow:0 10px 30px rgba(14,165,233,.25);transition:transform .15s ease}
.booking .btn:hover{transform:translateY(-2px)}
.booking .btn.secondary{background:#fff;color:#2563eb;border:2px solid #2563eb;box-shadow:none}
.booking .btn.ghost{background:#fff;border:1px solid var(--border);color:#0b1220;border-radius:.6rem;font-weight:700}
.booking .price{font-weight:900;font-size:1.1rem}
.booking .muted{opacity:.8}
.booking .summary{background:var(--muted);border:1px solid var(--border);border-radius:12px;padding:1rem;margin-top:1rem}
.booking .two-col{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}
.booking .note{font-size:.9rem;opacity:.9;margin-top:.5rem}
/* vehicle slider */
.vehicles{position:relative;overflow:hidden}
.vehicles-track{display:flex;gap:1rem;transition:transform .5s cubic-bezier(.2,.8,.2,1)}
.vehicle{min-width:300px;background:#fff;border:1px solid var(--border);border-radius:16px;padding:1rem;box-shadow:0 1px 0 rgba(0,0,0,.02);transition:transform .2s ease, box-shadow .2s ease}
.vehicle:hover{transform:translateY(-3px);box-shadow:0 12px 30px rgba(37,99,235,.15)}
.vehicle img{width:100%;height:180px;object-fit:cover;border-radius:12px;border:1px solid var(--border)}
.vehicle h4{margin:.5rem 0 .25rem}
.vehicle .meta{font-size:.9rem;opacity:.85}
.vehicle.selected{outline:3px solid #93c5fd}
.slider-nav{display:flex;justify-content:space-between;margin:.5rem 0}
.slider-btn{border:1px solid var(--border);background:#fff;border-radius:.6rem;padding:.5rem .75rem;cursor:pointer}
.warn{background:#fff3cd;border:1px solid #ffeeba;color:#856404;border-radius:8px;padding:.6rem .8rem;margin-bottom:1rem}
.sticky-bar{position:sticky;bottom:0;left:0;right:0;background:linear-gradient(180deg,rgba(255,255,255,0),rgba(255,255,255,.9));padding-top:.75rem;margin-top:.75rem}
.sticky-inner{display:flex;justify-content:space-between;align-items:center;gap:1.25rem;background:#fff;border:1px solid var(--border);border-radius:12px;padding:.75rem 1rem;box-shadow:0 6px 18px rgba(2,6,23,.07);position:relative}
/* Price summary styling */
.price-sale{display:flex;align-items:flex-start;gap:.5rem;flex-wrap:wrap}


.price-sale .chip{margin-top:0;white-space:nowrap}
.price-sale .chip.strike{color:#dc2626;text-decoration:line-through;font-size:.9em}
.price-sale .strike{color:#dc2626;opacity:1;text-decoration:line-through;font-size:.9em}
.price-sale [data-chip="multi"]{flex:0 0 auto;padding:.25rem .6rem;font-size:.85rem}
.sticky-inner.pricebar>:nth-child(2){flex:1}
.sticky-inner.pricebar .js-sale-chip{position:absolute!important;right:0!important;top:-.5rem!important;transform:none!important;margin:0;background:linear-gradient(135deg,#dc2626,#f87171);color:#fff;border:0;border-radius:.55rem;padding:.25rem .55rem;box-shadow:0 6px 14px rgba(220,38,38,.25);font-weight:800;font-size:.85rem}
.sticky-inner.pricebar .js-open-summary{margin-top:.5rem}

.price-note{color:#dc2626;font-weight:800;margin-top:.15rem;font-size:.9rem}

@media(max-width:560px){
  .sticky-inner.pricebar{align-items:center}
  .pricebar{padding-right:1rem}
  .price-sale{flex-wrap:wrap}
  .sticky-inner .btn{padding:.75rem 1.2rem;font-size:1rem}
  .sticky-inner.pricebar .js-open-summary{padding:.55rem .6rem;font-size:.85rem}
  .sticky-inner.pricebar [data-prev]{padding:.7rem 1rem;font-size:.95rem}
  .sticky-inner.pricebar>div>[data-prev]+.btn{margin-top:.4rem}
  .sticky-inner.pricebar [data-next],
  .sticky-inner.pricebar #submitBtn{padding:1rem 1.6rem;font-size:1.1rem}
}
@media (max-width: 900px){.booking .grid,.booking .row,.booking .two-col{grid-template-columns:1fr}}
