.booking-section{padding-bottom:var(--section)}
/* USDT shares the existing palette and forms; the bank flow remains unchanged. */
.usdt-panel{margin-block:28px;padding-block:24px;border-block:1px solid var(--border-control);overflow-wrap:anywhere}
.usdt-panel h3{font-size:21px;margin-block:20px 16px;line-height:1.5}
.usdt-panel .field{margin-block:16px}.usdt-panel .field :is(input,textarea){width:100%;min-width:0;border:1px solid var(--border-control);background:var(--white);color:var(--ink)}
.usdt-note{font-size:14px;line-height:1.8;margin-block:18px}.usdt-note p+p{margin-top:12px}
.usdt-warning{padding:16px;background:var(--warning-bg);color:var(--warning);border-inline-start:3px solid var(--warning);font-size:14px}
.usdt-transfer-grid{display:grid;grid-template-columns:minmax(0,280px) minmax(0,1fr);gap:24px;margin-block:24px}
.usdt-records{display:grid;gap:16px;margin-block:20px}.usdt-records p{overflow-wrap:anywhere}.usdt-records a{display:inline-flex;align-items:center;min-height:44px;text-decoration:underline}
.usdt-panel button{min-height:44px;max-width:100%;white-space:normal}.usdt-panel :is(input,select){min-height:44px}.usdt-panel .order-details{margin-block:24px}
.usdt-refund,.usdt-operator{border-top:1px solid var(--line);margin-top:28px;padding-top:20px}.usdt-selection{font-weight:600;overflow-wrap:anywhere}
@media(max-width:680px){.usdt-transfer-grid{grid-template-columns:minmax(0,1fr)}.usdt-panel h3{font-size:19px}}
.status-countdown{font-size:18px;font-variant-numeric:tabular-nums;font-weight:600;color:var(--brown);margin-block:20px}#cancellation-controls{border-block:1px solid var(--line);padding-block:24px;margin-top:24px}#cancellation-controls>.note{margin-bottom:18px}#cancel-confirmation{margin-top:20px}#cancellation-message{margin-top:16px}.refund-operator{margin-top:36px;padding:clamp(20px,3vw,32px);border:1px solid var(--line);background:var(--paper)}.refund-operator>h2{font-size:25px}.refund-operator>p{margin-block:16px 24px;font-size:14px}.refund-operator .form-grid{margin-top:24px}.refund-operator button{max-width:100%;white-space:normal}
.guest-counter{display:grid;grid-template-columns:48px minmax(0,1fr) 48px;align-items:stretch;gap:6px}.guest-counter>button{display:grid;place-items:center;border:1px solid var(--border-control);background:var(--paper);color:var(--brown);min-height:48px;cursor:pointer}.guest-counter>button:disabled{cursor:default;opacity:.42}.guest-counter>select{font-weight:600;text-align:center;min-height:48px}.guest-counter>select:disabled{opacity:.7}.guest-selection-status{font-size:13px;font-weight:600;line-height:1.8;margin-block:18px;color:var(--green)}.guest-selection-status[data-capacity-changed=true]{color:var(--error);background:var(--error-bg)}
.booking-banner{margin-bottom:32px}.booking-banner>p{font-weight:600}.booking-banner>a{display:inline-flex;min-height:44px;align-items:center}
.booking-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:clamp(24px,4vw,64px);align-items:start}
.booking-session{border-top:3px solid var(--brown);padding-block:24px}.booking-session h2{font-size:23px;line-height:1.5;letter-spacing:-.02em}.booking-session p{font-size:14px;margin-top:10px}
.booking-step{padding:28px 0;border-top:1px solid var(--line)}.booking-step h2{font-size:25px;margin-bottom:24px}.booking-step>.note{margin-bottom:20px}
.booking-summary{background:var(--paper);padding:clamp(20px,3vw,36px)}.booking-summary h2{font-size:25px;margin-bottom:24px}.booking-summary dl,.order-details{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px 18px;margin:0 0 24px;font-size:14px}
.booking-summary dt,.order-details dt{color:var(--muted)}.booking-summary dd,.order-details dd{font-weight:600;margin:0;text-align:right;overflow-wrap:anywhere}
.booking-totals{padding-top:24px;border-top:1px solid var(--brown)}.booking-totals dd{color:var(--green)}.booking-summary img{margin-top:28px;width:100%;aspect-ratio:1.3;object-fit:cover}
.booking-summary .note{margin-top:16px}.payment-options{margin:0 0 24px;padding:0;border:0}.payment-options legend{font-weight:600;font-size:14px;margin-bottom:12px}.payment-options label{display:flex;gap:12px;align-items:center;border:1px solid var(--border-control);padding:14px;margin-bottom:10px;min-height:52px;cursor:pointer}.payment-options input,.booking-consent input{width:20px;height:20px;flex:0 0 20px;accent-color:var(--green)}
.payment-options label:has(:checked){border-color:var(--green);background:var(--green-wash)}.booking-consent{display:flex;align-items:flex-start;gap:12px;font-size:13px;margin-block:20px}.booking-consent input{margin-top:3px}.booking-step button[type=submit]{margin-top:24px;width:100%;justify-content:center}.booking-step button:disabled{opacity:.6}.proposed-policy{border-left:3px solid var(--brown);padding-left:16px}
.booking-result{margin-top:40px;padding:clamp(20px,4vw,48px);border:2px solid var(--border-control);background:var(--white);max-width:900px}.booking-result h2{font-size:30px}.order-state{font-size:20px;font-weight:600;color:var(--ink);margin-block:20px}
/* Dynamic status labels have no state attribute. Keep them neutral; do not infer success. */
#order-connection:not(:empty){color:var(--warning);background:var(--warning-bg)}
#lookup-error:not(:empty){color:var(--error);background:var(--error-bg)}.booking-result>.note{margin-block:20px}.order-details{margin-top:28px}.order-details dd{font-size:15px}.booking-result textarea{width:100%;background:var(--cream);padding:16px;border:1px solid var(--border-control);font-size:14px;resize:vertical;line-height:1.8}.payment-qr{margin:24px auto;text-align:center;max-width:320px}.payment-qr img{width:280px;max-width:100%;height:auto;margin:0 auto;background:white}.payment-qr p{margin-top:16px;font-weight:600}.booking-result .button-row{margin-block:24px}.booking-result details{margin-top:24px}.booking-result details label{display:block;font-size:13px;margin-block:16px 8px}.booking-result input{width:100%;padding:12px;font-size:13px;border:1px solid var(--border-control);background:var(--cream)}
.booking-lookup{margin-top:40px;border-block:1px solid var(--border-control);padding-block:20px}.booking-lookup summary,.booking-result summary{cursor:pointer;min-height:44px;align-content:center;color:var(--green);font-weight:600}.booking-lookup form{padding-top:24px}.booking-lookup button{margin-top:20px}
#admin-form{max-width:850px;margin-bottom:24px}#admin-form .button-row{margin-top:24px}#admin-app>h2{font-size:27px;margin-block:32px 20px}.admin-orders{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.admin-order{border:1px solid var(--line);padding:24px;background:var(--white);overflow-wrap:anywhere}.admin-order h3{font-size:16px;margin-bottom:16px}.admin-order dl{margin:0;font-size:13px}.admin-order dt{font-weight:600;color:var(--brown)}.admin-order dd{margin:0 0 10px;overflow-wrap:anywhere}#admin-message,#availability-result,#order-connection,#lookup-error{margin-top:16px;overflow-wrap:anywhere}
@media(max-width:900px){.booking-grid{grid-template-columns:1fr}.booking-summary{order:-1}.booking-summary img{display:none}.booking-summary dl{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr)}.admin-orders{grid-template-columns:1fr}}
@media(max-width:480px){.booking-summary dl,.order-details{grid-template-columns:1fr;gap:4px}.booking-summary dd,.order-details dd{text-align:left;margin-bottom:14px}.booking-step h2{font-size:23px}.booking-result h2{font-size:25px}.booking-result .button-row{align-items:stretch;flex-direction:column}.booking-result .button{justify-content:center}.booking-result{padding:20px 16px}.admin-order{padding:20px}.booking-session h2{font-size:20px}}

.booking-final-price{margin:24px 0;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px 16px;padding:20px;background:var(--green-wash);font-size:13px}.booking-final-price dd{margin:0;font-weight:600;color:var(--green);text-align:right;overflow-wrap:anywhere}@media(max-width:480px){.booking-final-price{grid-template-columns:1fr;gap:4px}.booking-final-price dd{text-align:left;margin-bottom:10px}}
