.booking-wrap{max-width:950px;margin:auto;padding-block:50px 90px}.booking-wrap h1{font:bold clamp(44px,6vw,70px)/1 Georgia,serif;letter-spacing:-.05em;margin:15px 0 25px}.demo-notice{border:1px solid var(--red);border-left:5px solid var(--red);padding:18px 22px;font-size:14px;margin-bottom:28px;background:#eee5d8}.demo-notice strong{display:block;color:var(--red);margin-bottom:7px}.demo-notice p{margin:0}.steps{display:flex;gap:10px;padding:0;list-style:none;margin:30px 0;font-size:12px}.steps li{flex:1;border-bottom:3px solid var(--line);padding:10px 0}.steps .active{border-color:var(--red);font-weight:bold}.booking-panel{border:1px solid var(--line);padding:clamp(22px,4vw,45px);background:#faf7ef}.booking-panel h2{font-size:36px;letter-spacing:-.04em}.booking-panel fieldset{border:0;padding:0;margin:25px 0}.booking-panel legend{font-weight:bold;margin-bottom:12px}.booking-panel label{display:block;font-size:14px;font-weight:bold}.booking-panel input,.booking-panel select{font:inherit;width:100%;min-height:50px;border:1px solid #777b6f;background:var(--paper);padding:10px 13px;border-radius:0;color:var(--ink);margin-top:8px}.booking-panel input:focus-visible,.booking-panel select:focus-visible{outline:3px solid var(--red);outline-offset:3px}.booking-panel .check{display:flex;gap:12px;align-items:flex-start;line-height:1.5;font-weight:normal}.booking-panel .check input{width:20px;min-height:20px;margin:0;flex-shrink:0;accent-color:var(--red)}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:25px;margin-block:22px}.field-grid label:first-child{grid-column:1/-1}.help{font-size:13px;color:var(--muted);margin:8px 0 20px}.slot-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.slot-grid input{position:absolute;opacity:0;width:1px;height:1px}.slot-grid label{border:1px solid var(--line);padding:13px 10px;text-align:center;cursor:pointer;background:var(--paper);font-size:14px}.slot-grid label:has(input:checked){background:var(--ink);color:var(--paper);border-color:var(--ink)}.slot-grid label:has(input:focus-visible){outline:3px solid var(--red);outline-offset:3px}.booking-actions{display:flex;flex-wrap:wrap;gap:18px;align-items:center;margin-top:30px}.booking-actions button{cursor:pointer}.back-button{background:transparent;border:1px solid var(--line);min-height:50px;padding:12px 22px;cursor:pointer;font-size:13px;color:var(--ink)}.summary-list{margin:25px 0}.summary-list div{display:grid;grid-template-columns:140px 1fr;border-top:1px solid var(--line);padding:13px 0;gap:15px}.summary-list dt{font-size:13px;color:var(--muted)}.summary-list dd{margin:0;overflow-wrap:anywhere;font-size:15px}.reference{display:block;font:bold 23px/1.5 'Courier New',monospace;letter-spacing:.02em;overflow-wrap:anywhere}.error{color:#8f1e16;background:#fae4de;padding:15px;border:1px solid #a6392c;margin-top:20px;font-size:14px}.error:empty{display:none}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}button:disabled{opacity:.6;cursor:wait}.booking-home{margin-top:30px;font-size:14px}@media(max-width:600px){.steps{font-size:10px;gap:8px}.booking-panel h2{font-size:31px}.slot-grid{grid-template-columns:1fr 1fr}.field-grid{grid-template-columns:1fr}.summary-list div{grid-template-columns:90px 1fr}.booking-actions{align-items:stretch;flex-direction:column}.booking-actions>*{width:100%;text-align:center}.booking-wrap{padding-top:25px}.demo-notice{padding:15px}}

.panel-notice{font-size:12px;line-height:1.6;color:var(--red);border-bottom:1px solid var(--line);padding-bottom:16px}.booking-panel h2:focus{outline:none}.booking-panel h2:focus-visible{outline:2px solid var(--red);outline-offset:5px}

.booking-panel .check{min-height:44px;padding-block:10px}
