@import url('https://fonts.googleapis.com/css2?family=Anton&family=Bungee&display=swap');
/* For best performance, enqueue these fonts in functions.php instead of
   @import, and add <link rel="preconnect" href="https://fonts.gstatic.com">.
   Fallbacks below keep both themes readable if the fonts don't load. */

/* ============================================================
   BASE — shared structure for livestream.php / livestream.js
   ============================================================ */
.ls {
	position: relative;
	max-width: 980px;
	margin: 2rem auto;
	overflow: hidden;
	font-family: inherit;
	border: 2px solid rgba(255, 255, 255, .12);
	border-radius: 12px;
	background: #0d0d10;
	color: #f5f5f4;
}

/* status bar */
.ls-bar {
	display: flex;
	align-items: center;
	gap: .6rem;
	padding: .7rem 1rem;
	border-bottom: 1px solid rgba(255, 255, 255, .06);
	font-size: .82rem;
	letter-spacing: .04em;
}
.ls-dot { width: .6rem; height: .6rem; border-radius: 50%; background: #666; flex: 0 0 auto; }
.ls-title { font-weight: 800; }
.ls-where { opacity: .7; }

.ls-status > span {
	display: none;
	text-transform: uppercase;
	font-weight: 800;
	letter-spacing: .08em;
}
.ls.is-live    .ls-status-live  { display: inline; }
.ls.is-preshow .ls-status-soon  { display: inline; opacity: .85; }
.ls.is-upcoming .ls-status-next { display: inline; opacity: .75; }
.ls.is-ended   .ls-status-next  { display: inline; opacity: .55; }
.ls.is-live .ls-dot { animation: ls-pulse 1.2s infinite; }
@keyframes ls-pulse {
	0%, 100% { opacity: 1;   transform: scale(1); }
	50%      { opacity: .35; transform: scale(.7); }
}

/* 16:9 stage */
.ls-stage { position: relative; aspect-ratio: 16 / 9; background: #000; }
.ls-video {
	position: absolute; inset: 0;
	width: 100%; height: 100%;
	border: 0; object-fit: contain; background: #000;
}
iframe.ls-video { opacity: 0; transition: opacity .4s ease; }
iframe.ls-video.is-on { opacity: 1; }

/* hosted-player iframe (Vimeo / YouTube / Twitch) */
.ls-embed-host {
	position: absolute; inset: 0; z-index: 1;
	opacity: 0; transition: opacity .4s ease;
}
.ls-embed-host.is-on { opacity: 1; }
.ls-embed-host iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }

/* poster / countdown overlay */
.ls-poster {
	position: absolute; inset: 0;
	display: grid; place-items: center; text-align: center;
	overflow: hidden;
	transition: opacity .4s ease;
}
.ls-poster.is-hidden { opacity: 0; pointer-events: none; }
.ls-poster-inner { position: relative; z-index: 2; padding: 1rem; }
.ls-kicker {
	font-size: .8rem; letter-spacing: .14em; text-transform: uppercase;
	font-weight: 700; opacity: .9;
}
.ls-countdown {
	font-size: clamp(2.4rem, 8vw, 4.4rem);
	line-height: 1; font-weight: 900;
	font-variant-numeric: tabular-nums;
	margin: .35rem 0;
}
.ls-poster-sub { opacity: .8; font-size: .95rem; }

/* unmute */
.ls-unmute {
	position: absolute; left: 1rem; bottom: 1rem; z-index: 3;
	background: rgba(0, 0, 0, .65); color: #fff;
	border: 1px solid rgba(255, 255, 255, .25); border-radius: 999px;
	padding: .5rem .9rem; font: inherit; font-size: .85rem; cursor: pointer;
}

/* footer */
.ls-foot { padding: .7rem 1rem; border-top: 1px solid rgba(255, 255, 255, .06); font-size: .85rem; }
.ls-cta  { text-decoration: none; font-weight: 700; }

/* ============================================================
   THEME 1 — WATER FIGHTS (Jun 11): retro / vintage cartoon
   kraft + muted teal, gold, navy, halftone sunburst
   ============================================================ */
.ls--waterfights {
	border-color: rgba(227, 169, 58, .6);
	border-radius: 18px;
	background: #15233f;
	color: #efe3c2;
}
.ls--waterfights .ls-bar { background: #15233f; color: #efe3c2; border-bottom-color: rgba(227, 169, 58, .35); }
.ls--waterfights .ls-dot { background: #e3a93a; }
.ls--waterfights.is-live .ls-dot { background: #c4382b; }
.ls--waterfights .ls-status-live { color: #c4382b; }
.ls--waterfights .ls-cta { color: #e3a93a; }
.ls--waterfights .ls-kicker { color: #e3a93a; }
.ls--waterfights .ls-poster-sub { color: #efe3c2; }

.ls--waterfights .ls-poster {
	/* halftone dots over a cream radial base */
	background-image:
		radial-gradient(rgba(21, 35, 63, .22) 1px, transparent 1.5px),
		radial-gradient(circle at 50% 42%, #7fb3c2, #2f5366 72%);
	background-size: 7px 7px, auto;
}
.ls--waterfights .ls-poster::before {        /* rotating sunburst */
	content: "";
	position: absolute; inset: -60%;
	z-index: 1;
	background: repeating-conic-gradient(from 0deg at 50% 50%,
		rgba(239, 227, 194, .0) 0deg 6deg,
		rgba(239, 227, 194, .28) 6deg 12deg);
	animation: ls-spin 48s linear infinite;
}
.ls--waterfights .ls-countdown {
	font-family: 'Bungee', 'Arial Black', sans-serif;
	color: #f3ead0;
	text-shadow: 3px 3px 0 #15233f, 6px 6px 0 rgba(196, 56, 43, .6);
}
.ls--waterfights .ls-title { font-family: 'Bungee', 'Arial Black', sans-serif; }

@keyframes ls-spin { to { transform: rotate(360deg); } }

/* ============================================================
   THEME 2 — LIVE EV BURN (Jun 12): industrial FCL-X
   black + acid green, hot red, fire glow, condensed caps
   ============================================================ */
.ls--evburn {
	border-color: rgba(166, 226, 46, .4);
	border-radius: 5px;
	background: #0a0a0b;
	color: #e9f5d6;
}
.ls--evburn .ls-bar { background: #0a0a0b; color: #e9f5d6; border-bottom-color: rgba(166, 226, 46, .3); }
.ls--evburn .ls-dot { background: #a6e22e; }
.ls--evburn.is-live .ls-dot { background: #ef3e2e; }
.ls--evburn .ls-status-live { color: #ef3e2e; }
.ls--evburn .ls-cta { color: #a6e22e; }
.ls--evburn .ls-kicker { color: #a6e22e; }

.ls--evburn .ls-poster {
	background:
		radial-gradient(120% 85% at 50% 118%, rgba(239, 62, 46, .55), rgba(239, 62, 46, 0) 60%),
		radial-gradient(90% 70% at 50% 122%, rgba(255, 150, 40, .5), rgba(255, 150, 40, 0) 55%),
		radial-gradient(circle at 50% 38%, rgba(166, 226, 46, .12), #050506 72%);
}
.ls--evburn .ls-poster::before {            /* flickering ember glow */
	content: "";
	position: absolute; inset: 0; z-index: 1;
	background: radial-gradient(80% 50% at 50% 115%, rgba(255, 90, 20, .55), transparent 60%);
	animation: ls-flicker 3.2s ease-in-out infinite;
}
.ls--evburn .ls-countdown {
	font-family: 'Anton', 'Oswald', 'Impact', sans-serif;
	text-transform: uppercase; letter-spacing: .03em;
	color: #fff;
	text-shadow: 0 0 18px rgba(239, 62, 46, .65);
}
.ls--evburn .ls-title { font-family: 'Anton', 'Oswald', 'Impact', sans-serif; text-transform: uppercase; }

@keyframes ls-flicker {
	0%, 100% { opacity: .85; }
	45%      { opacity: 1; }
	60%      { opacity: .7; }
}

/* ---- accessibility ---- */
@media (prefers-reduced-motion: reduce) {
	.ls.is-live .ls-dot,
	.ls--waterfights .ls-poster::before,
	.ls--evburn .ls-poster::before { animation: none; }
}
