.sirecom-noticia-extra {
	margin-top: 2rem;
}

.sirecom-noticia-fonte {
	margin: 0 0 1.5rem;
	overflow-wrap: anywhere;
}

/* Grade: no máximo N colunas; em telas estreitas o número cai sozinho (mínimo de 120 px por foto). */
.sirecom-galeria__grade {
	display: grid;
	gap: var( --sirecom-gal-gap, 12px );
	grid-template-columns: repeat(
		auto-fit,
		minmax( max( 120px, calc( ( 100% - ( var( --sirecom-gal-cols, 4 ) - 1 ) * var( --sirecom-gal-gap, 12px ) ) / var( --sirecom-gal-cols, 4 ) ) ), 1fr )
	);
}

.sirecom-galeria__titulo {
	margin: 0 0 1rem;
	font-size: 1.25rem;
}

.sirecom-galeria__item {
	display: block;
	overflow: hidden;
	border-radius: var( --sirecom-gal-radius, 10px );
	background: #eef0f2;
	line-height: 0;
}

.sirecom-galeria__img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: var( --sirecom-gal-ratio, 4 / 3 );
	object-fit: cover;
}

/* Visualizador (ampliação) */
.sirecom-lb {
	position: fixed;
	inset: 0;
	z-index: 100000;
	display: flex;
	align-items: center;
	justify-content: center;
	background: rgba( 8, 10, 14, 0.92 );
}

.sirecom-lb[hidden] {
	display: none;
}

.sirecom-lb__fig {
	display: flex;
	flex-direction: column;
	align-items: center;
	max-width: 94vw;
	max-height: 94vh;
	margin: 0;
}

.sirecom-lb__img {
	display: block;
	max-width: 94vw;
	max-height: 82vh;
	width: auto;
	height: auto;
	border-radius: 6px;
	background: #111;
}

.sirecom-lb__cap {
	max-width: 90vw;
	margin-top: 10px;
	color: #e8eaed;
	font-size: 0.9rem;
	line-height: 1.4;
	text-align: center;
}

.sirecom-lb__btn {
	position: absolute;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 48px;
	height: 48px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: rgba( 255, 255, 255, 0.14 );
	color: #fff;
	font-size: 26px;
	line-height: 1;
	cursor: pointer;
}

.sirecom-lb__btn:hover,
.sirecom-lb__btn:focus-visible {
	background: rgba( 255, 255, 255, 0.28 );
	outline: 2px solid #fff;
	outline-offset: 2px;
}

.sirecom-lb__fechar { top: 14px; right: 14px; }
.sirecom-lb__ant { left: 14px; top: 50%; transform: translateY( -50% ); }
.sirecom-lb__prox { right: 14px; top: 50%; transform: translateY( -50% ); }

.sirecom-lb__cont {
	position: absolute;
	top: 22px;
	left: 20px;
	color: #e8eaed;
	font-size: 0.85rem;
}

body.sirecom-lb-aberto {
	overflow: hidden;
}

@media ( max-width: 600px ) {
	.sirecom-lb__ant { left: 6px; }
	.sirecom-lb__prox { right: 6px; }
	.sirecom-lb__btn { width: 42px; height: 42px; }
}
