/* Tûr Market — öffentliches Design "Anatolisch-modern" (aus Prototyp v1) */
@font-face{font-family:'Sofia Sans';font-style:normal;font-weight:100 900;font-display:swap;src:url('/fonts/SofiaSans-latin.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:'Sofia Sans';font-style:normal;font-weight:100 900;font-display:swap;src:url('/fonts/SofiaSans-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,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:'Sofia Sans Condensed';font-style:normal;font-weight:100 900;font-display:swap;src:url('/fonts/SofiaSansCondensed-latin.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:'Sofia Sans Condensed';font-style:normal;font-weight:100 900;font-display:swap;src:url('/fonts/SofiaSansCondensed-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
:root{
  --nar:#9E1B30; --nar-dunkel:#7C1425; --safran:#EDA320; --zeytin:#55643B;
  --ink:#221C18; --ink-60:#5C534B; --paper:#FBF9F5; --kese:#F2ECE2; --kese-rand:#E2D8C6;
  --weiss:#FFFFFF; --radius:14px; --kopf:76px;
  --disp:'Sofia Sans Condensed','Segoe UI Variable Display','Segoe UI',system-ui,-apple-system,sans-serif;
  --body:'Sofia Sans','Segoe UI',system-ui,-apple-system,sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--body);line-height:1.55;font-size:16px}
h1,h2,h3{font-family:var(--disp);line-height:1.08;margin:0;text-wrap:balance}
h1:focus{outline:none}
a{color:inherit}
button{font-family:var(--body);cursor:pointer}
img{max-width:100%}
.wrap{max-width:1180px;margin:0 auto;padding:0 22px}
.eyebrow{display:inline-block;font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--nar)}
.btn{display:inline-flex;align-items:center;gap:8px;border-radius:999px;padding:13px 24px;font-weight:700;font-size:15px;border:2px solid transparent;text-decoration:none;transition:transform .15s ease,box-shadow .15s ease}
.btn:hover{transform:translateY(-1px)}
.btn:focus-visible,a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--safran);outline-offset:2px}
.btn-nar{background:var(--nar);color:#fff;box-shadow:0 6px 18px rgba(158,27,48,.28)}
.btn-nar:hover{background:var(--nar-dunkel)}
.btn-ghost{background:transparent;color:var(--ink);border-color:var(--ink)}
.btn-ghost:hover{background:var(--ink);color:var(--paper)}

/* ---------- Preis-Slots (Preise kommen NUR per JS aus der Preis-API) ---------- */
.preis{font-family:var(--disp);font-weight:900;font-size:34px;color:var(--nar);font-variant-numeric:tabular-nums}
.preis small{font-size:14px;font-weight:700}
.alt-preis{font-size:13.5px;color:var(--ink-60);text-decoration:line-through;font-variant-numeric:tabular-nums;margin-left:8px}
.preis-fallback{display:inline-flex;align-items:center;gap:7px;background:var(--kese);border:1.5px dashed var(--kese-rand);border-radius:8px;padding:8px 12px;font-size:13px;font-weight:700;color:var(--ink-60)}

/* ---------- Header ---------- */
header{position:fixed;top:0;inset-inline:0;z-index:60;padding:14px 22px 0;pointer-events:none}
.nav{pointer-events:auto;display:flex;align-items:center;gap:16px;padding:9px 10px 9px 18px;background:rgba(251,249,245,.74);-webkit-backdrop-filter:blur(16px) saturate(1.4);backdrop-filter:blur(16px) saturate(1.4);border:1px solid rgba(255,255,255,.75);border-radius:999px;box-shadow:0 1px 0 rgba(255,255,255,.6) inset,0 10px 30px rgba(34,28,24,.15),0 2px 6px rgba(34,28,24,.06)}
.logo{display:flex;align-items:center;text-decoration:none;border-radius:999px;padding:2px 6px}
.logo img{height:44px;width:auto;display:block}
.nav-links{display:flex;gap:2px;margin-left:auto;font-weight:600;font-size:15px}
.nav-links a{position:relative;white-space:nowrap;text-decoration:none;padding:8px 15px;border-radius:999px;transition:background .18s ease,color .18s ease,box-shadow .18s ease}
.nav-links a:hover{background:var(--kese)}
.nav-links a.on{background:var(--nar);color:#fff;font-weight:700;box-shadow:0 5px 14px rgba(158,27,48,.32)}
.nav-links a.on:hover{background:var(--nar-dunkel)}
@media (prefers-reduced-motion:reduce){.nav-links a{transition:none}}
@media (min-width:981px) and (max-width:1140px){
  .status-pill.desktop{display:none}
  .nav{gap:10px}
  .nav-links a{padding:8px 12px}
  .logo img{height:40px}
}
.status-pill{display:inline-flex;align-items:center;gap:7px;font-size:13px;font-weight:700;padding:7px 13px;border-radius:999px;background:#EDF2E6;color:var(--zeytin);white-space:nowrap}
.status-pill.zu{background:#F7E8E8;color:var(--nar)}
.status-pill .dot{width:8px;height:8px;border-radius:50%;background:currentColor}
.cart-btn{position:relative;border:0;background:var(--ink);color:var(--paper);border-radius:999px;padding:9px 16px;font-weight:700;font-size:14px;display:inline-flex;align-items:center;gap:7px;white-space:nowrap}
.cart-btn .cart-ico{width:17px;height:17px;flex:none}
.cart-btn em{font-style:normal;background:var(--safran);color:var(--ink);border-radius:999px;padding:1px 8px;font-variant-numeric:tabular-nums}
.burger{display:none;border:0;background:transparent;padding:4px 8px;line-height:0;color:var(--ink);cursor:pointer}
.burger .ico-zu{display:none}
body.nav-open .burger .ico-menu{display:none}
body.nav-open .burger .ico-zu{display:block}
.mobile-nav{display:none}
main > :first-child{padding-top:calc(var(--kopf) + 54px)}
main > .hero:first-child{padding-top:calc(var(--kopf) + 18px)}

/* ---------- Sprachwahl ---------- */
.lang{position:relative}
.lang summary{list-style:none;cursor:pointer;display:inline-flex;align-items:center;gap:6px;font-weight:800;font-size:13px;padding:8px 12px;border:1.5px solid var(--kese-rand);border-radius:999px;background:var(--weiss);user-select:none}
.lang summary::-webkit-details-marker{display:none}
.lang summary svg{width:16px;height:16px;color:var(--ink-60)}
.lang[open] summary{border-color:var(--ink)}
.lang-menu{position:absolute;top:calc(100% + 8px);inset-inline-end:0;background:var(--weiss);border:1.5px solid var(--kese-rand);border-radius:12px;box-shadow:0 14px 34px rgba(0,0,0,.14);padding:6px;min-width:150px;z-index:70;display:flex;flex-direction:column}
.lang-menu a{text-decoration:none;font-weight:700;font-size:14px;color:var(--ink);padding:8px 12px;border-radius:8px}
.lang-menu a:hover{background:var(--kese)}
.lang-menu a.on{color:var(--nar);background:var(--kese)}
.lang-mobil{display:flex;gap:8px;margin-top:18px}
.lang-mobil a{font-family:var(--body) !important;font-size:14px !important;font-weight:800;text-decoration:none;padding:8px 13px !important;border:1.5px solid var(--kese-rand);border-radius:999px;color:var(--ink-60);text-transform:none !important}
.lang-mobil a.on{background:var(--ink);border-color:var(--ink);color:var(--paper)}

/* ---------- Hero ---------- */
.hero{position:relative;overflow:hidden;padding:56px 0 0;
  --himmel-oben:#CDDDEA;--himmel-unten:#F2EFE7;--glut:transparent;--boden:#DDD3C5;--fuge:#CFC4B4;
  --berg-fern-l:#CDD7E1;--berg-fern-m:#B3C1D0;--berg-fern-d:#96A7BA;--berg-nah-l:#A8B8C7;--berg-nah-m:#8A9DB0;--berg-nah-d:#6C8095;
  --schnee-l:#F3F6F9;--schnee-d:#C8D5E1;
  --huegel-fern:#BCCDA5;--huegel-fern-d:#A3B78C;--huegel-nah:#9EB586;--huegel-nah-d:#829A6C;--wiese:#CBD9AF;
  --baum-l:#6E8C56;--baum-d:#455F39;--baum-h:#8FA96F;--stamm:#6B4A2B;
  --haus:#F2E9DA;--haus-s:#D6C9B4;--giebel:#EBDFCC;--dach-l:#C5917B;--dach-d:#9B6C5D;--kamin:#8E6558;--rahmen:#FBF6EC;--glas:#5C5652;--tuer:#7A5642;
  --wolke:#FFFFFF;--wolke-schatten:#D9E0E6;--wolke-licht:#FFFFFF;
  --pflaster:#7E7669;--pflaster-rand:#655E54;--stein-0:#B7AFA3;--stein-1:#A79F93;--stein-2:#C2BAAE;--stein-3:#9C948A;
  --nadel-l:#4F7A45;--nadel-d:#2F5232;--nadel-h:#7FA36A;--weg-fern:#B9B2A8;--nebel:#F4F1EA;
  background:
  linear-gradient(to top, var(--boden) 0, var(--boden) 140px, transparent 230px),
  radial-gradient(640px 320px at 78% 22%, var(--glut), transparent 65%),
  linear-gradient(to bottom, var(--himmel-oben), var(--himmel-unten))}
.hero.himmel-morgen{--himmel-oben:#D5CCE3;--himmel-unten:#FBE3CC;--glut:rgba(255,196,130,.4);--boden:#E2D7C7;--fuge:#D4C8B6;--berg-fern-l:#D5CDDC;--berg-fern-m:#BFB5CB;--berg-fern-d:#A89DB7;--berg-nah-l:#B5ABC1;--berg-nah-m:#9D92AD;--berg-nah-d:#867B99;--schnee-l:#F7EDE6;--schnee-d:#D3C6CF;--huegel-fern:#C1CFAA;--huegel-fern-d:#A9BB92;--huegel-nah:#A4B98C;--huegel-nah-d:#889E71;--wiese:#D0DCB4;--haus:#F4EADA;--dach-l:#C99886;--wolke:#FFF6EC;--wolke-schatten:#EED8CC;--wolke-licht:#FFFBF5;--pflaster:#86796B;--pflaster-rand:#6B6053;--stein-0:#BEB1A2;--stein-1:#AEA192;--stein-2:#C8BCAE;--stein-3:#A3978A;--nadel-l:#557C4E;--nadel-d:#35553A;--nadel-h:#86A672;--weg-fern:#C0B6AA;--nebel:#FBEBDD}
.hero.himmel-abend{--himmel-oben:#B7A3C8;--himmel-unten:#F7CF9F;--glut:rgba(255,160,90,.42);--boden:#E0D0BC;--fuge:#D1C0AB;--berg-fern-l:#CAB3C6;--berg-fern-m:#B399B0;--berg-fern-d:#9B8199;--berg-nah-l:#A68DA5;--berg-nah-m:#8E748E;--berg-nah-d:#775E78;--schnee-l:#F6D9C0;--schnee-d:#D2AFA8;--huegel-fern:#B4B98F;--huegel-fern-d:#9BA178;--huegel-nah:#939F73;--huegel-nah-d:#78855C;--wiese:#C3C79B;--baum-l:#617C4E;--baum-d:#3D5233;--baum-h:#7F9866;--haus:#F5E1C5;--haus-s:#D8C0A4;--giebel:#EDD7B9;--dach-l:#B97F69;--dach-d:#8F5E50;--kamin:#7E5447;--rahmen:#FCF0DC;--wolke:#FFE8D2;--wolke-schatten:#E6C4B0;--wolke-licht:#FFF3E4;--pflaster:#7F6E60;--pflaster-rand:#64554A;--stein-0:#B9A692;--stein-1:#A99683;--stein-2:#C3B19E;--stein-3:#9F8D7B;--nadel-l:#4C6C42;--nadel-d:#2C462F;--nadel-h:#789660;--weg-fern:#B1A294;--nebel:#F5D9B8}
.hero.himmel-nacht{--himmel-oben:#0E1530;--himmel-unten:#2A3460;--boden:#3B3E55;--fuge:#484B62;--berg-fern-l:#4C567A;--berg-fern-m:#3E4768;--berg-fern-d:#313954;--berg-nah-l:#3B4465;--berg-nah-m:#2F3752;--berg-nah-d:#242B41;--schnee-l:#8F9BC3;--schnee-d:#67729B;--huegel-fern:#3F4E47;--huegel-fern-d:#33403A;--huegel-nah:#2F3B34;--huegel-nah-d:#26302A;--wiese:#47574E;--baum-l:#2F4031;--baum-d:#1D2A1F;--baum-h:#3B4E3C;--stamm:#2A2522;--haus:#6F6D88;--haus-s:#56546C;--giebel:#67657F;--dach-l:#5D5572;--dach-d:#443D55;--kamin:#3E3849;--rahmen:#8A889F;--glas:#FFD37A;--tuer:#3A3446;--pflaster:#262A3C;--pflaster-rand:#1E2130;--stein-0:#434760;--stein-1:#3B3F57;--stein-2:#4B4F69;--stein-3:#363A50;--nadel-l:#233524;--nadel-d:#141F17;--nadel-h:#2E432F;--weg-fern:#3F4358;--nebel:#2E3858}
.hero .wrap{max-width:1280px;display:grid;grid-template-columns:.99fr 1.5fr;gap:30px;align-items:end;position:relative;z-index:1}
.hero-text{position:relative;z-index:2;align-self:center;margin:0 0 32px;margin-inline-start:32px;background:rgba(251,249,245,.56);-webkit-backdrop-filter:blur(16px) saturate(1.4);backdrop-filter:blur(16px) saturate(1.4);border:1px solid rgba(255,255,255,.75);border-radius:28px;padding:26px 28px 28px;box-shadow:0 1px 0 rgba(255,255,255,.6) inset,0 10px 30px rgba(34,28,24,.1)}
.hero h1{font-size:clamp(40px,4.9vw,66px);font-weight:900;text-transform:uppercase;letter-spacing:0;line-height:1.02}
.hero h1 .rot{color:var(--nar)}
.hero p.lead{font-size:18px;max-width:32em;color:var(--ink);margin:16px 0 26px}
.hero-ctas{display:flex;gap:14px;flex-wrap:wrap}

/* ---------- Ladenfront (Zustand kommt vom Server, Auftritt aus CSS) ---------- */
.front{width:100%;height:auto;display:block;position:relative;z-index:1}
.front text{font-family:var(--disp)}
.front text.pt{font-family:var(--body)}
.front .glasf{fill:url(#glas-hell)}
.front.zu .glasf{fill:url(#glas-dunkel)}
.front .glow{opacity:.55}
.front .tuer-blatt{transform-box:fill-box;transform-origin:0% 50%}
.front.offen .tuer-blatt{transform:scaleX(.42) skewY(14deg);animation:front-tuer .55s cubic-bezier(.2,.8,.2,1) both 1.25s}
@keyframes front-tuer{from{transform:none}to{transform:scaleX(.42) skewY(14deg)}}
.front .fahne{transform-box:fill-box;transform-origin:50% 0;animation:front-fahne 3.4s ease-in-out infinite alternate}
@keyframes front-fahne{from{transform:rotate(-3deg)}to{transform:rotate(3deg)}}
.front .seq{transform-box:fill-box;transform-origin:50% 100%;animation:front-pop .55s cubic-bezier(.2,.8,.2,1) both;animation-delay:calc(var(--d)*1ms)}
@keyframes front-pop{from{opacity:0;transform:translateY(18px) scale(.94)}to{opacity:1;transform:none}}
.front .markise{transform-box:fill-box;transform-origin:50% 0;animation:front-markise .65s cubic-bezier(.2,.8,.2,1) both .1s}
@keyframes front-markise{from{transform:scaleY(.04)}to{transform:scaleY(1)}}
.front .schild{transform-box:fill-box;transform-origin:50% 0;transform:rotate(var(--r,0deg));animation:front-schild .5s cubic-bezier(.2,.8,.2,1) both;animation-delay:calc(var(--d)*1ms)}
@keyframes front-schild{from{opacity:0;transform:translateY(-14px) rotate(var(--r,0deg))}to{opacity:1;transform:rotate(var(--r,0deg))}}
.front .schild.s1{--r:-4deg}
.front .schild.s2{--r:3deg}
.front .schild.s3{--r:-2deg}

/* ---------- Panorama hinter dem Laden ---------- */
.front .boden{fill:var(--boden)}
.front .boden-stop{stop-color:var(--boden)}
.front .fuge{stroke:var(--fuge)}
.front .pflaster-grund{fill:var(--pflaster);stroke:var(--pflaster-rand);stroke-width:1;stroke-linejoin:round}
.front .stein-licht{fill:none;stroke:#fff;stroke-opacity:.34;stroke-width:.9;stroke-linecap:round}
.front .stein-schatten{fill:none;stroke:#000;stroke-opacity:.3;stroke-width:.9;stroke-linecap:round}
.panorama .pflaster-stop{stop-color:var(--pflaster)}.panorama .wegfern-stop{stop-color:var(--weg-fern)}
.front .weg-fern-grund{fill:url(#lf-weg-fern);stroke:var(--pflaster-rand);stroke-opacity:.45;stroke-width:.8;stroke-linejoin:round}
.front .weg-licht{fill:none;stroke:#fff;stroke-opacity:.08;stroke-width:1}
.front .weg-schatten{fill:none;stroke:#000;stroke-opacity:.2;stroke-width:1.4}
.nadel-l{fill:var(--nadel-l)}.nadel-d{fill:var(--nadel-d)}.nadel-h{fill:var(--nadel-h);opacity:.55}
.front .stein-0{fill:var(--stein-0)}.front .stein-1{fill:var(--stein-1)}.front .stein-2{fill:var(--stein-2)}.front .stein-3{fill:var(--stein-3)}
.panorama .nebel-stop{stop-color:var(--nebel)}
.panorama .bfd-stop{stop-color:var(--berg-fern-d)}.panorama .bfm-stop{stop-color:var(--berg-fern-m)}.panorama .bnd-stop{stop-color:var(--berg-nah-d)}.panorama .bnm-stop{stop-color:var(--berg-nah-m)}
.panorama .fels{stroke:#000;stroke-opacity:.09;fill:none;stroke-width:.8}
.panorama .ziegel{stroke:#000;stroke-opacity:.13;stroke-width:.5}
.panorama .first{stroke:#fff;stroke-opacity:.35;stroke-width:.7}
.panorama .sprosse{stroke:var(--rahmen);stroke-width:.45;opacity:.8}
.panorama .balkon{fill:#7A5636}.panorama .balkon-stab{stroke:#5C3F27;stroke-width:.5}
.panorama .korn,.front .korn{opacity:.15;mix-blend-mode:multiply;pointer-events:none}
.himmel-nacht .panorama .nebel{opacity:.35}
.front .weg-kante{fill:#000;opacity:.09}
.front .weg-spur{fill:none;stroke:#000;stroke-opacity:.12;stroke-width:1.1;stroke-linejoin:round}

.vorschau-leiste{position:fixed;top:calc(var(--kopf) + 14px);right:14px;z-index:95;display:flex;align-items:center;gap:4px;background:rgba(34,28,24,.86);padding:6px;border-radius:999px;box-shadow:0 8px 24px rgba(0,0,0,.25)}
.vorschau-leiste a{color:#fff;font-size:12px;font-weight:700;padding:5px 10px;border-radius:999px;text-decoration:none;text-transform:capitalize}
.vorschau-leiste a.on{background:var(--nar)}
.vorschau-leiste i{width:1px;height:18px;background:rgba(255,255,255,.3);margin:0 4px}
.panorama .berg-fern-l{fill:var(--berg-fern-l)}.panorama .berg-fern-m{fill:var(--berg-fern-m)}.panorama .berg-fern-d{fill:var(--berg-fern-d)}
.panorama .berg-nah-l{fill:var(--berg-nah-l)}.panorama .berg-nah-m{fill:var(--berg-nah-m)}.panorama .berg-nah-d{fill:var(--berg-nah-d)}
.panorama .schnee-l{fill:var(--schnee-l)}.panorama .schnee-d{fill:var(--schnee-d)}
.panorama .dunst-stop{stop-color:var(--himmel-unten)}
.panorama .hf-stop{stop-color:var(--huegel-fern)}.panorama .hf-stop-d{stop-color:var(--huegel-fern-d)}
.panorama .hn-stop{stop-color:var(--huegel-nah)}.panorama .hn-stop-d{stop-color:var(--huegel-nah-d)}
.panorama .wiese{fill:var(--wiese);opacity:.55}
.baum-l{fill:var(--baum-l)}.baum-d{fill:var(--baum-d)}.baum-h{fill:var(--baum-h);opacity:.7}
.stamm{fill:var(--stamm)}
.bodenschatten{fill:#000;opacity:.12}
.panorama .haus{fill:var(--haus)}.panorama .haus-s{fill:var(--haus-s)}.panorama .giebel{fill:var(--giebel)}
.panorama .dach-l{fill:var(--dach-l)}.panorama .dach-d{fill:var(--dach-d)}.panorama .kamin{fill:var(--kamin)}
.panorama .rahmen{fill:var(--rahmen)}.panorama .glas{fill:var(--glas)}.panorama .tuer{fill:var(--tuer)}
.panorama .wolke ellipse{fill:var(--wolke);opacity:.92}
.panorama .wolke-schatten{fill:var(--wolke-schatten) !important;opacity:.6 !important}
.panorama .wolke-licht{fill:var(--wolke-licht) !important;opacity:.5 !important}
.panorama .stern{fill:#fff;opacity:var(--o);animation:funkeln var(--t) ease-in-out infinite;animation-delay:var(--v)}
.panorama .stern-glanz{stroke:#fff;stroke-width:.5;fill:none;opacity:var(--o);animation:funkeln var(--t) ease-in-out infinite;animation-delay:var(--v)}
.panorama .mond{fill:#F1EDD8}
.himmel-nacht .front .laden{filter:brightness(.8) saturate(.92)}
.panorama .schnuppe{opacity:0;animation:schnuppe var(--t) linear infinite;animation-delay:var(--v)}
@keyframes schnuppe{0%{transform:translate(0,0);opacity:0}3%{opacity:1}12%{transform:translate(-200px,77px);opacity:0}100%{transform:translate(-200px,77px);opacity:0}}
@keyframes funkeln{0%,100%{opacity:calc(var(--o) * .4)}50%{opacity:var(--o)}}
.panorama .schicht{animation:front-schicht .9s cubic-bezier(.2,.8,.2,1) both;animation-delay:calc(var(--d)*1ms)}
@keyframes front-schicht{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.panorama .wolke{transform:translateX(var(--x));animation:wolke-zug var(--t) linear infinite;animation-delay:var(--v)}
@keyframes wolke-zug{from{transform:translateX(-300px)}to{transform:translateX(1080px)}}
.panorama .wolke-hoehe{transform:translateY(var(--y))}
.panorama .ballon{transform:translate(520px,-170px);animation:ballon-fahrt 170s linear infinite;animation-delay:-60s}
@keyframes ballon-fahrt{from{transform:translate(830px,-150px)}to{transform:translate(-170px,-192px)}}
@keyframes ballon-fahrt-klein{from{transform:translate(830px,-106px)}to{transform:translate(-170px,-138px)}}
@media (min-width:981px){
  .front{overflow:visible}
}
@media (max-width:980px){
  .panorama .wolke-hoehe{transform:translateY(calc(var(--y) + 70px))}
  .panorama .ballon{transform:translate(520px,-128px);animation-name:ballon-fahrt-klein}
  .front{width:calc(100% + 44px);max-width:none;margin-inline:-22px}
}
.panorama .ballon-schweben{animation:ballon-schweben 7s ease-in-out infinite}
@keyframes ballon-schweben{0%,100%{transform:translateY(0)}50%{transform:translateY(-7px)}}
@media (prefers-reduced-motion:reduce){
  .panorama .schicht,.panorama .wolke,.panorama .ballon,.panorama .ballon-schweben,.panorama .stern,.panorama .stern-glanz{animation:none !important}
  .panorama .schnuppe{display:none}
}
.schild-preis{display:block;line-height:1;white-space:nowrap}
.schild-preis .preis{font-size:15px;line-height:1}
.schild-preis .preis small{font-size:9px}
.schild-preis .alt-preis{font-size:8px;margin-left:4px}
.schild-preis .preis-hinweis{display:none}
.schild-preis .preis-fallback{padding:2px 6px;font-size:7.5px;border-width:1px;border-radius:4px;gap:4px}
@media (prefers-reduced-motion:reduce){
  .front .seq,.front .markise,.front .schild,.front .fahne,.front .tuer-blatt{animation:none !important}
}
.ticker{border-top:2px solid var(--nar-dunkel);border-bottom:1.5px solid var(--kese-rand);background:var(--weiss);overflow:hidden;white-space:nowrap}
.ticker-inner{display:inline-block;padding:11px 0;font-size:13.5px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-60);animation:tick 38s linear infinite}
.ticker-inner b{color:var(--safran);margin:0 14px}
@keyframes tick{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){.ticker-inner{animation:none}}

/* ---------- Sections ---------- */
section{padding:76px 0}
.sec-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:36px;flex-wrap:wrap}
.sec-head h2{font-size:clamp(30px,3.8vw,46px);font-weight:900;text-transform:uppercase;letter-spacing:0}
.sec-head .sub{color:var(--ink-60);max-width:34em;margin-top:8px}

/* USP strip */
.usps{background:var(--ink);color:var(--paper);padding:26px 0}
.usps .wrap{display:grid;grid-template-columns:repeat(4,1fr);gap:0}
.usp{padding:6px 18px;border-left:1px solid rgba(255,255,255,.12);display:grid;grid-template-columns:36px 1fr;grid-template-rows:auto auto;column-gap:14px;align-items:center}
.usp:first-child{border-left:0;padding-left:0}
.usp .u-ico{grid-row:1 / span 2;width:36px;height:36px;display:grid;place-items:center;margin:0}
.usp .u-ico svg{width:28px;height:28px;stroke:var(--safran);fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.usp b{display:block;font-family:var(--disp);font-size:15.5px;line-height:1.2;align-self:end}
.usp span{font-size:12.5px;color:#BFB6AD;line-height:1.4;align-self:start;margin-top:3px}

/* Fischtag-Hinweis (Info-Karte) */
.fisch-hinweis{margin:14px 0 0;font-size:13px;color:rgba(241,247,248,.86);background:linear-gradient(135deg,#16404F 0%,#0E2C38 100%);border-radius:8px;padding:10px 13px;line-height:1.45}
.fisch-hinweis b{color:var(--safran)}

/* ---------- Fischtheke-Highlight ---------- */
.fisch-band{background:linear-gradient(135deg,#16404F 0%,#0E2C38 100%);color:#F1F7F8;position:relative;overflow:hidden}
.fisch-band::after{content:"";position:absolute;right:-70px;top:50%;width:340px;height:340px;transform:translateY(-50%) rotate(-12deg);background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23FFFFFF' stroke-width='1.1'%3E%3Cpath d='M2.5 12c4-5.2 9.8-5.2 13.8 0-4 5.2-9.8 5.2-13.8 0z'/%3E%3Cpath d='M16.3 12l5.2-4v8l-5.2-4z'/%3E%3C/svg%3E") center/contain no-repeat;opacity:.07;pointer-events:none}
.fisch-inner{display:flex;align-items:center;gap:26px;padding:38px 0;position:relative;z-index:1}
.fisch-ico{width:72px;height:72px;flex:none;display:grid;place-items:center;border-radius:50%;background:rgba(255,255,255,.07);border:2px solid rgba(255,255,255,.22);color:var(--safran)}
.fisch-ico svg{width:38px;height:38px}
.fisch-eyebrow{display:block;color:var(--safran);font-weight:800;letter-spacing:.14em;text-transform:uppercase;font-size:12.5px;margin-bottom:7px}
.fisch-band h2{margin:0 0 9px;font-family:var(--disp);font-size:clamp(21px,2.8vw,29px);line-height:1.2}
.fisch-band p{margin:0;max-width:640px;font-size:15px;line-height:1.6;color:rgba(241,247,248,.82)}
.fisch-badge{margin-left:auto;flex:none;text-align:center;background:var(--safran);color:var(--ink);border-radius:16px;padding:14px 20px;box-shadow:0 10px 26px rgba(0,0,0,.3);transform:rotate(2deg)}
.fisch-badge b{display:block;font-family:var(--disp);font-size:30px;line-height:1;margin-bottom:4px}
.fisch-badge span{font-size:11.5px;font-weight:800;line-height:1.25;display:block;text-transform:uppercase;letter-spacing:.06em}
@media(max-width:820px){
  .fisch-inner{flex-direction:column;text-align:center;gap:18px;padding:32px 0}
  .fisch-band p{margin:0 auto}
  .fisch-badge{margin-left:0}
  .fisch-band::after{display:none}
}

/* Angebote */
.sec-kese{background:var(--kese)}
.offer-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.offer-grid.drei{grid-template-columns:repeat(3,1fr)}
.offer-grid.eins{grid-template-columns:1fr}
.offer-grid.eins .offer{display:grid;grid-template-columns:minmax(220px,.9fr) 1.1fr;grid-template-rows:auto auto auto;gap:4px 26px;align-content:center;padding:26px}
.offer-grid.eins .offer:not(:has(.card-img)){grid-template-columns:1fr}
.offer-grid.eins .card-img{grid-column:1;grid-row:1 / 4;height:100%;min-height:220px;margin:0}
.offer-grid.eins .offer:has(.card-img) .o-name,.offer-grid.eins .offer:has(.card-img) .o-sub,.offer-grid.eins .offer:has(.card-img) .o-foot{grid-column:2}
.offer-grid.eins .o-name{align-self:end}
.offer-grid.eins .o-name{font-family:var(--disp);font-size:30px;font-weight:900;line-height:1.05}
.offer-grid.eins .o-sub{font-size:15px;margin:4px 0 16px}
.offer-grid.eins .preis{font-size:44px}
.offer-grid.eins .o-foot{justify-content:flex-start;gap:18px}
.offer-grid.eins .add{width:44px;height:44px}
.offer{background:var(--weiss);border-radius:var(--radius);border:1.5px solid var(--kese-rand);padding:20px;position:relative;overflow:hidden}
.offer .badge{position:absolute;top:14px;right:-34px;transform:rotate(38deg);background:var(--safran);font-size:11px;font-weight:800;letter-spacing:.08em;padding:4px 38px;text-transform:uppercase}
.offer .o-name{font-weight:700;font-size:16.5px;margin-top:4px}
.offer .o-sub{font-size:13px;color:var(--ink-60);margin-bottom:14px}
.offer .add,.prod .add{border:2px solid var(--nar);background:var(--nar);color:#fff;border-radius:999px;width:34px;height:34px;flex:none;display:grid;place-items:center;padding:0;line-height:0}
.add svg{width:15px;height:15px;display:block}
.offer .add:hover,.prod .add:hover{background:var(--nar-dunkel);border-color:var(--nar-dunkel)}
.offer .o-foot{display:flex;align-items:center;justify-content:space-between;margin-top:6px;gap:10px}

/* Card-Bilder (Produkt-/Angebots-Header, Uploads aus dem Admin) */
.card-img{height:120px;border-radius:9px;background-size:cover;background-position:center;margin-bottom:12px;background-color:var(--kese)}
.card-img-klein{height:100px}

/* Sortiment-Kategorien */
.kat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.kat{background:var(--weiss);border:1.5px solid var(--kese-rand);border-radius:var(--radius);padding:24px 22px;text-decoration:none;transition:transform .15s ease,box-shadow .15s ease;display:flex;flex-direction:column;justify-content:flex-end;gap:2px;min-height:132px}
.ton-1{--ton:#F4E3C6;--ton-tief:#B9812E}
.ton-2{--ton:#E9EFDD;--ton-tief:#55643B}
.ton-3{--ton:#F6E0E2;--ton-tief:#9E1B30}
.ton-4{--ton:#E0ECEF;--ton-tief:#16404F}
.ton-5{--ton:#F1E6D8;--ton-tief:#8A5A2B}
.ton-6{--ton:#EFE4EF;--ton-tief:#5A2A6D}
.kat:not(.kat-bild)[class*="ton-"]{background:var(--ton);border-color:transparent}
.kat:not(.kat-bild) .k-dot{background:var(--ton-tief);opacity:1;width:14px;height:14px;border-radius:50%;margin-bottom:auto}
.kat:hover{transform:translateY(-3px);box-shadow:0 12px 26px rgba(34,28,24,.10)}
.kat b{display:block;font-family:var(--disp);font-size:16.5px}
.kat span{font-size:13px;color:var(--ink-60)}
.kat .k-dot{width:34px;height:34px;border-radius:9px;background:linear-gradient(135deg,var(--safran),var(--nar));opacity:.85;margin-bottom:12px}
.kat.kat-bild{background-size:cover;background-position:center;border:0;min-height:132px;display:flex;flex-direction:column;justify-content:flex-end}
.kat.kat-bild b{color:#fff;text-shadow:0 1px 4px rgba(0,0,0,.45)}
.kat.kat-bild span{color:rgba(255,255,255,.9);text-shadow:0 1px 3px rgba(0,0,0,.5)}

/* Katalog */
.filter-row{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:26px;align-items:center}
.such{flex:1 1 240px;max-width:340px;position:relative;display:flex}
.such input{width:100%;padding:11px 14px 11px 38px;border:1.5px solid var(--kese-rand);border-radius:999px;font-size:14.5px;background:var(--weiss);font-family:var(--body)}
.such::before{content:"⌕";position:absolute;left:14px;top:50%;transform:translateY(-54%);font-size:19px;color:var(--ink-60)}
.chip{border:1.5px solid var(--kese-rand);background:var(--weiss);border-radius:999px;padding:8px 15px;font-size:13.5px;font-weight:700;color:var(--ink-60);text-decoration:none;display:inline-block}
.chip.on{background:var(--ink);border-color:var(--ink);color:var(--paper)}
.prod-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.prod{background:var(--weiss);border:1.5px solid var(--kese-rand);border-radius:10px;padding:16px 16px 14px;display:flex;flex-direction:column;gap:2px}
.prod .p-kat{display:inline-block;align-self:flex-start;font-size:10.5px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--ton-tief,var(--zeytin));background:var(--ton,var(--kese));border-radius:6px;padding:3px 8px;margin-bottom:6px}
.leer-bild{display:grid;place-items:center;font-family:var(--disp);font-weight:900;font-size:30px;color:var(--ton-tief,var(--ink-60));background:var(--ton,var(--kese));opacity:.75}
.card-img-klein.leer-bild{height:64px}
.prod .p-name{font-weight:700;font-size:15.5px}
.prod .p-sub{font-size:12.5px;color:var(--ink-60);flex:1}
.prod .p-foot{display:flex;align-items:center;justify-content:space-between;margin-top:12px;gap:8px}
.prod .preis{font-size:24px}
.prod .preis-fallback{padding:6px 9px;font-size:11.5px}
.leer{grid-column:1/-1;text-align:center;color:var(--ink-60);padding:30px 0}

/* Click & Collect Steps */
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;counter-reset:s}
.step{background:var(--weiss);border:1.5px solid var(--kese-rand);border-radius:var(--radius);padding:26px;counter-increment:s;position:relative}
.step::before{content:counter(s);position:absolute;top:-16px;left:22px;width:34px;height:34px;border-radius:50%;background:var(--safran);font-family:var(--disp);font-weight:900;display:grid;place-items:center;font-size:16px}
.step b{display:block;font-family:var(--disp);font-size:17px;margin-bottom:6px}
.step p{margin:0;font-size:14.5px;color:var(--ink-60)}
.cc-hinweis{margin-top:24px;font-size:14px;color:var(--ink-60);display:flex;gap:9px;align-items:flex-start}
.cc-hinweis b{color:var(--zeytin)}

/* Rezepte */
.rez-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.rez{border-radius:var(--radius);overflow:hidden;border:1.5px solid var(--kese-rand);background:var(--weiss);text-decoration:none;transition:transform .15s ease;display:block}
.rez:hover{transform:translateY(-3px)}
.rez .rez-bild{height:150px;display:grid;place-items:center;font-family:var(--disp);font-weight:900;font-size:44px;color:rgba(255,255,255,.9)}
.rez .rez-body{padding:18px 20px 20px}
.rez b{display:block;font-family:var(--disp);font-size:17.5px}
.rez p{font-size:13.5px;color:var(--ink-60);margin:6px 0 0}
.rez .tag{display:inline-block;font-size:10.5px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--nar);margin-top:5px}
.rez .rez-foto{background-size:cover;background-position:center}
.rez .rez-cta{display:inline-block;margin-top:12px;font-size:13px;font-weight:800;color:var(--nar)}
.rez:hover .rez-cta{text-decoration:underline}

/* Rezept-Detailseite */
.rezept-hero{background-size:cover;background-position:center;padding:90px 0 60px;color:#fff}
.rezept-hero.ohne-bild{background:linear-gradient(135deg,var(--ink),#4A3B30);}
.rezept-hero h1{font-size:clamp(34px,5vw,58px);font-weight:900;text-transform:uppercase;letter-spacing:-.01em;margin:10px 0 12px}
.rezept-hero p{max-width:38em;font-size:17px;color:rgba(255,255,255,.92);margin:0}

/* Markt / Kontakt */
.markt-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:48px;align-items:start}
.markt-foto{margin:34px 0 0;max-width:440px;background:var(--weiss);border:1.5px solid var(--kese-rand);border-radius:10px;padding:12px 12px 14px;box-shadow:0 14px 30px rgba(34,28,24,.13);transform:rotate(-1.2deg);position:relative}
.markt-foto::before{content:"";position:absolute;top:-9px;left:50%;transform:translateX(-50%);width:54px;height:16px;background:rgba(237,163,32,.55);border-radius:2px}
.markt-foto img{display:block;width:100%;border-radius:6px}
.markt-foto figcaption{font-size:13px;color:var(--ink-60);text-align:center;margin-top:10px;font-weight:600}
.zeiten{width:100%;border-collapse:collapse;font-size:14.5px}
.zeiten td{padding:9px 0;border-bottom:1px solid var(--kese-rand)}
.zeiten td:last-child{text-align:right;font-weight:700;font-variant-numeric:tabular-nums}
.zeiten tr.heute td{color:var(--nar);font-weight:800}
.info-card{background:var(--weiss);border:1.5px solid var(--kese-rand);border-radius:var(--radius);padding:28px}
.info-card h3{font-size:19px;margin-bottom:14px}
.zahlung{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px}
.zahlung span{font-size:12px;font-weight:700;border:1.5px solid var(--kese-rand);border-radius:6px;padding:5px 10px;color:var(--ink-60)}
.route-btn{margin-top:18px;width:100%;justify-content:center}

/* Footer */
footer{background:var(--ink);color:#BFB6AD;padding:54px 0 30px;font-size:14px}
.foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:36px}
.foot-zeile{display:flex;justify-content:space-between;gap:12px;padding:3px 0;max-width:220px}
.foot-zeile em{font-style:normal;color:var(--paper);font-variant-numeric:tabular-nums}
.foot-zeile.fisch{color:var(--safran);font-weight:700}
footer b{color:var(--paper);font-family:var(--disp);display:block;margin-bottom:10px}
footer a{color:#BFB6AD;text-decoration:none;display:block;padding:3px 0}
footer a:hover{color:var(--safran)}
.foot-unten{border-top:1px solid #3A332C;margin-top:38px;padding-top:20px;font-size:12.5px;display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap}

/* Cart drawer */
.drawer-bg{position:fixed;inset:0;background:rgba(34,28,24,.5);z-index:90;opacity:0;pointer-events:none;transition:opacity .2s}
.drawer{position:fixed;top:0;right:0;bottom:0;width:min(420px,94vw);background:var(--paper);z-index:95;transform:translateX(105%);transition:transform .25s ease;display:flex;flex-direction:column;box-shadow:-16px 0 40px rgba(0,0,0,.2)}
body.drawer-open .drawer{transform:none}
body.drawer-open .drawer-bg{opacity:1;pointer-events:auto}
.drawer-head{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1.5px solid var(--kese-rand)}
.drawer-head h3{font-size:19px}
.drawer-head button{border:0;background:transparent;font-size:24px}
.drawer-body{flex:1;overflow-y:auto;padding:18px 24px}
.korb-zeile{display:grid;grid-template-columns:minmax(0,1fr) 88px 74px 20px;gap:10px;align-items:center;padding:11px 0;border-bottom:1px solid var(--kese-rand);font-size:14.5px}
.korb-zeile .kz-name{min-width:0}
.korb-zeile .kz-preis{font-weight:800;font-variant-numeric:tabular-nums;white-space:nowrap;text-align:right}
.korb-zeile .kz-menge{display:flex;align-items:stretch;height:30px;border:1.5px solid var(--kese-rand);border-radius:999px;background:var(--weiss);overflow:hidden}
.korb-zeile .kz-menge button{flex:1;border:0;background:transparent;font-weight:800;font-size:15px;color:var(--ink);padding:0;display:grid;place-items:center;line-height:0;cursor:pointer}
.korb-zeile .kz-menge button:hover{background:var(--kese)}
.korb-zeile .kz-menge .kz-n{flex:1;display:grid;place-items:center;font-weight:800;font-size:13.5px;font-variant-numeric:tabular-nums;border-left:1.5px solid var(--kese-rand);border-right:1.5px solid var(--kese-rand)}
.korb-zeile .kz-x{border:0;background:transparent;color:var(--nar);font-weight:800;font-size:15px;padding:0;justify-self:end;cursor:pointer}
.korb-summe{border-bottom:0;font-weight:800}
.korb-summe .kz-name{grid-column:1/3}
.drawer-form{padding:18px 24px;border-top:1.5px solid var(--kese-rand)}
.drawer-form input,.drawer-form select{width:100%;padding:11px 13px;border:1.5px solid var(--kese-rand);border-radius:10px;font-size:14.5px;margin-bottom:10px;background:var(--weiss);font-family:var(--body);color:var(--ink);transition:border-color .15s ease,box-shadow .15s ease}
.drawer-form input:focus,.drawer-form select:focus{border-color:var(--nar);box-shadow:0 0 0 3px rgba(158,27,48,.12);outline:none}
.drawer-form .form-label{display:block;font-size:11.5px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-60);margin:2px 0 8px}
.drawer-form .feld{position:relative;margin-bottom:10px}
.drawer-form .feld input,.drawer-form .feld select{padding-left:38px;margin-bottom:0}
.drawer-form .f-ico{position:absolute;left:12px;top:50%;transform:translateY(-50%);width:17px;height:17px;stroke:var(--nar);fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}
.drawer-form .abhol-box{background:var(--kese);border:1.5px solid var(--kese-rand);border-radius:12px;padding:14px 14px 12px;margin:6px 0 14px}
.drawer-form .abhol-box .form-label{color:var(--ink);margin-top:0}
.drawer-form .abhol-row{display:flex;gap:10px}
.drawer-form .abhol-row .feld{flex:1;min-width:0}
.drawer-form .abhol-row input,.drawer-form .abhol-row select{margin-bottom:0}
.drawer-form .abhol-row select{appearance:none;-webkit-appearance:none;padding-right:32px;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%235C534B' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center}
.drawer-form .abhol-row input[type=date]{font-variant-numeric:tabular-nums}
.drawer-form .abhol-row input[type=date]::-webkit-calendar-picker-indicator{opacity:.55;cursor:pointer}
.drawer-form .abhol-hinweis{font-size:11.5px;color:var(--ink-60);margin:9px 0 0;line-height:1.45}
.drawer-form .btn{width:100%;justify-content:center}
.drawer-form .mini{font-size:12px;color:var(--ink-60);margin:8px 0 0;text-align:center}
.drawer-form .einwilligung{display:flex;gap:10px;align-items:flex-start;font-size:13.5px;line-height:1.4;color:var(--ink);margin:2px 0 14px;cursor:pointer}
.drawer-form .einwilligung input{width:18px;height:18px;flex:none;margin:1px 0 0;accent-color:var(--zeytin);cursor:pointer}
.korb-leer{text-align:center;color:var(--ink-60);padding:40px 10px}
.korb-leer a{color:var(--nar);font-weight:700}
.bestell-ok{text-align:center;padding:44px 26px}
.bestell-ok .ok-kreis{width:64px;height:64px;border-radius:50%;background:#EDF2E6;color:var(--zeytin);display:grid;place-items:center;font-size:30px;margin:0 auto 18px}
.toast{position:fixed;left:50%;bottom:26px;transform:translate(-50%,120%);background:var(--ink);color:var(--paper);padding:12px 22px;border-radius:999px;font-size:14px;font-weight:700;z-index:99;transition:transform .25s ease}
.toast.zeig{transform:translate(-50%,0)}

#blazor-error-ui{display:none}

/* ---------- Preisangaben (PAngV): Grundpreis, Tiefstpreis, Pfand ---------- */
.preis-slot{display:inline-flex;flex-direction:column;align-items:flex-start;gap:1px;min-width:0}
.preis-hinweis{display:block;font-size:11px;line-height:1.3;color:var(--ink-60);font-variant-numeric:tabular-nums}
.korb-pfand{border-bottom:0;font-size:13px;color:var(--ink-60);padding:6px 0 0}
.korb-pfand .kz-name{grid-column:1/3}
.korb-mwst{font-size:11.5px;color:var(--ink-60);margin:4px 0 0;text-align:right}
.preis-mwst{font-size:12.5px;color:var(--ink-60);margin:14px 0 0}

/* ---------- Fußzeile: Rechtslinks ---------- */
.foot-legal{display:flex;gap:16px;flex-wrap:wrap}
.foot-legal a{display:inline;padding:0}
.foot-unten{align-items:center}
footer a.ras-plakette{display:inline-flex;align-items:center;gap:10px;padding:6px 14px 6px 13px;border:1.5px solid #3A332C;border-radius:999px;transition:border-color .15s ease}
.ras-plakette span{font-size:10.5px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:#A89F96}
.ras-plakette img{height:17px;width:auto;display:block}
footer a.ras-plakette:hover{border-color:var(--safran)}
@media (prefers-reduced-motion:reduce){footer a.ras-plakette{transition:none}}
@media (max-width:640px){.foot-unten{flex-direction:column;align-items:flex-start}}
.foot-legal .foot-cc{background:none;border:0;padding:0;font:inherit;color:#BFB6AD;cursor:pointer}
.foot-legal .foot-cc:hover{color:var(--safran)}

.cc{position:fixed;inset-inline-start:22px;bottom:22px;z-index:80;width:min(400px,calc(100vw - 44px));max-height:calc(100vh - 44px);overflow-y:auto;background:var(--weiss);border:1px solid var(--kese-rand);border-radius:18px;box-shadow:0 18px 44px rgba(34,28,24,.2);padding:20px 20px 16px;color:var(--ink)}
.cc-marke{display:flex;align-items:center;gap:10px;margin-bottom:6px}
.cc-marke svg{width:30px;height:30px;flex:none;fill:var(--nar)}
.cc-marke .cc-keks{fill:var(--kese);stroke:var(--nar);stroke-width:2}
.cc-titel{font-family:var(--disp);font-weight:900;font-size:20px;margin:0}
.cc-text{margin:0;font-size:14px;line-height:1.5;color:var(--ink-60)}
.cc-text a{color:var(--ink);font-weight:700}
.cc-wahl:not([hidden]){display:grid;gap:12px;margin:14px 0 2px;border-top:1px solid var(--kese-rand);padding-top:12px}
.cc-schalter{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;font-size:13.5px;line-height:1.4;color:var(--ink-60);cursor:pointer}
.cc-schalter b{display:block;font-size:14px;color:var(--ink)}
.cc-schalter input{appearance:none;-webkit-appearance:none;width:42px;height:24px;border-radius:999px;background:#CFC5B6;position:relative;flex:none;cursor:pointer;margin:2px 0 0;transition:background .15s ease}
.cc-schalter input::after{content:"";position:absolute;top:3px;inset-inline-start:3px;width:18px;height:18px;border-radius:50%;background:#fff;transition:transform .15s ease}
.cc-schalter input:checked{background:var(--zeytin)}
.cc-schalter input:checked::after{transform:translateX(18px)}
[dir=rtl] .cc-schalter input:checked::after{transform:translateX(-18px)}
.cc-schalter input:disabled{opacity:.55;cursor:default}
.cc-knoepfe{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px}
.cc-btn{font-family:var(--body);font-weight:800;font-size:14px;border-radius:999px;padding:11px 14px;border:2px solid var(--ink);background:transparent;color:var(--ink);cursor:pointer}
.cc-btn.voll{background:var(--ink);color:var(--paper)}
.cc-btn:hover{background:var(--kese)}
.cc-btn.voll:hover{background:#3A312A}
.cc-fuss{margin-top:10px;text-align:center}
.cc-link{background:none;border:0;padding:4px;font:inherit;font-weight:700;font-size:13.5px;color:var(--ink);text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.cc-schalter input:focus-visible{outline:3px solid var(--safran);outline-offset:2px}
@media (max-width:560px){.cc{inset-inline:10px;bottom:10px;width:auto}}
@media (prefers-reduced-motion:reduce){.cc-schalter input,.cc-schalter input::after{transition:none}}
@media print{.cc{display:none!important}}

/* ---------- Rechtsseiten ---------- */
.legal{max-width:46em}
.legal h1{font-size:clamp(30px,4vw,44px);font-weight:900;text-transform:uppercase;letter-spacing:-.01em;margin-bottom:22px}
.legal h2{font-size:21px;font-weight:800;margin:34px 0 10px}
.legal h3{font-size:16.5px;font-weight:800;margin:20px 0 6px}
.legal p,.legal li{font-size:15.5px;color:var(--ink-60);line-height:1.62}
.legal p{margin:0 0 12px}
.legal ul{padding-left:20px;margin:0 0 12px}
.legal a{color:var(--nar);font-weight:700}
.legal .hinweis{background:var(--kese);border:1.5px solid var(--kese-rand);border-radius:10px;padding:12px 16px;font-size:14px;margin:0 0 22px}
.legal .fehlt{background:#F7E8E8;color:var(--nar);border-radius:6px;padding:2px 8px;font-weight:700}
.legal address{font-style:normal;line-height:1.6;color:var(--ink);font-size:15.5px}
.legal .stand{font-size:12.5px;color:var(--ink-60);margin-top:30px}

/* ---------- Fehlerseiten ---------- */
.fehlerseite{text-align:center;padding:40px 0 20px;max-width:34em;margin:0 auto}
.fehlerseite h1{font-size:clamp(30px,4vw,44px);font-weight:900;text-transform:uppercase;margin-bottom:14px}
.fehlerseite p{color:var(--ink-60);font-size:16px;margin:0 0 26px}
.fehlerseite .code{font-family:var(--disp);font-weight:900;font-size:96px;line-height:1;color:var(--kese-rand);margin-bottom:6px}

/* ---------- Seitenaufteilung ---------- */
.pager{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:30px;flex-wrap:wrap}
.pager span{font-size:13.5px;color:var(--ink-60);font-weight:700}
.pager .btn{padding:10px 18px;font-size:14px}

/* ---------- Responsive ---------- */
@media (max-width:980px){
  .hero .wrap{grid-template-columns:1fr;gap:20px}
  .hero-text{margin-inline-start:0}
  .hero-text{padding:22px 20px 24px;margin:0}
  .hero{background:linear-gradient(to top, var(--boden) 0, var(--boden) 56px, transparent 120px),linear-gradient(to bottom, var(--himmel-oben), var(--himmel-unten))}
  .offer-grid,.offer-grid.drei,.kat-grid,.prod-grid{grid-template-columns:repeat(2,1fr)}
  .offer-grid.eins .offer{grid-template-columns:1fr}
  .offer-grid.eins .card-img{grid-row:auto;grid-column:auto;min-height:180px}
  .offer-grid.eins .offer:has(.card-img) .o-name,.offer-grid.eins .offer:has(.card-img) .o-sub,.offer-grid.eins .offer:has(.card-img) .o-foot{grid-column:auto}
  .usps .wrap{grid-template-columns:repeat(2,1fr);gap:14px 0}
  .usp{border-left:0;padding-left:0}
  .steps,.rez-grid{grid-template-columns:1fr}
  .markt-grid,.foot-grid{grid-template-columns:1fr}
  .nav-links,.status-pill.desktop,.lang{display:none}
  .burger{display:block;margin-left:auto}
  .mobile-nav{display:none;position:fixed;inset:0;background:var(--paper);z-index:55;padding:90px 30px 30px;flex-direction:column;gap:6px}
  body.nav-open .mobile-nav{display:flex}
  .mobile-nav a{font-family:var(--disp);font-weight:900;font-size:30px;text-decoration:none;padding:10px 0;text-transform:uppercase}
  .mobile-nav > a.on{color:var(--nar)}
  .mobile-nav > a.on::before{content:"";display:inline-block;width:10px;height:10px;border-radius:50%;background:var(--nar);vertical-align:middle;margin-inline-end:12px}
  .mobile-nav .status-pill{align-self:flex-start}
}
@media (max-width:560px){
  .offer-grid,.kat-grid,.prod-grid{grid-template-columns:1fr}
  .offer-grid.drei{grid-template-columns:1fr}
  section{padding:56px 0}
  .hero{padding:40px 0 0}
  .logo img{height:36px}
  :root{--kopf:62px}
  header{padding:10px 12px 0}
  .nav{padding:6px 6px 6px 10px;gap:6px}
  .logo{padding:2px 2px}
  .cart-btn{padding:8px 12px;font-size:13px;gap:6px}
  .cart-btn em{padding:1px 6px}
  .burger{padding:4px 2px}
}

/* ---------- Einblenden beim Scrollen (nur mit Skript, erster Bildschirm steht sofort) ---------- */
.js [data-in]{opacity:0;transform:translateY(14px);transition:opacity .48s ease,transform .48s cubic-bezier(.2,.7,.2,1)}
.js [data-in].in{opacity:1;transform:none}
.js .kat.in,.js .rez.in{transition:transform .15s ease,box-shadow .15s ease}
.js [data-in].sofort{transition-duration:0s;transition-delay:0s !important}
@media (prefers-reduced-motion:reduce),print{.js [data-in]{opacity:1;transform:none;transition:none}}

/* ---------- RTL (Arabisch) ---------- */
[dir=rtl] .drawer{right:auto;left:0;transform:translateX(-105%);box-shadow:16px 0 40px rgba(0,0,0,.2)}
[dir=rtl] .drawer-open .drawer{transform:none}
[dir=rtl] .drawer-form .feld input,[dir=rtl] .drawer-form .feld select{padding-left:13px;padding-right:38px}
[dir=rtl] .drawer-form .f-ico{left:auto;right:12px}
[dir=rtl] .drawer-form .abhol-row select{padding-right:38px;padding-left:32px;background-position:left 12px center}
[dir=rtl] .such input{padding:11px 38px 11px 14px}
[dir=rtl] .such::before{left:auto;right:14px}
[dir=rtl] .front{transform:scaleX(-1)}
[dir=rtl] .front text,[dir=rtl] .front image,[dir=rtl] .front foreignObject{transform:scaleX(-1);transform-box:fill-box;transform-origin:center}
[dir=rtl] .fisch-band::after{right:auto;left:-70px}
[dir=rtl] .fisch-badge{margin-left:0;margin-right:auto;transform:rotate(-2deg)}
[dir=rtl] .burger{margin-left:0;margin-right:auto}
[dir=rtl] .markt-foto{transform:rotate(1.2deg)}

/* ---------- Leiste mit drei Punkten, wenn kein Fischtag gesetzt ist ---------- */
.usps .wrap.drei{grid-template-columns:repeat(3,1fr)}
@media (max-width:980px){.usps .wrap.drei{grid-template-columns:1fr}}

/* ---------- Fußzeile: Marke, Kanäle, Kontakt, Zeiten ---------- */
.foot-logo{font-family:var(--disp);font-weight:900;font-size:24px;color:var(--paper);letter-spacing:.02em;display:block;margin-bottom:8px}
.foot-logo i{color:#D9556A;font-style:normal}
.foot-marke p{margin:0;max-width:30em}
.foot-social{display:flex;gap:8px;margin-top:14px}
.foot-social a{width:38px;height:38px;border-radius:50%;border:1.5px solid #3A332C;display:grid;place-items:center;padding:0;color:#E8E1D8;transition:border-color .15s ease,color .15s ease}
.foot-social a:hover{border-color:var(--safran);color:var(--safran)}
.foot-social svg{width:18px;height:18px;fill:currentColor}
.foot-kontakt{display:flex;gap:9px;align-items:flex-start;padding:4px 0}
.foot-kontakt svg{width:16px;height:16px;flex:none;margin-top:3px;stroke:var(--safran);fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.foot-zeiten{border-collapse:collapse;max-width:250px}
.foot-zeiten td{padding:3px 0;font-size:14px;vertical-align:top}
.foot-zeiten td:last-child{text-align:end;color:var(--paper);font-variant-numeric:tabular-nums;padding-inline-start:16px;white-space:nowrap}
.foot-zeiten tr.heute td{color:var(--safran);font-weight:800}
.foot-status{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;font-weight:700;padding:5px 11px;border-radius:999px;background:#2E3A25;color:#CFE0B8;margin-top:10px}
.foot-status.zu{background:#3E2528;color:#F0B8C0}
.foot-status .dot{width:7px;height:7px;border-radius:50%;background:currentColor}
.foot-fisch{display:flex;justify-content:space-between;gap:12px;max-width:250px;margin-top:10px;padding:6px 10px;border-radius:8px;background:linear-gradient(135deg,#16404F 0%,#0E2C38 100%);color:#F1F7F8;font-weight:700;font-size:13.5px}
.foot-fisch em{font-style:normal;font-weight:800;white-space:nowrap}

/* ---------- Fragen & Antworten ---------- */
.faq-liste{display:grid;gap:10px;max-width:780px}
.faq{background:var(--weiss);border:1.5px solid var(--kese-rand);border-radius:12px;padding:0 18px}
.faq summary{cursor:pointer;list-style:none;font-family:var(--disp);font-weight:800;font-size:17.5px;padding:15px 34px 15px 0;position:relative}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;inset-inline-end:0;top:11px;font-size:24px;line-height:1;color:var(--nar);font-weight:700;transition:transform .2s ease}
.faq[open] summary::after{transform:rotate(45deg)}
.faq p{margin:0 0 16px;color:var(--ink-60);font-size:15px;line-height:1.6;max-width:60em}
@media (prefers-reduced-motion:reduce){.faq summary::after{transition:none}}
[dir=rtl] .faq summary{padding:15px 0 15px 34px}

/* ---------- Google-Bewertungen ---------- */
.bew{background:var(--weiss)}
.bew-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.bew-grid.vier{grid-template-columns:repeat(4,1fr)}
.bew-karte{background:var(--paper);border:1.5px solid var(--kese-rand);border-radius:var(--radius);padding:20px 20px 18px;display:flex;flex-direction:column;gap:10px;margin:0}
.bew-sterne{color:var(--safran);letter-spacing:2px;font-size:16px}
.bew-karte p{margin:0;font-size:15px;line-height:1.55;color:var(--ink)}
.bew-autor{display:flex;align-items:center;gap:10px;margin-top:auto;padding-top:6px}
.bew-autor img,.bew-avatar{width:36px;height:36px;border-radius:50%;flex:none;object-fit:cover}
.bew-avatar{background:var(--zeytin);color:#fff;display:grid;place-items:center;font-weight:800;font-size:14px}
.bew-autor a,.bew-autor b{display:block;font-size:14px;font-weight:800;color:var(--ink);text-decoration:none}
.bew-autor a:hover{color:var(--nar)}
.bew-autor small{display:block;font-size:12.5px;color:var(--ink-60)}
.bew-fuss{display:flex;flex-wrap:wrap;align-items:center;gap:14px 20px;margin-top:26px}
.bew-note{font-family:var(--disp);font-size:36px;font-weight:900;color:var(--nar);line-height:1}
.bew-note small{font-family:var(--body);font-size:14px;font-weight:700;color:var(--ink-60)}
.bew-google{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;font-weight:700;color:var(--ink-60);margin-inline-start:auto}
.bew-google svg{width:14px;height:14px;fill:currentColor}
@media (max-width:980px){.bew-grid,.bew-grid.vier{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.bew-grid,.bew-grid.vier{grid-template-columns:1fr}.bew-google{margin-inline-start:0}}

/* ---------- Markt: Hinweisband, Schließtag-Pille, Schließtag-Liste ---------- */
.hinweis-band{background:var(--safran);color:#221C18;font-weight:700;font-size:14.5px}
.hinweis-band .wrap{padding-block:9px}
.hinweis-band i{font-style:normal}
.front-halter{position:relative}
.front-pille{position:absolute;left:50%;top:8px;transform:translateX(-50%);z-index:3;
  display:inline-flex;align-items:center;gap:6px;max-width:min(92%,420px);
  padding:8px 15px;border-radius:999px;font-size:13.5px;font-weight:700;line-height:1.3;
  background:#F7E8E8;color:var(--nar);border:1.5px solid rgba(158,27,48,.18);
  box-shadow:0 6px 18px rgba(34,28,24,.14)}
.front-pille.sonder{background:#EDF2E6;color:var(--zeytin);border-color:rgba(85,100,59,.2)}
.front-pille i{font-style:italic;font-weight:600}
.zu-liste{margin:12px 0 0;font-size:13.5px;color:var(--ink-60);line-height:1.6}
.zu-liste b{display:block;color:var(--ink);font-size:13px;text-transform:uppercase;letter-spacing:.06em}
.zu-liste span{display:block}
.zu-liste i{font-style:italic}
@media (max-width:760px){
  .front-pille{position:static;transform:none;display:flex;margin:0 auto 10px;max-width:100%}
}
