.time-slots{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:12px 0 18px}.time-slot{border:1px solid #bab19d;background:transparent;color:var(--ink);padding:12px 8px;text-align:left}.time-slot strong,.time-slot span{display:block}.time-slot strong{font-size:15px;font-weight:500}.time-slot span{font-size:12px;margin-top:5px;color:var(--muted)}.time-slot.chosen{background:#716047;color:white}.time-slot.chosen span{color:#f3e6d5}.time-slot:disabled{opacity:.4}.text-button{background:none;border:0;border-bottom:1px solid currentColor;color:#745638;padding:4px;font-size:13px}.error{color:#a13621!important;font-size:14px;line-height:1.8}.error:empty{display:none}.manage-shell{max-width:1100px;margin:45px auto;padding:0 5%}.manage-shell h1{font-size:34px;line-height:1.5;margin:0 0 28px}.manage-card{background:var(--paper);color:var(--ink);padding:28px;margin-bottom:24px}.manage-card p{font-size:15px}.manage-controls{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.manage-controls input{padding:10px;font:inherit;border:1px solid #a79b85}.manage-controls button{padding:10px 16px;border:1px solid #8e7960;background:transparent;color:inherit}.hour-occupancy{display:grid;grid-template-columns:repeat(6,1fr);gap:10px;margin:24px 0}.hour-occupancy>div{border:1px solid #cfc6b5;padding:12px;text-align:center;font-size:13px}.hour-occupancy strong{display:block;font:25px/1.5 Georgia,serif}.booking-list{display:grid;gap:14px}.booking-record{padding:20px;background:var(--paper);color:var(--ink);border-left:4px solid #a1845c}.booking-record.cancelled{opacity:.65}.booking-record h3{font-size:19px;margin:0 0 8px}.booking-record p{font-size:14px;line-height:1.8;margin:6px 0;overflow-wrap:anywhere;white-space:pre-wrap}.booking-record button,.cancel-button{background:#f4e5df;border:1px solid #9c6553;color:#853e29;padding:10px 16px;cursor:pointer}.receipt{max-width:660px}.receipt dl>div{display:grid;grid-template-columns:100px 1fr;gap:18px;border-bottom:1px solid #d1c8b9;padding:13px 0}.receipt dd{margin:0;overflow-wrap:anywhere}.receipt dt{color:#766958}.confirm-cancel{background:#ece5da;padding:20px;margin-top:20px}.confirm-cancel button{margin:5px}.receipt .primary{margin-top:24px}.manage-shell a{text-decoration:underline;text-underline-offset:4px}#booking-reference{overflow-wrap:anywhere}#booking-message{min-height:1em}#step-success .primary{justify-content:center}.booking-record .reference{font-size:12px;color:#756958}@media(max-width:720px){.hour-occupancy{grid-template-columns:repeat(3,1fr)}.manage-shell h1{font-size:28px}.manage-card{padding:20px}.manage-controls{gap:10px}.time-slot strong{font-size:14px}.receipt dl>div{grid-template-columns:75px 1fr;gap:12px}}
.reservation .dietary-options{border:0;padding:0;margin:22px 0}.reservation .dietary-options legend{font-size:14px;margin-bottom:10px;padding:0}.dietary-grid{display:flex;flex-wrap:wrap;gap:10px}.reservation label.dietary-choice{display:flex;align-items:center;gap:9px;padding:11px 13px;min-height:46px;margin:0;border:1px solid var(--line);cursor:pointer;font-size:14px}.reservation .dietary-choice input{display:inline-block;width:19px;height:19px;margin:0;padding:0;flex-shrink:0;accent-color:var(--accent)}.reservation label.dietary-choice:has(input:checked){border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.reservation .dietary-choice:focus-within{outline:2px solid var(--accent);outline-offset:3px}
