/* Screen-only menu design; print.php keeps its own independent stylesheet. */
.cms-type-menu-content [hidden]{display:none!important}
.cms-type-menu-content .category-nav.menu-browse-nav{overflow:visible;display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:12px 24px;padding-block:12px}
.menu-group-buttons{display:flex;gap:8px;flex-shrink:0}
.menu-group-buttons button{border:2px solid var(--muted);background:transparent;color:var(--muted);font:400 1.1rem/1.3 var(--display);letter-spacing:.04em;min-height:42px;padding:8px 24px;cursor:pointer}
.menu-group-buttons button[aria-pressed=true]{background:var(--muted);color:#fff}
.menu-group-buttons button:hover:not([aria-pressed=true]){background:#fff8}
.menu-category-picker{display:block;min-width:0;width:min(330px,100%)}
.menu-category-picker select{display:block;width:100%;min-height:42px;border:0;border-radius:22px;background:var(--block-bg,#f6f3ee);color:var(--muted);font:400 1.05rem/1.3 var(--display);letter-spacing:.025em;padding:8px 32px 8px 18px;cursor:pointer}
.menu-browse-nav button:focus-visible,.menu-browse-nav select:focus-visible{outline:2px solid var(--ink);outline-offset:3px}
.menu-browse-nav .sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
.menu-group-fade{animation:menu-group-fade .18s ease-out}
@keyframes menu-group-fade{from{opacity:.55}to{opacity:1}}
@media(max-width:550px){
  .cms-type-menu-content .category-nav.menu-browse-nav{gap:8px;padding:10px 20px}
  .menu-group-buttons{justify-content:center;width:100%}
  .menu-group-buttons button{min-width:110px;min-height:40px;padding:7px 18px}
  .menu-category-picker{width:100%;max-width:360px}
  .menu-category-picker select{font-size:1rem;min-height:40px}
}
@media(prefers-reduced-motion:reduce){.menu-group-fade{animation:none}}
.cms-type-menu-content{display:flow-root;background:#fff;scroll-margin-top:74px}
.cms-type-menu-content.cms-menu-first{padding-top:74px}
.menu-photo-header{position:relative;isolation:isolate;display:flex;align-items:center;min-height:clamp(260px,25vw,380px);overflow:hidden;background:var(--ink);color:#fff}
.menu-photo-header>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:var(--menu-focus,50% 50%);z-index:-2}
.menu-photo-header>.cms-parallax-image{transform:translate3d(0,var(--parallax-y,0px),0) scale(var(--parallax-scale,1));will-change:transform}
@media(prefers-reduced-motion:reduce){.menu-photo-header>.cms-parallax-image{transform:none;will-change:auto}}
@media print{.menu-photo-header>.cms-parallax-image{transform:none;will-change:auto}}
.menu-photo-header::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(0,0,0,.68),rgba(0,0,0,.25) 60%,rgba(0,0,0,.12))}
.menu-photo-copy{width:100%;max-width:1524px;margin-inline:auto;padding:40px var(--pad)}
.menu-photo-copy h1,.menu-photo-copy h2{font:400 clamp(3.4rem,5.8vw,6rem)/1.02 var(--display);letter-spacing:.015em;margin:0;max-width:900px;overflow-wrap:anywhere}
.menu-photo-copy p{max-width:650px;font-size:clamp(1.05rem,1.6vw,1.3rem);line-height:1.5;margin:16px 0 0;text-wrap:pretty}
.cms-type-menu-content .menu-switcher{justify-content:center;padding:28px var(--pad) 20px;margin:0;gap:12px;background:#fff}
.cms-type-menu-content .menu-switcher a{min-width:160px;text-align:center;padding:11px 24px;font-size:1.15rem;line-height:1.4}
.cms-type-menu-content .menu-switcher a:not(.is-active){color:var(--muted)}
.cms-type-menu-content .menu-switcher a:focus-visible,.cms-type-menu-content .category-nav a:focus-visible{outline:2px solid currentColor;outline-offset:-3px}
.cms-type-menu-content .menu-switcher a:hover:not(.is-active){background:#ffffff80}
.cms-type-menu-content .category-nav{padding-block:12px;margin:0;gap:8px;background:#fff;backdrop-filter:none}
.cms-type-menu-content .category-nav a{flex-shrink:0;line-height:24px}
/* Auto margins center a short list, but collapse to zero when it overflows. */
.cms-type-menu-content .category-nav a:first-child{margin-inline-start:auto}
.cms-type-menu-content .category-nav a:last-child{margin-inline-end:auto}
.cms-type-menu-content .menu-sheet-frame{max-width:1380px;margin:26px var(--pad) 80px;border:3px solid var(--muted);background:var(--white)}
.cms-type-menu-content .menu-sheet{max-width:none;margin:0;padding:30px;columns:2;column-gap:52px;color:var(--block-ink)}
.cms-type-menu-content .menu-sheet-single{columns:1}
.cms-type-menu-content .menu-section{padding-bottom:16px;margin-bottom:10px;border-bottom:3px solid var(--muted)}
.cms-type-menu-content .menu-section:last-child{margin-bottom:0}
.cms-type-menu-content .menu-section header{padding:0;margin:0 0 8px;border:0}
.cms-type-menu-content .menu-section h2{font:400 clamp(1.8rem,2.5vw,2.3rem)/1.1 var(--display);letter-spacing:.025em;text-align:center;background:var(--muted);color:#fff;padding:12px 16px;overflow-wrap:anywhere}
.cms-type-menu-content .menu-section header p{text-align:center;font-size:.9rem;line-height:1.5;margin:9px 8px 12px;padding-bottom:10px;color:var(--muted);text-shadow:0px 0px 1px var(--muted);font-style:italic;border-bottom:1px solid var(--muted)}
.cms-type-menu-content .menu-item{gap:16px;padding:4px 2px;border-bottom:0;align-items:start;color:var(--muted)}
.cms-type-menu-content .menu-item>div{min-width:0}
.cms-type-menu-content .menu-item h3{font-size:1.05rem;line-height:1.45;font-weight:400;text-shadow:0px 0px 1px var(--muted);overflow-wrap:anywhere;color:var(--muted)}
.cms-type-menu-content .menu-item p{margin:4px 0 0;font-size:.92rem;line-height:1.5;text-wrap:pretty;font-style:italic}
.cms-type-menu-content .menu-item strong{font-size:1.16rem;line-height:1.35;color:var(--muted);text-align:right}
.cms-type-menu-content .menu-item:last-child{border-bottom:0}
.cms-type-menu-content .menu-item-addon{margin-left:0;padding-block:4px}
.cms-type-menu-content .menu-item-addon h3{font-size:.97rem;font-weight:400;color:var(--muted)}
.cms-type-menu-content .menu-item-addon strong{font-size:1.06rem;color:var(--muted)}
.menu-allergens{padding:24px 30px 12px;color:var(--muted);text-align:center;border-top:1px solid var(--line);break-inside:avoid}
/* Temporarily show only the general notice in simple mode; keep the extended panel intact. */
.menu-allergens[data-menu-allergens] .menu-allergen-icons,.menu-allergens[data-menu-allergens] .menu-allergen-name{display:none}
.menu-allergen-notice{max-width:620px;margin:0 auto 12px;font-size:.95rem;line-height:1.5;font-style:italic;text-wrap:pretty}
.menu-allergen-icons{display:flex;flex-wrap:wrap;justify-content:center;gap:4px;max-width:700px;margin:auto}
.menu-allergen{display:flex;flex:0 0 44px;align-items:center;justify-content:center;width:44px;height:44px;padding:6px;border:0;border-radius:0;background:transparent;color:var(--muted);cursor:pointer;transition:color .2s,background .2s}
.menu-allergen-symbol{display:block;width:32px;height:32px;background:currentColor;-webkit-mask:var(--allergen-icon) center/contain no-repeat;mask:var(--allergen-icon) center/contain no-repeat;mask-mode:alpha}
.menu-allergen:hover .menu-allergen-symbol,.menu-allergen.is-current .menu-allergen-symbol{background:var(--allergen-icon) center/contain no-repeat;-webkit-mask:none;mask:none}
.menu-allergen:focus-visible{outline:2px solid currentColor;outline-offset:-2px}
.menu-allergen-name{min-height:3em;max-width:650px;margin:8px auto 0;font-size:.78rem;line-height:1.5;overflow-wrap:anywhere}
@media(max-width:550px){.menu-allergens{padding:22px 16px 10px}.menu-allergen-icons{gap:0}.menu-allergen-symbol{width:30px;height:30px}}
@media(prefers-reduced-motion:reduce){.menu-allergen{transition:none}}
@media(min-width:1524px){.cms-type-menu-content .menu-sheet-frame{margin-inline:auto}}
@media(max-width:850px){
    .menu-photo-header{min-height:250px}
    .cms-type-menu-content .menu-sheet{columns:1;padding:24px}
    .cms-type-menu-content .menu-sheet-frame{border-width:2px}
}
/* One centered row, including the former 550–720px breakpoint gap. */
@media(max-width:720px){
    .cms-type-menu-content .menu-switcher{flex-wrap:nowrap;justify-content:center;overflow:visible;padding:18px 20px 16px;gap:8px}
    .cms-type-menu-content .menu-switcher a{flex:0 0 auto;min-width:0;padding:9px clamp(4px,1.5vw,12px);font-size:clamp(.8rem,3vw,1rem);letter-spacing:.04em;white-space:nowrap}
}
@media(max-width:550px){
    .menu-photo-header{min-height:210px}
    .menu-photo-copy{padding:28px 22px}
    .menu-photo-copy h1,.menu-photo-copy h2{font-size:clamp(2.6rem,10vw,3.6rem)}
    .menu-photo-copy p{font-size:1rem;margin-top:12px}
    .menu-photo-header::after{background:linear-gradient(90deg,rgba(0,0,0,.7),rgba(0,0,0,.34))}
    .cms-type-menu-content .category-nav{padding-inline:20px;padding-block:10px}
    .cms-type-menu-content .menu-sheet-frame{margin:18px 12px 54px}
    .cms-type-menu-content .menu-sheet{padding:14px;column-gap:0}
    .cms-type-menu-content .menu-section{padding-bottom:14px;margin-bottom:10px}
    .cms-type-menu-content .menu-section h2{font-size:1.85rem;padding:11px 8px}
    .cms-type-menu-content .menu-section header p{font-size:.86rem;margin-inline:2px}
    .cms-type-menu-content .menu-item{gap:10px;padding-block:4px;grid-template-columns:minmax(0,1fr) auto}
    .cms-type-menu-content .menu-item h3{font-size:1rem}
    .cms-type-menu-content .menu-item p{font-size:.87rem;margin-left:0}
    .cms-type-menu-content .menu-item strong{font-size:1.08rem;white-space:normal;max-width:125px}
    .cms-type-menu-content .menu-item-addon{margin-left:0;padding-block:4px}
}
.product-allergen-hint{margin:0;padding:18px 24px 0;text-align:center;font-size:.85rem;color:var(--muted);font-style:italic}
.cms-type-menu-content [data-product-allergens]{cursor:pointer;transition:background-color .18s;scroll-margin-block:160px 340px;border-radius:5px}
.cms-type-menu-content [data-product-allergens]:hover,.cms-type-menu-content .is-allergen-selected{background:#f6f3eef7}
.cms-type-menu-content [data-product-allergens]:focus-visible{outline:2px solid var(--muted);outline-offset:3px}
.product-allergen-panel{position:fixed;z-index:85;left:50%;bottom:14px;width:min(700px,calc(100% - 28px));padding:14px 20px 12px;border:3px solid var(--muted);background:#fff;color:var(--muted);box-shadow:0 0 0 8px #fff,0 -8px 24px rgba(0,0,0,.35);opacity:0;transform:translate(-50%,16px);transition:transform .22s ease,opacity .22s ease;max-height:calc(100dvh - 170px);overflow-y:auto}
.product-allergen-panel[hidden]{display:none!important}
.product-allergen-panel.is-open{opacity:1;transform:translate(-50%,0)}
.product-allergen-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid var(--line);padding-bottom:8px;margin-bottom:8px}
.cms-type-menu-content .product-allergen-heading h3{margin:0;font-family:var(--body);font-size:1rem;font-weight:400;line-height:1.35;color:var(--muted);text-shadow:0 0 1px var(--muted);overflow-wrap:anywhere}
.product-allergen-heading button{display:grid;place-items:center;flex:0 0 40px;width:40px;min-height:40px;padding:0;border:0;background:transparent;color:inherit;font:28px/1 Arial;cursor:pointer}
.product-allergen-heading button:focus-visible{outline:2px solid currentColor}
.product-allergen-panel .menu-allergen-icons{display:grid;grid-template-columns:repeat(var(--allergen-count,14),minmax(0,40px));justify-content:center;gap:2px;max-width:none}
.product-allergen-icon{display:grid;place-items:center;width:100%;max-width:40px;height:40px;padding:0;border:0;background:transparent;color:var(--muted);cursor:help}
.product-allergen-icon .menu-allergen-symbol{opacity:.2;transition:opacity .18s}
.product-allergen-icon.is-contained .menu-allergen-symbol{opacity:1}
.product-allergen-icon:focus-visible{outline:2px solid var(--muted);outline-offset:1px;border-radius:50%}
.product-allergen-icon.is-contained .menu-allergen-symbol{background:var(--allergen-icon) center/contain no-repeat;-webkit-mask:none;mask:none}
.product-allergen-panel p{margin:8px 0 0;text-align:center;font-size:.84rem;line-height:1.5}
.product-allergen-panel .product-allergen-caution{font-size:.75rem;font-style:italic}
.product-allergen-panel .product-allergen-addon{margin:0 0 6px;font-size:.75rem}
@media(max-width:720px){.product-allergen-panel{bottom:74px;width:calc(100% - 24px);padding:10px 12px;border-width:2px}}
/* Fourteen 40px icons + gaps + card padding/borders, with room for a scrollbar. */
@media(max-width:660px){.product-allergen-panel{width:min(360px,calc(100% - 32px))}.product-allergen-panel .menu-allergen-icons{grid-template-columns:repeat(min(var(--allergen-count,14),7),minmax(0,40px))}}
@media(max-width:390px){.product-allergen-icon{max-width:36px;height:36px}.product-allergen-panel .menu-allergen-symbol{width:28px;height:28px}}
@media(prefers-reduced-motion:reduce){.product-allergen-panel,.product-allergen-icon,.cms-type-menu-content [data-product-allergens]{transition:none}}
@media print{.product-allergen-panel,.product-allergen-hint{display:none!important}}
.allergen-help{position:fixed;z-index:150;width:240px;max-width:calc(100vw - 32px);max-height:calc(100dvh - 32px);overflow:visible;padding:12px 14px;border:2px solid var(--muted);outline:6px solid #fff;background:#fff;color:var(--muted);box-shadow:0 2px 18px 8px #0002;text-align:center;font:13px/1.4 var(--body);opacity:0;transform:translateY(4px);transition:opacity .16s,transform .16s;pointer-events:none}
.allergen-help[hidden]{display:none!important}
.allergen-help.is-visible{opacity:1;transform:none;pointer-events:auto}
.allergen-help strong{display:block;font-size:14px;font-weight:400;text-shadow:0 0 1px var(--muted)}
.allergen-help p{margin:5px 0 0;overflow-wrap:anywhere}
.allergen-help::after{content:"";position:absolute;left:var(--arrow-left,50%);top:100%;width:10px;height:10px;background:#fff;border-right:2px solid var(--muted);border-bottom:2px solid var(--muted);transform:translate(-50%,-3px) rotate(45deg)}
.allergen-help.is-below::after{top:auto;bottom:100%;transform:translate(-50%,3px) rotate(225deg)}
@media(prefers-reduced-motion:reduce){.allergen-help{transition:none;transform:none}}
@media print{.allergen-help{display:none!important}}
