.booking-hero{padding:64px 0 26px;background:linear-gradient(135deg,#f3faef,#fff)}
.booking-hero h1{margin:.2rem 0 .7rem}.booking-layout{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(280px,.8fr);gap:28px;align-items:start}
.booking-card{background:#fff;border:1px solid #dfe7dd;border-radius:18px;padding:26px;box-shadow:0 10px 30px rgba(20,60,20,.07)}
.booking-card h2{margin:0 0 18px}.booking-card h2:not(:first-child){margin-top:26px}.booking-card label{display:block;font-weight:700;margin:0 0 16px;color:#17351b}
.booking-card input,.booking-card select,.booking-card textarea{box-sizing:border-box;width:100%;margin-top:7px;border:1px solid #b9c7b7;border-radius:10px;padding:12px 13px;font:inherit;background:#fff}
.date-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.agree{display:flex!important;gap:10px;align-items:flex-start;font-weight:500!important}.agree input{width:auto;margin-top:4px}
.pay-btn{width:100%;border:0;cursor:pointer;font-size:1rem}.pay-btn:disabled{opacity:.55;cursor:not-allowed}.summary-card{position:sticky;top:92px}.summary-row{display:flex;justify-content:space-between;gap:20px;padding:12px 0;border-bottom:1px solid #edf1ec}.summary-row.total{font-size:1.2rem;border-bottom:0;padding-top:18px}.muted,.secure-note,.form-message{color:#5f6d60}.secure-note{font-size:.9rem;margin-top:18px}.form-message.error{color:#a02020}.form-message.success{color:#247a0b}
@media(max-width:760px){.booking-layout{grid-template-columns:1fr}.date-grid{grid-template-columns:1fr}.summary-card{position:static}}
.availability-note{margin:.25rem 0 1rem;color:#4c6350;font-size:.95rem}.admin-wrap{max-width:1100px;margin:40px auto;padding:0 20px}.admin-grid{display:grid;grid-template-columns:360px 1fr;gap:24px}.admin-card{background:#fff;border:1px solid #dfe8df;border-radius:18px;padding:24px}.admin-card input,.admin-card select,.admin-card textarea{width:100%;padding:11px;margin:6px 0 14px;border:1px solid #bdcbbd;border-radius:8px}.record{border-bottom:1px solid #e3e8e3;padding:12px 0}.record:last-child{border:0}.record button{margin-top:7px}.status{font-weight:700;text-transform:capitalize}.status.confirmed{color:#187b2d}.status.blocked{color:#8a4b00}@media(max-width:800px){.admin-grid{grid-template-columns:1fr}}
.vehicle-choices{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:10px}.vehicle-card{border:2px solid #dfe7dd!important;border-radius:14px;overflow:hidden;cursor:pointer;margin:0!important;background:#fff}.vehicle-card.selected{border-color:#39a900!important;border-width:6px!important;box-shadow:0 0 0 2px rgba(57,169,0,.18)}.vehicle-card input{position:absolute;opacity:0;pointer-events:none}.vehicle-card img{width:100%;height:155px;object-fit:cover;display:block;margin:0}.vehicle-card span{display:block;padding:12px}.vehicle-card small,.delivery-option small{display:block;font-weight:400;color:#607064;margin-top:4px}.photo-disclaimer,.image-credit{font-size:.82rem;color:#68756a}.delivery-option{display:flex!important;gap:12px;align-items:flex-start;border:1px solid #cbd7c9;border-radius:12px;padding:14px!important}.delivery-option input{width:auto;margin-top:4px}@media(max-width:620px){.vehicle-choices{grid-template-columns:1fr}.vehicle-card img{height:190px}}

.damage-waiver-box{border:1px solid #cbd7c9;border-radius:12px;padding:16px;margin-bottom:20px}.damage-waiver-box>p:first-child{margin-top:0}.waiver-choice{display:flex!important;gap:12px;align-items:flex-start;border:1px solid #d8e2d6;border-radius:10px;padding:13px!important;margin:10px 0!important;cursor:pointer}.waiver-choice:has(input:checked){border:2px solid #39a900;background:#f7fff3}.waiver-choice input{width:auto;margin-top:4px}.waiver-choice small{display:block;font-weight:400;color:#607064;margin-top:4px}.waiver-disclaimer{font-size:.86rem;line-height:1.5;color:#536057;margin-bottom:0}

[hidden]{display:none!important}.vehicle-card:focus-within{outline:3px solid #17351b;outline-offset:3px}

#waitlistDialog{border:0;border-radius:18px;padding:30px;width:min(560px,calc(100% - 30px));max-height:90vh;overflow:auto;color:#10384b;box-shadow:0 20px 80px #0005}#waitlistDialog::backdrop{background:#062d43aa}#waitlistDialog h2{margin-top:8px}#waitlistDialog label{display:block;margin:12px 0}#waitlistDialog input:not([type=checkbox]),#waitlistDialog textarea{width:100%;box-sizing:border-box;padding:12px;border:1px solid #bccbd2;border-radius:7px;font:inherit}#waitlistDialog .agree{display:flex;gap:10px}#waitlistDialog .agree input{flex-shrink:0}.waitlist-close{float:right;background:none;border:0;font-size:30px;cursor:pointer}.waitlist-honey{position:absolute;left:-10000px}#waitlistMessage{font-weight:600}#waitlistForm[hidden],#showWaitlistForm[hidden]{display:none}

.approval-notice{padding:16px;background:#edf7ed;border-left:4px solid #248500;border-radius:8px}#approvalDialog{max-width:480px;width:calc(100% - 40px);padding:28px;border:0;border-radius:18px;color:#093c55}#approvalDialog::backdrop{background:#001c30aa}#approvalDialog p{line-height:1.6}
