/* Qvevri – Design „Keller bei Nacht“ ------------------------------------------------------------ */

/* Schriften (lokal, keine externen Requests) */
@font-face{font-family:"Cormorant Garamond";font-style:normal;font-weight:500;font-display:swap;src:url(fonts/cormorant-garamond-latin-500-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Cormorant Garamond";font-style:normal;font-weight:500;font-display:swap;src:url(fonts/cormorant-garamond-latin-ext-500-normal.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Cormorant Garamond";font-style:normal;font-weight:600;font-display:swap;src:url(fonts/cormorant-garamond-latin-600-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Cormorant Garamond";font-style:italic;font-weight:500;font-display:swap;src:url(fonts/cormorant-garamond-latin-500-italic.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Inter";font-style:normal;font-weight:400;font-display:swap;src:url(fonts/inter-latin-400-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Inter";font-style:normal;font-weight:400;font-display:swap;src:url(fonts/inter-latin-ext-400-normal.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Inter";font-style:normal;font-weight:500;font-display:swap;src:url(fonts/inter-latin-500-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Inter";font-style:normal;font-weight:600;font-display:swap;src:url(fonts/inter-latin-600-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Noto Serif Georgian";font-style:normal;font-weight:500;font-display:swap;src:url(fonts/noto-serif-georgian-georgian-500-normal.woff2) format("woff2");unicode-range:U+0589,U+10A0-10FF,U+1C90-1CBA,U+1CBD-1CBF,U+205A,U+2D00-2D2F,U+2E31}

/* Farbtoken als registrierte Properties → weicher Übergang zwischen den Welten */
@property --bg{syntax:"<color>";inherits:true;initial-value:#160d11}
@property --bg-2{syntax:"<color>";inherits:true;initial-value:#1e1217}
@property --bg-3{syntax:"<color>";inherits:true;initial-value:#2a1a20}
@property --ink{syntax:"<color>";inherits:true;initial-value:#f3e9da}
@property --ink-2{syntax:"<color>";inherits:true;initial-value:#c9b9a4}
@property --ink-3{syntax:"<color>";inherits:true;initial-value:#a8957f}
@property --accent{syntax:"<color>";inherits:true;initial-value:#d98a62}
@property --accent-soft{syntax:"<color>";inherits:true;initial-value:#e0a47f}
@property --gold{syntax:"<color>";inherits:true;initial-value:#cfa865}
@property --eyebrow{syntax:"<color>";inherits:true;initial-value:#cfa865}
@property --sage{syntax:"<color>";inherits:true;initial-value:#9fb08e}
@property --line{syntax:"<color>";inherits:true;initial-value:rgb(207 168 101 / .18)}
@property --line-2{syntax:"<color>";inherits:true;initial-value:rgb(207 168 101 / .42)}
@property --btn{syntax:"<color>";inherits:true;initial-value:#cfa865}
@property --btn-h{syntax:"<color>";inherits:true;initial-value:#dfbc7c}
@property --btn-ink{syntax:"<color>";inherits:true;initial-value:#160d11}
@property --focus{syntax:"<color>";inherits:true;initial-value:#f0cf8e}

:root{
  --f-display:"Cormorant Garamond","Cormorant",Georgia,"Times New Roman",serif;
  --f-body:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --f-geo:"Noto Serif Georgian","Noto Sans Georgian",serif;
  --gutter:clamp(16px,4.2vw,64px);
  --maxw:1280px;
  --hdr:76px;
  --ease:cubic-bezier(.2,.7,.2,1);
  --tile:#e6d9c6;--tile-2:#c9b59a;
  --t:.7s;
  transition:--bg var(--t) ease,--bg-2 var(--t) ease,--bg-3 var(--t) ease,--ink var(--t) ease,--ink-2 var(--t) ease,--ink-3 var(--t) ease,--accent var(--t) ease,--accent-soft var(--t) ease,--gold var(--t) ease,--eyebrow var(--t) ease,--sage var(--t) ease,--line var(--t) ease,--line-2 var(--t) ease,--btn var(--t) ease,--btn-h var(--t) ease,--btn-ink var(--t) ease,--focus var(--t) ease;
}
html[data-mode="weinhaus"]{
  color-scheme:dark;
  --bg:#160d11;--bg-2:#1e1217;--bg-3:#2a1a20;--ink:#f3e9da;--ink-2:#c9b9a4;--ink-3:#a8957f;
  --accent:#d98a62;--accent-soft:#e0a47f;--gold:#cfa865;--eyebrow:#cfa865;--sage:#9fb08e;
  --line:rgb(207 168 101 / .18);--line-2:rgb(207 168 101 / .42);
  --btn:#cfa865;--btn-h:#dfbc7c;--btn-ink:#160d11;--focus:#f0cf8e;
  --grain:.075;
  --grain-img:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='180' height='180'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 1 0 0 0 0 .95 0 0 0 0 .88 0 0 0 .6 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");
  --dg-dot:rgb(207 168 101 / .16);--dg-a:#33201d;--dg-b:#1e1217;
}
html[data-mode="cafe"]{
  color-scheme:light;
  --bg:#f2ebe0;--bg-2:#e8ddcb;--bg-3:#ddd0bb;--ink:#2a1b14;--ink-2:#5a473b;--ink-3:#6e5a4c;
  --accent:#9b4a2b;--accent-soft:#9b4a2b;--gold:#9b4a2b;--eyebrow:#4f5e46;--sage:#4f5e46;
  --line:rgb(42 27 20 / .14);--line-2:rgb(42 27 20 / .32);
  --btn:#2a1b14;--btn-h:#46302a;--btn-ink:#f7f1e8;--focus:#9b4a2b;
  --grain:.06;
  --grain-img:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='180' height='180'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 .2 0 0 0 0 .12 0 0 0 0 .08 0 0 0 .55 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");
  --dg-dot:rgb(42 27 20 / .14);--dg-a:#d9c8ad;--dg-b:#e8ddcb;
}

/* Basis */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:calc(var(--hdr) + 16px)}
body{margin:0;background:var(--bg);color:var(--ink);font:400 1rem/1.65 var(--f-body);overflow-x:clip;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}
body::before{content:"";position:fixed;inset:0;pointer-events:none;z-index:60;opacity:var(--grain);background-image:var(--grain-img);background-size:180px}
img{max-width:100%;height:auto;display:block}
a{color:inherit}
button,input,select{font:inherit;color:inherit}
h1,h2,h3{text-wrap:balance}
p{margin:0 0 1em;color:var(--ink-2)}
:focus-visible{outline:2px solid var(--focus);outline-offset:3px;border-radius:6px}
::selection{background:var(--gold);color:var(--bg)}
.vh{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.sprite{position:absolute;width:0;height:0;overflow:hidden}
.ico{width:1.15em;height:1.15em;flex:none;vertical-align:-.2em}
.skip{position:absolute;left:12px;top:-60px;z-index:100;padding:10px 16px;border-radius:10px;background:var(--btn);color:var(--btn-ink);text-decoration:none;font-weight:600}
.skip:focus{top:12px}
.wrap{width:min(100% - 2*var(--gutter),var(--maxw));margin-inline:auto}
.anchor-top{position:absolute;top:0}
html.js[data-mode="weinhaus"] [data-panel="cafe"],html.js[data-mode="cafe"] [data-panel="weinhaus"]{display:none!important}
html:not(.js) .switch{display:none}
.vt,.vt *{transition:none!important}
::view-transition-old(root),::view-transition-new(root){animation:none;mix-blend-mode:normal}
::view-transition-old(root){z-index:1}
::view-transition-new(root){z-index:2}

/* Demo-Hinweis */
.demo{position:relative;display:flex;align-items:center;justify-content:center;min-height:34px;padding:6px 52px;background:#8f4427;color:#fff7ee;font-size:.78rem;letter-spacing:.03em;text-align:center}
.demo p{margin:0;color:inherit}
.demo strong{font-weight:600;letter-spacing:.12em;text-transform:uppercase;font-size:.7rem;margin-right:4px}
.demo__x{position:absolute;right:6px;top:50%;transform:translateY(-50%);width:36px;height:36px;display:grid;place-items:center;border:0;border-radius:50%;background:transparent;color:inherit;cursor:pointer}
.demo__x:hover{background:rgb(255 255 255 / .14)}
.demo__x .ico{width:16px;height:16px}
.no-banner .demo{display:none}

/* Kopfzeile */
.hdr{position:sticky;top:0;z-index:50;background:color-mix(in oklab,var(--bg) 82%,transparent);-webkit-backdrop-filter:blur(16px) saturate(1.3);backdrop-filter:blur(16px) saturate(1.3);border-bottom:1px solid transparent;transition:border-color .3s,box-shadow .3s}
.hdr.is-scrolled{border-bottom-color:var(--line);box-shadow:0 14px 34px -26px rgb(0 0 0 / .55)}
.hdr__in{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:16px;height:var(--hdr);width:min(100% - 2*var(--gutter),1360px);margin-inline:auto}
.hdr__in--legal{grid-template-columns:1fr auto}
.hdr__logo{justify-self:start;display:block;padding:6px 0;border-radius:8px}
.logo-wort{display:block;width:118px;height:auto}
html[data-mode="weinhaus"] .logo-wort--dunkel,html[data-mode="cafe"] .logo-wort--hell{display:none}
.hdr__nav{justify-self:end;display:flex;align-items:center;gap:26px;font-size:.875rem;font-weight:500}
.hdr__nav a{position:relative;display:inline-flex;align-items:center;min-height:44px;padding:8px 0;color:var(--ink-2);text-decoration:none;transition:color .2s}
.hdr__nav a:not(.hdr__visit)::after{content:"";position:absolute;left:0;right:0;bottom:2px;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .35s var(--ease)}
.hdr__nav a:hover{color:var(--ink)}
.hdr__nav a:hover::after{transform:scaleX(1)}
html.js[data-mode="weinhaus"] .hdr__nav [data-for="cafe"],html.js[data-mode="cafe"] .hdr__nav [data-for="weinhaus"]{display:none}
.hdr__visit{display:inline-flex;align-items:center;gap:9px;min-height:44px;padding:8px 16px!important;border:1px solid var(--line-2);border-radius:999px;color:var(--ink)!important}
.hdr__visit:hover{background:var(--bg-3)}
.status-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--ink-3);flex:none}
.status-dot.is-open{background:#57b26f;box-shadow:0 0 0 3px rgb(87 178 111 / .22)}

/* Umschalter */
.switch{position:relative;display:inline-grid;grid-auto-flow:column;grid-auto-columns:1fr;padding:4px;border-radius:999px;background:var(--bg-2);border:1px solid var(--line-2);box-shadow:inset 0 1px 0 rgb(255 255 255 / .03)}
.switch__ind{position:absolute;top:4px;bottom:4px;left:4px;width:calc(50% - 4px);border-radius:999px;background:var(--btn);box-shadow:0 6px 18px -8px rgb(0 0 0 / .5);transition:transform .55s cubic-bezier(.7,0,.2,1)}
html[data-mode="cafe"] .switch__ind{transform:translateX(100%)}
.switch [role="tab"]{position:relative;z-index:1;display:flex;align-items:center;justify-content:center;gap:8px;height:42px;padding:0 20px;border:0;border-radius:999px;background:none;color:var(--ink-2);font-size:.9rem;font-weight:500;letter-spacing:.01em;white-space:nowrap;cursor:pointer;transition:color .4s}
.switch [role="tab"]:hover{color:var(--ink)}
.switch [role="tab"][aria-selected="true"]{color:var(--btn-ink)}
.switch [role="tab"]:focus-visible{outline-offset:1px;border-radius:999px}
.switch__ico{width:20px;height:20px}

/* Typografie */
.sec{position:relative;padding-block:clamp(80px,9.5vw,140px)}
.eyebrow{display:flex;align-items:center;gap:12px;margin:0 0 20px;font:600 .75rem/1.2 var(--f-body);letter-spacing:.2em;text-transform:uppercase;color:var(--eyebrow)}
.eyebrow::before{content:"";width:28px;height:1px;background:currentColor;opacity:.7}
.h2{margin:0 0 26px;font-family:var(--f-display);font-weight:500;font-size:clamp(2.55rem,1.55rem + 3.7vw,4.7rem);line-height:1;letter-spacing:-.012em;color:var(--ink)}
.h2 em,.h3 em{font-style:italic;color:var(--accent-soft)}
.h3{margin:0 0 16px;font-family:var(--f-display);font-weight:500;font-size:clamp(1.75rem,1.25rem + 1.6vw,2.5rem);line-height:1.05;color:var(--ink)}
.lead{margin:0 0 22px;font-family:var(--f-display);font-weight:500;font-size:clamp(1.32rem,1.1rem + .75vw,1.66rem);line-height:1.34;color:var(--ink);text-wrap:pretty}
.fine{margin:22px 0 0;font-size:.8125rem;line-height:1.55;color:var(--ink-3)}
.fine a{color:var(--ink-2)}

/* Buttons */
.btns{display:flex;flex-wrap:wrap;gap:12px;margin-top:34px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:50px;padding:0 24px;border:1px solid var(--btn);border-radius:999px;background:var(--btn);color:var(--btn-ink);font:500 .95rem/1.1 var(--f-body);letter-spacing:.01em;text-decoration:none;cursor:pointer;transition:transform .25s var(--ease),background-color .25s,border-color .25s,color .25s}
.btn:hover{transform:translateY(-1px);background:var(--btn-h);border-color:var(--btn-h)}
.btn .ico{width:18px;height:18px;transition:transform .3s var(--ease)}
.btn:hover .ico{transform:translateX(3px)}
.btn--ghost{background:transparent;color:var(--ink);border-color:var(--line-2)}
.btn--ghost:hover{background:var(--bg-3);border-color:var(--ink-3)}
.linkbtn{padding:4px 0;border:0;background:none;color:var(--accent-soft);font-size:.875rem;text-decoration:underline;text-underline-offset:4px;cursor:pointer}

/* Fotos im Gewölbe-Rahmen */
.arch-photo{position:relative;margin:0}
.arch-photo img{width:100%;height:100%;object-fit:cover;border-radius:999px 999px 10px 10px}
.arch-photo::before{content:"";position:absolute;inset:-11px -11px auto;height:60%;border:1px solid var(--line-2);border-bottom:0;border-radius:999px 999px 0 0;pointer-events:none}
figcaption{margin-top:14px;font-size:.72rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-3)}

/* Badges */
.badges{display:flex;flex-wrap:wrap;gap:6px}
.badge{display:inline-flex;align-items:center;gap:6px;height:22px;padding:0 9px;border:1px solid var(--line-2);border-radius:999px;font:600 .66rem/1 var(--f-body);letter-spacing:.09em;text-transform:uppercase;color:var(--ink-2);white-space:nowrap}
.badge--q{border-color:var(--accent);color:var(--accent-soft);background:rgb(217 138 98 / .1)}
.badge--typ::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--dot,#ccc);box-shadow:0 0 0 1px rgb(255 255 255 / .12)}
.badge--typ[data-farbe="rot"]{--dot:#9b2342}
.badge--typ[data-farbe="weiß"]{--dot:#e9d27e}
.badge--typ[data-farbe="rosé"]{--dot:#e79aa8}
.badge--typ[data-farbe="sekt"]{--dot:#f1e4ae}
.badge--typ[data-farbe="spirituose"]{--dot:#d4dadd}

/* ================= WEINHAUS: Hero ================= */
.wh-hero{position:relative;isolation:isolate;overflow:hidden;display:flex;flex-direction:column;justify-content:center;min-height:min(calc(100svh - var(--hdr)),940px);padding-block:clamp(32px,4.4vw,64px) clamp(24px,3vw,44px);background:radial-gradient(55% 70% at 78% 40%,rgb(186 100 58 / .2),transparent 70%),radial-gradient(40% 50% at 6% 30%,rgb(120 38 72 / .22),transparent 70%),var(--bg)}
.wh-hero::after{content:"";position:absolute;z-index:-1;left:0;right:0;bottom:0;height:140px;background:linear-gradient(transparent,var(--bg));pointer-events:none}
.wh-hero__wm{position:absolute;z-index:-2;left:-2vw;top:50%;transform:translateY(-58%);font-family:var(--f-geo);font-weight:500;font-size:clamp(8rem,31vw,33rem);line-height:.9;white-space:nowrap;color:transparent;-webkit-text-stroke:1px rgb(207 168 101 / .085);pointer-events:none;user-select:none}
.wh-hero__grid{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(24px,4vw,64px);align-items:center}
.wh-hero__title{margin:0;display:flex;flex-direction:column;line-height:.8}
.wh-hero__latin{font-family:var(--f-display);font-weight:600;font-size:clamp(5.3rem,1.8rem + 11vw,11.6rem);letter-spacing:-.025em;color:var(--ink)}
.wh-hero__geo{margin-top:.5em;font-family:var(--f-geo);font-weight:500;font-size:clamp(1.8rem,1rem + 2.6vw,3.3rem);line-height:1.1;letter-spacing:.04em;color:var(--gold)}
.wh-hero__tag{margin:22px 0 14px;font-family:var(--f-display);font-style:italic;font-weight:500;font-size:clamp(1.55rem,1.1rem + 1.3vw,2.3rem);line-height:1.15;color:var(--accent-soft)}
.wh-hero__lead{max-width:37em;font-size:1.05rem;color:var(--ink-2)}
.wh-hero__art{position:relative;justify-self:center;width:min(100%,400px);aspect-ratio:552/678;filter:drop-shadow(0 0 26px rgb(207 168 101 / .22))}
.wh-hero__halo{position:absolute;inset:14% -14% 4%;background:radial-gradient(closest-side,rgb(217 138 98 / .34),rgb(217 138 98 / .08) 60%,transparent);border-radius:50%;animation:flacker 7s ease-in-out infinite}
.logo-krug{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}
@keyframes flacker{0%,100%{opacity:.85;transform:scale(1)}40%{opacity:1;transform:scale(1.03)}70%{opacity:.9;transform:scale(.99)}}
.facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:clamp(36px,4.4vw,60px) 0 0;border-top:1px solid var(--line)}
.facts>div{padding:18px 24px 0 0}
.facts>div+div{padding-left:24px;border-left:1px solid var(--line)}
.facts dt{font-family:var(--f-display);font-weight:500;font-size:clamp(1.5rem,1.1rem + 1vw,2.05rem);line-height:1.1;color:var(--gold)}
.facts dd{margin:6px 0 0;max-width:30ch;font-size:.875rem;line-height:1.5;color:var(--ink-2)}

/* Einstiegs-Animation (beim Laden und beim Umschalten) */
.enter .wh-hero__text>*,.enter .ca-hero__text>*{animation:steigen 1s var(--ease) both}
.enter .wh-hero__text>:nth-child(2),.enter .ca-hero__text>:nth-child(2){animation-delay:.08s}
.enter .wh-hero__text>:nth-child(3),.enter .ca-hero__text>:nth-child(3){animation-delay:.16s}
.enter .wh-hero__text>:nth-child(4),.enter .ca-hero__text>:nth-child(4){animation-delay:.24s}
.enter .wh-hero__text>:nth-child(5),.enter .ca-hero__text>:nth-child(5){animation-delay:.32s}
.enter .wh-hero__art{animation:auftauchen 1.6s var(--ease) both .1s}
.enter .ca-hero__photo{animation:auftauchen 1.2s var(--ease) both .1s}
@keyframes steigen{from{opacity:0;transform:translateY(26px)}}
@keyframes auftauchen{from{opacity:0;transform:translateY(18px) scale(.98)}}

/* ================= WEINHAUS: Qvevri-Methode ================= */
.qv{padding-bottom:clamp(56px,6vw,96px);background:linear-gradient(180deg,var(--bg) 0%,var(--bg-2) 100%)}
.qv::before{content:"";position:absolute;top:0;left:50%;width:1px;height:clamp(40px,5vw,72px);background:linear-gradient(var(--line-2),transparent)}
.qv__top{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(32px,5vw,80px);align-items:center}
.qv__intro p:not(.lead):not(.eyebrow){max-width:34em}
.qv__fig{margin:0}
.dg{display:block;width:100%;height:auto;overflow:visible}
.dg-dot{fill:var(--dg-dot)}
.dg-erde-a{stop-color:var(--dg-a)}
.dg-erde-b{stop-color:var(--dg-b)}
.dg-strata{fill:none;stroke:var(--line-2);stroke-width:1;stroke-dasharray:2 7;opacity:.7}
.dg-ground{fill:none;stroke:var(--gold);stroke-width:1.6}
.dg-grass{fill:none;stroke:var(--sage);stroke-width:1.4;stroke-linecap:round}
.dg-clay{fill:rgb(196 122 85 / .2);stroke:var(--accent);stroke-width:2.4}
.dg-wall{fill:none;stroke:var(--accent);stroke-width:1;stroke-dasharray:3 4;opacity:.75}
.dg-wave{fill:none;stroke:rgb(255 238 205 / .7);stroke-width:1.6}
.dg-schale ellipse{fill:#5a2140;opacity:.9}
.dg-stiel path{fill:none;stroke:#6a4a29;stroke-width:2;stroke-linecap:round}
.dg-kern ellipse{fill:#6b4016}
.dg-rim{stroke:var(--accent);stroke-width:4.5;stroke-linecap:round}
.dg-lid{fill:var(--bg-3);stroke:var(--gold);stroke-width:1.5}
.dg-seal{fill:rgb(196 122 85 / .38);stroke:var(--accent);stroke-width:1.5}
.dg-traube circle{fill:rgb(110 38 76 / .45);stroke:var(--ink-2);stroke-width:1.4}
.dg-traube path{fill:none;stroke:var(--sage);stroke-width:1.5;stroke-linecap:round}
.dg-arrow{fill:none;stroke:var(--gold);stroke-width:1.5;stroke-dasharray:5 6}
.dg-mark{stroke:var(--gold);stroke-width:1.6}
.dg-glas path{fill:none;stroke:var(--ink-2);stroke-width:1.6;stroke-linecap:round}
.dg-glas .dg-glas-wein{fill:url(#dg-wein);stroke:none}
.dg-label text{font:500 15px var(--f-body);fill:var(--ink-2)}
.dg-label .dg-strong{fill:var(--gold);font-weight:600}
.dg-lead{fill:none;stroke:var(--ink-3);stroke-width:1;stroke-dasharray:1 4}
.dg-num circle{fill:var(--gold)}
.dg-num text{font:600 15px var(--f-body);fill:var(--bg);text-anchor:middle}
.steps{list-style:none;margin:clamp(48px,6vw,88px) 0 0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--line)}
.steps li{padding:30px 28px 0 0}
.steps li+li{padding-left:28px;border-left:1px solid var(--line)}
.steps__n{display:block;margin-bottom:14px;font-family:var(--f-display);font-weight:500;font-size:3.1rem;line-height:1;color:var(--gold)}
.steps h3{margin:0 0 10px;font-family:var(--f-display);font-weight:600;font-size:1.6rem;line-height:1.1;color:var(--ink)}
.steps p{margin:0;font-size:.95rem}
.qv__more{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:clamp(40px,5vw,80px);align-items:center;margin-top:clamp(72px,8vw,120px)}
.qv__photo img{aspect-ratio:5/6}
.qv__notes{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.note{padding:28px;border:1px solid var(--line);border-radius:20px;background:rgb(255 255 255 / .02)}
html[data-mode="cafe"] .note{background:rgb(255 255 255 / .35)}
.note h3{margin:0 0 10px;font-family:var(--f-display);font-weight:600;font-size:1.5rem;line-height:1.1;color:var(--ink)}
.note p{margin:0;font-size:.95rem}
.note p+p{margin-top:8px}
.note em{color:var(--ink);font-style:italic}
.note--cta{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;border-style:dashed;border-color:var(--line-2)}
.note--cta p{max-width:34em;color:var(--ink)}
.note__links{display:flex;flex-wrap:wrap;gap:18px}
.note .note__links{margin-top:14px}
.note__links a{display:inline-flex;align-items:center;gap:8px;min-height:44px;color:var(--ink);font-weight:500;text-decoration:underline;text-decoration-color:var(--line-2);text-underline-offset:5px}
.note__links .ico{width:18px;height:18px;color:var(--gold)}

/* ================= WEINHAUS: Sortiment ================= */
.sort{background:var(--bg-2)}
.sort__head{display:grid;grid-template-columns:1fr 1fr;gap:32px;align-items:end;margin-bottom:36px}
.sort__head .h2{margin-bottom:0}
.sort__lead{margin:0;font-size:clamp(1.2rem,1.05rem + .5vw,1.45rem);color:var(--ink-2)}
.sort__shop{color:var(--ink);text-decoration-color:var(--line-2);text-underline-offset:4px}
.tools{position:relative;z-index:5;display:flex;flex-direction:column;gap:14px;padding:18px 0;border-block:1px solid var(--line);background:color-mix(in oklab,var(--bg-2) 92%,transparent)}
@media (min-width:980px){.tools{position:sticky;top:var(--hdr);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chip{flex:none;display:inline-flex;align-items:center;gap:8px;height:40px;padding:0 16px;border:1px solid var(--line-2);border-radius:999px;background:transparent;color:var(--ink-2);font-size:.875rem;font-weight:500;cursor:pointer;transition:background-color .2s,color .2s,border-color .2s}
.chip:hover{color:var(--ink);border-color:var(--ink-3)}
.chip[aria-pressed="true"]{background:var(--ink);border-color:var(--ink);color:var(--bg)}
.chip__n{font-size:.72rem;opacity:.72;font-variant-numeric:tabular-nums}
.tools__row{display:flex;flex-wrap:wrap;gap:12px}
.search{position:relative;flex:1 1 300px;display:flex;align-items:center}
.search input{width:100%;height:48px;padding:0 18px 0 48px;border:1px solid var(--line-2);border-radius:999px;background:var(--bg);color:var(--ink);font-size:1rem;-webkit-appearance:none;appearance:none}
.search input::placeholder{color:var(--ink-3);opacity:1}
.search input::-webkit-search-cancel-button{filter:grayscale(1) opacity(.6)}
.search__ico{position:absolute;left:17px;width:20px;height:20px;color:var(--ink-3);pointer-events:none}
.sortsel{position:relative;display:flex;align-items:center;gap:12px}
.sortsel__l{font-size:.72rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3)}
.sortsel select{height:48px;padding:0 46px 0 18px;border:1px solid var(--line-2);border-radius:999px;background:var(--bg);color:var(--ink);font-size:.95rem;-webkit-appearance:none;appearance:none;cursor:pointer}
.sortsel::after{content:"";position:absolute;right:20px;top:50%;width:8px;height:8px;margin-top:-6px;border-right:1.5px solid var(--ink-2);border-bottom:1.5px solid var(--ink-2);transform:rotate(45deg);pointer-events:none}
.sort__bar{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:30px;margin:26px 0 28px}
.sort__status{margin:0;font-family:var(--f-display);font-style:italic;font-size:1.4rem;color:var(--ink)}
.grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(34px,3.4vw,52px) clamp(16px,2.2vw,32px)}
.js .grid[data-collapsed] .wine:not([data-best]){display:none}
.wine[hidden]{display:none!important}
.sort__empty{padding:40px 0;text-align:center;font-family:var(--f-display);font-size:1.4rem;color:var(--ink-2)}
.sort__empty a{color:var(--ink)}
.sort__more{display:flex;justify-content:center;margin-top:52px}
.sort__more[hidden]{display:none}

.wine{position:relative;display:flex;flex-direction:column}
.wine__tile{position:relative;isolation:isolate;overflow:hidden;aspect-ratio:4/5;border-radius:999px 999px 12px 12px;background:radial-gradient(85% 65% at 50% 36%,#fcf7ef 0%,var(--tile) 58%,var(--tile-2) 100%);box-shadow:0 34px 50px -36px rgb(0 0 0 / .85);transition:transform .5s var(--ease),box-shadow .5s var(--ease)}
.wine__tile::after{content:"";position:absolute;inset:0;border-radius:inherit;box-shadow:inset 0 0 0 1px rgb(60 30 20 / .08),inset 0 -50px 60px -46px rgb(70 34 20 / .35);pointer-events:none}
.wine__tile img{width:100%;height:100%;object-fit:cover;mix-blend-mode:multiply;transform:scale(1.02);transform-origin:50% 72%;transition:transform .8s var(--ease);filter:sepia(.1) contrast(1.05) saturate(1.05)}
.wine:hover .wine__tile{transform:translateY(-4px);box-shadow:0 44px 60px -38px rgb(0 0 0 / .9)}
.wine:hover .wine__tile img{transform:scale(1.07)}
.wine__ph{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;color:#8e5b3b}
.wine__ph-ico{width:46%;height:auto;aspect-ratio:1;opacity:.8}
.wine__ph span{font:600 .64rem/1 var(--f-body);letter-spacing:.2em;text-transform:uppercase;color:#6a5446}
.wine__body{display:flex;flex:1;flex-direction:column;gap:7px;padding:18px 2px 0}
.wine__body .badges{margin-bottom:3px}
.wine__title{margin:0;font-family:var(--f-display);font-weight:600;font-size:clamp(1.2rem,1rem + .5vw,1.46rem);line-height:1.1;color:var(--ink)}
.wine__open{padding:0;border:0;background:none;color:inherit;font:inherit;text-align:left;text-decoration:none;cursor:pointer}
.wine__open::after{content:"";position:absolute;inset:-8px;z-index:2;border-radius:999px 999px 16px 16px}
.wine__open:focus-visible{outline:none}
.wine__open:focus-visible::after{outline:2px solid var(--focus);outline-offset:2px}
.wine__prod{margin:0;font:600 .68rem/1.35 var(--f-body);letter-spacing:.16em;text-transform:uppercase;color:var(--ink-3)}
.wine__price{display:flex;flex-direction:column;gap:1px;margin:auto 0 0;padding-top:12px}
.wine__pr{font-family:var(--f-display);font-weight:600;font-size:1.6rem;line-height:1.1;color:var(--ink);font-variant-numeric:lining-nums}
.wine__gp,.wine__six{font-size:.75rem;line-height:1.5;color:var(--ink-3);font-variant-numeric:tabular-nums}

/* ================= WEINHAUS: Weinprobe ================= */
.tast{background:var(--bg)}
.tast__grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(44px,6vw,104px);align-items:start}
.tast__photo{position:sticky;top:calc(var(--hdr) + 40px)}
.tast__photo img{aspect-ratio:3/4;object-position:50% 40%}
.tast__facts{list-style:none;display:flex;flex-wrap:wrap;margin:30px 0 0;padding:0}
.tast__facts li{padding:0 30px;border-left:1px solid var(--line)}
.tast__facts li:first-child{padding-left:0;border-left:0}
.tast__facts strong{display:block;font-family:var(--f-display);font-weight:500;font-size:2.35rem;line-height:1;color:var(--gold)}
.tast__facts span{display:block;margin-top:6px;font-size:.72rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3)}
.tast__h3{margin:42px 0 14px;font:600 .75rem/1 var(--f-body);letter-spacing:.2em;text-transform:uppercase;color:var(--ink-3)}
.leaves{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0;padding:0}
.leaf[hidden]{display:none}
.leaf time{display:flex;flex-direction:column;padding:16px 18px 16px;border:1px solid var(--line-2);border-top:3px solid var(--gold);border-radius:6px 6px 16px 16px;background:linear-gradient(180deg,rgb(255 255 255 / .035),transparent)}
.leaf__wd{font-size:.66rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-3)}
.leaf__d{margin-top:8px;font-family:var(--f-display);font-weight:500;font-size:3.3rem;line-height:.95;color:var(--ink)}
.leaf__m{margin-top:6px;font-family:var(--f-display);font-style:italic;font-size:1.4rem;line-height:1.2;color:var(--accent-soft)}
.leaf__y{margin-top:8px;font-size:.78rem;color:var(--ink-2)}
.leaves__none{font-family:var(--f-display);font-size:1.3rem;color:var(--ink-2)}
.tast__more{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:44px}

/* ================= CAFÉ: Hero ================= */
.ca-hero{position:relative;overflow:hidden;padding-top:clamp(36px,5.5vw,84px);background:radial-gradient(60% 60% at 90% 10%,rgb(155 74 43 / .08),transparent 70%),var(--bg)}
.ca-hero__grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(36px,5vw,76px);align-items:center;padding-bottom:clamp(56px,7vw,100px)}
.ca-hero__title{margin:0;font-family:var(--f-display);font-weight:500;font-size:clamp(3rem,1.5rem + 5vw,6.3rem);line-height:.95;letter-spacing:-.018em;color:var(--ink)}
.ca-hero__title em{font-style:italic;color:var(--accent)}
.ca-hero__lead{margin:26px 0 0;max-width:31em;font-size:1.1rem}
.ca-hero__photo{position:relative;margin:14px}
.ca-hero__photo img{width:100%;aspect-ratio:16/11;object-fit:cover;object-position:50% 30%;border-radius:50% 50% 18px 18px/24% 24% 18px 18px;box-shadow:0 50px 80px -48px rgb(42 27 20 / .65)}
.ca-hero__photo::before{content:"";position:absolute;inset:-14px;border:1px solid var(--line-2);border-radius:50% 50% 28px 28px/25% 25% 28px 28px;pointer-events:none}
.stamp{position:absolute;left:-30px;bottom:-34px;display:flex;flex-direction:column;align-items:center;justify-content:center;width:152px;height:152px;margin:0;border-radius:50%;background:var(--accent);color:#fcf4ea;text-align:center;transform:rotate(-9deg);box-shadow:0 22px 40px -20px rgb(90 30 10 / .7)}
.stamp::before{content:"";position:absolute;inset:7px;border:1px dashed rgb(252 244 234 / .55);border-radius:50%}
.stamp__s{font:600 .64rem/1 var(--f-body);letter-spacing:.22em;text-transform:uppercase;color:#fcf4ea}
.stamp__d{margin-top:6px;font-family:var(--f-display);font-weight:600;font-size:2.35rem;line-height:1;color:#fcf4ea}
.stamp__y{margin-bottom:7px;font-family:var(--f-display);font-style:italic;font-size:1.15rem;line-height:1.1;color:#fcf4ea}
.stamp--m{display:none}
.band{background:var(--bg-2);border-block:1px solid var(--line)}
.band__in{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:10px 24px;padding-block:24px;font-family:var(--f-display);font-style:italic;font-weight:500;font-size:clamp(1.3rem,1rem + 1vw,1.95rem);color:var(--ink)}
.band__ico{width:36px;height:36px;color:var(--accent)}

/* ================= CAFÉ: Karte ================= */
.menu{background:var(--bg)}
.menu__head{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:32px;align-items:end;margin-bottom:clamp(40px,5vw,72px)}
.menu__head .lead{max-width:30em;margin-bottom:0}
.menu__art{display:flex;align-items:flex-end;margin:0;color:var(--ink)}
.menu__art-a{width:clamp(150px,18vw,240px);height:auto;aspect-ratio:1}
.menu__art-b{width:clamp(100px,12vw,160px);height:auto;aspect-ratio:1;margin-left:-28px;color:var(--accent)}
.menu__cols{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0 clamp(40px,6.5vw,104px);align-items:start}
.menu__col{display:flex;flex-direction:column}
.mg{margin:0 0 clamp(40px,4.4vw,60px);padding-top:22px;border-top:1px solid var(--line-2)}
.mg__head{display:flex;align-items:center;gap:14px;margin-bottom:14px}
.mg__ico{flex:none;width:48px;height:48px;color:var(--accent)}
.mg__title{margin:0;font-family:var(--f-display);font-weight:600;font-size:clamp(1.6rem,1.25rem + 1vw,2.05rem);line-height:1.05;color:var(--ink)}
.mg__sub{display:block;margin-bottom:5px;font:600 .64rem/1.2 var(--f-body);letter-spacing:.18em;text-transform:uppercase;color:var(--sage)}
.mg__geo{margin-left:auto;font-family:var(--f-geo);font-size:1rem;color:var(--sage)}
.mg__list{list-style:none;margin:0;padding:0}
.mg__list li{padding:13px 0;border-bottom:1px dashed var(--line)}
.mg__list li:last-child{border-bottom:0}
.mi{display:flex;align-items:baseline;gap:10px}
.mi__name{font-size:1.03rem;font-weight:500;color:var(--ink)}
.mi__tag{margin-left:10px;font-size:.64rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--sage);vertical-align:2px}
.mi__dots{flex:1;min-width:14px;border-bottom:1px dotted var(--ink-3);opacity:.55;transform:translateY(-5px)}
.mi__pr{font-weight:500;color:var(--ink);white-space:nowrap;font-variant-numeric:tabular-nums}
.mi__vn,.mi__je{font-size:.78rem;font-weight:400;color:var(--ink-3)}
.mi__je{font-style:italic}
.mi__sep{margin:0 4px;color:var(--ink-3)}
.mi__desc{margin:3px 0 0;font-family:var(--f-display);font-style:italic;font-size:1.1rem;line-height:1.35;color:var(--ink-2)}
.mi__var{margin:3px 0 0;font-size:.86rem}
.mi__ex{margin:6px 0 0;font-size:.8rem;color:var(--ink-3)}
.mi--head,.mi--tab{display:grid;grid-template-columns:minmax(0,1fr) 74px 74px;gap:8px;align-items:baseline}
.mi--head{padding-bottom:2px}
.mi__vh{text-align:right;font-size:.66rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3)}
.mi__pr--col{text-align:right}
.mi__pr--col .vh{position:absolute}
.mg__note{display:inline-block;margin:14px 0 0;padding:7px 15px;border-radius:14px;background:var(--bg-2);font-size:.86rem;line-height:1.5;color:var(--ink-2)}
.mg__note strong,.mg__note span{color:var(--ink);font-weight:600}
.menu__fine{margin-top:8px}

/* ================= CAFÉ: Kaffee & Bar ================= */
.bar{background:var(--bg)}
.bar::before{content:"";position:absolute;top:0;left:var(--gutter);right:var(--gutter);height:1px;background:linear-gradient(90deg,transparent,var(--line-2) 20%,var(--line-2) 80%,transparent)}
.bar__grid{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,5fr);gap:clamp(40px,6.5vw,104px);align-items:start}
.bar__menu .mg:first-of-type{margin-top:8px}
.bar__photos{display:grid;grid-template-columns:1fr 1fr;gap:18px;align-items:start;padding-top:12px}
.bp{margin:0}
.bp img{width:100%;object-fit:cover;border-radius:999px 999px 12px 12px;box-shadow:0 30px 50px -36px rgb(42 27 20 / .6)}
.bp--a img,.bp--b img{aspect-ratio:3/4}
.bp--b{margin-top:56px}
.bp--c{grid-column:1/-1}
.bp--c img{aspect-ratio:16/10;border-radius:14px}
.bridge{position:relative;overflow:hidden;display:grid;grid-template-columns:auto minmax(0,1fr);gap:clamp(24px,4vw,64px);align-items:center;margin-top:clamp(64px,8vw,112px);padding:clamp(32px,5vw,64px);border-radius:28px;background:radial-gradient(70% 120% at 88% 10%,rgb(186 100 58 / .34),transparent 60%),radial-gradient(40% 80% at 0% 100%,rgb(120 38 72 / .3),transparent 70%),#160d11;color:#f3e9da;isolation:isolate}
.bridge__geo{font-family:var(--f-geo);font-weight:500;font-size:clamp(2.3rem,1.3rem + 3.4vw,4.6rem);line-height:1.1;color:#cfa865}
.bridge .eyebrow{color:#cfa865}
.bridge__h{margin:0 0 14px;font-family:var(--f-display);font-weight:500;font-size:clamp(1.8rem,1.2rem + 1.8vw,2.8rem);line-height:1.05;color:#f3e9da}
.bridge p{max-width:36em;color:#c9b9a4}
.bridge p em{color:#f3e9da}
.bridge .btn{margin-top:10px;background:#cfa865;border-color:#cfa865;color:#160d11}
.bridge .btn:hover{background:#dfbc7c;border-color:#dfbc7c}
.bridge .btn:focus-visible{outline-color:#f0cf8e}
.bridge__ico{position:absolute;z-index:-1;right:-26px;bottom:-40px;width:260px;height:260px;color:rgb(207 168 101 / .12)}

/* ================= GEMEINSAM: Über uns ================= */
.about{background:var(--bg-2)}
.about__grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:clamp(44px,6.5vw,104px);align-items:start}
.timeline{list-style:none;margin:40px 0 0;padding:0;border-left:1px solid var(--line-2)}
.timeline li{position:relative;display:grid;grid-template-columns:118px minmax(0,1fr);gap:16px;padding:0 0 28px 26px}
.timeline li:last-child{padding-bottom:0}
.timeline li::before{content:"";position:absolute;left:-5px;top:9px;width:9px;height:9px;border-radius:50%;background:var(--gold);box-shadow:0 0 0 5px var(--bg-2)}
.timeline__y{font-family:var(--f-display);font-weight:600;font-size:1.35rem;line-height:1.3;color:var(--gold)}
.timeline h3{margin:3px 0 4px;font-size:1rem;font-weight:600;line-height:1.3;color:var(--ink)}
.timeline p{margin:0;font-size:.95rem}
.about__media{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:22px 18px}
.about__media figure{margin:0}
.about__p1{grid-column:1/-1}
.about__p1 img{width:100%;aspect-ratio:16/8.4;object-fit:cover;border-radius:18px}
.about__p2{grid-column:1/4}
.about__p2 img{aspect-ratio:3/4}
.about__p2::before{inset:-9px -9px auto}
.about__p3{grid-column:4/7;align-self:center;padding:10px 10px 0;background:#f6efe3;border-radius:4px;box-shadow:0 30px 50px -30px rgb(0 0 0 / .55);transform:rotate(2.2deg)}
.about__p3 img{width:100%;aspect-ratio:2/3;object-fit:cover;border-radius:2px}
.about__p3 figcaption{margin:0;padding:10px 2px 12px;color:#5a473b;font-size:.64rem}
.supra{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(40px,6.5vw,104px);align-items:center;margin-top:clamp(72px,9vw,128px);padding-top:clamp(44px,5vw,68px);border-top:1px solid var(--line)}
.supra__text p{max-width:36em}
.pull{margin:0;padding-left:clamp(20px,3vw,40px);border-left:1px solid var(--gold)}
.pull p{margin:0;font-family:var(--f-display);font-style:italic;font-weight:500;font-size:clamp(1.8rem,1.2rem + 2vw,3rem);line-height:1.14;color:var(--ink)}
.pull footer{margin-top:18px;font-size:.72rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-3)}
.pull footer span{font-weight:400;letter-spacing:.04em;text-transform:none}

/* ================= GEMEINSAM: Bewertungen ================= */
.rev{background:var(--bg)}
.rev__grid{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,7fr);gap:clamp(44px,6.5vw,104px);align-items:start}
.rev__big{display:flex;align-items:baseline;gap:14px;margin:10px 0 12px}
.rev__num{font-family:var(--f-display);font-weight:500;font-size:clamp(6rem,3.8rem + 6vw,9.6rem);line-height:.8;color:var(--ink)}
.rev__of{font-family:var(--f-display);font-style:italic;font-size:1.7rem;color:var(--ink-3)}
.stars{display:block;width:150px;height:auto;margin-top:22px}
.stars__off{fill:var(--line-2)}
.stars__on{fill:var(--gold)}
.stars--s{display:inline-block;width:84px;margin-top:0}
.rev__count{margin:16px 0 0}
.rev__count a{display:inline-flex;align-items:center;gap:8px;min-height:44px;color:var(--ink);text-decoration:underline;text-decoration-color:var(--line-2);text-underline-offset:5px}
.rev__count .ico{width:16px;height:16px}
.dist{list-style:none;display:grid;gap:8px;max-width:300px;margin:30px 0 0;padding:0}
.dist li{display:grid;grid-template-columns:12px 12px minmax(0,1fr) 16px;align-items:center;gap:8px;font-size:.8rem;color:var(--ink-2);font-variant-numeric:tabular-nums}
.dist__ico{width:12px;height:12px;fill:var(--gold)}
.dist__bar{height:6px;border-radius:99px;background:var(--line);overflow:hidden}
.dist__bar span{display:block;width:calc(var(--w) * 100%);height:100%;border-radius:inherit;background:var(--gold)}
.dist__v{text-align:right}
.quote{margin:0;padding:30px 0;border-top:1px solid var(--line)}
.quote:first-child{padding-top:6px;border-top:0}
.quote blockquote{margin:0}
.quote p{margin:0;font-family:var(--f-display);font-weight:500;font-size:clamp(1.5rem,1.15rem + 1.2vw,2.15rem);line-height:1.22;color:var(--ink)}
.quote figcaption{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;margin-top:16px;font-size:.84rem;font-weight:400;letter-spacing:0;text-transform:none;color:var(--ink-2)}
.quote__who{font-weight:600;color:var(--ink)}
.quote__note{flex-basis:100%;font-size:.8rem;font-style:italic;color:var(--ink-3)}

/* ================= GEMEINSAM: Besuch ================= */
.visit{background:var(--bg-2)}
.visit__grid{display:grid;grid-template-columns:1.1fr 1fr 1fr;gap:clamp(36px,4.5vw,72px);align-items:start;margin-top:48px}
.visit__addr{font-family:var(--f-display);font-style:normal;font-size:1.65rem;line-height:1.3;color:var(--ink)}
.visit__addr strong{font-weight:600}
.visit__open{display:flex;align-items:center;gap:10px;min-height:1.6em;margin:16px 0 24px;font-weight:500;color:var(--ink)}
.contact{list-style:none;display:grid;margin:0;padding:0}
.contact a{display:flex;align-items:center;gap:14px;padding:11px 0;border-bottom:1px solid var(--line);color:var(--ink);text-decoration:none;transition:padding .3s var(--ease)}
.contact a:hover{padding-left:6px}
.contact .ico{width:22px;height:22px;color:var(--gold)}
.contact span{line-height:1.3;overflow-wrap:anywhere}
.contact small{display:block;font-size:.66rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-3)}
.visit__pay{display:flex;align-items:center;gap:10px;margin-top:20px;font-size:.9rem}
.visit__pay .ico{width:20px;height:20px;color:var(--gold)}
.visit__h3{margin:0 0 14px;font-family:var(--f-display);font-weight:500;font-size:1.85rem;color:var(--ink)}
.hours{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}
.hours th,.hours td{padding:11px 12px;border-bottom:1px solid var(--line);font-weight:400;text-align:left}
.hours th{color:var(--ink-2)}
.hours td{text-align:right;color:var(--ink)}
.hours tr.is-today{background:var(--bg-3)}
.hours tr.is-today th,.hours tr.is-today td{color:var(--ink);font-weight:600}
.today-tag{display:none;margin-left:10px;padding:3px 8px;border-radius:999px;background:var(--gold);color:var(--bg);font-size:.6rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;vertical-align:2px}
tr.is-today .today-tag{display:inline-block}
.visit__map{display:flex;flex-direction:column;align-items:center;gap:22px;text-align:center}
.visit__map .fine{margin-top:0}
.seal{display:block;width:min(100%,290px);height:auto}
.seal__o{fill:none;stroke:var(--line-2)}
.seal__i{fill:none;stroke:var(--line)}
.seal__i--d{stroke-dasharray:2 6}
.seal__x{stroke:var(--line-2)}
.seal__spin{transform-origin:160px 160px;animation:drehen 80s linear infinite}
.seal__txt{font:600 11.5px var(--f-body);letter-spacing:.22em;fill:var(--ink-2)}
.seal__n{font:600 12px var(--f-body);fill:var(--gold);text-anchor:middle}
.seal__pin{fill:var(--accent)}
.seal__dot{fill:var(--bg-2)}
@keyframes drehen{to{transform:rotate(360deg)}}

/* ================= Fußzeile ================= */
.ftr{--ink:#f3e9da;--ink-2:#cdbda8;--ink-3:#ab9883;--line:rgb(255 244 228 / .12);background:#0e080b;padding:clamp(56px,7vw,96px) 0 36px;color:var(--ink-2);font-size:.9rem}
html[data-mode="cafe"] .ftr{--ink:#f5eee4;--ink-2:#dccfbe;--ink-3:#bba892;background:#2a1b14}
.ftr__grid{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:32px 64px;align-items:start}
.ftr p{color:var(--ink-2)}
.ftr a{color:var(--ink);text-decoration:none}
.ftr a:hover{text-decoration:underline;text-underline-offset:4px}
.logo-voll{display:block;width:96px;height:auto}
.ftr__nav{display:flex;flex-direction:column;gap:0}
.ftr__nav a{display:inline-flex;align-items:center;min-height:44px}
.ftr__col a{display:inline-block;padding-block:12px}
.hero-status{margin:18px 0 0}
.hero-status a{display:inline-flex;align-items:center;gap:10px;min-height:44px;color:var(--ink-2);font-size:.92rem;font-weight:500;text-decoration:none}
.hero-status a:hover{color:var(--ink)}
.hero-status .ico{width:16px;height:16px}
.ftr__copy{grid-column:1/-1;margin:12px 0 0;padding-top:22px;border-top:1px solid var(--line);font-size:.8rem;color:var(--ink-3)!important}

/* ================= Wein-Dialog ================= */
.wd{width:min(1060px,calc(100% - 48px));max-width:none;max-height:min(90vh,880px);padding:0;border:0;border-radius:24px;background:var(--bg-2);color:var(--ink);box-shadow:0 50px 140px rgb(0 0 0 / .55);overflow:hidden}
.wd::backdrop{background:rgb(10 5 7 / .72);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
html[data-mode="cafe"] .wd::backdrop{background:rgb(42 27 20 / .55)}
.wd[open]{animation:wd-in .5s var(--ease)}
@keyframes wd-in{from{opacity:0;transform:translateY(26px) scale(.985)}}
html:has(.wd[open]){overflow:hidden}
.wd__grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);height:min(90vh,880px)}
.wd__media{position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;background:radial-gradient(80% 60% at 50% 40%,#fcf7ef,var(--tile) 60%,var(--tile-2))}
.wd__media img{width:100%;height:100%;object-fit:cover;mix-blend-mode:multiply;transform:scale(1.06);filter:contrast(1.04) saturate(1.04)}
.wd__media .wine__ph-ico{width:40%}
.wd__body{overflow:auto;padding:52px 48px 40px;overscroll-behavior:contain}
.wd__prod{margin:0 0 10px;font:600 .72rem/1.3 var(--f-body);letter-spacing:.18em;text-transform:uppercase;color:var(--ink-3)}
.wd__title{margin:0 0 16px;padding-right:40px;font-family:var(--f-display);font-weight:600;font-size:clamp(2rem,1.4rem + 2vw,3.05rem);line-height:1.02;color:var(--ink)}
.wd__price{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 18px;margin:22px 0;padding:18px 0;border-block:1px solid var(--line)}
.wd__pr{font-family:var(--f-display);font-weight:600;font-size:2.5rem;line-height:1;color:var(--ink)}
.wd__sub{font-size:.84rem;color:var(--ink-3);font-variant-numeric:tabular-nums}
.wd__facts{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:9px 22px;margin:0 0 18px;font-size:.94rem}
.wd__facts dt{padding-top:3px;font-size:.68rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3)}
.wd__facts dd{margin:0;color:var(--ink)}
.wd__sul{margin:0 0 16px;font-size:.86rem;color:var(--ink-2)}
.wd__wissen{margin:24px 0;padding:22px 24px;border:1px solid var(--line);border-radius:18px;background:var(--bg-3)}
.wd__wissen h3{margin:0 0 10px;font-family:var(--f-display);font-weight:500;font-size:1.55rem;line-height:1.1;color:var(--ink)}
.wd__wissen h3 small{display:block;margin-bottom:8px;font:600 .64rem/1 var(--f-body);letter-spacing:.2em;text-transform:uppercase;color:var(--gold)}
.wd__wissen p{margin:0 0 8px;font-size:.93rem}
.wd__wissen .wd__passt{color:var(--ink-2)}
.wd__wissen .wd__passt strong{color:var(--ink);font-weight:600}
.wd__src{margin:12px 0 0!important;font-size:.74rem!important;color:var(--ink-3)!important}
.wd__actions{position:sticky;bottom:-40px;z-index:2;display:flex;flex-wrap:wrap;gap:10px;margin:18px -48px -40px;padding:18px 48px 26px;background:linear-gradient(to top,var(--bg-2) 72%,color-mix(in oklab,var(--bg-2) 0%,transparent))}
.wd__actions .btn{flex:1 1 auto;min-height:48px;padding:0 18px;font-size:.9rem}
.wd__note{margin:18px 0 0;font-size:.78rem;color:var(--ink-3)}
.wd__close,.wd__navbtn{display:grid;place-items:center;width:44px;height:44px;border:1px solid var(--line-2);border-radius:50%;background:color-mix(in oklab,var(--bg-2) 86%,transparent);color:var(--ink);cursor:pointer;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:background-color .2s}
.wd__close:hover,.wd__navbtn:hover{background:var(--bg-3)}
.wd__close .ico,.wd__navbtn .ico{width:20px;height:20px}
.wd__close{position:absolute;top:16px;right:16px;z-index:3}
.wd__nav{position:absolute;left:16px;bottom:16px;z-index:3;display:flex;gap:8px}
.wd__navbtn{background:rgb(252 247 239 / .85);border-color:rgb(60 30 20 / .2);color:#2a1b14}
.wd__navbtn:hover{background:#fff}

/* ================= Rechtsseiten ================= */
.legal__main{max-width:780px;padding-block:clamp(56px,8vw,112px)}
.legal__main .h3{margin-top:40px;font-size:1.7rem}
.legal__main p{color:var(--ink-2)}
.legal__main a:not(.btn){color:var(--ink)}
.legal__draft{padding:14px 18px;border:1px dashed var(--accent);border-radius:14px;font-size:.9rem;color:var(--ink)!important}
.legal .hdr__in .btn{min-height:44px;padding:0 18px;font-size:.88rem}

/* Scroll-Einblendung (nur mit JS, nicht bei reduzierter Bewegung) */
.rv-on .rv{opacity:0;transform:translateY(22px);transition:opacity 1s var(--ease),transform 1s var(--ease)}
.rv-on .rv.in{opacity:1;transform:none}

/* ================= Responsive ================= */
@media (max-width:1180px){
  .grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .steps{grid-template-columns:repeat(2,minmax(0,1fr))}
  .steps li:nth-child(3){padding-left:0;border-left:0}
  .steps li:nth-child(n+3){margin-top:12px}
  .visit__grid{grid-template-columns:1fr 1fr}
  .visit__map{grid-column:1/-1;flex-direction:row;flex-wrap:wrap;justify-content:center;text-align:left}
  .visit__map .fine{flex-basis:100%;text-align:center}
}
@media (max-width:1080px){
  .hdr__nav a[data-for]{display:none!important}
}
@media (max-width:960px){
  .wh-hero__grid,.qv__top,.qv__more,.tast__grid,.ca-hero__grid,.bar__grid,.about__grid,.rev__grid,.supra{grid-template-columns:minmax(0,1fr)}
  .wh-hero{min-height:0}
  .wh-hero__art{position:absolute;z-index:-1;top:-2%;right:-16%;width:min(66%,380px);opacity:.3}
  .wh-hero__halo{animation:none}
  .qv__photo{max-width:420px}
  .tast__photo{position:relative;top:0;max-width:460px}
  .sort__head{grid-template-columns:minmax(0,1fr);gap:16px}
  .menu__cols{display:flex;flex-direction:column;align-items:stretch}
  .menu__col{display:contents}
  .menu__cols .mg{order:var(--o)}
  .bar__photos{max-width:560px}
  .ca-hero__photo{order:-1;margin:14px 14px 36px}
  .about__media{max-width:640px}
}
@media (max-width:767px){
  :root{--hdr:64px}
  .hdr__in{grid-template-columns:auto minmax(0,1fr);gap:12px}
  .hdr__nav{display:none}
  .switch{justify-self:end}
  .switch [role="tab"]{height:44px;padding:0 14px;font-size:.84rem;gap:6px}
  .chip{height:44px}
  .switch__ico{width:17px;height:17px}
  .logo-wort{width:94px}
  .grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 14px}
  .wine__body{padding-top:14px;gap:6px}
  .wine__pr{font-size:1.4rem}
  .badge{height:20px;padding:0 7px;font-size:.6rem}
  .facts{grid-template-columns:minmax(0,1fr)}
  .facts>div,.facts>div+div{padding:16px 0;border-left:0;border-bottom:1px solid var(--line)}
  .steps{grid-template-columns:minmax(0,1fr)}
  .steps li,.steps li+li{padding:24px 0 0;border-left:0}
  .steps li+li{margin-top:22px;border-top:1px solid var(--line)}
  .qv__notes,.tast__more{grid-template-columns:minmax(0,1fr)}
  .dg-label{display:none}
  .dg-num circle{r:20px}
  .dg-num text{font-size:21px;transform:translateY(2px)}
  .chips{flex-wrap:nowrap;overflow-x:auto;margin-inline:calc(-1 * var(--gutter));padding:2px var(--gutter);scrollbar-width:none;-webkit-mask-image:linear-gradient(90deg,transparent,#000 14px,#000 calc(100% - 28px),transparent);mask-image:linear-gradient(90deg,transparent,#000 14px,#000 calc(100% - 28px),transparent)}
  .chips::-webkit-scrollbar{display:none}
  .sortsel{flex:1 1 100%}
  .sortsel select{flex:1}
  .leaves{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
  .leaf time{padding:12px 12px 12px}
  .leaf__d{font-size:2.4rem}
  .leaf__m{font-size:1.1rem}
  .leaf__y{font-size:.7rem}
  .tast__facts li{padding:0 18px}
  .tast__facts strong{font-size:1.9rem}
  .stamp{width:118px;height:118px;left:-8px;bottom:-26px}
  .stamp__d{font-size:1.8rem}
  .stamp__y{font-size:.95rem}
  .band__ico{width:28px;height:28px}
  .menu__head{grid-template-columns:minmax(0,1fr)}
  .menu__art{display:none}
  .mi--head,.mi--tab{grid-template-columns:minmax(0,1fr) 62px 62px}
  .bridge{grid-template-columns:minmax(0,1fr);gap:12px}
  .timeline li{grid-template-columns:minmax(0,1fr);gap:2px}
  .visit__grid{grid-template-columns:minmax(0,1fr)}
  .visit__map{flex-direction:column;text-align:center}
  .ftr__grid{grid-template-columns:minmax(0,1fr)}
  .wd{width:100%;max-height:94svh;margin:auto 0 0;border-radius:24px 24px 0 0}
  .wd[open]{animation:wd-up .45s var(--ease)}
  .wd__grid{grid-template-columns:minmax(0,1fr);height:auto;max-height:94svh;overflow:auto;overscroll-behavior:contain}
  .wd__media{height:min(46svh,380px);flex:none}
  .wd__body{overflow:visible;padding:28px 20px 36px}
  .wd__nav{top:16px;bottom:auto}
  .wd__title{padding-right:0}
  .wd__actions{position:static;margin:18px 0 0;padding:0;background:none}
  @keyframes wd-up{from{transform:translateY(40px);opacity:0}}
}
@media (max-width:420px){
  .switch__ico{display:none}
  .switch [role="tab"]{padding:0 13px}
  .logo-wort{width:86px}
  .demo{font-size:.72rem;padding-inline:44px}
}
@media (max-width:460px){
  .tast__facts{display:grid;grid-template-columns:repeat(3,minmax(0,auto));justify-content:start}
  .tast__facts li{padding:0 12px}
  .tast__facts strong{font-size:1.5rem}
  .tast__facts span{letter-spacing:.08em}
}
/* ================= Verfügbarkeit (alle Breiten) ================= */
.badge--aus{border-color:var(--ink-3);background:var(--bg-3);color:var(--ink)}
.wine--aus .wine__tile{opacity:1;filter:none}
/* Ausverkauft: nur Flasche bzw. Krug-Symbol abblassen, nicht die Schrift „Foto folgt“ (Kontrast) */
.wine--aus .wine__tile img{opacity:.6;filter:sepia(.1) contrast(1.05) grayscale(.6)}
.wine--aus .wine__ph-ico{opacity:.6;filter:grayscale(.6)}
.wine--aus .wine__title,.wine--aus .wine__pr{color:var(--ink-2)}
.wine--aus{container-type:inline-size}
.wine--aus .badge--aus{position:absolute;z-index:1;left:50%;top:calc(125cqw - 38px);transform:translateX(-50%);height:26px;padding:0 12px;border-color:rgb(243 233 218 / .35);background:rgb(22 13 17 / .82);color:#f3e9da;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.wd__aus{margin:-4px 0 20px;padding:14px 16px;border:1px dashed var(--line-2);border-radius:14px;font-size:.9rem;color:var(--ink-2)}
.wd__aus strong{color:var(--ink);font-weight:600}

/* Nur-Mobil-Bausteine: auf größeren Bildschirmen aus, Hilfs-Wrapper neutral */
.lbl-m,.ca-chip,.ktabs,.abar,.orn,.car-dots{display:none}
.qv__cards,.rev__list{display:contents}
@keyframes schweben{0%,100%{transform:translateY(0)}50%{transform:translateY(-11px)}}
@keyframes funken{0%{opacity:0;transform:translateY(24px)}25%{opacity:1}75%{opacity:.7}100%{opacity:0;transform:translateY(-70px)}}
@keyframes kenburns{from{transform:scale(1.14)}to{transform:scale(1.02)}}
@keyframes einblenden{from{opacity:0}}
@keyframes puls{0%{box-shadow:0 0 0 0 rgb(87 178 111 / .55)}70%{box-shadow:0 0 0 8px rgb(87 178 111 / 0)}100%{box-shadow:0 0 0 0 rgb(87 178 111 / 0)}}

/* ================= MOBIL (≤767px) ================= */
@media (max-width:767px){
  /* Rhythmus + Typografie */
  .sec{padding-block:46px 42px}
  .eyebrow{margin-bottom:14px;font-size:.68rem;letter-spacing:.22em}
  .eyebrow::before{width:22px}
  .h2{margin-bottom:18px;font-size:clamp(2.65rem,1.3rem + 6.4vw,3.45rem);line-height:.97;letter-spacing:-.018em}
  .h3{font-size:clamp(1.8rem,1.2rem + 3vw,2.2rem)}
  .lead{margin-bottom:16px;font-size:clamp(1.24rem,1.05rem + 1vw,1.4rem);line-height:1.3}
  .btns{margin-top:24px}
  .fine{margin-top:16px;font-size:.76rem}
  .lbl-d{display:none}
  .lbl-m{display:inline}

  /* Ornament-Trenner an den Nähten */
  .orn{display:block;position:absolute;z-index:3;left:50%;top:0;width:min(72vw,280px);height:auto;transform:translate(-50%,-50%);color:var(--gold);overflow:visible;pointer-events:none}
  .orn__l{fill:none;stroke:currentColor;stroke-width:1.1;stroke-linecap:round;opacity:.7}
  .orn__d{fill:currentColor;opacity:.75}
  .orn__bg{fill:var(--bg);stroke:var(--line-2);stroke-width:1}
  .rv-on .orn.rv{transform:translate(-50%,-50%) scale(.7)}
  .rv-on .orn.rv.in{transform:translate(-50%,-50%)}
  .qv::before,.bar::before{display:none}

  /* Wisch-Karussells */
  .car{display:flex!important;flex-wrap:nowrap;gap:12px;margin-inline:calc(-1 * var(--gutter));padding:4px var(--gutter);overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scroll-padding-inline:var(--gutter);overscroll-behavior-x:contain;scrollbar-width:none;list-style:none}
  .car::-webkit-scrollbar{display:none}
  .car>*{flex:0 0 84%;min-width:0;scroll-snap-align:start}
  .car.car--static>*{flex-shrink:1}
  .car-dots:not([hidden]){display:flex;justify-content:center;gap:2px;margin-top:10px}
  .car-dot{display:grid;place-items:center;width:22px;height:22px;padding:0;border:0;background:none;cursor:pointer}
  .car-dot::before{content:"";width:6px;height:6px;border-radius:99px;background:var(--line-2);transition:width .35s var(--ease),background-color .35s}
  .car-dot.is-on::before{width:22px;background:var(--gold)}

  /* ---------- Weinhaus-Hero: der goldene Krug ---------- */
  .wh-hero{min-height:0;padding:6px 0 30px;background:radial-gradient(115% 52% at 50% 24%,rgb(196 112 62 / .3),transparent 64%),radial-gradient(90% 40% at 0% 78%,rgb(120 38 72 / .24),transparent 70%),var(--bg)}
  .wh-hero__wm{left:50%;top:3%;transform:translateX(-50%);font-size:66vw;-webkit-text-stroke:1px rgb(207 168 101 / .07)}
  .wh-hero__grid{display:flex;flex-direction:column;align-items:center;gap:0;text-align:center}
  .wh-hero__art{position:relative;z-index:0;top:auto;right:auto;order:-1;width:auto;height:clamp(260px,46svh,460px);max-width:84vw;margin:10px auto -1svh;opacity:var(--pf,1);filter:drop-shadow(0 0 18px rgb(232 186 110 / .42)) drop-shadow(0 0 54px rgb(217 138 98 / .28));transform:translate3d(0,var(--py,0px),0);will-change:transform}
  .wh-hero__art::before,.wh-hero__art::after{content:"";position:absolute;pointer-events:none;border-radius:999px 999px 0 0;-webkit-mask-image:linear-gradient(#000 55%,transparent 92%);mask-image:linear-gradient(#000 55%,transparent 92%)}
  .wh-hero__art::before{inset:-5% -15% 6%;border:1px solid rgb(207 168 101 / .3);border-bottom:0}
  .wh-hero__art::after{inset:3% -6% 14%;border:1px dashed rgb(207 168 101 / .18);border-bottom:0}
  .wh-hero__halo{inset:10% -34% -4%;background:radial-gradient(closest-side,rgb(240 190 118 / .5),rgb(217 138 98 / .17) 55%,transparent);animation:flacker 6s ease-in-out infinite}
  .wh-hero__halo::before,.wh-hero__halo::after{content:"";position:absolute;inset:0;opacity:0;animation:funken 8s linear infinite;background-image:radial-gradient(1.8px 1.8px at 24% 72%,#f8dea8 50%,transparent),radial-gradient(1.3px 1.3px at 70% 60%,#f8dea8 50%,transparent),radial-gradient(2px 2px at 40% 40%,#f3cf8e 50%,transparent),radial-gradient(1.3px 1.3px at 80% 34%,#f8dea8 50%,transparent),radial-gradient(1.6px 1.6px at 58% 84%,#f8dea8 50%,transparent)}
  .wh-hero__halo::after{animation-delay:-4s;background-image:radial-gradient(1.4px 1.4px at 32% 52%,#f8dea8 50%,transparent),radial-gradient(1.9px 1.9px at 64% 76%,#f3cf8e 50%,transparent),radial-gradient(1.2px 1.2px at 18% 36%,#f8dea8 50%,transparent),radial-gradient(1.6px 1.6px at 76% 46%,#f8dea8 50%,transparent)}
  .logo-krug{animation:schweben 7s ease-in-out infinite}
  .wh-hero__text{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;width:100%}
  .wh-hero .eyebrow{order:1;justify-content:center;gap:10px;margin-bottom:8px;font-size:.6rem;letter-spacing:.16em;white-space:nowrap}
  .wh-hero .eyebrow::before,.wh-hero .eyebrow::after{content:"";width:18px;height:1px;background:currentColor;opacity:.7}
  .wh-hero__title{order:2;align-items:center}
  .wh-hero__latin{font-size:clamp(4.5rem,1.9rem + 13vw,5.9rem);line-height:.84;background:linear-gradient(180deg,#fcf5ea 35%,#e5c893 100%);-webkit-background-clip:text;background-clip:text;color:transparent}
  .wh-hero__geo{margin-top:.22em;font-size:clamp(1.55rem,1rem + 3vw,1.95rem);text-shadow:0 0 22px rgb(207 168 101 / .35)}
  .wh-hero__tag{order:3;margin:12px 0 0;font-size:clamp(1.28rem,1rem + 1.6vw,1.5rem)}
  .wh-hero .btns{order:4;flex-wrap:nowrap;justify-content:center;gap:10px;width:100%;margin-top:22px}
  .wh-hero .btns .btn,.ca-hero .btns .btn{flex:1 1 0;min-width:0;min-height:50px;padding:0 12px;gap:6px;font-size:.88rem;white-space:nowrap}
  .wh-hero .btns .btn .ico,.ca-hero .btns .btn .ico{width:16px;height:16px}
  .wh-hero .hero-status{order:5;margin-top:8px}
  .wh-hero__lead{display:none}
  .facts{gap:10px;margin-top:26px;border-top:0}
  .facts>div,.facts>div+div{flex:0 0 min(66%,250px);padding:16px 18px 18px;border:1px solid var(--line);border-top:2px solid var(--gold);border-radius:6px 6px 18px 18px;background:linear-gradient(180deg,rgb(207 168 101 / .09),rgb(255 255 255 / .01))}
  .facts dt{font-size:1.6rem}
  .facts dd{margin-top:4px;font-size:.82rem}

  /* ---------- Qvevri-Methode ---------- */
  .qv{padding-bottom:56px}
  .qv__top{gap:22px}
  .qv__intro p:not(.lead):not(.eyebrow){font-size:.95rem}
  .steps.car{margin-top:30px;border-top:0}
  .steps.car li,.steps.car li+li{margin:0;padding:22px 20px 24px;border:1px solid var(--line);border-radius:22px;background:linear-gradient(160deg,rgb(207 168 101 / .1),rgb(255 255 255 / .012) 62%)}
  html[data-mode="cafe"] .steps.car li{background:rgb(255 255 255 / .4)}
  .steps__n{margin-bottom:10px;font-size:3.6rem;background:linear-gradient(180deg,var(--gold),var(--accent));-webkit-background-clip:text;background-clip:text;color:transparent}
  .steps h3{font-size:1.55rem}
  .qv__more{gap:22px;margin-top:34px}
  .qv__photo{max-width:none;margin-inline:calc(-1 * var(--gutter))}
  .qv__photo::before{display:none}
  .qv__photo img{aspect-ratio:2/1;border-radius:0}
  .qv__photo figcaption{margin:10px var(--gutter) 0}
  .qv__cards .note{padding:22px}
  .note h3{font-size:1.4rem}
  .note--cta{padding:22px;gap:14px}
  .note--cta .btn{width:100%}

  /* ---------- Sortiment ---------- */
  .sort__head{gap:10px;margin-bottom:20px}
  .sort__lead{font-size:1.08rem}
  .tools{gap:10px;padding:12px 0}
  .chip{height:44px;padding:0 14px}
  .tools__row{flex-wrap:nowrap;gap:8px}
  .search{flex:1 1 auto;min-width:0}
  .search input{height:46px;padding-left:42px;font-size:.95rem}
  .search__ico{left:15px;width:18px;height:18px}
  .sortsel{flex:0 0 auto}
  .sortsel__l{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
  .sortsel select{flex:none;width:136px;height:46px;padding:0 34px 0 14px;font-size:.88rem}
  .sortsel::after{right:15px}
  .sort__bar{margin:16px 0 18px}
  .sort__status{font-size:1.2rem}
  .grid{gap:22px 12px}
  .wine__tile{aspect-ratio:5/5.9;border-radius:999px 999px 10px 10px;box-shadow:0 26px 36px -28px rgb(0 0 0 / .85)}
  .wine__tile::before{content:"";position:absolute;z-index:1;inset:6px;border:1px solid rgb(255 255 255 / .55);border-radius:999px 999px 7px 7px;pointer-events:none}
  .wine__body{gap:4px;padding-top:10px}
  .wine .badges{gap:4px;margin-bottom:1px}
  .wine .badge{height:19px;padding:0 6px;font-size:.55rem;letter-spacing:.07em}
  .wine .badge--typ::before{width:6px;height:6px}
  .wine--aus .badge--aus{top:calc(118cqw - 32px);height:22px;padding:0 9px;font-size:.54rem}
  .wine__title{font-size:1.13rem;line-height:1.08}
  .wine__prod{font-size:.58rem;letter-spacing:.13em}
  .wine__price{padding-top:6px}
  .wine__pr{font-size:1.32rem}
  .wine__gp{font-size:.66rem}
  .wine__six{display:none}
  .sort__more{margin-top:26px}
  .sort__more .btn{width:100%}

  /* ---------- Weinprobe ---------- */
  .tast__grid{gap:0}
  .tast__photo{position:relative;top:0;max-width:none;margin-inline:calc(-1 * var(--gutter))}
  .tast__photo::before{display:none}
  .tast__photo::after{content:"";position:absolute;inset:30% 0 0;background:linear-gradient(transparent,color-mix(in oklab,var(--bg) 70%,transparent) 55%,var(--bg));pointer-events:none}
  .tast__photo img{aspect-ratio:16/12;border-radius:0;object-position:50% 34%}
  .tast__body{position:relative;z-index:1;margin-top:-84px}
  .tast__facts{margin-top:18px}
  .tast__h3{margin:28px 0 10px}
  .leaves.car>li{flex:0 0 40%}
  .leaf time{padding:14px 14px 14px}
  .tast__more{margin-top:28px}
  .tast__more .note{padding:22px}

  /* ---------- Café-Hero: das Schaufenster am Abend ---------- */
  .ca-hero{padding-top:0}
  .ca-hero__grid{position:relative;isolation:isolate;display:flex;flex-direction:column;justify-content:flex-end;width:100%;min-height:max(540px,80svh);gap:0;padding:0 var(--gutter) 28px;overflow:hidden;border-radius:0 0 28px 28px}
  .ca-hero__photo{position:absolute;inset:0;z-index:-1;order:0;margin:0}
  .ca-hero__photo::before{display:none}
  .ca-hero__photo::after{content:"";position:absolute;z-index:1;inset:0;background:linear-gradient(180deg,rgb(22 12 9 / .5) 0%,rgb(22 12 9 / 0) 18%,rgb(22 12 9 / .45) 30%,rgb(22 12 9 / .7) 44%,rgb(22 12 9 / .82) 66%,rgb(22 12 9 / .93) 100%);pointer-events:none}
  .ca-hero__photo img{width:100%;height:100%;aspect-ratio:auto;object-fit:cover;object-position:40% 50%;border-radius:0;box-shadow:none;animation:kenburns 16s ease-out both}
  .enter .ca-hero__photo{animation:einblenden 1s var(--ease) both}
  .ca-hero__text{position:relative;z-index:1;--ink:#fbf4ea;--ink-2:#eadccb;--eyebrow:#ecc9a0}
  .ca-hero .eyebrow{position:relative;isolation:isolate;margin-bottom:12px;padding-right:116px;color:#f7dcb6;text-shadow:0 1px 12px rgb(0 0 0 / .6)}
  .ca-hero .eyebrow::after{content:"";position:absolute;z-index:-1;inset:-40px calc(-1 * var(--gutter)) -12px;background:linear-gradient(180deg,rgb(22 12 9 / 0),rgb(22 12 9 / .6) 40px,rgb(22 12 9 / .6) calc(100% - 12px),rgb(22 12 9 / 0));pointer-events:none}
  .ca-hero__title{font-size:clamp(2.7rem,1.3rem + 6.6vw,3.5rem);line-height:.95;color:#fbf4ea;text-shadow:0 2px 28px rgb(0 0 0 / .35)}
  .ca-hero__title em{color:#f2b892}
  .ca-hero__lead{margin-top:14px;font-size:.97rem;line-height:1.55;color:#eadccb}
  .ca-hero .btns{flex-wrap:nowrap;gap:10px;margin-top:22px}
  .ca-hero .btn:not(.btn--ghost){background:#fbf4ea;border-color:#fbf4ea;color:#2a1b14}
  .ca-hero .btn--ghost{background:rgb(255 255 255 / .1);border-color:rgb(255 255 255 / .45);color:#fbf4ea;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
  .ca-hero .btn--ghost .status-dot,.ca-hero .btn--ghost [data-status-short]{display:none}
  .ca-hero .btn:focus-visible{outline-color:#fbf4ea}
  .ca-chip{position:absolute;z-index:2;top:14px;left:var(--gutter);display:inline-flex;align-items:center;gap:9px;max-width:calc(100% - 2 * var(--gutter));margin:0;padding:8px 14px 8px 12px;border:1px solid rgb(255 255 255 / .24);border-radius:999px;background:rgb(22 12 9 / .46);-webkit-backdrop-filter:blur(12px) saturate(1.3);backdrop-filter:blur(12px) saturate(1.3);color:#fbf4ea;font-size:.8rem;font-weight:500;line-height:1.2}
  .ca-chip .status-dot:not(.is-open){background:#cdb9a3}
  .ca-chip .status-dot.is-open{animation:puls 2.2s ease-out infinite}
  .stamp{z-index:2;left:auto;right:12px;top:31%;bottom:auto;width:98px;height:98px;transform:rotate(9deg)}
  .stamp::before{inset:5px}
  .stamp__s{font-size:.52rem;letter-spacing:.18em}
  .stamp__d{margin-top:3px;font-size:1.5rem}
  .stamp__y{margin-bottom:4px;font-size:.8rem}
  .ca-hero__photo .stamp{display:none}
  .ca-hero__text .stamp--m{display:flex;top:-30px;right:calc(12px - var(--gutter))}
  .band{border-top:0}
  .band__in{gap:4px 12px;padding-block:18px;font-size:1.12rem}
  .band__ico{width:22px;height:22px}

  /* ---------- Karte: Tabs ---------- */
  .ktabs{display:block;position:sticky;top:var(--hdr);z-index:40;border-bottom:1px solid transparent;background:color-mix(in oklab,var(--bg) 88%,transparent);-webkit-backdrop-filter:blur(14px) saturate(1.2);backdrop-filter:blur(14px) saturate(1.2);transition:border-color .3s,box-shadow .3s}
  .ktabs.is-stuck{border-bottom-color:var(--line);box-shadow:0 12px 26px -22px rgb(42 27 20 / .6)}
  .ktabs__in{display:flex;gap:6px;padding:10px var(--gutter);overflow-x:auto;scrollbar-width:none;scroll-padding-inline:var(--gutter)}
  .ktabs__in::-webkit-scrollbar{display:none}
  .ktabs__in::after{content:"";flex:0 0 1px}
  .ktab{flex:none;display:inline-flex;align-items:center;gap:7px;height:44px;padding:0 15px 0 10px;border:1px solid var(--line-2);border-radius:999px;color:var(--ink-2);font-size:.84rem;font-weight:500;text-decoration:none;white-space:nowrap;transition:background-color .25s,color .25s,border-color .25s}
  .ktab__ico{width:24px;height:24px;color:var(--accent)}
  .ktab[aria-current]{background:var(--ink);border-color:var(--ink);color:var(--bg)}
  .ktab[aria-current] .ktab__ico{color:var(--bg)}
  .mg{scroll-margin-top:62px}
  .menu{padding-top:40px}
  .menu__head{gap:0;margin-bottom:18px}
  .mg{margin-bottom:18px;padding-top:14px}
  .mg__head{gap:12px;margin-bottom:8px}
  .mg__ico{width:42px;height:42px}
  .mg__title{font-size:1.75rem}
  .mg__list li{padding:7px 0}
  .mi__name{font-size:.98rem}
  .mi__desc{font-size:1.02rem}

  /* ---------- Kaffee & Bar ---------- */
  .bar{padding-top:40px}
  .bar__grid{gap:30px}
  .bar__photos.car{max-width:none;align-items:flex-start;padding-top:4px}
  .bar__photos.car>.bp{flex:0 0 50%}
  .bp--b{margin-top:0}
  .bp--a img,.bp--b img,.bp--c img{aspect-ratio:3/4;border-radius:999px 999px 12px 12px}
  .bp figcaption{margin-top:10px}
  .bridge{gap:6px;margin-top:36px;padding:24px 20px 24px;border-radius:24px}
  .bridge__geo{font-size:1.9rem}
  .bridge__h{font-size:1.8rem}
  .bridge .btn{width:100%}
  .bridge__ico{width:140px;height:140px;right:-30px;bottom:-34px}
  .bridge p{font-size:.93rem}

  /* ---------- Über uns ---------- */
  .about__grid{gap:26px}
  .timeline.car{gap:0;margin-top:22px;padding-top:12px;border-left:0}
  .timeline.car li{display:block;flex:0 0 72%;padding:20px 18px 0 0;border-top:1px solid var(--line-2)}
  .timeline.car li::before{left:0;top:-5px}
  .timeline__y{display:block;margin-bottom:4px}
  .timeline h3{margin:0 0 2px}
  .timeline p{font-size:.9rem;line-height:1.5}
  .about__media.car{max-width:none;align-items:flex-start;padding-block:10px 8px}
  .about__media.car>figure{flex:0 0 auto;width:64vw}
  .about__media.car>.about__p1{width:84vw}
  .about__media.car img{height:clamp(270px,78vw,340px);width:100%;aspect-ratio:auto;object-fit:cover}
  .about__p1 img{border-radius:18px;object-position:40% 50%}
  .about__p2::before{inset:-6px -6px auto}
  .about__media.car>.about__p3{transform:rotate(1.6deg);margin:0 10px}
  .about__media.car>.about__p3 img{height:clamp(236px,68vw,300px)}
  .supra{gap:22px;margin-top:36px;padding-top:30px}
  .supra__text p{font-size:.95rem;line-height:1.6}
  .pull p{font-size:1.5rem}
  .pull footer{margin-top:12px}

  /* ---------- Bewertungen ---------- */
  .rev__grid{gap:24px}
  .rev__score{display:grid;grid-template-columns:auto minmax(0,1fr);column-gap:24px;align-items:center}
  .rev__score>.eyebrow,.rev__score>.h2,.rev__count{grid-column:1/-1}
  .rev__big{grid-column:1;grid-row:3;margin:0}
  .rev__num{font-size:5.4rem}
  .rev__of{display:none}
  .rev__score>.stars{grid-column:1;grid-row:4;width:118px;margin-top:10px}
  .dist{grid-column:2;grid-row:3/5;max-width:none;margin:0}
  .rev__count{margin-top:18px;font-size:.9rem}
  .rev__list .quote,.rev__list .quote:first-child{padding:22px 22px 20px;border:1px solid var(--line);border-radius:22px;background:linear-gradient(160deg,rgb(207 168 101 / .07),transparent 60%)}
  html[data-mode="cafe"] .rev__list .quote{background:rgb(255 255 255 / .4)}
  .quote p{font-size:1.32rem;line-height:1.26}
  .quote figcaption{margin-top:14px;gap:6px 12px}

  /* ---------- Besuch ---------- */
  .visit__grid{gap:30px;margin-top:20px}
  .visit__addr{font-size:1.35rem;line-height:1.28}
  .contact a{padding:7px 0}
  .visit__open{margin:12px 0 16px}
  .visit__h3{font-size:1.6rem}
  .hours th,.hours td{padding:7px 10px}
  .seal{width:92px;flex:none}
  .visit__map{flex-direction:row;flex-wrap:wrap;align-items:center;gap:12px 16px;text-align:left}
  .visit__map .btn{flex:1 1 180px;min-width:0;padding:0 14px;font-size:.86rem}
  .visit__map .fine{flex-basis:100%;text-align:left}

  /* ---------- Fußzeile + Aktionsleiste ---------- */
  .ftr{padding-top:48px}
  body:not(.legal) .ftr{padding-bottom:calc(36px + 84px + env(safe-area-inset-bottom))}
  .ftr__grid{grid-template-columns:56px minmax(0,1fr);gap:14px 18px}
  .ftr__nav,.ftr__copy{grid-column:1/-1}
  .logo-voll{width:56px}
  .ftr__nav{flex-direction:row;flex-wrap:wrap;gap:0 22px}
  .ftr__col a{padding-block:12px}
  .ftr__copy{margin-top:4px;padding-top:16px}
  .abar{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;position:fixed;z-index:55;left:max(10px,env(safe-area-inset-left));right:max(10px,env(safe-area-inset-right));bottom:calc(10px + env(safe-area-inset-bottom));gap:2px;padding:5px;border:1px solid var(--line-2);border-radius:22px;background:color-mix(in oklab,var(--bg-2) 70%,transparent);-webkit-backdrop-filter:blur(18px) saturate(1.5);backdrop-filter:blur(18px) saturate(1.5);box-shadow:0 18px 40px -16px rgb(0 0 0 / .55),inset 0 1px 0 rgb(255 255 255 / .07);transition:transform .45s var(--ease),opacity .45s var(--ease)}
  .abar.is-away{transform:translateY(calc(100% + 26px + env(safe-area-inset-bottom)));opacity:0;pointer-events:none}
  html:not(.js) .abar.is-away{transform:none;opacity:1;pointer-events:auto}
  .abar a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-height:52px;border-radius:17px;color:var(--ink);font-size:.7rem;font-weight:600;letter-spacing:.03em;text-decoration:none;-webkit-tap-highlight-color:transparent;transition:background-color .2s}
  .abar a:active{background:var(--bg-3)}
  .abar .ico{width:22px;height:22px;color:var(--gold)}
  html.js[data-mode="weinhaus"] .abar [data-for="cafe"]{display:none}
  html.js[data-mode="cafe"] .abar [data-for="weinhaus"]{display:none}
  html:not(.js) .abar{grid-auto-columns:auto;justify-content:space-between}
  html:not(.js) .abar a{letter-spacing:0}
  html[data-mode="cafe"] .abar .abar__hl{background:var(--btn);color:var(--btn-ink)}
  html[data-mode="cafe"] .abar .abar__hl .ico{color:var(--btn-ink)}
  html:has(.wd[open]) .abar{opacity:0;pointer-events:none}

  /* ---------- Wein-Dialog als Blatt ---------- */
  .wd::before{content:"";position:absolute;z-index:4;top:8px;left:50%;width:42px;height:4px;margin-left:-21px;border-radius:9px;background:rgb(60 30 20 / .32)}
  .wd__body{padding-bottom:calc(32px + env(safe-area-inset-bottom))}
  .wd__actions .btn{flex:1 1 100%}
}
@media (max-width:374px){
  .wh-hero .btns .btn,.ca-hero .btns .btn{padding:0 10px;font-size:.82rem}
  .facts>div,.facts>div+div{flex-basis:72%}
  .leaves.car>li{flex-basis:44%}
}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
  :root{--t:0s}
}
@media print{
  .demo,.hdr,.switch,.tools,.sort__more,body::before{display:none!important}
  .rv-on .rv{opacity:1;transform:none}
}

/* Karte 30.09.2026: Unterblöcke, dreispaltige Tabellen, Qvevri ohne Foto */
.mb__h{margin:18px 0 2px;font:600 .7rem/1.2 var(--f-body);letter-spacing:.18em;text-transform:uppercase;color:var(--sage)}
.mg__head + .mb__h{margin-top:4px}
.mg__list li.mi-kopf{padding:10px 0 0;border-bottom:0}
.mi--c3{grid-template-columns:minmax(0,1fr) repeat(3,66px)}
.mi--tab .mi__name{min-width:0;overflow-wrap:anywhere}
.qv__more--solo{grid-template-columns:minmax(0,1fr)}
.bar .menu__head{margin-bottom:clamp(24px,3vw,40px)}
@media (max-width:767px){
  .mi--c3{grid-template-columns:minmax(0,1fr) repeat(3,56px);gap:6px}
  .mi--c3 .mi__pr{font-size:.92rem}
}
@media (max-width:767px){
  #karte,#bar{scroll-margin-top:calc(var(--hdr) + 62px)}
  .mi--head,.mi--tab{grid-template-columns:minmax(0,1fr) 70px 70px}
  .mi--head.mi--c3,.mi--tab.mi--c3{grid-template-columns:minmax(0,1fr) repeat(3,58px)}
  .mi__vh{letter-spacing:.06em;font-size:.62rem;white-space:nowrap}
}

/* ================= Reservierung (02.10.2026): Tisch + Weinprobe, unverbindliche Anfrage ================= */
html[data-mode="weinhaus"]{--err:#f2a48c;--field-bg:#140b0f;--field-line:rgb(207 168 101 / .62)}
html[data-mode="cafe"]{--err:#9b2c1a;--field-bg:#fbf7f1;--field-line:rgb(42 27 20 / .55)}
.res{background:var(--bg)}
.res::before{content:"";position:absolute;top:0;left:var(--gutter);right:var(--gutter);height:1px;background:linear-gradient(90deg,transparent,var(--line-2) 20%,var(--line-2) 80%,transparent)}
.res__grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(40px,6vw,96px);align-items:start}
.res__intro{position:sticky;top:calc(var(--hdr) + 40px)}
.res__steps{list-style:none;margin:34px 0 0;padding:0;border-top:1px solid var(--line)}
.res__steps li{display:grid;grid-template-columns:42px minmax(0,1fr);gap:16px;align-items:start;padding:18px 0;border-bottom:1px solid var(--line)}
.res__n{display:grid;place-items:center;width:40px;height:40px;border:1px solid var(--line-2);border-radius:50%;font-family:var(--f-display);font-weight:600;font-size:1.3rem;line-height:1;color:var(--gold)}
.res__steps h3{margin:1px 0 2px;font-size:1rem;font-weight:600;line-height:1.35;color:var(--ink)}
.res__steps p{margin:0;font-size:.92rem;line-height:1.5}
.res__direkt{margin:28px 0 0;font:600 .72rem/1.2 var(--f-body);letter-spacing:.16em;text-transform:uppercase;color:var(--ink-3)}
.res__links{margin:4px 0 0}
.res__links .ico{color:var(--gold)}

.res__card{position:relative;padding:clamp(22px,3vw,40px);border:1px solid var(--line-2);border-radius:28px;background:var(--bg-2);box-shadow:0 40px 80px -60px rgb(0 0 0 / .75)}
.res__tabs{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:4px;margin:0 0 26px;padding:4px;border:1px solid var(--line-2);border-radius:999px;background:var(--bg)}
.res__tabind{position:absolute;top:4px;bottom:4px;left:4px;width:calc(50% - 6px);border-radius:999px;background:var(--btn);box-shadow:0 6px 18px -10px rgb(0 0 0 / .55);pointer-events:none}
.res[data-tab="weinprobe"] .res__tabind{transform:translateX(calc(100% + 4px))}
.res--bereit .res__tabind{transition:transform .5s cubic-bezier(.7,0,.2,1)}
.res__tabs[hidden],html:not(.js) .res__tabs{display:none}
.res__tabs [role="tab"]{position:relative;z-index:1;display:flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:0 16px;border:0;border-radius:999px;background:none;color:var(--ink-2);font-size:.95rem;font-weight:500;cursor:pointer;transition:background-color .3s,color .3s}
.res__tabs [role="tab"]:hover{color:var(--ink)}
.res__tabs [role="tab"][aria-selected="true"]{color:var(--btn-ink)}
.res__tabs [role="tab"]:focus-visible{outline-offset:2px}
.res__tico{width:22px;height:22px}

/* ohne JS: alles untereinander + Auswahl der Art; mit JS: Tabs, nur die aktive Art */
.js .res__art,.js .res__ph{display:none}
.res__panel[hidden],.res__sub[hidden],.res__hinweis[hidden],.res__opt[hidden],.res__form[hidden],.res__done[hidden]{display:none}
html.js[data-mode="cafe"] .res:not([data-tab]) [data-res-panel="weinprobe"],html.js[data-mode="weinhaus"] .res:not([data-tab]) [data-res-panel="tisch"],html.js .res:not([data-tab]) [data-res-art="gruppe"]{display:none}
html:not(.js) .res__panel+.res__panel,html:not(.js) .res__sub+.res__sub{margin-top:26px;padding-top:22px;border-top:1px dashed var(--line-2)}
html:not(.js) .res__opt{display:none}
.res__ph{margin:0 0 14px;font-family:var(--f-display);font-weight:600;font-size:1.6rem;line-height:1.1;color:var(--ink)}
.res__ph--s{font-size:1.25rem}
.res__art{display:flex;flex-direction:column;gap:2px;margin:0 0 24px;padding:0;border:0}
.res__art legend{margin-bottom:6px;padding:0}
.res__radio{display:flex;align-items:center;gap:10px;min-height:44px;color:var(--ink);cursor:pointer}
.res__radio input,.res__opt input{flex:none;width:20px;height:20px;margin:0;accent-color:var(--accent)}

.res__row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px 14px}
.res__row .fld--full{grid-column:1/-1}
@media (min-width:1100px){
  .res__row--tisch{grid-template-columns:minmax(0,1.35fr) minmax(0,1fr) minmax(0,.8fr)}
  .res__row--tisch .fld--full{grid-column:auto}
}
.fld{display:flex;flex-direction:column;gap:7px;min-width:0}
.fld__l{font-size:.82rem;font-weight:600;letter-spacing:.02em;color:var(--ink)}
.fld__opt{margin-left:6px;font-weight:400;letter-spacing:0;color:var(--ink-3)}
.res input[type="text"],.res input[type="tel"],.res input[type="email"],.res input[type="date"],.res input[type="number"],.res select,.res textarea{display:block;width:100%;min-width:0;min-height:50px;margin:0;padding:12px 16px;border:1px solid var(--field-line);border-radius:14px;background:var(--field-bg);color:var(--ink);font:400 1rem/1.3 var(--f-body);-webkit-appearance:none;appearance:none;transition:border-color .2s,box-shadow .2s}
.res textarea{min-height:100px;line-height:1.5;resize:vertical}
.res select{padding-right:42px;cursor:pointer;text-overflow:ellipsis}
.res input[type="date"]{position:relative}
.res input[type="date"]::-webkit-date-and-time-value{text-align:left}
.res input[type="date"]::-webkit-calendar-picker-indicator{opacity:.75;cursor:pointer}
.res input:hover,.res select:hover,.res textarea:hover{border-color:var(--ink-3)}
.res input:focus-visible,.res select:focus-visible,.res textarea:focus-visible{border-color:var(--focus);outline-offset:2px;border-radius:14px}
.fld__sel{position:relative;display:block;min-width:0}
.fld__sel::after{content:"";position:absolute;right:18px;top:50%;width:8px;height:8px;margin-top:-6px;border-right:1.5px solid var(--ink-2);border-bottom:1.5px solid var(--ink-2);transform:rotate(45deg);pointer-events:none}
.fld__hint{margin:0;font-size:.8rem;line-height:1.45;color:var(--ink-3)}
.fld__hint:empty{display:none}
.fld__hint a{color:var(--ink);font-weight:600;text-underline-offset:3px;white-space:nowrap}
.fld__err{margin:0;font-size:.85rem;font-weight:500;line-height:1.4;color:var(--err)}
.fld__err[hidden]{display:none}
.fld.is-err input,.fld.is-err select,.fld.is-err textarea{border-color:var(--err);box-shadow:inset 0 0 0 1px var(--err)}

.res__facts[hidden]{display:none}
.res__facts{list-style:none;display:flex;flex-wrap:wrap;gap:8px;margin:0 0 18px;padding:0}
.res__facts li{display:inline-flex;align-items:baseline;gap:6px;padding:7px 14px;border:1px solid var(--line-2);border-radius:999px;font-size:.82rem;color:var(--ink-2)}
.res__facts strong{font-family:var(--f-display);font-weight:600;font-size:1.15rem;line-height:1.2;color:var(--gold)}
.res__opt{display:flex;align-items:flex-start;gap:12px;margin:0 0 22px;padding:14px 16px;border:1px dashed var(--line-2);border-radius:16px;cursor:pointer;transition:border-color .2s,background-color .2s}
.res__opt:hover{border-color:var(--ink-3)}
.res__opt:has(input:checked){border-style:solid;border-color:var(--accent);background:color-mix(in oklab,var(--accent) 9%,transparent)}
.res__opt input{margin-top:2px}
.res__opt span{display:flex;flex-direction:column;gap:2px}
.res__opt strong{font-weight:600;color:var(--ink)}
.res__opt small{font-size:.84rem;color:var(--ink-2)}
.res__summe{display:flex;flex-direction:column;justify-content:flex-end;gap:2px;min-height:50px;margin:0;font-size:.84rem;line-height:1.4;color:var(--ink-2);align-self:end}
.res__summe strong{font-family:var(--f-display);font-weight:600;font-size:1.25rem;line-height:1.2;color:var(--ink)}
.res__auf{margin-top:12px}
.res__jugend{margin-top:16px}
.res__hinweis{display:flex;align-items:flex-start;gap:10px;margin:14px 0 0;padding:12px 14px;border:1px solid var(--line-2);border-radius:14px;background:var(--bg-3);font-size:.9rem;line-height:1.5;color:var(--ink)}
#r-keine{margin:0 0 18px}
.res__hinweis .ico{flex:none;width:20px;height:20px;margin-top:2px;color:var(--gold)}
.res__hinweis a{color:var(--ink);font-weight:600}

.res__du{margin:26px 0 0;padding:24px 0 0;border:0;border-top:1px solid var(--line);min-width:0}
.res__legal{margin-top:22px}
.res__legal p{margin:0;font-size:.82rem;line-height:1.55;color:var(--ink-2)}
.res__legal p+p{margin-top:8px}
.res__legal strong{color:var(--ink);font-weight:600}
.res__legal a{color:var(--ink)}
.res__legal .res__ds{margin-top:2px}
.res__ds a{display:inline-flex;align-items:center;min-height:44px;text-underline-offset:4px}
.res__status{margin:18px 0 0;font-size:.92rem;font-weight:500;line-height:1.5;color:var(--ink)}
.res__status:empty{display:none}
.res__status.is-err{padding:12px 14px;border:1px solid var(--err);border-radius:14px}
.res__status a{color:var(--ink);font-weight:600}
.res__actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:22px}
.res__actions .btn{flex:1 1 230px}
.res__wa{white-space:nowrap}
.res__wa .ico{width:20px;height:20px}
.res__wa-k{display:none}
@media (max-width:400px){.res__wa-l{display:none}.res__wa-k{display:inline}}
.res__send[disabled]{opacity:.75;cursor:progress;transform:none}
.res__call{margin:12px 0 0;font-size:.88rem;color:var(--ink-2)}
.res__call a{display:inline-flex;align-items:center;min-height:44px;color:var(--ink);font-weight:600}

.res__done{padding:clamp(6px,1.5vw,18px) 0 0;text-align:center}
.res__done-h{margin:0 0 8px;font-weight:500;line-height:1.2;color:var(--ink)}
.res__done-h:focus{outline:none}
.res__done-h:focus-visible{outline:2px solid var(--focus)}
.res__sum{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:8px 20px;max-width:460px;margin:22px auto 6px;text-align:left;padding:16px 0;border-block:1px solid var(--line);font-size:.95rem}
.res__sum dt{padding-top:3px;font-size:.68rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3)}
.res__sum dd{margin:0;color:var(--ink);overflow-wrap:anywhere}
.res__done-more .linkbtn{min-height:44px}

/* Personen: −/+ um das native Zahlenfeld */
.step{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;align-items:center;gap:2px;min-height:50px;padding:2px;border:1px solid var(--field-line);border-radius:14px;background:var(--field-bg);transition:border-color .2s}
.step:hover{border-color:var(--ink-3)}
.res .step .step__in{min-height:44px;padding:0 2px;border:0;border-radius:10px;background:none;text-align:center;font:600 1.12rem/1 var(--f-body);font-variant-numeric:tabular-nums;-moz-appearance:textfield;appearance:textfield}
.res .step .step__in::placeholder{color:var(--ink-3);opacity:1}
.res .step .step__in:focus-visible{outline:2px solid var(--focus);outline-offset:1px}
.step__in::-webkit-inner-spin-button,.step__in::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
.step__btn{display:grid;place-items:center;width:44px;height:44px;padding:0;border:0;border-radius:11px;background:var(--bg-3);color:var(--ink);cursor:pointer;-webkit-tap-highlight-color:transparent;transition:background-color .2s,opacity .2s,transform .15s}
.step__btn:hover{background:color-mix(in oklab,var(--bg-3) 82%,var(--ink))}
.step__btn:active{transform:scale(.93)}
.step__btn[aria-disabled="true"]{opacity:.35;cursor:default;transform:none}
.step__btn:focus-visible{outline-offset:1px;border-radius:11px}
.step__btn .ico{width:18px;height:18px}
.fld.is-err .step{border-color:var(--err);box-shadow:inset 0 0 0 1px var(--err)}
.fld.is-err .step .step__in{box-shadow:none}
html:not(.js) .step{display:block;min-height:0;padding:0;border:0;background:none}
html:not(.js) .step__btn{display:none}
html:not(.js) .res .step .step__in{min-height:50px;padding:12px 16px;border:1px solid var(--field-line);border-radius:14px;background:var(--field-bg);text-align:left;font:400 1rem/1.3 var(--f-body)}

/* Weinprobe: Termine als Karten (native Radios darunter) */
.res__termin{display:block;margin:0;padding:0;border:0;min-width:0}
.res__termin .fld__err{margin-top:8px}
.res__termin>legend{float:left;width:100%;margin:0 0 7px;padding:0}
.res__termin>legend+*{clear:both}
.tcards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,140px),1fr));gap:10px}
.tcard{position:relative;display:block;cursor:pointer}
.tcard[hidden]{display:none}
.tcard input{position:absolute;top:0;left:0;width:1px;height:1px;margin:0;opacity:0;pointer-events:none}
.tcard__box{position:relative;display:flex;flex-direction:column;height:100%;padding:15px 16px 14px;border:1px solid var(--field-line);border-radius:8px 8px 18px 18px;background:var(--field-bg);transition:border-color .2s,background-color .25s,box-shadow .25s,transform .25s var(--ease)}
.tcard__box::before{content:"";position:absolute;left:-1px;right:-1px;top:-1px;height:3px;border-radius:8px 8px 0 0;background:var(--gold);opacity:.5;transition:opacity .25s}
.tcard__box::after{content:"";position:absolute;right:13px;top:15px;width:20px;height:20px;border:1.5px solid var(--line-2);border-radius:50%;transition:border-color .2s,background-color .2s,box-shadow .2s}
.tcard:hover .tcard__box{border-color:var(--ink-3)}
.tcard input:checked+.tcard__box{border-color:var(--accent);background:color-mix(in oklab,var(--accent) 10%,var(--field-bg));box-shadow:0 0 0 1px var(--accent),0 16px 30px -22px rgb(0 0 0 / .6)}
.tcard input:checked+.tcard__box::before{opacity:1}
.tcard input:checked+.tcard__box::after{border-color:var(--accent);background:var(--accent);box-shadow:inset 0 0 0 4px var(--field-bg)}
.tcard input:focus-visible+.tcard__box{outline:2px solid var(--focus);outline-offset:3px}
.tcard input:disabled+.tcard__box{opacity:.5;cursor:default}
.tcard__wd{padding-right:28px;font:600 .66rem/1.3 var(--f-body);letter-spacing:.16em;text-transform:uppercase;color:var(--ink-3)}
.tcard__d{margin-top:8px;font-family:var(--f-display);font-weight:500;font-size:2.3rem;line-height:.95;color:var(--ink)}
.tcard__m{margin-top:3px;font-family:var(--f-display);font-style:italic;font-weight:500;font-size:1.3rem;line-height:1.15;color:var(--accent-soft)}
.tcard__meta{display:flex;flex-direction:column;gap:1px;margin-top:9px;font-size:.8rem;line-height:1.4;color:var(--ink-2)}
.tcard__meta span:first-child{font-weight:600;color:var(--ink)}
.res__termin.is-err .tcard__box{border-color:var(--err)}

/* Erfolg: der Qvevri-Krug füllt sich mit Wein (Linien = krug-gold.webp, Innenraum = krug-innen.webp, beide als Maske) */
html[data-mode="weinhaus"]{--wein-a:#931f3e;--wein-b:#4b0a1d;--wein-glanz:#ecc98a;--krug-leer:rgb(207 168 101 / .06);--krug-l1:#f3dba6;--krug-l2:#cea663;--krug-l3:#7d5329}
html[data-mode="cafe"]{--wein-a:#7d1a35;--wein-b:#480b1c;--wein-glanz:#e0b673;--krug-leer:rgb(42 27 20 / .05);--krug-l1:#c39654;--krug-l2:#966632;--krug-l3:#5e3a1c}
.res__krug{position:relative;display:block;width:clamp(124px,34vw,148px);aspect-ratio:552/678;margin:0 auto 16px}
.res__krug-innen{position:absolute;inset:0;overflow:hidden;background:var(--krug-leer);-webkit-mask:url(img/krug-innen.webp) center/100% 100% no-repeat;mask:url(img/krug-innen.webp) center/100% 100% no-repeat}
.res__krug-pegel{position:absolute;left:0;right:0;bottom:0;height:64%;background:linear-gradient(180deg,var(--wein-a),var(--wein-b))}
.res__krug-pegel::after{content:"";position:absolute;inset:-12px 0 0;background:linear-gradient(100deg,transparent 30%,rgb(255 228 176 / .3) 50%,transparent 70%);opacity:0;pointer-events:none}
.res__krug-welle{position:absolute;left:0;bottom:calc(100% - 1px);display:block;width:200%;height:7px;overflow:visible}
.res__krug-wf{fill:var(--wein-a)}
.res__krug-wk{fill:none;stroke:var(--wein-glanz);stroke-width:1.2;vector-effect:non-scaling-stroke;opacity:.9}
.res__krug-linie{position:absolute;inset:0;background:linear-gradient(172deg,var(--krug-l1),var(--krug-l2) 48%,var(--krug-l3));-webkit-mask:url(img/krug-gold.webp) center/100% 100% no-repeat;mask:url(img/krug-gold.webp) center/100% 100% no-repeat}
.res__krug-linie::after{content:"";position:absolute;inset:0;background:linear-gradient(105deg,transparent 42%,rgb(255 246 222 / .9) 50%,transparent 58%) 0 0/260% 100% no-repeat;opacity:0}
.res__done-geo{display:block;font-family:var(--f-geo);font-weight:500;font-size:clamp(2rem,1.5rem + 1.9vw,2.75rem);line-height:1.25;letter-spacing:.02em;color:var(--gold)}
.res__done-lead{margin:0 0 6px;font-family:var(--f-display);font-style:italic;font-weight:500;font-size:clamp(1.3rem,1.12rem + .6vw,1.6rem);line-height:1.3;color:var(--ink);text-wrap:balance}
.res__done-fest{max-width:34em;margin:0 auto;font-size:.86rem;line-height:1.5;color:var(--ink-2);text-wrap:pretty}
@media (prefers-reduced-motion:no-preference){
  .res__done.is-pour .res__krug-pegel{animation:krug-steigen 1.6s cubic-bezier(.33,.08,.22,1) .25s both}
  .res__done.is-pour .res__krug-welle{animation:krug-welle 1.05s linear .25s 2,krug-ruhe 2.3s ease-out .25s both}
  .res__done.is-pour .res__krug-pegel::after{animation:krug-glanz 1.2s ease-in-out 1.4s both}
  .res__done.is-pour .res__krug-linie::after{animation:krug-schimmer 1.4s ease-in-out 1.45s both}
  .res__done.is-pour .res__done-h{animation:dank-ein 1s var(--ease) 1.6s both}
  .res__done.is-pour .res__done-lead{animation:dank-ein .9s var(--ease) 1.85s both}
  .res__done.is-pour .res__done-fest,.res__done.is-pour .res__sum,.res__done.is-pour .res__done-more{animation:dank-ein .9s var(--ease) 2s both}
}
@keyframes krug-steigen{from{transform:translateY(calc(100% + 12px))}to{transform:none}}
@keyframes krug-welle{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@keyframes krug-ruhe{from{height:13px}to{height:7px}}
@keyframes krug-glanz{0%{opacity:0;transform:translateX(-120%)}25%{opacity:1}100%{opacity:0;transform:translateX(120%)}}
@keyframes krug-schimmer{0%{opacity:0;background-position:100% 0}20%{opacity:1}80%{opacity:1}100%{opacity:0;background-position:0 0}}
@keyframes dank-ein{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}

@media (max-width:960px){
  .res__grid{display:flex;flex-direction:column;gap:0}
  .res__intro{display:contents}
  .res__card{order:1;margin-top:6px}
  .res__steps{order:2;margin-top:30px}
  .res__direkt{order:3}
  .res__links{order:4}
}
@media (max-width:767px){
  .res__card{padding:18px 16px 22px;border-radius:22px}
  .res__tabs{margin-bottom:20px}
  .res__steps li{grid-template-columns:36px minmax(0,1fr);gap:12px;padding:14px 0}
  .res__n{width:34px;height:34px;font-size:1.1rem}
  .res__actions .btn{flex:1 1 100%}
  .res__opt{margin-bottom:18px}
  .wh-hero .btns .btn{flex:1 1 auto}   /* „Weinprobe reservieren“ ist länger: Breite nach Inhalt, bei sehr schmalen Bildschirmen untereinander */
  .abar.is-hold{transform:translateY(calc(100% + 26px + env(safe-area-inset-bottom)));opacity:0;pointer-events:none;visibility:hidden;transition:transform .45s var(--ease),opacity .45s var(--ease),visibility 0s linear .45s}
  .ca-hero .hero-status{margin-top:10px}
  .ca-hero .hero-status a{color:#eadccb}
  .ca-hero .hero-status a:hover{color:#fbf4ea}
  .ca-hero .hero-status .status-dot{display:none}
  .ico--d{display:none}
  .tast__btns .btn{flex:1 1 100%}
}
@media (max-width:520px){
  .res__row--du{grid-template-columns:minmax(0,1fr)}
  .res__row--du .fld--full{grid-column:auto}
  .res__row--probe .res__summe{grid-column:1/-1;min-height:0}
}

/* ===== Kompakt-Schicht 08.10.2026 – alles etwas kleiner; Desktop: Abschnitte moeglichst in einem Bildschirm.
   Rueckweg: diesen Block loeschen (Backup: ../site.css.bak-2026-10-08). ===== */
@media (min-width:768px){
  html{font-size:93.75%}
  .sec{padding-block:clamp(44px,4.6vw,76px)}
  .eyebrow{margin-bottom:14px}
  .h2{margin-bottom:16px;font-size:clamp(2rem,1.1rem + 2.1vw,3.2rem);line-height:1.02}
  .h3{margin-bottom:12px;font-size:clamp(1.4rem,1.05rem + .9vw,1.8rem)}
  .lead{margin-bottom:14px;font-size:clamp(1.12rem,1rem + .4vw,1.32rem)}
  .fine{margin-top:14px}
  .btns{margin-top:22px}
  /* Hero */
  .wh-hero__latin{font-size:clamp(4rem,1.4rem + 7vw,8rem)}
  .wh-hero__geo{font-size:clamp(1.45rem,.9rem + 1.6vw,2.3rem)}
  .wh-hero__tag{margin:14px 0 10px;font-size:clamp(1.25rem,1rem + .8vw,1.7rem)}
  .wh-hero__art{width:min(100%,320px)}
  .facts{margin-top:clamp(24px,3vw,40px)}
  .facts dt{font-size:clamp(1.3rem,1rem + .7vw,1.65rem)}
  .ca-hero{padding-top:clamp(28px,3.5vw,56px)}
  .ca-hero__grid{padding-bottom:clamp(40px,4.5vw,72px)}
  .ca-hero__title{font-size:clamp(2.5rem,1.3rem + 3.2vw,4.4rem)}
  /* Qvevri-Methode */
  .qv{padding-bottom:clamp(36px,3.5vw,60px)}
  .qv__fig img{max-height:min(52vh,460px);width:100%;object-fit:cover}
  .steps{margin-top:clamp(26px,2.8vw,44px)}
  .steps li{padding:20px 22px 0 0}
  .qv__more{margin-top:clamp(30px,3.4vw,56px)}
  /* Sortiment */
  .grid{gap:clamp(22px,2.2vw,34px) clamp(14px,1.8vw,26px)}
  /* Weinprobe */
  .tast__grid{gap:clamp(32px,4vw,72px)}
  .tast__photo img{aspect-ratio:4/5;max-height:min(72vh,600px)}
  /* Karte / Bar */
  .menu__head{margin-bottom:clamp(22px,2.6vw,40px)}
  .menu__art-a{width:clamp(110px,12vw,170px)}
  .menu__art-b{width:clamp(76px,8vw,112px)}
  .mg{margin-bottom:clamp(22px,2.4vw,36px);padding-top:16px}
  .mg__title{font-size:clamp(1.3rem,1.05rem + .6vw,1.6rem)}
  .bridge{margin-top:clamp(36px,4.4vw,64px);padding:clamp(22px,3vw,44px)}
  .bridge__geo{font-size:clamp(1.9rem,1.1rem + 2.4vw,3.4rem)}
  .bridge__h{font-size:clamp(1.5rem,1.1rem + 1.2vw,2.2rem)}
  /* Reservieren */
  .res__grid{gap:clamp(32px,4vw,72px)}
  .res__steps li{padding:12px 0}
  .res__tabs{margin-bottom:18px}
  .res__row{gap:14px 14px}
  .res input[type="text"],.res input[type="tel"],.res input[type="email"],.res input[type="date"],.res input[type="number"],.res select{min-height:44px;padding-block:9px}
  .res textarea{min-height:76px}
  .step{min-height:44px}
  /* Ueber uns */
  .about__grid{gap:clamp(32px,4.4vw,72px)}
  .timeline li{padding-bottom:18px}
  .about__media{gap:16px 14px}
  .about__p1 img{aspect-ratio:16/7}
  .about__p2 img{aspect-ratio:4/5}
  .about__p3 img{aspect-ratio:3/4}
  .supra{margin-top:clamp(36px,4.4vw,64px);padding-top:clamp(26px,3vw,42px);gap:clamp(32px,4.4vw,72px)}
  .pull p{font-size:clamp(1.45rem,1.05rem + 1.2vw,2.2rem)}
  /* Bewertungen / Besuch / Footer */
  .rev__grid{gap:clamp(32px,4.4vw,72px)}
  .rev__num{font-size:clamp(4.4rem,2.8rem + 3.8vw,6.8rem)}
  .quote p{font-size:clamp(1.2rem,1rem + .7vw,1.6rem)}
  .visit__grid{margin-top:28px;gap:clamp(28px,3.4vw,56px)}
  .visit__map{gap:16px}
  .ftr{padding-top:clamp(40px,4.6vw,68px)}
  /* Runde 2: Karten, Diagramm, Formular dichter */
  .wine__tile{aspect-ratio:1/1}
  .wine__body{padding-top:12px;gap:5px}
  .wine__pr{font-size:1.4rem}
  .qv__fig svg{display:block;width:100%;max-height:min(60vh,480px)}
  .note{padding:20px}
  .tast__facts{margin-top:20px}
  .tast__facts strong{font-size:1.85rem}
  .tast__more{margin-top:26px;gap:12px}
  .res__card{padding:clamp(18px,2.2vw,30px)}
  .res__opt{margin-bottom:14px;padding:10px 14px}
  .tcard__box{padding:11px 14px 10px}
  .tcard__d{font-size:1.8rem}
  .tcard__m{font-size:1.1rem}
  .res__legal{margin-top:14px}
  .res__legal p{font-size:.78rem}
}
@media (min-width:1100px){
  .res__row--du{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start}
  .res__row--du .fld--full{grid-column:auto}
  .res__row--du .fld--full:has(textarea){grid-column:1/-1}
}
@media (max-width:767px){
  html{font-size:93.75%}
  .sec{padding-block:36px 34px}
  .h2{margin-bottom:14px;font-size:clamp(2.05rem,1.1rem + 4.6vw,2.7rem)}
  .h3{font-size:clamp(1.45rem,1.05rem + 2vw,1.75rem)}
  .lead{margin-bottom:12px;font-size:clamp(1.1rem,1rem + .6vw,1.22rem)}
  .btns{margin-top:18px}
  .wh-hero__art{height:clamp(190px,32svh,320px)}
  .wh-hero__latin{font-size:clamp(3.5rem,1.6rem + 10vw,4.5rem)}
  .wh-hero__geo{font-size:clamp(1.25rem,.9rem + 2.4vw,1.55rem)}
  .wh-hero__tag{margin-top:8px;font-size:clamp(1.1rem,.95rem + 1.2vw,1.28rem)}
  .wh-hero .btns{margin-top:16px}
  .facts{margin-top:18px}
  .facts dt{font-size:1.35rem}
  .ca-hero__title{font-size:clamp(2.2rem,1.2rem + 5vw,2.8rem)}
  .timeline li{padding-bottom:16px}
  .res__steps li{padding:10px 0}
  /* iOS zoomt bei Eingabefeldern unter 16px – Felder bleiben 16px */
  .res input,.res select,.res textarea,.search input,.step__in{font-size:16px}
}

/* SumUp-Weinprobe 08.10.2026: Termin-Karten sind Links zu SumUp Bookings; Formular nur fuer Tisch + private Gruppe */
.res [data-res-form][hidden]{display:none}
a.tcard{color:inherit;text-decoration:none}
a.tcard .tcard__box::after{display:none}
a.tcard:hover .tcard__box,a.tcard:focus-visible .tcard__box{border-color:var(--accent)}
a.tcard:focus-visible{outline:none}
a.tcard:focus-visible .tcard__box{outline:2px solid var(--focus);outline-offset:3px}
.res__sumup .res__termin{margin-bottom:16px}
.res__sumup-txt{margin:0 0 16px;color:var(--ink-2)}
.res__sumup-btn{margin-bottom:10px}
.res__sumup+.res__opt{margin-top:20px}

/* Tisch und Weinprobe getrennt (13.10.2026): keine Tabs, Überschrift je Modus */
.res__tabs{display:none!important}
.res:not([data-tab="weinprobe"]) [data-res-txt="weinprobe"],.res[data-tab="weinprobe"] [data-res-txt="tisch"]{display:none}
.tast__folgen{margin-top:8px}

/* ---------------------------------------------------------------- Weinshop: Warenkorb & Kasse (14.10.2026) */
.hdr__end{justify-self:end;display:flex;align-items:center;gap:14px}
.hdr__tools{justify-self:end;display:flex;align-items:center;gap:10px}
.hdr__korb{position:relative;display:inline-grid;place-items:center;width:46px;height:46px;border:1px solid var(--line-2);border-radius:999px;color:var(--ink);text-decoration:none;transition:background-color .2s,border-color .2s}
.hdr__korb:hover{background:var(--bg-3);border-color:var(--ink-3)}
.hdr__korb .ico{width:21px;height:21px}
.hdr__korb-n{position:absolute;top:-4px;right:-4px;min-width:20px;height:20px;padding:0 5px;border-radius:999px;background:var(--btn);color:var(--btn-ink);font:600 .7rem/20px var(--f-body);text-align:center}
.hdr__korb-n[hidden]{display:none}
.hdr__in:has(> .hdr__tools){grid-template-columns:1fr auto 1fr auto}
@media (max-width:767px){
  .hdr__in:has(> .hdr__tools){grid-template-columns:auto minmax(0,1fr) auto;gap:8px}
  .hdr__tools{gap:6px}
  .lang__btn{padding:0 10px!important;gap:5px!important}
  .lang__btn .ico{width:17px!important;height:17px!important}
  .hdr__korb{width:42px;height:42px}
  .legal .hdr__end .btn{display:none}
}
.korb{width:min(480px,100%);max-width:none;height:100%;max-height:none;margin:0 0 0 auto;padding:0;border:0;background:var(--bg-2);color:var(--ink);box-shadow:-30px 0 90px rgb(0 0 0 / .45)}
.korb::backdrop{background:rgb(10 5 7 / .6);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}
html[data-mode="cafe"] .korb::backdrop{background:rgb(42 27 20 / .45)}
.korb[open]{animation:korb-in .45s var(--ease)}
@keyframes korb-in{from{transform:translateX(40px);opacity:0}}
html:has(.korb[open]){overflow:hidden}
.korb__in{display:flex;flex-direction:column;height:100%}
.korb__kopf{display:flex;align-items:center;justify-content:space-between;padding:22px 26px;border-bottom:1px solid var(--line)}
.korb__t{margin:0;font:500 2rem/1 var(--f-display)}
.korb__x{display:grid;place-items:center;width:44px;height:44px;border:1px solid var(--line-2);border-radius:999px;background:none;color:var(--ink);cursor:pointer}
.korb__x .ico{width:18px;height:18px}
.korb__liste{flex:1;overflow:auto;padding:8px 26px}
.korb__fuss{padding:18px 26px 26px;border-top:1px solid var(--line);background:var(--bg-2)}
.korb__leer{margin:28px 0;color:var(--ink-2)}
.korb__leer a{color:var(--ink)}
.korb__posten{list-style:none;margin:0;padding:0}
.korb__p{display:grid;grid-template-columns:56px minmax(0,1fr) auto auto;grid-template-areas:"b i i w" "b m s s";align-items:center;gap:6px 14px;padding:16px 0;border-bottom:1px solid var(--line)}
.korb__p:last-child{border-bottom:0}
.korb__bild{grid-area:b;display:grid;place-items:center;width:56px;height:76px;border-radius:12px;background:var(--tile);overflow:hidden}
.korb__bild img{width:100%;height:100%;object-fit:contain}
.korb__ph .ico,.korb__ph svg{width:28px;height:28px;color:var(--tile-2)}
.korb__info{grid-area:i;display:flex;flex-direction:column;gap:3px;min-width:0}
.korb__n{font-weight:500;line-height:1.3}
.korb__art{font-size:.82rem;color:var(--ink-3)}
.korb__step{grid-area:m;justify-self:start;display:inline-flex;align-items:center;gap:4px;padding:2px;border:1px solid var(--line-2);border-radius:999px}
.korb__step button{display:grid;place-items:center;width:34px;height:34px;padding:0;border:0;border-radius:999px;background:none;color:var(--ink);cursor:pointer}
.korb__step button:hover{background:var(--bg-3)}
.korb__step .ico{width:16px;height:16px}
.korb__m{min-width:22px;text-align:center;font-variant-numeric:tabular-nums}
.korb__sum{grid-area:s;justify-self:end;font-weight:600;font-variant-numeric:tabular-nums}
.korb__weg{grid-area:w;justify-self:end;display:grid;place-items:center;width:32px;height:32px;padding:0;border:0;border-radius:999px;background:none;color:var(--ink-3);cursor:pointer}
.korb__weg:hover{color:var(--ink);background:var(--bg-3)}
.korb__weg .ico{width:15px;height:15px}
.korb__summen{margin:0 0 10px}
.korb__summen div{display:flex;justify-content:space-between;gap:12px;padding:5px 0;color:var(--ink-2)}
.korb__summen dt,.korb__summen dd{margin:0}
.korb__summen dd{font-variant-numeric:tabular-nums}
.korb__gesamt{margin-top:6px;padding-top:12px!important;border-top:1px solid var(--line);color:var(--ink)!important;font-size:1.15rem;font-weight:600}
.korb__gesamt small{font-size:.75rem;font-weight:400;color:var(--ink-3)}
.korb__frei,.korb__hin{margin:4px 0 0;font-size:.85rem;color:var(--sage)}
.korb__hin{color:var(--ink-3)}
.korb__btns{display:flex;flex-direction:column;gap:10px;margin-top:16px}
.korb__btns .btn{width:100%}
@media (max-width:767px){
  .korb{width:100%;height:auto;max-height:92svh;margin:auto 0 0;border-radius:24px 24px 0 0}
  .korb[open]{animation:korb-up .45s var(--ease)}
  @keyframes korb-up{from{transform:translateY(40px);opacity:0}}
  .korb__kopf,.korb__liste,.korb__fuss{padding-inline:18px}
}
.toast{position:fixed;left:50%;bottom:24px;z-index:200;max-width:min(92vw,460px);padding:13px 20px;border-radius:999px;background:var(--btn);color:var(--btn-ink);font-size:.9rem;font-weight:500;box-shadow:0 18px 40px -12px rgb(0 0 0 / .5);transform:translate(-50%,20px);opacity:0;transition:transform .3s var(--ease),opacity .3s}
.toast.is-on{transform:translate(-50%,0);opacity:1}
.toast[hidden]{display:none}
.wd__actions .btn .ico{width:18px;height:18px}
.wd__note a{color:var(--ink)}

/* Kasse */
.legal__main:has(.kasse){max-width:1120px}
.kasse{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:clamp(24px,4vw,56px);align-items:start;margin-top:28px}
.kasse__form{background:none}
.kasse__box{margin:0 0 22px;padding:22px;border:1px solid var(--line);border-radius:20px;background:var(--bg-2)}
.kasse__h{display:block;margin:0 0 16px;padding:0;font:500 1.6rem/1.1 var(--f-display);color:var(--ink)}
.kasse__wahl{display:flex;align-items:flex-start;gap:14px;padding:14px 16px;border:1px solid var(--line-2);border-radius:16px;cursor:pointer;transition:border-color .2s,background-color .2s}
.kasse__wahl + .kasse__wahl{margin-top:10px}
.kasse__wahl:has(input:checked){border-color:var(--gold);background:color-mix(in oklab,var(--bg-3) 70%,transparent)}
.kasse__wahl input,.kasse__chk input{flex:none;width:20px;height:20px;margin:2px 0 0;accent-color:var(--accent)}
.kasse__wahl span{display:flex;flex-direction:column;gap:3px}
.kasse__wahl small{font-size:.83rem;color:var(--ink-3);line-height:1.45}
.kasse__ok{display:flex;flex-direction:column;gap:14px}
.kasse__chk{display:flex;align-items:flex-start;gap:12px;font-size:.9rem;line-height:1.5;color:var(--ink-2);cursor:pointer}
.kasse__chk a{color:var(--ink)}
.kasse__chk:has(input:focus-visible){outline:2px solid var(--focus);outline-offset:4px;border-radius:6px}
.kasse__ok:has(.is-err){border-color:var(--err)}
.kasse__fehler{margin:0 0 16px;padding:12px 14px;border:1px solid var(--err);border-radius:14px;color:var(--err)!important;font-weight:500}
.kasse__fehler[hidden]{display:none}
.kasse__los{width:100%;min-height:58px;font-size:1.02rem}
.kasse__los[disabled]{opacity:.5;cursor:not-allowed;transform:none}
.kasse__los.is-busy{opacity:.7;cursor:progress}
.kasse__fein{margin:12px 0 0;font-size:.82rem;color:var(--ink-3)!important}
.kasse__sum{position:sticky;top:calc(var(--hdr) + 20px);padding:22px;border:1px solid var(--line-2);border-radius:20px;background:var(--bg-2)}
.kasse__sum .korb__p{grid-template-columns:48px minmax(0,1fr) auto auto}
.kasse__sum .korb__bild{width:48px;height:64px}
[data-nur-versand][hidden]{display:none}
.res__row .fld--full{grid-column:1/-1}
@media (max-width:900px){
  .kasse{grid-template-columns:minmax(0,1fr)}
  .kasse__sum{position:static;order:-1}
}
@media (max-width:520px){
  .kasse__box,.kasse__sum{padding:16px;border-radius:16px}
  .kasse .res__row{grid-template-columns:minmax(0,1fr)}
}
.best .korb__posten{margin:18px 0;max-width:560px}
.best .korb__summen{max-width:560px}

/* Besuch: Social-Profile nach Weinhandel / Café-Bar (14.10.2026) */
.social{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px;margin-top:22px}
.social__g{display:flex;flex-direction:column;padding:14px 16px 6px;border:1px solid var(--line);border-radius:16px;background:color-mix(in oklab,var(--bg-2) 70%,transparent)}
html[data-mode="cafe"] .social__g--cafe{order:-1}
.social__h{display:flex;align-items:center;gap:8px;margin:0 0 4px;font:600 .72rem/1.2 var(--f-body);letter-spacing:.16em;text-transform:uppercase;color:var(--eyebrow)}
.social__h .ico{width:16px;height:16px}
.social__l{list-style:none;margin:0;padding:0}
.social__l a{display:flex;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid var(--line);color:var(--ink);text-decoration:none;transition:padding .3s var(--ease)}
.social__l li:last-child a{border-bottom:0}
.social__l a:hover{padding-left:5px}
.social__l .ico{flex:none;width:20px;height:20px;color:var(--gold)}
.social__l span{min-width:0;line-height:1.3;font-size:.92rem;overflow-wrap:anywhere}
.social__l small{display:block;font-size:.62rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-3)}
@media (max-width:520px){.social{grid-template-columns:minmax(0,1fr)}}

/* Sprachauswahl (14.10.2026) */
.lang{position:relative}
.lang__btn{display:inline-flex;align-items:center;gap:7px;height:46px;padding:0 14px;border:1px solid var(--line-2);border-radius:999px;background:none;color:var(--ink);font:600 .8rem/1 var(--f-body);letter-spacing:.06em;cursor:pointer;transition:background-color .2s,border-color .2s}
.lang__btn:hover,.lang__btn[aria-expanded="true"]{background:var(--bg-3);border-color:var(--ink-3)}
.lang__btn .ico{width:19px;height:19px;color:var(--gold)}
@media (max-width:767px){.lang__btn{height:42px}}
.lang__menu{position:absolute;right:0;top:calc(100% + 10px);z-index:60;min-width:210px;margin:0;padding:8px;list-style:none;border:1px solid var(--line-2);border-radius:18px;background:var(--bg-2);box-shadow:0 24px 60px -18px rgb(0 0 0 / .55);animation:lang-in .25s var(--ease)}
.lang__menu[hidden]{display:none}
@keyframes lang-in{from{opacity:0;transform:translateY(-6px)}}
.lang__menu a{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:11px 14px;border-radius:12px;color:var(--ink);text-decoration:none;font-size:.95rem}
.lang__menu a:hover,.lang__menu a:focus-visible{background:var(--bg-3)}
.lang__menu a[aria-current="true"]{background:color-mix(in oklab,var(--bg-3) 80%,transparent);font-weight:600}
.lang__menu a[aria-current="true"]::after{content:"";width:8px;height:8px;border-radius:50%;background:var(--gold);margin-left:auto}
.lang__menu small{font-size:.7rem;letter-spacing:.12em;color:var(--ink-3)}
.lang__menu a[aria-current="true"] small{display:none}
.lang-hint{position:fixed;left:50%;bottom:22px;z-index:150;display:flex;align-items:center;gap:12px;max-width:min(94vw,520px);padding:10px 10px 10px 18px;border:1px solid var(--line-2);border-radius:999px;background:var(--bg-2);color:var(--ink);font-size:.9rem;box-shadow:0 18px 40px -12px rgb(0 0 0 / .5);transform:translateX(-50%)}
.lang-hint a{padding:8px 14px;border-radius:999px;background:var(--btn);color:var(--btn-ink);font-weight:600;text-decoration:none;white-space:nowrap}
.lang-hint button{display:grid;place-items:center;width:34px;height:34px;border:0;border-radius:999px;background:none;color:var(--ink-3);cursor:pointer}
html[lang="ka"] body{font-family:"Noto Sans Georgian","Noto Serif Georgian",var(--f-body)}
@media (max-width:480px){
  .lang__c{display:none}
  .lang__btn{width:42px;justify-content:center;padding:0!important}
  .switch [role="tab"]{padding:0 11px;font-size:.8rem;gap:6px}
  .switch [role="tab"] .switch__ico{display:none}
}
@media (max-width:360px){.switch [role="tab"]{padding:0 8px;font-size:.74rem}}
@media (max-width:480px){
  .logo-wort{width:72px}
  .hdr__in:has(> .hdr__tools){gap:6px}
  .switch{padding:3px}
  .switch [role="tab"]{height:38px;padding:0 9px;font-size:.76rem}
  .lang__btn,.hdr__korb{width:38px;height:38px}
}
.legal__hinweis{margin:-6px 0 28px;padding:12px 16px;border:1px solid var(--line-2);border-radius:14px;font-size:.9rem;color:var(--ink-2)!important}
.legal__hinweis a{color:var(--ink);font-weight:600}
