/**
 * HI Servizio contenuto.
 *
 * Contenuto di un servizio (righe del ripetitore "Contenuti"): sezioni di testo
 * con titoletto e riquadri banner.
 *
 * Qui si dichiarano solo disposizione e spazi. Font, corpo e colori dei titoli
 * e del testo restano al tema (H2, H3, paragrafi e stile pulsante 1 delle
 * Opzioni tema). Colori solo dal blocco Content (--color-content-*), mai esadecimali.
 *
 * Misure in px: il rem di Impreza cambia sotto i 1280px.
 * Selettori a due classi: battono gli stili del tema su titoli, liste e figure
 * senza !important.
 */

/*
 * min-width: 0 e max-width: 100% evitano che il contenuto spinga la colonna oltre
 * la sua larghezza (in una colonna flex di WPBakery succede con immagini e
 * tabelle a larghezza fissa) e finisca sotto il blocco laterale.
 */
.hi-servizio-contenuto {
	display: block;
	min-width: 0;
	max-width: 100%;
}

/* Linea e spazio sotto il blocco, prima di "Dal blog" (75px = 3 x baseline online). */
.hi-servizio-contenuto.hi-servizio-contenuto--separato {
	margin-bottom: 75px;
	padding-bottom: 75px;
	border-bottom: 1px solid var(--color-content-border);
}

.hi-servizio-contenuto .hi-servizio-contenuto__titolo {
	margin: 0 0 24px;
}

.hi-servizio-contenuto .hi-servizio-contenuto__sezione {
	margin: 0 0 40px;
}

.hi-servizio-contenuto .hi-servizio-contenuto__sezione:last-child {
	margin-bottom: 0;
}

.hi-servizio-contenuto .hi-servizio-contenuto__titoletto {
	margin: 0 0 12px;
}

/* Il testo viene dall'editor: le immagini (e le figure con width inline di WordPress) non sforano mai. */
.hi-servizio-contenuto .hi-servizio-contenuto__testo {
	min-width: 0;
	max-width: 100%;
}

.hi-servizio-contenuto .hi-servizio-contenuto__testo img,
.hi-servizio-contenuto .hi-servizio-contenuto__testo figure,
.hi-servizio-contenuto .hi-servizio-contenuto__testo iframe,
.hi-servizio-contenuto .hi-servizio-contenuto__testo video,
.hi-servizio-contenuto .hi-servizio-contenuto__testo table {
	max-width: 100%;
}

.hi-servizio-contenuto .hi-servizio-contenuto__testo img {
	height: auto;
}

.hi-servizio-contenuto .hi-servizio-contenuto__testo figure {
	margin: 24px 0;
}

.hi-servizio-contenuto .hi-servizio-contenuto__testo > :first-child {
	margin-top: 0;
}

.hi-servizio-contenuto .hi-servizio-contenuto__testo > :last-child {
	margin-bottom: 0;
}

/*
 * Banner: testo a sinistra, pulsante a destra. flex-wrap porta il pulsante
 * sotto al testo quando manca lo spazio, senza breakpoint.
 */
.hi-servizio-contenuto .hi-servizio-contenuto__banner {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 24px 70px;
	margin: 25px 0;
	padding: 40px;
	background: var(--color-content-bg-alt);
}

.hi-servizio-contenuto .hi-servizio-contenuto__banner-testo {
	flex: 1 1 320px;
	min-width: 0;
}

.hi-servizio-contenuto .hi-servizio-contenuto__banner-titolo {
	margin: 0 0 12px;
}

.hi-servizio-contenuto .hi-servizio-contenuto__banner-corpo > :first-child {
	margin-top: 0;
}

.hi-servizio-contenuto .hi-servizio-contenuto__banner-corpo > :last-child {
	margin-bottom: 0;
}

.hi-servizio-contenuto .hi-servizio-contenuto__cta {
	flex: 0 0 auto;
	white-space: nowrap;
}

/*
 * Tabelle scritte nell'editor (es. tabella di accreditamento LAT 01470).
 * Come in produzione (gbs-child/custom.css, .single .content table): prima riga
 * piena col primario, righe alterne, testo a 14px. Le altezze inline lasciate
 * dall'editor (height: 117px, 1170px sulle celle con rowspan) si annullano.
 */
.hi-servizio-contenuto .hi-servizio-contenuto__testo table {
	width: 100% !important;
	margin: 0 0 24px;
	border-collapse: collapse;
	font-size: 14px;
	line-height: 18px;
	text-align: left;
}

.hi-servizio-contenuto .hi-servizio-contenuto__testo table td,
.hi-servizio-contenuto .hi-servizio-contenuto__testo table th {
	height: auto !important;
	padding: 14px 16px;
	vertical-align: middle;
	border: 1px solid var(--color-hig-bordo);
}

.hi-servizio-contenuto .hi-servizio-contenuto__testo table tbody tr:nth-child(even) {
	background: var(--color-hig-sfondo-alternato);
}

.hi-servizio-contenuto .hi-servizio-contenuto__testo table:not(.no-first-black) tbody > tr:first-of-type,
.hi-servizio-contenuto .hi-servizio-contenuto__testo table thead {
	background: var(--color-hig-primario);
	color: var(--color-hig-bianco);
}

.hi-servizio-contenuto .hi-servizio-contenuto__testo table:not(.no-first-black) tbody > tr:first-of-type > td,
.hi-servizio-contenuto .hi-servizio-contenuto__testo table thead th {
	border-color: var(--color-hig-primario);
}

.hi-servizio-contenuto .hi-servizio-contenuto__testo table:not(.no-first-black) tbody > tr:first-of-type *,
.hi-servizio-contenuto .hi-servizio-contenuto__testo table thead * {
	color: inherit !important;
}

/* Contenitore delle tabelle larghe: scorre in orizzontale invece di schiacciare le colonne. */
.hi-servizio-contenuto .hi-servizio-contenuto__testo .table-models-container {
	overflow-x: auto;
	margin: 0 0 24px;
	-webkit-overflow-scrolling: touch;
}

.hi-servizio-contenuto .hi-servizio-contenuto__testo .table-models-container table {
	max-width: none;
	min-width: 640px;
}

.hi-servizio-contenuto .hi-servizio-contenuto__testo .table-models-container table:last-child {
	margin-bottom: 0;
}

/* Pulsanti dentro il testo (es. certificato e tabella di accreditamento in PDF). */
.hi-servizio-contenuto .hi-servizio-contenuto__testo .hi-servizio-contenuto__pulsanti {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin: 24px 0;
}

.hi-servizio-contenuto .hi-servizio-contenuto__testo .hi-servizio-contenuto__pulsanti .w-btn {
	text-decoration: none;
}

@media (max-width: 767px) {
	.hi-servizio-contenuto .hi-servizio-contenuto__banner {
		padding: 24px;
	}

	.hi-servizio-contenuto .hi-servizio-contenuto__testo .hi-servizio-contenuto__pulsanti .w-btn {
		width: 100%;
	}
}

/* Riepilogo diagnostico (debug="1", solo amministratori). */
.hi-servizio-contenuto__debug {
	margin: 16px 0;
	padding: 12px;
	font-size: 12px;
	white-space: pre-wrap;
	background: var(--color-content-bg-alt);
}
