/* Visor de la cámara CNSFG */
.camara-cnsfg {
	max-width: var( --ccnsfg-max-width, 960px );
	margin: 0 auto;
	width: 100%;
}

.camara-cnsfg__frame {
	position: relative;
	width: 100%;
	height: 0; /* la altura la marca el padding-top (relación de aspecto) */
	padding-top: var( --ccnsfg-pad, 56.25% );
	background: #000;
	overflow: hidden;
	border-radius: 6px;
}

/* Relación de aspecto propia en móvil; sin valor, hereda la de escritorio. */
@media ( max-width: 768px ) {
	.camara-cnsfg__frame {
		padding-top: var( --ccnsfg-pad-mobile, var( --ccnsfg-pad, 56.25% ) );
	}
}

.camara-cnsfg__img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover; /* ajusta el alto al marco y recorta el ancho */
	object-position: center;
	display: block;
}

.camara-cnsfg__status {
	position: absolute;
	inset: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	padding: 1em;
	color: #fff;
	font-size: 0.9rem;
	background: rgba( 0, 0, 0, 0.45 );
	pointer-events: none;
}

.camara-cnsfg.is-live .camara-cnsfg__status {
	display: none;
}

.camara-cnsfg.is-error .camara-cnsfg__status {
	background: rgba( 120, 0, 0, 0.55 );
}

/* Indicador "EN DIRECTO" */
.camara-cnsfg.is-live .camara-cnsfg__frame::after {
	content: "● EN DIRECTO";
	position: absolute;
	top: 8px;
	left: 8px;
	font-size: 0.7rem;
	font-weight: 700;
	letter-spacing: 0.04em;
	color: #fff;
	background: rgba( 200, 0, 0, 0.85 );
	padding: 2px 8px;
	border-radius: 3px;
	z-index: 2;
}
