/* Nur für CurlyCats Festtage: Nachtviolett, Tannengrün, Gold und Kürbisorange. Kontraste mindestens 4,5:1. */
html[data-site="curlycat"] { --night: #2A1B4D; --tanne: #1F5A3B; --gold: #F2C14E; --cream: #FBF6EE; }
html[data-site="curlycat"] .site-header { background: var(--night); border-bottom: 3px solid var(--gold); }
html[data-site="curlycat"] .brand { color: #fff; }
html[data-site="curlycat"] .brand span { color: var(--gold); }
html[data-site="curlycat"] .nav a { color: #EDE4F7; }
html[data-site="curlycat"] .nav a:hover { color: #fff; }
html[data-site="curlycat"] .site-header :where(a, summary):focus-visible { outline: 3px solid var(--gold); outline-offset: 2px; }
html[data-site="curlycat"] .nav-menu summary { background: transparent; color: #fff; border-color: #8C79B5; }
html[data-site="curlycat"] .site-footer { background: var(--night); color: #D9CDEB; border-top: 3px solid var(--gold); }
html[data-site="curlycat"] .site-footer a { color: #fff; }
html[data-site="curlycat"] .site-footer :where(a):focus-visible { outline-color: var(--gold); }
html[data-site="curlycat"] .hero img { object-position: center 40%; }

/* Saison-Bereiche der Startseite */
.saison { display: grid; gap: 24px; margin-top: 8px; }
.saison-panel { border-radius: 12px; padding: 28px 24px; color: #fff; }
.saison-halloween { background: var(--night, #2A1B4D); border: 2px solid #C2570C; }
.saison-weihnachten { background: var(--tanne, #1F5A3B); border: 2px solid var(--gold, #F2C14E); }
.saison-panel h2 { color: #fff; margin-top: .2em; }
.saison-panel .eyebrow { color: var(--gold, #F2C14E); margin: 0; }
.saison-count { font-size: 1.2rem; font-weight: 600; margin: 0 0 20px; }
.saison-panel .card { background: #fff; color: var(--text); }
.saison-panel .card .eyebrow { color: var(--primary-dark); }
.saison-links { display: flex; flex-wrap: wrap; gap: 4px 24px; margin: 20px 0 0; }
.saison-links a { color: #fff; font-weight: 600; padding: 6px 0; }
.saison-links a:hover { color: var(--gold, #F2C14E); }
.saison-panel :where(a):focus-visible { outline: 3px solid var(--gold, #F2C14E); outline-offset: 2px; }
.saison[data-aktiv="halloween"] .saison-weihnachten, .saison[data-aktiv="weihnachten"] .saison-halloween { display: none; }

/* Adventskalender */
.tuerchen { list-style: none; margin: 24px 0; padding: 0; display: grid; gap: 12px; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); }
.tuer a { display: flex; gap: 14px; align-items: center; min-height: 72px; padding: 12px 14px; text-decoration: none; color: #fff; background: var(--tanne, #1F5A3B); border: 2px solid var(--gold, #F2C14E); border-radius: 12px; }
.tuer:nth-child(even) a { background: #8A2B1B; }
.tuer a:hover { background: var(--night, #2A1B4D); color: #fff; }
.tuer-nr { flex: none; width: 44px; height: 44px; display: grid; place-items: center; border-radius: 50%; background: var(--gold, #F2C14E); color: #2A1B4D; font-weight: 700; font-size: 1.15rem; }
.tuer-text { display: flex; flex-direction: column; min-width: 0; }
.tuer-art { font-size: .85rem; opacity: .95; }
.tuer-titel { font-weight: 600; line-height: 1.25; }
.tuer a:focus-visible { outline: 3px solid var(--night, #2A1B4D); outline-offset: 3px; }
/* Geschlossene Türchen (nur mit JavaScript): Titel bleibt unsichtbar bis zum Öffnen */
.tuer.zu a { background: #4A4458; border-color: #8C79B5; cursor: not-allowed; }
.tuer.zu a:hover { background: #4A4458; }
.tuer.zu .tuer-titel { display: none; }
.tuer.zu .tuer-nr { background: #CFC6E0; }
@media (prefers-reduced-motion: no-preference) { .tuer a { transition: background .2s; } }
