/* Pfenninger Alm v3 – Mobile first, ohne Framework. Marke: Holz, Creme, Braun, Grün, PDF-Blau #1D6AAE – kein Rot. */
@font-face{font-family:"Oswald";src:url("../fonts/oswald-latin.woff2") format("woff2");font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:"Kaushan Script";src:url("../fonts/kaushan-script-latin.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Figtree";src:url("../fonts/figtree-latin.woff2") format("woff2");font-weight:300 900;font-style:normal;font-display:swap}

:root{
	--wood:#3B2416;--wood-deep:#22130a;--brown:#6B3A2A;--cream:#EADFC8;--paper:#F4ECDA;--green:#2F4A2B;--gold:#f0b35a;
	--blue:#1D6AAE;--blue-dark:#14507F;
	--bg:#F4ECDA;--bg2:#EADFC8;--surface:#FBF6EA;--text:#2a1d14;--muted:#5d4a3c;--head:#5a2f20;--link:#14507F;--line:rgba(59,36,22,.18);
	--btn:#1D6AAE;--btn-h:#14507F;--ok:#2F4A2B;
	--r:18px;--r-sm:10px;--shadow:0 10px 30px rgba(34,19,10,.18);--shadow-lg:0 24px 60px rgba(34,19,10,.28);
	--f-head:"Oswald","Arial Narrow","Franklin Gothic Medium",Impact,sans-serif;
	--f-script:"Kaushan Script","Segoe Script","Brush Script MT",cursive;
	--f-body:"Figtree",system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
	--fs-0:clamp(1rem,.96rem + .2vw,1.0625rem);--fs-1:clamp(1.15rem,1.05rem + .5vw,1.35rem);--fs-2:clamp(1.5rem,1.2rem + 1.4vw,2.2rem);--fs-3:clamp(2rem,1.4rem + 3vw,3.4rem);--fs-4:clamp(2.6rem,1.6rem + 5vw,5.4rem);
	--space:clamp(3.5rem,2.5rem + 5vw,7rem);--header-h:68px;--tools-h:0px;--adm-h:0px;
	--brush:url("../img/brush.svg");
	--gingham:linear-gradient(90deg,rgba(29,106,174,.6) 50%,transparent 50%),linear-gradient(rgba(29,106,174,.6) 50%,transparent 50%);
	color-scheme:light;
}
:root[data-theme="dark"]{
	--bg:#1b1009;--bg2:#25170d;--surface:#33211a;--text:#EADFC8;--muted:#cbbb9e;--head:#f0b35a;--link:#93c6f0;--line:rgba(234,223,200,.18);
	--shadow:0 10px 30px rgba(0,0,0,.45);color-scheme:dark;
}
*,*::before,*::after{box-sizing:border-box}
[hidden]{display:none!important}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:calc(var(--adm-h) + var(--header-h) + var(--tools-h) + 12px)}
body{margin:0;font-family:var(--f-body);font-size:var(--fs-0);line-height:1.65;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
body.nav-open{overflow:hidden}
img,picture{display:block;max-width:100%;height:auto}
a{color:var(--link);text-underline-offset:.18em;text-decoration-thickness:1px}
a:hover{text-decoration-thickness:2px}
:focus-visible{outline:3px solid #ffbf2e;outline-offset:3px;border-radius:4px}
.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip-link{position:absolute;left:-999px;top:0;background:#fff;color:#000;padding:.75rem 1rem;z-index:1000}
.skip-link:focus{left:.5rem;top:.5rem}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.wrap{width:min(100% - 2.5rem,1180px);margin-inline:auto}
.section{padding-block:var(--space)}
.icon{width:1.2em;height:1.2em;flex:none;vertical-align:-.2em}
h1,h2,h3,h4{font-family:var(--f-head);font-weight:700;text-transform:uppercase;line-height:1.08;letter-spacing:.03em;margin:1.4em 0 .5em;color:var(--head);text-wrap:balance}
h1{font-size:var(--fs-4)}h2{font-size:var(--fs-3)}h3{font-size:var(--fs-1)}h4{font-size:1.1rem}
p{margin:0 0 1em}
.script,.kicker{font-family:var(--f-script);font-weight:400;text-transform:none;letter-spacing:0}
.kicker{display:block;color:var(--link);font-size:var(--fs-1);margin:0 0 .2em}
.lead{font-size:var(--fs-1);color:var(--muted)}
.prose{max-width:none}.prose>*{max-width:76ch}.prose>.pa-contact,.prose>.anfahrt,.prose>.wp-block-columns,.prose>.wp-block-group,.prose>.wp-block-image,.prose>figure,.prose>.pa-fig,.prose>.timeline,.prose>.wp-block-gallery{max-width:none}.prose>:first-child{margin-top:0}
.prose h2{font-size:var(--fs-2)}
.sec-head{margin-bottom:clamp(1.5rem,3vw,2.5rem)}.sec-head h2{margin:0}
.sec-title{font-size:var(--fs-2);margin:2.2em 0 .8em}

/* Dunkle Holz-Bereiche */
.on-dark{--text:#EADFC8;--muted:#d3c4a8;--head:#f0b35a;--link:#9ccbf1;--surface:rgba(255,255,255,.07);--line:rgba(234,223,200,.22);color:var(--text);
	background:linear-gradient(rgba(20,9,3,.62),rgba(20,9,3,.62)),url("../img/wood.jpg") center/520px auto repeat,var(--wood)}
.on-dark .kicker{color:var(--gold)}

/* Silhouette */
.mtn{height:clamp(30px,4.4vw,78px);color:var(--bg);line-height:0;overflow:hidden;--mtn-a:.42}
:root[data-theme="dark"] .mtn{--mtn-a:.13;height:clamp(14px,2.2vw,36px)}
.mtn-b{fill-opacity:var(--mtn-a,.4)}
.mtn svg{display:block;width:100%;height:100%;fill:currentColor}

/* Buttons / Chips / Badges */
.pa-btn,.wp-block-button__link{display:inline-flex;align-items:center;gap:.5em;font-family:var(--f-head);font-weight:700;text-transform:uppercase;font-size:1rem;letter-spacing:.07em;text-decoration:none;
	background:var(--btn);color:#fff;border:2px solid transparent;border-radius:999px;padding:.7em 1.5em;box-shadow:0 6px 16px rgba(29,106,174,.35);transition:transform .15s ease,background .15s ease,box-shadow .15s ease;line-height:1.15;cursor:pointer}
.pa-btn:hover,.wp-block-button__link:hover{background:var(--btn-h);color:#fff;transform:translateY(-2px);box-shadow:0 10px 22px rgba(29,106,174,.4)}
.pa-btn--ghost,.is-style-outline .wp-block-button__link{background:transparent;color:var(--link);border-color:currentColor;box-shadow:none}
.pa-btn--ghost:hover,.is-style-outline .wp-block-button__link:hover{background:var(--btn);color:#fff;border-color:var(--btn)}
.pa-btn--light{background:var(--cream);color:#2a1d14;box-shadow:none}
.pa-btn--light:hover{background:#fff;color:#2a1d14}
.pa-btn--small{padding:.45em 1em;font-size:.9rem}.pa-btn--lg{font-size:1.1rem;padding:.85em 1.8em}
.pa-btn small{font-family:var(--f-body);font-weight:600;letter-spacing:0;opacity:.9;text-transform:none}
.pa-btn:disabled,.icon-btn:disabled{opacity:.4;cursor:default;transform:none}
.pa-btns{display:flex;flex-wrap:wrap;gap:.7rem;margin:1rem 0 0}
.icon-btn{display:inline-grid;place-items:center;width:44px;height:44px;border-radius:50%;border:1px solid var(--line);background:transparent;color:inherit;cursor:pointer;padding:0}
.icon-btn:hover{background:rgba(255,255,255,.12)}
.chip,.chip-link{display:inline-flex;align-items:center;gap:.4em;font:600 .92rem var(--f-body);padding:.45em 1em;border-radius:999px;border:1px solid var(--line);background:var(--surface);color:var(--text);cursor:pointer;text-decoration:none}
.chip[aria-pressed="true"]{background:var(--btn);border-color:var(--btn);color:#fff}
.chip-link{color:var(--link)}.chip-link:hover{background:var(--btn);color:#fff}
.badge{display:inline-block;font:700 .82rem var(--f-head);letter-spacing:.1em;text-transform:uppercase;padding:.28em .8em;border-radius:6px;background:var(--gold);color:#2a1d14}
.badge--nur-heute,.badge--nur-diese-woche{background:var(--cream);box-shadow:inset 0 0 0 2px var(--gold)}
.badge--wochenkarte,.badge--tipp{background:var(--green);color:#fff}
.badge--closed{background:var(--brown);color:#fff}
.notice{padding:1rem 1.25rem;border-radius:var(--r-sm);background:var(--surface);border:1px solid var(--line);margin:0 0 1.5rem}
.notice h3{margin:0 0 .4em}.notice--ok{border-left:6px solid var(--green)}.notice--err{border-left:6px solid var(--brown)}.notice ul{margin:.4em 0 0;padding-left:1.2em}

/* Reveal */
.js-reveal .reveal{opacity:0;transform:translateY(26px);transition:opacity .8s cubic-bezier(.2,.7,.2,1) var(--d,0ms),transform .8s cubic-bezier(.2,.7,.2,1) var(--d,0ms)}
.js-reveal .reveal.is-in{opacity:1;transform:none}

/* Hinweis-Banner */
.notice-bar{background:var(--gold);color:#2a1d14;text-align:center;padding:.55rem 0;font-weight:600}
.notice-bar .wrap{display:flex;gap:.6rem;justify-content:center;align-items:center}

/* Header */
.site-header{position:sticky;top:var(--adm-h);z-index:50;background:rgba(34,19,10,.82);-webkit-backdrop-filter:blur(14px) saturate(1.2);backdrop-filter:blur(14px) saturate(1.2);color:var(--cream);border-bottom:1px solid rgba(234,223,200,.14);transition:background .3s}
.site-header.is-scrolled{background:rgba(34,19,10,.94)}
.site-header__inner{display:flex;align-items:center;gap:1rem;width:min(100% - 1.5rem,1280px);margin-inline:auto;padding-block:.55rem;transition:padding .3s}
.is-scrolled .site-header__inner{padding-block:.25rem}
.brand{display:flex;align-items:center;gap:.7rem;color:var(--cream);text-decoration:none;margin-right:auto}
.brand__logo{height:54px;width:auto;transition:height .3s}
.is-scrolled .brand__logo{height:40px}
.brand__text{display:none;line-height:1}
.brand__name{display:block;font-family:var(--f-head);font-weight:700;text-transform:uppercase;font-size:1.25rem;letter-spacing:.05em}
.brand__claim{display:block;font-family:var(--f-script);color:var(--gold);font-size:1rem;margin-top:.1em}
.header-tools{display:flex;align-items:center;gap:.5rem}
.header-tools .icon-btn{color:var(--cream);border-color:rgba(234,223,200,.3)}
.lang-switch{font:700 .85rem var(--f-head);letter-spacing:.08em;color:var(--cream);text-decoration:none;border:1px solid rgba(234,223,200,.3);border-radius:999px;padding:.4em .8em}
.lang-switch:hover{background:rgba(255,255,255,.12)}
.theme-toggle .i-sun{display:none}:root[data-theme="dark"] .theme-toggle .i-sun{display:inline-block}:root[data-theme="dark"] .theme-toggle .i-moon{display:none}
.head-cta span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.head-cta{padding:.55em .8em}
.nav-toggle__bars,.nav-toggle__bars::before,.nav-toggle__bars::after{display:block;width:20px;height:2px;background:currentColor;border-radius:2px;transition:transform .2s,opacity .2s}
.nav-toggle__bars{position:relative}.nav-toggle__bars::before,.nav-toggle__bars::after{content:"";position:absolute;left:0}
.nav-toggle__bars::before{top:-6px}.nav-toggle__bars::after{top:6px}
.nav-toggle[aria-expanded="true"] .nav-toggle__bars{background:transparent}
.nav-toggle[aria-expanded="true"] .nav-toggle__bars::before{transform:translateY(6px) rotate(45deg)}
.nav-toggle[aria-expanded="true"] .nav-toggle__bars::after{transform:translateY(-6px) rotate(-45deg)}
.site-nav{position:fixed;inset:calc(var(--adm-h) + var(--header-h)) 0 0 0;background:var(--wood-deep);padding:1.2rem 1.5rem 6rem;transform:translateY(-8px);opacity:0;visibility:hidden;transition:opacity .25s,transform .25s,visibility .25s;overflow:auto;z-index:40}
.site-nav.is-open{opacity:1;transform:none;visibility:visible}
.site-nav .menu{list-style:none;margin:0;padding:0;display:grid;gap:.2rem}
.site-nav .menu a{display:block;padding:.7rem .2rem;font-family:var(--f-head);font-weight:700;text-transform:uppercase;font-size:1.5rem;letter-spacing:.05em;color:var(--cream);text-decoration:none;border-bottom:1px solid rgba(234,223,200,.14)}
.site-nav .menu .current-menu-item>a,.site-nav .menu a:hover{color:var(--gold)}
.nav-extra{margin-top:1.4rem}
.social-icons{display:flex;gap:.6rem;list-style:none;margin:0;padding:0}
.social-icons a{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:rgba(255,255,255,.1);color:var(--cream);border:1px solid rgba(234,223,200,.25)}
.social-icons a:hover{background:var(--btn);color:#fff}
.social-icons--lg a{width:48px;height:48px}
@media (min-width:600px){.brand__text{display:block}.head-cta span{position:static;width:auto;height:auto;overflow:visible;clip:auto}.head-cta{padding:.45em 1em}}
@media (min-width:1060px){
	.nav-toggle{display:none}
	.site-nav{position:static;inset:auto;background:none;padding:0;opacity:1;visibility:visible;transform:none;overflow:visible;order:1;flex:1}
	.site-nav .menu{display:flex;gap:.2rem;justify-content:center}
	.site-nav .menu a{font-size:1rem;border:0;padding:.5rem .8rem;border-radius:8px}
	.site-nav .menu a:hover{background:rgba(255,255,255,.08)}
	.nav-extra{display:none}
	.brand{margin-right:0}.header-tools{order:2}
}

/* Hero */
.hero{position:relative;min-height:min(92svh,860px);display:flex;align-items:flex-end;overflow:hidden;padding-block:clamp(5rem,12vw,9rem) clamp(5rem,9vw,8rem)}
.hero__bg,.hero__shade{position:absolute;inset:0}
.hero__bg picture,.hero__bg img{width:100%;height:100%;object-fit:cover;object-position:50% 40%}
.hero__bg img{animation:kb 26s ease-in-out infinite alternate}
@keyframes kb{from{transform:scale(1)}to{transform:scale(1.07)}}
.hero__shade{background:linear-gradient(180deg,rgba(20,9,3,.55) 0%,rgba(20,9,3,.15) 35%,rgba(20,9,3,.78) 100%),linear-gradient(90deg,rgba(20,9,3,.55),transparent 65%)}
.hero__in{position:relative;z-index:2}
.hero__badge{width:clamp(120px,16vw,190px);height:auto;margin-bottom:1rem;filter:drop-shadow(0 8px 18px rgba(0,0,0,.5));transform:rotate(-4deg)}
.hero h1{margin:0;color:#fff;font-size:var(--fs-4);text-shadow:0 4px 24px rgba(0,0,0,.45)}
.hero__line1{display:block}
.hero__claim{display:block;color:var(--gold);font-size:clamp(1.6rem,1.1rem + 2.6vw,3rem);margin-top:.15em;text-transform:none;letter-spacing:0;transform:rotate(-1.5deg);transform-origin:left}
.hero__text{max-width:44ch;font-size:var(--fs-1);margin:1rem 0 1.2rem;text-shadow:0 2px 12px rgba(0,0,0,.6);color:#fff}
.hero__cta{display:flex;flex-wrap:wrap;gap:.8rem;margin:1.4rem 0 0}
.hero__take{margin:1rem 0 0;font-weight:600}
.hero .mtn{position:absolute;left:0;right:0;bottom:-1px;z-index:3}

/* Status-Pille */
.status{display:inline-flex;align-items:center;gap:.6rem;margin:0 0 .6rem;padding:.45em 1em .45em .8em;border-radius:999px;background:rgba(0,0,0,.35);border:1px solid rgba(234,223,200,.3);font-weight:700;color:#fff;font-size:.98rem}
.status__dot{width:.8em;height:.8em;border-radius:50%;background:#bfae93;flex:none}
.status.is-open .status__dot{background:#59d37a;box-shadow:0 0 0 0 rgba(89,211,122,.7);animation:pulse 2s infinite}
.status.is-soon .status__dot,.status.is-closed .status__dot{background:#D93025;box-shadow:0 0 0 0 rgba(217,48,37,.7),0 0 8px 1px rgba(217,48,37,.55);animation:pulse-red 2.4s infinite}
:root[data-theme="dark"] .status.is-soon .status__dot,:root[data-theme="dark"] .status.is-closed .status__dot{outline:1.5px solid rgba(255,255,255,.35);outline-offset:0}
@keyframes pulse{70%{box-shadow:0 0 0 10px rgba(89,211,122,0)}100%{box-shadow:0 0 0 0 rgba(89,211,122,0)}}
@keyframes pulse-red{0%{box-shadow:0 0 0 0 rgba(217,48,37,.7),0 0 8px 1px rgba(217,48,37,.55)}70%{box-shadow:0 0 0 10px rgba(217,48,37,0),0 0 12px 2px rgba(217,48,37,.35)}100%{box-shadow:0 0 0 0 rgba(217,48,37,0),0 0 8px 1px rgba(217,48,37,.55)}}
.status--big{font-size:1.15rem}
.pa-card .status,.tile .status{background:var(--surface);color:var(--text);border-color:var(--line)}
.tile--hours .status{background:rgba(0,0,0,.28);color:#fff;border-color:rgba(234,223,200,.3)}

/* Faktenleiste */
.factbar{background:var(--bg);padding-block:1.4rem 0}
.factbar__list{list-style:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem 1.5rem;margin:0 auto;padding:0}
.factbar__list li{display:flex;flex-direction:column;border-left:3px solid var(--gold);padding-left:.9rem}
.factbar__list strong{font:700 clamp(1.4rem,1rem + 2vw,2rem)/1 var(--f-head);text-transform:uppercase;color:var(--head);letter-spacing:.03em}
.factbar__list span{color:var(--muted);font-size:.95rem}
@media (min-width:800px){.factbar__list{grid-template-columns:repeat(4,minmax(0,1fr))}}

/* Specials */
.specials{position:relative;overflow:hidden}
.specials::before{content:"";position:absolute;inset:0;background:radial-gradient(900px 400px at 85% 0%,rgba(240,179,90,.18),transparent 70%);pointer-events:none}
.specials .wrap{position:relative}
.carousel{position:relative}
.carousel__track{display:flex;gap:1rem;overflow-x:auto;scroll-snap-type:x mandatory;padding:.5rem .25rem 1.4rem;margin-inline:-.25rem;scrollbar-width:thin;scrollbar-color:var(--gold) transparent}
.carousel__item{flex:0 0 min(84%,340px);scroll-snap-align:start;display:flex}
.carousel__nav{display:flex;gap:.5rem;justify-content:flex-end;margin-top:.2rem}
.carousel__nav .icon-btn{color:var(--cream);border-color:rgba(234,223,200,.4)}
.special{position:relative;display:flex;flex-direction:column;width:100%;background:var(--surface);border:2px solid var(--gold);border-radius:var(--r);overflow:hidden;box-shadow:0 0 0 4px rgba(240,179,90,.12),var(--shadow);transition:transform .25s}
.special:hover{transform:translateY(-4px) rotate(-.4deg)}
.special__media{display:block;aspect-ratio:1/1;background:#2F4A2B;overflow:hidden}
.special__media img,.special__media picture{width:100%;height:100%;object-fit:cover}
.special__ph{display:grid;place-items:center;height:100%;color:var(--gold);font-size:3rem}
.special .badge{position:absolute;top:.8rem;left:.8rem;transform:rotate(-3deg);box-shadow:0 4px 12px rgba(0,0,0,.35);font-size:.95rem}
.special__body{padding:1rem 1.2rem 1.3rem;display:flex;flex-direction:column;gap:.3rem;flex:1}
.special__body h3{margin:0;font-size:1.45rem;color:var(--gold)}
.special__body h3 a{color:inherit;text-decoration:none}.special__body h3 a:hover{text-decoration:underline}
.special__body p{margin:0;color:var(--text);font-size:.98rem}
.special__meta{display:flex;gap:.8rem;align-items:baseline;flex-wrap:wrap}
.special__price{font:700 1.5rem var(--f-head);color:var(--gold)}
.special__price--lg{font-size:2.2rem}
.special__until{font-size:.9rem;color:var(--muted)}
.special__more{margin-top:auto;padding-top:.6rem;font-weight:700;color:var(--link);text-decoration:none;display:inline-flex;gap:.4em;align-items:center}
.special__more:hover{text-decoration:underline}
.board{background:#243127;background-image:linear-gradient(135deg,rgba(255,255,255,.05),transparent 40%);border:10px solid #7a5232;border-radius:12px;box-shadow:inset 0 0 40px rgba(0,0,0,.45),var(--shadow);padding:1.2rem 1.4rem;color:#f3efe3;width:100%}
.board__title{margin:0 0 .6em;color:#f3efe3;font-size:1.5rem}
.board__title .script{display:block;color:var(--gold);font-size:1.4rem;margin-top:.1em}
.board__list{list-style:none;margin:0;padding:0;display:grid;gap:.8rem}
.board__list li{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.1rem .8rem;border-bottom:1px dashed rgba(243,239,227,.35);padding-bottom:.6rem}
.board__name{font-weight:700;font-size:1.05rem}.board__name a{color:#f3efe3;text-decoration:none}
.board__price{font:700 1.2rem var(--f-head);color:var(--gold)}
.board__desc{grid-column:1/-1;font-size:.92rem;color:#d9d3c0}
.board__empty{margin:0;font-family:var(--f-script);font-size:1.3rem;color:#f3efe3}

/* Bento */
.bento{display:grid;gap:1rem;grid-template-columns:minmax(0,1fr)}
.tile{position:relative;border-radius:var(--r);padding:1.4rem;background:var(--surface);border:1px solid var(--line);overflow:hidden;display:flex;flex-direction:column;gap:.5rem;min-height:220px;text-decoration:none;color:var(--text);box-shadow:var(--shadow)}
.tile h3{margin:0 0 .2em;font-size:1.3rem;display:flex;gap:.5rem;align-items:center}
.tile--hours{background:var(--wood);color:var(--cream);--head:var(--gold);--muted:#d3c4a8}
.tile--hours h3{color:var(--gold)}
.tile--res{background:var(--btn);color:#fff;--head:#fff}
.tile--res h3{color:#fff}.tile__big{font:700 clamp(1.7rem,1.2rem + 2.2vw,2.5rem)/1.1 var(--f-head);color:#fff;text-decoration:none;letter-spacing:.02em}
.tile--res p{color:#fff}
.tile--photo{padding:0;min-height:260px;justify-content:flex-end;color:#fff}
.tile--photo picture,.tile--photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .6s}
.tile--photo:hover img{transform:scale(1.06)}
.tile--photo::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 35%,rgba(20,9,3,.82))}
.tile__cap{position:relative;z-index:2;padding:1.2rem 1.4rem;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end}
.tile__cap .script{grid-column:1/-1;color:var(--gold);font-size:1.3rem}
.tile__cap strong{font:700 1.8rem var(--f-head);text-transform:uppercase;letter-spacing:.04em}
.tile--social{background:var(--bg2)}
.tile__posters{display:flex;gap:.5rem;margin:.2rem 0}
.tile__posters picture{flex:1;border-radius:8px;overflow:hidden;border:2px solid var(--cream);box-shadow:var(--shadow)}
.tile__posters picture:nth-child(1){transform:rotate(-3deg)}.tile__posters picture:nth-child(3){transform:rotate(3deg)}
.tile__small{font-size:.88rem;color:var(--muted);margin:0}
.pa-hours{margin:.5rem 0 0;display:grid;gap:.5rem}
.pa-hours div{display:flex;justify-content:space-between;gap:1rem;border-bottom:1px dashed var(--line);padding-bottom:.4rem}
.pa-hours__note{display:block;font:400 .8rem var(--f-body);letter-spacing:0;text-transform:none;opacity:.85}
.pa-hours__rest{margin:.6rem 0 0;font-size:.95rem;opacity:.9}
.pa-hours dt{font-weight:600}.pa-hours dd{margin:0;font-family:var(--f-head);font-weight:700;letter-spacing:.04em;text-transform:uppercase}
.tile--hours .pa-hours div{border-color:rgba(234,223,200,.3)}
@media (min-width:700px){.bento{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:1000px){
	.bento{grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:minmax(220px,auto)}
	.tile--hours{grid-column:span 2}
	.tile--res{grid-column:span 2}
	.tile--menu{grid-column:span 2;grid-row:span 2;min-height:460px}
	.tile--party{grid-column:span 2}
	.tile--social{grid-column:span 2}
	.tile--gift{grid-column:span 4}
}

/* Gerichte */
.dishes{background:var(--bg2)}
.dishes__grid{display:grid;gap:2.5rem;align-items:center}
.dishes__photos{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:.8rem}
.dishes__photos picture{border-radius:var(--r);overflow:hidden;box-shadow:var(--shadow-lg);aspect-ratio:4/5}
.dishes__photos img{width:100%;height:100%;object-fit:cover}
.dishes__photos picture:nth-child(1){grid-row:span 2;aspect-ratio:auto}
.dishes__photos picture:nth-child(2){transform:rotate(2deg)}.dishes__photos picture:nth-child(3){transform:rotate(-2deg)}
.dish-list{list-style:none;margin:1.2rem 0;padding:0}
.dish-list li{display:flex;justify-content:space-between;gap:1rem;padding:.7rem 0;border-bottom:1px dotted var(--muted)}
.dish-list b{font-family:var(--f-head);color:var(--head);white-space:nowrap}
@media (min-width:900px){.dishes__grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:5rem}}

/* Termine */
.events{display:grid;gap:1rem}
.event{display:grid;grid-template-columns:110px minmax(0,1fr);gap:1rem;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;box-shadow:var(--shadow)}
.event__img{background:#2F4A2B}.event__img picture,.event__img img{width:100%;height:100%;object-fit:cover}
.event__body{padding:1rem 1rem 1rem 0}
.event__body h3{margin:.1em 0 .3em;font-size:1.25rem}.event__body h3 a{color:var(--head);text-decoration:none}.event__body h3 a:hover{text-decoration:underline}
.event__body p{margin:0 0 .4em;font-size:.97rem}.event__date{display:flex;gap:.4rem;align-items:center;font-weight:700;color:var(--muted)!important}
.event--closed{border-left:6px solid var(--brown)}
.events--past .event{opacity:.9}
.empty-note{color:var(--muted)}
@media (min-width:800px){.events{grid-template-columns:repeat(2,minmax(0,1fr))}.event{grid-template-columns:160px minmax(0,1fr)}}
@media (min-width:1100px){.events-sec .events{grid-template-columns:repeat(3,minmax(0,1fr))}.events-sec .event{grid-template-columns:minmax(0,1fr);}.events-sec .event__img{aspect-ratio:4/3}.events-sec .event__body{padding:0 1.1rem 1.1rem}}

/* Galerie */
.gallery{columns:2;column-gap:.8rem}
.gallery figure{margin:0 0 .8rem;break-inside:avoid;border-radius:var(--r-sm);overflow:hidden;box-shadow:var(--shadow)}
.gallery img{width:100%;transition:transform .6s}.gallery figure:hover img{transform:scale(1.05)}
.gallery__note{font-size:.85rem;color:var(--muted);margin-top:1rem}
@media (min-width:800px){.gallery{columns:4}}

/* Anfahrt & Karte */
.anfahrt{background:var(--bg2)}
.anfahrt__grid{display:grid;gap:2rem}
.facts{list-style:none;margin:1.2rem 0;padding:0;display:grid;gap:.9rem}
.facts li{display:flex;gap:.8rem;align-items:flex-start}.facts .icon{margin-top:.2rem;color:var(--link)}
.facts strong{display:block}.facts span{color:var(--muted)}
.map{border-radius:var(--r);overflow:hidden;box-shadow:var(--shadow);background:var(--wood);color:var(--cream);min-height:360px;display:flex}
.map__ph{position:relative;flex:1;display:flex;align-items:flex-end}
.map__art{position:absolute;inset:0;background:linear-gradient(rgba(20,9,3,.55),rgba(20,9,3,.75)),url("../img/wood.jpg") center/420px;}
.map__art svg{position:absolute;left:0;right:0;bottom:0;width:100%;height:50%;fill:var(--wood-deep);opacity:.9}
.map__body{position:relative;padding:1.4rem}.map__body h3{color:var(--gold);margin:0 0 .3em}.map__body p{color:var(--cream)}
.map__frame{width:100%;min-height:360px;border:0;flex:1}
@media (min-width:900px){.anfahrt__grid{grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);align-items:stretch}}

/* Unterseiten */
.page-hero{position:relative;padding:clamp(3rem,6vw,5.5rem) 0 clamp(5rem,9vw,8rem)}
.page-hero h1{margin:0;color:#fff;font-size:var(--fs-3);overflow-wrap:anywhere;hyphens:auto}
.page-hero .kicker{margin-bottom:.1em}
.page-hero .mtn{position:absolute;left:0;right:0;bottom:-1px}
.hero-note{margin:.8rem 0 0;max-width:60ch;color:var(--cream)}
.entry-content img{border-radius:var(--r-sm)}
.pa-fig{margin:1.6rem 0}.pa-fig img{width:100%;border-radius:var(--r);box-shadow:var(--shadow-lg)}
.pa-fig figcaption{font-size:.9rem;color:var(--muted);margin-top:.4rem}
.pa-fig--poster{max-width:420px}
.wp-block-buttons{display:flex;gap:.8rem;flex-wrap:wrap;margin:1rem 0 1.8rem}
.wp-block-separator{border:0;border-top:1px solid var(--line);margin:2.5rem 0}
.party-list{list-style:none;padding:0;display:grid;gap:.6rem;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}
.party-list li{background:var(--surface);border:1px solid var(--line);border-left:5px solid var(--gold);border-radius:var(--r-sm);padding:.8rem 1rem;font-weight:600}
.pa-contact{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));margin:1.5rem 0 2.5rem;max-width:none}
.pa-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:1.4rem;box-shadow:var(--shadow)}
.pa-card h2{margin:0 0 .5em;font-size:1.4rem}
address{font-style:normal}
.job-grid{display:grid;gap:1.2rem;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}
.job{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:1.4rem}.job h3{margin-top:0}.job-sub{color:var(--muted)}
.legal h2{font-size:1.5rem}.legal .draft-banner{background:#fff3d6;color:#4a3410;border:2px dashed #b37a14;padding:1rem 1.2rem;border-radius:var(--r-sm);font-weight:600}
:root[data-theme="dark"] .legal .draft-banner{background:#3b2c0f;color:#ffe3a4;border-color:#f0b35a}
.special-single{display:grid;gap:2rem;margin-bottom:3rem}
.special-single__media{position:relative;border-radius:var(--r);overflow:hidden;border:3px solid var(--gold);box-shadow:var(--shadow-lg);align-self:start}
.special-single__media .badge{position:absolute;top:1rem;left:1rem;font-size:1.1rem;transform:rotate(-3deg)}
@media (min-width:900px){.special-single{grid-template-columns:minmax(0,520px) minmax(0,1fr)}}

/* Teilen */
.share{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:clamp(1.2rem,3vw,2rem);box-shadow:var(--shadow)}
.share h2{margin:0 0 .6em;font-size:var(--fs-2)}.share h3{margin:1.2em 0 .3em}
.share__links{list-style:none;display:flex;flex-wrap:wrap;gap:.6rem;margin:0;padding:0}
.share-btn{display:inline-flex;align-items:center;gap:.5em;font:700 .98rem var(--f-body);padding:.6em 1.1em;border-radius:999px;border:2px solid var(--line);background:var(--bg);color:var(--text);cursor:pointer;text-decoration:none}
.share-btn:hover{border-color:var(--btn);color:var(--link)}
.share-btn--fb{background:#1b4f87;border-color:#1b4f87;color:#fff}.share-btn--fb:hover{background:#14507F;color:#fff}
.share-btn--wa{background:#1e6b3a;border-color:#1e6b3a;color:#fff}.share-btn--wa:hover{background:#17542d;color:#fff}
.share__hint{color:var(--muted);margin:0 0 .8rem}.share__live{min-height:1.4em;margin:.6rem 0 0;color:var(--muted)}
.share__fmt{border:0;padding:0;margin:0 0 .8rem;display:flex;gap:.6rem;flex-wrap:wrap}
.share__fmt label{display:inline-flex;align-items:center;gap:.4rem;padding:.4em .9em;border:1px solid var(--line);border-radius:999px;cursor:pointer}
.share__canvas{max-width:360px;border-radius:var(--r-sm);overflow:hidden;box-shadow:var(--shadow-lg);background:var(--wood)}
.share__canvas canvas{display:block;width:100%;height:auto}

/* Formulare */
.pa-form-wrap{margin:1.5rem 0}
.pa-form{display:grid;gap:.4rem;max-width:760px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:clamp(1.1rem,3vw,2rem);box-shadow:var(--shadow)}
.grid-2{display:grid;gap:.2rem 1.2rem}
@media (min-width:640px){.grid-2{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}
.field{display:flex;flex-direction:column;gap:.3rem;margin:0 0 .8rem}
.field label,.field legend{font-weight:700}
.field input[type=text],.field input[type=email],.field input[type=tel],.field input[type=date],.field input[type=time],.field input[type=number],.field input[type=search],.field select,.field textarea{font:inherit;color:var(--text);background:var(--bg);border:1.5px solid rgba(59,36,22,.45);border-radius:10px;padding:.7em .9em;width:100%}
:root[data-theme="dark"] .field input,:root[data-theme="dark"] .field select,:root[data-theme="dark"] .field textarea{border-color:rgba(234,223,200,.45)}
.field input:focus,.field select:focus,.field textarea:focus{outline:3px solid #ffbf2e;outline-offset:1px}
.hint{font-size:.88rem;color:var(--muted)}
.field--check{flex-direction:row;gap:.6rem;align-items:flex-start}.field--check input{margin-top:.3em;width:1.2rem;height:1.2rem;flex:none}.field--check label{font-weight:500}
.amounts{border:0;padding:0;display:flex;flex-wrap:wrap;gap:.6rem;align-items:center}.amounts legend{width:100%;padding:0;margin-bottom:.3rem}
.chip-radio input{position:absolute;opacity:0}.chip-radio span{display:inline-block;padding:.5em 1.1em;border:1.5px solid var(--line);border-radius:999px;font-weight:700;cursor:pointer;background:var(--bg)}
.chip-radio input:checked+span{background:var(--btn);border-color:var(--btn);color:#fff}.chip-radio input:focus-visible+span{outline:3px solid #ffbf2e;outline-offset:2px}
.amount-custom{width:110px!important}
.deposit-info{background:var(--surface);border:2px solid var(--gold);border-radius:var(--r);padding:1rem 1.4rem;margin-bottom:1.2rem;max-width:760px}
.deposit-info h3{margin:0 0 .3em}.deposit-total{font-size:1.15rem}

/* Speisekarte */
.specials-menu{background:var(--bg2)}
.specials-menu .sec-title{margin-top:0}
.specials-menu__grid{display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));align-items:stretch}
.specials-menu .board{grid-row:span 1}
.menu-tools{position:sticky;top:calc(var(--adm-h) + var(--header-h));z-index:30;background:color-mix(in srgb,var(--bg) 92%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--line);box-shadow:0 8px 20px rgba(34,19,10,.08)}
.menu-tools__row{display:flex;gap:.6rem;padding-block:.6rem;align-items:center}
.search{position:relative;flex:1}.search .icon{position:absolute;left:.9rem;top:50%;transform:translateY(-50%);color:var(--muted)}
.search input{width:100%;font:inherit;color:var(--text);background:var(--surface);border:1.5px solid rgba(59,36,22,.45);border-radius:999px;padding:.65em 1em .65em 2.6rem}
:root[data-theme="dark"] .search input{border-color:rgba(234,223,200,.45)}
.filter-count{background:var(--gold);color:#2a1d14;border-radius:999px;font:700 .75rem var(--f-body);padding:.05em .55em;margin-left:.3em}
.menu-filters{padding-block:.4rem .8rem;border-top:1px solid var(--line)}
.menu-filters__grp{display:flex;flex-wrap:wrap;gap:.5rem}
.menu-filters__hint{font-size:.85rem;color:var(--muted);margin:.6rem 0 0}
.menu-filters__all{border:0;padding:0;margin:.8rem 0 0;display:flex;flex-wrap:wrap;gap:.4rem}.menu-filters__all legend{font-weight:700;margin-bottom:.4rem;padding:0}
.chip--check input{position:absolute;opacity:0}.chip--check:has(input:checked){background:var(--btn);color:#fff;border-color:var(--btn)}.chip--check:has(input:focus-visible){outline:3px solid #ffbf2e}
.chip--reset{background:transparent}
.catbar ul{list-style:none;margin:0 auto;padding:.1rem 0 .6rem;display:flex;gap:.4rem;overflow-x:auto;scrollbar-width:none;position:relative}
.catbar ul::-webkit-scrollbar{display:none}
.catbar a{display:block;white-space:nowrap;padding:.4em .95em;border-radius:999px;font:700 .85rem var(--f-head);letter-spacing:.07em;text-transform:uppercase;text-decoration:none;color:var(--text);border:1px solid var(--line)}
.catbar a:hover{background:var(--surface)}
.catbar a[aria-current="true"]{background:var(--btn);color:#fff;border-color:var(--btn)}
.menu-status{font-weight:700;color:var(--muted);margin:0 0 1rem}
.menu-empty{font-size:var(--fs-1);color:var(--muted);text-align:center;padding:3rem 0}
.menu-content{display:grid;gap:2.2rem 3rem}
@media (min-width:900px){.menu-content{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start}.menu-content .pm-wide,.menu-content .pm-allergens,.menu-content .pm-footnote{grid-column:1/-1}}
/* Anker-Versatz kommt NUR aus html{scroll-padding-top} (Admin-Leiste + Header + Filterleiste, gemessen). Kein zusätzliches scroll-margin – das würde sich addieren (Fehler in v3.0). */
.pm-cat{margin:0 0 .5em;font-size:var(--fs-2);color:var(--head);position:relative;padding-bottom:.3em}
.pm-cat::after{content:"";display:block;width:64px;height:4px;background:var(--btn);border-radius:4px;margin-top:.3em}
.pm-sub{font-family:var(--f-script);font-size:1.3rem;color:var(--link);margin:-.2em 0 .6em}
.pm-list{list-style:none;margin:0;padding:0}
.pm-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.1rem 1rem;padding:.8rem 0;border-bottom:1px dotted rgba(93,74,60,.55)}
:root[data-theme="dark"] .pm-item{border-color:rgba(203,187,158,.4)}
.pm-name{font-weight:700;font-size:1.05rem}.pm-note{font-weight:400;color:var(--muted);font-size:.9rem}
.pm-price{font:700 1.15rem var(--f-head);color:var(--head);white-space:nowrap;letter-spacing:.02em}
.pm-prices{list-style:none;margin:0;padding:0;text-align:right;display:grid;gap:.1rem}.pm-size{font-size:.85rem;color:var(--muted);margin-right:.4em}
.pm-desc{grid-column:1/-1;color:var(--muted);font-size:.93rem}
.pm-winery{display:block;margin:1.2rem 0 .2rem;font-family:var(--f-head);text-transform:uppercase;letter-spacing:.06em;color:var(--link);font-weight:700}
.pm-tags{display:inline-flex;gap:.3rem;margin-left:.4rem;vertical-align:middle}
.pm-veg{display:inline-flex;align-items:center;color:var(--ok);font-size:.78rem;font-weight:700}
:root[data-theme="dark"] .pm-veg{color:#9ad39a}
.pm-photo{margin:0 0 1rem}.pm-photo img{border-radius:var(--r-sm);width:100%}
.pm-footnote{font-size:.93rem;color:var(--muted)}
.pm-allergens{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-sm);padding:1rem 1.2rem}
.pm-allergens summary{cursor:pointer;font-weight:700}
.allergen-list{list-style:none;margin:1rem 0 0;padding:0;display:grid;gap:.4rem .8rem;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}
.allergen-list b{display:inline-grid;place-items:center;width:1.8em;height:1.8em;border-radius:50%;background:var(--btn);color:#fff;margin-right:.5em;font-size:.9rem}
.menu-body{padding-top:2rem}

/* Footer & Mobile-Leiste */
.site-footer{margin-top:0;background:var(--wood-deep);color:var(--cream);position:relative}
.site-footer .mtn{position:absolute;left:0;right:0;top:0;transform:translateY(calc(-100% + 1px));color:var(--wood-deep)}
.site-footer__body{background:var(--wood-deep);padding-top:3rem;position:relative}
.footer-grid{display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}
.footer-logo{width:120px;height:auto;margin-bottom:.6rem}
.footer-title{font-size:1.1rem;color:var(--gold);margin:0 0 .6em}
.site-footer a{color:#a9d3f5}
.site-footer address{margin-bottom:.6rem}
.site-footer .pa-hours div{border-color:rgba(234,223,200,.25)}.site-footer .pa-hours dd{color:var(--cream)}
.site-footer .script{font-size:1.5rem;color:var(--gold);margin:0 0 .6rem}
.site-footer__bottom{display:flex;flex-wrap:wrap;gap:.6rem 2rem;justify-content:space-between;align-items:center;border-top:1px solid rgba(234,223,200,.2);margin-top:2.5rem;padding-block:1.2rem 5.5rem;font-size:.92rem}
.footer-menu{list-style:none;margin:0;padding:0;display:flex;gap:1.2rem;flex-wrap:wrap}
.mbar{position:fixed;left:.6rem;right:.6rem;bottom:.6rem;z-index:60;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1.3fr);gap:.3rem;padding:.4rem;background:rgba(34,19,10,.94);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(234,223,200,.25);border-radius:999px;box-shadow:0 12px 30px rgba(0,0,0,.45);padding-bottom:calc(.4rem + env(safe-area-inset-bottom))}
.mbar a{display:flex;align-items:center;justify-content:center;gap:.45em;color:var(--cream);text-decoration:none;font:700 .92rem var(--f-head);letter-spacing:.06em;text-transform:uppercase;min-height:46px;border-radius:999px}
.mbar a:hover{background:rgba(255,255,255,.1)}
.mbar .mbar__main{background:var(--btn);color:#fff}
@media (min-width:900px){.mbar{display:none}.site-footer__bottom{padding-bottom:1.5rem}}

@media (prefers-reduced-motion:reduce){
	html{scroll-behavior:auto}
	*,*::before,*::after{animation:none!important;transition:none!important}
	.js-reveal .reveal{opacity:1;transform:none}
}
@media print{.site-header,.mbar,.menu-tools,.site-footer .mtn{display:none}}

/* Timeline (Die Alm) + Entwurf-Banner überall */
.draft-banner{background:#fff3d6;color:#4a3410;border:2px dashed #b37a14;padding:1rem 1.2rem;border-radius:var(--r-sm);font-weight:600}
:root[data-theme="dark"] .draft-banner{background:#3b2c0f;color:#ffe3a4;border-color:#f0b35a}
.timeline{list-style:none;margin:1.5rem 0;padding:0 0 0 1.4rem;border-left:3px solid var(--blue)}
.timeline li{position:relative;padding:.2rem 0 1rem 1rem}
.timeline li::before{content:"";position:absolute;left:calc(-1.4rem - 8px);top:.55rem;width:13px;height:13px;border-radius:50%;background:var(--gold);border:2px solid var(--bg)}
.timeline b{font-family:var(--f-head);font-size:1.3rem;margin-right:.5rem;color:var(--link)}
:root[data-theme="dark"] .timeline b{color:var(--link)}

/* v3 Nachbesserungen */
.events{align-items:start}
.tile--gift{display:grid;grid-template-columns:minmax(0,1fr);align-items:center;gap:1.2rem;min-height:0;background:var(--surface)}
.tile--gift picture,.tile--gift img{display:block;width:100%;border-radius:var(--r-sm)}
.tile--gift .tile__txt .script{color:var(--link);font-size:1.3rem;display:block}
.tile--gift .tile__txt h3{font-size:clamp(1.6rem,1.2rem + 1.5vw,2.4rem);margin:0 0 .3em;text-transform:uppercase}
.tile--gift .tile__txt p{margin:0 0 1rem;max-width:44ch}
@media (min-width:760px){.tile--gift{grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);padding:1.2rem 2rem 1.2rem 1.2rem}}
@media (min-width:760px){.carousel--few .carousel__item{flex:1 1 320px;max-width:520px}.carousel--few .carousel__nav{display:none}.carousel--few .carousel__track{padding-bottom:.5rem}}
.on-dark .pa-btn--ghost,.map__ph .pa-btn--ghost{color:var(--cream);border-color:rgba(234,223,200,.7)}
.on-dark .pa-btn--ghost:hover,.map__ph .pa-btn--ghost:hover{background:var(--cream);color:#2a1d14;border-color:var(--cream)}
/* Galerie: gleichmäßiges Raster */
.gallery{columns:auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem}
.gallery figure{margin:0;aspect-ratio:4/3;break-inside:auto}
.gallery figure picture,.gallery figure img{display:block;width:100%;height:100%;object-fit:cover}
.gallery figure:first-child{grid-column:span 2;grid-row:span 2;aspect-ratio:auto}
@media (min-width:800px){.gallery{grid-template-columns:repeat(4,minmax(0,1fr));columns:auto}.gallery figure:first-child{grid-column:span 2;grid-row:span 2}}
@media (max-width:799px){.event{grid-template-columns:minmax(0,1fr)}.event__img{aspect-ratio:16/10}.event__img picture,.event__img img{height:100%;object-fit:cover;object-position:center 30%}.event__body{padding:0 1.1rem 1.1rem}}
fieldset.field.amounts{display:flex;flex-wrap:wrap;gap:.6rem;align-items:center;justify-content:flex-start}
.amounts label.chip-radio{display:inline-block;width:auto;margin:0;position:relative}
.amounts .amount-custom{width:110px}
.event:not(:has(.event__img)){grid-template-columns:minmax(0,1fr)}.event:not(:has(.event__img)) .event__body{padding:1rem 1.1rem}
/* Spalten (Die Alm / Feiern) */
.wp-block-columns.split{display:flex;flex-wrap:wrap;gap:clamp(1.2rem,3vw,3rem);align-items:center;margin:0 0 clamp(2rem,5vw,4rem)}
.wp-block-columns.split>.wp-block-column{flex:1 1 320px;min-width:0}
.wp-block-columns.split .pa-fig,.wp-block-columns.split figure{margin:0}
.wp-block-columns.split picture,.wp-block-columns.split img{display:block;width:100%;height:auto;border-radius:var(--r);box-shadow:var(--shadow-lg)}
.wp-block-columns.split h2{margin-top:0}
@media (min-width:782px){.wp-block-columns.split>.wp-block-column:first-child{flex:0 1 calc(46% - 1.5rem)}.wp-block-columns.split>.wp-block-column:last-child{flex:0 1 calc(54% - 1.5rem)}.split--rev>.wp-block-column:first-child{flex:0 1 calc(54% - 1.5rem)}.split--rev>.wp-block-column:last-child{flex:0 1 calc(46% - 1.5rem)}}

.specials-menu .special__body h3 a{color:var(--head)}

/* ======================= v3.1: Feiern-Seite, Lightbox, Formular-Zustände ======================= */
img.is-broken{visibility:hidden}
.brand__logo.is-broken{display:none}
.mbar{transition:transform .2s}.mbar.is-hidden{transform:translateY(130%)}
.hero--fe{min-height:min(84svh,720px)}
.hero--fe h1{font-size:clamp(2.2rem,1.4rem + 4.6vw,4.4rem)}
.hero--fe .hero__text{max-width:46ch}
.fe-tags{list-style:none;margin:1.2rem 0 0;padding:0;display:flex;flex-wrap:wrap;gap:.5rem}
.fe-tags li{background:rgba(0,0,0,.45);border:1px solid rgba(234,223,200,.5);border-radius:999px;padding:.2rem .85rem;font-size:.95rem;color:#fff}
.fe{overflow-x:clip}
.fe-sec{margin:clamp(2.4rem,5vw,4rem) 0}
.fe-h{margin:0 0 1.2rem;font-size:clamp(1.6rem,1.2rem + 2vw,2.5rem)}
.fe-cards,.fe-steps{list-style:none;margin:0;padding:0;display:grid;gap:1rem;grid-template-columns:minmax(0,1fr)}
@media (min-width:640px){.fe-cards,.fe-steps{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:1000px){.fe-cards,.fe-steps{grid-template-columns:repeat(4,minmax(0,1fr))}}
.fe-card,.fe-steps li{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow);padding:1.2rem 1.1rem 1.3rem}
.fe-card h3,.fe-steps h3{margin:.5rem 0 .35rem;font-size:1.3rem}
.fe-card p,.fe-steps p{margin:0;font-size:.98rem;color:var(--muted)}
.fe-ico{color:var(--link);width:34px;height:34px}
.fe-facts{list-style:none;margin:0;padding:0;display:grid;gap:.8rem;grid-template-columns:repeat(2,minmax(0,1fr))}
@media (min-width:760px){.fe-facts{grid-template-columns:repeat(4,minmax(0,1fr))}}
.fe-fact{background:var(--green);color:#EADFC8;border-radius:var(--r);padding:1rem .8rem;text-align:center;display:flex;flex-direction:column;align-items:center;gap:.2rem;box-shadow:var(--shadow)}
.fe-fact .fe-ico{color:var(--gold)}
.fe-fact__big{font-family:var(--f-head);text-transform:uppercase;letter-spacing:.03em;font-size:clamp(1.3rem,4.2vw,1.8rem);color:#fff;line-height:1.1;overflow-wrap:anywhere}
.fe-fact span{font-size:.95rem;line-height:1.35}
.fe-fact--wide{grid-column:1/-1}
@media (min-width:760px){.fe-fact--wide{grid-column:span 2}}
.fe-note{text-align:center;color:var(--muted);font-weight:700;margin:1.2rem 0 0}
.fe-split{display:grid;gap:1.4rem;align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow);padding:1.4rem 1.2rem}
.fe-split p{margin:0 0 .9rem}
.fe-split__img{margin:0}
.fe-split__img img{width:100%;border-radius:var(--r-sm);aspect-ratio:4/3;object-fit:cover}
@media (min-width:800px){.fe-split{grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);padding:2rem 2.2rem}}
.fe-chips{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.6rem;justify-content:center}
.fe-chips li{background:var(--bg2);color:var(--text);border:1px solid var(--line);font-family:var(--f-head);font-weight:700;text-transform:uppercase;letter-spacing:.05em;border-radius:999px;padding:.4rem 1.1rem;font-size:1rem}
.fe-gal{list-style:none;margin:0;padding:0;display:grid;gap:.6rem;grid-template-columns:repeat(2,minmax(0,1fr))}
@media (min-width:560px){.fe-gal{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (min-width:900px){.fe-gal{grid-template-columns:repeat(4,minmax(0,1fr))}}
.fe-gal a{display:block;border-radius:var(--r-sm);overflow:hidden;box-shadow:var(--shadow);background:var(--bg2);cursor:zoom-in}
.fe-gal img{width:100%;aspect-ratio:4/3;object-fit:cover;transition:transform .25s}
.fe-gal a:hover img,.fe-gal a:focus-visible img{transform:scale(1.05)}
.fe-faq details{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-sm);margin:.5rem 0;box-shadow:var(--shadow)}
.fe-faq summary{cursor:pointer;padding:.85rem 3rem .85rem 1.1rem;font-weight:700;list-style:none;position:relative;min-height:44px}
.fe-faq summary::-webkit-details-marker{display:none}
.fe-faq summary::after{content:"+";position:absolute;right:1.1rem;top:50%;transform:translateY(-50%);font-size:1.5rem;color:var(--link);line-height:1}
.fe-faq details[open] summary::after{content:"–"}
.fe-faq details p{margin:0;padding:0 1.1rem 1rem;color:var(--muted)}
.fe-cta{padding:clamp(2.6rem,6vw,4.5rem) 0}
.fe-cta:focus{outline:none}
.fe-cta__in{display:grid;gap:1.6rem;align-items:start}
@media (min-width:900px){.fe-cta__in{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:2.4rem}}
.fe-cta__txt h2{margin:.2rem 0 .6rem}
.fe-cta__small{margin-top:.8rem;opacity:.9}
.fe-cta__form{color-scheme:light;--bg:#F4ECDA;--bg2:#EADFC8;--text:#2a1d14;--muted:#5d4a3c;--head:#5a2f20;--link:#14507F;--surface:#FBF6EA;--line:rgba(59,36,22,.18);background:#FBF6EA;color:#2a1d14;border-radius:var(--r);padding:1.2rem 1.1rem;box-shadow:var(--shadow-lg)}
.fe-cta__form .pa-form{box-shadow:none;border:0;padding:0;background:transparent}
.fe-cta__form .pa-form-wrap{margin:0}
@media print{.fe-gal{display:none}}

/* Lightbox */
dialog.pa-lb{border:0;padding:0;background:transparent;max-width:100vw;max-height:100vh;width:100%;height:100%}
dialog.pa-lb::backdrop{background:rgba(10,5,2,.92)}
.pa-lb__in{display:grid;place-items:center;width:100%;height:100%;padding:3.5rem .5rem 3rem;position:relative}
.pa-lb img{max-width:100%;max-height:100%;object-fit:contain;border-radius:6px}
.pa-lb__cap{position:absolute;bottom:.6rem;left:0;right:0;text-align:center;color:#EADFC8;font-size:.95rem;padding:0 1rem;margin:0}
.pa-lb button{position:absolute;top:.6rem;background:var(--btn);color:#fff;border:2px solid #EADFC8;border-radius:8px;min-width:46px;height:46px;font-size:1.4rem;cursor:pointer}
.pa-lb__close{right:.6rem}.pa-lb__prev{left:.6rem}.pa-lb__next{left:4.2rem}
@media (prefers-reduced-motion:reduce){.fe-gal img,.mbar{transition:none}.status .status__dot{animation:none!important}}

/* ===== v3.2: Sprachen, Hinweise, Gruppen ===== */
.lang-group{display:inline-flex;gap:.25rem;align-items:center}
.lang-switch{padding:.35em .65em;line-height:1.1}
.lang-switch.is-current{background:var(--gold);color:#2a1d14;border-color:var(--gold)}
.lang-switch.is-current:hover{background:var(--gold)}
.lang-group--head{display:none}
.nav-extra .lang-group{margin-bottom:1rem;display:flex}
@media (min-width:600px){.lang-group--head{display:inline-flex}}
@media (min-width:1060px) and (max-width:1279px){
	.brand__text{display:none}
	.site-nav .menu a{font-size:.92rem;padding:.5rem .55rem}
}
@media (min-width:1060px){.nav-extra .lang-group{display:none}}
.lang-note{padding:.7rem 1rem;border-left:4px solid var(--gold);background:var(--surface);border-radius:var(--r-sm);color:var(--muted);font-weight:600}
.notice--info{border-left:6px solid var(--gold)}
.lang-legal{border-left:6px solid var(--gold);background:var(--surface)}
.lang-legal a{font-weight:700}
.pm-expl{display:block;font-weight:400;font-style:italic;font-size:.88rem;color:var(--muted);line-height:1.35;margin-top:.1rem}
.pm-desc .pm-expl{display:inline}
.gr-extra{margin:1.5rem auto 0;max-width:60ch}
.gr-anf{display:grid;gap:.5rem;list-style:none;margin:1rem 0 0;padding:0}
.gr-anf li{padding:.7rem 1rem;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface)}
.gr-anf strong{display:block;font-family:var(--f-head);text-transform:uppercase;letter-spacing:.04em}
.status--hero,.status--block{margin-bottom:.6rem}
/* v3.2: mobiles Menü in voller Höhe – backdrop-filter am Header macht ihn sonst zum Bezugsrahmen des fixierten Panels (Panel war nur ~115 px hoch) */
@media (max-width:1059.98px){body.nav-open .site-header,.site-header:has(.site-nav.is-open){-webkit-backdrop-filter:none;backdrop-filter:none;background:var(--wood-deep)}}

/* ===== v3.3 ===== */
/* Allergen-Badges (Codex-Buchstaben) mit Tooltip: Hover, Fokus, Antippen – kein Rot */
.pm-alg{display:inline-flex;flex-wrap:wrap;gap:.25rem;margin-left:.45rem;vertical-align:.12em}
.alg{position:relative;display:inline-grid;place-items:center;min-width:1.6rem;height:1.6rem;padding:0 .3rem;font:700 .74rem/1 var(--f-body);letter-spacing:.02em;color:var(--wood);background:var(--paper);border:1.5px solid rgba(59,36,22,.55);border-radius:5px;cursor:help}
.alg:hover,.alg.is-open{background:var(--gold);border-color:var(--wood);color:#2a1d14}
.alg:focus-visible{outline:3px solid var(--blue);outline-offset:2px}
.alg__tip{position:absolute;left:50%;bottom:calc(100% + 8px);transform:translateX(-50%);z-index:30;width:max-content;max-width:min(240px,70vw);padding:.45rem .65rem;border-radius:6px;background:var(--wood-deep);color:var(--cream);font:500 .82rem/1.35 var(--f-body);letter-spacing:0;text-align:left;white-space:normal;box-shadow:0 4px 14px rgba(0,0,0,.28);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .15s,visibility .15s}
.alg__tip::after{content:"";position:absolute;top:100%;left:50%;margin-left:-6px;border:6px solid transparent;border-top-color:var(--wood-deep)}
.alg:hover .alg__tip,.alg:focus-visible .alg__tip,.alg.is-open .alg__tip{opacity:1;visibility:visible}
:root[data-theme="dark"] .alg{background:rgba(234,223,200,.08);color:var(--cream);border-color:rgba(234,223,200,.55)}
:root[data-theme="dark"] .alg:hover,:root[data-theme="dark"] .alg.is-open{background:var(--gold);color:#2a1d14}
:root[data-theme="dark"] .alg__tip{background:var(--cream);color:#22130a}:root[data-theme="dark"] .alg__tip::after{border-top-color:var(--cream)}
@media (prefers-reduced-motion:reduce){.alg__tip{transition:none}}
.alg-help{display:inline-grid;place-items:center;flex:0 0 auto;width:2.4rem;height:2.4rem;border-radius:50%;border:1.5px solid rgba(59,36,22,.45);color:var(--wood);background:var(--surface);font:700 1.05rem var(--f-head);text-decoration:none}
.alg-help:hover{background:var(--gold);color:#2a1d14}.alg-help:focus-visible{outline:3px solid var(--blue);outline-offset:2px}
:root[data-theme="dark"] .alg-help{color:var(--cream);border-color:rgba(234,223,200,.45)}
.pm-allergens{scroll-margin-top:calc(var(--adm-h,0px) + var(--hdr-h,70px) + var(--chips-h,50px) + 12px)}
/* Specials: Links + weitere Bilder */
.special-links .pa-btn .icon{width:1.1em;height:1.1em}
.special-gal{margin-top:0}
/* Preis auf heller Karte: Gold hatte zu wenig Kontrast (fiel erst mit Preisen auf) → Holzbraun, im Dunkelmodus Gold */
.special__price{color:var(--brown)}:root[data-theme="dark"] .special__price{color:var(--gold)}
/* v3.4 Social-Feed (Termine) */
.pa-feed{margin-top:2.4rem}
.pa-feed__lead{color:var(--muted);margin:-.4em 0 1rem}
.pa-feed__grid{list-style:none;margin:0;padding:0;display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(min(100%,240px),1fr))}
.pa-feed__item{display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;box-shadow:var(--shadow)}
.pa-feed__img{display:block;aspect-ratio:1/1;overflow:hidden;background:var(--paper)}
.pa-feed__img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s}
.pa-feed__item:hover .pa-feed__img img{transform:scale(1.03)}
.pa-feed__body{padding:.8rem 1rem 1rem;display:flex;flex-direction:column;gap:.45rem;flex:1}
.pa-feed__meta{margin:0;display:flex;align-items:center;gap:.4rem;font-size:.88rem;color:var(--muted)}
.pa-feed__meta svg{width:1.05em;height:1.05em;fill:currentColor}
.pa-feed__cap{margin:0;font-size:.95rem;line-height:1.45;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere}
.pa-feed__link{margin-top:auto;font-weight:600;color:var(--link)}
.pa-feed__more{margin-top:1rem}
.pa-feed__more svg,.pa-feed__fallback svg{width:1.1em;height:1.1em;fill:currentColor;vertical-align:-.15em}
.pa-feed__fallback{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem;background:var(--surface);border:1px solid var(--line);border-left:6px solid var(--gold);border-radius:var(--r);padding:1rem 1.2rem}
.pa-feed__fallback .pa-btn{margin-left:auto}
