/* Weihnachten & Ostern (inc/feste.php): Festbereich, 5 Designs je Fest, Festatmosphäre */

/* ---------- Grundgerüst ---------- */
.fest{--fk-bg:#173a26;--fk-ink:#fff8ea;--fk-mute:rgba(255,248,234,.82);--fk-akz:#d9b45a;--fk-btn:#d9b45a;--fk-btn-ink:#1b2a14;--fk-rahmen:#fff;--fk-deko:#fff;--fk-gruppe:var(--acc)}
.fest-kopf{position:relative;overflow:hidden;background:var(--fk-bg);color:var(--fk-ink);isolation:isolate}
.fest-deko{position:absolute;inset:0;z-index:-1;pointer-events:none;color:var(--fk-deko)}
.fest-kopf-in{max-width:1180px;margin:0 auto;padding:clamp(36px,6vw,72px) 22px clamp(48px,7vw,84px);display:grid;grid-template-columns:minmax(0,1.02fr) minmax(0,1fr);gap:36px 48px;align-items:center}
.fest-marke{display:inline-flex;align-items:center;gap:8px;margin:0 0 14px;padding:6px 14px;border-radius:999px;background:color-mix(in srgb,var(--fk-akz) 22%,transparent);border:1px solid color-mix(in srgb,var(--fk-akz) 55%,transparent);font:600 .9rem/1.3 system-ui,-apple-system,"Segoe UI",sans-serif;letter-spacing:.02em}
.fest-titel{margin:0 0 14px;font-size:clamp(2.3rem,5.4vw,4rem);line-height:1.04;letter-spacing:-.01em;color:var(--fk-ink);text-wrap:balance}
.fest-unter{margin:0 0 24px;max-width:34em;font-size:clamp(1.02rem,1.6vw,1.18rem);line-height:1.6;color:var(--fk-mute)}
.fest-knoepfe{display:flex;flex-wrap:wrap;gap:10px;margin:0}
.fest-btn,.fest-btn2{display:inline-flex;align-items:center;gap:8px;padding:13px 24px;border-radius:999px;font:700 1rem/1.2 system-ui,-apple-system,"Segoe UI",sans-serif;text-decoration:none;transition:transform .2s,box-shadow .2s,background .2s}
.fest-btn{background:var(--fk-btn);color:var(--fk-btn-ink);box-shadow:0 10px 24px color-mix(in srgb,var(--fk-btn) 40%,transparent)}
.fest-btn:hover{transform:translateY(-2px);box-shadow:0 14px 30px color-mix(in srgb,var(--fk-btn) 50%,transparent)}
.fest-btn2{color:var(--fk-ink);border:1.5px solid color-mix(in srgb,var(--fk-ink) 45%,transparent)}.fest-btn2:hover{background:color-mix(in srgb,var(--fk-ink) 10%,transparent)}
.fest-inhalt{padding-top:34px}
.fest-intro{max-width:760px;margin:0 auto 26px;font-size:1.06rem}
.fest-gruppe{margin:0 0 40px}
.fest-gruppe-titel{display:flex;align-items:center;gap:12px;margin:0 0 16px;font-size:clamp(1.3rem,2.4vw,1.65rem)}
.fg-nr{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:var(--fk-gruppe);color:#fff;font:700 1rem system-ui,sans-serif;flex:none}
.fest-alle{text-align:center;margin:8px 0 46px}.fest-inhalt .fest-alle .fest-btn{--fk-btn:var(--fk-gruppe);--fk-btn-ink:#fff}
.fest-leer{text-align:center;padding:30px 10px;color:var(--mute)}
/* Welten zum Fest, Ratgeber, Gravur-Hinweis (seit 1.30) */
.fest-abschnitt{margin:10px 0 18px;font-size:clamp(1.5rem,3vw,2rem);text-align:center}
.fest-welten{margin:0 0 46px}
.fw-kacheln{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr));gap:14px;margin:0 0 36px}
.fw-kachel{position:relative;overflow:hidden;isolation:isolate;min-height:130px;padding:16px;border-radius:16px;display:flex;flex-direction:column;justify-content:flex-end;gap:4px;text-decoration:none;color:#fff;background:var(--fk-gruppe);box-shadow:var(--sh);transition:transform .2s}
.fw-kachel:hover{transform:translateY(-3px)}
.fw-kachel .fw-medium{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.fw-kachel.mit-medium::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(to top,rgba(0,0,0,.72),rgba(0,0,0,.08) 70%)}
.fw-name{font:700 1.15rem/1.2 system-ui,-apple-system,"Segoe UI",sans-serif}
.fw-thema{font-size:.86rem;line-height:1.35;opacity:.92}
.fest-welt{margin:0 0 44px;scroll-margin-top:90px}
.fw-marke{margin:0 0 4px;color:var(--fk-gruppe);font:700 .8rem/1.2 system-ui,sans-serif;letter-spacing:.08em;text-transform:uppercase}
.fest-welt .fest-gruppe-titel{margin-bottom:8px}
.fw-text{max-width:52em;margin:0 0 18px;color:var(--mute);line-height:1.6}
.fw-mehr{margin:16px 0 0;text-align:right}.fw-mehr a{font-weight:600}
.fest-gravur{display:flex;gap:16px;align-items:flex-start;max-width:820px;margin:10px auto 40px;padding:18px 22px;border-radius:16px;background:var(--surf);border:1px solid var(--line);box-shadow:var(--sh)}
.fest-gravur>span{font-size:1.6rem;line-height:1;color:var(--fk-gruppe)}.fest-gravur p{margin:4px 0 0}
.fest-ratgeber{margin:0 0 50px}
.fr-liste{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:16px}
.fr-karte{display:flex;flex-direction:column;gap:8px;padding:18px 20px;border-radius:16px;background:var(--surf);border:1px solid var(--line);color:var(--ink);text-decoration:none;box-shadow:var(--sh);transition:transform .2s}
.fr-karte:hover{transform:translateY(-3px)}.fr-karte span{color:var(--mute);font-size:.95rem}.fr-karte .weiter{color:var(--fk-gruppe);font-weight:600;margin-top:auto}
@media(prefers-reduced-motion:reduce){.fw-kachel,.fr-karte{transition:none}}
/* Gleicher Aufbau für Jahreszeiten und Startseite (seit 1.31, inc/themen.php) */
.thema{--fk-gruppe:var(--acc)}
.thema-start{--fk-bg:linear-gradient(135deg,#1f2a1a,#34432a 55%,#6f6236);--fk-akz:#d9b45a;--fk-btn:#d9b45a;--fk-btn-ink:#1b2a14}
.thema-hell{--fk-ink:#2b2a26;--fk-mute:rgba(43,42,38,.8);--fk-akz:var(--acc);--fk-btn:var(--acc);--fk-btn-ink:#fff}
.thema-dunkel{--fk-ink:#fff8ea;--fk-mute:rgba(255,248,234,.86);--fk-akz:#d9b45a;--fk-btn:#d9b45a;--fk-btn-ink:#1b2a14}
.thema .thema-medium{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.thema-dunkel .fest-deko::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(14,17,10,.82),rgba(14,17,10,.45) 60%,rgba(14,17,10,.25))}
.thema-start-inhalt .fest-inhalt{padding-top:40px}
/* Fotos als Polaroids (ohne Festschmuck) */
.anordnung-polaroid .fc{padding:9px 9px 30px;background:#fff;border-radius:4px}
.anordnung-polaroid .fc img{border-radius:2px}
.anordnung-polaroid .fc1{left:6%;top:6%;width:46%;height:60%;transform:rotate(-5deg);z-index:3}
.anordnung-polaroid .fc2{right:2%;top:2%;width:40%;height:50%;transform:rotate(6deg);z-index:2}
.anordnung-polaroid .fc3{left:30%;bottom:0;width:42%;height:52%;transform:rotate(2deg);z-index:4}
.anordnung-polaroid .fc4{left:0;bottom:6%;width:30%;height:38%;transform:rotate(-10deg);z-index:1}
.anordnung-polaroid .fc5{right:0;bottom:8%;width:30%;height:38%;transform:rotate(9deg);z-index:5}
.fest.auf-start .fest-kopf-in{padding-bottom:clamp(40px,6vw,70px)}
.fest.auf-start .fest-inhalt{padding-top:28px}

/* ---------- Bilder in festlichen Rahmen (Artikelfotos aus dem Sortiment) ---------- */
.fest-collage{position:relative;min-height:420px}
.fest-collage .fc{position:absolute;display:block;text-decoration:none;transition:transform .35s cubic-bezier(.2,.8,.2,1),filter .35s;filter:drop-shadow(0 16px 26px rgba(0,0,0,.3))}
.fest-collage img{display:block;width:100%;height:100%;object-fit:cover}
.fest-collage .fc:hover{transform:translateY(-6px) scale(1.04) rotate(0deg)!important;z-index:9;filter:drop-shadow(0 24px 34px rgba(0,0,0,.36))}
.fc-deko{position:absolute;pointer-events:none}
/* Polaroid (verschneit mit Schleife bzw. mit Hasenohren) */
.anordnung-schneepolaroid .fc,.anordnung-polaroid-hase .fc{padding:9px 9px 30px;background:#fff;border-radius:4px}
.anordnung-schneepolaroid .fc img,.anordnung-polaroid-hase .fc img{border-radius:2px}
.anordnung-schneepolaroid .fc1,.anordnung-polaroid-hase .fc1{left:6%;top:6%;width:46%;height:60%;transform:rotate(-5deg);z-index:3}
.anordnung-schneepolaroid .fc2,.anordnung-polaroid-hase .fc2{right:2%;top:2%;width:40%;height:50%;transform:rotate(6deg);z-index:2}
.anordnung-schneepolaroid .fc3,.anordnung-polaroid-hase .fc3{left:30%;bottom:0;width:42%;height:52%;transform:rotate(2deg);z-index:4}
.anordnung-schneepolaroid .fc4,.anordnung-polaroid-hase .fc4{left:0;bottom:6%;width:30%;height:38%;transform:rotate(-10deg);z-index:1}
.anordnung-schneepolaroid .fc5,.anordnung-polaroid-hase .fc5{right:0;bottom:8%;width:30%;height:38%;transform:rotate(9deg);z-index:5}
.anordnung-schneepolaroid .fc::before{content:"";position:absolute;left:-6px;right:-6px;top:-10px;height:22px;border-radius:12px 12px 50% 50%/12px 12px 14px 14px;background:radial-gradient(circle at 12% 100%,#fff 8px,transparent 9px),radial-gradient(circle at 38% 100%,#fff 6px,transparent 7px),radial-gradient(circle at 70% 100%,#fff 9px,transparent 10px),linear-gradient(#fff,#fff) top/100% 70% no-repeat;filter:drop-shadow(0 2px 2px rgba(80,110,140,.25));z-index:2}
.anordnung-schneepolaroid .fc .fc-deko{left:50%;top:-20px;width:46px;height:30px;transform:translateX(-50%);z-index:3;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 46 30'%3E%3Cpath d='M23 14C12 0 0 2 4 12c3 7 13 5 19 2zM23 14C34 0 46 2 42 12c-3 7-13 5-19 2z' fill='%23c0333b'/%3E%3Cpath d='M21 15l-8 14 5-1 3 2 2-15zM25 15l8 14-5-1-3 2-2-15z' fill='%23a8262e'/%3E%3Ccircle cx='23' cy='14' r='4.5' fill='%23e04a52'/%3E%3C/svg%3E") center/contain no-repeat}
.anordnung-polaroid-hase .fc1 .fc-deko,.anordnung-polaroid-hase .fc3 .fc-deko{left:50%;top:-46px;width:70px;height:56px;transform:translateX(-50%);z-index:-1;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 70 56'%3E%3Cpath d='M22 56C10 34 10 6 20 2c11 2 12 30 8 54z' fill='%23cbb391'/%3E%3Cpath d='M22 50c-6-18-6-38 0-42 6 3 6 24 3 42z' fill='%23f3b6c1'/%3E%3Cpath d='M44 56c-2-24 0-52 11-54 10 5 8 34-3 54z' fill='%23cbb391'/%3E%3Cpath d='M46 50c0-18 2-38 9-42 5 4 3 24-4 42z' fill='%23f3b6c1'/%3E%3C/svg%3E") center bottom/contain no-repeat}
.anordnung-polaroid-hase .fc3 .fc-deko{transform:translateX(-50%) rotate(-8deg)}
/* Christbaumkugeln an Fäden unter einem Tannenzweig */
.anordnung-kugeln .fest-collage{min-height:440px}
.anordnung-kugeln .fest-collage::before{content:"";position:absolute;left:-4%;right:-4%;top:-8px;height:34px;z-index:6;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 34'%3E%3Cpath d='M0 14q60 10 120 0' stroke='%235a3b20' stroke-width='3' fill='none'/%3E%3Cg stroke='%232f6b47' stroke-width='2.4' stroke-linecap='round'%3E%3Cpath d='M6 14l-5 12M12 15l3 13M20 16l-5 13M28 17l4 13M36 18l-4 13M44 18l4 13M52 19l-4 13M60 19l3 13M68 19l-4 13M76 18l4 13M84 18l-4 13M92 17l4 13M100 16l-5 13M108 15l4 13M116 14l-4 12'/%3E%3C/g%3E%3Cg stroke='%233c8256' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M9 14l-7-9M17 15l6-10M25 16l-6-10M33 17l6-10M41 18l-6-10M49 18l6-10M57 19l-6-10M65 19l6-10M73 18l-6-10M81 18l6-10M89 17l-6-10M97 16l6-10M105 15l-6-10M113 14l6-9'/%3E%3C/g%3E%3Ccircle cx='30' cy='22' r='3' fill='%23c0333b'/%3E%3Ccircle cx='86' cy='23' r='3' fill='%23c0333b'/%3E%3C/svg%3E") center/auto 100% repeat-x}
.anordnung-kugeln .fc{top:var(--t);border-radius:50%;aspect-ratio:1}
.anordnung-kugeln .fc img{border-radius:50%;border:4px solid var(--kugel,#e6b93c);box-shadow:inset 0 0 0 2px rgba(255,255,255,.35)}
.anordnung-kugeln .fc::before{content:"";position:absolute;left:50%;bottom:calc(100% + 14px);width:2px;height:calc(var(--t) - 2px);transform:translateX(-50%);background:var(--kugel,#e6b93c);opacity:.85}
.anordnung-kugeln .fc .fc-deko{left:50%;top:-16px;width:26px;height:18px;transform:translateX(-50%);border-radius:4px 4px 2px 2px;background:linear-gradient(90deg,#9c7a22,#f2d27a 45%,#b8902c);box-shadow:0 2px 3px rgba(0,0,0,.25)}
.anordnung-kugeln .fc .fc-deko::before{content:"";position:absolute;left:50%;top:-8px;width:10px;height:10px;transform:translateX(-50%);border:2px solid #c9a23e;border-radius:50%}
.anordnung-kugeln .fc::after{content:"";position:absolute;inset:8% 50% 50% 14%;border-radius:50%;background:radial-gradient(circle at 30% 30%,rgba(255,255,255,.75),rgba(255,255,255,0) 60%);pointer-events:none}
.anordnung-kugeln .fc1{--t:96px;left:30%;width:42%}
.anordnung-kugeln .fc2{--t:40px;left:2%;width:26%}
.anordnung-kugeln .fc3{--t:30px;right:0;width:27%}
.anordnung-kugeln .fc4{--t:250px;left:4%;width:24%}
.anordnung-kugeln .fc5{--t:262px;right:3%;width:23%}
.fd-sternennacht{--kugel:#d9e1ee}
.fd-sternennacht .anordnung-kugeln .fc .fc-deko,.fd-sternennacht.anordnung-kugeln .fc .fc-deko{background:linear-gradient(90deg,#8a95a8,#eef2f8 45%,#9aa6b8)}
/* Geschenkanhänger */
.anordnung-anhaenger .fc{padding:10px 10px 12px;background:#f3e6cf;border-radius:10px 10px 12px 12px;box-shadow:inset 0 0 0 2px rgba(179,38,46,.25)}
.anordnung-anhaenger .fc img{border-radius:6px;height:calc(100% - 18px);margin-top:18px}
.anordnung-anhaenger .fc .fc-deko{left:50%;top:9px;width:13px;height:13px;transform:translateX(-50%);border-radius:50%;background:#fff;box-shadow:inset 0 0 0 3px #d9c3a0}
.anordnung-anhaenger .fc::before{content:"";position:absolute;left:50%;bottom:calc(100% - 15px);width:40px;height:44px;transform:translateX(-50%);border:2px solid #b3262e;border-bottom:0;border-radius:50% 50% 0 0;clip-path:polygon(0 0,100% 0,100% 100%,60% 100%,50% 70%,40% 100%,0 100%)}
.anordnung-anhaenger .fc1{left:4%;top:8%;width:44%;height:62%;transform:rotate(-6deg);z-index:3}
.anordnung-anhaenger .fc2{right:4%;top:2%;width:36%;height:48%;transform:rotate(7deg);z-index:2}
.anordnung-anhaenger .fc3{left:36%;bottom:0;width:38%;height:52%;transform:rotate(3deg);z-index:4}
.anordnung-anhaenger .fc4{left:0;bottom:2%;width:28%;height:36%;transform:rotate(-12deg);z-index:1}
.anordnung-anhaenger .fc5{right:0;bottom:6%;width:28%;height:36%;transform:rotate(10deg);z-index:5}
/* Bögen (verschneite Budenfenster bzw. Blumenbögen) */
.anordnung-bogen .fest-collage{display:flex;align-items:flex-end;justify-content:center;gap:12px;min-height:400px}
.anordnung-bogen .fc{position:relative;flex:1 1 0;min-width:0}
.anordnung-bogen .fc img{border-radius:999px 999px 16px 16px;border:5px solid var(--fk-rahmen)}
.anordnung-bogen .fc1{height:300px}.anordnung-bogen .fc2{height:380px;order:2}.anordnung-bogen .fc3{height:330px;order:3}.anordnung-bogen .fc4{height:250px;order:0}.anordnung-bogen .fc5{height:260px;order:4}
.fd-weihnachtsmarkt .anordnung-bogen .fc .fc-deko,.fd-weihnachtsmarkt.anordnung-bogen .fc .fc-deko{left:-8px;right:-8px;top:-10px;height:46%;border-radius:999px 999px 0 0;border:12px solid #fff;border-bottom:0;-webkit-mask:linear-gradient(#000 0 0);filter:drop-shadow(0 2px 2px rgba(0,0,0,.2))}
.fd-fruehlingswiese .fc .fc-deko{left:-10px;right:-10px;top:-12px;height:40px;background:radial-gradient(circle,#f7b6c8 0 6px,transparent 7px) 0 0/22px 22px,radial-gradient(circle,#f6d36b 0 4px,transparent 5px) 11px 8px/22px 22px;-webkit-mask:radial-gradient(70% 100% at 50% 100%,transparent 60%,#000 61%)}
/* Ostereier (bemalter Rand) */
.anordnung-eier .fc{padding:7px;border-radius:50% 50% 50% 50%/62% 62% 38% 38%;background:repeating-linear-gradient(45deg,#f6c3d1 0 8px,#fff 8px 12px,#9cc5f2 12px 20px,#fff 20px 24px)}
.anordnung-eier .fc:nth-child(2n){background:repeating-linear-gradient(-45deg,#f9e08a 0 8px,#fff 8px 12px,#a8d38a 12px 20px,#fff 20px 24px)}
.anordnung-eier .fc:nth-child(3n){background:radial-gradient(circle,#fff 3px,transparent 4px) 0 0/14px 14px,#d9b8f0}
.fd-morgensonne .anordnung-eier .fc,.fd-morgensonne.anordnung-eier .fc{background:linear-gradient(135deg,#f9dc7a,#e6a53c 50%,#fff2c2 60%,#d48a1e)!important}
.anordnung-eier .fc img{border-radius:50% 50% 50% 50%/62% 62% 38% 38%}
.anordnung-eier .fc1{left:22%;top:2%;width:40%;height:64%;transform:rotate(-6deg);z-index:3}
.anordnung-eier .fc2{right:0;top:0;width:30%;height:46%;transform:rotate(9deg);z-index:2}
.anordnung-eier .fc3{right:8%;bottom:0;width:32%;height:48%;transform:rotate(-4deg);z-index:4}
.anordnung-eier .fc4{left:0;bottom:4%;width:28%;height:42%;transform:rotate(8deg);z-index:2}
.anordnung-eier .fc5{left:36%;bottom:0;width:22%;height:32%;transform:rotate(-12deg);z-index:5}
/* Ostereier am Osterstrauch */
.anordnung-eier-haengend .fest-collage::before{content:"";position:absolute;left:-6%;right:-6%;top:-6px;height:40px;z-index:6;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 300 40'%3E%3Cpath d='M0 20c60 4 120 8 180 2s90-6 120 0M60 22c10 8 20 10 30 8M200 20c8 8 20 10 30 6' stroke='%237a5630' stroke-width='4' fill='none' stroke-linecap='round'/%3E%3Cg fill='%23a8c66c'%3E%3Cellipse cx='40' cy='16' rx='7' ry='3.5'/%3E%3Cellipse cx='130' cy='22' rx='7' ry='3.5'/%3E%3Cellipse cx='250' cy='16' rx='7' ry='3.5'/%3E%3C/g%3E%3Cg fill='%23f3f0e6'%3E%3Cellipse cx='96' cy='26' rx='4' ry='5'/%3E%3Cellipse cx='178' cy='20' rx='4' ry='5'/%3E%3C/g%3E%3C/svg%3E") center/100% 100% no-repeat}
.anordnung-eier-haengend .fc{top:var(--t);padding:6px;border-radius:50% 50% 50% 50%/62% 62% 38% 38%;background:repeating-linear-gradient(0deg,#fff 0 6px,#a9bdd2 6px 12px)}
.anordnung-eier-haengend .fc:nth-child(2n){background:radial-gradient(circle,#fff 3px,transparent 4px) 0 0/14px 14px,#f6c3d1}
.anordnung-eier-haengend .fc img{border-radius:50% 50% 50% 50%/62% 62% 38% 38%}
.anordnung-eier-haengend .fc::before{content:"";position:absolute;left:50%;bottom:100%;width:1.5px;height:calc(var(--t) - 14px);background:#8a7a64}
.anordnung-eier-haengend .fc .fc-deko{left:50%;top:-12px;width:30px;height:18px;transform:translateX(-50%);background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 18'%3E%3Cpath d='M15 9C8 0 0 2 3 8c2 4 8 3 12 1zM15 9c7-9 15-7 12-1-2 4-8 3-12 1z' fill='%235d7b98'/%3E%3Ccircle cx='15' cy='9' r='3' fill='%233f5f80'/%3E%3C/svg%3E") center/contain no-repeat}
.anordnung-eier-haengend .fc1{--t:80px;left:30%;width:36%;height:58%}
.anordnung-eier-haengend .fc2{--t:36px;left:4%;width:22%;height:36%}
.anordnung-eier-haengend .fc3{--t:30px;right:2%;width:24%;height:38%}
.anordnung-eier-haengend .fc4{--t:240px;left:6%;width:20%;height:32%}
.anordnung-eier-haengend .fc5{--t:250px;right:6%;width:20%;height:32%}

/* ---------- Bühne mit Figuren ---------- */
.fest-kopf.mit-szene .fest-kopf-in{padding-bottom:clamp(170px,17vw,210px)}
.fest-szene{position:absolute;left:0;right:0;bottom:0;top:0;pointer-events:none;z-index:0}
.fest-szene .sz{position:absolute;left:var(--l,auto);right:var(--r,auto);bottom:var(--b,6px);height:var(--h);line-height:0;z-index:2}
.fest-szene .sz[style*="--t"]{bottom:auto;top:var(--t)}
.fest-szene .sz svg{height:100%;width:auto;display:block;filter:drop-shadow(0 6px 8px rgba(0,0,0,.22))}
.fest-szene .sz-boden,.fest-szene .sz-tannen,.fest-szene .sz-daecher{position:absolute;left:0;bottom:0;width:100%;z-index:1}
.fest-szene .sz-boden{height:clamp(60px,9vw,110px)}
.fest-szene .sz-tannen{height:clamp(90px,13vw,160px);bottom:30px;z-index:0;opacity:.95}
.fest-szene .sz-daecher{height:clamp(110px,14vw,170px)}
.sz-brett{position:absolute;left:0;right:0;bottom:0;height:34px;background:linear-gradient(#7a4a26,#5b3a22);box-shadow:0 -6px 18px rgba(0,0,0,.3);z-index:1}
.sz-vollmond{position:absolute;left:42%;top:26px;width:150px;height:150px;border-radius:50%;background:radial-gradient(circle at 40% 38%,#fffbe6,#f4e7b0 60%,#e5d48e);box-shadow:0 0 60px 20px rgba(255,246,200,.35);z-index:0}
.sz-vollmond span{position:absolute;left:-40px;top:46px;width:230px;display:block;animation:sz-flug 7s ease-in-out infinite alternate}
.sz-vollmond svg{width:100%;height:auto}
@keyframes sz-flug{to{transform:translate(18px,-8px) rotate(-3deg)}}
.sz-strauch{position:absolute;left:0;top:0;width:min(44%,520px);z-index:0;opacity:.95}.sz-strauch svg{width:100%;height:auto}
.fest-szene .sz-schlitten svg{filter:none}
.fest-szene .sz-santa{animation:sz-winken 3.4s ease-in-out infinite;transform-origin:50% 100%}
.fest-szene .sz-hase{animation:sz-hoppeln 2.6s ease-in-out infinite;transform-origin:50% 100%}
@keyframes sz-winken{0%,100%{transform:rotate(0)}50%{transform:rotate(-2deg) translateY(-2px)}}
@keyframes sz-hoppeln{0%,70%,100%{transform:translateY(0)}80%{transform:translateY(-12px) scale(1.02,.98)}90%{transform:translateY(0) scale(1.03,.97)}}
.ak-flamme{transform-box:fill-box;transform-origin:50% 100%;animation:ak-flackern 1.6s ease-in-out infinite}
@keyframes ak-flackern{50%{transform:scale(.92,1.08) rotate(2deg)}}
.fd-flocke.blau{background:#9fb8d4}
.fd-sonne.klein{right:6%;top:30px;bottom:auto;width:140px;height:140px;background:radial-gradient(circle,#fff3a6 0 34%,transparent 35%),repeating-conic-gradient(from 0deg,rgba(255,226,120,.7) 0 8deg,transparent 8deg 24deg);border-radius:50%}
/* Festliche Artikelkarten */
.fest-weihnachten .fest-inhalt .karte .ph::after,.fest-ostern .fest-inhalt .karte .ph::after{content:"";position:absolute;right:8px;top:8px;width:34px;height:30px;background:center/contain no-repeat;filter:drop-shadow(0 2px 3px rgba(0,0,0,.25));pointer-events:none}
.fest-weihnachten .fest-inhalt .karte .ph::after{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 46 30'%3E%3Cpath d='M23 14C12 0 0 2 4 12c3 7 13 5 19 2zM23 14C34 0 46 2 42 12c-3 7-13 5-19 2z' fill='%23c0333b'/%3E%3Cpath d='M21 15l-8 14 5-1 3 2 2-15zM25 15l8 14-5-1-3 2-2-15z' fill='%23a8262e'/%3E%3Ccircle cx='23' cy='14' r='4.5' fill='%23e04a52'/%3E%3C/svg%3E")}
.fest-ostern .fest-inhalt .karte .ph::after{width:24px;height:30px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 30'%3E%3Cpath d='M12 0C19 0 24 12 24 18s-5 12-12 12S0 24 0 18 5 0 12 0z' fill='%23f6c3d1'/%3E%3Cpath d='M0 15l4-3 4 3 4-3 4 3 4-3 4 3' stroke='%23fff' stroke-width='2.2' fill='none'/%3E%3C/svg%3E")}
.fest-inhalt .karte .ph{position:relative}
.fest-weihnachten .fg-nr{box-shadow:0 0 0 3px #fff,0 0 0 5px var(--fk-gruppe)}

/* ---------- Weihnachten ---------- */
.fd-tannenwald{--fk-bg:radial-gradient(90% 120% at 80% 0%,#2f6b47 0%,transparent 55%),linear-gradient(160deg,#0f2a1b,#173a26 55%,#0c2216);--fk-akz:#d9b45a;--fk-btn:#d9b45a;--fk-btn-ink:#14251a;--fk-deko:#0a1d12;--fk-gruppe:#2f6b47}
.fd-kerzenschein{--fk-bg:radial-gradient(60% 80% at 75% 55%,rgba(240,183,90,.45),transparent 65%),linear-gradient(160deg,#2a080c,#5a1119 60%,#3a0a10);--fk-akz:#f0b75a;--fk-btn:#f0b75a;--fk-btn-ink:#3a0a10;--fk-gruppe:#8f1d2a}
.fd-skandinavisch{--fk-bg:linear-gradient(180deg,#ffffff,#f3eee6);--fk-ink:#2b2321;--fk-mute:#5d524c;--fk-akz:#b3262e;--fk-btn:#b3262e;--fk-btn-ink:#fff;--fk-rahmen:#fff;--fk-deko:#b3262e;--fk-gruppe:#b3262e}
.fd-skandinavisch .fest-kopf{border-bottom:1px solid #e9e1d4}
.fd-weihnachtsmarkt{--fk-bg:repeating-linear-gradient(90deg,rgba(0,0,0,.06) 0 2px,transparent 2px 70px),linear-gradient(170deg,#3b2414,#6b4022 55%,#4a2c16);--fk-akz:#ffd27a;--fk-btn:#ffd27a;--fk-btn-ink:#3b2414;--fk-rahmen:#f6e3c2;--fk-gruppe:#9b5a2a}
.fd-sternennacht{--fk-bg:radial-gradient(70% 90% at 85% 10%,#2c4d8f 0%,transparent 60%),linear-gradient(170deg,#070d22,#11204a 60%,#0b1430);--fk-akz:#cfd8ea;--fk-btn:#e6ecf7;--fk-btn-ink:#0b1430;--fk-rahmen:#e6ecf7;--fk-gruppe:#2c4d8f}
/* Schmuck Weihnachten */
.fd-tannen{position:absolute;left:0;right:0;bottom:-2px;width:100%;height:clamp(60px,10vw,120px);color:#0a1d12;opacity:.9}
.fd-flocke{position:absolute;left:calc(var(--x)*1%);top:-12px;width:calc(4px + var(--v)*1.5px);aspect-ratio:1;border-radius:50%;background:#fff;opacity:.75;animation:fd-fall calc(9s + var(--v)*3s) linear calc(var(--y)*-.12s) infinite}
@keyframes fd-fall{to{transform:translate3d(calc((var(--v) - 2)*14px),620px,0)}}
.fd-licht{position:absolute;left:calc(var(--x)*1%);top:calc(var(--y)*1%);width:calc(16px + var(--v)*14px);aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,rgba(255,214,140,.55),rgba(255,214,140,0) 70%);animation:fd-schweben calc(6s + var(--v)*2s) ease-in-out calc(var(--v)*-1.3s) infinite alternate}
@keyframes fd-schweben{to{transform:translateY(-18px);opacity:.45}}
.fd-flamme{position:absolute;right:8%;top:8%;width:340px;height:340px;border-radius:50%;background:radial-gradient(circle,rgba(255,200,110,.35),transparent 65%);animation:fd-flackern 3.2s ease-in-out infinite}
@keyframes fd-flackern{0%,100%{opacity:.85;transform:scale(1)}40%{opacity:1;transform:scale(1.04)}70%{opacity:.75;transform:scale(.98)}}
.fd-stern{position:absolute;left:calc(var(--x)*1%);top:calc(var(--y)*.9%);width:calc(18px + var(--v)*7px);color:#b3262e;opacity:.18;transform:rotate(calc(var(--v)*14deg))}
.fd-stern svg{width:100%;fill:currentColor}
.fd-skandinavisch .fd-stern:nth-child(3n){color:#d8c9b0;opacity:.6}
.fd-kette{position:absolute;left:-2%;right:-2%;top:0;height:54px;display:flex;justify-content:space-between;align-items:flex-start;padding:0 1%;background:radial-gradient(120% 60px at 50% -30px,transparent 98%,rgba(0,0,0,.35) 99%,transparent 100%)}
.fd-kette i{width:12px;height:16px;margin-top:calc(14px + (var(--n,0))*1px);border-radius:50% 50% 50% 50%/60% 60% 40% 40%;background:#ffd27a;box-shadow:0 0 14px 4px rgba(255,210,122,.65);animation:fd-funkeln 2.4s ease-in-out infinite}
.fd-kette i:nth-child(odd){margin-top:26px;animation-delay:-1.2s}.fd-kette i:nth-child(3n){background:#ffefc4}.fd-kette i:nth-child(4n){margin-top:32px}
@keyframes fd-funkeln{50%{opacity:.55;box-shadow:0 0 6px 2px rgba(255,210,122,.4)}}
.fd-funkel{position:absolute;left:calc(var(--x)*1%);top:calc(var(--y)*1%);width:calc(2px + var(--v)*.8px);aspect-ratio:1;border-radius:50%;background:#fff;box-shadow:0 0 6px 1px rgba(255,255,255,.6);animation:fd-funkeln calc(2s + var(--v)*.8s) ease-in-out calc(var(--v)*-.7s) infinite}
.fd-mond{position:absolute;left:42%;top:12%;width:84px;height:84px;border-radius:50%;box-shadow:-18px 10px 0 0 #e6ecf7;opacity:.85}

/* ---------- Ostern ---------- */
.fd-olivenhain{--fk-bg:radial-gradient(80% 100% at 85% 20%,rgba(169,178,122,.45),transparent 60%),linear-gradient(160deg,#f7f2e3,#ece5cf 60%,#e1d6b6);--fk-ink:#2c2a18;--fk-mute:#545033;--fk-akz:#7d8a45;--fk-btn:#5f6b3a;--fk-btn-ink:#fff;--fk-rahmen:#fffdf6;--fk-deko:#6f7d3c;--fk-gruppe:#5f6b3a}
.fd-fruehlingswiese{--fk-bg:radial-gradient(80% 100% at 80% 0%,#fff6c9,transparent 55%),linear-gradient(180deg,#e9f6d9,#cfe9ad 70%,#a8d47a);--fk-ink:#1f3313;--fk-mute:#3e5530;--fk-akz:#5e9a3a;--fk-btn:#4c8a2c;--fk-btn-ink:#fff;--fk-rahmen:#fff;--fk-deko:#5e9a3a;--fk-gruppe:#4c8a2c}
.fd-pastell{--fk-bg:radial-gradient(60% 80% at 10% 10%,#fde2ea,transparent 60%),radial-gradient(60% 80% at 90% 90%,#dfe6fb,transparent 60%),linear-gradient(135deg,#fffaf3,#fdf3e2);--fk-ink:#3a2f45;--fk-mute:#5f5468;--fk-akz:#c08bbf;--fk-btn:#8f6bb3;--fk-btn-ink:#fff;--fk-rahmen:#fff;--fk-gruppe:#8f6bb3}
.fd-landhaus{--fk-bg:linear-gradient(180deg,#f7f2e8,#efe6d4);--fk-ink:#22303e;--fk-mute:#4a5868;--fk-akz:#5d7b98;--fk-btn:#3f5f80;--fk-btn-ink:#fff;--fk-rahmen:#fffdf8;--fk-gruppe:#3f5f80}
.fd-morgensonne{--fk-bg:radial-gradient(70% 90% at 80% 100%,#ffcf5c,transparent 60%),linear-gradient(180deg,#fff9e3,#ffe9a8 60%,#ffc96b);--fk-ink:#3b2208;--fk-mute:#6a4513;--fk-akz:#e0812f;--fk-btn:#d4691c;--fk-btn-ink:#fff;--fk-rahmen:#fffaf0;--fk-gruppe:#d4691c}
/* Schmuck Ostern */
.fd-zweig{position:absolute;right:-30px;top:-10px;width:clamp(200px,30vw,380px);color:#6f7d3c;opacity:.55;transform:rotate(8deg)}
.fd-zweig .fd-oliven{fill:#3f4a1f}
.fd-zweig2 .fd-zweig{right:auto;left:-60px;top:auto;bottom:-20px;transform:rotate(200deg);opacity:.35}
.fd-wiese{position:absolute;left:0;right:0;bottom:-2px;width:100%;height:clamp(40px,7vw,80px);color:#7fbf4f}
.fd-bluete{position:absolute;left:calc(var(--x)*1%);top:calc(var(--y)*.85%);width:calc(10px + var(--v)*4px);aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,#f6d36b 0 22%,transparent 24%),radial-gradient(circle at 50% 0,#f7b6c8 0 30%,transparent 31%),radial-gradient(circle at 100% 50%,#f7b6c8 0 30%,transparent 31%),radial-gradient(circle at 50% 100%,#f7b6c8 0 30%,transparent 31%),radial-gradient(circle at 0 50%,#f7b6c8 0 30%,transparent 31%);opacity:.75;animation:fd-schweben calc(5s + var(--v)*1.5s) ease-in-out calc(var(--v)*-1s) infinite alternate}
.fd-ei{position:absolute;left:calc(var(--x)*1%);top:calc(var(--y)*.9%);width:calc(18px + var(--v)*6px);aspect-ratio:3/4;border-radius:50% 50% 50% 50%/62% 62% 38% 38%;opacity:.55;transform:rotate(calc((var(--v) - 2)*12deg));background:radial-gradient(circle,#fff 0 14%,transparent 15%) 0 0/10px 10px,#f7c6d5}
.fd-ei:nth-child(4n+1){background-color:#c9d6f7}.fd-ei:nth-child(4n+2){background-color:#f9e7a8}.fd-ei:nth-child(4n+3){background-color:#cfeccf}
.fd-karo{position:absolute;left:0;right:0;bottom:0;height:30px;background:linear-gradient(90deg,rgba(93,123,152,.35) 50%,transparent 0) 0 0/22px 22px,linear-gradient(rgba(93,123,152,.35) 50%,transparent 0) 0 0/22px 22px;opacity:.8}
.fd-landhaus .fest-kopf::before{content:"";position:absolute;inset:14px;border:1.5px dashed rgba(63,95,128,.35);border-radius:18px;pointer-events:none}
.fd-sonne{position:absolute;right:-120px;bottom:-200px;width:620px;height:620px;border-radius:50%;background:repeating-conic-gradient(from 0deg,rgba(255,255,255,.28) 0 6deg,transparent 6deg 18deg);animation:fd-drehen 80s linear infinite}
@keyframes fd-drehen{to{transform:rotate(1turn)}}

/* ---------- Festatmosphäre im ganzen Shop ---------- */
body.fest-atmo{background-repeat:no-repeat,repeat;background-size:100% 100vh,auto}
.fest-girlande{height:28px;margin-bottom:-28px;position:relative;z-index:30;background-repeat:repeat-x;background-position:center top;background-size:auto 28px;pointer-events:none}
nav a.fest-link{background:color-mix(in srgb,#c0333b 14%,transparent);font-weight:700}
.fest-ostern nav a.fest-link,body.fest-ostern nav a.fest-link{background:color-mix(in srgb,#5e9a3a 16%,transparent)}

/* ---------- Handy ---------- */
@media(max-width:820px){
  .fest-kopf.mit-szene .fest-kopf-in{padding-bottom:140px}
  .fest-szene .sz{height:calc(var(--h) * .62)}
  .fest-szene .sz-neben{display:none}
  .sz-vollmond{left:auto;right:6%;top:18px;width:90px;height:90px}.sz-vollmond span{width:140px;left:-30px;top:28px}
  .sz-strauch{width:70%}
  .anordnung-kugeln .fest-collage{min-height:330px}.anordnung-kugeln .fc1{--t:70px}.anordnung-kugeln .fc4{--t:190px}.anordnung-kugeln .fc5{--t:196px}
  .anordnung-eier-haengend .fc4{--t:180px}.anordnung-eier-haengend .fc5{--t:186px}
  .fest-kopf-in{grid-template-columns:1fr;gap:26px;padding-top:30px}
  .fest-collage{min-height:300px}
  .anordnung-mosaik .fest-collage{grid-auto-rows:110px;gap:8px}.anordnung-mosaik .fest-collage.n5{grid-template-rows:repeat(3,92px)}
  .anordnung-bogen .fest-collage{min-height:260px;gap:8px}.anordnung-bogen .fc img{border-width:3px}
  .anordnung-bogen .fc1{height:200px}.anordnung-bogen .fc2{height:250px}.anordnung-bogen .fc3{height:220px}.anordnung-bogen .fc4{height:170px}.anordnung-bogen .fc5{height:175px}
  .fest-btn,.fest-btn2{padding:12px 20px}
  .fd-flamme{width:220px;height:220px}.fd-sonne{width:420px;height:420px;bottom:-160px}
}
@media(max-width:480px){.anordnung-bogen .fc5,.anordnung-bogen .fc4{display:none}.fest-collage{min-height:260px}}
@media(prefers-reduced-motion:reduce){.fest *,.fest-szene *{animation:none!important}.fest-collage .fc{transition:none}}
@media print{.fest-deko,.fest-girlande{display:none}}

/* Leiser Schneefall im ganzen Shop (Weihnachten) */
.fest-schnee{position:fixed;inset:0;pointer-events:none;z-index:40;overflow:hidden}
.fest-schnee i{position:absolute;left:calc(var(--x)*1%);top:-10px;width:calc(3px + var(--v)*1.4px);aspect-ratio:1;border-radius:50%;background:#fff;box-shadow:0 0 3px rgba(120,150,180,.55);opacity:.85;animation:fest-schnee calc(11s + var(--v)*3s) linear calc(var(--d)*-1.1s) infinite}
@keyframes fest-schnee{to{transform:translate3d(calc((var(--v) - 2)*22px),105vh,0)}}
@media(prefers-reduced-motion:reduce){.fest-schnee{display:none}}
@media print{.fest-schnee{display:none}}
.fd-landhaus .fest-kopf-in{padding-top:clamp(120px,13vw,170px)}
.fd-landhaus .sz-strauch{width:min(40%,460px)}
@media(max-width:640px){.fest-schnee i:nth-child(2n){display:none}.fest-schnee i{opacity:.7}}
