.book-page h1{font-size:clamp(64px,8vw,112px)}
.book-page h2{font-size:clamp(36px,4vw,52px);margin-bottom:18px}
.book-page>.muted,.book-page>p:not(.eyebrow){max-width:640px}
.hive-inquiry{max-width:560px}
.hive-inquiry label,.slot-label{display:block;font-size:10px;letter-spacing:.14em;margin:22px 0 8px}
.hive-inquiry input,.hive-inquiry select,.hive-inquiry textarea,.booking-panel input,.booking-panel select{
  width:100%;background:#11171b;border:1px solid #ffffff3b;color:var(--paper);padding:16px;color-scheme:dark
}
.hive-inquiry textarea{min-height:120px;resize:vertical;font:inherit}
.hive-inquiry .btn,.login-form{margin-top:22px}
.login-form{max-width:420px}
[data-hive-book] input[name="date"]{display:none}
.date-grid{display:flex;flex-wrap:wrap;gap:8px}
.date-grid button{
  background:#11171b;border:1px solid #ffffff3b;color:var(--paper);padding:12px 14px;text-align:left;min-height:64px
}
.date-grid button strong{display:block;font:700 14px Body,sans-serif;letter-spacing:.02em}
.date-grid button small{display:block;color:#9aa4a6;margin-top:4px;font-size:12px}
.date-grid button[aria-pressed="true"]{border-color:var(--lime);color:var(--lime)}
.slot-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.slot-grid button{
  background:#11171b;border:1px solid #ffffff3b;color:var(--paper);padding:14px;text-align:left;min-height:72px
}
.slot-grid button strong{display:block;font:700 14px Body,sans-serif;letter-spacing:.04em;text-transform:uppercase}
.slot-grid button small{display:block;color:#9aa4a6;margin-top:4px}
.slot-grid button[aria-pressed="true"]{border-color:var(--lime);color:var(--lime)}
.slot-grid button:disabled{opacity:.38;text-decoration:line-through}
.slot-note,.form-error,.form-ok{margin-top:12px;font-size:13px}
.form-error{color:#ffb4a8}
.form-ok{color:var(--lime)}
.pay-banner{border:1px solid var(--lime);padding:14px 16px;color:#d7e7a2;margin:8px 0 18px}
.checkout-grid,.admin-split{display:grid;grid-template-columns:1.15fr .85fr;gap:7vw;align-items:start;margin-top:36px}
.booking-panel img{width:100%;height:190px;object-fit:cover;margin-bottom:18px}
.booking-panel h3{font-size:clamp(32px,4vw,48px)}
.confirm-card{max-width:640px;margin-top:28px}
.confirm-card p{margin-bottom:14px}
.confirm-card .btn{margin-top:12px}
.car-picker{margin-top:28px}
.car-picker-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:18px}
.car-picker-grid a{display:block;background:#151b1e;border:1px solid #ffffff33;min-height:100%}
.car-picker-grid img{width:100%;height:140px;object-fit:cover}
.car-picker-grid span,.car-picker-grid small{display:block;color:#9aa4a6;font-size:11px;letter-spacing:.12em;text-transform:uppercase;padding:0 14px}
.car-picker-grid span{padding-top:12px}
.car-picker-grid strong{display:block;padding:6px 14px 4px;font:700 22px Race,Impact,sans-serif;text-transform:uppercase}
.car-picker-grid small{padding-bottom:14px}
.record-list{display:grid}
.record{border-top:1px solid var(--line);padding:16px 0 18px}
.record strong{display:block;font:700 26px Race,Impact,sans-serif;text-transform:uppercase;margin:4px 0}
.status{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:#9aa4a6}
.status-paid{color:var(--lime)}
.status-hold{color:#e6c776}
.code-row{display:flex;gap:8px}
.code-row input{flex:1}
.code-apply{background:transparent;border:1px solid #ffffff5c;color:var(--paper);padding:0 20px;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.code-apply:disabled{opacity:.4}
.hp{position:absolute;left:-9999px;height:0;width:0;opacity:0}
.booking-panel form,.hive-slot-form{min-width:0}
.booking-panel label,.hive-slot-form label{display:block;font-size:10px;letter-spacing:.14em;margin:22px 0 8px}
.booking-panel input[type="date"],.hive-inquiry input[type="date"]{
  display:flex;align-items:center;width:100%;max-width:100%;min-width:0;box-sizing:border-box;
  background:#11171b;border:1px solid #ffffff3b;color:var(--paper);color-scheme:dark;
  font:16px/1 Body,Arial,sans-serif;min-height:54px;height:54px;padding:0 16px;margin:0
}
.booking-panel input[type="date"]::-webkit-datetime-edit,
.hive-inquiry input[type="date"]::-webkit-datetime-edit{display:inline-flex;align-items:center;padding:0;margin:0;line-height:1}
.booking-panel input[type="date"]::-webkit-date-and-time-value,
.hive-inquiry input[type="date"]::-webkit-date-and-time-value{text-align:left;margin:0}
.booking-panel input[type="date"]::-webkit-calendar-picker-indicator,
.hive-inquiry input[type="date"]::-webkit-calendar-picker-indicator{cursor:pointer;opacity:.85;filter:invert(1);margin-left:auto}
.booking-panel[data-hive-book] input[name="date"]{display:none}
.booking-panel .btn,.hive-inquiry .btn{width:100%;margin-top:18px}
.booking-panel .btn:disabled,.booking-panel .btn.is-closed,.hive-inquiry .btn:disabled{
  background:#14181b;color:#6d7678;border-color:#ffffff1a;cursor:not-allowed;pointer-events:none;transform:none
}
@media (max-width:900px){
  .checkout-grid,.admin-split,.car-picker-grid{grid-template-columns:1fr}
  .slot-grid{grid-template-columns:1fr}
}
@media (max-width:420px){
  .book-page h1{font-size:clamp(42px,12.5vw,60px)}
  .booking-panel{padding:18px;min-width:0}
  .booking-panel h3{font-size:clamp(32px,10.5vw,44px);overflow-wrap:normal}
  .booking-panel .price{font-size:clamp(38px,12vw,52px)}
  .booking-panel .price span{display:block;margin:6px 0 0}
  .booking-panel dl div{gap:10px}
  .booking-panel dd{min-width:0;overflow-wrap:anywhere}
  .date-grid button{flex:1 1 calc(50% - 8px);min-width:0}
  .car-picker-grid strong{font-size:18px;overflow-wrap:anywhere}
  .hive-inquiry,.checkout-grid,.slot-grid{min-width:0}
}
