/* T-121: controls stay inside the existing video frame; no FV/shared typography changes. */
/* User review: less rounded Stream frame; existing YouTube/photo frames stay unchanged. */
/* Keep the original 16:9 picture uncropped; only Stream frames use this ratio. */
body.single-expert .expert-video--stream,
body.single-interview .interview-video--stream {
	height: auto;
	aspect-ratio: 16 / 9;
}
body.single-expert .expert-video--stream {
	border-radius: calc(24 * var(--expert-unit));
}
body.single-interview .interview-video--stream {
	border-radius: 24px;
}
.tns-stream {
	position: relative;
	width: 100%;
	height: auto;
	aspect-ratio: 16 / 9;
	border-radius: inherit;
	overflow: hidden;
	background: #111;
}
.tns-stream > iframe {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	border: 0;
}
.tns-stream__poster {
	position: absolute;
	inset: 0;
	width: 100%; height: 100%; padding: 0;
	border: 0; border-radius: inherit;
	background: #111; cursor: pointer;
}
.tns-stream__poster[hidden] { display: none; }
.tns-stream__poster-img { display: block; width: 100%; height: 100%; object-fit: contain; }
.tns-stream__poster span {
	position: absolute;
	top: 50%; left: 50%;
	transform: translate(-50%, -50%);
	padding: 12px 20px; border-radius: 8px;
	background: rgb(0 0 0 / 70%); color: #fff; font-size: 24px;
}
.tns-stream__poster:focus-visible { outline: 3px solid #2fb585; outline-offset: -3px; }
.tns-stream__controls {
	position: absolute;
	top: 12px;
	left: 12px;
	z-index: 1;
	display: flex;
	gap: 8px;
}
.tns-stream__controls button {
	min-height: 44px;
	padding: 8px 14px;
	border: 1px solid #fff;
	border-radius: 999px;
	background: rgb(0 0 0 / 70%);
	color: #fff;
	font: inherit;
	font-size: 14px;
	cursor: pointer;
}
.tns-stream__controls button:focus-visible {
	outline: 3px solid #2fb585;
	outline-offset: 3px;
}
.tns-stream__status {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip-path: inset(50%);
}
.tns-stream[data-state="blocked"] .tns-stream__status,
.tns-stream[data-state="error"] .tns-stream__status {
	left: 12px;
	bottom: 44px;
	width: calc(100% - 24px);
	height: auto;
	margin: 0;
	padding: 8px;
	clip-path: none;
	background: rgb(0 0 0 / 70%);
	color: #fff;
	font-size: 14px;
}
@media (max-width: 720px) {
	body.single-expert .expert-video--stream,
	body.single-interview .interview-video--stream { border-radius: 12px; }
	.tns-stream__controls { top: 8px; left: 8px; gap: 6px; }
	.tns-stream__controls button { padding: 8px 12px; }
}
