.reservation-section{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(28px,6vw,90px);align-items:start}
.reservation-copy h2{margin-bottom:24px}.reservation-copy>p{max-width:430px}.reservation-note{color:var(--muted,#6f7569);font-size:15px}
.reservation-form{background:#fffdf7;border:1px solid #dedecf;border-radius:28px;padding:clamp(22px,4vw,40px);min-width:0}
.reservation-fields{display:grid;grid-template-columns:1fr 1fr;gap:20px}.reservation-wide{grid-column:1/-1}
.reservation-form label,.reservation-date-field{display:grid;gap:8px;min-width:0;font-size:14px;font-weight:650}.reservation-form input,.reservation-form textarea,.reservation-form select,.reservation-date-open{box-sizing:border-box;width:100%;min-width:0;background:#fff;color:#16332a;border:1px solid #b7c1b4;border-radius:10px;padding:13px 14px;font-family:inherit;font-size:16px;font-weight:400;line-height:1.4}
.reservation-form textarea{resize:vertical}.reservation-form input:focus-visible,.reservation-form textarea:focus-visible{outline:3px solid #aac084;outline-offset:2px;border-color:#16332a}
.reservation-privacy{font-size:12px;line-height:1.7;color:#616b5d;margin:22px 0}.reservation-status{font-size:15px;line-height:1.6;margin:18px 0 0;overflow-wrap:anywhere}.reservation-status:empty{display:none}.reservation-status[data-kind=error]{color:#962f23}.reservation-status[data-kind=success]{color:#245c37}.reservation-form button:disabled{opacity:.65;cursor:wait}.reservation-trap{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
@media(max-width:760px){.reservation-section{grid-template-columns:1fr}.reservation-fields{gap:16px}.reservation-copy h2{font-size:clamp(40px,11vw,64px)}}
@media(max-width:600px){.reservation-fields{grid-template-columns:1fr}.reservation-wide{grid-column:auto}}
.reservation-date-open{display:flex;align-items:center;justify-content:space-between;gap:12px;text-align:left;cursor:pointer;min-height:50px}.reservation-date-open:focus-visible,.reservation-form select:focus-visible{outline:3px solid #aac084;outline-offset:2px}.reservation-form select:disabled{color:#64705e;background:#f4f4eb;opacity:1}.reservation-hours{margin:20px 0 0;font-size:13px}
.reservation-calendar{box-sizing:border-box;inset:0;margin:auto;width:min(380px,calc(100vw - 32px));max-height:calc(100dvh - 32px);padding:24px;border:1px solid #d4dccb;border-radius:22px;background:#fffdf7;color:#16332a;box-shadow:0 18px 80px #10251e40;overflow:auto}.reservation-calendar::backdrop{background:#10251e70;backdrop-filter:blur(3px)}.calendar-heading,.calendar-navigation,.calendar-actions{display:flex;align-items:center;justify-content:space-between;gap:12px}.calendar-heading h3{margin:0;font-size:20px;font-family:inherit;letter-spacing:0}.reservation-calendar button{font:inherit;cursor:pointer;border:0;border-radius:10px;color:inherit;background:transparent;min-width:40px;min-height:40px;padding:6px}.reservation-calendar button:hover:not(:disabled){background:#edf2de}.reservation-calendar button:focus-visible{outline:3px solid #819e61;outline-offset:1px}.reservation-calendar button:disabled{opacity:.3;cursor:default}.calendar-close{font-size:26px!important}.calendar-navigation{margin:14px 0 12px}.calendar-navigation p{font-weight:650;margin:0;text-align:center;font-size:16px}.calendar-weekdays,.calendar-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;text-align:center}.calendar-weekdays{font-size:12px;color:#68715d;margin-bottom:8px}.calendar-days button{min-width:0;width:100%;padding:6px 0;font-size:14px;min-height:38px}.calendar-days button[aria-current=date]{box-shadow:inset 0 0 0 1px #819e61}.calendar-days button[aria-pressed=true]{background:#16332a;color:#fff}.calendar-days button[aria-pressed=true]:hover{background:#284f40}.calendar-actions{border-top:1px solid #dedecf;margin-top:18px;padding-top:12px}.calendar-actions button{padding:8px 16px;font-size:14px;font-weight:650}.calendar-actions button[data-calendar-today]{background:#eaf0d7}
