/* Complete server-rendered menu, using the existing Botanical Duo type and palette. */
.speisekarte-page{--menu-muted:#49614e;min-width:0;overflow-wrap:break-word}
.speisekarte-page .section-shell{max-width:1240px}
.speisekarte-page h1,.speisekarte-page h2,.speisekarte-page h3{text-wrap:balance}
.speisekarte-page p{text-wrap:pretty}
.speisekarte-page [id]{scroll-margin-top:28px}
.speisekarte-page a{touch-action:manipulation}
.speisekarte-page .speisekarte-text-link{display:inline-flex;align-items:center;gap:9px;max-width:100%;min-height:44px;padding-block:8px;font-size:15px;font-weight:700;line-height:1.5;text-underline-offset:5px}
.speisekarte-page .speisekarte-text-link>span{flex:0 0 auto}
.speisekarte-page .dark-button,.speisekarte-page .light-button{min-height:56px;max-width:100%;padding:16px 25px;font-size:16px;text-decoration:none}
.speisekarte-page .speisekarte-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px 22px;margin-top:25px}
.speisekarte-page .speisekarte-sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

.speisekarte-page .speisekarte-hero{padding:20px 0 58px;background:var(--paper) url('../images/botanical-duo-background-web-q85.webp') center 56%/cover no-repeat}
.speisekarte-page .speisekarte-hero-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-rows:auto auto;align-items:center;gap:0 46px}
.speisekarte-page .speisekarte-intro{grid-column:1;grid-row:1;align-self:end;min-width:0}
.speisekarte-page .speisekarte-breadcrumb{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:24px;color:var(--menu-muted);font-size:12px;line-height:1.5}
.speisekarte-page .speisekarte-breadcrumb a{display:inline-flex;align-items:center;min-height:44px}
.speisekarte-page .speisekarte-intro h1{margin-top:19px;font-size:clamp(43px,4.7vw,68px);line-height:1.06;letter-spacing:-.055em}
.speisekarte-page .speisekarte-hero-copy{grid-column:1;grid-row:2;align-self:start;min-width:0}
.speisekarte-page .speisekarte-hero-copy>p:first-child{margin-top:23px;max-width:48ch;font-size:18px;line-height:1.65}
.speisekarte-page .speisekarte-hero-note{margin-top:14px;font-size:13px;color:var(--menu-muted)}
.speisekarte-page .speisekarte-hero-photos{grid-column:2;grid-row:1/3;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:center;gap:13px;margin-top:50px}
.speisekarte-page .speisekarte-hero-photos figure{min-width:0}
.speisekarte-page .speisekarte-hero-photos figure:nth-child(2){margin-top:55px}
.speisekarte-page .speisekarte-hero-photos img{width:100%;height:auto;aspect-ratio:3/4;object-fit:cover;object-position:center 65%;border-radius:21px}
.speisekarte-page .speisekarte-hero-photos figcaption{margin-top:12px;color:var(--menu-muted);font-size:12px;line-height:1.5;text-align:center}

.speisekarte-page .speisekarte-navigation{padding-block:35px 32px;border-block:1px solid var(--line)}
.speisekarte-page .speisekarte-navigation-heading{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 25px}
.speisekarte-page .speisekarte-navigation h2{font-size:27px;line-height:1.2;letter-spacing:-.035em}
.speisekarte-page .speisekarte-navigation ul{display:flex;flex-wrap:wrap;gap:10px;list-style:none;margin:20px 0 0;padding:0}
.speisekarte-page .speisekarte-navigation li{min-width:0}
.speisekarte-page .speisekarte-navigation li>a{display:flex;align-items:center;min-height:44px;padding:10px 17px;border:1px solid var(--line);border-radius:99px;background:var(--pistachio);font-size:14px;font-weight:700;line-height:1.4;text-decoration:none}
.speisekarte-page .speisekarte-navigation li>a:hover{background:var(--yellow);text-decoration:underline}
.speisekarte-page .speisekarte-category{padding-block:54px 14px}
.speisekarte-page .speisekarte-category-heading{display:flex;justify-content:space-between;align-items:end;gap:22px;padding-bottom:24px}
.speisekarte-page .speisekarte-category-heading h2{font-size:clamp(34px,3.5vw,48px);line-height:1.1;letter-spacing:-.045em;margin-top:12px}
.speisekarte-page .speisekarte-category-heading .eyebrow{color:var(--green)}
.speisekarte-page .speisekarte-up{display:inline-flex;align-items:center;gap:8px;flex:0 0 auto;min-height:44px;font-size:13px;line-height:1.4;text-underline-offset:4px}
.speisekarte-page .speisekarte-items{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 52px;list-style:none;margin:0;padding:0}
.speisekarte-page .speisekarte-item{min-width:0;padding:25px 0 28px;border-top:1px solid var(--line)}
.speisekarte-page .speisekarte-item-heading{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:12px}
.speisekarte-page .speisekarte-item h3{font-size:21px;line-height:1.22;letter-spacing:-.025em}
.speisekarte-page .speisekarte-price{font-size:19px;line-height:1.35;font-weight:700;white-space:nowrap;font-variant-numeric:tabular-nums}
.speisekarte-page .speisekarte-item-subtitle{margin-top:7px;color:var(--green);font-size:12px;line-height:1.5;font-weight:700;letter-spacing:.025em}
.speisekarte-page .speisekarte-description{margin-top:12px;color:var(--menu-muted);font-size:16px;line-height:1.7;white-space:pre-line}
.speisekarte-page .speisekarte-labels{display:flex;flex-wrap:wrap;align-items:center;gap:2px 15px;margin-top:12px}
.speisekarte-page .speisekarte-ingredient{display:inline-flex;align-items:center;gap:6px;min-height:44px;max-width:100%;font-size:13px;line-height:1.45;text-underline-offset:4px;color:var(--menu-muted)}
.speisekarte-page .speisekarte-ingredient>img{width:25px;height:25px;flex:0 0 25px;object-fit:contain}
.speisekarte-page .speisekarte-diet{display:inline-flex;align-items:center;min-height:32px;padding:4px 9px;border-radius:7px;background:var(--pistachio);font-size:13px;line-height:1.45;font-weight:700}
.speisekarte-page .speisekarte-option{margin-top:9px;font-size:16px;line-height:1.6;font-weight:700}
.speisekarte-page .speisekarte-item-note{margin-top:10px;font-size:15px;line-height:1.6;color:var(--menu-muted)}
.speisekarte-page .speisekarte-items-drinks .speisekarte-item{padding-block:21px 23px}
.speisekarte-page .speisekarte-items-drinks h3{font-size:19px}
.speisekarte-page .speisekarte-items-drinks .speisekarte-price{font-size:17px}

.speisekarte-page .speisekarte-notes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 40px;margin-top:19px;padding:27px 30px;border-radius:22px;background:var(--pistachio)}
.speisekarte-page .speisekarte-notes:has(.speisekarte-note:only-child){grid-template-columns:minmax(0,1fr)}
.speisekarte-page .speisekarte-note{min-width:0}
.speisekarte-page .speisekarte-note h3{font-size:21px;line-height:1.25;margin-bottom:12px}
.speisekarte-page .speisekarte-note p{max-width:83ch;color:var(--menu-muted);font-size:15px;line-height:1.7}
.speisekarte-page .speisekarte-legend{display:flex;flex-wrap:wrap;gap:9px 16px;list-style:none;padding:0;margin:0 0 12px}
.speisekarte-page .speisekarte-legend li{display:flex;align-items:center;gap:7px;font-size:14px;line-height:1.5}
.speisekarte-page .speisekarte-legend img{width:28px;height:28px;object-fit:contain}
.speisekarte-page .speisekarte-finish{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,.7fr);align-items:center;gap:70px;margin-top:57px;margin-bottom:50px;padding:42px;border-radius:25px;background:var(--ink);color:var(--paper)}
.speisekarte-page .speisekarte-finish .eyebrow{color:var(--pistachio)}
.speisekarte-page .speisekarte-finish h2{font-size:clamp(36px,4vw,52px);line-height:1.1;letter-spacing:-.045em;margin-top:16px}
.speisekarte-page .speisekarte-finish p:not(.eyebrow){margin-top:20px;max-width:45ch;font-size:17px;line-height:1.65}
.speisekarte-page .speisekarte-finish .light-button{margin-top:0}
.speisekarte-page .speisekarte-finish a:focus-visible{outline-color:var(--yellow)}
.speisekarte-page .speisekarte-visit{min-width:0}
.speisekarte-page .speisekarte-visit address{font-style:normal;font-size:16px;line-height:1.7;margin-bottom:10px}
.speisekarte-page .speisekarte-visit .speisekarte-text-link{display:flex;width:fit-content}
.speisekarte-page .speisekarte-fallback{padding-block:45px}
.speisekarte-page .speisekarte-fallback .dark-button{margin-top:18px}

@media(max-width:1050px){
 .speisekarte-page .speisekarte-hero-layout{gap:0 28px}
 .speisekarte-page .speisekarte-intro h1{font-size:clamp(36px,4.9vw,52px)}
 .speisekarte-page .speisekarte-hero-copy>p:first-child{font-size:17px}
 .speisekarte-page .speisekarte-hero-photos{gap:9px}
 .speisekarte-page .speisekarte-hero-photos img{border-radius:16px}
 .speisekarte-page .speisekarte-items{column-gap:32px}
 .speisekarte-page .speisekarte-finish{gap:36px;padding:32px}
}
@media(max-width:760px){
 .speisekarte-page .speisekarte-hero{padding:4px 0 35px}
 .speisekarte-page .speisekarte-hero-layout{grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto auto;gap:0;text-align:center}
 .speisekarte-page .speisekarte-intro{grid-column:1;grid-row:1}
 .speisekarte-page .speisekarte-breadcrumb{justify-content:center;margin-bottom:12px;font-size:11px}
 .speisekarte-page .speisekarte-intro>.eyebrow{font-size:10px;letter-spacing:.04em}
 .speisekarte-page .speisekarte-intro h1{font-size:clamp(36px,8.8vw,55px);margin-top:15px}
 .speisekarte-page .speisekarte-hero-photos{grid-column:1;grid-row:2;gap:11px;width:min(100%,480px);margin:22px auto 19px}
 .speisekarte-page .speisekarte-hero-photos figure:nth-child(2){margin-top:23px}
 .speisekarte-page .speisekarte-hero-photos figcaption{margin-top:8px;font-size:11px}
 .speisekarte-page .speisekarte-hero-copy{grid-column:1;grid-row:3}
 .speisekarte-page .speisekarte-hero-copy>p:first-child{font-size:16px;margin-top:0}
 .speisekarte-page .speisekarte-actions{justify-content:center;gap:6px 18px;margin-top:20px}
 .speisekarte-page .speisekarte-hero-note{font-size:12px;margin-top:10px}
 .speisekarte-page .speisekarte-navigation{padding-block:25px}
 .speisekarte-page .speisekarte-navigation-heading{gap:4px}
 .speisekarte-page .speisekarte-navigation h2{font-size:25px}
 .speisekarte-page .speisekarte-navigation ul{gap:8px;margin-top:16px}
 .speisekarte-page .speisekarte-navigation li>a{padding:10px 14px;font-size:13px}
 .speisekarte-page .speisekarte-navigation-heading .speisekarte-text-link{font-size:13px}
 .speisekarte-page .speisekarte-category{padding-block:38px 7px}
 .speisekarte-page .speisekarte-category-heading{align-items:start;gap:12px;padding-bottom:19px}
 .speisekarte-page .speisekarte-category-heading h2{font-size:32px;margin-top:10px}
 .speisekarte-page .speisekarte-category-heading .eyebrow{font-size:10px;letter-spacing:.035em}
 .speisekarte-page .speisekarte-up{font-size:11px;gap:5px;white-space:nowrap}
 .speisekarte-page .speisekarte-items{grid-template-columns:minmax(0,1fr)}
 .speisekarte-page .speisekarte-item{padding-block:23px 25px}
 .speisekarte-page .speisekarte-item h3{font-size:20px;line-height:1.25}
 .speisekarte-page .speisekarte-price{font-size:18px}
 .speisekarte-page .speisekarte-description{font-size:16px;line-height:1.7}
 .speisekarte-page .speisekarte-notes{grid-template-columns:minmax(0,1fr);gap:22px;margin-top:16px;padding:24px 22px;border-radius:19px}
 .speisekarte-page .speisekarte-note h3{font-size:20px}
 .speisekarte-page .speisekarte-note p{font-size:14px}
 .speisekarte-page .speisekarte-legend{gap:9px 14px}
 .speisekarte-page .speisekarte-finish{grid-template-columns:minmax(0,1fr);gap:30px;padding:28px;margin-top:40px;margin-bottom:30px;border-radius:21px}
 .speisekarte-page .speisekarte-finish h2{font-size:38px}
 .speisekarte-page .speisekarte-finish p:not(.eyebrow){font-size:16px}
 .speisekarte-page .speisekarte-finish .speisekarte-actions{justify-content:flex-start}
 .speisekarte-page .speisekarte-visit{padding-top:24px;border-top:1px solid #6a8165}
}
@media(max-width:380px){
 .speisekarte-page .speisekarte-intro h1{font-size:33px}
 .speisekarte-page .dark-button,.speisekarte-page .light-button{font-size:15px;padding-inline:19px}
 .speisekarte-page .speisekarte-hero-photos{gap:8px}
 .speisekarte-page .speisekarte-hero-photos img{border-radius:13px}
 .speisekarte-page .speisekarte-hero-photos figcaption{font-size:10px}
 .speisekarte-page .speisekarte-category-heading{flex-wrap:wrap;gap:1px}
 .speisekarte-page .speisekarte-category-heading h2{font-size:30px}
 .speisekarte-page .speisekarte-category-heading>div{width:100%}
 .speisekarte-page .speisekarte-item-heading{gap:9px}
 .speisekarte-page .speisekarte-item h3{font-size:19px}
 .speisekarte-page .speisekarte-items-drinks h3{font-size:18px}
 .speisekarte-page .speisekarte-items-drinks .speisekarte-price{font-size:16px}
 .speisekarte-page .speisekarte-labels{gap:1px 11px}
 .speisekarte-page .speisekarte-notes{padding:22px 18px}
 .speisekarte-page .speisekarte-finish{padding:25px 21px}
 .speisekarte-page .speisekarte-finish .light-button{width:100%}
}
@media(prefers-reduced-motion:reduce){.speisekarte-page *{scroll-behavior:auto;animation:none!important;transition:none!important}}
@media print{.speisekarte-page .speisekarte-hero-photos,.speisekarte-page .speisekarte-navigation,.speisekarte-page .speisekarte-up,.speisekarte-page .speisekarte-finish,.speisekarte-page .speisekarte-actions,.speisekarte-page .speisekarte-breadcrumb{display:none}.speisekarte-page .section-shell{width:100%;max-width:none}.speisekarte-page .speisekarte-hero-layout{display:block}.speisekarte-page .speisekarte-hero{padding-block:15px;background:none}.speisekarte-page .speisekarte-intro h1{font-size:30px}.speisekarte-page .speisekarte-category{padding-top:28px}.speisekarte-page .speisekarte-item{break-inside:avoid}.speisekarte-page .speisekarte-notes{background:none;border:1px solid var(--line);break-inside:avoid}}
