/* Animated restaurant menu board. Existing dishes and brand tokens are retained. */
.menu-board-heading{max-width:1500px;margin:auto;padding:36px 5% 28px;display:flex;justify-content:space-between;align-items:end;gap:28px}
.menu-board-heading h1{font-family:var(--display);font-size:clamp(58px,6.3vw,94px);line-height:.92;font-weight:800;letter-spacing:-.025em;text-transform:uppercase;color:var(--red)}
.menu-board-heading p{font-size:15px;line-height:1.6;max-width:320px;color:var(--muted)}
#speisekarte.standalone-menu{max-width:1500px;padding:0 5% 52px;margin:auto}
#speisekarte .menu-tools{margin:0;padding:0 0 24px;border:0;align-items:end;gap:24px}
#speisekarte .search-wrap{max-width:500px;width:100%}
#speisekarte .search-field input{font-size:15px}
#speisekarte .menu-layout{display:block;animation:none}
#speisekarte .category-sidebar{position:sticky;top:0;z-index:6;background:var(--ink);color:var(--cream);padding:9px 12px;border:0;margin:0;box-shadow:0 3px 0 var(--red)}
#speisekarte .category-sidebar>h2,#speisekarte .mobile-category-control{display:none}
#speisekarte #categories{display:flex;flex-direction:row;gap:3px;position:static;overflow-x:auto;scrollbar-width:thin;scrollbar-color:#796b63 var(--ink);padding:0;margin:0}
#speisekarte .category-button{display:block;flex:1 0 auto;min-height:46px;padding:11px 13px;border:0;border-radius:0;font-size:14px;white-space:nowrap;color:var(--cream);background:transparent;box-shadow:none;transform:none}
#speisekarte .category-button:hover{background:#35302c;transform:none}
#speisekarte .category-button[aria-pressed=true]{background:var(--red);color:var(--cream)}
#speisekarte .category-button:focus-visible{outline:2px solid #edc887;outline-offset:-3px}
#speisekarte .menu-content{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.12fr);align-items:start;padding:0;border:0;background:var(--cream);box-shadow:none;position:relative}
#speisekarte .menu-content::before{content:none}
.menu-scene{position:sticky;top:67px;min-width:0;min-height:610px;padding:38px 32px 24px;background:#f0e4d1;color:var(--ink);overflow:hidden;isolation:isolate;transition:background-color 450ms,color 450ms;display:flex;flex-direction:column;align-items:stretch}
.menu-scene[data-tone=maroon]{background:var(--red);color:var(--cream)}
.menu-scene[data-tone=black]{background:var(--ink);color:var(--cream)}
#speisekarte .menu-result-heading{padding:0;display:block;position:relative;z-index:1}
#speisekarte .menu-result-heading h2{font-family:var(--display);font-size:clamp(60px,6.8vw,96px);font-weight:800;text-transform:uppercase;line-height:.96;letter-spacing:-.025em;color:inherit;overflow-wrap:normal;scroll-margin-top:90px}
#speisekarte .is-searching .menu-result-heading h2{font-size:clamp(42px,4.6vw,66px);overflow-wrap:anywhere}
#speisekarte .category-note,#speisekarte .with-category-photo .category-note{padding:0;margin:16px 0 0;min-height:0;max-width:320px;border:0;font-size:14px;line-height:1.65;color:inherit;position:relative;z-index:1}
#speisekarte .category-photograph,#speisekarte .with-category-photo .category-photograph{position:relative;inset:auto;width:100%;height:370px;max-width:480px;margin:16px auto 12px;overflow:visible;border:0;flex:0 0 auto;filter:drop-shadow(0 18px 12px #00000020);z-index:1}
#speisekarte .category-photograph[hidden]{display:none}
#speisekarte .category-photograph.is-art-loading{visibility:hidden}
#speisekarte .category-photograph>svg,#speisekarte .category-photograph .pizza-turntable,#speisekarte .category-photograph .pizza-turntable-inner,#speisekarte .category-photograph .pizza-cutout{width:100%;height:100%;max-width:100%;display:block;filter:none;margin:0}
.menu-scene>.hero-vegetables{position:absolute;inset:0;z-index:0;pointer-events:none;overflow:hidden}
.menu-scene .hero-ingredient{color:currentColor;opacity:.2;width:105px;height:105px}
.menu-scene .ingredient-1{left:-25px;top:115px;transform:rotate(-25deg)}
.menu-scene .ingredient-2{right:-25px;top:12px;transform:rotate(25deg)}
.menu-scene .ingredient-3{left:-22px;bottom:100px;transform:rotate(-20deg)}
.menu-scene .ingredient-4{right:-19px;bottom:55px;transform:rotate(17deg)}
.menu-scene .ingredient-5{left:44%;top:-51px;transform:rotate(12deg)}
.menu-scene .ingredient-6{left:38%;bottom:-36px;transform:rotate(95deg)}
.menu-next{display:flex;align-items:center;justify-content:space-between;gap:20px;position:relative;z-index:1;min-height:44px;margin-top:auto;padding:10px 0;background:transparent;color:inherit;font-size:13px;font-weight:600;border-top:1px solid currentColor;text-align:left}
.menu-next[hidden]{display:none}.menu-next span{font-size:21px}.menu-next:hover span{transform:translate(3px,-3px);transition:transform 250ms}
.board-dishes{padding:18px 0 20px 36px;min-width:0}
#speisekarte #menu-items,#speisekarte .with-category-photo #menu-items{display:grid;grid-template-columns:minmax(0,1fr);padding:0;border:0;gap:0}
#speisekarte .menu-item{border-bottom:1px solid var(--line);padding:21px 0 23px;min-height:0}
#speisekarte .menu-item h3,#speisekarte .menu-item h4{font-size:17px;line-height:1.4}
#speisekarte .menu-item .description{font-size:14px;line-height:1.7;max-width:100%}
#speisekarte .menu-leader{border:0}
#speisekarte .price{font-size:17px}
#speisekarte .menu-item:hover{background:transparent}
#speisekarte #menu-items.grouped-menu{display:block}
#speisekarte .chapter-dishes{grid-template-columns:minmax(0,1fr)}
#speisekarte .chapter-title{font-size:39px}
#speisekarte #empty h3{font-family:var(--display);font-size:34px;text-transform:uppercase}
#speisekarte .menu-footnote{margin-top:30px}
#speisekarte .menu-content:not(.with-category-photo) .menu-scene{min-height:320px}
@media(min-width:1500px){.menu-scene{top:67px}}
@media(max-width:1100px) and (min-width:768px){.menu-scene{padding:30px 24px 22px;min-height:540px}#speisekarte .menu-result-heading h2{font-size:65px}#speisekarte .category-photograph,#speisekarte .with-category-photo .category-photograph{height:305px}.board-dishes{padding-left:26px}#speisekarte .category-button{font-size:13px;padding-inline:12px}}
@media(max-width:767px){
 .menu-board-heading{display:block;padding:30px 6% 22px}.menu-board-heading h1{font-size:clamp(49px,11.8vw,72px)}.menu-board-heading p{font-size:14px;margin-top:14px;max-width:none}
 #speisekarte.standalone-menu{padding:0 6% 34px}#speisekarte .menu-tools{padding-bottom:16px;display:block}.search-field input::-webkit-search-cancel-button{-webkit-appearance:none}#speisekarte .pdf-link{font-size:12px;margin-top:5px;justify-content:flex-end}
 #speisekarte .category-sidebar{padding:7px;margin:0 -6.82%;width:113.64%;top:0}#speisekarte #categories{gap:3px;scrollbar-width:none}#speisekarte .category-button{flex:0 0 auto;padding:10px 15px;font-size:14px;min-height:46px}
 #speisekarte .menu-content{display:block;margin:0 -6.82%;width:113.64%}.menu-scene{position:relative;top:0;padding:30px 6% 18px;min-height:0}
 #speisekarte .menu-result-heading h2{font-size:clamp(60px,15.5vw,84px);line-height:.96;scroll-margin-top:85px}
 #speisekarte .is-searching .menu-result-heading h2{font-size:clamp(40px,10.8vw,56px)}
 #speisekarte .category-note,#speisekarte .with-category-photo .category-note{font-size:13px;margin-top:12px;max-width:290px}
 #speisekarte .category-photograph,#speisekarte .with-category-photo .category-photograph{height:280px;width:100%;max-width:370px;margin:10px auto 14px}
 .menu-scene .hero-ingredient{width:88px;height:88px}.menu-scene .ingredient-1{top:90px}.menu-scene .ingredient-3{bottom:75px}.menu-scene .ingredient-4{bottom:45px}.menu-next{font-size:13px}
 .board-dishes{padding:10px 6% 16px}#speisekarte .menu-item{padding:20px 0 22px}#speisekarte .menu-item h3,#speisekarte .menu-item h4{font-size:16px}#speisekarte .price{font-size:16px}#speisekarte .menu-item .description{font-size:14px}#speisekarte .menu-content:not(.with-category-photo) .menu-scene{min-height:0;padding-bottom:28px}
}
@media(max-width:359px){#speisekarte .menu-result-heading h2{font-size:53px}#speisekarte .category-photograph,#speisekarte .with-category-photo .category-photograph{height:245px}#speisekarte .menu-item h3,#speisekarte .menu-item h4{font-size:15px}.menu-board-heading h1{font-size:46px}}
@media(prefers-reduced-motion:reduce){.menu-scene,.menu-next span{transition:none!important}.menu-scene *{animation:none!important}}

#speisekarte .menu-content{scroll-margin-top:65px}
html{scroll-padding-top:65px}#speisekarte .menu-content{scroll-margin-top:0}

/* Category changes should not re-anchor the page to a moving dish row. */
html:has(#speisekarte){overflow-anchor:none}
