/* ==========================================================================
   Modulo: Box con numero
   Le variabili sono sovrascritte dallo style inline della view (campi ACF).
   ========================================================================== */

.csp-box-numero {
	--csp-bn-bg: #EAF2EC;
	--csp-bn-border-width: 6px;
	--csp-bn-border-color: #0E693A;
	--csp-bn-num-size: 140px;
	--csp-bn-num-color: #D7E6DB;

	position: relative;
	box-sizing: border-box;
	width: 100%;
	margin: 0 0 32px;
	padding: 32px 30px 36px;
	overflow: hidden;
	background-color: var(--csp-bn-bg);
	border-top: var(--csp-bn-border-width) solid var(--csp-bn-border-color);
}

/* --------------------------------------------------------------------
   Numero decorativo in basso a destra (tagliato dal bordo inferiore)
   -------------------------------------------------------------------- */
.csp-box-numero__numero {
	position: absolute;
	right: 0.08em;
	bottom: -0.2em;
	z-index: 0;
	font-family: Gelasio, serif;
	font-size: var(--csp-bn-num-size);
	font-weight: 400;
	line-height: 1;
	color: var(--csp-bn-num-color);
	pointer-events: none;
	user-select: none;
}

/* Il testo resta sempre sopra il numero */
.csp-box-numero__contenuto {
	position: relative;
	z-index: 1;
}

/* --------------------------------------------------------------------
   Titolo (serif, verde)
   -------------------------------------------------------------------- */
.csp-box-numero .csp-box-numero__titolo,
.csp-box-numero__contenuto h2,
.csp-box-numero__contenuto h3,
.csp-box-numero__contenuto h4 {
	margin: 0 0 16px;
	padding: 0;
	font-family: Gelasio, serif;
	font-size: 28px;
	font-weight: 700;
	line-height: 1.3;
	color: #0E693A;
}

/* --------------------------------------------------------------------
   Paragrafo (sans-serif, grigio)
   -------------------------------------------------------------------- */
.csp-box-numero__contenuto p {
	margin: 0 0 16px;
	font-family: "futura-pt", "Futura PT", sans-serif;
	font-size: 18px;
	line-height: 32px;
	color: #5E6977;
}

/* Nessun margine sotto l'ultimo elemento */
.csp-box-numero__contenuto > :last-child,
.csp-box-numero__contenuto .block-editor-block-list__layout > :last-child {
	margin-bottom: 0;
}

/* --------------------------------------------------------------------
   Editor: azzera i margini che Gutenberg aggiunge ai blocchi figli
   -------------------------------------------------------------------- */
.editor-styles-wrapper .csp-box-numero__contenuto .wp-block {
	margin-top: 0;
	max-width: none;
}

/* --------------------------------------------------------------------
   Responsive
   -------------------------------------------------------------------- */
@media (max-width: 768px) {
	.csp-box-numero {
		padding: 24px 20px 28px;
	}
	.csp-box-numero .csp-box-numero__titolo,
	.csp-box-numero__contenuto h2,
	.csp-box-numero__contenuto h3,
	.csp-box-numero__contenuto h4 {
		font-size: 24px;
	}
	.csp-box-numero__numero {
		font-size: calc(var(--csp-bn-num-size) * 0.7);
	}
}
