.booking-wrap{max-width:1180px;margin:auto;padding:44px 24px 100px}.eyebrow{font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:#9e3038}.booking-wrap h1{font-size:clamp(32px,5vw,52px);margin:10px 0}.booking-wrap h2{font-size:25px}.booking-wrap p{line-height:1.6}.booking-grid{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:28px;align-items:start}.booking-card{background:#fff;border:1px solid #d8d7cc;border-radius:14px;padding:26px;margin-bottom:22px}.summary-card{position:sticky;top:20px}.booking-wrap label{display:block;font-weight:600;margin:15px 0 7px}.booking-wrap input,.booking-wrap select,.booking-wrap textarea{width:100%;box-sizing:border-box;border:1px solid #aebbbb;background:#fff;border-radius:6px;padding:12px;font:inherit;color:#20393e}.booking-wrap button{font:inherit;cursor:pointer}.booking-wrap button:disabled{cursor:not-allowed;opacity:.5}.booking-wrap button:focus-visible,.booking-wrap a:focus-visible{outline:3px solid #008f92;outline-offset:3px}.ride-tabs,.time-slots,.zone-tabs,.tools{display:flex;flex-wrap:wrap;gap:10px}.ride-tabs button,.time-slots button,.zone-tabs button,.quiet{border:1px solid #aebbbb;background:white;color:#20393e;padding:11px 16px;border-radius:7px}.ride-tabs button{flex:1;min-width:160px;text-align:left}.ride-tabs button strong,.ride-tabs button span{display:block}.ride-tabs button span{font-size:14px;margin-top:6px}.selected,.ride-tabs button.selected,.time-slots button.selected,.zone-tabs button.selected{background:#20393e;color:white;border-color:#20393e}.calendar-head{display:flex;align-items:center;justify-content:space-between;margin:24px 0 12px}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}.calendar-grid button{border:0;background:#edf4ee;border-radius:7px;min-height:44px;color:#174d3c}.calendar-grid button:disabled{background:#f4f4ef;color:#999}.calendar-grid button.selected{background:#20393e;color:white}.weekday{text-align:center;font-size:12px;padding:8px 0}.fields{display:grid;grid-template-columns:1fr 1fr;gap:0 20px}.fields .wide{grid-column:1/-1}.booking-note{font-size:14px;color:#51656a}.notice:empty{display:none}.notice{padding:14px 18px;border-left:4px solid #a9343a;background:#fff0e8;margin:15px 0}.summary-line{display:flex;justify-content:space-between;gap:16px;padding:12px 0;border-bottom:1px solid #eee}.summary-line strong{text-align:right}.total{font-size:25px}.pay-button{width:100%;border:0;border-radius:7px;padding:16px;background:#ffd140;color:#1b2525;font-weight:700!important}.hold-clock{color:#9e3038;font-weight:600}.map-canvas{width:100%;height:auto;border:1px solid #ddd;display:block}.map-panel summary{cursor:pointer;font-weight:600;padding:16px 0}.booking-wrap [hidden]{display:none!important}.check-row{display:flex!important;align-items:start;gap:10px;font-weight:400!important}.check-row input{width:auto;flex-shrink:0;margin-top:6px}.agreement{white-space:pre-wrap;max-height:45vh;overflow:auto;border:1px solid #ddd;padding:18px}.booking-dialog{max-width:760px;width:90%;border:0;border-radius:12px;padding:24px;max-height:90vh;overflow:auto}.booking-dialog::backdrop{background:#17383dbb}.rider{border-top:1px solid #ddd;margin-top:24px;padding-top:14px}.booking-success{border-top:5px solid #008f92}.admin-table{overflow:auto}.admin-table table{width:100%;border-collapse:collapse;font-size:14px}.admin-table th,.admin-table td{padding:12px;border-bottom:1px solid #ddd;text-align:left;vertical-align:top}.badge{background:#ecf1ed;padding:3px 7px;border-radius:4px;display:inline-block}.hours-row{display:grid;grid-template-columns:120px 1fr 1fr;gap:12px;align-items:center}.hours-row input[type=checkbox]{width:auto}.danger{color:#9e3038}.admin-section{margin:30px 0}.admin-code{white-space:pre-wrap;overflow-wrap:anywhere}.mobile-total{display:none}.setup-banner{background:#fff1d6;padding:15px;border-radius:7px}footer{margin-top:30px}@media(max-width:800px){.booking-grid{grid-template-columns:1fr}.summary-card{position:static}.fields{grid-template-columns:1fr}.booking-wrap{padding:28px 16px 100px}.booking-card{padding:20px}.mobile-total{display:flex;position:fixed;bottom:0;left:0;right:0;background:#20393e;color:white;padding:12px 18px;justify-content:space-between;align-items:center;z-index:20}.mobile-total button{background:#ffd140;border:0;padding:12px;border-radius:6px;font-weight:bold}.hours-row{grid-template-columns:95px 1fr 1fr;gap:5px}}
.required-mark{color:#9e3038}.booking-payment-banner{display:flex;align-items:center;justify-content:space-between;gap:20px}.booking-payment-banner>div{display:flex;align-items:center;gap:16px;font-size:13px;font-weight:600}.booking-payment-banner img{width:170px;height:auto;object-fit:contain}.summary-card .pay-button{background:#fff;border:1px solid #e3c85e;padding:12px}.summary-card .pay-button img{display:block;width:100%;max-width:270px;height:auto;margin:8px auto 0}.summary-card .pay-button span{display:block}.booking-payment-banner .eyebrow{margin:0}@media(max-width:600px){.booking-payment-banner{align-items:flex-start;flex-direction:column;gap:10px}.booking-payment-banner>div{width:100%;justify-content:space-between}.booking-payment-banner img{width:140px}}
