.reservation-page{max-width:900px}.reservation-page>h1{font-size:70px}.booking-steps{display:flex;gap:20px;justify-content:space-between;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:15px 0;font-size:11px;margin-bottom:30px}.reservation-card{background:#ffffff;border:1px solid var(--line);padding:30px;margin:22px 0}.reservation-card h2{font-size:34px;margin-top:0}.reservation-card p{font-size:13px}.reservation-card form{padding:0;background:transparent}.reservation-card .button{margin-top:12px}.reservation-card #sign-out{margin-left:15px}.calendar-navigation{display:flex;justify-content:space-between;align-items:center;margin:25px 0 15px}.calendar-navigation button{border:1px solid var(--line);background:transparent;width:40px;height:35px}.booking-calendar{display:grid;grid-template-columns:repeat(7,1fr);gap:5px;margin-bottom:15px}.booking-calendar>span{text-align:center;font-size:10px}.booking-calendar button{height:46px;border:1px solid var(--line);background:var(--paper);border-radius:2px;font-size:13px}.booking-calendar button:disabled{background:#e4e5e1;color:#92958e;text-decoration:line-through;cursor:not-allowed}.booking-calendar button.selected{background:var(--clay);color:white}.booking-calendar button.in-range{background:#edd8cc}.calendar-legend{color:var(--muted);font-size:10px!important}.reservation-card [hidden],[hidden]{display:none!important}.accept-terms{display:flex;align-items:start;gap:12px;margin:22px 0}.accept-terms input{height:18px;width:18px;flex-shrink:0}.accept-terms span{font-size:12px}#booking-message{background:#e9e3d8;padding:15px;font-size:13px;white-space:pre-line}#booking-message:empty{display:none}#booking-terms{white-space:pre-line}.booking-summary{border-bottom:1px solid var(--line);padding-bottom:18px;margin-bottom:22px}.booking-summary strong{font:650 35px var(--sans)}.reservation-entry{border-top:1px solid var(--line);padding:18px 0}.reservation-entry h3{font-size:18px}.reservation-entry p{margin:8px 0}button:disabled{opacity:.55;cursor:not-allowed}@media(max-width:700px){.reservation-page>h1{font-size:52px}.booking-steps{flex-wrap:wrap;gap:12px;font-size:10px}.reservation-card{padding:20px}.reservation-card h2{font-size:28px}.booking-calendar{gap:3px}.booking-calendar button{height:42px}nav>a{display:inline-block!important;font-size:10px}.reservation-page .section-head{display:flex}.reservation-card #sign-out{margin-top:12px;margin-left:0;display:block}}

.phone-fields{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px}.phone-fields select,.phone-fields input{width:100%;min-width:0}@media(max-width:520px){.phone-fields{grid-template-columns:1fr;gap:0}}

nav .booking-login{width:auto;height:auto;border:0;border-radius:0;padding:8px 0;font-size:12px;white-space:nowrap}.booking-login-dialog{width:min(380px,calc(100vw - 32px));padding:32px;border:1px solid var(--line);background:#ffffff;color:var(--ink);box-shadow:0 15px 50px #0003}.booking-login-dialog::backdrop{background:#252e2870}.booking-login-dialog h2{font:650 32px var(--sans);margin:0 25px 12px 0}.booking-login-dialog p{font-size:13px}.close-login{position:absolute;right:12px;top:8px;border:0;background:transparent;font-size:26px;padding:4px 8px}.booking-login-dialog #google-sign-in{margin-top:20px;min-height:44px}@media(max-width:520px){.reservation-page~header nav,header nav{gap:12px}.booking-login-dialog{padding:25px}}

.booking-date-fields .booking-date-field{position:relative;display:block}.booking-date-field>span{position:absolute;left:14px;top:9px;z-index:1;font-size:12px;line-height:18px;color:var(--muted);pointer-events:none}.booking-date-field>input{width:100%;height:70px;padding:31px 14px 10px;font-size:15px;line-height:22px;min-width:0}

.booking-date-field>input{cursor:pointer}.date-picker{position:relative;width:min(540px,calc(100vw - 24px));max-height:90dvh;overflow:auto;padding:30px;border:1px solid var(--line);background:#ffffff;color:var(--ink);box-shadow:0 16px 50px #0003}.date-picker::backdrop{background:#252e2870}.date-picker h2{font:650 30px var(--sans);margin:0 25px 20px 0}.picker-tabs{display:grid;grid-template-columns:1fr 1fr;gap:10px}.picker-tabs button{border:1px solid var(--line);background:transparent;padding:12px 8px;font-size:12px;color:var(--ink)}.picker-tabs button[aria-pressed="true"]{border-color:var(--clay);background:#edd8cc}.date-picker .booking-calendar button{height:48px}.date-picker .calendar-legend{font-size:11px!important}@media(max-width:520px){.date-picker{padding:25px 16px}.date-picker h2{font-size:27px}.picker-tabs button{font-size:11px}.date-picker .calendar-navigation{margin-top:20px}.date-picker .booking-calendar button{height:44px}}

.arrival-guide{margin-top:22px;border-top:1px solid var(--line);padding:18px 0}.arrival-guide summary{font-size:16px;font-weight:600}.arrival-guide p{font-size:13px;line-height:1.7}.arrival-guide a{display:block;margin-top:12px;font-size:13px;text-decoration:underline}

#booking-guests{width:88px;max-width:100%;height:48px;padding:10px 12px;font-size:15px}

@media(max-width:700px){.reservation-card input,.reservation-card select,.booking-login-dialog input{font-size:16px}.reservation-page{min-width:0}.reservation-card{min-width:0}.reservation-card .button{min-height:44px;max-width:100%;white-space:normal}.booking-date-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.date-picker .close-login{min-width:44px;min-height:44px}.calendar-navigation button{width:44px;height:44px}.reservation-entry p{overflow-wrap:anywhere}}
@media(max-width:380px){.reservation-page>h1{font-size:42px}.reservation-card{padding:16px}.booking-date-field>span{left:10px}.booking-date-field>input{padding-left:10px;padding-right:8px;font-size:16px}}
