/* Dockside Live: LIVE badges on the stream block and in the Clan / Stream switch. */

/* Live status on the stream block (Docklands or a guest streamer). */
.dockside-stream__badges {
	display: flex;
	gap: 0.5rem;
	align-items: center;
	justify-content: center;
	margin-block-end: 0.25rem;
}

.dockside-stream__live,
.dockside-stream__guest {
	display: inline-flex;
	gap: 0.45rem;
	align-items: center;
	padding: 0.3rem 0.75rem;
	border-radius: 999px;
	font-family: var(--dockside-mono);
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.dockside-stream__live {
	background: #e5383b;
	color: #fff;
	box-shadow: 0 0 0 0 rgba(229, 56, 59, 0.6);
	animation: dockside-live-pulse 1.6s ease-out infinite;
}

.dockside-stream__dot {
	width: 0.5rem;
	height: 0.5rem;
	border-radius: 50%;
	background: #fff;
	animation: dockside-live-blink 1.2s linear infinite;
}

.dockside-stream__guest {
	border: 1px solid var(--wp--preset--color--line);
	color: var(--wp--preset--color--muted);
}

.dockside-stream__title {
	max-width: 26rem;
	overflow: hidden;
	font-size: 0.9rem;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.dockside-stream.is-live .dockside-stream__frame {
	border-color: #e5383b;
}

.dockside-stream.is-live .dockside-stream__play {
	background: #e5383b;
}

@keyframes dockside-live-blink {
	0%, 55% { opacity: 1; }
	60%, 100% { opacity: 0.15; }
}

@keyframes dockside-live-pulse {
	0% { box-shadow: 0 0 0 0 rgba(229, 56, 59, 0.6); }
	70% { box-shadow: 0 0 0 0.6rem rgba(229, 56, 59, 0); }
	100% { box-shadow: 0 0 0 0 rgba(229, 56, 59, 0); }
}

@media (prefers-reduced-motion: reduce) {
	.dockside-stream__live {
		animation: none;
	}
}

/* LIVE marker in the Clan / Stream switch. */
.dockside-switch__tab[data-live] {
	display: inline-flex;
	gap: 0.5rem;
	align-items: center;
}

.dockside-switch__live {
	display: inline-flex;
	gap: 0.3rem;
	align-items: center;
	padding: 0.15rem 0.45rem;
	border-radius: 999px;
	background: #e5383b;
	color: #fff;
	font-family: var(--dockside-mono);
	font-size: 0.625rem;
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: 0.12em;
	animation: dockside-live-pulse 1.6s ease-out infinite;
}

.dockside-switch__dot {
	width: 0.4rem;
	height: 0.4rem;
	border-radius: 50%;
	background: #fff;
	animation: dockside-live-blink 1.2s linear infinite;
}

@media (prefers-reduced-motion: reduce) {
	.dockside-switch__live {
		animation: none;
	}
}

/* Live block: keep badges and title at full height inside the 16:9 box. */
.dockside-stream__badges,
.dockside-stream__title {
	flex-shrink: 0;
}

.dockside-stream__title {
	display: block;
	max-width: min(26rem, 90%);
	line-height: 1.4;
	color: var(--wp--preset--color--muted);
}

/* Guest streamer picture in place of the Docklands logo. */
.dockside-hero__art.dx-guest-avatar {
	display: flex;
	flex-direction: column;
	gap: 0.9rem;
	align-items: center;
	margin-inline: auto;
	margin-block-end: 0;
}

.dx-guest-avatar__ring {
	display: block;
	width: min(16rem, 100%);
}

.dx-guest-avatar__ring a {
	display: block;
	overflow: hidden;
	aspect-ratio: 1;
	border-radius: 50%;
	box-shadow: 0 0 0 6px var(--wp--preset--color--accent, #c8972e), 0 0 0 7px rgba(0, 0, 0, 0.6), 0 1.25rem 3rem rgba(0, 0, 0, 0.45);
}

.dx-guest-avatar__ring img {
	display: block;
	width: 100% !important;
	height: 100% !important;
	border-radius: 50% !important;
	object-fit: cover;
}

.dockside-hero__art.dx-guest-avatar figcaption {
	margin: 0.4rem 0 0;
	font-family: var(--dockside-display);
	font-size: 1.25rem;
	font-weight: 800;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: var(--wp--preset--color--contrast);
}

/* Compact live box: badges, play, name, title and hint fit the 16:9 frame. */
.dockside-stream.is-live .dockside-stream__load {
	gap: 0.45rem;
	padding-block: 0.75rem;
}

.dockside-stream.is-live .dockside-stream__play {
	width: 3.25rem;
	height: 3.25rem;
}

.dockside-stream.is-live .dockside-stream__play::before {
	border-width: 0.6rem 0 0.6rem 1rem;
}

.dockside-stream.is-live .dockside-stream__cta {
	font-size: 1.3rem;
	line-height: 1.15;
}

.dockside-stream.is-live .dockside-stream__hint {
	font-size: 0.75rem;
}

/* "Also live" strip under the stream box (several guest streamers live). */
.dxl-also {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	align-items: center;
	margin-block-start: 0.75rem;
}

.dxl-also__label {
	font-family: var(--dockside-mono);
	font-size: 0.75rem;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--wp--preset--color--muted);
}

.dxl-also__chip {
	display: inline-flex;
	gap: 0.45rem;
	align-items: center;
	padding: 0.2rem 0.75rem 0.2rem 0.2rem;
	border: 1px solid var(--wp--preset--color--line);
	border-radius: 999px;
	background: transparent;
	color: var(--wp--preset--color--contrast);
	font: inherit;
	font-size: 0.875rem;
	cursor: pointer;
	transition: border-color 0.15s ease, background-color 0.15s ease;
}

.dxl-also__chip img {
	width: 1.75rem;
	height: 1.75rem;
	border-radius: 50%;
	object-fit: cover;
}

.dxl-also__chip:hover,
.dxl-also__chip:focus-visible {
	border-color: var(--wp--preset--color--accent, #c8972e);
}

.dxl-also__chip.is-active {
	border-color: var(--wp--preset--color--accent, #c8972e);
	background: rgba(200, 151, 46, 0.14);
}

/* 2.0.4: several guest streamers on small screens - label on top, chips in a tidy two-column grid, long names shortened */
@media (max-width: 600px) {
  .dxl-also { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.5rem; }
  .dxl-also__label { grid-column: 1 / -1; }
  .dxl-also__chip { display: block; width: 100%; min-width: 0; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; text-align: left; line-height: 1.75rem; }
  .dxl-also__chip img { display: inline-block; vertical-align: middle; margin-right: 0.45rem; }
}

/* Mobile: more room between stream player and streamer avatar. */
@media (max-width: 781px) {
	.dockside-hero__panel--stream .dockside-hero__art.dx-guest-avatar {
		margin-top: 2rem;
	}
}
