/* v5.5.8: A single menu typography contract for normal and GREEN, DE and EN.
   GREEN-specific rules below change colour and layout only. */
:root{--menu-name-size:22px;--menu-name-weight:600;--menu-text-size:14px;--menu-line:1.65;--menu-tab-tracking:.08em;--menu-feature-price-tracking:.12em}
.menu-tabs .menu-tab{font-family:var(--mono);font-size:var(--menu-text-size);font-weight:400;line-height:normal;letter-spacing:var(--menu-tab-tracking);text-transform:uppercase}
.menu-grid .dish h4{font-family:var(--serif);font-size:var(--menu-name-size);font-weight:var(--menu-name-weight);line-height:var(--menu-line);letter-spacing:normal;text-transform:none;margin-bottom:4px}
.menu-grid .dish p{font-family:var(--sans);font-size:var(--menu-text-size);font-weight:400;line-height:var(--menu-line);letter-spacing:normal;text-transform:none;max-width:540px;margin-top:0;opacity:1}
.menu-grid .dish .price{font-family:var(--mono);font-size:var(--menu-text-size);font-weight:400;line-height:var(--menu-line);letter-spacing:normal;text-transform:none}
.dish-options,.zg-options{display:flex;flex-wrap:wrap;gap:6px 18px;margin-top:12px;font-family:var(--sans);font-size:var(--menu-text-size);font-weight:400;line-height:var(--menu-line);letter-spacing:normal;text-transform:none}
.dish-options strong,.zg-options strong{font-family:var(--sans);font-size:var(--menu-text-size);font-weight:300;line-height:var(--menu-line);letter-spacing:normal;text-transform:none;font-synthesis:none;white-space:nowrap}
.dish-options{color:#5E584D}.dish-options strong{color:#D21117}
.zg-options small,.zg-tag{font-family:var(--mono);font-size:12px;font-weight:400;line-height:1.2;letter-spacing:normal;text-transform:none}
.zg-tag{display:inline-block;border:1px solid currentColor;padding:1px 4px;vertical-align:middle}
.menu-note,.zg-footnote{font-family:var(--sans);font-size:var(--menu-text-size);font-weight:400;line-height:var(--menu-line);letter-spacing:normal;text-transform:none}
.zg-footnote{margin-top:18px;max-width:850px}.zg-footnote a{text-decoration:underline}
.menu-feature-body h4{font-family:var(--serif);font-size:28px;font-weight:600;line-height:var(--menu-line);letter-spacing:normal;text-transform:none}
.menu-feature-body p{font-family:var(--sans);font-size:var(--menu-text-size);font-weight:400;line-height:var(--menu-line);letter-spacing:normal;text-transform:none}
.menu-feature-body .price{font-family:var(--mono);font-size:var(--menu-text-size);font-weight:400;line-height:var(--menu-line);letter-spacing:var(--menu-feature-price-tracking);text-transform:uppercase}
/* GREEN palette and compact layout; no separate dish typography. */
.zg-full{background:#0F4335;color:#F2EEE3}
.zg-menu{padding-top:70px;padding-bottom:80px}
.zg-menu-head.menu-head{max-width:none;margin-bottom:40px}
.zg-menu-head.menu-head p{margin:0;font-size:17px;line-height:1.65}
.zg-full .h-l em,.zg-full .label,.zg-full .menu-tab,.zg-full .dish p,.zg-full .dish .price,.zg-full .zg-options strong,.zg-full .zg-options small,.zg-full .zg-tag,.zg-full .zg-menu-head .lead{color:#F2EEE3}
.zg-full .label::before{background:#C7A85F}
.zg-full .menu-tabs,.zg-full .dish{border-color:rgba(242,238,227,.25)}
.zg-full .menu-tab.active,.zg-full .menu-tab:hover{color:#F2EEE3;border-bottom-color:#F2EEE3}
.zg-menu .dish{grid-template-columns:56px minmax(0,1fr) auto;gap:18px;padding:18px 0}
.zg-menu .dish.no-thumb{grid-template-columns:minmax(0,1fr) auto}
.zg-menu .dish-thumb{width:56px;height:56px}
.zg-menu .dish:first-child{padding-top:0}
.zg-menu .dish:hover h4{color:inherit}
.zg-full .menu-feature{background:#F2EEE3;color:#171310}
.zg-full .menu-feature-body p{color:#5E584D}
.zg-full .menu-feature .price{color:#D21117}
.zg-full .btn{color:#F2EEE3;border-color:#F2EEE3}
.zg-full .btn.primary{background:#D21117;border-color:#F2EEE3}
.green-panel[hidden],.menu-feature img[hidden]{display:none}
.zg-full .dish:focus-visible{outline:2px solid #F2EEE3;outline-offset:4px}
@media(max-width:800px){.zg-menu .dish,.zg-menu .dish.no-thumb{gap:12px}.zg-menu .dish-thumb{width:48px;height:48px}}
@media(max-width:760px){.zg-menu{padding-top:45px;padding-bottom:55px}}
.preview-bar{position:relative;width:max-content;max-width:calc(100% - 32px);margin:20px 16px 85px;padding:10px 14px;background:#F2EEE3;color:#171310;border:1px solid #0F4335;font:12px var(--mono);box-shadow:0 4px 20px #0003}.preview-bar a{margin-left:12px;text-decoration:underline}
.spa .price-row{gap:12px}.spa .notice{margin-top:20px}.spa-img img{object-position:center}
/* Textvergrößerung: flexible Inhalte statt abgeschnittener Textzeilen. */
.dish>*{min-width:0}.dish,.zg-menu .dish,.zg-menu .dish:has(img){grid-template-columns:56px minmax(0,1fr) auto}.dish.no-thumb,.zg-menu .dish.no-thumb{grid-template-columns:minmax(0,1fr) auto}.dish p,.dish h4,.price-row>span,.pillar-body,.site-footer a,.feiern-inquiry a{overflow-wrap:anywhere}.pillar,.pillar-body,.gallery-grid>*{min-width:0}.btn{max-width:100%;white-space:normal;overflow-wrap:anywhere;text-align:center}.hero .label,.page-hero .label{white-space:normal}.g-item figcaption{white-space:normal;overflow-wrap:anywhere}.site-header>.nav{min-width:0}.mbar>a{min-width:0;white-space:normal;overflow-wrap:anywhere;flex:1}.price-row{grid-template-columns:minmax(0,1fr) auto auto}
@media(max-width:800px){.dish,.zg-menu .dish,.zg-menu .dish:has(img){grid-template-columns:48px minmax(0,1fr) auto}}
@media(max-width:600px){.price-row{grid-template-columns:minmax(0,1fr) auto}.dish .price{white-space:normal}.mbar .btn{padding-left:8px;padding-right:8px}}

/* Lange Kontaktangaben und Beschriftungen müssen auch bei 200 % umbrechen. */
.loc-row>*{min-width:0;overflow-wrap:anywhere}
.res-facts,.res-fact,.reserve-grid>*{min-width:0}
.res-fact,.site-footer,.loc-info a{overflow-wrap:anywhere}
.ot-head{flex-wrap:wrap;gap:8px;overflow-wrap:anywhere}
.ot-head>*{min-width:0;max-width:100%}

.loc-info h3,.reserve .lead a,.why-item{overflow-wrap:anywhere}
.why-item>*{min-width:0}

@media(min-width:981px){.site-header>.nav{flex-wrap:wrap}}
