[hidden]{display:none!important}
body.booking-active{display:block;padding:0;background:#f8f7f4}
body.booking-active #closed-view{display:none}
#booking-view{min-height:100svh;color:#1c1b19}
.booking-header{display:flex;align-items:center;gap:32px;max-width:1120px;margin:auto;padding:42px 28px 30px}
.booking-header img{width:72px;height:156px;object-fit:contain}
.booking-header h1{max-width:none;font-size:clamp(2.4rem,5.5vw,4.8rem);line-height:1.08}
.booking-header p{margin:12px 0 0;color:#59554d}
.eyebrow{display:block;color:#9b6d12;font-size:.78rem;font-weight:800;letter-spacing:.13em;margin-bottom:14px}
.booking-shell{max-width:1120px;margin:auto;padding:0 28px 80px}
#request-form{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(280px,.7fr);gap:22px;align-items:start}
.panel{grid-column:1;background:white;border:1px solid #e4e0d7;border-radius:16px;padding:clamp(22px,3vw,34px);box-shadow:0 10px 28px #21180409}
.panel h2{font-size:clamp(1.45rem,2vw,1.9rem);margin:0 0 16px}
.panel p{font-size:.96rem;line-height:1.55;margin:0 0 22px;max-width:none}
.zones{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:20px}
.zone{background:#faf8f4;border:1.5px solid #d8d2c7;border-radius:11px;padding:15px;text-align:left;color:inherit;cursor:pointer;font:inherit;min-height:110px}
.zone.selected{border-color:#a57216;box-shadow:0 0 0 2px #e5b04444}
.zone:disabled{opacity:.55;cursor:not-allowed}
.zone strong,.zone small,.zone span{display:block}
.zone strong{font-size:1.08rem}.zone small{color:#696359;margin-top:7px}.zone span{font-weight:750;margin-top:10px}
.field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.field-grid label,.person label{display:grid;gap:8px;font-size:.88rem;font-weight:700;color:#34312c}
.field-grid .full{grid-column:1/-1}
input,select,textarea{width:100%;min-height:46px;border:1px solid #bbb4a8;border-radius:8px;background:white;padding:10px 12px;color:#1c1b19;font:inherit;font-size:1rem}
input::placeholder{color:#6d675e;opacity:1}
#special-requests{resize:none;height:7.5rem;overflow-y:auto}
input:focus,select:focus,textarea:focus,button:focus-visible{outline:3px solid #e5b04488;outline-offset:1px}
.premium{display:flex!important;align-items:center;gap:12px;padding:12px;background:#f9f3e7;border-radius:9px}
.premium input{width:22px;min-height:22px;accent-color:#b47b17;flex:none}
.premium small{display:block;font-weight:400;line-height:1.45;margin-top:4px}
.participants{display:grid;gap:12px}
.person{border:1px solid #e6e0d5;border-radius:11px;padding:15px;background:#fcfbf8}
.person h3{margin:0 0 13px;font-size:1rem}
.person-fields{display:grid;grid-template-columns:1fr 1fr 90px 150px;gap:10px}
.summary{grid-column:2;grid-row:1 / span 3;position:sticky;top:18px}
.summary-row{display:flex;justify-content:space-between;gap:16px;padding:13px 0;border-bottom:1px solid #ebe7dd;font-size:.94rem}
.summary-row strong{text-align:right}.summary-row.total{font-size:1.25rem;color:#955e00}
.summary p{margin:20px 0;color:#59554d;font-size:.88rem}
#submit-request{display:block;width:100%;background:#e5b044;color:#211d16;border:0;border-radius:8px;font:inherit;font-weight:800;padding:15px;cursor:pointer}
#submit-request:disabled{opacity:.55;cursor:wait}
#request-message{min-height:1.4em;margin:15px 0 0;color:#8a261a;font-weight:700}
#request-message.success{color:#276145}
@media(max-width:820px){#request-form{grid-template-columns:1fr}.panel,.summary{grid-column:1}.summary{grid-row:auto;position:static}.person-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.booking-header{padding-top:28px}.booking-header img{width:60px;height:130px}}
@media(max-width:540px){.booking-header{gap:18px;padding:22px 18px}.booking-header img{width:48px;height:104px}.booking-header h1{font-size:2.25rem}.booking-shell{padding:0 16px 60px}.zones,.field-grid{grid-template-columns:1fr}.person-fields{grid-template-columns:1fr 1fr}.person-fields label:last-child{grid-column:1/-1}.panel{padding:20px}}
.privacy-choice{display:flex;align-items:flex-start;gap:12px;margin:22px 0;font-size:.95rem;line-height:1.45}
.privacy-choice input{width:20px;height:20px;flex:0 0 auto;margin:2px 0 0;accent-color:#e5b044}
.privacy-choice a{color:inherit;text-decoration:underline;text-underline-offset:3px}

/* KOVEED charcoal palette. */
body.booking-active{background:#333333}
#booking-view{color:#f5f3ed}
.booking-header p,.summary p{color:#c1beb8}
.eyebrow,.summary-row.total{color:#e5b044}
.panel{background:#262626;border-color:#505050;box-shadow:none}
.zone{background:#303030;border-color:#666;color:#f5f3ed}
.zone.selected{border-color:#e5b044;background:#3d3524}
.zone small{color:#c1beb8}
.field-grid label,.person label{color:#f5f3ed}
input,select,textarea{background:#1b1b1b;border-color:#6a6a6a;color:#f5f3ed}
input::placeholder{color:#b9b5ad}
.premium{background:#3b3426}
.person{background:#303030;border-color:#555}
.summary-row{border-bottom-color:#555}
#request-message{color:#ffaaa0}
#request-message.success{color:#a7dbaa}

/* Access to existing reservations, on both home states. */
.access-action{margin-top:clamp(24px,4vw,38px)}
.access-button{display:inline-grid;gap:4px;max-width:100%;padding:15px 22px;border:1px solid #e5b044;border-radius:10px;background:#e5b044;color:#211d16;text-decoration:none;line-height:1.35;box-shadow:0 8px 26px #0003;transition:background .15s ease,transform .15s ease}
.access-button>span{font-size:.875rem;font-weight:600}
.access-button strong{font-size:1.1rem}
.access-button:hover{background:#f0c461;transform:translateY(-1px)}
.access-button:focus-visible{outline:3px solid #fff;outline-offset:3px}
.booking-shell>.access-action{display:flex;justify-content:flex-end;margin:0 0 22px}
@media(max-width:540px){.access-button{width:100%;padding:15px 18px}.booking-shell>.access-action{display:block}}

/* Informational notice: brand treatment without interactive affordances. */
.panel .quota-notice{padding:16px 18px;border:1px solid #e5b044;border-radius:10px;background:#3d3524;color:#f5f3ed;font-size:1rem;font-weight:700;line-height:1.55;cursor:default}
