@font-face{font-family:"Didact Gothic";src:url(../fonts/didact-gothic.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}
:root{
  --nacht:#221F20;        /* Etikett-Hintergrund */
  --nacht-2:#2D2929;
  --gold:#CDB561;         /* Etikett-Schrift */
  --gold-hell:#E2CF85;
  --gold-text:#7D6A22;    /* Gold fuer Text auf hellem Grund (Kontrast) */
  --schnee:#EDEDED;       /* Skyline */
  --weinrot:#6B1A22;      /* Weihnachtsedition */
  --weinrot-tief:#521219;
  --creme:#F6F2E9;
  --papier:#FFFDF8;
  --linie:#E2DACA;
  --grau:#5F5950;
  --text:#221F20;
  --titel:"Didact Gothic","Century Gothic",Futura,system-ui,sans-serif;
  --sans:"Karla",system-ui,-apple-system,"Segoe UI",sans-serif;
  --rand:1180px;
  --sky-plain:url(../img/skyline.webp);
  --sky-schnee:url(../img/skyline_schnee.webp);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--creme);color:var(--text);font-family:var(--sans);font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
a{color:inherit}
h2,h3,h4,.marke{word-spacing:-.06em}
h1,h2,h3,h4{font-family:var(--titel);font-weight:400;line-height:1.12;margin:0;letter-spacing:.005em}
h1{font-size:clamp(2.6rem,6.4vw,4.4rem)}
h2{font-size:clamp(1.9rem,3.7vw,2.7rem)}
h3{font-size:1.32rem}
p{margin:0 0 1em}
.wrap{max-width:var(--rand);margin:0 auto;padding:0 24px}
.eyebrow{font-family:var(--sans);font-size:.74rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--gold-text);margin:0 0 14px}
.lead{font-size:1.09rem;color:var(--grau);max-width:56ch}

/* Skyline als Maske: Farbe ueber background-color steuerbar */
.skyline{width:100%;aspect-ratio:538/112;background:var(--schnee);
  -webkit-mask:var(--sky-plain) center bottom/100% 100% no-repeat;mask:var(--sky-plain) center bottom/100% 100% no-repeat}
.skyline.schnee{-webkit-mask-image:var(--sky-schnee);mask-image:var(--sky-schnee)}

/* ---------- Kopf ---------- */
.hinweisleiste{background:#171515;color:var(--gold);font-size:.8rem;letter-spacing:.05em}
.hinweisleiste .wrap{display:flex;gap:20px;justify-content:space-between;padding-top:9px;padding-bottom:9px}
.hinweisleiste span:last-child{opacity:.8}
header.kopf{position:sticky;top:0;z-index:50;background:rgba(34,31,32,.96);backdrop-filter:blur(10px);border-bottom:1px solid #3A3536;color:#EEE8DA}
.kopf .wrap{display:flex;align-items:center;gap:26px;padding-top:14px;padding-bottom:14px}
.marke{font-family:var(--titel);font-size:1.32rem;color:var(--gold);text-decoration:none;line-height:1.05;white-space:nowrap}
.marke em{display:block;font-size:.6rem;font-style:normal;font-family:var(--sans);letter-spacing:.24em;text-transform:uppercase;color:#BDB6A8;font-weight:700;margin-top:4px}
nav.haupt{margin-left:auto;display:flex;gap:26px;font-size:.93rem;font-weight:500}
nav.haupt a{text-decoration:none;padding:4px 0;border-bottom:2px solid transparent;transition:border-color .2s,color .2s}
nav.haupt a:hover,nav.haupt a:focus-visible{border-color:var(--gold);color:var(--gold)}
.korb{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--gold);background:transparent;color:var(--gold);border-radius:999px;padding:9px 16px;font-family:var(--sans);font-size:.88rem;font-weight:600;cursor:pointer;transition:.2s}
.korb:hover{background:var(--gold);color:var(--nacht)}
.burger{display:none;background:none;border:1px solid #4A4445;border-radius:10px;padding:9px 11px;cursor:pointer}
.burger span{display:block;width:19px;height:2px;background:#EEE8DA;margin:4px 0}

/* ---------- Buttons ---------- */
.btn{display:inline-flex;align-items:center;gap:10px;border-radius:999px;padding:14px 26px;font-family:var(--sans);font-weight:700;font-size:.95rem;text-decoration:none;cursor:pointer;border:1px solid transparent;transition:transform .18s,background .18s,color .18s,box-shadow .18s}
.btn-gold{background:var(--gold);color:var(--nacht)}
.btn-gold:hover{background:var(--gold-hell);transform:translateY(-1px)}
.btn-linie{border-color:currentColor;color:inherit}
.btn-linie:hover{background:var(--gold);border-color:var(--gold);color:var(--nacht)}
.btn[disabled]{background:#E7E1D3;color:#857E72;cursor:not-allowed;transform:none}

/* ---------- Weihnachtsbanner ---------- */
.xmas{position:relative;overflow:hidden;background:radial-gradient(120% 140% at 30% 0%,#7E2129 0%,var(--weinrot) 45%,var(--weinrot-tief) 100%);color:#F4ECDD;padding:clamp(34px,5vw,56px) 0 0}
.xmas[hidden]{display:none}
.xmas .himmel{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.xmas .wrap{position:relative;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(20px,4vw,48px);align-items:center}
.xmas .gruss{width:min(330px,80%);height:auto;fill:var(--gold);margin-bottom:10px}
.xmas h2{color:#FFF8EA;font-size:clamp(1.7rem,3.4vw,2.5rem)}
.xmas p{color:#E8D8CB;max-width:46ch;margin-top:14px}
.xmas .btn{margin-top:10px}
.xmas .glaeser{display:flex;justify-content:center;gap:0}
.xmas .glaeser img{width:min(46%,230px);filter:drop-shadow(0 18px 26px rgba(0,0,0,.4))}
.xmas .glaeser img:first-child{transform:rotate(-5deg) translateX(14px)}
.xmas .glaeser img:last-child{transform:rotate(5deg) translate(-14px,18px)}
.xmas .skyline{margin-top:clamp(18px,3vw,30px);background:#FFFFFF;opacity:.95}

/* ---------- Hero ---------- */
.hero{background:var(--nacht);color:#EEE8DA;padding:clamp(40px,6vw,76px) 0 0;overflow:hidden}
.hero .wrap{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(28px,5vw,64px);align-items:center}
.hero .eyebrow{color:#BDB6A8}
.hero h1{color:var(--gold)}
.hero h1 .zeile2{display:block;font-size:.42em;color:#EEE8DA;margin-top:14px;letter-spacing:.02em}
.hero .lead{margin-top:22px;color:#CFC8BA}
.aktionen{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
.merkmale{display:flex;gap:30px;margin-top:38px;padding-top:26px;border-top:1px solid #3A3536;flex-wrap:wrap}
.merkmal{display:flex;align-items:center;gap:11px;font-size:.9rem;font-weight:600}
.merkmal svg{width:26px;height:26px;stroke:var(--gold);fill:none;stroke-width:1.5;flex:none}
.merkmal small{display:block;font-weight:400;color:#AFA899;font-size:.78rem;letter-spacing:.02em}
.etiketten{display:flex;justify-content:center;position:relative}
.etiketten img{width:min(52%,320px);filter:drop-shadow(0 26px 34px rgba(0,0,0,.55))}
.etiketten img:first-child{transform:rotate(-4deg) translateX(18px)}
.etiketten img:last-child{transform:rotate(4deg) translate(-18px,26px)}
.hero .skyline{margin-top:clamp(26px,4vw,46px)}

/* ---------- Abschnitte ---------- */
section{padding:clamp(52px,7vw,96px) 0}
.hero,.xmas{padding-bottom:0}
.kopfzeile{max-width:60ch;margin-bottom:clamp(30px,4vw,48px)}
.kopfzeile h2{margin-bottom:14px}
.hell{background:var(--papier);border-top:1px solid var(--linie);border-bottom:1px solid var(--linie)}

/* ---------- Trachtkalender ---------- */
.kalender{background:var(--papier);border:1px solid var(--linie);border-radius:4px;padding:clamp(22px,3.4vw,38px)}
.monate{display:grid;grid-template-columns:repeat(12,1fr);font-size:.72rem;font-weight:700;letter-spacing:.08em;color:var(--grau);text-transform:uppercase;padding-left:clamp(0px,12vw,146px)}
.monate span{text-align:center}
.monate span.jetzt{color:var(--gold-text)}
.spur{display:flex;align-items:center;margin-top:14px}
.spurname{width:clamp(0px,12vw,146px);flex:none;font-family:var(--titel);font-size:1.02rem;padding-right:14px}
.balkenfeld{position:relative;flex:1;height:38px;border-radius:2px;background:repeating-linear-gradient(90deg,transparent 0,transparent calc(8.3333% - 1px),var(--linie) calc(8.3333% - 1px),var(--linie) 8.3333%)}
.balken{position:absolute;top:6px;height:26px;border-radius:2px;display:flex;align-items:center;padding-left:12px;font-size:.78rem;font-weight:700;white-space:nowrap;overflow:hidden}
.b-bluete{background:linear-gradient(90deg,#E2CF85,var(--gold));color:var(--nacht)}
.b-linde{background:linear-gradient(90deg,#3B3637,var(--nacht));color:var(--gold)}
.heute{position:absolute;top:-4px;bottom:-4px;width:2px;background:var(--weinrot)}
.heute::after{content:"heute";position:absolute;top:-19px;left:50%;transform:translateX(-50%);font-size:.64rem;letter-spacing:.12em;text-transform:uppercase;font-weight:700;color:var(--weinrot)}
.monate + .spur .heute::after{display:none}
.spur + .spur .heute::after{top:auto;bottom:-19px}
.kalender .fussnote{margin:40px 0 0;font-size:.88rem;color:var(--grau);border-top:1px solid var(--linie);padding-top:18px}

/* ---------- Produkte ---------- */
.produkte{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:22px}
.karte{background:var(--papier);border:1px solid var(--linie);border-radius:4px;display:flex;flex-direction:column;overflow:hidden;transition:transform .22s,box-shadow .22s}
.karte:hover{transform:translateY(-4px);box-shadow:0 22px 44px -28px rgba(34,31,32,.6)}
.bildfeld{background:linear-gradient(180deg,#EFEAE0,#E6DFD1);padding:26px 26px 18px;position:relative}
.bildfeld img{margin:0 auto;max-height:280px;width:auto;filter:drop-shadow(0 14px 18px rgba(34,31,32,.28))}
.groesse{position:absolute;top:14px;right:14px;font-size:.7rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:5px 11px;border-radius:999px;background:var(--nacht);color:var(--gold)}
.karte .text{padding:18px 22px 24px;display:flex;flex-direction:column;flex:1}
.karte h3{margin-bottom:6px}
.sorte{font-size:.79rem;letter-spacing:.1em;text-transform:uppercase;color:var(--grau);font-weight:700;margin-bottom:12px}
.karte p.beschreibung{font-size:.93rem;color:var(--grau);margin-bottom:16px}
.daten{list-style:none;margin:0 0 20px;padding:0;font-size:.85rem;border-top:1px solid var(--linie)}
.daten li{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid var(--linie)}
.daten li span:first-child{color:var(--grau)}
.daten li span:last-child{font-weight:600;text-align:right}
.preiszeile{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;margin-top:auto}
.preis{font-family:var(--titel);font-size:1.6rem;line-height:1}
.preis.offen{font-size:1.15rem;color:var(--grau)}
.preis small{display:block;font-family:var(--sans);font-size:.72rem;color:var(--grau);font-weight:500;margin-top:5px;line-height:1.3}
.karte .btn{padding:11px 20px;font-size:.88rem}

/* Weihnachtsedition im Shop */
.edition{margin-top:clamp(40px,5vw,64px);background:var(--weinrot);border-radius:6px;padding:clamp(24px,3.4vw,40px);color:#F4ECDD;position:relative;overflow:hidden}
.edition[hidden]{display:none}
.edition .kopf-ed{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:12px 30px;margin-bottom:26px}
.edition .kopf-ed h3{font-size:clamp(1.5rem,2.6vw,2rem);color:#FFF8EA}
.edition .eyebrow{color:var(--gold)}
.edition .kopf-ed p{margin:0;color:#E8D8CB;max-width:48ch;font-size:.95rem}
.edition .karte{border-color:transparent;color:var(--text)}
.edition .produkte{grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}
.edition .bildfeld{background:linear-gradient(180deg,#F3EBE6,#E9DCD5)}
.edition .groesse{background:var(--weinrot);color:var(--gold-hell)}

/* ---------- Sortiment ---------- */
.sortiment{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:16px}
.feld{background:var(--papier);border:1px solid var(--linie);border-radius:4px;padding:24px 22px;display:flex;flex-direction:column;gap:12px;min-height:172px}
.feld svg{width:34px;height:34px;stroke:var(--gold-text);fill:none;stroke-width:1.4}
.feld b{font-family:var(--titel);font-weight:400;font-size:1.15rem}
.feld span{font-size:.79rem;letter-spacing:.09em;text-transform:uppercase;font-weight:700;color:var(--grau);margin-top:auto}
.feld.aktiv{background:var(--nacht);border-color:var(--nacht);color:#EEE8DA}
.feld.aktiv svg{stroke:var(--gold)}
.feld.aktiv span{color:var(--gold)}

/* ---------- Prozess ---------- */
.schritte{display:grid;grid-template-columns:repeat(auto-fit,minmax(232px,1fr));gap:26px}
.schritt figure{margin:0 0 16px;overflow:hidden;border-radius:3px}
.schritt img{width:100%;height:172px;object-fit:cover}
.schritt .nr{font-family:var(--sans);font-size:.78rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--gold-text);display:flex;align-items:center;gap:10px;margin-bottom:8px}
.schritt .nr::after{content:"";flex:1;height:1px;background:var(--linie)}
.schritt h3{margin-bottom:8px;font-size:1.18rem}
.schritt p{font-size:.92rem;color:var(--grau);margin:0}
.platzhalterbild{height:172px;border:1px dashed #CFC6B3;border-radius:3px;display:flex;align-items:center;justify-content:center;text-align:center;padding:0 16px;background:#EFEAE0;color:var(--grau);font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;font-weight:700;margin-bottom:16px}

/* ---------- Imker ---------- */
.imker{display:grid;grid-template-columns:minmax(0,.72fr) minmax(0,1fr);gap:clamp(26px,5vw,60px);align-items:center}
.portrait{border:1px dashed #CFC6B3;background:#EFEAE0;border-radius:4px;aspect-ratio:4/5;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;color:var(--grau);text-align:center;padding:20px}
.portrait b{font-family:var(--titel);font-weight:400;font-size:1.15rem;color:var(--text)}
.portrait span{font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;font-weight:700}
blockquote.zitat{margin:0 0 24px;font-family:var(--titel);font-size:clamp(1.35rem,2.6vw,1.85rem);line-height:1.32;color:var(--text);border-left:3px solid var(--gold);padding-left:20px}
.signatur{font-family:var(--titel);font-size:1.1rem;margin-top:22px}
.signatur span{display:block;font-family:var(--sans);font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;color:var(--grau);font-weight:700;margin-top:4px}

/* ---------- Wissen ---------- */
.wissen{display:grid;grid-template-columns:repeat(auto-fit,minmax(258px,1fr));gap:20px}
.artikel{background:var(--papier);border:1px solid var(--linie);border-left:3px solid var(--gold);border-radius:3px;padding:26px 24px;display:flex;flex-direction:column;gap:10px;text-decoration:none}
.artikel:hover{border-left-color:var(--nacht)}
.artikel .kat{font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;font-weight:700;color:var(--grau)}
.artikel p{font-size:.92rem;color:var(--grau);margin:0}
.artikel .mehr{font-size:.86rem;font-weight:700;color:var(--gold-text);margin-top:6px}
.aktuell{display:flex;gap:22px;align-items:flex-start;background:var(--nacht);color:#E3DCCD;border-radius:4px;padding:24px 26px;margin-top:34px}
.aktuell .datum{font-family:var(--titel);color:var(--gold);white-space:nowrap;font-size:1.05rem}
.aktuell p{margin:0;font-size:.94rem}

/* ---------- Kontakt ---------- */
.kontakt{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(26px,5vw,56px)}
.infoliste{list-style:none;padding:0;margin:26px 0 0}
.infoliste li{display:flex;gap:14px;padding:14px 0;border-bottom:1px solid var(--linie);font-size:.95rem}
.infoliste b{font-family:var(--sans);font-size:.74rem;letter-spacing:.12em;text-transform:uppercase;color:var(--grau);width:104px;flex:none;padding-top:3px}
.formular{background:var(--papier);border:1px solid var(--linie);border-radius:4px;padding:clamp(22px,3vw,32px)}
.feldgruppe{margin-bottom:16px}
.feldgruppe label{display:block;font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;font-weight:700;color:var(--grau);margin-bottom:7px}
.feldgruppe input,.feldgruppe textarea{width:100%;border:1px solid var(--linie);background:#fff;border-radius:3px;padding:12px 14px;font-family:var(--sans);font-size:.95rem;color:var(--text)}
.feldgruppe input:focus,.feldgruppe textarea:focus{outline:2px solid var(--gold);outline-offset:1px;border-color:var(--gold)}
.feldgruppe textarea{min-height:118px;resize:vertical}

/* ---------- Fuss ---------- */
footer{background:var(--nacht);color:#CFC8BA;padding:0 0 30px;font-size:.9rem}
footer .skyline{background:var(--gold);opacity:.55;margin-bottom:52px}
.fussraster{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:36px;padding-bottom:36px;border-bottom:1px solid #3A3536}
footer h4{color:var(--gold);font-size:1.08rem;margin-bottom:14px}
footer .marke{font-size:1.45rem}
footer ul{list-style:none;padding:0;margin:0}
footer li{margin-bottom:9px}
footer a{text-decoration:none;color:#CFC8BA}
footer a:hover{color:var(--gold)}
.fussende{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;padding-top:22px;font-size:.8rem;color:#8E877B}

/* ---------- Meldung ---------- */
.meldung{visibility:hidden;position:fixed;left:50%;bottom:26px;transform:translate(-50%,140%);z-index:80;background:var(--nacht);color:var(--gold);border:1px solid var(--gold);padding:14px 24px;border-radius:999px;font-size:.9rem;font-weight:600;box-shadow:0 14px 34px -14px rgba(0,0,0,.5);transition:transform .32s cubic-bezier(.2,.8,.3,1)}
.meldung.an{visibility:visible;transform:translate(-50%,0)}

/* ---------- Bewegung ---------- */
.auf{opacity:0;transform:translateY(18px);transition:opacity .6s ease,transform .6s ease}
.auf.da{opacity:1;transform:none}
:focus-visible{outline:2px solid var(--gold);outline-offset:3px}

@media (max-width:940px){
  .hero .wrap,.xmas .wrap{grid-template-columns:1fr}
  .etiketten{order:-1}
  .etiketten img{width:min(42%,230px)}
  .imker,.kontakt{grid-template-columns:1fr}
  .portrait{aspect-ratio:3/2;max-width:340px}
  nav.haupt{display:none}
  .burger{display:block;margin-left:auto}
  .korb span.wort{display:none}
  nav.haupt.offen{display:flex;position:absolute;top:100%;left:0;right:0;flex-direction:column;gap:0;background:var(--nacht);border-bottom:1px solid #3A3536;padding:8px 24px 18px}
  nav.haupt.offen a{padding:12px 0;border-bottom:1px solid #3A3536}
  .fussraster{grid-template-columns:1fr 1fr}
}
@media (max-width:640px){
  body{font-size:16px}
  .hinweisleiste span:last-child{display:none}
  .monate{padding-left:0;font-size:.6rem}
  .spurname{width:100%;padding:0 0 6px}
  .spur{display:block;margin-top:20px}
  .fussraster{grid-template-columns:1fr}
  .aktuell{flex-direction:column;gap:8px}
  .xmas .glaeser img{width:44%}
  .kopf .wrap{gap:12px}
  .marke{font-size:1.12rem}
  .korb{padding:8px 12px}
}
@media (prefers-reduced-motion:reduce){
  *{animation:none!important;transition:none!important}
  .auf{opacity:1;transform:none}
  html{scroll-behavior:auto}
}

/* ================= Ergaenzungen fuer die komplette Website ================= */
@font-face{font-family:"Karla";src:url(../fonts/karla.woff2) format("woff2");font-weight:200 800;font-style:normal;font-display:swap}
.skip{position:absolute;left:-9999px}
.skip:focus{left:16px;top:16px;z-index:200;background:var(--gold);color:var(--nacht);padding:10px 16px;border-radius:6px}
nav.haupt a[aria-current="page"]{border-color:var(--gold);color:var(--gold)}

/* Unterseiten-Kopf */
.seitenkopf{background:var(--nacht);color:#EEE8DA;padding:clamp(40px,6vw,72px) 0 0;overflow:hidden}
.seitenkopf .eyebrow{color:#BDB6A8}
.seitenkopf h1{color:var(--gold);font-size:clamp(2.2rem,5vw,3.4rem)}
.seitenkopf .lead{color:#CFC8BA;margin-top:16px}
.seitenkopf .skyline{margin-top:clamp(26px,4vw,40px);opacity:.9}
.brotkrumen{font-size:.8rem;color:#AFA899;margin-bottom:18px}
.brotkrumen a{color:#CFC8BA;text-decoration:none}
.brotkrumen a:hover{color:var(--gold)}

/* Fliesstext (Artikel, Rechtliches) */
.text-seite{max-width:74ch}
.text-seite h2{font-size:clamp(1.5rem,2.6vw,1.9rem);margin:42px 0 14px}
.text-seite h2:first-child{margin-top:0}
.text-seite h3{font-size:1.15rem;margin:28px 0 10px}
.text-seite p,.text-seite li{color:#3A3532}
.text-seite ul{padding-left:20px;margin:0 0 1em}
.text-seite li{margin-bottom:6px}
.text-seite a{color:var(--gold-text)}
.kasten{background:var(--papier);border:1px solid var(--linie);border-left:3px solid var(--gold);border-radius:3px;padding:18px 22px;margin:24px 0}
.kasten p:last-child{margin-bottom:0}
.quellen{margin-top:44px;padding-top:20px;border-top:1px solid var(--linie);font-size:.86rem;color:var(--grau)}
.quellen h2{font-size:1rem;font-family:var(--sans);font-weight:700;letter-spacing:.12em;text-transform:uppercase;margin:0 0 10px}
.quellen a{color:var(--gold-text);word-break:break-word}
.entwurf{background:#FFF4D6;border:1px solid #E9D18A;color:#5A4810;border-radius:4px;padding:14px 18px;font-size:.9rem;margin-bottom:34px}
.weiter{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:16px;margin-top:48px}

/* Aktuelles */
.nachrichten{display:grid;gap:18px;max-width:860px}
.nachricht{background:var(--papier);border:1px solid var(--linie);border-radius:4px;padding:24px 26px;display:grid;grid-template-columns:150px minmax(0,1fr);gap:18px}
.nachricht .meta{font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;font-weight:700;color:var(--grau)}
.nachricht .meta b{display:block;font-family:var(--titel);font-weight:400;letter-spacing:0;text-transform:none;font-size:1.05rem;color:var(--text);margin-bottom:4px}
.nachricht h2{font-size:1.3rem;margin-bottom:8px}
.nachricht p{color:var(--grau);font-size:.95rem;margin-bottom:10px}
.nachricht .quelle{font-size:.82rem;color:var(--grau)}
.nachricht .quelle a{color:var(--gold-text)}
.nachricht.eigen{border-left:3px solid var(--gold)}
.filterleiste{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:28px}
.chip{border:1px solid var(--linie);background:var(--papier);color:var(--grau);border-radius:999px;padding:9px 18px;font-family:var(--sans);font-size:.86rem;font-weight:600;cursor:pointer}
.chip[aria-pressed="true"]{background:var(--nacht);border-color:var(--nacht);color:var(--gold)}
.aktuell a{color:var(--gold);font-weight:700;white-space:nowrap}

/* Links */
.linkgruppe{margin-bottom:48px}
.linkgruppe h2{font-size:clamp(1.4rem,2.4vw,1.8rem);margin-bottom:18px}
.linkliste{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px}
.linkkarte{background:var(--papier);border:1px solid var(--linie);border-radius:4px;padding:20px 22px;text-decoration:none;display:flex;flex-direction:column;gap:6px;transition:border-color .18s,transform .18s}
.linkkarte:hover{border-color:var(--gold);transform:translateY(-2px)}
.linkkarte b{font-family:var(--titel);font-weight:400;font-size:1.12rem}
.linkkarte span{font-size:.9rem;color:var(--grau)}
.linkkarte small{font-size:.78rem;color:var(--gold-text);font-weight:700;word-break:break-all}

/* Reservierungs-Leiste (Warenkorb) */
.korb-overlay{position:fixed;inset:0;background:rgba(20,18,18,.55);opacity:0;pointer-events:none;transition:opacity .25s;z-index:90}
.korb-overlay.an{opacity:1;pointer-events:auto}
.korbleiste{position:fixed;top:0;right:0;bottom:0;width:min(440px,100%);background:var(--papier);z-index:100;transform:translateX(100%);transition:transform .3s cubic-bezier(.2,.8,.3,1);display:flex;flex-direction:column;box-shadow:-20px 0 50px -20px rgba(0,0,0,.4)}
.korbleiste.an{transform:none}
.korbleiste .kopf-k{background:var(--nacht);color:var(--gold);padding:18px 22px;display:flex;align-items:center;justify-content:space-between}
.korbleiste .kopf-k h2{font-size:1.4rem}
.korbleiste .zu{background:none;border:1px solid #4A4445;color:#EEE8DA;border-radius:999px;width:38px;height:38px;font-size:1.2rem;cursor:pointer}
.korbleiste .inhalt{padding:20px 22px;overflow:auto;flex:1}
.posten{display:grid;grid-template-columns:52px minmax(0,1fr) auto;gap:12px;align-items:center;padding:12px 0;border-bottom:1px solid var(--linie)}
.posten img{width:52px;height:60px;object-fit:contain}
.posten b{display:block;font-weight:600;font-size:.95rem}
.posten small{color:var(--grau);font-size:.8rem}
.menge{display:flex;align-items:center;gap:6px}
.menge button{width:30px;height:30px;border-radius:50%;border:1px solid var(--linie);background:#fff;cursor:pointer;font-size:1rem;line-height:1}
.menge span{min-width:20px;text-align:center;font-weight:700}
.summe{display:flex;justify-content:space-between;align-items:baseline;padding:16px 0 4px;font-family:var(--titel);font-size:1.3rem}
.summe small{font-family:var(--sans);font-size:.75rem;color:var(--grau)}
.leer-korb{color:var(--grau);padding:20px 0}
.abholhinweis{background:#EFEAE0;border-radius:4px;padding:12px 14px;font-size:.86rem;color:#4A453E;margin:14px 0 18px}
.korbleiste .feldgruppe{margin-bottom:12px}
.pruef{display:flex;gap:10px;align-items:flex-start;font-size:.85rem;color:#4A453E;margin:6px 0 16px}
.pruef input{margin-top:4px;width:18px;height:18px;flex:none;accent-color:var(--nacht)}
.pruef a{color:var(--gold-text)}
.senden{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.senden .btn{justify-content:center;padding:13px 14px;font-size:.9rem}
.btn-wa{background:#1F7A4D;color:#fff}
.btn-wa:hover{background:#249159}
.btn-dunkel{background:var(--nacht);color:var(--gold)}
.btn-dunkel:hover{background:#3A3536}
.fehlt{font-size:.82rem;color:#8A2A1E;margin-top:10px}
.feldgruppe select{width:100%;border:1px solid var(--linie);background:#fff;border-radius:3px;padding:12px 14px;font-family:var(--sans);font-size:.95rem}
.formular .senden{margin-top:6px}
@media (max-width:640px){
  .nachricht{grid-template-columns:1fr;gap:6px}
  .senden{grid-template-columns:1fr}
}

.korbleiste{visibility:hidden;transition:transform .3s cubic-bezier(.2,.8,.3,1),visibility 0s linear .3s}
.korbleiste.an{visibility:visible;transition:transform .3s cubic-bezier(.2,.8,.3,1),visibility 0s}
h1,.linkkarte b,.nachricht .meta b,.feld b,.preis,.signatur,.spurname,blockquote.zitat{word-spacing:-.06em}
.hero h1 .zeile2{word-spacing:normal}

/* Weitere Produkte */
.katalog{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:20px}
.pkarte{background:var(--papier);border:1px solid var(--linie);border-radius:4px;display:flex;flex-direction:column;overflow:hidden}
.pbild{position:relative;aspect-ratio:4/3;background:linear-gradient(180deg,#EFEAE0,#E6DFD1)}
.pbild img{width:100%;height:100%;object-fit:cover}
.pbild .ph{position:absolute;inset:0;background:var(--nacht);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;color:#AFA899;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;font-weight:700}
.pbild .ph svg{width:44px;height:44px;stroke:var(--gold);fill:none;stroke-width:1.3}
.badge{position:absolute;top:12px;left:12px;background:var(--gold);color:var(--nacht);font-size:.68rem;font-weight:700;letter-spacing:.06em;padding:5px 10px;border-radius:999px;max-width:calc(100% - 80px)}
.badge.alter{left:auto;right:12px;background:var(--weinrot);color:#fff}
.ptext{padding:16px 18px 20px;display:flex;flex-direction:column;flex:1}
.ptext h3{font-size:1.15rem;margin-bottom:6px}
.ptext .sorte{margin-bottom:8px;font-size:.72rem}
.ptext .beschreibung{font-size:.9rem;color:var(--grau);margin-bottom:12px}
.ptext details{font-size:.8rem;color:var(--grau);margin-bottom:14px;border-top:1px solid var(--linie);padding-top:10px}
.ptext summary{cursor:pointer;font-weight:700;color:var(--gold-text);font-size:.82rem}
.ptext details p{margin:8px 0 0}
.ptext .preiszeile{margin-top:auto}
.ptext .preis{font-size:1.3rem}
.ptext .preis.offen{font-size:1rem}
.ptext .btn{padding:10px 16px;font-size:.85rem}
.katalog-hinweis{margin-top:26px;font-size:.9rem;color:var(--grau)}
.posten-ph{width:52px;height:60px;border-radius:4px;background:var(--nacht)}
#korb-alter{background:#F7E6E3;border-radius:4px;padding:10px 12px;margin-top:10px}
@media (max-width:1180px){ nav.haupt{gap:18px;font-size:.88rem} }
.pbild{aspect-ratio:16/9}
.ptext .preiszeile{flex-wrap:wrap;align-items:center}
.ptext .preis small{display:none}
