/* Winter-Theme: eisige Palette, Schnee auf Buttons/Karten, fallender Schnee */
html.winter{
  --ink:#0a1119;--paper:#0f1822;--card:#16222e;--card-2:#1d2b39;--border:#2c4052;
  --red:#3a8fd6;--red-hot:#6fb8f2;--cream:#eef6fc;--muted:#9db3c4;--paper-w:#f4f9fd;
  --gold:#bfe3ff;--green:#7cc4b0;--punk-blue:#8fb3cf;--punk-yellow:#eaf4fb;--punk-red:#3a8fd6;--punk-black:#0a1119;
}
html.winter body{background-image:linear-gradient(#0a1119,#0f1822 60%,#13202c)}
html.winter .hero-cta,html.winter .rsvp-btn{animation-name:none}
html.winter ::selection{background:#6fb8f2;color:#0a1119}

/* Schneehaube: weiße Kuppen am oberen Rand */
html.winter :where(button,.hero-cta,.btn-tour,.btn-submit,.rsvp-btn,.cal-sub-btn,.menu-tab,.event-card,.feedback-btn,[class*="-btn"]):not(.nav-toggle){position:relative}
html.winter :where(button,.hero-cta,.btn-tour,.btn-submit,.rsvp-btn,.cal-sub-btn,.menu-tab,.event-card,.feedback-btn,[class*="-btn"]):not(.nav-toggle)::before{
  content:"";position:absolute;left:-2px;right:-2px;top:-7px;height:11px;pointer-events:none;z-index:2;
  background:
    radial-gradient(circle at 12% 100%,#fff 0 5px,transparent 5.5px),
    radial-gradient(circle at 34% 100%,#fff 0 7px,transparent 7.5px),
    radial-gradient(circle at 58% 100%,#fff 0 5px,transparent 5.5px),
    radial-gradient(circle at 80% 100%,#fff 0 7px,transparent 7.5px),
    linear-gradient(#fff,#fff) 0 100%/100% 4px no-repeat;
  border-radius:6px 6px 0 0;filter:drop-shadow(0 1px 1px rgba(120,170,210,.5));
}
html.winter .event-card::before{top:-9px;height:13px}
html.winter .nav-logo{position:relative}
html.winter .section h2::after,html.winter .section-title::after{content:" ❄";color:#bfe3ff;font-size:.7em}

/* fallender Schnee */
#snowfall{position:fixed;inset:0;z-index:5;pointer-events:none}


/* ── Silvester (30.12.–5.1.): Schwarz + Gold, Glitzerkanten, Feuerwerk ── */
html.newyear{
  --ink:#070707;--paper:#0d0b07;--card:#17140d;--card-2:#201b10;--border:#4a3d1c;
  --red:#d4a017;--red-hot:#ffd24a;--cream:#fff4d6;--muted:#c9b98a;--paper-w:#fff8e6;
  --gold:#ffd24a;--green:#d4a017;--punk-blue:#c9b98a;--punk-yellow:#fff4d6;--punk-red:#d4a017;--punk-black:#070707;
}
html.newyear .hero-cta,html.newyear .rsvp-btn,html.newyear .btn-tour,html.newyear .btn-submit{color:#140f00}
html.newyear :where(button,.hero-cta,.btn-tour,.btn-submit,.rsvp-btn,.cal-sub-btn,.menu-tab,.event-card,.feedback-btn,[class*="-btn"]):not(.nav-toggle){position:relative}
html.newyear :where(button,.hero-cta,.btn-tour,.btn-submit,.rsvp-btn,.cal-sub-btn,.menu-tab,.event-card,.feedback-btn,[class*="-btn"]):not(.nav-toggle)::before{
  content:"";position:absolute;left:0;right:0;top:-6px;height:8px;pointer-events:none;z-index:2;
  background:
    radial-gradient(circle at 8% 60%,#fff2b8 0 2px,transparent 2.5px),
    radial-gradient(circle at 27% 30%,#ffd24a 0 2.5px,transparent 3px),
    radial-gradient(circle at 46% 70%,#fff 0 1.8px,transparent 2.3px),
    radial-gradient(circle at 64% 35%,#ffd24a 0 2.5px,transparent 3px),
    radial-gradient(circle at 83% 65%,#fff2b8 0 2px,transparent 2.5px),
    radial-gradient(circle at 95% 30%,#ffd24a 0 1.8px,transparent 2.3px);
  animation:nyTwinkle 1.8s ease-in-out infinite alternate}
@keyframes nyTwinkle{from{opacity:.55}to{opacity:1}}
html.newyear .section h2::after,html.newyear .section-title::after{content:" ✨";font-size:.7em}
@media (prefers-reduced-motion:reduce){html.newyear *::before{animation:none!important}}

/* ── halloween ── */
html.halloween{--ink:#0a0610;--paper:#120a1a;--card:#1b1126;--card-2:#251733;--border:#4a2b66;--red:#ff7a00;--red-hot:#ffa033;--cream:#f6ead8;--muted:#b7a3c9;--paper-w:#fff1dc;--gold:#ff9f2e;--green:#7bd34a;--punk-blue:#b7a3c9;--punk-yellow:#ffe2b0;--punk-red:#ff7a00;--punk-black:#0a0610}
html.halloween :where(button,.hero-cta,.btn-tour,.btn-submit,.rsvp-btn,.cal-sub-btn,.menu-tab,.event-card,.feedback-btn,[class*="-btn"]):not(.nav-toggle){position:relative}
html.halloween :where(button,.hero-cta,.btn-tour,.btn-submit,.rsvp-btn,.cal-sub-btn,.menu-tab,.event-card,.feedback-btn,[class*="-btn"]):not(.nav-toggle)::before{content:"";position:absolute;left:0;right:0;pointer-events:none;z-index:2;top:-2px;height:14px;background:radial-gradient(ellipse 7px 12px at 10% 0,#7bd34a 98%,transparent),radial-gradient(ellipse 5px 8px at 30% 0,#7bd34a 98%,transparent),radial-gradient(ellipse 8px 14px at 55% 0,#7bd34a 98%,transparent),radial-gradient(ellipse 5px 9px at 78% 0,#7bd34a 98%,transparent),radial-gradient(ellipse 6px 11px at 93% 0,#7bd34a 98%,transparent),linear-gradient(#7bd34a,#7bd34a) 0 0/100% 3px no-repeat;border-radius:4px 4px 0 0}
html.halloween .hero-cta,html.halloween .rsvp-btn,html.halloween .btn-tour,html.halloween .btn-submit{color:#1a0d00}
html.halloween .section h2::after,html.halloween .section-title::after{content:" 🎃";font-size:.7em}

/* ── valentine ── */
html.valentine{--ink:#14070d;--paper:#1c0b13;--card:#2a1019;--card-2:#361623;--border:#6b2a43;--red:#e8346b;--red-hot:#ff5c8a;--cream:#fff0f4;--muted:#d6a5b6;--paper-w:#fff5f8;--gold:#ffb3c7;--green:#ff8fab;--punk-blue:#d6a5b6;--punk-yellow:#ffe0e9;--punk-red:#e8346b;--punk-black:#14070d}
html.valentine :where(button,.hero-cta,.btn-tour,.btn-submit,.rsvp-btn,.cal-sub-btn,.menu-tab,.event-card,.feedback-btn,[class*="-btn"]):not(.nav-toggle){position:relative}
html.valentine :where(button,.hero-cta,.btn-tour,.btn-submit,.rsvp-btn,.cal-sub-btn,.menu-tab,.event-card,.feedback-btn,[class*="-btn"]):not(.nav-toggle)::before{content:"";position:absolute;left:0;right:0;pointer-events:none;z-index:2;top:-5px;height:11px;background:radial-gradient(circle at 6% 100%,#ffb3c7 0 5px,transparent 5.5px),radial-gradient(circle at 20% 100%,#fff 0 5px,transparent 5.5px),radial-gradient(circle at 34% 100%,#ffb3c7 0 5px,transparent 5.5px),radial-gradient(circle at 48% 100%,#fff 0 5px,transparent 5.5px),radial-gradient(circle at 62% 100%,#ffb3c7 0 5px,transparent 5.5px),radial-gradient(circle at 76% 100%,#fff 0 5px,transparent 5.5px),radial-gradient(circle at 90% 100%,#ffb3c7 0 5px,transparent 5.5px),linear-gradient(#ffb3c7,#ffb3c7) 0 100%/100% 4px no-repeat;border-radius:6px 6px 0 0}
html.valentine .section h2::after,html.valentine .section-title::after{content:" ♥";color:#ff5c8a;font-size:.7em}

/* ── easter ── */
html.easter{--ink:#0e1410;--paper:#131c16;--card:#1a261e;--card-2:#223226;--border:#3d5c47;--red:#e66fb0;--red-hot:#ff8fcb;--cream:#fffbe8;--muted:#b4cdb9;--paper-w:#fffdf0;--gold:#ffe27a;--green:#8fdc9a;--punk-blue:#b4cdb9;--punk-yellow:#fff3b0;--punk-red:#e66fb0;--punk-black:#0e1410}
html.easter :where(button,.hero-cta,.btn-tour,.btn-submit,.rsvp-btn,.cal-sub-btn,.menu-tab,.event-card,.feedback-btn,[class*="-btn"]):not(.nav-toggle){position:relative}
html.easter :where(button,.hero-cta,.btn-tour,.btn-submit,.rsvp-btn,.cal-sub-btn,.menu-tab,.event-card,.feedback-btn,[class*="-btn"]):not(.nav-toggle)::before{content:"";position:absolute;left:0;right:0;pointer-events:none;z-index:2;top:-5px;height:10px;background:radial-gradient(circle at 8% 100%,#ffb7dd 0 5px,transparent 5.5px),radial-gradient(circle at 24% 100%,#bfe8ff 0 5px,transparent 5.5px),radial-gradient(circle at 40% 100%,#fff3a0 0 5px,transparent 5.5px),radial-gradient(circle at 56% 100%,#c8f2c0 0 5px,transparent 5.5px),radial-gradient(circle at 72% 100%,#ffb7dd 0 5px,transparent 5.5px),radial-gradient(circle at 88% 100%,#d9c6ff 0 5px,transparent 5.5px),linear-gradient(90deg,#ffb7dd,#bfe8ff,#fff3a0,#c8f2c0,#d9c6ff) 0 100%/100% 3px no-repeat;border-radius:6px 6px 0 0}
html.easter .hero-cta,html.easter .rsvp-btn,html.easter .btn-tour,html.easter .btn-submit{color:#1a0a14}
html.easter .section h2::after,html.easter .section-title::after{content:" 🥚";font-size:.7em}

/* ── Jubiläum (15.2.) ── */
html.anniversary{--ink:#0b0612;--paper:#120a1c;--card:#1c1129;--card-2:#271739;--border:#5a2f7a;--red:#ff2e88;--red-hot:#ff5fa8;--cream:#fff3fa;--muted:#cdb0dc;--paper-w:#fff7fb;--gold:#ffd23f;--green:#12d8fa;--punk-blue:#cdb0dc;--punk-yellow:#ffe9a8;--punk-red:#ff2e88;--punk-black:#0b0612}
html.anniversary :where(button,.hero-cta,.btn-tour,.btn-submit,.rsvp-btn,.cal-sub-btn,.menu-tab,.event-card,.feedback-btn,[class*="-btn"]):not(.nav-toggle){position:relative}
html.anniversary :where(button,.hero-cta,.btn-tour,.btn-submit,.rsvp-btn,.cal-sub-btn,.menu-tab,.event-card,.feedback-btn,[class*="-btn"]):not(.nav-toggle)::before{content:"";position:absolute;left:0;right:0;top:-5px;height:8px;pointer-events:none;z-index:2;background:radial-gradient(circle at 6% 50%,#ff2e88 0 3px,transparent 3.5px),radial-gradient(circle at 22% 40%,#ffd23f 0 3px,transparent 3.5px),radial-gradient(circle at 38% 60%,#12d8fa 0 3px,transparent 3.5px),radial-gradient(circle at 54% 40%,#7a2ff7 0 3px,transparent 3.5px),radial-gradient(circle at 70% 60%,#ff2e88 0 3px,transparent 3.5px),radial-gradient(circle at 86% 40%,#ffd23f 0 3px,transparent 3.5px),radial-gradient(circle at 96% 55%,#12d8fa 0 3px,transparent 3.5px)}
.anniv-banner{position:relative;z-index:960;text-align:center;padding:.55rem 1rem;font-family:var(--ff-display,Anton,sans-serif);letter-spacing:.06em;text-transform:uppercase;color:#fff;background:linear-gradient(90deg,#ff2e88,#ffd23f,#12d8fa,#7a2ff7,#ff2e88);background-size:200% 100%;animation:partyStripe 5s linear infinite}
.anniv-banner.big{font-size:1.25rem;padding:.9rem 1rem;color:#1a0b00;background:linear-gradient(90deg,#ffd23f,#fff3b0,#ffd23f,#ff9f2e,#ffd23f);background-size:200% 100%;animation:partyStripe 3s linear infinite;box-shadow:0 0 28px rgba(255,210,63,.6)}
@media (prefers-reduced-motion:reduce){.anniv-banner{animation:none}}
@media (prefers-reduced-motion:reduce){#snowfall{display:none}}
