:root{--bg:#F5F1E8;--surface:#FFFFFF;--sunk:#EFEBE2;--ink:#1E1E1D;--ink-2:#55524C;--muted:#5F5B54;--line:#E3DED3;--line-2:#D3CDC0;--gruen:#2E7D3A;--gruen-ink:#FFFFFF;--gruen-soft:#DDEEDD;--salbei:#5B7F57;--ocker:#8A5410;--ocker-hell:#D68E29;--ocker-soft:#F3E3C6;--blau:#2F6DB5;--rot:#A8413A;--rot-soft:#F6E1DC;--r:16px;--font-display:"Inter",system-ui,-apple-system,"Segoe UI",sans-serif;--font-body:"Inter",system-ui,-apple-system,"Segoe UI",sans-serif;color-scheme:light}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font-body);font-size:16px;line-height:1.55}h1,h2,h3{font-family:var(--font-display);font-weight:800;line-height:1.12;margin:0;text-wrap:balance;letter-spacing:-.02em}h1{font-size:clamp(1.7rem,5vw,2.4rem)}h2{font-size:1.45rem}h3{font-size:1.1rem}a{color:var(--ocker)}a:hover{color:var(--ink)}img{max-width:100%;display:block}.leiste{padding:12px 16px;border-bottom:1px solid var(--line);background:var(--surface);display:flex}.leiste,.marke{align-items:center}.marke{display:inline-flex;gap:12px;text-decoration:none;color:var(--muted)}.marke img{height:32px;width:auto;display:block}.marke span{font-size:.85rem}@media (max-width:420px){.marke span{display:none}}.wrap{max-width:760px;margin:0 auto;padding:24px 16px 48px;display:grid;grid-gap:20px;gap:20px}.intro{display:grid;grid-gap:10px;gap:10px}.eyebrow{margin:0;font-size:.78rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--ocker)}.lede{margin:0;color:var(--muted);font-size:1.05rem}.hinweis{margin:0;padding:10px 14px;border-radius:10px;background:var(--ocker-soft)}.klein{margin:0}.fuss,.klein{font-size:.9rem;color:var(--muted)}.fuss{text-align:center}.eintrag{grid-gap:0;gap:0;border-radius:20px;overflow:hidden;border:1px solid var(--line)}.eintrag,.karte{display:grid;background:var(--surface)}.karte{padding:20px;grid-gap:14px;gap:14px}.wrap>.karte{border:1px solid var(--line);border-radius:20px;box-shadow:0 10px 24px rgba(30,28,25,.06)}.karte.leer{text-align:center;padding:40px 20px}.karte p{margin:0}.fotos{display:grid;grid-gap:4px;gap:4px;margin:-20px -20px 0;grid-template-columns:2fr 1fr;grid-template-rows:1fr 1fr;height:240px}.fotos.n1{grid-template-columns:1fr}.fotos.n1,.fotos.n2{grid-template-rows:1fr}.fotos.n2{grid-template-columns:1fr 1fr}.fotos.n3 figure:first-child{grid-row:span 2}.fotos figure{margin:0;position:relative;overflow:hidden;background:var(--sunk)}.fotos img{width:100%;height:100%;object-fit:cover}.fotos figcaption{position:absolute;right:6px;bottom:6px;font-size:.7rem;color:#fff;background:rgba(0,0,0,.55);padding:1px 6px;border-radius:6px}.kopf{display:flex;gap:14px;align-items:center}.kopf .logo{width:64px;height:64px;object-fit:contain;border-radius:10px;border:1px solid var(--line);background:#fff;padding:4px;flex:none}.kopf h2{margin-top:6px}.sub{color:var(--muted)}.text{white-space:pre-line}.pill{display:inline-block;font-size:.78rem;font-weight:600;padding:2px 10px;border-radius:999px}.pill.warten{background:var(--ocker-soft);color:var(--ocker)}.pill.ok{background:var(--gruen-soft);color:var(--gruen)}.pill.aus{background:var(--sunk);color:var(--muted)}.fakten{display:grid;grid-template-columns:max-content 1fr;grid-gap:8px 16px;gap:8px 16px;margin:0}.fakten dt{color:var(--muted);font-size:.9rem}.fakten dd{margin:0;overflow-wrap:anywhere}.fakten .vor{white-space:pre-line}.angebot{margin:0;padding-left:18px}@media (max-width:520px){.fakten{grid-template-columns:1fr;gap:2px}.fakten dd{margin-bottom:8px}}.quelle{font-size:.85rem;color:var(--muted)}.aktionen{background:var(--sunk);padding:18px 20px 20px;display:grid;grid-gap:12px;gap:12px;border-top:1px solid var(--line)}.knoepfe{display:flex;flex-wrap:wrap;gap:8px}button{font:inherit;font-weight:700;padding:12px 20px;border-radius:14px;border:1.5px solid var(--line-2);background:var(--surface);color:var(--ink);cursor:pointer;min-height:48px}button:hover:not(:disabled){border-color:var(--ink)}button:disabled{opacity:.55;cursor:progress}button.primaer{background:var(--ink);color:#FFFFFF;border-color:var(--ink)}button.primaer:hover:not(:disabled){background:#33302B}button.ocker{background:var(--ocker-hell);color:var(--ink);border-color:var(--ocker-hell)}button.leise{background:transparent;border-color:transparent;color:var(--muted);text-decoration:underline}button.gefahr{color:var(--rot);border-color:var(--rot)}@media (max-width:520px){.knoepfe button{flex:1 1 100%}}.meldung{margin:0;padding:10px 14px;border-radius:10px;font-weight:500}.meldung.ok{background:var(--gruen-soft);color:var(--gruen)}.meldung.fehler{background:var(--rot-soft);color:var(--rot)}.formular{display:grid;grid-gap:12px;gap:12px}.formular label{display:grid;grid-gap:4px;gap:4px;font-size:.92rem;font-weight:500}.formular input:not([type=checkbox]),.formular textarea{font:inherit;font-weight:400;padding:12px 14px;border-radius:12px;border:1.5px solid var(--line-2);background:var(--surface);color:var(--ink);width:100%}.formular input:focus,.formular textarea:focus,button:focus-visible{outline:3px solid var(--ocker-hell);outline-offset:2px}.formular .haken{display:flex;align-items:center;gap:8px;font-weight:400}.formular .haken input{width:20px;height:20px;accent-color:var(--ink)}.zeile{display:grid;grid-template-columns:1fr 110px;grid-gap:10px;gap:10px}.prosa{max-width:680px}.prosa h2{font-size:1.15rem;margin-top:8px}.prosa p{margin:0}.mehrfach{display:grid;grid-gap:10px;gap:10px}.tab{display:inline-block;padding:8px 14px;border-radius:999px;border:1px solid var(--line);background:var(--surface);color:var(--ink);text-decoration:none;font-weight:500}.tab.aktiv{background:var(--gruen);color:var(--gruen-ink);border-color:var(--gruen)}.haken-liste{margin:0;padding:0;list-style:none;display:grid;grid-gap:6px;gap:6px}.haken-liste li:before{color:var(--gruen);font-weight:700;margin-right:8px}.angebot-box{display:flex;gap:14px;align-items:center;padding:14px 16px;border-radius:12px;background:var(--ocker-soft)}.angebot-box .zahl{font-family:var(--font-display);font-size:2.2rem;line-height:1;display:grid;justify-items:center}.angebot-box .zahl small{font-size:.75rem;font-family:var(--font-body);font-weight:600}.schritt{border:1px solid var(--line);border-radius:var(--r)}.schritt h1{font-size:clamp(1.5rem,4.5vw,2rem)}.fortschritt{height:6px;background:var(--sunk);border-radius:3px;overflow:hidden}.fortschritt i{display:block;height:100%;background:var(--ocker);border-radius:3px;transition:width .3s}.zwischen{margin-top:8px}.pruefliste{display:grid;border:1px solid var(--line);border-radius:12px;overflow:hidden}.pruef{display:flex;gap:12px;align-items:center;justify-content:space-between;padding:12px 14px;border-top:1px solid var(--line);background:var(--surface)}.pruef:first-child{border-top:0}.pruef.ok{background:var(--gruen-soft)}.pruef .v{display:grid;grid-gap:2px;gap:2px;min-width:0}.pruef .v small{font-size:.82rem;color:var(--muted)}.pruef .v span{overflow-wrap:anywhere}.pruef .vor{white-space:pre-line}.pruef .formular{width:100%}.fehlt{color:var(--ocker);font-style:italic}.pruef-knoepfe{display:flex;gap:6px;flex:none;align-items:center}.klein-knopf{min-height:40px;padding:6px 14px;font-size:.9rem}.ok-haken{color:var(--gruen);font-weight:600;font-size:.9rem;white-space:nowrap}@media (max-width:520px){.pruef{flex-direction:column;align-items:stretch}.pruef-knoepfe{justify-content:flex-start}}.produkte{display:grid;border:1px solid var(--line);border-radius:12px;overflow:hidden}.produkt{display:grid;grid-template-columns:1fr minmax(140px,220px);grid-gap:10px;gap:10px;align-items:center;padding:10px 14px;border-top:1px solid var(--line);background:var(--surface)}.produkt:first-child{border-top:0}.produkt.aus{background:var(--sunk)}.produkt.aus b{color:var(--muted);text-decoration:line-through}.produkt .haken{font-weight:400}.produkt .preis{min-height:40px}@media (max-width:520px){.produkt{grid-template-columns:1fr}}.zeile-form,.zeile.neu{display:grid;grid-template-columns:1fr auto;grid-gap:10px;gap:10px;align-items:end}.zeile .breit{min-width:0}.zeile.plz-ort{grid-template-columns:110px 1fr}.produkt-icon{display:inline-grid;place-items:center;width:36px;height:36px;flex:none;border-radius:10px}.produkt .haken{display:flex;align-items:center;gap:10px}.icon-liste{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}.icon-liste li{display:inline-flex;align-items:center;gap:8px;padding:4px 12px 4px 4px;border:1px solid var(--line);border-radius:999px;background:var(--surface);font-size:.92rem}.icon-liste .produkt-icon{width:30px;height:30px;border-radius:999px}.erkennung{margin:0;font-size:.9rem;padding:8px 12px;border-radius:10px;background:var(--gruen-soft);color:var(--gruen)}.erkennung.sucht{background:var(--sunk);color:var(--muted)}.hero{position:relative;margin:-24px -16px 0;min-height:260px;background:#3A342B;color:#fff;display:flex;align-items:flex-end;overflow:hidden}@media (min-width:792px){.hero{margin:0;border-radius:20px}}.hero img{width:100%;height:100%;object-fit:cover}.hero img,.hero:after{position:absolute;inset:0}.hero:after{content:"";background:linear-gradient(180deg,rgba(24,20,15,.45),rgba(24,20,15,.1) 40%,rgba(24,20,15,.85))}.hero .text{position:relative;z-index:1;padding:20px;display:grid;grid-gap:6px;gap:6px}.hero .gruss{font-size:15px;color:#ECE6DA}.hero h1{color:#fff;font-size:clamp(26px,6vw,34px)}.hero .bildnachweis{position:absolute;z-index:1;right:8px;top:8px;font-size:.7rem;background:rgba(0,0,0,.5);color:#fff;padding:1px 6px;border-radius:6px}.haken-liste li:before{content:"✓";display:inline-grid;place-items:center;width:20px;height:20px;border-radius:50%;background:var(--ocker-soft);color:var(--ocker);font-size:12px;font-weight:800;margin-right:10px}.pill.ok{background:var(--gruen);color:#fff}.produkt-icon{background:var(--ocker-soft);color:var(--ocker)}.produkt-icon.farbig{background:transparent;overflow:hidden}.produkt-icon.farbig img{width:100%;height:100%;display:block}.erkennung{background:var(--ocker-soft);color:var(--ocker)}.fortschritt i{background:var(--ocker-hell)}.angebot-box .zahl{color:var(--ocker)}.portal-wrap{padding-bottom:96px}.portal-kopf{margin:8px 0 16px}.portal-kopf h1{margin:2px 0 10px}.status-pill{display:inline-flex;align-items:center;gap:8px;padding:6px 14px;border-radius:999px;font-weight:700;font-size:.92rem;background:var(--sunk);color:var(--ink-2)}.status-pill i{width:9px;height:9px;border-radius:50%;background:currentColor}.status-pill.offen{background:var(--gruen-soft);color:var(--gruen)}.status-pill.zu{background:var(--rot-soft);color:var(--rot)}.zaehler{display:flex;gap:10px;margin-bottom:6px}.zaehler span{flex:1 1;background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:10px 14px;color:var(--muted)}.zaehler b{display:block;font-size:1.5rem;color:var(--ink);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.kacheln{display:grid;grid-template-columns:repeat(auto-fill,minmax(104px,1fr));grid-gap:10px;gap:10px;margin:12px 0 16px}.kachel{display:flex;flex-direction:column;align-items:center;gap:6px;padding:14px 8px 12px;min-height:128px;border-radius:18px;border:2px solid var(--gruen);background:var(--surface);color:var(--ink);font:inherit;cursor:pointer;text-align:center;transition:transform .08s}.kachel:active{transform:scale(.97)}.kachel b{font-size:.95rem;line-height:1.2;overflow-wrap:anywhere}.kachel small{color:var(--muted);font-size:.8rem}.kachel .produkt-icon{width:52px;height:52px;border-radius:999px}.kachel.weg{border-color:var(--line-2);background:var(--sunk)}.kachel.weg .produkt-icon{filter:grayscale(1);opacity:.55}.kachel.weg b{color:var(--muted);text-decoration:line-through}.kachel.weg small{color:var(--rot);font-weight:700}.saison{list-style:none;margin:0 0 16px;padding:0;display:grid;grid-gap:8px;gap:8px}.saison li{display:flex;align-items:center;gap:10px;background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:8px 12px}.saison li span{flex:1 1}.suche{width:100%;margin:8px 0 10px}.chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.chips button{border-radius:999px;padding:6px 14px;min-height:36px}.chips button[aria-pressed=true],.segment button[aria-pressed=true]{background:var(--ink);color:#fff;border-color:var(--ink)}.katalog{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));grid-gap:8px;gap:8px}.katalog button{width:100%;display:flex;align-items:center;gap:10px;text-align:left;border-radius:14px;padding:8px 10px;min-height:56px}.katalog button span{display:flex;flex-direction:column}.katalog small{color:var(--muted);font-weight:400;font-size:.8rem}.eigenes{margin-top:12px;width:100%}.wahl{display:flex;align-items:center;gap:14px}.wahl .produkt-icon{width:64px;height:64px;border-radius:999px}.karte-jetzt{display:flex;flex-direction:column;gap:2px;border-radius:18px;padding:16px 18px;background:var(--sunk)}.karte-jetzt small{text-transform:uppercase;letter-spacing:.06em;font-size:.72rem;font-weight:700;color:var(--muted)}.karte-jetzt b{font-size:1.35rem}.karte-jetzt.offen{background:var(--gruen);color:#fff}.karte-jetzt.offen small{color:rgba(255,255,255,.8)}.karte-jetzt.zu{background:var(--rot-soft);color:var(--rot)}.segment{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:6px;gap:6px;background:var(--sunk);padding:4px;border-radius:14px}.segment button{border:1px solid transparent;background:transparent;border-radius:11px;min-height:44px;padding:6px 4px;font-weight:700}.wochenplan{display:grid;grid-gap:8px;gap:8px}.wochenplan label{display:grid;grid-template-columns:36px 1fr;align-items:center;grid-gap:8px;gap:8px;margin:0}.speichern-leiste{position:-webkit-sticky;position:sticky;bottom:84px;padding:8px 0}.portal-nav{position:fixed;left:0;right:0;bottom:0;z-index:10;display:grid;grid-template-columns:repeat(3,1fr);background:var(--surface);border-top:1px solid var(--line);padding:6px 8px calc(6px + env(safe-area-inset-bottom))}.portal-nav button{display:flex;flex-direction:column;align-items:center;gap:2px;border:0;background:none;color:var(--muted);font-size:.78rem;font-weight:600;min-height:56px;border-radius:12px}.portal-nav button.aktiv{color:var(--ink);background:var(--ocker-soft)}a.knopf{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 18px;border-radius:14px;border:1px solid var(--line-2);background:var(--surface);color:var(--ink);font-weight:700;text-decoration:none}a.knopf.primaer{background:var(--ink);color:#fff;border-color:var(--ink)}.kunde{max-width:760px;margin:0 auto;padding:0 0 32px}.kunde-kopf{position:-webkit-sticky;position:sticky;top:0;z-index:500;background:var(--bg);padding:12px 16px 8px;display:grid;grid-gap:10px;gap:10px}.suchfeld{display:flex;align-items:center;gap:8px;background:var(--surface);border:1.5px solid var(--line-2);border-radius:999px;padding:0 16px;color:var(--muted)}.suchfeld:focus-within{border-color:var(--ink)}.suchfeld input{flex:1 1;border:0;background:transparent;min-height:48px;font-size:16px;outline:none;padding:0}.kunde .chips{flex-wrap:nowrap;overflow-x:auto;margin:0;padding-bottom:2px;scrollbar-width:none}.kunde .chips button{white-space:nowrap;flex:none;display:inline-flex;align-items:center;gap:6px}.chip-offen i{width:8px;height:8px;border-radius:50%;background:var(--gruen)}.chips button.chip-offen[aria-pressed=true]{background:var(--gruen);border-color:var(--gruen)}.chips button.chip-offen[aria-pressed=true] i{background:#fff}.leaflet-box{height:42vh;min-height:260px;margin:0 16px;border-radius:20px;overflow:hidden;border:1px solid var(--line);z-index:0}@media (max-width:520px){.leaflet-box{margin:0;border-radius:0;border-left:0;border-right:0}}.pin{display:block;width:22px;height:22px;border-radius:50%;background:var(--muted);border:3px solid #fff;box-shadow:0 1px 4px rgba(0,0,0,.35)}.pin.offen{background:var(--gruen)}.pin.zu{background:#9C968B}.pin-popup a{font-weight:700;color:var(--ink)}.kunde-liste{padding:12px 16px 0}.liste-kopf{display:flex;flex-wrap:wrap;align-items:center;gap:4px 12px;margin-bottom:8px}.liste-kopf b{font-size:1.1rem}.liste-aktionen{margin-left:auto;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.liste-aktionen button.leise{min-height:40px;padding:6px 4px}.klein-seg{grid-template-columns:repeat(2,auto)}.klein-seg button{min-height:36px;padding:4px 12px;font-size:.85rem}.hof-liste{list-style:none;margin:0;padding:0;display:grid;grid-gap:10px;gap:10px}.hof-zeile{display:grid;grid-gap:6px;gap:6px;padding:14px 16px;background:var(--surface);border:1px solid var(--line);border-radius:18px;color:var(--ink);text-decoration:none}.hof-zeile:hover{border-color:var(--line-2);box-shadow:0 2px 10px rgba(30,30,29,.06)}.hof-titel{display:flex;justify-content:space-between;gap:8px;align-items:baseline}.hof-titel b{font-size:1.05rem}.hof-titel small{color:var(--muted);white-space:nowrap}.status-pill.klein{font-size:.82rem;padding:4px 10px;justify-self:start}.hof-zeile .meta{color:var(--muted);font-size:.82rem}.mini-icons{display:flex;gap:4px;flex-wrap:wrap}.mini-icons .produkt-icon{width:30px;height:30px;border-radius:999px}.treffer{display:grid;grid-gap:4px;gap:4px}.treffer span{display:flex;align-items:center;gap:8px;font-weight:600}.treffer .produkt-icon{width:30px;height:30px;border-radius:999px}.treffer .weg{color:var(--muted);font-weight:400}.zurueck{margin:0 0 8px}.zurueck a{color:var(--ink-2);font-weight:600;text-decoration:none}.hofseite .hero{margin-top:0}.hofseite .hero .status-pill{justify-self:start}.hofseite .adresse{margin:0;color:#ECE6DA}.hof-kopf{display:grid;grid-gap:8px;gap:8px;margin-bottom:8px}.hof-kopf .adresse{color:var(--muted)}.hero .copyright{position:absolute;right:10px;top:10px;z-index:1;font-size:.7rem;color:rgba(255,255,255,.85);background:rgba(0,0,0,.35);padding:2px 8px;border-radius:999px}.hof-aktionen{margin:14px 0}.hof-aktionen .knopf{flex:1 1}.hof-produkte{list-style:none;margin:8px 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));grid-gap:8px;gap:8px}.hof-produkte li{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;grid-column-gap:10px;column-gap:10px;align-items:center;padding:10px;border:1px solid var(--line);border-radius:14px}.hof-produkte .produkt-icon{grid-row:span 2;width:44px;height:44px;border-radius:999px}.hof-produkte span{color:var(--ink-2);font-size:.9rem}.ausverkauft{margin-top:10px;color:var(--muted)}.zeiten{margin:0;display:grid;grid-gap:6px;gap:6px}.zeiten div{display:flex;justify-content:space-between;gap:12px;border-bottom:1px dashed var(--line);padding-bottom:6px}.zeiten dt{font-weight:700}.zeiten dd{margin:0;text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.ausnahmen{margin:10px 0 0;padding-left:18px;color:var(--rot)}.pills{display:flex;flex-wrap:wrap;gap:6px}.pills .pill{background:var(--sunk);color:var(--ink-2)}.beschreibung{white-space:pre-line}.wrap.schmal{max-width:520px}