/*!
 * RS Termine – Widgets „RS Termine“, „RS Nächster Termin“, „RS Terminkalender kompakt“
 * und die RS-Veranstaltungsseite (/veranstaltungen/).
 * ---------------------------------------------------------------------------
 * Nutzt ausschließlich die Tokens aus rs-ui.css (--rs-*). Ein Termin (.rs-ev) hat
 * EIN Markup; das Layout je Gerät wird über Variablen umgeschaltet, die die
 * Sammlung (.rs-l-{d|t|m}-{agenda|grid|compact|stack|slider}) setzt:
 *
 *   --ev-cols, --ev-areas   Raster des Eintrags
 *   --ev-media              Bild an/aus (display)
 *   --ev-arrow              Pfeil an/aus (display)
 *   --ev-chips, --ev-extra  Chips bzw. Auszug/Aktionen an/aus
 *   --ev-pad, --ev-border   Innenabstand / Trennlinie
 *   --ev-bg, --ev-radius, --ev-shadow, --ev-inset  Fläche (Stapel)
 *   --ev-day, --ev-title    Größe Tageszahl / Titel
 *
 * Breakpoints: Mobil ≤767 · Tablet 768–1199 · Desktop ≥1200
 */

/* ===================================================================== Wurzel */
.rs-events,
.rs-events-archive,
.rs-cal {
	--rs-ev-line: var(--rs-c-line);
	--rs-ev-pad: clamp(18px, 2.1vw, 30px);
	--rs-ev-date-w: clamp(78px, 8vw, 132px);
	--rs-ev-ratio: 3 / 2;
	--rs-ev-block-gap: clamp(28px, 4vw, 56px);
}
.rs-events > .rs-heading { margin-bottom: var(--rs-ev-block-gap); }
.rs-ev-filter { margin: 0 0 clamp(18px, 2.4vw, 30px); }
.rs-ev-filter__area[aria-pressed="false"] { border-color: color-mix(in srgb, var(--rs-area) 40%, transparent); color: var(--rs-area); }
.rs-ev-all { margin-top: clamp(22px, 3vw, 40px); }
.rs-ev-empty p { font-family: var(--rs-f-voice); font-size: var(--rs-fs-lead); line-height: var(--rs-lh-voice); color: var(--rs-c-ink-soft); }

/* ===================================================================== Layout-Variablen
 * Agenda (Standard): typografische Zeilen
 */
.rs-collection {
	--ev-cols: var(--rs-ev-date-w) minmax(0, 1fr) auto;
	--ev-areas: "date body arrow";
	--ev-media: none;
	--ev-arrow: grid;
	--ev-chips: flex;
	--ev-extra: block;
	--ev-actions: flex;
	--ev-pad: var(--rs-ev-pad) 0;
	--ev-border: 1px solid var(--rs-ev-line);
	--ev-bg: transparent;
	--ev-radius: 0;
	--ev-shadow: none;
	--ev-day: clamp(2.4rem, 1.7rem + 2.2vw, 3.75rem);
	--ev-title: var(--rs-fs-h4);
	--ev-colgap: clamp(16px, 3vw, 48px);
	--ev-line: block;
	--ev-date-flow: row;
}

/* Raster/Slider: Karte mit Bild oben */
@media (min-width: 1200px) {
	.rs-l-d-agenda { grid-template-columns: minmax(0, 1fr); gap: 0; }
	.rs-l-d-grid, .rs-l-d-slider { --ev-cols: minmax(0, 1fr); --ev-areas: "media" "date" "body"; --ev-media: block; --ev-arrow: none; --ev-pad: 0; --ev-border: 0; --ev-day: clamp(2rem, 1.6rem + 1vw, 2.6rem); --ev-title: var(--rs-fs-card-title); --ev-colgap: 18px; --ev-line: none; --ev-date-flow: column; }
	.rs-l-d-stack { --ev-cols: minmax(0, 38%) auto minmax(0, 1fr); --ev-areas: "media date body"; --ev-media: block; --ev-arrow: none; --ev-pad: clamp(18px, 2.2vw, 30px); --ev-border: 0; --ev-bg: var(--rs-c-surface); --ev-radius: var(--rs-r-leaf); --ev-shadow: var(--rs-shadow-1); --ev-title: var(--rs-fs-h3); --ev-line: none; }
	.rs-l-d-compact { --ev-cols: 5.2em minmax(0, 1fr) auto; --ev-areas: "date body arrow"; --ev-media: none; --ev-arrow: grid; --ev-chips: none; --ev-extra: none; --ev-actions: none; --ev-pad: 14px 0; --ev-border: 1px solid var(--rs-ev-line); --ev-day: 1.7rem; --ev-title: 1.08rem; --ev-colgap: 16px; }
}
@media (min-width: 768px) and (max-width: 1199px) {
	.rs-l-t-agenda { grid-template-columns: minmax(0, 1fr); gap: 0; }
	.rs-l-t-grid, .rs-l-t-slider { --ev-cols: minmax(0, 1fr); --ev-areas: "media" "date" "body"; --ev-media: block; --ev-arrow: none; --ev-pad: 0; --ev-border: 0; --ev-day: 2.1rem; --ev-title: var(--rs-fs-card-title); --ev-colgap: 16px; --ev-line: none; --ev-date-flow: column; }
	.rs-l-t-stack { --ev-cols: minmax(0, 40%) minmax(0, 1fr); --ev-areas: "media date" "media body"; --ev-media: block; --ev-arrow: none; --ev-pad: 22px; --ev-border: 0; --ev-bg: var(--rs-c-surface); --ev-radius: var(--rs-r-leaf); --ev-shadow: var(--rs-shadow-1); --ev-day: 2.2rem; --ev-title: var(--rs-fs-card-title); --ev-line: none; }
	.rs-l-t-compact { --ev-cols: 5em minmax(0, 1fr) auto; --ev-areas: "date body arrow"; --ev-media: none; --ev-arrow: grid; --ev-chips: none; --ev-extra: none; --ev-actions: none; --ev-pad: 14px 0; --ev-border: 1px solid var(--rs-ev-line); --ev-day: 1.6rem; --ev-title: 1.05rem; --ev-colgap: 14px; }
}
@media (max-width: 767px) {
	.rs-collection { --ev-cols: 4.4em minmax(0, 1fr); --ev-areas: "date body"; --ev-arrow: none; --ev-colgap: 14px; --ev-day: 2.1rem; --ev-title: 1.2rem; }
	.rs-l-m-agenda { grid-template-columns: minmax(0, 1fr); gap: 0; }
	.rs-l-m-grid, .rs-l-m-slider { --ev-cols: minmax(0, 1fr); --ev-areas: "media" "date" "body"; --ev-media: block; --ev-arrow: none; --ev-pad: 0; --ev-border: 0; --ev-day: 1.9rem; --ev-title: var(--rs-fs-card-title); --ev-line: none; --ev-date-flow: column; }
	.rs-l-m-stack { --ev-cols: minmax(0, 1fr); --ev-areas: "media" "date" "body"; --ev-date-flow: column; --ev-media: block; --ev-arrow: none; --ev-pad: 16px; --ev-border: 0; --ev-bg: var(--rs-c-surface); --ev-radius: var(--rs-r-leaf); --ev-shadow: var(--rs-shadow-1); --ev-day: 1.9rem; --ev-title: 1.25rem; --ev-line: none; }
	.rs-l-m-compact { --ev-cols: 3.6em minmax(0, 1fr) auto; --ev-areas: "date body arrow"; --ev-media: none; --ev-arrow: grid; --ev-chips: none; --ev-extra: none; --ev-actions: none; --ev-pad: 13px 0; --ev-border: 1px solid var(--rs-ev-line); --ev-day: 1.5rem; --ev-title: 1rem; --ev-colgap: 12px; }
}

/* ===================================================================== Eintrag */
.rs-ev {
	position: relative;
	display: grid;
	grid-template-columns: var(--ev-cols);
	grid-template-areas: var(--ev-areas);
	column-gap: var(--ev-colgap);
	row-gap: 16px;
	align-items: start;
	padding: var(--ev-pad);
	border-top: var(--ev-border);
	background: var(--ev-bg);
	border-radius: var(--ev-radius);
	box-shadow: var(--ev-shadow);
	color: var(--rs-c-ink);
	isolation: isolate;
	min-width: 0;
}
.rs-collection > .rs-ev:last-of-type { border-bottom: var(--ev-border); }
.rs-ev.has-no-media { --ev-media: none; }
@media (min-width: 1200px) {
	.rs-l-d-grid > .rs-ev.has-no-media, .rs-l-d-slider > .rs-ev.has-no-media { --ev-areas: "date" "body"; }
	.rs-l-d-stack > .rs-ev.has-no-media { --ev-cols: auto minmax(0, 1fr); --ev-areas: "date body"; }
	.rs-l-d-compact .rs-ev__arrow { width: 34px; height: 34px; border-color: transparent; }
}
@media (min-width: 768px) and (max-width: 1199px) {
	.rs-l-t-grid > .rs-ev.has-no-media, .rs-l-t-slider > .rs-ev.has-no-media { --ev-areas: "date" "body"; }
	.rs-l-t-stack > .rs-ev.has-no-media { --ev-cols: auto minmax(0, 1fr); --ev-areas: "date body"; }
	.rs-l-t-compact .rs-ev__arrow { width: 34px; height: 34px; border-color: transparent; }
}
@media (max-width: 767px) {
	.rs-l-m-grid > .rs-ev.has-no-media, .rs-l-m-slider > .rs-ev.has-no-media, .rs-l-m-stack > .rs-ev.has-no-media { --ev-areas: "date" "body"; }
	.rs-l-m-compact .rs-ev__arrow { width: 34px; height: 34px; border-color: transparent; }
}

.rs-ev__date { grid-area: date; min-width: 0; }
.rs-ev .rs-date { grid-auto-flow: var(--ev-date-flow, row); align-items: baseline; justify-content: start; column-gap: .5em; }
.rs-ev .rs-date__day { font-size: var(--ev-day); }
.rs-ev .rs-date__month { white-space: nowrap; }

.rs-ev__media { grid-area: media; display: var(--ev-media); aspect-ratio: var(--rs-ev-ratio); }
.rs-ev__media img { transition: transform 1.2s var(--rs-ease-out); }
.rs-ev:hover .rs-ev__media img { transform: scale(1.035); }

.rs-ev__body { grid-area: body; display: grid; gap: 10px; align-content: start; min-width: 0; }
.rs-ev__title {
	margin: 0;
	font-family: var(--rs-f-display);
	font-size: var(--ev-title);
	font-weight: var(--rs-fw-heading);
	line-height: var(--rs-lh-heading);
	letter-spacing: var(--rs-ls-heading);
	text-wrap: balance;
	overflow-wrap: anywhere;
	color: inherit;
	transition: color var(--rs-dur-fast);
}
.rs-ev__link { color: inherit; text-decoration: none; }
.rs-ev__link::after { content: ""; position: absolute; inset: 0; z-index: 1; border-radius: inherit; }
.rs-ev__link:focus-visible { outline: none; }
.rs-ev:has(.rs-ev__link:focus-visible) { outline: 2px solid var(--rs-c-focus); outline-offset: 4px; }
.rs-ev__actions, .rs-ev__actions a { position: relative; z-index: 2; }

.rs-ev__meta { display: flex; flex-wrap: wrap; gap: 6px 18px; margin: 0; font: 400 var(--rs-fs-small)/1.45 var(--rs-f-ui); color: var(--rs-c-muted); }
.rs-ev__meta > span { display: inline-flex; align-items: flex-start; gap: .45em; min-width: 0; }
.rs-ev__meta .rs-icon { width: 1.15em; height: 1.15em; margin-top: .1em; color: var(--rs-area); }
.rs-ev__chips { display: var(--ev-chips); gap: 6px; }
.rs-ev__chips .rs-chip { padding: .32em .78em; font-size: .8rem; }
.rs-ev__excerpt { display: var(--ev-extra); margin: 2px 0 0; max-width: var(--rs-measure); font-size: var(--rs-fs-body); line-height: var(--rs-lh-body); color: var(--rs-c-ink-soft); }
.rs-ev__actions { display: var(--ev-actions); margin-top: 6px; }

.rs-ev__status { display: inline-flex; align-items: center; gap: .45em; margin: 0; font: 600 .84rem/1.3 var(--rs-f-ui); color: var(--rs-c-error); }
.rs-ev__status .rs-icon { width: 1.1em; height: 1.1em; }
.rs-ev__status--postponed { color: color-mix(in srgb, var(--rs-c-brass) 62%, #000); }
.rs-ev.is-cancelled .rs-ev__title { color: var(--rs-c-muted); text-decoration: line-through; text-decoration-thickness: 1px; }
.rs-ev.is-cancelled .rs-date { opacity: .55; }
.rs-ev.is-past { color: var(--rs-c-ink-soft); }
.rs-ev.is-past .rs-date__month { color: var(--rs-c-muted); }

/* Pfeil + Hover-Linie (Verbindungslinie) */
.rs-ev__arrow {
	grid-area: arrow; align-self: center; display: var(--ev-arrow); place-items: center;
	width: 46px; height: 46px; border-radius: 50%; border: 1px solid var(--rs-c-line); color: var(--rs-c-ink);
	transition: background-color var(--rs-dur-fast), border-color var(--rs-dur-fast), color var(--rs-dur-fast), transform .5s var(--rs-ease-out);
}
.rs-ev__arrow .rs-icon { width: 20px; height: 20px; transition: transform .5s var(--rs-ease-out); }
.rs-ev__line {
	display: var(--ev-line); position: absolute; left: 0; right: 0; top: -1px; height: var(--rs-line-w);
	background: var(--rs-area); transform: scaleX(0); transform-origin: 0 50%;
	transition: transform 1s var(--rs-ease-out); pointer-events: none; z-index: 0;
}
.rs-ev:hover .rs-ev__line, .rs-ev:focus-within .rs-ev__line { transform: scaleX(1); }
.rs-ev:hover .rs-ev__arrow, .rs-ev:focus-within .rs-ev__arrow { background: var(--rs-area); border-color: var(--rs-area); color: #fff; }
.rs-ev:hover .rs-ev__arrow .rs-icon { transform: translateX(3px); }
@media (hover: hover) and (min-width: 1200px) {
	:is(.rs-l-d-agenda, .rs-l-d-compact) > .rs-ev:hover .rs-ev__title { color: var(--rs-area); }
}

/* Stapel: Karten brauchen eine deckende Fläche */
.rs-ev[data-rs-stack-card] { overflow: hidden; }

/* Dunkle Flächen */
.rs-on-dark .rs-ev, .rs-on-dark .rs-ev__title { color: var(--rs-c-on-dark); }
.rs-on-dark .rs-ev .rs-date { color: var(--rs-c-on-dark); }
.rs-on-dark .rs-ev__arrow { color: var(--rs-c-on-dark); border-color: rgb(255 255 255 / .2); }
.rs-on-dark .rs-ev .rs-date__month { color: color-mix(in srgb, var(--rs-area) 45%, #fff); }

/* ===================================================================== RS Nächster Termin */
.rs-evs {
	--rs-evs-media-w: 44%;
	--rs-evs-ratio: 4 / 5;
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, var(--rs-evs-media-w));
	grid-template-areas: "body media";
	gap: clamp(28px, 5vw, 96px);
	align-items: center;
}
.rs-evs--img-left { grid-template-columns: minmax(0, var(--rs-evs-media-w)) minmax(0, 1fr); grid-template-areas: "media body"; }
.rs-evs--img-none, .rs-evs--no-media { grid-template-columns: minmax(0, 1fr); grid-template-areas: "body"; }
.rs-evs__media { grid-area: media; aspect-ratio: var(--rs-evs-ratio); box-shadow: var(--rs-shadow-2); }
.rs-evs__body { grid-area: body; display: grid; gap: clamp(14px, 1.6vw, 22px); justify-items: start; min-width: 0; }
.rs-evs__body .rs-eyebrow { margin: 0; }
.rs-evs__when { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 14px 28px; }
.rs-evs .rs-date__day { font-size: clamp(3.2rem, 2rem + 4vw, 6rem); }
.rs-evs .rs-date__month { font-size: 1rem; }
.rs-evs__meta { display: grid; gap: 6px; margin: 0 0 .5em; font: 400 var(--rs-fs-small)/1.45 var(--rs-f-ui); color: var(--rs-c-muted); }
.rs-evs__meta > span { display: inline-flex; gap: .45em; align-items: flex-start; }
.rs-evs__meta .rs-icon { width: 1.15em; height: 1.15em; color: var(--rs-area); margin-top: .1em; }
.rs-evs__title { overflow-wrap: anywhere; }
.rs-evs__title a { color: inherit; text-decoration: none; background: linear-gradient(var(--rs-area), var(--rs-area)) 0 100% / 0 var(--rs-line-w) no-repeat; transition: background-size .9s var(--rs-ease-out); }
.rs-evs__title a:hover, .rs-evs__title a:focus-visible { background-size: 100% var(--rs-line-w); }
.rs-evs__subtitle, .rs-evs__excerpt { margin: 0; }
.rs-evs__countdown { display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px 22px; padding-top: 18px; border-top: var(--rs-line-w) solid var(--rs-area); font-family: var(--rs-f-ui); }
.rs-evs__count-label { font-size: var(--rs-fs-small); color: var(--rs-c-muted); }
.rs-evs__count { display: inline-flex; align-items: baseline; gap: .35em; }
.rs-evs__count b { font: 300 clamp(1.8rem, 1.3rem + 1.4vw, 2.6rem)/1 var(--rs-f-display); letter-spacing: -0.03em; font-variant-numeric: tabular-nums; }
.rs-evs__count small { font-size: .85rem; color: var(--rs-c-muted); }
.rs-evs.is-cancelled .rs-evs__title { text-decoration: line-through; text-decoration-thickness: 2px; color: var(--rs-c-muted); }
@media (max-width: 767px) {
	.rs-evs, .rs-evs--img-left { grid-template-columns: minmax(0, 1fr); grid-template-areas: "media" "body"; gap: 24px; }
	.rs-evs--img-none, .rs-evs--no-media { grid-template-areas: "body"; }
	.rs-evs__media { aspect-ratio: 4 / 3; }
}
.rs-on-dark .rs-evs .rs-date, .rs-on-dark .rs-evs__count b { color: var(--rs-c-on-dark); }

/* ===================================================================== RS Terminkalender kompakt */
.rs-cal {
	--rs-cal-cell: 46px;
	--rs-cal-sel: var(--rs-c-ink);
	--rs-cal-today: var(--rs-area);
	position: relative;
}
.rs-cal > .rs-heading { margin-bottom: clamp(20px, 3vw, 36px); }
.rs-cal__body { display: grid; grid-template-columns: minmax(0, auto) minmax(0, 1fr); grid-template-areas: "head head" "grid panel"; gap: 22px clamp(24px, 4vw, 64px); align-items: start; transition: opacity var(--rs-dur-fast); }
.rs-cal.is-loading .rs-cal__body { opacity: .5; }
.rs-cal__head { grid-area: head; display: flex; align-items: center; justify-content: space-between; gap: 14px; }
.rs-cal__month { margin: 0; font: var(--rs-fw-heading) var(--rs-fs-h4)/1.2 var(--rs-f-display); letter-spacing: var(--rs-ls-heading); }
.rs-cal__nav { display: flex; align-items: center; gap: 8px; }
.rs-cal__nav .rs-icon-btn .rs-icon { width: 20px; height: 20px; }
.rs-cal__today { text-decoration: none; }

.rs-cal__grid { grid-area: grid; display: grid; gap: 4px; }
.rs-cal__row { display: grid; grid-template-columns: repeat(7, var(--rs-cal-cell)); gap: 4px; }
.rs-cal__wd { display: grid; place-items: center; height: 28px; font: 500 .78rem/1 var(--rs-f-ui); color: var(--rs-c-muted); }
.rs-cal__wd abbr { text-decoration: none; }
.rs-cal__cell { display: block; min-width: 0; }
.rs-cal .rs-cal__cell > button.rs-cal__day {
	all: unset; box-sizing: border-box; position: relative; display: grid; place-items: center;
	width: var(--rs-cal-cell); height: var(--rs-cal-cell); border-radius: 50%;
	font: 400 .95rem/1 var(--rs-f-ui); color: var(--rs-c-ink-soft); cursor: default;
	font-variant-numeric: tabular-nums; transition: background-color var(--rs-dur-fast), color var(--rs-dur-fast);
}
.rs-cal .rs-cal__cell.is-past > button.rs-cal__day { color: var(--rs-c-muted); }
.rs-cal .rs-cal__cell.has-events > button.rs-cal__day { color: var(--rs-c-ink); font-weight: 600; cursor: pointer; }
.rs-cal .rs-cal__cell.has-events > button.rs-cal__day:hover { background: color-mix(in srgb, var(--rs-area) 12%, transparent); }
.rs-cal .rs-cal__cell.is-today > button.rs-cal__day { box-shadow: inset 0 0 0 1.5px var(--rs-cal-today); }
.rs-cal .rs-cal__cell[aria-selected="true"] > button.rs-cal__day { background: var(--rs-cal-sel); color: var(--rs-c-paper); }
.rs-cal .rs-cal__cell > button.rs-cal__day:focus-visible { outline: 2px solid var(--rs-c-focus); outline-offset: 2px; }
.rs-cal__dots { position: absolute; left: 50%; bottom: 6px; display: flex; gap: 3px; transform: translateX(-50%); }
.rs-cal__dots i { width: 5px; height: 5px; border-radius: 50%; background: var(--rs-area); }
.rs-cal__cell[aria-selected="true"] .rs-cal__dots i { box-shadow: 0 0 0 1px var(--rs-c-paper); }

.rs-cal__panel { grid-area: panel; min-width: 0; }
.rs-cal--js .rs-cal__daylist:not(.is-active) { display: none; }
.rs-cal:not(.rs-cal--js) .rs-cal__daylist--none { display: none; }
.rs-cal__daylist + .rs-cal__daylist { margin-top: 22px; }
.rs-cal--js .rs-cal__daylist + .rs-cal__daylist { margin-top: 0; }
.rs-cal__daytitle, .rs-cal__weektitle { margin: 0 0 6px; font: 500 var(--rs-fs-small)/1.3 var(--rs-f-ui); color: var(--rs-area); }
.rs-cal__none, .rs-cal__empty p { margin: 0; color: var(--rs-c-ink-soft); }
.rs-cal__empty { display: grid; gap: 12px; justify-items: start; padding-top: 6px; }
.rs-cal .rs-collection { --rs-ev-date-w: 3.2em; }
.rs-cal__panel .rs-ev .rs-date__day { font-size: 1.15rem; }
.rs-cal__weeks { display: none; }
.rs-cal__week + .rs-cal__week { margin-top: 26px; }
.rs-cal__all { margin-top: clamp(20px, 3vw, 32px); }

/* Schmale Spalte (z. B. Seitenleiste): Liste unter das Raster – unabhängig vom Gerät */
.rs-cal { container-type: inline-size; }
@container (max-width: 760px) {
	.rs-cal__body { grid-template-columns: minmax(0, 1fr); grid-template-areas: "head" "grid" "panel"; }
}
@media (max-width: 1199px) {
	.rs-cal__body { grid-template-columns: minmax(0, 1fr); grid-template-areas: "head" "grid" "panel"; }
	.rs-cal__grid { justify-self: start; }
}
@media (max-width: 767px) {
	.rs-cal { --rs-cal-cell: min(44px, calc((100vw - 2 * var(--rs-gutter) - 24px) / 7)); }
	.rs-cal--m-week .rs-cal__grid, .rs-cal--m-week .rs-cal__panel { display: none; }
	.rs-cal--m-week .rs-cal__weeks { display: block; }
	.rs-cal--m-week .rs-cal__body { grid-template-areas: "head" "weeks"; }
	.rs-cal__weeks { grid-area: weeks; }
	.rs-cal--m-grid .rs-cal__body { grid-template-areas: "head" "grid" "panel"; }
	.rs-cal__dots { bottom: 4px; }
	.rs-cal__dots i { width: 4px; height: 4px; }
}
.rs-on-dark .rs-cal .rs-cal__cell > button.rs-cal__day { color: var(--rs-c-on-dark); }
.rs-on-dark .rs-cal .rs-cal__cell[aria-selected="true"] > button.rs-cal__day { background: var(--rs-c-on-dark); color: var(--rs-c-ink); }

/* ===================================================================== Veranstaltungsseite (RS-Look) */
.rs-events-page { padding-block: clamp(48px, 7vw, 120px) var(--rs-section); }
.rs-events-archive__head { margin-bottom: clamp(32px, 5vw, 72px); max-width: 960px; }
.rs-events-archive .rs-ev-list { --rs-ev-date-w: clamp(84px, 9vw, 150px); }
.rs-events-archive__past { margin-top: clamp(56px, 8vw, 128px); }
.rs-events-archive__past > .rs-title { margin-bottom: clamp(16px, 2vw, 28px); }
.rs-events-archive [data-rs-filter-empty] { margin-top: 18px; }
.rs-ev-cta { padding-block: clamp(24px, 4vw, 56px); }
.rs-events-single { padding-block: 0; }

@media (prefers-reduced-motion: reduce) {
	.rs-ev__line, .rs-ev__media img, .rs-ev__arrow, .rs-ev__arrow .rs-icon, .rs-evs__title a { transition: none; }
}
