/* Neverland Events – Termine · Echoes-of-Neverland-Skin
 * Alle Farben als CSS-Variablen (zentral skinnbar). Scope: .nev-termine
 */
.nev-termine {
	--eon-bg:        #0A0A0A;
	--eon-card:      #0C0C0C;
	--eon-card-feat: #0D0D0F;
	--eon-gold:      #DDB880;
	--eon-gold-ink:  #1A1408;
	--eon-bone:      #E7E7E2;
	--eon-bone-rgb:  231 231 226;
	--eon-gold-rgb:  221 184 128;
	--eon-border:    rgba(231, 231, 226, .10);
	--eon-serif:     'Newsreader', Georgia, serif;
	--eon-sans:      'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;

	/* Widget-Container bewusst OHNE Hintergrund (die Kacheln tragen ihren eigenen).
	 * Ein Hintergrund lässt sich bei Bedarf über den nativen Elementor-Style-Control
	 * „Container → Hintergrund" setzen. --eon-bg bleibt als Skin-Referenz erhalten. */
	border-radius: 14px;
	padding: 30px 28px;
	box-sizing: border-box;
}
.nev-termine *,
.nev-termine *::before,
.nev-termine *::after { box-sizing: border-box; }

/* Sektions-Label */
.nev-termine__label {
	font-family: var(--eon-sans);
	font-size: 11px;                /* min 11px (a11y §6) */
	letter-spacing: .22em;
	text-transform: uppercase;
	color: rgb(var(--eon-bone-rgb) / .5);
	margin: 0 0 18px;
}

/* Karten-Liste */
.nev-termine__list { display: flex; flex-direction: column; gap: 16px; }

/* Karte */
.nev-card {
	background: var(--eon-card);
	border: .5px solid var(--eon-border);
	border-radius: 12px;
	padding: 24px 26px;
	margin: 0;
}
.nev-row { display: flex; gap: 24px; flex-wrap: wrap; align-items: flex-start; }

/* Datumsblock */
.nev-date { min-width: 76px; text-align: center; }
.nev-day {
	font-family: var(--eon-serif);
	font-size: 42px;
	font-weight: 300;
	line-height: 1;
	color: var(--eon-bone);
}
.nev-sub {
	font-family: var(--eon-sans);
	font-size: 11px;
	letter-spacing: .22em;
	text-transform: uppercase;
	color: rgb(var(--eon-bone-rgb) / .45);
	margin-top: 6px;
}

/* Inhalt */
.nev-body { flex: 1; min-width: 320px; }
.nev-tag {
	font-family: var(--eon-sans);
	font-size: 11px;
	letter-spacing: .22em;
	text-transform: uppercase;
	color: rgb(var(--eon-bone-rgb) / .55);
	margin: 0 0 10px;
}
.nev-tag:empty { display: none; }
.nev-title {
	font-family: var(--eon-serif);
	font-size: 26px;
	font-weight: 300;
	line-height: 1.1;
	color: var(--eon-bone);
	margin: 0 0 8px;
}
.nev-line {
	font-family: var(--eon-serif);
	font-style: italic;
	font-size: 15px;
	line-height: 1.5;
	color: rgb(var(--eon-bone-rgb) / .65);
	max-width: 520px;
	margin: 0 0 20px;
}
.nev-line:empty { display: none; }

/* Countdown (zwischen Fließzeile und Button) */
.nev-card.has-cd .nev-line { margin-bottom: 14px; }
.nev-cd {
	display: flex;
	gap: 22px;
	margin: 0 0 18px;
	min-height: 46px;            /* Platz reservieren -> kein Layout-Shift */
}
.nev-cd__cell { text-align: left; }
.nev-cd__num {
	font-family: var(--eon-serif);
	font-size: 30px;
	font-weight: 300;
	line-height: 1;
	color: var(--eon-bone);
	font-variant-numeric: tabular-nums;
}
.nev-cd__lbl {
	font-family: var(--eon-sans);
	font-size: 11px;
	letter-spacing: .22em;
	text-transform: uppercase;
	color: rgb(var(--eon-gold-rgb) / .7);
	margin-top: 6px;
}

/* CTA — immer unten drunter, nie seitlich */
.nev-cta {
	display: inline-block;
	background: var(--eon-gold);
	color: var(--eon-gold-ink);
	font-family: var(--eon-serif);
	font-size: 15px;
	line-height: 1;
	text-decoration: none;
	padding: 11px 22px;
	border-radius: 3px;
}
.nev-cta:hover, .nev-cta:focus-visible { filter: brightness(1.06); color: var(--eon-gold-ink); }

/* Featured-Zustand */
.nev-card.nev-featured {
	background: var(--eon-card-feat);
	border-left: 2px solid var(--eon-gold);
	border-radius: 0 12px 12px 0;
}
.nev-card.nev-featured .nev-day  { font-size: 52px; color: var(--eon-gold); }
.nev-card.nev-featured .nev-tag  { color: var(--eon-gold); }
.nev-card.nev-featured .nev-title { font-size: 32px; }

/* Responsive ≤640px: Datum + Inhalt untereinander */
@media (max-width: 640px) {
	.nev-row { flex-direction: column; gap: 16px; }
	.nev-date { text-align: left; min-width: 0; }
	.nev-body { min-width: 0; }
	.nev-cd { flex-wrap: wrap; gap: 16px 22px; }
}

/* Reduced motion: kein Flackern beim Tick */
@media (prefers-reduced-motion: reduce) {
	.nev-cd__num { transition: none; }
}
