.booking-page{padding-block:52px 90px}.booking-intro{max-width:720px;margin-bottom:38px}.booking-intro h1{font-size:clamp(42px,5.5vw,66px)}.booking-intro>p:not(.portal-eyebrow){max-width:550px;font-size:14px}.booking-layout{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(260px,.8fr);gap:42px;align-items:start}.booking-card{padding:35px}.booking-step{display:flex;align-items:start;gap:17px;margin-bottom:20px}.booking-step>span{display:grid;place-items:center;flex-shrink:0;width:34px;height:34px;border:1px solid var(--portal-line);border-radius:50%;font-size:10px;color:var(--primary);font-weight:700}.booking-step h2{font-size:24px;letter-spacing:-.6px;margin:0 0 6px}.booking-step p,.booking-hint{font-size:11px!important;line-height:1.7;color:var(--portal-muted)}.portal select,.portal textarea{display:block;width:100%;font:inherit;font-size:14px;padding:13px 14px;margin-top:7px;color:var(--portal-ink);border:1px solid var(--portal-line);border-radius:6px;background:#fffdf9;min-width:0}.portal textarea{resize:vertical}.portal textarea:focus-visible,.portal select:focus-visible{outline:3px solid var(--primary);outline-offset:3px}.booking-wide{grid-column:1/-1}.booking-times{border:0;padding:0;margin:24px 0 36px;min-width:0}.booking-times legend{font-weight:700;font-size:13px}.booking-slot-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.portal form label.booking-slot{position:relative;display:block;margin:0}.booking-slot input{position:absolute;opacity:0;pointer-events:none;width:1px!important;height:1px;padding:0!important}.booking-slot>span{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:75px;padding:13px 6px;border:1px solid var(--portal-line);background:#fff;border-radius:8px;text-align:center;cursor:pointer;line-height:1.5}.booking-slot strong{font-size:19px;color:var(--primary);font-weight:700}.booking-slot small{font-size:9px!important;font-weight:400}.booking-slot input:checked+span{border:2px solid var(--primary);background:var(--portal-cream)}.booking-slot input:focus-visible+span{outline:3px solid var(--primary);outline-offset:3px}.booking-slot.unavailable>span{background:#eee;color:#999;cursor:not-allowed}.booking-slot.unavailable strong{color:#999}.booking-slot.unavailable small{color:#a65353}.booking-confirm-note{font-size:12px!important;padding:15px 18px;background:var(--portal-cream);border-radius:7px;margin:25px 0 20px}.booking-card form>.portal-button{width:100%}.booking-aside{padding:25px 10px}.booking-aside h2{font:italic 42px/1.18 Georgia,serif!important;color:var(--primary);letter-spacing:-1px}.booking-aside ul{padding:0;list-style:none;color:var(--portal-muted);font-size:12px;line-height:1.9}.booking-aside li{padding:12px 0 12px 21px;border-bottom:1px solid var(--portal-line);position:relative}.booking-aside li:before{content:'✓';position:absolute;left:0;color:var(--primary)}.booking-group-promo{background:var(--portal-cream);border-radius:10px;padding:25px;margin-top:30px}.booking-group-promo>span{font-size:9px;text-transform:uppercase;letter-spacing:1px}.booking-group-promo h3{font-size:25px;margin:12px 0 20px}.booking-honey{display:none!important}.booking-status{display:inline-block;padding:7px 12px;border-radius:22px;font-size:10px;font-weight:700;background:#eee;color:#666;white-space:normal;line-height:1.5}.status-pending{background:#fff1d0;color:#805a12}.status-confirmed{background:#e4f1e5;color:#28603a}.status-cancelled,.status-rejected{background:#f6e6e3;color:#96463b}.status-completed{background:#e5edf7;color:#365d8d}.status-no_show{background:#eee;color:#666}.manage-booking{max-width:780px;min-height:650px}.manage-booking h1{font-size:49px}.booking-details{display:grid;grid-template-columns:140px 1fr;gap:15px;margin:30px 0;font-size:13px}.booking-details dt{color:var(--portal-muted)}.booking-details dd{margin:0;overflow-wrap:anywhere}.booking-restaurant-message{padding:20px;background:var(--portal-cream);border-radius:8px}.booking-restaurant-message h3{font-size:17px}.booking-restaurant-message p{font-size:13px;white-space:normal;overflow-wrap:anywhere}.booking-history{display:grid;gap:15px}.booking-history-row{display:flex;align-items:center;justify-content:space-between;gap:25px;text-decoration:none}.booking-history-row h3{font-size:21px;margin:9px 0}.booking-history-row p{font-size:12px;margin:0}.booking-dock{position:fixed;bottom:16px;left:50%;transform:translateX(-50%);display:flex;gap:7px;background:#fffdf7f5;box-shadow:0 8px 30px #2b171425;border:1px solid var(--portal-line);padding:6px;border-radius:35px;z-index:70}.booking-dock a{font-size:12px;font-weight:700;border-radius:25px;padding:12px 25px;text-decoration:none;white-space:nowrap}.booking-dock a:first-child{background:var(--primary);color:white}.has-booking-dock .portal-footer{padding-bottom:110px}.booking-menu-link{font-size:12px;color:var(--primary);text-decoration:none;white-space:nowrap;padding:6px}.booking-admin-top{padding:20px 32px;display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid var(--portal-line);font-size:12px}.booking-admin-top a{text-decoration:none}.booking-admin-top nav{display:flex;gap:25px}.booking-admin .booking-page{max-width:1200px}.booking-admin h1{font-size:43px}.calendar-card{padding:25px}.calendar-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:20px}.calendar-heading h2{font-size:24px;margin:0}.calendar-heading a{font-size:12px;text-decoration:none;color:var(--primary)}.booking-calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}.calendar-weekday{text-align:center;font-size:10px;color:var(--portal-muted);padding-bottom:8px}.calendar-day{display:flex;flex-direction:column;min-height:93px;border:1px solid var(--portal-line);border-radius:6px;padding:10px;text-decoration:none;gap:4px}.calendar-day>strong{font-size:12px}.calendar-day.outside{opacity:.4}.calendar-day.selected{border:2px solid var(--primary);background:var(--portal-cream)}.calendar-day.today>strong{color:var(--primary);text-decoration:underline}.calendar-day span,.calendar-day small{font-size:9px;line-height:1.5}.calendar-pending{color:#926512}.calendar-confirmed{color:#28603a}.booking-agenda-heading{margin-top:40px}.agenda-filter{display:grid;grid-template-columns:1fr 1fr 1fr auto;gap:15px;align-items:end;margin-bottom:23px}.agenda-filter label{margin:0!important}.agenda-filter .portal-button{padding:14px}.agenda-list{display:grid;gap:12px}.agenda-entry{display:grid;grid-template-columns:65px 1fr auto;gap:20px;align-items:center;text-decoration:none;padding:22px}.agenda-entry>strong{font-size:20px;line-height:1.4}.agenda-entry>strong>small{display:block;font-size:11px;color:var(--portal-muted);font-weight:400}.agenda-entry h3{font-size:18px;margin:0 0 6px}.agenda-entry p{font-size:11px;margin:0}.mail-warning{font-size:10px;color:#a33d2c}.booking-admin-actions{display:flex;gap:18px;align-items:center;flex-wrap:wrap;margin-top:25px}.portal-secondary{border:1px solid var(--portal-line);border-radius:6px;background:#fff;padding:12px 17px;font-size:12px;font-weight:600;color:var(--primary)}.booking-contact{margin-bottom:20px}.booking-contact p{font-size:13px;overflow-wrap:anywhere}.booking-contact small{font-size:10px}.booking-audit{margin-bottom:18px}.booking-audit h3{font-size:20px}.booking-audit p{font-size:11px;border-bottom:1px solid var(--portal-line);padding-bottom:12px}.booking-audit small{display:block;font-size:9px}.booking-audit summary{font-size:13px;cursor:pointer}.booking-admin .booking-layout{gap:25px;grid-template-columns:minmax(0,1.5fr) minmax(280px,1fr)}.reservation-settings{max-width:850px}.reservation-settings>.portal-card{margin-bottom:24px}.reservation-settings h2{font-size:27px}.booking-checks{display:flex;gap:25px;flex-wrap:wrap}.booking-checks label{display:flex!important;align-items:center;gap:10px}.google-booking{margin-top:35px;max-width:850px}.google-booking p{font-size:12px}.booking-account-card{margin-bottom:30px;display:flex;align-items:center;justify-content:space-between;gap:25px;text-decoration:none}.booking-account-card h2{font-size:25px;margin-bottom:8px}.booking-account-card p{font-size:12px;margin:0}
@media(max-width:850px){.booking-layout,.booking-admin .booking-layout{grid-template-columns:1fr;gap:25px}.booking-aside{padding-top:0}.booking-aside h2{font-size:34px!important}.booking-aside ul{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.booking-group-promo{margin-top:20px}.booking-slot-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.booking-admin-top{padding:18px 20px}}
@media(max-width:650px){.booking-page{padding-block:35px 60px}.booking-intro h1{font-size:43px}.booking-intro>p:not(.portal-eyebrow){font-size:12px}.booking-card{padding:23px}.booking-step{gap:12px}.booking-step h2{font-size:21px}.booking-slot-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.booking-slot>span{min-height:70px}.booking-slot strong{font-size:18px}.booking-aside ul{grid-template-columns:1fr;gap:0}.booking-details{grid-template-columns:1fr;gap:4px}.booking-details dd{margin-bottom:14px}.manage-booking h1{font-size:37px}.booking-history-row{align-items:start;flex-direction:column;gap:15px}.booking-history-row h3{font-size:18px}.booking-dock{bottom:12px;max-width:calc(100% - 24px);gap:0}.booking-dock a{font-size:11px;padding:12px 18px}.booking-admin-top{flex-wrap:wrap;font-size:10px;gap:10px}.booking-admin-top nav{gap:17px}.booking-admin h1{font-size:34px}.calendar-card{padding:14px}.booking-calendar{gap:3px}.calendar-day{min-height:74px;padding:6px 3px}.calendar-day span,.calendar-day small{font-size:7px}.calendar-day>strong{font-size:10px}.calendar-heading h2{font-size:20px}.calendar-heading a{font-size:10px}.agenda-filter{grid-template-columns:1fr 1fr}.agenda-entry{grid-template-columns:48px 1fr;gap:12px;padding:18px}.agenda-entry .booking-status{grid-column:2}.agenda-entry>strong{font-size:17px}.agenda-entry h3{font-size:16px}.booking-admin-actions{gap:14px}.booking-admin-actions .portal-button{width:100%}.booking-checks{gap:0 20px}.booking-account-card{flex-direction:column;align-items:start}.booking-account-card h2{font-size:23px}}
.reservation-time-trigger{width:100%;padding:17px;border:1px solid var(--portal-line);border-radius:8px;background:#fffdf9;color:var(--primary);font:600 13px system-ui;text-align:left;margin:15px 0 34px}.reservation-time-picker{border:0;border-radius:12px;padding:0;width:min(460px,calc(100% - 24px));max-height:85dvh;color:var(--portal-ink)}.reservation-time-picker::backdrop{background:#21171588}.reservation-time-picker>header{position:sticky;top:0;background:var(--primary);color:white;display:flex;align-items:center;justify-content:space-between;padding:18px 20px;z-index:1}.reservation-time-picker h2{font:700 16px system-ui;letter-spacing:.5px;margin:0}.reservation-time-picker header button{border:0;background:#fff;color:var(--primary);border-radius:50%;width:28px;height:28px;font-size:23px;line-height:1}.reservation-time-picker .booking-times{padding:16px;margin:0}.reservation-time-picker .booking-times legend{display:none}.reservation-time-picker .booking-slot-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.portal-nav nav,.footer-row nav{flex-wrap:wrap}.reservation-time-picker input[type=radio]{width:1px!important;padding:0!important}
