/* ═══ Saison-Modi – Lesbarkeit + dekorative Effekte ═══ */

.season-pill {
    display: inline-flex;
    align-items: center;
    gap: .45rem;
    padding: .4rem 1rem;
    border-radius: 999px;
    font-size: .78rem;
    font-weight: 700;
    letter-spacing: .05em;
    text-transform: uppercase;
    margin-bottom: 1rem;
    border: 1px solid rgba(255, 255, 255, .35);
    background: rgba(0, 0, 0, .28);
    color: #fff;
    backdrop-filter: blur(8px);
    text-shadow: 0 1px 2px rgba(0, 0, 0, .35);
}

/* Lesbarkeit in saisonalen Hero-Bereichen */
body[class*="season-"] .hero h1,
body[class*="season-"] .hero p {
    color: #fff;
    text-shadow: 0 2px 16px rgba(0, 0, 0, .55);
}
body[class*="season-"] .hero p { opacity: 1; }
body[class*="season-"] .hero-stat__number {
    color: #f5e6c8;
    text-shadow: 0 2px 8px rgba(0, 0, 0, .45);
}
body[class*="season-"] .hero-stat__label {
    color: rgba(255, 255, 255, .92);
    opacity: 1;
}
body[class*="season-"] .utility-bar {
    background: rgba(0, 0, 0, .22);
    color: rgba(255, 255, 255, .92);
    border-bottom: 1px solid rgba(255, 255, 255, .08);
}
body[class*="season-"] .utility-bar__location,
body[class*="season-"] .utility-bar__label { color: rgba(255, 255, 255, .88); }
body[class*="season-"] .font-btn,
body[class*="season-"] .contrast-btn {
    color: #fff;
    border-color: rgba(255, 255, 255, .35);
}
body[class*="season-"] .site-header .nav-link {
    color: rgba(255, 255, 255, .9) !important;
}
body[class*="season-"] .site-header .nav-link:hover,
body[class*="season-"] .site-header .nav-link.active {
    color: #fff !important;
    background: rgba(255, 255, 255, .12);
}
body[class*="season-"] .navbar-brand,
body[class*="season-"] .brand-name,
body[class*="season-"] .brand-sub { color: #fff !important; }

/* ─── Frühling (unverändert gut) ─── */
body.season-spring {
    --color-primary: #1f5c38;
    --color-primary-dark: #143d26;
    --color-accent: #3d9a5f;
}
body.season-spring .hero::before {
    background: linear-gradient(135deg, rgba(15, 45, 28, .88) 0%, rgba(26, 77, 46, .75) 45%, rgba(61, 154, 95, .35) 100%),
                radial-gradient(ellipse at 80% 20%, rgba(255, 182, 193, .15) 0%, transparent 45%);
}
body.season-spring .season-pill { background: rgba(61, 154, 95, .35); }

/* ─── Ostern (unverändert gut) ─── */
body.season-easter {
    --color-primary: #4a6741;
    --color-accent: #c9a0dc;
}
body.season-easter .hero::before {
    background: linear-gradient(135deg, rgba(35, 50, 38, .88) 0%, rgba(74, 103, 65, .78) 50%, rgba(120, 90, 140, .35) 100%);
}
body.season-easter .btn-primary {
    background: linear-gradient(135deg, #6b8f71, #4a6741);
}
body.season-easter .season-pill { background: rgba(201, 160, 220, .35); }

/* ─── Halloween ─── */
body.season-halloween {
    --color-primary: #3d2b1f;
    --color-primary-dark: #1a120c;
    --color-accent: #e67e22;
}
body.season-halloween .site-header {
    background: linear-gradient(180deg, #1a1008, #2c1810);
    border-bottom: 2px solid rgba(230, 126, 34, .25);
}
body.season-halloween .hero {
    background: var(--color-primary-dark) url('../images/zuchau-hero.jpg') center/cover no-repeat;
}
body.season-halloween .hero::before {
    background: linear-gradient(135deg, rgba(15, 8, 4, .92) 0%, rgba(45, 28, 18, .86) 45%, rgba(92, 61, 30, .55) 100%);
}
body.season-halloween .hero::after {
    background: linear-gradient(to top, var(--color-cream), transparent);
}
body.season-halloween .btn-primary {
    background: linear-gradient(135deg, #e67e22, #c45a0a);
    border: none;
    color: #fff;
}
body.season-halloween .btn-outline-light {
    border-color: rgba(255, 255, 255, .75);
    color: #fff;
    background: rgba(0, 0, 0, .2);
}
body.season-halloween .season-pill {
    background: rgba(230, 126, 34, .35);
    border-color: rgba(255, 180, 100, .4);
}

/* ─── Weihnachten ─── */
body.season-christmas {
    --color-primary: #1a3d2e;
    --color-accent: #c0392b;
}
body.season-christmas .site-header {
    background: linear-gradient(180deg, #0a1f14, #143d28);
    border-bottom: 2px solid rgba(192, 57, 43, .35);
}
body.season-christmas .hero {
    background: var(--color-primary-dark) url('../images/zuchau-hero.jpg') center/cover no-repeat;
}
body.season-christmas .hero::before {
    background: linear-gradient(135deg, rgba(8, 22, 14, .9) 0%, rgba(20, 55, 38, .84) 50%, rgba(30, 70, 48, .7) 100%);
}
body.season-christmas .hero::after {
    background: linear-gradient(to top, #f7f4ef, transparent);
}
body.season-christmas .btn-primary {
    background: linear-gradient(135deg, #c0392b, #922b21);
    border: none;
}
body.season-christmas .btn-outline-light {
    border-color: rgba(255, 255, 255, .8);
    color: #fff;
}
body.season-christmas .btn-accent,
body.season-christmas .nav-cta {
    background: linear-gradient(135deg, #c0392b, #922b21);
}
body.season-christmas .season-pill {
    background: rgba(192, 57, 43, .4);
    border-color: rgba(255, 200, 200, .35);
}
body.season-christmas .site-footer {
    border-top: 3px solid rgba(192, 57, 43, .45);
}

/* ─── Schnee & Halloween-Partikel ─── */
.season-fx {
    position: fixed;
    inset: 0;
    pointer-events: none;
    z-index: 9990;
    overflow: hidden;
}
.season-fx__flake,
.season-fx__ember {
    position: absolute;
    top: -2rem;
    color: #fff;
    opacity: .85;
    animation: season-fall linear infinite;
    text-shadow: 0 0 6px rgba(255, 255, 255, .5);
}
.season-fx__ember {
    color: #ffb347;
    opacity: .55;
    text-shadow: 0 0 8px rgba(255, 140, 0, .6);
}
@keyframes season-fall {
    0% { transform: translateY(-5vh) translateX(0) rotate(0deg); opacity: 0; }
    10% { opacity: .9; }
    100% { transform: translateY(105vh) translateX(30px) rotate(360deg); opacity: .2; }
}

body.season-halloween .quick-link__icon {
    background: linear-gradient(135deg, #3d2b1f, #5c3d1e);
}

@media (prefers-reduced-motion: reduce) {
    .season-fx { display: none; }
}
