:root{--request-bar-h:64px}
html,body{overflow-x:hidden}
.catering-topbar{height:88px;display:grid;grid-template-rows:54px 34px;background:var(--navy-deep);border-bottom:1px solid rgba(255,255,255,.22);box-shadow:none}
.topbar-actions{width:min(100% - 24px,520px);height:54px;margin-inline:auto;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;align-items:center}
.topbar-actions a{min-height:40px;padding:7px 9px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.72);color:#fff;font-size:.72rem;font-weight:600;line-height:1.1;text-align:center;white-space:nowrap}
.topbar-actions a.primary{background:var(--gold);border-color:var(--gold);color:var(--navy-deep)}
.topbar-request{height:34px;display:grid;place-items:center;color:#fff;font-size:.7rem;text-decoration:underline;text-underline-offset:3px}
.request-section{padding:72px 0;background:#f3eee5;border-top:1px solid var(--line)}
.request-wrap{max-width:1080px}.request-intro{margin-bottom:22px}.request-intro h2{color:var(--navy)}.request-intro>p:not(.eyebrow){color:var(--muted)}
.request-notice{margin-bottom:20px;padding:18px 20px;border:1px solid var(--gold);border-left:3px solid var(--gold);background:#fff;color:var(--navy);font-size:.9rem}
#request-form{width:100%;border:1px solid var(--line);background:#fff}
.wizard-status{height:62px;display:grid;grid-template-columns:auto 1fr;align-items:center;gap:22px;padding:0 28px;border-bottom:1px solid var(--line);color:var(--navy);font-size:.78rem;font-weight:600}
.request-progress{height:2px;background:var(--line)}.request-progress i{display:block;width:20%;height:100%;background:var(--gold)}
.wizard-stage{min-height:68svh;padding:32px 28px}.wizard-step[hidden]{display:none!important}.wizard-step{min-height:calc(68svh - 64px)}
.step-title{display:flex;gap:18px;align-items:flex-start;margin-bottom:28px}.step-title>span{padding-top:6px;color:var(--gold);font-size:.72rem;letter-spacing:.12em}.step-title h3{font-size:1.9rem;color:var(--navy)}.step-title p{margin:4px 0;color:var(--muted);font-size:.9rem}
.form-grid{display:grid;gap:17px}.form-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}
#request-form label{display:grid;gap:6px;color:var(--navy);font-size:.78rem;font-weight:600;letter-spacing:.03em}
#request-form label>span{color:var(--muted);font-size:.7rem;font-weight:400}
#request-form input,#request-form select,#request-form textarea{width:100%;min-height:46px;padding:9px 11px;border:1px solid #bfcbd1;border-radius:0;background:#fff;color:var(--ink);font-size:16px;line-height:1.4}
#request-form textarea{min-height:112px;resize:vertical}.notes-label{max-width:680px;margin-top:18px}
#request-form input:focus,#request-form select:focus,#request-form textarea:focus{outline:2px solid var(--gold);outline-offset:1px}
.inline-error{min-height:24px;margin:14px 0 0;color:#8b382e;font-size:.82rem;font-weight:600}.desktop-controls{display:flex;align-items:center;justify-content:space-between;margin-top:24px}.desktop-controls .button:disabled,#send-request:disabled{opacity:.42;cursor:not-allowed}
.menu-chips{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.menu-chips button{min-height:82px;padding:12px;border:1px solid var(--line);background:#fff;color:var(--navy);font-weight:600;cursor:pointer}.menu-chips button small{display:block;margin-top:4px;color:var(--muted);font-size:.72rem;font-weight:400}.menu-chips button.selected{background:var(--navy);border-color:var(--navy);color:#fff}.menu-chips button.selected small{color:#dce7eb}.menu-chips button[hidden]{display:none}.availability-warning{padding:13px 15px;border-left:2px solid var(--gold);background:#faf7f2;color:var(--navy);font-size:.85rem}
.selected-menu-tabs{display:flex;gap:8px;margin-bottom:18px;overflow-x:auto;overscroll-behavior-inline:contain}.selected-menu-tabs button{flex:0 0 auto;min-height:40px;padding:8px 13px;border:1px solid var(--line);background:#fff;color:var(--navy);font-size:.78rem;font-weight:600;cursor:pointer}.selected-menu-tabs button.active{background:var(--navy);border-color:var(--navy);color:#fff}
.request-menu-panel{min-height:440px}.request-package-picker{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.request-package-choice{min-height:82px;padding:13px;border:1px solid var(--line);background:#fff;text-align:left;cursor:pointer}.request-package-choice span{display:block;color:#8a713d;font-size:.68rem;letter-spacing:.1em}.request-package-choice strong{display:block;margin-top:5px;color:var(--navy)}.request-package-choice.selected{border-color:var(--gold);background:#faf7f2}
.selection-box{margin-top:18px;padding:20px;border:1px solid var(--line);background:#faf7f2}.selection-box h4{font-size:1.25rem;color:var(--navy)}.selection-row{display:flex;align-items:center;flex-wrap:wrap;gap:9px;margin-top:14px}.selection-row>span{min-width:78px;font-size:.8rem;font-weight:600}.choice-chip{min-height:40px;padding:8px 12px;border:1px solid var(--line);background:#fff;color:var(--navy);font-size:.78rem;cursor:pointer}.choice-chip.selected{background:var(--navy);border-color:var(--navy);color:#fff}.selection-box details{margin-top:15px}.selection-box summary{cursor:pointer;color:var(--navy);font-size:.8rem;font-weight:600;text-decoration:underline;text-underline-offset:3px}.selection-box li{margin-top:7px;color:var(--muted);font-size:.79rem}
.request-stepper{display:grid;grid-template-columns:40px 34px 40px;height:40px;border:1px solid #bfcbd1;background:#fff}.request-stepper button{width:40px;height:38px;border:0;background:#fff;color:var(--navy);font-size:1.05rem;cursor:pointer}.request-stepper output{display:grid;place-items:center;font-size:.82rem;font-weight:600}.request-stepper button:disabled{opacity:.35}
.build-options{display:grid;gap:16px}.build-group h4{margin:0 0 8px;font-size:1.05rem;color:var(--navy)}.tappable-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.tappable-list button{min-height:44px;padding:9px 11px;border:1px solid var(--line);background:#fff;color:var(--ink);text-align:left;font-size:.79rem;cursor:pointer}.tappable-list button.selected{border-color:var(--gold);background:#faf7f2;color:var(--navy)}.tappable-list small{display:block;color:var(--muted);font-size:.68rem}.build-actions{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-top:18px}.build-actions .button:disabled{opacity:.4;cursor:not-allowed}.request-text-link{display:inline-block;color:var(--navy);font-size:.82rem;font-weight:600;text-decoration:underline;text-underline-offset:3px}
.ala-serving-note{margin:0 0 12px;padding:11px 13px;border-left:2px solid var(--gold);background:#faf7f2;color:var(--navy);font-size:.8rem}.ala-category-tabs{display:flex;gap:7px;overflow-x:auto;overscroll-behavior-inline:contain;padding-bottom:8px;scrollbar-width:thin}.ala-category-tabs button{flex:0 0 auto;min-height:40px;padding:8px 12px;border:1px solid var(--line);background:#fff;color:var(--navy);font-size:.75rem;font-weight:600;cursor:pointer}.ala-category-tabs button.active{background:var(--navy);border-color:var(--navy);color:#fff}.ala-request-list{margin-top:12px;border-top:1px solid var(--line)}.ala-request-row{padding:16px 0;border-bottom:1px solid var(--line)}.ala-request-row h4{margin:0;font-family:'DM Sans',Arial,sans-serif;font-size:.92rem;font-weight:600;line-height:1.35;color:var(--navy);overflow-wrap:anywhere}.ala-request-row>p{margin:3px 0 10px;color:var(--muted);font-size:.76rem;line-height:1.4}.ala-size-options{display:flex;align-items:center;flex-wrap:wrap;gap:10px}.ala-size-option{display:grid;grid-template-columns:minmax(112px,auto) auto;align-items:center;gap:8px;min-width:230px}.ala-size-option>span{font-size:.76rem;color:var(--navy);white-space:normal}.ala-size-option>span strong{margin-left:4px}
.fulfillment-result{margin-bottom:18px;padding:17px 18px;border:1px solid var(--gold);background:#faf7f2;color:var(--navy)}.fulfillment-result strong{display:block;font-family:'Playfair Display',Georgia,serif;font-size:1.2rem}.fulfillment-result p{margin:5px 0 0;color:var(--muted);font-size:.85rem}.fulfillment-result .button{margin-top:12px}
.delivery-address-label{max-width:680px;margin-bottom:18px}.ticket-card{margin-top:20px;border:1px solid var(--line);background:#f8f8f6}.ticket-heading{height:52px;display:flex;align-items:center;justify-content:space-between;padding:0 18px;border-bottom:1px solid var(--line);font-size:.72rem;letter-spacing:.08em}.ticket-heading strong{font:600 1.25rem 'Playfair Display',Georgia,serif;color:var(--navy)}.ticket-card pre{margin:0;padding:22px;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere;color:#21343f;font:500 .78rem/1.48 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.estimate-note,.send-note{color:var(--muted);font-size:.8rem}.send-status{padding:12px 14px;border-left:2px solid var(--gold);background:#faf7f2;font-size:.82rem}.mobile-wizard-bar{display:none}
.footer{padding-bottom:48px}
@media(max-width:900px){.form-grid.three{grid-template-columns:repeat(2,minmax(0,1fr))}.request-package-picker{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.catering-topbar{height:88px}.topbar-actions{gap:5px}.topbar-actions a{min-height:40px;padding-inline:7px;font-size:.68rem}.request-section{padding:58px 0}.request-notice{padding:15px}.wizard-status{height:58px;padding:0 18px;gap:14px}.wizard-stage{min-height:72svh;padding:24px 18px 94px}.wizard-step{min-height:calc(72svh - 48px)}.step-title h3{font-size:1.65rem}.form-grid.three{grid-template-columns:1fr}.desktop-controls{display:none}.menu-chips{grid-template-columns:1fr}.menu-chips button{min-height:58px;text-align:left}.request-package-picker{grid-template-columns:1fr}.selection-row{align-items:flex-start}.selection-row>span{width:100%}.tappable-list{grid-template-columns:1fr}.request-menu-panel{min-height:500px}.ala-size-options{display:grid;grid-template-columns:1fr}.ala-size-option{grid-template-columns:minmax(0,1fr) auto;min-width:0;width:100%}.ticket-card pre{font-size:.72rem;padding:17px}.mobile-wizard-bar{position:fixed;left:0;right:0;bottom:0;z-index:90;height:var(--request-bar-h);padding:8px max(12px,env(safe-area-inset-left)) calc(8px + env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-right));display:grid;grid-template-columns:minmax(105px,1fr) auto auto;align-items:center;gap:7px;background:var(--navy-deep);color:#fff;border-top:1px solid rgba(255,255,255,.2)}.mobile-wizard-bar[hidden]{display:none}.mobile-wizard-bar>div span,.mobile-wizard-bar>div strong{display:block}.mobile-wizard-bar>div span{font-size:.62rem;color:#c5d3da}.mobile-wizard-bar>div strong{font:500 1.15rem 'Playfair Display',Georgia,serif;color:var(--gold)}.mobile-wizard-bar button{min-width:58px;min-height:40px;padding:6px 9px;border:1px solid rgba(255,255,255,.6);background:transparent;color:#fff;font-size:.7rem;font-weight:600}.mobile-wizard-bar #mobile-next{background:var(--gold);border-color:var(--gold);color:var(--navy-deep)}.mobile-wizard-bar button:disabled{opacity:.35}body.request-bar-visible{padding-bottom:var(--request-bar-h)}}
@media(max-width:430px){.wizard-stage{padding-inline:15px}.request-package-choice{padding:11px}.ticket-card pre{font-size:.69rem}.topbar-actions{width:calc(100% - 16px)}.topbar-actions a{font-size:.66rem}}
@media(max-width:390px){.wizard-stage{padding-inline:14px}.ala-category-tabs button{font-size:.7rem}.mobile-wizard-bar{grid-template-columns:minmax(92px,1fr) 54px 62px}.mobile-wizard-bar button{min-width:0;padding-inline:5px}}
@media(max-width:360px){.topbar-actions{gap:4px}.topbar-actions a{padding-inline:4px;font-size:.63rem}.wizard-stage{padding-inline:12px}.selected-menu-tabs button,.ala-category-tabs button{font-size:.68rem}.ticket-card pre{font-size:.66rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Open form: all sections remain in the document, with no step navigation. */
body{padding-top:88px}
.catering-topbar{position:fixed;top:0;left:0;right:0;z-index:100;height:88px}
.wizard-stage{min-height:0;padding:28px}
.request-group{min-height:0;padding:24px 0;border-bottom:1px solid var(--line)}
.request-group:first-child{padding-top:0}.request-group:last-child{border-bottom:0}
.request-menu-panel{min-height:0;margin:30px 0;padding-top:24px;border-top:1px solid var(--line)}
.request-menu-heading{font:500 1.7rem 'Playfair Display',Georgia,serif;color:var(--navy);margin:0 0 8px}
.request-menu-note{font-size:.84rem;color:var(--muted);margin:0 0 18px}
.open-package-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.open-package-grid .selection-box{margin:0;min-width:0;padding:18px}
.package-label{color:#8a713d;font-size:.68rem;letter-spacing:.1em}
.open-size-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center;margin-top:14px}
.open-size-row>span{font-size:.8rem}.open-size-row strong{display:block;color:var(--navy)}
.open-ala-category{margin-top:28px}.open-ala-category>h4{font:500 1.4rem 'Playfair Display',Georgia,serif;color:var(--navy);margin:0}
.added-lunch{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px;margin-top:16px;padding:16px;border:1px solid var(--line)}
.added-lunch p,.added-lunch span{font-size:.78rem;color:var(--muted);overflow-wrap:anywhere}
#email-request[aria-disabled="true"]{opacity:.45;cursor:not-allowed}
@media(max-width:640px){.wizard-stage{min-height:0;padding:20px 15px}.request-group{min-height:0}.open-package-grid{grid-template-columns:1fr}.request-menu-panel{min-height:0}.added-lunch{grid-template-columns:1fr}.build-options{margin-top:18px}}
@media(max-width:360px){.wizard-stage{padding-inline:12px}.open-package-grid .selection-box{padding:12px}}

#request-form [hidden]{display:none!important}

.request-category-finish{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin:20px 0 8px;padding:15px 0;border-top:1px solid var(--line)}
.request-selection-total{font-size:.82rem;color:var(--navy);font-weight:600}
.request-category-finish .button{min-height:40px;padding:9px 13px;font-size:.76rem;width:auto}
.request-category-finish .button:disabled{opacity:.4;cursor:not-allowed}
.review-reminders{padding:13px 16px;border:1px solid var(--gold);font-size:.82rem;background:#faf7f2}
.review-reminders a{color:var(--navy);text-decoration:underline;text-underline-offset:3px}
#request-review,#request-contact,#request-schedule{scroll-margin-top:100px}
@media(max-width:390px){.request-category-finish{gap:9px}.request-category-finish .button{font-size:.72rem}}

.estimate-breakdown{margin:22px 0 12px;padding:16px 18px;border:1px solid var(--line);background:#faf7f2}
.estimate-breakdown>div{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;padding:8px 0;font-size:.84rem}
.estimate-breakdown dt{color:var(--muted)}.estimate-breakdown dd{margin:0;color:var(--navy);text-align:right;font-variant-numeric:tabular-nums}
.estimate-breakdown .estimate-total{border-top:1px solid var(--line);font-weight:600}.estimate-breakdown .estimate-total dt{color:var(--navy)}
.payment-policy{font-size:.8rem;color:var(--muted)}

/* Four readable, persistent actions on desktop and mobile. */
:root{--catering-actions-height:92px;--catering-bottom-space:calc(var(--catering-actions-height) + env(safe-area-inset-bottom,0px))}
html{scroll-padding-top:24px;scroll-padding-bottom:calc(var(--catering-bottom-space) + 16px)}
body{padding-top:0;padding-bottom:var(--catering-bottom-space)}
.catering-topbar{position:fixed;top:auto;bottom:0;left:0;right:0;height:var(--catering-bottom-space);padding:14px 0 calc(14px + env(safe-area-inset-bottom,0px));display:flex;align-items:center;border-bottom:0;border-top:1px solid rgba(255,255,255,.22)}
.topbar-actions{width:min(calc(100% - 48px),1080px);max-width:100%;height:auto;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;padding-left:env(safe-area-inset-left,0px);padding-right:env(safe-area-inset-right,0px)}
.topbar-actions a,.topbar-actions .topbar-request{min-width:0;height:auto;min-height:58px;padding:12px 16px;border-radius:8px;white-space:normal;font-size:1.0625rem;line-height:1.25;text-decoration:none;font-weight:600}
.topbar-actions .topbar-request{background:#fff;color:var(--navy-deep);border-color:#fff}
.topbar-actions a:hover{background:#254961;color:#fff}.topbar-actions a.primary:hover{background:#e8cc91;color:var(--navy-deep)}
#request-review,#request-contact,#request-schedule{scroll-margin-top:24px}
@media(max-width:640px){:root{--catering-actions-height:82px}.catering-topbar{padding-top:10px;padding-bottom:calc(10px + env(safe-area-inset-bottom,0px))}.topbar-actions{width:calc(100% - 16px);gap:6px}.topbar-actions a,.topbar-actions .topbar-request{font-size:.79rem;padding:9px 5px;min-height:60px;border-radius:6px}body:has(#request-form input:focus,#request-form select:focus,#request-form textarea:focus) .catering-topbar{visibility:hidden;pointer-events:none}}
@media(max-width:360px){.topbar-actions{gap:4px}.topbar-actions a,.topbar-actions .topbar-request{font-size:.72rem;padding-inline:3px}}
