/**
 * mod_eventday – Carousel
 *
 * Selbst gehostet, keine externen Quellen. Zwei Events gleichzeitig sichtbar,
 * horizontal scrollbar (Scroll-Snap). Hell = Heide Park World, Dunkel = Boo-Crew.
 */

@font-face {
	font-family: "Oswald";
	font-style: normal;
	font-weight: 200 700;
	font-display: swap;
	src: url("../fonts/oswald-var-latin.woff2") format("woff2");
}

.edmod {
	/* Helles Theme (Heide Park World) */
	--ed-accent: #0057a8;
	--ed-accent-ink: #ffffff;
	--ed-accent-grad: linear-gradient(135deg, #0057a8 0%, #0077cc 100%);
	--ed-accent-soft: rgba(0, 87, 168, .4);
	--ed-ring: rgba(0, 87, 168, .15);
	--ed-ink: #212529;
	--ed-muted: #6c757d;
	--ed-line: #dee2e6;
	--ed-surface: #ffffff;
	--ed-surface-2: #f0f4f8;
	--ed-radius: 8px;
	--ed-shadow: 0 1px 4px rgba(0, 0, 0, .08);
	--ed-shadow-hover: 0 2px 10px rgba(0, 0, 0, .10), 0 14px 32px rgba(0, 0, 0, .08);
	--ed-font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
	--ed-font-head: var(--ed-font);

	color: var(--ed-ink);
	font-family: var(--ed-font);
}
.edmod *,
.edmod *::before,
.edmod *::after { box-sizing: border-box; }

/* Dunkles Theme (Boo-Crew) */
.edmod--dark {
	--ed-accent: #fc9300;
	--ed-accent-ink: #111111;
	--ed-accent-grad: linear-gradient(135deg, #fc9300, #e65c00);
	--ed-accent-soft: rgba(252, 147, 0, .4);
	--ed-ring: rgba(252, 147, 0, .15);
	--ed-ink: #e2e2e2;
	--ed-muted: #8a8a8a;
	--ed-line: #2a2a2a;
	--ed-surface: #1a1a1a;
	--ed-surface-2: #222222;
	--ed-radius: 10px;
	--ed-shadow: 0 1px 2px rgba(0, 0, 0, .5), 0 10px 30px rgba(0, 0, 0, .45);
	--ed-shadow-hover: 0 2px 4px rgba(0, 0, 0, .6), 0 18px 44px rgba(0, 0, 0, .6);
	--ed-font-head: "Oswald", var(--ed-font);
}

.edmod__wrap { position: relative; }

.edmod__track {
	display: flex;
	gap: 1rem;
	margin: 0;
	padding: 0 0 .25rem;
	list-style: none;
	overflow-x: auto;
	overscroll-behavior-x: contain;
	-webkit-overflow-scrolling: touch;
	scroll-snap-type: x mandatory;
	scrollbar-width: thin;
}

/* Mobil größere Karten (eine plus Anschnitt), ab 600px zwei gleichzeitig. */
.edmod__card {
	flex: 0 0 80%;
	scroll-snap-align: start;
}
@media (min-width: 600px) {
	.edmod__card { flex-basis: calc(50% - .5rem); }
}

.edmod__link {
	display: block;
	height: 100%;
	text-decoration: none;
	color: inherit;
	background: var(--ed-surface);
	border: 1px solid var(--ed-line);
	border-radius: var(--ed-radius);
	box-shadow: var(--ed-shadow);
	overflow: hidden;
	transition: border-color .15s, box-shadow .15s, transform .15s;
}
.edmod__link:hover,
.edmod__link:focus {
	text-decoration: none;
	border-color: var(--ed-accent-soft);
	box-shadow: 0 0 0 1px var(--ed-ring), var(--ed-shadow-hover);
	transform: translateY(-2px);
}

.edmod__media { overflow: hidden; }
.edmod__img {
	width: 100%;
	aspect-ratio: 16 / 9;
	object-fit: cover;
	display: block;
	background: var(--ed-surface-2);
	transition: transform .3s ease;
}
.edmod__link:hover .edmod__img { transform: scale(1.04); }

.edmod__body {
	display: flex;
	gap: .7rem;
	padding: .75rem .85rem 1rem;
}

.edmod__stamp {
	flex: 0 0 auto;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	width: 3rem;
	height: 3rem;
	border-radius: var(--ed-radius);
	background: var(--ed-accent-grad);
	color: var(--ed-accent-ink);
	line-height: 1;
}
.edmod__stamp-day { font-size: 1.3rem; font-weight: 700; }
.edmod__stamp-mon {
	font-size: .6rem;
	text-transform: uppercase;
	letter-spacing: .08em;
	opacity: .85;
	margin-top: .12rem;
}

.edmod__text { min-width: 0; }
.edmod__range {
	align-self: flex-start;
	display: inline-block;
	margin-bottom: .35rem;
	background: var(--ed-accent-grad);
	color: var(--ed-accent-ink);
	font-size: .68rem; font-weight: 700;
	text-transform: uppercase; letter-spacing: .05em;
	padding: .25rem .55rem; border-radius: 999px;
}
.edmod__title {
	font-family: var(--ed-font-head);
	font-size: 1rem;
	font-weight: 700;
	line-height: 1.2;
	margin: 0 0 .2rem;
	color: var(--ed-ink);
}
.edmod__loc {
	font-size: .82rem;
	color: var(--ed-muted);
	margin: 0;
}
.edmod__pin {
	display: inline-block;
	width: .55rem; height: .55rem;
	margin-right: .25rem;
	border: 2px solid currentColor;
	border-radius: 50% 50% 50% 0;
	transform: rotate(-45deg);
	vertical-align: middle;
}

/* Vor/Zurück-Pfeile (nur mit JS, blenden sich am Rand aus). */
.edmod__nav {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	z-index: 2;
	width: 2.2rem; height: 2.2rem;
	display: flex; align-items: center; justify-content: center;
	border: 1px solid var(--ed-line);
	border-radius: 50%;
	background: var(--ed-surface);
	color: var(--ed-ink);
	box-shadow: var(--ed-shadow);
	cursor: pointer;
	font-size: 1.4rem; line-height: 1; padding: 0;
}
.edmod__nav:hover { border-color: var(--ed-accent-soft); }
.edmod__nav--prev { left: -.5rem; }
.edmod__nav--next { right: -.5rem; }
.edmod__nav[hidden] { display: none; }

@media (prefers-reduced-motion: reduce) {
	.edmod__link,
	.edmod__img { transition: none; }
	.edmod__link:hover { transform: none; }
	.edmod__link:hover .edmod__img { transform: none; }
}

@media (min-width: 768px) {
	.edmod__title { font-size: 1.05rem; }
	.edmod__stamp { width: 3.2rem; height: 3.2rem; }
}
