.booking-layout{display:grid;grid-template-columns:1fr 1fr;gap:50px;margin-top:30px}.booking-panel{padding:26px;background:#e8ecdf;border:1px solid var(--line);border-radius:5px}.booking-panel label,.booking-form label{display:block;font-size:14px;font-weight:700;margin-bottom:8px}.booking-panel input,.booking-form input,.booking-form textarea{width:100%;padding:13px;border:1px solid #879b8e;border-radius:3px;background:#fffef9;color:var(--ink);font:inherit;min-width:0}.booking-form textarea{resize:vertical}.booking-form .field{margin-bottom:18px}.booking-slots{display:flex;flex-wrap:wrap;gap:9px;margin:18px 0}.slot{padding:10px 17px;border:1px solid #879b8e;border-radius:3px;background:#fffef9;color:var(--ink);font:inherit;cursor:pointer}.slot[aria-pressed=true]{background:var(--ink);color:white}.booking-status{font-size:14px;color:var(--muted);min-height:24px}.booking-error{color:#9d2d20}.booking-form button{border:0;cursor:pointer;font:inherit}.booking-form button:disabled{cursor:default;opacity:.55}.booking-form .consent{display:flex;gap:10px;align-items:flex-start;font-size:12px;font-weight:400}.consent input{width:17px;height:17px;margin-top:2px;flex:none}.booking-form .honeypot{position:absolute;left:-9999px}.booking-success{padding:24px;border:1px solid #789044;background:#edf3dd}.booking-success h3{margin-top:0}.booking-success a{display:inline-block;margin-top:12px;font-weight:700}.booking-success p{white-space:pre-line}.booking-layout fieldset{padding:0;border:0;min-width:0}.booking-layout legend{font-size:14px;font-weight:700;margin:20px 0 0}button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #648135;outline-offset:3px}[hidden]{display:none!important}@media(max-width:760px){.booking-layout{grid-template-columns:1fr;gap:25px}.booking-panel{padding:20px}}

.booking-payment{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:40px;padding:30px;background:#e8ecdf;border:1px solid var(--line)}.booking-payment canvas{max-width:100%;height:auto;background:white}.booking-payment dt{font-size:12px;color:var(--muted);margin-top:15px}.booking-payment dd{margin:2px 0;font-size:18px;overflow-wrap:anywhere}.booking-payment button{font:inherit;border:0;cursor:pointer}.payment-amount{font-size:38px;letter-spacing:-.04em;font-weight:700}#payment-code{font-family:monospace;font-size:20px}#payment-countdown{font-weight:700}#payment-status{font-size:14px}#booking-again{font:inherit;border:0;cursor:pointer}@media(max-width:760px){.booking-payment{grid-template-columns:1fr;gap:20px;padding:20px}}
