#request{width:600px;max-width:calc(100% - 32px);max-height:90dvh;padding:40px;overflow:auto}
#request h2{font-size:clamp(32px,4vw,44px);padding-right:24px}
#request-form{display:grid;grid-template-columns:1fr;gap:20px;margin-top:28px}
#request-form label,#request-form legend{font-size:14px}
#request-form input:not([type=radio]):not([type=range]),#request-form textarea{font-size:16px;margin-top:8px}
#request-form .request-formats{border:0;padding:0;margin:0;min-width:0}
.request-formats legend{margin-bottom:12px;padding:0}
.request-format-options{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}
.request-format-options label{position:relative;cursor:pointer}
.request-format-options input{position:absolute;opacity:0;width:1px;height:1px}
.request-format-options span{display:flex;align-items:center;justify-content:center;text-align:center;min-height:48px;padding:10px 5px;background:#e8e7dc;color:var(--green);transition:background-color .2s,color .2s;font-size:13px}
.request-format-options input:checked+span{background:var(--green);color:var(--cream)}
.request-format-options input:focus-visible+span{outline:2px solid var(--rust);outline-offset:3px}
.request-guests-heading{display:flex;align-items:center;justify-content:space-between;gap:16px}
#request-form #request-guests{width:94px;margin:0;text-align:center;font-weight:700}
#request-form #request-guests-range{width:100%;height:44px;padding:0;margin:8px 0 0;border:0;accent-color:var(--rust);cursor:pointer;background:transparent}
.request-range-labels{display:flex;justify-content:space-between;font-size:12px;color:#65705c}
#request-form .form-note{margin:0;font-size:12px}
@media(max-width:600px){#request{padding:32px 22px 24px}.request-format-options{grid-template-columns:repeat(2,minmax(0,1fr))}#request-form{gap:18px}.request-format-options span{font-size:14px}}
/* A wider desktop form keeps contact fields together without crowding mobile. */
@media(min-width:701px){
 #request{width:780px;padding:36px 44px}
 #request h2 br{display:none}
 #request-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 24px;margin-top:24px}
 #request-form>.request-formats,#request-form>.request-guests,
 #request-form>label:has([name=date]),#request-form>label:has(textarea),
 #request-form>.btn,#request-form>.form-note{grid-column:1 / -1}
 #request-form>label{min-width:0}
}
/* Visible hints live inside controls; labels remain available to assistive tech. */
#request-form .request-inside input,#request-form .request-inside textarea{margin-top:0}
#request-form input::placeholder,#request-form textarea::placeholder{color:#65705c;opacity:1}
#request-form .request-date{position:relative}
#request-form .request-date>span{position:absolute;top:8px;left:15px;font-size:11px;line-height:1.2;color:#65705c;pointer-events:none}
#request-form .request-date input{margin:0;padding-top:24px;padding-bottom:8px;min-height:60px}
#request #request-form .request-inside input,#request #request-form .request-inside textarea,#request #request-form .request-date input{margin-top:0}
/* Date: persistent label left, localized value and calendar right. */
#request-form .request-date{display:flex;align-items:center;gap:12px;min-height:56px;padding:14px;border:1px solid #a9b1a1;background:var(--paper)}
#request-form .request-date>span{position:static;font-size:14px;line-height:1.4;color:var(--ink)}
#request-form .request-date .request-date-value{margin-left:auto;text-align:right;font-weight:600}
#request-form .request-date svg{flex-shrink:0;color:#65705c}
#request #request-form .request-date input{position:absolute;inset:0;opacity:0;width:100%;height:100%;min-height:0;margin:0;padding:0;cursor:pointer}
#request-form .request-date:focus-within{outline:2px solid var(--rust);outline-offset:2px}
@media(max-width:400px){#request-form .request-date{gap:8px;padding:12px}#request-form .request-date>span{font-size:12px}}
/* Keep name and phone identical, including with autofill helpers injected. */
#request #request-form .request-inside{display:block;position:relative}
#request #request-form .request-inside input{display:block;box-sizing:border-box;width:100%;height:56px;min-height:56px;max-height:56px;padding:14px;line-height:26px;margin:0;appearance:none;-webkit-appearance:none}
/* Compact count control; native steppers otherwise shift the visible number. */
#request #request-form #request-guests{box-sizing:border-box;width:72px;height:44px;min-height:44px;padding:0 8px;margin:0;text-align:center;line-height:normal;font-size:16px;appearance:textfield;-moz-appearance:textfield}
#request-guests::-webkit-inner-spin-button,#request-guests::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
