:root{--bg:#f3f2f7;--surface:#fff;--ink:#1d1a2b;--muted:#5f5a72;--line:#dedbe8;--accent:#4a3fd3;--accent-ink:#fff;
--moon:#f2c14e;--night:#17152b;--night-ink:#efedf8;--r:14px;
--font:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif}
@media (prefers-color-scheme:dark){:root{--bg:#121120;--surface:#1c1a2c;--ink:#ecebf6;--muted:#a39fba;--line:#2e2b44;--accent:#9a90ff;--accent-ink:#14122a}}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.55 var(--font)}
a{color:inherit}img{max-width:100%;display:block}
.w{max-width:1180px;margin:0 auto;padding-left:max(16px,env(safe-area-inset-left));padding-right:max(16px,env(safe-area-inset-right))}
header{background:var(--night);color:var(--night-ink)}
.kopf{display:flex;align-items:center;gap:16px;flex-wrap:wrap;padding-block:12px}
.logo{display:flex;align-items:center;gap:10px;text-decoration:none;font-weight:800;font-size:21px;letter-spacing:-.01em}
.logo svg{width:34px;height:34px}
.suche{flex:1 1 240px;display:flex;min-width:0}
.suche input{width:100%;border:1px solid #ffffff2b;background:#ffffff12;color:var(--night-ink);border-radius:999px;padding:9px 16px;font:inherit}
.suche input::placeholder{color:#c9c5dd}
.spr:has(.flagge){display:inline-flex;align-items:center;white-space:nowrap}.spr .flagge{display:inline-block;flex:none;width:18px;height:12px;margin-right:6px;border-radius:2px;box-shadow:0 0 0 1px #ffffff40}
.spr{font-size:14px;color:#d9d5ec;text-decoration:none;border:1px solid #ffffff33;border-radius:999px;padding:6px 12px}
.soz{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;flex:none;border-radius:50%;color:#fff;text-decoration:none;transition:transform .15s,box-shadow .15s}
.soz:hover{transform:translateY(-2px) scale(1.06);box-shadow:0 4px 14px #0006}
.soz.ig,.sozk.ig svg{background:radial-gradient(circle at 30% 107%,#fdf497 0%,#fdf497 5%,#fd5949 45%,#d6249f 60%,#285aeb 90%)}
.soz.pin,.sozk.pin svg{background:#e60023}
.folge{border-top:1px solid var(--line);padding-block:26px;background:linear-gradient(90deg,#d6249f14,#285aeb10 60%,#e6002312)}
.folge .w{display:flex;gap:18px;align-items:center;justify-content:space-between;flex-wrap:wrap}
.folge b{font-size:19px}.folge p{margin:4px 0 0;color:var(--muted);font-size:14.5px}
.sozr{display:flex;gap:12px;flex-wrap:wrap}
.sozk{display:inline-flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:8px 16px 8px 8px;font-weight:600;transition:transform .15s,box-shadow .15s}
.sozk:hover{transform:translateY(-2px);box-shadow:0 6px 18px #0002}
.sozk svg{width:40px;height:40px;padding:9px;border-radius:12px;color:#fff;box-sizing:border-box}
.sozk span{display:flex;flex-direction:column;line-height:1.2}.sozk small{font-weight:400;color:var(--muted);font-size:12.5px}
@media(max-width:560px){.soz{width:30px;height:30px}.soz svg{width:16px;height:16px}}
.navz{display:flex;align-items:center;gap:8px;padding-bottom:12px}
nav.kats{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;flex:1;min-width:0;
-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 40px),transparent);mask-image:linear-gradient(90deg,#000 calc(100% - 40px),transparent)}
nav.kats::-webkit-scrollbar{display:none}
details.mehr{position:relative;flex:none}
details.mehr>summary{list-style:none;cursor:pointer;font-size:14px;font-weight:650;padding:6px 12px;border-radius:999px;background:#ffffff14;
border:1px solid #ffffff33;color:var(--night-ink);white-space:nowrap}
details.mehr>summary::-webkit-details-marker{display:none}details.mehr>summary::after{content:" ▾"}details.mehr[open]>summary::after{content:" ▴"}
.mehr-p{position:absolute;right:0;top:calc(100% + 8px);z-index:20;width:min(620px,calc(100vw - 32px));background:var(--surface);color:var(--ink);
border:1px solid var(--line);border-radius:14px;box-shadow:0 18px 50px #0006;padding:10px;display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:2px}
.mehr-p a{text-decoration:none;padding:8px 10px;border-radius:9px;font-size:14.5px;display:flex;justify-content:space-between;gap:8px}
.mehr-p a:hover,.mehr-p a.an{background:var(--bg)}.mehr-p small{color:var(--muted)}
nav.kats a{flex:none;text-decoration:none;font-size:14px;font-weight:600;padding:6px 12px;border-radius:999px;color:#d9d5ec;border:1px solid #ffffff22}
nav.kats a:hover,nav.kats a.an{background:var(--moon);color:#2a2005;border-color:var(--moon)}
.held{background:radial-gradient(ellipse 60% 90% at 80% 50%,var(--glow,#4a3fd355),transparent 75%),var(--night);color:var(--night-ink);padding-block:28px 40px;overflow:hidden}
.held .w{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:24px;align-items:center}
.collage{position:relative;height:340px}
.collage a{position:absolute;width:29%;aspect-ratio:4/5;border-radius:14px;overflow:hidden;box-shadow:0 14px 34px #0008;border:3px solid #ffffff22;transition:transform .2s}
.collage a:hover{transform:scale(1.04) rotate(0deg)!important;z-index:5}
.collage img{width:100%;height:100%;object-fit:cover}
.collage a:nth-child(1){left:4%;top:10%;transform:rotate(-7deg)}.collage a:nth-child(2){left:26%;top:0;transform:rotate(3deg);z-index:2}
.collage a:nth-child(3){left:66%;top:8%;transform:rotate(7deg)}.collage a:nth-child(4){left:48%;top:28%;transform:rotate(-3deg);z-index:3}
.collage a:nth-child(5){left:16%;top:40%;transform:rotate(5deg);z-index:4}
@media(max-width:860px){.held .w{grid-template-columns:1fr}.collage{height:230px}.collage a{width:30%}}
.s-halloween{--glow:#ff7a1a66}.s-weihnachten{--glow:#d6303399}.s-valentinstag{--glow:#ff5c8a77}.s-ostern{--glow:#7fd8b066}
.s-muttertag{--glow:#ff8fb177}.s-vatertag{--glow:#4aa3ff66}.s-silvester{--glow:#f2c14e66}.s-thanksgiving{--glow:#d9822b77}
.held h1{font-size:clamp(32px,5vw,54px);line-height:1.04;letter-spacing:-.025em;margin:0 0 12px;max-width:16ch}
.held h1 em{font-style:normal;color:var(--moon)}.held p{color:#cbc7de;max-width:52ch;margin:0}
main{padding-block:26px 56px}h1.k{font-size:clamp(26px,3.4vw,38px);line-height:1.1;margin:6px 0 8px;letter-spacing:-.015em}
h2{font-size:clamp(22px,2.6vw,28px);margin:30px 0 10px;letter-spacing:-.01em}
.intro{color:var(--muted);max-width:70ch;margin:0 0 18px}.anz{color:var(--muted);font-size:14px}
.raster{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
@media(max-width:980px){.raster{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:680px){.raster{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}}
.karte{position:relative;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;text-decoration:none;display:flex;flex-direction:column}
.karte img{aspect-ratio:4/5;object-fit:cover;width:100%;height:auto;background:var(--line)}
.karte span{padding:10px 12px 2px;font-weight:650;font-size:15px;line-height:1.25;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.karte small{padding:0 12px 12px;color:var(--muted);font-size:12.5px}
.karte:hover{border-color:var(--accent)}
.karte b.tz{position:absolute;top:8px;left:8px;background:var(--accent);color:var(--accent-ink);font-size:12px;font-weight:700;padding:3px 9px;border-radius:99px;box-shadow:0 1px 4px rgba(0,0,0,.18)}
.produkt .vorschau{font-size:12.5px;color:var(--muted);margin-top:6px}
.karte b.bl{position:absolute;top:8px;right:8px;background:#fff;color:#c2410c;font-size:12px;font-weight:750;padding:3px 9px;border-radius:99px;box-shadow:0 1px 4px rgba(0,0,0,.2)}
.produkt p.beliebt{display:inline-block;margin:0 0 10px;background:#fff1e6;color:#c2410c;font-weight:700;font-size:14px;padding:5px 12px;border-radius:99px}
.teilen{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:14px 0 4px;font-size:14px}.teilen span{color:var(--muted);margin-right:2px}
.teilen a,.teilen button{font:inherit;font-size:13.5px;padding:6px 11px;border-radius:99px;border:1px solid var(--line);background:var(--surface);color:var(--ink);text-decoration:none;cursor:pointer;line-height:1.2}
.teilen a:hover,.teilen button:hover{border-color:var(--accent)}.teilen .t-wa{background:#25d366;border-color:#25d366;color:#fff;font-weight:650}
.teilen .t-nativ{background:var(--accent);border-color:var(--accent);color:var(--accent-ink);font-weight:650}
.kats-gitter{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:12px}
.kat{position:relative;border-radius:var(--r);overflow:hidden;text-decoration:none;color:#fff;aspect-ratio:4/5}
.kat img{width:100%;height:100%;object-fit:cover}.kat b{position:absolute;left:0;right:0;bottom:0;padding:30px 12px 10px;
background:linear-gradient(transparent,#000c);font-size:16px}.kat small{display:block;font-weight:400;opacity:.85}
.krumen{font-size:14px;color:var(--muted)}.krumen a{color:var(--muted)}
.produkt{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:30px;align-items:start}
@media(max-width:780px){.produkt{grid-template-columns:1fr}}
.produkt img{border-radius:var(--r);width:100%;height:auto}.produkt h1{font-size:clamp(24px,3vw,34px);line-height:1.15;margin:0 0 12px}
.produkt ul{padding-left:20px;color:var(--ink)}.produkt p{color:var(--muted)}
.knopf{display:inline-block;background:var(--accent);color:var(--accent-ink);text-decoration:none;font-weight:700;padding:12px 18px;border-radius:12px;margin:6px 8px 6px 0}
.knopf.zwei{background:transparent;color:var(--ink);border:1px solid var(--line)}
.var{margin-top:14px}.var .vt{margin:12px 0 6px;font-weight:650;color:var(--ink);font-size:14px}
.arten{display:flex;flex-wrap:wrap;gap:6px}.arten a{text-decoration:none;font-size:13.5px;padding:6px 11px;border:1px solid var(--line);border-radius:999px;background:var(--surface)}
.arten a:hover{border-color:var(--accent)}.arten a.an{border-color:var(--accent);color:var(--accent);font-weight:650}
.tupfer{display:flex;flex-wrap:wrap;gap:6px}.tupfer i{width:20px;height:20px;border-radius:50%;border:1px solid #8884;display:block}
.lead{font-size:16.5px;color:var(--ink)!important;line-height:1.6}
.ueber p{font-size:16.5px;line-height:1.65}.ueber-logo{border-radius:50%;margin:8px 0 6px}
.kauf{margin:16px 0 4px}.amz-badge{display:flex;align-items:center;justify-content:center;gap:14px;background:#fff;
border:2px solid #ff9900;border-radius:14px;padding:14px 22px;box-shadow:0 6px 18px #ff990033;text-decoration:none;max-width:420px;
transition:transform .15s,box-shadow .15s}.amz-badge:hover{transform:translateY(-2px);box-shadow:0 10px 26px #ff990055}
.amz-badge img{height:38px;width:auto}.amz-badge .pfeil{font-size:22px;color:#232f3e;font-weight:700}
.neben{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.neben .knopf{margin:0;font-size:14px;padding:9px 14px;font-weight:600}
.hinweis{background:#f2c14e33;border:1px solid #f2c14e;border-radius:12px;padding:12px 14px}
.seiten{display:flex;gap:10px;justify-content:center;margin-top:24px}[hidden]{display:none!important}.seiten a{text-decoration:none;border:1px solid var(--line);padding:8px 14px;border-radius:10px}
.saison{display:flex;gap:8px;flex-wrap:wrap;margin-top:18px}.saison a{text-decoration:none;background:#ffffff14;border:1px solid #ffffff2b;border-radius:12px;padding:8px 12px;font-size:14px}
.saison b{color:var(--moon)}
footer{border-top:1px solid var(--line);color:var(--muted);font-size:14px;padding-block:24px}
footer .w{display:flex;gap:16px;flex-wrap:wrap;justify-content:space-between}footer nav{display:flex;gap:6px 14px;flex-wrap:wrap}
.text{max-width:75ch}.text h2{font-size:20px}
.galerie .gross{width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;border-radius:var(--r);background:var(--line)}
.melden{margin-top:14px;font-size:14px;color:var(--muted)}.melden summary{cursor:pointer;display:inline-block}.melden p{margin:8px 0 6px}
.melden .mw{display:flex;flex-wrap:wrap;gap:6px}.melden .mw button{border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:999px;padding:6px 12px;font:inherit;font-size:14px;cursor:pointer}
.melden .mw button:hover{border-color:var(--accent)}.melden .danke{color:var(--ink);font-weight:600}
.daumen{display:flex;gap:8px;margin-top:10px;flex-wrap:wrap}.daumen button{border:2px solid var(--line);padding:0;border-radius:10px;overflow:hidden;width:68px;background:none;cursor:pointer}
.daumen button.an{border-color:var(--accent)}.daumen img{width:68px;height:85px;object-fit:cover;display:block}
.vertrauen{font-size:13px;color:var(--muted);border-top:1px solid var(--line);margin-top:16px;padding-top:12px;line-height:1.6}
.filter{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin:4px 0 16px}.filter select,.filter label{font:inherit;font-size:14px;background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:7px 10px;color:var(--ink)}
.filter label{display:inline-flex;gap:6px;align-items:center;cursor:pointer}.filter .anzf{color:var(--muted);font-size:14px;margin-left:auto}
.kattext{max-width:75ch;margin-top:36px;line-height:1.65}.kattext h2{font-size:21px}
.finder .frage{margin:18px 0 6px;font-weight:700}.finder .opts{display:flex;gap:8px;flex-wrap:wrap}
.finder .opts button{font:inherit;font-size:14.5px;border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:999px;padding:8px 14px;cursor:pointer}
.finder .opts button.an{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}
.held .cta{display:inline-block;margin-top:16px;background:var(--moon);color:#1d1a2b;font-weight:700;text-decoration:none;border-radius:12px;padding:10px 16px}
.mehrz{text-align:center;margin:18px 0}
.artikel .lauf{max-width:75ch;font-size:16.5px;line-height:1.65}.artikel h2{margin-top:34px}.artikel .datum{color:var(--muted);font-size:14px}
.r-liste{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}@media(max-width:860px){.r-liste{grid-template-columns:1fr}}
.r-liste a{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;text-decoration:none;display:flex;flex-direction:column}
.r-liste a:hover{border-color:var(--accent)}.r-liste img{width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;background:var(--line)}
.r-liste b{display:block;padding:12px 14px 4px;font-size:16px;line-height:1.3}.r-liste span{display:block;padding:0 14px 14px;color:var(--muted);font-size:14px}
:focus-visible{outline:3px solid var(--moon);outline-offset:2px}

body.s-neujahr{--accent:#b8860b;--accent-ink:#fff;--s-tint:#3a2c06}
body.s-winter{--accent:#2f7fc1;--accent-ink:#fff;--s-tint:#0e2a44}
body.s-valentin{--accent:#d9366f;--accent-ink:#fff;--s-tint:#4a0f26}
body.s-karneval{--accent:#d63384;--accent-ink:#fff;--s-tint:#3d1036}
body.s-stpatrick{--accent:#1f8f4e;--accent-ink:#fff;--s-tint:#0b3a20}
body.s-ostern{--accent:#c97a16;--accent-ink:#fff;--s-tint:#3c2a0c}
body.s-muttertag{--accent:#d14a7f;--accent-ink:#fff;--s-tint:#45132d}
body.s-vatertag{--accent:#2f6db5;--accent-ink:#fff;--s-tint:#0f2747}
body.s-july4{--accent:#c8102e;--accent-ink:#fff;--s-tint:#0a1f4a}
body.s-sommer{--accent:#e08a00;--accent-ink:#fff;--s-tint:#3f2a00}
body.s-schule{--accent:#23887d;--accent-ink:#fff;--s-tint:#0c3430}
body.s-wiesn{--accent:#2b6cb0;--accent-ink:#fff;--s-tint:#0d2a4c}
body.s-halloween{--accent:#e06c00;--accent-ink:#fff;--s-tint:#2a1038}
body.s-martin{--accent:#d48a1f;--accent-ink:#fff;--s-tint:#3a2306}
body.s-thanksgiving{--accent:#b55d16;--accent-ink:#fff;--s-tint:#3b1f08}
body.s-advent{--accent:#c8102e;--accent-ink:#fff;--s-tint:#3a0d14}
body.s-xmas{--accent:#c8102e;--accent-ink:#fff;--s-tint:#3a0d14}
body.s-silvester{--accent:#b8860b;--accent-ink:#fff;--s-tint:#1d1a33}
body[class*=" s-"] header,body[class^="s-"] header{position:relative;z-index:30;background:linear-gradient(115deg,var(--night) 35%,var(--s-tint) 100%)}
header .w{position:relative;z-index:1}
.deko{position:absolute;inset:0;pointer-events:none;z-index:0;overflow:hidden}
.deko i{position:absolute;top:-30px;font-style:normal;font-size:var(--g,18px);opacity:.55;left:var(--x);animation:var(--art) var(--d,14s) linear var(--v,0s) infinite}
.deko.funkeln i{top:var(--y);animation:funkeln var(--d,4s) ease-in-out var(--v,0s) infinite}
@keyframes rieseln{0%{transform:translateY(-10px) rotate(0)}100%{transform:translateY(190px) rotate(240deg)}}
@keyframes schweben{0%{transform:translateY(190px) scale(.9);opacity:0}15%{opacity:.55}85%{opacity:.5}100%{transform:translateY(-40px) scale(1.05);opacity:0}}
@keyframes funkeln{0%,100%{opacity:.12;transform:scale(.8)}50%{opacity:.75;transform:scale(1.15)}}
.saisonband{display:block;text-align:center;text-decoration:none;background:var(--accent);color:#fff;font-weight:650;font-size:15px;padding:9px 16px;line-height:1.35}
.saisonband:hover{filter:brightness(1.08)}.saisonband .pf{opacity:.85;margin-left:6px}
@media(max-width:640px){.deko i:nth-child(n+8){display:none}.saisonband{font-size:14px;padding:8px 12px}}
@media(prefers-reduced-motion:reduce){.deko i{animation:none!important;top:var(--y);opacity:.4}}