/* Seasonal tokens layer over the unchanged, finalized holiday-type layout. */
.dsf-season {
	--holiday-sun: var(--season-main);
	--holiday-coral: var(--season-second);
	--holiday-sky: var(--season-third);
	--holiday-mint: var(--season-fourth);
	--holiday-sand: var(--season-ground);
	--holiday-sky-wash: var(--season-cool-wash);
	--holiday-mint-wash: var(--season-soft-wash);
}
.dsf-season--winter { --season-main: #C9EAFB; --season-second: #DED5F5; --season-third: #D6E6FC; --season-fourth: #DEF1EF; --season-ground: #EEF7FD; --season-cool-wash: #F3F1FA; --season-soft-wash: #F0F7FC; --season-ink: #5867A0; }
.dsf-season--easter { --season-main: #D5EBCD; --season-second: #F7E9B7; --season-third: #DFEAF6; --season-fourth: #EBDDF0; --season-ground: #F3F8E9; --season-cool-wash: #FBF8E9; --season-soft-wash: #F0F7EF; --season-ink: #4C7754; }
.dsf-season--pentecost { --season-main: #C9E9DB; --season-second: #F5CEC3; --season-third: #F4E6BE; --season-fourth: #DCEBEE; --season-ground: #EFF9F3; --season-cool-wash: #FFF5ED; --season-soft-wash: #F0F8F5; --season-ink: #9B6552; }
.dsf-season--autumn { --season-main: #F5D69F; --season-second: #EAB5A0; --season-third: #DDD8BD; --season-fourth: #E8DEC8; --season-ground: #FBF0E1; --season-cool-wash: #FAF4EB; --season-soft-wash: #F7F1E8; --season-ink: #A8543E; }
.dsf-season--christmas { --season-main: #EAD593; --season-second: #F0C3BF; --season-third: #CFE0D6; --season-fourth: #DDEBDD; --season-ground: #EFF5EE; --season-cool-wash: #F8F5E9; --season-soft-wash: #EDF4EF; --season-ink: #24543F; }
.dsf-season .dsf-holiday__title-mark { position: relative; background: var(--season-ink); }
.dsf-season__motif { position: absolute; inset: 1.4rem 1.4rem auto auto; inline-size: 2.75rem; block-size: 2.75rem; color: var(--season-ink); }
.dsf-season .dsf-holiday__next h2 { padding-inline-end: 2.75rem; }
.dsf-season .dsf-holiday__next-dates { position: relative; }
.dsf-season .dsf-holiday__countdown > div { color: var(--dsf-color-text); }
.dsf-season .dsf-holiday__calendar-range { font-weight: 600; }
.dsf-season .dsf-holiday__dates td { vertical-align: top; }
.dsf-season__date-entry + .dsf-season__date-entry { margin-block-start: .85rem; }
.dsf-season__date-entry small { display: block; min-block-size: 2.5em; max-inline-size: 20ch; margin-block-end: .25rem; color: var(--dsf-color-muted); font-size: .75rem; line-height: 1.25; }
.dsf-season .is-extra time { outline: 1px dashed var(--dsf-color-primary); outline-offset: -3px; background: var(--season-second); }
.dsf-season__extra-key { padding: .2rem .5rem; border: 1px dashed var(--dsf-color-primary); border-radius: var(--dsf-radius-small); }
.dsf-season .dsf-holiday__preview-heading .dsf-holiday__field { flex-basis: 9.25rem; }
.dsf-season .dsf-holiday__field:has([name="jahr"]) { min-inline-size: 8rem; }
.dsf-season--christmas .dsf-holiday__year-chip { font-size: .8125rem; white-space: nowrap; }
@media (prefers-reduced-motion: no-preference) {
	.dsf-season__motif { animation: dsf-season-drift 5s ease-in-out 1; }
	.dsf-season--autumn .dsf-season__motif { animation-name: dsf-season-leaf; }
	@keyframes dsf-season-drift { 50% { transform: translateY(-3px) rotate(8deg); } }
	@keyframes dsf-season-leaf { 50% { transform: translate(3px, 5px) rotate(12deg); } }
}
@media (max-width: 60rem) { .dsf-season__motif { inset: 1rem 1rem auto auto; inline-size: 2.25rem; block-size: 2.25rem; } }
@media (max-width: 40rem) {
	.dsf-season .dsf-holiday__next h2 { padding-inline-end: 2.25rem; }
	.dsf-season .dsf-holiday__preview-heading { flex-wrap: wrap; }
	.dsf-season .dsf-holiday__preview-heading .dsf-holiday__field { flex-basis: 100%; }
	.dsf-season--christmas .dsf-holiday__dates :where(td, th) { padding-inline: .35rem; }
	.dsf-season--christmas .dsf-holiday__year-chip { padding-inline: .3rem; font-size: .6875rem; }
}
