/*
 * Stile minimo per le sezioni aggiunte dal pannello e per i video.
 * Eredita caratteri e colori dal tema: non impone nulla di proprio.
 */

.cf-blocco {
	padding: clamp( 2.5rem, 6vw, 5rem ) 1.25rem;
}

.cf-blocco-interno {
	max-width: 1120px;
	margin: 0 auto;
}

.cf-blocco h2 {
	margin: 0 0 0.75em;
}

.cf-blocco-due {
	display: grid;
	gap: clamp( 1.5rem, 4vw, 3rem );
	align-items: center;
	grid-template-columns: 1fr;
}

@media ( min-width: 782px ) {
	.cf-blocco-due {
		grid-template-columns: 1fr 1fr;
	}
}

.cf-blocco-griglia {
	display: grid;
	gap: clamp( 1rem, 3vw, 2rem );
	grid-template-columns: 1fr;
}

@media ( min-width: 600px ) {
	.cf-blocco-griglia {
		grid-template-columns: repeat( auto-fit, minmax( 240px, 1fr ) );
	}
}

.cf-blocco-riquadro h3 {
	margin: 0.75em 0 0.35em;
}

.cf-blocco img,
.cf-galleria img {
	display: block;
	width: 100%;
	height: auto;
}

.cf-blocco-segnaposto {
	display: block;
	padding: 2rem;
	border: 1px dashed currentColor;
	opacity: 0.55;
	text-align: center;
}

.cf-galleria-voce {
	margin: 0;
}

.cf-video {
	display: block;
	width: 100%;
	height: auto;
}

.cf-video-incorporato {
	position: relative;
	width: 100%;
	padding-top: 56.25%;
}

.cf-video-incorporato iframe {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	border: 0;
}
