:root{color-scheme:light;--navy:#122c40;--gold:#e3c890;--paper:#faf8f2}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--navy);font-family:'DM Sans',Arial,sans-serif}header{background:var(--navy);color:var(--paper);padding:30px 24px 28px;border-bottom:4px solid var(--gold)}.brand{font:42px 'Great Vibes',cursive;color:var(--gold)}.tag{font-size:10px;letter-spacing:2px}h1{font:36px/1.13 'Playfair Display',Georgia,serif;margin:22px 0 12px}header p{margin:0;color:#d7e0e4;font-size:14px}.controls{position:sticky;top:0;z-index:2;background:var(--paper);padding:15px 16px 0;border-bottom:1px solid #d9cfbb}label{display:block;font-size:12px;font-weight:700;margin-bottom:6px}input{width:100%;font:16px 'DM Sans',Arial;padding:12px;border:1px solid #a99e88;border-radius:9px;background:#fff}nav{display:flex;gap:7px;overflow-x:auto;padding:12px 0;scrollbar-width:thin}button{font:600 13px 'DM Sans',Arial;min-height:44px;cursor:pointer;border:1px solid #c3b594;border-radius:24px;background:transparent;color:var(--navy);padding:9px 14px;white-space:nowrap}button[aria-pressed=true]{background:var(--navy);color:var(--gold);border-color:var(--navy)}main{max-width:780px;margin:auto;padding:8px 16px 28px}section{margin:23px 0}h2{font:25px 'Playfair Display',Georgia,serif;margin:0 0 12px}article{padding:15px 0;border-bottom:1px solid #e2dac9}.item-top{display:flex;align-items:baseline;justify-content:space-between;gap:16px}h3{font-size:16px;margin:0;line-height:1.35;overflow-wrap:anywhere}.price{white-space:nowrap;font-size:15px;font-weight:600}article p{font-size:14px;line-height:1.5;color:#53606a;margin:6px 0 0}.sizes{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.size{background:#eee9dc;border-radius:5px;padding:5px 8px;font-size:12px}.feature{background:var(--navy);color:var(--paper);border-radius:12px;padding:18px;border-top:4px solid var(--gold)}.feature h2{color:var(--gold)}.feature p{color:#dbe1e2}.feature article{border-color:#395263}.badge{display:inline-block;background:var(--gold);color:var(--navy);font-size:11px;padding:4px 8px;border-radius:4px;margin-bottom:10px}footer{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:20px 16px;border-top:1px solid #d9cfbb;font-size:12px;color:#53606a;max-width:812px;margin:auto}button:focus-visible,input:focus-visible{outline:3px solid #b6914e;outline-offset:3px}@media(min-width:700px){header{padding:40px max(24px,calc((100% - 748px)/2))}.controls{padding-left:max(16px,calc((100% - 748px)/2));padding-right:max(16px,calc((100% - 748px)/2))}}

/* Compact mobile masthead leaves the menu close to the top. */
header{padding:16px 20px 18px}.brand{font-size:36px;line-height:1.15}.menu-label{font:400 13px/1.4 'DM Sans',Arial,sans-serif;margin:4px 0 12px;color:#d7e0e4}.order-actions{display:flex;gap:10px}.order-button{display:flex;align-items:center;justify-content:center;min-height:44px;padding:10px 18px;border-radius:8px;background:var(--gold);color:var(--navy);font-size:14px;font-weight:700;text-decoration:none;flex:1}.order-button.delivery{background:transparent;color:var(--gold);border:1px solid var(--gold)}.order-button:focus-visible{outline:3px solid white;outline-offset:3px}@media(min-width:700px){header{padding:16px max(24px,calc((100% - 748px)/2)) 18px}.order-actions{max-width:430px}}

/* Homepage-inspired navigation bar, with an illuminated gold wordmark. */
header{display:flex;align-items:center;justify-content:space-between;gap:16px;background:linear-gradient(110deg,#071522,#132f43 55%,#071522);border-bottom:1px solid #b99756;padding-top:13px;padding-bottom:13px;box-shadow:0 3px 14px #07152222}
.brand{flex-shrink:0;font-size:38px;color:#f5dc99;background:linear-gradient(180deg,#fff3cd 12%,#edcf83 43%,#b48a3f 63%,#f6dfa4 87%);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;filter:drop-shadow(0 0 5px #eac77755) drop-shadow(0 0 15px #dfb25e33);padding:4px 2px}
.order-actions{flex:0 1 430px;gap:9px}.order-button,.order-button.delivery{background:#030914bf;border:1px solid #c2a166;color:#ead49c;min-height:42px;padding:9px 13px;font-size:13px;font-weight:600;border-radius:5px;box-shadow:inset 0 1px 0 #fff1cc12;text-align:center}.order-button:hover{background:#263c48;border-color:#f1d797}
@media(max-width:520px){header{flex-wrap:wrap;justify-content:center;gap:7px;padding:10px 16px 13px}.brand{font-size:35px;line-height:1}.order-actions{flex-basis:100%;max-width:none}.order-button,.order-button.delivery{font-size:13px}}

.order-actions{flex-basis:560px;max-width:560px}.order-button{white-space:nowrap}.phone{font-variant-numeric:tabular-nums}@media(max-width:680px){header{flex-wrap:wrap;justify-content:center}.order-actions{flex-basis:100%;max-width:none;display:grid;grid-template-columns:1fr 1fr;gap:8px}.order-button.phone{grid-column:1 / -1;min-height:36px;padding:6px 12px}}
/* Light combo cards match the rest of the pocket menu. */
.feature{background:#fffdf8;color:var(--navy);border:1px solid #d8c9aa;border-top:3px solid #b99756;box-shadow:0 3px 12px #122c4008}
.feature h2{color:var(--navy)}
.feature p{color:#53606a}
.feature article{border-color:#e2dac9}
.feature .badge{background:#eee3cb;color:#72521e}
/* Gold section labels throughout the mobile menu. */
#menu section>h2{background:linear-gradient(110deg,#d6b775,#efddb2 55%,#dfc38d);color:#122c40;padding:11px 14px;border-radius:7px;border:1px solid #c5a467;font-size:23px;line-height:1.3;box-shadow:inset 0 1px 0 #fff6dc88}
/* Navy script over the gold section bars. */
#menu section>h2{font-family:'Great Vibes',cursive;font-size:34px;font-weight:400;line-height:1.2;color:#122c40;padding:10px 14px;text-align:center}
/* Match section titles to the illuminated wordmark and navigation bar. */
#menu section>h2{background:linear-gradient(110deg,#071522,#132f43 55%,#071522);color:#f3d998;border:1px solid #b99756;font-family:'Great Vibes',cursive;font-size:35px;font-weight:400;line-height:1.25;padding:11px 14px;text-align:center;text-shadow:0 0 5px #eac77766,0 0 15px #dfb25e44,0 1px 1px #000;box-shadow:inset 0 1px 0 #fff1cc14,0 2px 8px #07152215}

/* Four header actions, balanced in two rows on phones. */
.order-actions{flex-basis:680px;max-width:680px}@media(max-width:680px){.order-actions{max-width:none;flex-basis:100%}.order-button.phone{grid-column:auto;min-height:42px}.order-button.directions{min-height:42px}}

.menu-item{display:grid;grid-template-columns:auto minmax(0,1fr);gap:13px;align-items:start}.item-copy{min-width:0}.item-image-button{width:78px;height:78px;min-height:0;padding:0;border:1px solid #c9b88f;border-radius:10px;overflow:hidden;background:#fff;box-shadow:0 2px 8px #122c4014}.item-image-button img{display:block;width:100%;height:100%;object-fit:cover}.item-image-button:hover{border-color:#8d6b2f;transform:translateY(-1px)}
.action-dock{position:sticky;bottom:0;z-index:10;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;width:100%;padding:9px max(10px,env(safe-area-inset-right)) calc(9px + env(safe-area-inset-bottom)) max(10px,env(safe-area-inset-left));overflow:visible;background:#071522f5;border-top:1px solid #b99756;box-shadow:0 -5px 18px #0715222e;backdrop-filter:blur(10px)}.dock-button{display:flex;align-items:center;justify-content:center;min-width:0;min-height:46px;padding:8px 5px;border:1px solid #947b4f;border-radius:8px;color:#f2dda6;background:#152f42;text-decoration:none;font:700 12px/1.15 'DM Sans',Arial,sans-serif;text-align:center;white-space:normal}.dock-button.dock-primary{background:#e3c890;color:#10283b;border-color:#f1dbab}.dock-button:focus-visible{outline:3px solid #fff;outline-offset:2px}
#item-dialog{width:min(92vw,680px);max-height:88vh;padding:0;border:1px solid #b99756;border-radius:14px;background:#fffdf8;color:var(--navy);box-shadow:0 20px 70px #0008;overflow:auto}#item-dialog::backdrop{background:#071522cc;backdrop-filter:blur(3px)}.dialog-close{position:sticky;top:10px;z-index:2;float:right;margin:10px 10px -54px 0;width:44px;height:44px;min-height:44px;padding:0;border-radius:50%;background:#071522e8;color:#fff;font-size:28px;line-height:1}.dialog-close:hover{background:#263c48}.dialog-copy{padding:22px}.dialog-copy h2{margin:0 52px 8px 0;font-size:28px}.dialog-price{font-weight:800;color:#735521}.dialog-copy>p{font-size:15px;line-height:1.55;color:#53606a}.dialog-order{display:flex;justify-content:center;align-items:center;min-height:48px;margin-top:18px;border-radius:8px;background:var(--navy);color:var(--gold);font-weight:800;text-decoration:none}.allergen-note{margin:18px 0 0;padding:13px 14px;border:1px solid #d8c9aa;border-radius:9px;background:#f5f0e4}.allergen-note h3{font-size:14px;margin:0}.allergen-note p{font-size:13px;margin:5px 0 0;color:#53606a}#dialog-image{display:block;width:100%;max-height:48vh;object-fit:cover;background:#eee9dc}
@media(max-width:380px){.item-image-button{width:64px;height:64px}.action-dock{gap:5px;padding-left:6px;padding-right:6px}.dock-button{font-size:11px;padding:7px 3px}}
@media(min-width:820px){.action-dock{max-width:812px;margin:auto;border-left:1px solid #b99756;border-right:1px solid #b99756;border-radius:10px 10px 0 0}.item-image-button{width:92px;height:92px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}.item-image-button{transform:none!important}}

/* Persistent mobile actions remain visible without covering the final menu rows. */
body{padding-bottom:calc(66px + env(safe-area-inset-bottom))}
.item-details-button{min-height:36px;margin-top:9px;padding:6px 12px;border-radius:7px;font-size:12px}
.action-dock{position:fixed;left:0;right:0;bottom:0}
@media(min-width:820px){.action-dock{left:50%;right:auto;transform:translateX(-50%)}}

/* Keep action controls inside the visual viewport at phone widths. */
html,body{max-width:100%;overflow-x:hidden}
.order-actions,.order-button,.action-dock,.dock-button{min-width:0}
.action-dock{width:100vw;max-width:100vw}
@media(max-width:680px){.order-button{white-space:normal;overflow-wrap:anywhere;padding-left:8px;padding-right:8px}.action-dock{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(min-width:820px){.action-dock{width:min(812px,100vw);max-width:812px}}
