/* Livecams-Übersicht (Vorschau/livecams.html) */

.wiesn-livecams-page {
	width: 100%;
	max-width: 100%;
	overflow-x: clip;
}

.wiesn-livecams-hero__overlay {
	background:
		radial-gradient(circle at center, #fff 0%, rgba(255, 255, 255, 0.99) 26%, rgba(255, 255, 255, 0.84) 48%, rgba(255, 255, 255, 0.48) 68%, rgba(255, 255, 255, 0.18) 84%, rgba(255, 255, 255, 0) 100%),
		linear-gradient(to bottom, rgba(255, 255, 255, 0) 48%, rgba(255, 255, 255, 0.45) 72%, rgba(255, 255, 255, 0.82) 90%, #fff 100%);
}

/* Kein starker Floating-Schatten auf Karten */
.wiesn-livecams-card,
.wiesn-livecams-card__preview,
.wiesn-livecams-card__banner {
	box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05) !important;
	transform: none !important;
}

.wiesn-livecams-card:hover,
.wiesn-livecams-card__preview:hover,
.wiesn-livecams-card__banner:hover {
	box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05) !important;
	transform: none !important;
}

.wiesn-livecams-card__preview .rounded-full {
	box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -4px rgba(0, 0, 0, 0.1) !important;
	transform: none !important;
}

.wiesn-livecams-card__preview .rounded-full:hover {
	transform: scale(1.1) !important;
}

.wiesn-livecams-card__live-badge {
	position: absolute;
	top: 1rem;
	left: 1rem;
	z-index: 12;
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	padding: 0.375rem 0.75rem;
	border-radius: 0.25rem;
	background: #dc2626;
	color: #fff;
	font-size: 0.75rem;
	font-weight: 600;
	letter-spacing: 0.08em;
	line-height: 1;
	text-transform: uppercase;
	backdrop-filter: blur(8px);
	-webkit-backdrop-filter: blur(8px);
	animation: livecamOverviewBadgePulse 1.4s infinite;
	pointer-events: none;
}

.wiesn-livecams-card__live-dot {
	width: 0.625rem;
	height: 0.625rem;
	border-radius: 9999px;
	background: #fff;
	animation: livecamOverviewDotPing 1.4s infinite;
}

@keyframes livecamOverviewBadgePulse {
	0%,
	100% {
		opacity: 1;
	}
	50% {
		opacity: 0.82;
	}
}

@keyframes livecamOverviewDotPing {
	0% {
		box-shadow: 0 0 0 0 rgba(255, 255, 255, 0.85);
	}
	70% {
		box-shadow: 0 0 0 8px rgba(255, 255, 255, 0);
	}
	100% {
		box-shadow: 0 0 0 0 rgba(255, 255, 255, 0);
	}
}

/*
 * Livecam-Übersicht: Abstand Hero-Text → Kameras.
 * Oben wie News (py-28 sm:py-32 + subpage-mobile-spacing), unten separat enger als py-*.
 */
#wiesn-livecams .wiesn-livecams-hero {
	padding-bottom: clamp(1.75rem, 5vw, 2.75rem) !important;
}

#wiesn-livecams .wiesn-livecams-hero + .wiesn-livecams-overview-grid {
	position: relative;
	z-index: 2;
	margin-top: 0 !important;
	padding-top: clamp(1.5rem, 4vw, 2.5rem) !important;
	padding-bottom: clamp(2rem, 5vw, 3rem);
}

@media (min-width: 640px) {
	#wiesn-livecams .wiesn-livecams-hero {
		padding-bottom: clamp(2rem, 5vw, 3.25rem) !important;
	}

	#wiesn-livecams .wiesn-livecams-hero + .wiesn-livecams-overview-grid {
		padding-top: clamp(2rem, 5vw, 3rem) !important;
	}
}

@media (min-width: 1024px) {
	#wiesn-livecams .wiesn-livecams-hero {
		padding-bottom: clamp(2.25rem, 5vw, 3.5rem) !important;
	}

	#wiesn-livecams .wiesn-livecams-hero + .wiesn-livecams-overview-grid {
		padding-top: clamp(2.25rem, 5vw, 3.25rem) !important;
	}
}

/* Banner unter Kamera auf Livecam-Detailseiten */
.wiesn-livecam-banner {
	width: 100%;
	padding: clamp(1.5rem, 4vw, 2.5rem) 0 clamp(2rem, 5vw, 3rem);
	box-sizing: border-box;
}

.wiesn-livecam-banner__link,
.wiesn-livecam-banner__image {
	box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
}

/* Übersicht: minimaler Abstand Vorschau → Banner (kein Detail-Padding) */
.wiesn-livecams-card__banner-wrap.wiesn-livecam-banner {
	padding: 0;
	margin-top: 0.25rem;
}

.wiesn-livecams-card__banner-wrap .wiesn-home-container {
	padding-left: 0;
	padding-right: 0;
	max-width: none;
}

.wiesn-livecams-card__banner-wrap .wiesn-livecam-banner__link {
	aspect-ratio: 747 / 136;
	border-radius: 0.75rem;
}

.wiesn-livecams-card__banner-wrap .wiesn-livecam-banner__link,
.wiesn-livecams-card__banner-wrap .wiesn-livecam-banner__image,
.wiesn-livecams-card__banner-wrap .wiesn-livecam-banner__link:hover,
.wiesn-livecams-card__banner-wrap .wiesn-livecam-banner__image:hover {
	box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05) !important;
	transform: none !important;
}

.wiesn-livecams-page__partners {
	padding-top: 0 !important;
}

.wiesn-livecams-page .wiesn-partner-banners__link {
	box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05) !important;
	transform: none !important;
}

.wiesn-livecams-page .wiesn-partner-banners__link:hover {
	box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -2px rgba(0, 0, 0, 0.1) !important;
	transform: none !important;
}

/* News-Slider: Pfeile wie auf der Startseite */
.wiesn-livecams-news .wiesn-news-slider__nav,
.wiesn-livecams-news .wiesn-news-slider__nav:hover {
	transform: translateY(-50%) !important;
}

.wiesn-livecams-news .wiesn-news-slider__nav--prev {
	left: 0;
}

@media (min-width: 768px) {
	.wiesn-livecams-news .wiesn-news-slider__nav--prev {
		left: 0.5rem;
	}
}

.wiesn-livecams-news .wiesn-news-slider__nav--next {
	right: 0;
}

@media (min-width: 768px) {
	.wiesn-livecams-news .wiesn-news-slider__nav--next {
		right: 0.5rem;
	}
}

@media (min-width: 1024px) {
	.wiesn-livecams-news .wiesn-news-slider__nav--prev {
		left: -2rem;
	}

	.wiesn-livecams-news .wiesn-news-slider__nav--next {
		right: -2rem;
	}
}
