/* Lux Rides — full booking page (cream / gold theme) */
.lux-booking-app{padding:0 0 80px;}
.lux-booking-app .bk-app-wrap{max-width:1100px;margin:0 auto;}
.bk-app-layout{display:block;}
.bk-app-layout--centered{max-width:100%;margin:0 auto;}
.bk-app-form{background:transparent;border:0;border-radius:0;padding:0;box-shadow:none;width:100%;max-width:100%;}
.bk-steps{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:26px;justify-content:center;}
.bk-step-pill{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:999px;border:1px solid var(--line);background:var(--cream);color:var(--ink-muted);font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;cursor:pointer;transition:.2s;}
.bk-step-pill span{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;background:var(--cream-2);font-weight:700;color:var(--ink-soft);}
.bk-step-pill.active,.bk-step-pill.done{border-color:var(--gold-2);color:var(--ink);background:linear-gradient(135deg,var(--paper),var(--gold-5));}
.bk-step-pill.active span,.bk-step-pill.done span{background:linear-gradient(135deg,var(--gold-1),var(--gold-3));color:#fff;}
.bk-section-label{font-size:.68rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold-2);margin:0 0 16px;font-weight:600;}

/* Step 1 — wider centered ride form */
.lux-booking-app .ride-form.glass{margin-bottom:0;max-width:none;width:100%;}
.lux-booking-app .bk-app-form,
.lux-booking-app .ride-form{
  position:relative;
  z-index:5;
  overflow:visible;
}
.lux-booking-app .ride-form:has(.rf-picker-wrap.open),
.lux-booking-app .ride-form:has(.rf-custom-select.open),
.lux-booking-app .ride-form:has(.rf-field-open){
  z-index:50;
}
.bk-panel[hidden]{display:none!important;}

/* Steps 2–4 card panels */
.bk-panel[data-panel="2"],
.bk-panel[data-panel="3"],
.bk-panel[data-panel="4"]{
  background:var(--paper);
  border:1px solid var(--line);
  border-radius:var(--radius-lg);
  padding:36px 40px;
  box-shadow:var(--shadow-soft);
  position:relative;
  z-index:2;
  overflow:visible;
  width:100%;
}
.bk-panel[data-panel="2"] .bk-field:focus-within,
.bk-panel[data-panel="3"] .bk-field:focus-within{
  z-index:40;
}

.bk-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.bk-panel[data-panel="2"] .bk-field,
.bk-panel[data-panel="3"] .bk-field{margin-bottom:14px;position:relative;}
.bk-panel[data-panel="2"] .bk-field label,
.bk-panel[data-panel="3"] .bk-field label{display:block;font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-muted);margin-bottom:7px;}
.bk-panel[data-panel="2"] .bk-field input,
.bk-panel[data-panel="2"] .bk-field select,
.bk-panel[data-panel="2"] .bk-field textarea,
.bk-panel[data-panel="3"] .bk-field input,
.bk-panel[data-panel="3"] .bk-field select,
.bk-panel[data-panel="3"] .bk-field textarea{width:100%;padding:13px 14px;border-radius:12px;border:1px solid var(--line);background:linear-gradient(180deg,#fff,var(--cream));color:var(--ink);font:inherit;}
.bk-panel[data-panel="2"] .bk-field input:focus,
.bk-panel[data-panel="2"] .bk-field select:focus,
.bk-panel[data-panel="2"] .bk-field textarea:focus,
.bk-panel[data-panel="3"] .bk-field input:focus,
.bk-panel[data-panel="3"] .bk-field select:focus,
.bk-panel[data-panel="3"] .bk-field textarea:focus{outline:none;border-color:var(--gold-2);box-shadow:0 0 0 3px var(--gold-glow);}

/* Fleet picker — 4-column full width */
.bk-fleet-picker{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:18px;
  margin-bottom:22px;
  width:100%;
}
.bk-veh-thumb{
  display:flex;
  flex-direction:column;
  align-items:stretch;
  text-align:left;
  gap:0;
  padding:0;
  border:1px solid var(--line);
  border-radius:16px;
  background:var(--paper);
  cursor:pointer;
  transition:border-color .2s,box-shadow .2s,transform .2s;
  overflow:hidden;
}
.bk-veh-thumb:hover{border-color:var(--gold-3);transform:translateY(-2px);box-shadow:var(--shadow-soft);}
.bk-veh-thumb.selected{border-color:var(--gold-2);box-shadow:0 0 0 2px var(--gold-glow);background:linear-gradient(180deg,#fff,var(--gold-5));}
.bk-veh-thumb-img{
  width:100%;
  aspect-ratio:16 / 9;
  height:auto;
  border-radius:0;
  background:var(--cream-2);
  display:flex;align-items:center;justify-content:center;
  overflow:hidden;
}
.bk-veh-thumb-img img{width:100%;height:100%;object-fit:cover;}
.bk-veh-thumb-info{display:flex;flex-direction:column;gap:4px;padding:14px 14px 16px;}
.bk-veh-thumb-name{font-family:var(--font-display,var(--serif));font-size:1rem;font-weight:600;color:var(--ink);}
.bk-veh-thumb-meta{font-size:.74rem;color:var(--ink-muted);}
.bk-veh-thumb-models{font-size:.7rem;color:var(--ink-soft);line-height:1.35;}
.bk-veh-thumb.is-unavailable,
.bk-veh-thumb:disabled{
  opacity:.42;
  filter:grayscale(.35);
  cursor:not-allowed;
  pointer-events:none;
  transform:none!important;
  box-shadow:none!important;
}
.bk-fleet-hint{
  color:#b42318;
  font-size:.85rem;
  margin:0 0 12px;
  line-height:1.45;
}
.bk-field-phone .lux-phone-label{
  display:block;
  font-size:.68rem;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--ink-muted);
  margin-bottom:7px;
}
.bk-field-phone .lux-phone-trigger,
.bk-field-phone .lux-phone-local input{
  min-height:48px;
  border-radius:12px;
  border:1px solid var(--line);
  background:linear-gradient(180deg,#fff,var(--cream));
  font:inherit;
}
.bk-field-phone .lux-phone-menu{z-index:80;}
.bk-field-phone:focus-within,
.bk-field-phone:has(.lux-phone-menu:not([hidden])){
  position:relative;
  z-index:50;
}

.bk-fleet-grid{display:none;}
.bk-nav-row{display:flex;gap:12px;margin-top:18px;flex-wrap:wrap;}
.bk-nav-row .btn-primary{margin-left:auto;}

/* Summary card (Step 3) — trip details + charge breakdown */
.bk-summary-card{margin-top:22px;padding:24px 26px;border-radius:16px;border:1px solid var(--line);background:linear-gradient(180deg,#fff,var(--cream));}
.bk-summary-card h3{font-family:var(--font-display,var(--serif));font-size:1.25rem;margin:0 0 16px;color:var(--gold-2);font-weight:500;}
.bk-summary-lines{display:grid;gap:0;font-size:.9rem;}
.bk-summary-lines .row{display:flex;justify-content:space-between;gap:16px;border-bottom:1px solid var(--line);padding:10px 0;}
.bk-summary-lines .row:last-child{border-bottom:0;}
.bk-summary-lines .row span:first-child{color:var(--ink-muted);}
.bk-summary-lines .row span:last-child{text-align:right;color:var(--ink);font-weight:500;max-width:65%;}
.bk-summary-totals{margin-top:8px;padding-top:14px;border-top:2px solid var(--gold-3);}
.bk-summary-totals .row{display:flex;justify-content:space-between;gap:16px;margin-bottom:8px;font-size:.92rem;}
.bk-summary-totals .row span:first-child{color:var(--ink-muted);}
.bk-summary-totals .row.charge span:first-child{color:var(--ink-soft);}
.bk-summary-totals .row.subtotal{margin-top:6px;padding-top:8px;border-top:1px solid var(--line);}
.bk-summary-totals .row.subtotal span{font-weight:600;color:var(--ink);}
.bk-summary-totals .row.tax span:first-child{color:var(--ink-muted);}
.bk-summary-totals .row.total{font-size:1.28rem;font-weight:800;margin-top:8px;padding-top:10px;border-top:1px solid var(--line);}
.bk-summary-totals .row.total span{color:var(--ink);}
.bk-summary-note{font-size:.72rem;color:var(--ink-muted);margin:10px 0 0;line-height:1.4;}

.bk-err{color:#b42318;font-size:.85rem;margin:10px 0 0;}
.bk-fine{font-size:.76rem;color:var(--ink-muted);text-align:center;margin-top:14px;}
.bk-success{text-align:center;padding:20px 0;}
.bk-ok-icon{width:64px;height:64px;border-radius:50%;margin:0 auto 16px;display:grid;place-items:center;background:linear-gradient(135deg,var(--gold-1),var(--gold-3));color:#fff;font-size:1.8rem;font-weight:700;}

/* Fleet picker fallback images via CSS classes */
.bk-veh-thumb-img.carpic-sedan,
.bk-veh-thumb-img.carpic-suv,
.bk-veh-thumb-img.carpic-first,
.bk-veh-thumb-img.carpic-van,
.bk-veh-thumb-img.carpic-electric{background-position:center;background-repeat:no-repeat;background-size:contain;}

/* Map card under summary */
.bk-map-card{margin-top:20px;background:#fff;border:1px solid var(--line);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-soft);}
.bk-map{height:320px;background:var(--cream-2);}
.bk-map-stats{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);}
.bk-map-stat{padding:16px 18px;background:var(--paper);}
.bk-map-stat .lbl{display:block;font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-muted);margin-bottom:4px;}
.bk-map-stat strong{font-size:1.1rem;color:var(--ink);}
.leaflet-container{font-family:inherit;}

@media(max-width:980px){
  .lux-booking-app .bk-app-wrap{max-width:100%;}
  .bk-fleet-picker{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;}
  .bk-map{height:260px;}
  .bk-grid-2{grid-template-columns:1fr;}
  .bk-panel[data-panel="2"],
  .bk-panel[data-panel="3"],
  .bk-panel[data-panel="4"]{padding:24px 20px;}
}
@media(max-width:520px){
  .bk-fleet-picker{grid-template-columns:1fr;}
  .bk-steps{justify-content:flex-start;}
}
