/* Tema Centro Fiscale: prima il telefono, poi tablet (700px) e computer (960px). */

:root {
	--cf-blu: var(--wp--preset--color--blu, #0c327a);
	--cf-blu-notte: var(--wp--preset--color--blu-notte, #08234f);
	--cf-ambra: var(--wp--preset--color--ambra, #ffb020);
	--cf-verde: var(--wp--preset--color--verde-whatsapp, #157a43);
	--cf-testo: var(--wp--preset--color--testo, #172033);
	--cf-testo-2: var(--wp--preset--color--testo-secondario, #4b5568);
	--cf-tenue: var(--wp--preset--color--tenue, #f2f6fc);
	--cf-azzurro: var(--wp--preset--color--azzurro, #e8f0fb);
	--cf-bordo: var(--wp--preset--color--bordo, #dfe5ef);
	--cf-campo: #c5d0e0;
	--cf-raggio: 16px;
	--cf-altezza-testata: 64px;
}

*, *::before, *::after { box-sizing: border-box; }
body { margin: 0; -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
img { max-width: 100%; height: auto; }
:focus-visible { outline: 3px solid var(--cf-ambra); outline-offset: 2px; }
.screen-reader-text { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.cf-principale { display: block; }
.wp-site-blocks > * + *, .cf-principale > * + * { margin-block-start: 0; }

/* Contenitori ----------------------------------------------------------- */
.cf-contenitore { width: 100%; max-width: 1240px; margin-inline: auto; padding-inline: 20px; }
.cf-contenitore--testo { max-width: 820px; padding-block: 32px 56px; }
.cf-sezione { padding-block: 40px; }
.cf-sezione--stretta { padding-block-start: 8px; }
.cf-sezione--tenue { background: var(--cf-tenue); }
.cf-sezione--blu { background: var(--cf-blu); color: #fff; }
.cf-sezione--blu h2 { color: #fff; }
.cf-sezione h2 { margin: 0; }
.cf-sezione__testa { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-end; gap: 12px 24px; margin-bottom: 20px; }
.cf-sezione__testa p { margin: 6px 0 0; color: var(--cf-testo-2); }
.cf-sezione-interna { padding-block: 28px 48px; }
.cf-titoletto { margin: 0 0 8px; font-size: 19px; color: var(--cf-testo); }
.cf-centro { text-align: center; }

.cf-solo-desktop { display: none !important; }
@media (min-width: 960px) {
	.cf-solo-mobile { display: none !important; }
	.cf-solo-desktop { display: revert !important; }
	a.cf-solo-desktop, .cf-bottone.cf-solo-desktop, .cf-bottone-icona.cf-solo-desktop { display: inline-flex !important; }
	form.cf-solo-desktop { display: flex !important; }
	aside.cf-solo-desktop, div.cf-solo-desktop { display: block !important; }
}

/* Bottoni ------------------------------------------------------------- */
.cf-bottone {
	display: inline-flex; align-items: center; justify-content: center; gap: 10px;
	min-height: 52px; padding: 12px 22px; border-radius: 14px; border: 1.5px solid transparent;
	font-weight: 700; font-size: 17px; line-height: 1.2; text-decoration: none; cursor: pointer;
}
.cf-bottone--ambra { background: var(--cf-ambra); color: #0c2350; }
.cf-bottone--ambra:hover { background: #ffc24d; color: #0c2350; }
.cf-bottone--verde { background: var(--cf-verde); color: #fff; }
.cf-bottone--verde:hover { background: #0f6236; color: #fff; }
.cf-bottone--contorno { background: #fff; color: var(--cf-blu); border-color: var(--cf-blu); }
.cf-bottone--contorno:hover { background: var(--cf-azzurro); color: var(--cf-blu); }
.cf-bottone--piccolo { min-height: 48px; padding: 10px 18px; font-size: 16px; border-radius: 12px; }
.cf-bottone--largo { width: 100%; margin-top: 16px; }
.cf-bottone-icona { display: inline-flex; align-items: center; justify-content: center; width: 48px; height: 48px; border-radius: 12px; color: #fff; }
.cf-bottone-icona:hover { background: rgba(255,255,255,.1); color: #fff; }
.cf-link-freccia { display: inline-block; padding: 10px 0; font-weight: 700; font-size: 16px; }
.cf-due-colonne { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.cf-due-colonne .cf-bottone { padding-inline: 10px; font-size: 16px; }

/* Etichette ----------------------------------------------------------- */
.cf-pillola { align-self: flex-start; display: inline-flex; align-items: center; gap: 6px; background: #fff; border: 1px solid var(--cf-bordo); border-radius: 999px; padding: 6px 12px; font-size: 14px; font-weight: 600; color: var(--cf-blu); }
.cf-badge { display: inline-block; font-size: 12px; font-weight: 700; color: #6b4300; background: #fff1d6; border-radius: 999px; padding: 3px 8px; line-height: 1.4; }
.cf-badge--blu { color: var(--cf-blu); background: var(--cf-azzurro); }
.cf-etichetta { display: inline-block; font-size: 13px; font-weight: 700; color: var(--cf-blu); background: var(--cf-azzurro); border-radius: 6px; padding: 3px 8px; }
.cf-marchio-magazine { display: inline-block; font-size: 13px; font-weight: 800; color: #fff; background: var(--cf-blu); border-radius: 6px; padding: 4px 10px; margin-bottom: 8px; }
.cf-stelle { display: inline-flex; gap: 2px; color: #f5a524; vertical-align: middle; }
.cf-valutazione { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 0; font-size: 15px; color: #3f4a5c; }
.cf-valutazione strong { color: var(--cf-testo); }
.cf-valutazione--chiaro, .cf-valutazione--chiaro strong { color: #fff; }

/* Intestazione ------------------------------------------------------- */
.cf-intestazione { position: sticky; top: 0; z-index: 50; }
.admin-bar .cf-intestazione { top: 32px; }
.cf-barra-contatti { display: none; background: var(--cf-blu-notte); color: #d6e2f5; font-size: 14px; }
.cf-barra-contatti__riga { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 6px 24px; padding-block: 7px; }
.cf-barra-contatti__link { display: flex; gap: 20px; }
.cf-barra-contatti a { color: #fff; font-weight: 600; text-decoration: none; }
.cf-testata { background: var(--cf-blu); }
.cf-testata__riga { display: flex; align-items: center; justify-content: space-between; gap: 16px; min-height: var(--cf-altezza-testata); padding-inline: 16px 12px; }
.cf-logo { display: flex; align-items: center; }
.cf-logo img { display: block; height: 26px; width: auto; }
.cf-testata__azioni { display: flex; align-items: center; gap: 6px; }
.cf-nav { display: none; }

.cf-menu-mobile > summary { list-style: none; }
.cf-menu-mobile > summary::-webkit-details-marker { display: none; }
.cf-bottone-menu { display: inline-flex; align-items: center; gap: 8px; height: 48px; padding: 0 12px; color: #fff; font-weight: 600; border: 1px solid rgba(255,255,255,.35); border-radius: 12px; cursor: pointer; }
.cf-bottone-menu > span { display: inline-flex; align-items: center; gap: 8px; }
.cf-bottone-menu__chiudi, .cf-menu-mobile[open] .cf-bottone-menu__apri { display: none !important; }
.cf-menu-mobile[open] .cf-bottone-menu__chiudi { display: inline-flex !important; }
.cf-menu-mobile__pannello { position: fixed; inset: var(--cf-altezza-testata) 0 0 0; background: #fff; overflow-y: auto; z-index: 60; display: flex; flex-direction: column; }
.admin-bar .cf-menu-mobile__pannello { top: calc(var(--cf-altezza-testata) + 46px); }
.cf-menu-mobile__pannello > nav { padding: 0 16px; display: flex; flex-direction: column; }
.cf-menu-mobile__gruppo > summary, .cf-menu-mobile__voce { min-height: 56px; display: flex; align-items: center; justify-content: space-between; padding: 0 4px; border-bottom: 1px solid var(--cf-bordo); font-size: 18px; font-weight: 800; color: var(--cf-blu); text-decoration: none; cursor: pointer; list-style: none; }
.cf-menu-mobile__gruppo > summary::-webkit-details-marker { display: none; }
.cf-menu-mobile__gruppo[open] > summary .cf-icona { transform: rotate(180deg); }
.cf-menu-mobile__sotto { display: flex; flex-direction: column; padding: 6px 0 10px; background: #f8fafd; border-bottom: 1px solid var(--cf-bordo); }
.cf-menu-mobile__sotto a { min-height: 46px; display: flex; align-items: center; padding: 0 12px; font-size: 16px; font-weight: 600; color: var(--cf-testo); text-decoration: none; }
.cf-menu-mobile__contatti { margin-top: auto; padding: 20px 16px 24px; background: var(--cf-tenue); display: flex; flex-direction: column; gap: 10px; color: var(--cf-testo-2); font-size: 15px; }

.cf-cerca { display: flex; align-items: center; gap: 10px; height: 52px; margin: 16px; padding: 0 14px; background: var(--cf-tenue); border: 1.5px solid var(--cf-campo); border-radius: 14px; color: var(--cf-testo-2); }
.cf-cerca input { flex: 1; min-width: 0; border: 0; outline: 0; background: transparent; font: inherit; font-size: 16px; color: var(--cf-testo); }
.cf-cerca--bordo { margin: 0; background: #fff; min-width: min(380px, 100%); }

@media (min-width: 960px) {
	.cf-barra-contatti { display: block; }
	.cf-logo img { height: 30px; }
	.cf-testata__riga { padding-inline: 20px; }
	.cf-nav { display: flex; flex-wrap: wrap; gap: 2px; }
	.cf-nav__voce { position: relative; }
	.cf-nav__link { display: inline-flex; align-items: center; gap: 4px; padding: 12px; color: #fff; font-weight: 600; font-size: 16px; text-decoration: none; border-radius: 10px; }
	.cf-nav__link:hover, .cf-nav__voce:focus-within > .cf-nav__link { color: #fff; background: rgba(255,255,255,.1); }
	.cf-nav__sotto { position: absolute; top: 100%; left: 0; min-width: 280px; padding: 8px; background: #fff; border-radius: 14px; box-shadow: 0 16px 40px rgba(8,35,79,.18); display: none; flex-direction: column; z-index: 70; }
	.cf-nav__voce:hover > .cf-nav__sotto, .cf-nav__voce:focus-within > .cf-nav__sotto { display: flex; }
	.cf-nav__sotto a { padding: 10px 12px; border-radius: 8px; color: var(--cf-testo); font-weight: 600; font-size: 15px; text-decoration: none; }
	.cf-nav__sotto a:hover { background: var(--cf-tenue); color: var(--cf-blu); }
	.cf-testata__azioni .cf-bottone-icona { border: 1px solid rgba(255,255,255,.35); }
}

/* Barra fissa in basso (telefono) ------------------------------------- */
.cf-barra-mobile { position: fixed; left: 0; right: 0; bottom: 0; z-index: 40; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; padding: 10px 12px calc(10px + env(safe-area-inset-bottom)); background: #fff; border-top: 1px solid var(--cf-bordo); box-shadow: 0 -6px 18px rgba(8,35,79,.12); }
.cf-barra-mobile a { min-height: 52px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 2px; border-radius: 12px; font-size: 13px; font-weight: 700; text-decoration: none; }
.cf-barra-mobile__chiama { color: var(--cf-blu); border: 1px solid var(--cf-bordo); }
.cf-barra-mobile__whatsapp { color: #fff; background: var(--cf-verde); }
.cf-barra-mobile__prenota { color: #0c2350; background: var(--cf-ambra); }
body { padding-bottom: 76px; }
body.cf-senza-barra { padding-bottom: 0; }
@media (min-width: 960px) {
	.cf-barra-mobile { display: none; }
	body { padding-bottom: 0; }
}

/* Percorso ------------------------------------------------------------ */
.cf-percorso { display: flex; flex-wrap: wrap; gap: 6px; font-size: 14px; color: var(--cf-testo-2); margin-bottom: 10px; }
.cf-percorso a { color: var(--cf-testo-2); }
.cf-percorso [aria-current] { color: var(--cf-testo); font-weight: 600; }

/* Apertura home ------------------------------------------------------ */
.cf-apertura { padding-block: 28px 32px; }
.cf-apertura--azzurro { background: var(--cf-tenue); }
.cf-apertura--bianco { background: #fff; }
.cf-apertura--blu { background: var(--cf-blu); color: #d6e2f5; }
.cf-apertura--blu h1, .cf-apertura--blu .cf-apertura__chiama { color: #fff; }
.cf-apertura__griglia { display: grid; gap: 32px; align-items: center; }
.cf-apertura__testo { display: flex; flex-direction: column; gap: 16px; }
.cf-apertura h1 { margin: 0; font-size: clamp(34px, 5vw, 52px); line-height: 1.12; letter-spacing: -.015em; }
.cf-apertura__sotto { margin: 0; font-size: 18px; line-height: 1.55; color: #3f4a5c; max-width: 560px; }
.cf-apertura--blu .cf-apertura__sotto { color: #d6e2f5; }
.cf-apertura__azioni { display: flex; flex-direction: column; gap: 10px; margin-top: 4px; }
.cf-apertura__chiama { align-self: center; padding: 10px; font-weight: 600; }
.cf-apertura__richiesti { display: none; }
@media (min-width: 960px) {
	.cf-apertura { padding-block: 64px; }
	.cf-apertura__griglia { grid-template-columns: minmax(0, 1fr) 380px; gap: 48px; }
	.cf-apertura__sotto { font-size: 20px; }
	.cf-apertura__azioni { flex-direction: row; flex-wrap: wrap; }
	.cf-apertura__chiama { align-self: flex-start; padding-left: 0; }
	.cf-apertura__richiesti { display: flex; flex-direction: column; background: #fff; border: 1px solid var(--cf-bordo); border-radius: 20px; padding: 24px; box-shadow: 0 10px 30px rgba(12,50,122,.08); }
	.cf-apertura__richiesti strong { font-size: 18px; color: var(--cf-blu); margin-bottom: 8px; }
	.cf-apertura__richiesti a { display: flex; justify-content: space-between; align-items: center; padding: 14px 0; border-bottom: 1px solid #edf1f7; font-size: 17px; font-weight: 700; color: var(--cf-testo); text-decoration: none; }
	.cf-apertura__richiesti a:last-child { border-bottom: 0; }
	.cf-apertura__richiesti a .cf-icona { color: var(--cf-blu); }
}

/* Servizi ------------------------------------------------------------- */
.cf-servizi { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.cf-servizio { position: relative; display: flex; flex-direction: column; gap: 10px; min-height: 132px; padding: 16px 14px; background: #fff; border: 1px solid var(--cf-bordo); border-radius: var(--cf-raggio); text-decoration: none; }
.cf-servizio:hover { border-color: var(--cf-blu); box-shadow: 0 6px 18px rgba(12,50,122,.08); }
.cf-servizio--evidenza { border: 1.5px solid var(--cf-blu); }
.cf-servizio .cf-badge { position: absolute; top: 12px; right: 10px; }
.cf-servizio__icona { width: 40px; height: 40px; flex: 0 0 40px; border-radius: 12px; background: var(--cf-azzurro); color: var(--cf-blu); display: flex; align-items: center; justify-content: center; }
.cf-servizio__titolo { font-size: 17px; font-weight: 700; color: var(--cf-testo); line-height: 1.25; }
.cf-servizio__descrizione { font-size: 14px; line-height: 1.4; color: var(--cf-testo-2); }
@media (min-width: 700px) { .cf-servizi { grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 16px; } .cf-servizio { padding: 22px; } }
.cf-servizi-gruppo + .cf-servizi-gruppo { margin-top: 28px; }
.cf-servizi-gruppo__titolo { display: flex; align-items: center; gap: 12px; margin: 0 0 12px; font-size: 14px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--cf-blu); }
.cf-servizi-gruppo__titolo::after { content: ""; flex: 1; height: 1px; background: var(--cf-bordo); }
.cf-servizi-tutti { margin-top: 24px; }
@media (max-width: 699px) { .cf-servizi-gruppo .cf-servizio:last-child:nth-child(odd) { grid-column: 1 / -1; min-height: 0; } }
@media (min-width: 960px) {
	.cf-servizi-gruppo .cf-servizi { grid-template-columns: repeat(5, minmax(0, 1fr)); }
	.cf-servizi-tutti { display: flex; width: fit-content; margin: 32px auto 0; }
}

/* Come funziona -------------------------------------------------------- */
.cf-passi { list-style: none; margin: 20px 0 0; padding: 0; display: grid; gap: 18px; }
.cf-passo { display: flex; gap: 14px; }
.cf-passo strong { font-size: 18px; }
.cf-passo p { margin: 4px 0 0; color: var(--cf-testo-2); line-height: 1.5; }
.cf-passo__numero { flex: 0 0 36px; width: 36px; align-self: flex-start; height: 36px; border-radius: 999px; background: var(--cf-blu); color: #fff; font-weight: 800; display: flex; align-items: center; justify-content: center; }
@media (min-width: 960px) { .cf-passi { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; } .cf-passo { flex-direction: column; padding: 24px; background: var(--cf-tenue); border-radius: 18px; } }

/* Recensioni ---------------------------------------------------------- */
.cf-recensioni { display: grid; gap: 20px; }
.cf-recensioni__sintesi { display: flex; flex-direction: column; gap: 8px; color: #d6e2f5; }
.cf-recensioni__sintesi a { color: #fff; font-weight: 700; padding: 6px 0; }
.cf-recensioni__giudizio { font-size: 26px; font-weight: 800; color: #fff; }
.cf-recensioni__sintesi .cf-stelle { color: #ffc44d; }
.cf-recensioni__elenco { display: grid; gap: 14px; }
.cf-recensione { margin: 0; padding: 18px; background: #fff; color: var(--cf-testo); border-radius: var(--cf-raggio); display: flex; flex-direction: column; gap: 10px; }
.cf-recensione blockquote { margin: 0; font-size: 16px; line-height: 1.55; }
.cf-recensione figcaption { font-size: 14px; color: var(--cf-testo-2); }
.cf-recensione figcaption strong { color: var(--cf-testo); }
.cf-recensione--tenue { background: var(--cf-tenue); }
@media (min-width: 960px) {
	.cf-sezione--blu { padding-block: 64px; }
	.cf-recensioni { grid-template-columns: 280px minmax(0, 1fr); gap: 32px; align-items: start; }
	.cf-recensioni__elenco { grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 16px; }
}

/* Sedi ---------------------------------------------------------------- */
.cf-sedi { display: grid; gap: 24px; }
.cf-sedi__testo { display: flex; flex-direction: column; gap: 12px; align-items: flex-start; }
.cf-sedi__testo p { margin: 0; color: var(--cf-testo-2); }
.cf-contatti-elenco { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 12px; line-height: 1.5; }
.cf-contatti-elenco li { display: flex; gap: 12px; align-items: flex-start; }
.cf-contatti-elenco .cf-icona { flex: 0 0 20px; margin-top: 2px; color: var(--cf-blu); }
.cf-contatti-elenco a { font-weight: 600; }
.cf-sedi__elenco { display: grid; gap: 14px; align-items: start; }
.cf-sede { background: #fff; border: 1px solid var(--cf-bordo); border-radius: var(--cf-raggio); padding: 18px; display: flex; flex-direction: column; gap: 8px; }
.cf-sede__testa { display: flex; justify-content: space-between; align-items: center; gap: 8px; }
.cf-sede__testa strong { font-size: 19px; color: var(--cf-blu); }
.cf-sede__orari { display: inline-flex; align-items: center; gap: 8px; font-size: 15px; color: var(--cf-testo-2); }
.cf-sede a { align-self: flex-start; padding: 6px 0; font-weight: 700; font-size: 15px; }
@media (min-width: 960px) { .cf-sezione--tenue { padding-block: 64px; } .cf-sedi { grid-template-columns: 340px minmax(0, 1fr); gap: 40px; } .cf-sedi__elenco { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

/* Magazine in home ------------------------------------------------- */
.cf-magazine-home { border-top: 6px solid var(--cf-blu); padding-block: 40px 44px; }
.cf-magazine-home .cf-sezione__testa h2 { margin: 0; }
.cf-magazine-home .cf-cerca--bordo { align-self: flex-end; }
.cf-argomenti { margin-bottom: 24px; }
.cf-argomenti__elenco { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.cf-argomento { min-height: 48px; display: flex; align-items: center; padding: 8px 12px; border: 1.5px solid var(--cf-campo); border-radius: 12px; font-size: 15px; font-weight: 600; line-height: 1.25; color: var(--cf-testo); text-decoration: none; background: #fff; }
.cf-argomento:hover, .cf-argomento.is-attivo { border-color: var(--cf-blu); background: var(--cf-azzurro); color: var(--cf-blu); }
.cf-argomenti__elenco--a-capo { display: flex; flex-wrap: wrap; margin-top: 12px; }
.cf-argomento--piccolo { min-height: 40px; font-size: 14px; padding: 6px 12px; border-radius: 999px; }
.cf-argomenti--schede .cf-argomenti__elenco { grid-template-columns: 1fr; gap: 10px; }
.cf-argomento-scheda { display: flex; gap: 14px; align-items: center; padding: 14px; border: 1px solid var(--cf-bordo); border-radius: 14px; text-decoration: none; background: #fff; }
.cf-argomento-scheda strong { display: block; font-size: 17px; color: var(--cf-testo); }
.cf-argomento-scheda span span { display: block; margin-top: 2px; font-size: 14px; line-height: 1.35; color: var(--cf-testo-2); }
.cf-argomento-scheda:hover { border-color: var(--cf-blu); }
@media (min-width: 960px) {
	.cf-magazine-home { padding-block: 64px 72px; }
	.cf-argomenti--griglia .cf-argomenti__elenco { display: flex; flex-wrap: wrap; }
	.cf-argomenti--griglia .cf-argomento { border-radius: 999px; padding-inline: 18px; min-height: 44px; }
	.cf-magazine-griglia__lato .cf-argomenti--griglia .cf-argomenti__elenco { display: grid; }
	.cf-magazine-griglia__lato .cf-argomenti--griglia .cf-argomento { border-radius: 12px; }
	.cf-argomenti--schede .cf-argomenti__elenco { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
}

.cf-magazine-griglia { display: grid; gap: 28px; }
.cf-magazine-griglia__principale, .cf-magazine-griglia__lato { display: flex; flex-direction: column; gap: 28px; min-width: 0; }
@media (min-width: 960px) { .cf-magazine-griglia { grid-template-columns: minmax(0, 1fr) 320px; gap: 40px; align-items: start; } }

.cf-primo-piano { display: flex; flex-direction: column; gap: 10px; text-decoration: none; color: var(--cf-testo); }
.cf-primo-piano__immagine { width: 100%; aspect-ratio: 16 / 9; object-fit: cover; border-radius: 18px; background: #dde6f3; display: block; }
.cf-primo-piano__corpo { display: flex; flex-direction: column; gap: 8px; }
.cf-primo-piano__titolo { font-size: clamp(21px, 2.6vw, 30px); line-height: 1.25; font-weight: 800; }
.cf-primo-piano__estratto { font-size: 16px; line-height: 1.5; color: #3f4a5c; }
.cf-primo-piano:hover .cf-primo-piano__titolo { color: var(--cf-blu); }
@media (min-width: 960px) {
	.cf-primo-piano { flex-direction: row; align-items: center; gap: 28px; }
	.cf-primo-piano__immagine { flex: 0 0 52%; width: 52%; }
	.cf-primo-piano__corpo { flex: 1 1 auto; }
}

.cf-ultime__elenco { display: flex; flex-direction: column; }
.cf-ultime--schede .cf-ultime__elenco { display: grid; gap: 20px; }
@media (min-width: 700px) { .cf-ultime--schede .cf-ultime__elenco { grid-template-columns: repeat(3, minmax(0, 1fr)); } }

.cf-riga { display: flex; gap: 12px; padding: 14px 0; border-bottom: 1px solid #edf1f7; text-decoration: none; color: var(--cf-testo); }
.cf-riga__immagine { flex: 0 0 76px; width: 76px; height: 76px; object-fit: cover; border-radius: 12px; background: #dde6f3; display: block; }
.cf-riga__corpo { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.cf-riga__argomento, .cf-scheda__argomento { font-size: 12px; font-weight: 700; color: var(--cf-blu); }
.cf-riga__titolo { font-size: 16px; line-height: 1.35; font-weight: 700; }
.cf-riga__data, .cf-scheda__data { font-size: 13px; color: var(--cf-testo-2); }
.cf-riga:hover .cf-riga__titolo, .cf-scheda:hover .cf-scheda__titolo { color: var(--cf-blu); }

.cf-scheda { display: flex; flex-direction: column; gap: 10px; text-decoration: none; color: var(--cf-testo); }
.cf-scheda__immagine { width: 100%; aspect-ratio: 16 / 9; object-fit: cover; border-radius: 14px; background: #dde6f3; display: block; }
.cf-scheda__corpo { display: flex; flex-direction: column; gap: 6px; }
.cf-scheda__titolo { font-size: 17px; line-height: 1.35; font-weight: 700; }
.cf-miniatura-vuota { display: flex; align-items: center; justify-content: center; background: var(--cf-azzurro); color: var(--cf-blu); }
.cf-riga__immagine.cf-miniatura-vuota .cf-icona { width: 26px; height: 26px; }
.cf-miniatura-vuota { flex-direction: column; gap: 10px; background: linear-gradient(135deg, var(--cf-azzurro), #d7e5f8); }
.cf-miniatura-vuota__nome { font-size: 15px; font-weight: 800; color: var(--cf-blu); }
@media (max-width: 699px) { .cf-elenco-schede .cf-miniatura-vuota__nome, .cf-ultime .cf-miniatura-vuota__nome { display: none; } }
/* Sul telefono le schede degli elenchi diventano righe compatte */
@media (max-width: 699px) {
	.cf-ultime--schede .cf-scheda, .cf-elenco-schede .cf-scheda { flex-direction: row; gap: 12px; padding-bottom: 14px; border-bottom: 1px solid #edf1f7; }
	.cf-ultime--schede .cf-scheda__immagine, .cf-elenco-schede .cf-scheda__immagine { flex: 0 0 96px; width: 96px; height: 72px; aspect-ratio: auto; border-radius: 10px; }
	.cf-ultime--schede .cf-ultime__elenco, .cf-elenco-schede { gap: 14px; }
	.cf-scheda__titolo { font-size: 16px; }
	.cf-correlati .cf-scheda { padding: 12px; border-bottom: 0; }
	.cf-correlati .cf-scheda__immagine { border-radius: 10px; }
	.cf-correlati .cf-scheda__corpo { padding: 0; }
}

.cf-titolo-link { display: block; padding: 12px 0; border-bottom: 1px solid var(--cf-bordo); font-size: 16px; line-height: 1.35; font-weight: 600; color: var(--cf-testo); text-decoration: none; }
.cf-titolo-link:hover { color: var(--cf-blu); }

.cf-riquadro { background: var(--cf-tenue); border-radius: 18px; padding: 20px; }
.cf-scadenze ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 12px; }
.cf-scadenze li { display: flex; gap: 12px; align-items: center; font-size: 15px; line-height: 1.4; }
.cf-scadenza__data { flex: 0 0 52px; height: 52px; border-radius: 12px; background: var(--cf-blu); color: #fff; display: flex; flex-direction: column; align-items: center; justify-content: center; line-height: 1; }
.cf-scadenza__data strong { font-size: 19px; }
.cf-scadenza__data span { font-size: 11px; font-weight: 700; }
.cf-scadenze__invito { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 14px; padding-top: 12px; border-top: 1px solid var(--cf-bordo); font-size: 15px; font-weight: 700; color: var(--cf-blu); }
.cf-scadenze__invito .cf-bottone { min-height: 44px; padding: 8px 14px; font-size: 14px; border-radius: 12px; flex: 0 0 auto; }

.cf-piu-letti ol { list-style: none; margin: 0; padding: 0; }
.cf-piu-letti a { display: flex; gap: 14px; align-items: baseline; padding: 12px 0; border-bottom: 1px solid #edf1f7; color: var(--cf-testo); font-size: 16px; line-height: 1.35; font-weight: 600; text-decoration: none; }
.cf-piu-letti li:last-child a { border-bottom: 0; }
.cf-piu-letti a:hover { color: var(--cf-blu); }
.cf-piu-letti__numero { flex: 0 0 22px; font-size: 24px; font-weight: 800; color: var(--cf-blu); }

.cf-newsletter { margin-top: 28px; background: var(--cf-blu); color: #d6e2f5; border-radius: 18px; padding: 20px; display: flex; flex-direction: column; gap: 14px; }
.cf-newsletter__testo { display: flex; flex-direction: column; gap: 6px; }
.cf-newsletter__testo strong { font-size: 19px; color: #fff; }
.cf-newsletter__campi { display: flex; flex-direction: column; gap: 6px; }
.cf-newsletter label { font-size: 14px; font-weight: 600; color: #fff; }
.cf-newsletter__riga { display: flex; flex-direction: column; gap: 10px; }
.cf-newsletter input { height: 50px; border: 0; border-radius: 12px; padding: 0 14px; font: inherit; font-size: 16px; min-width: 0; }
.cf-newsletter button { height: 50px; padding: 0 24px; border: 1.5px solid #fff; border-radius: 12px; background: transparent; color: #fff; font: inherit; font-size: 16px; font-weight: 700; cursor: pointer; }
.cf-newsletter button:hover { background: rgba(255,255,255,.12); }
.cf-magazine-home .cf-centro { margin: 24px 0 0; }
@media (min-width: 960px) {
	.cf-newsletter { flex-direction: row; align-items: flex-end; justify-content: space-between; padding: 28px; }
	.cf-newsletter__campi { flex: 0 1 460px; }
	.cf-newsletter__riga { flex-direction: row; }
	.cf-newsletter input { flex: 1; }
}

/* Testa delle pagine interne ------------------------------------------ */
.cf-testa-pagina { background: var(--cf-tenue); padding-block: 16px 28px; }
.cf-testa-pagina h1 { margin: 4px 0 8px; font-size: clamp(30px, 4.5vw, 48px); line-height: 1.12; letter-spacing: -.01em; }
.cf-testa-pagina p { margin: 0; max-width: 680px; font-size: 18px; line-height: 1.5; color: #3f4a5c; }
.cf-testa-pagina__riga { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-end; gap: 20px; }
.cf-testa-pagina--servizio .cf-valutazione { margin-top: 14px; }
@media (min-width: 960px) { .cf-testa-pagina { padding-block: 24px 44px; } }

/* Articolo ------------------------------------------------------------ */
.cf-articolo-griglia { display: grid; gap: 40px; padding-block: 16px 40px; }
.cf-articolo { min-width: 0; max-width: 760px; display: flex; flex-direction: column; gap: 16px; }
.cf-articolo > * { margin-block: 0; }
.cf-articolo .cf-etichetta { align-self: flex-start; }
.cf-articolo__titolo { margin: 0; font-size: clamp(28px, 4vw, 42px); line-height: 1.18; }
.cf-meta-articolo { display: flex; align-items: center; gap: 12px; font-size: 14px; color: var(--cf-testo-2); }
.cf-avatar { width: 44px; height: 44px; flex: 0 0 44px; border-radius: 999px; background: var(--cf-blu); color: #fff; font-weight: 800; font-size: 16px; display: inline-flex; align-items: center; justify-content: center; }
.cf-avatar--grande { width: 60px; height: 60px; flex-basis: 60px; font-size: 21px; }
.cf-articolo__immagine img { border-radius: 16px; }
.cf-articolo-lato { display: flex; flex-direction: column; gap: 24px; }
.cf-articolo-lato > * { margin: 0; }
@media (min-width: 960px) {
	.cf-articolo-griglia { grid-template-columns: minmax(0, 1fr) 320px; gap: 56px; padding-block: 24px 56px; }
	.cf-articolo-lato.cf-solo-desktop { display: flex !important; position: sticky; top: 140px; }
}

/* Testo degli articoli e delle pagine */
.cf-articolo__testo, .cf-pagina__testo { font-size: 18px; line-height: 1.68; color: var(--cf-testo); overflow-wrap: anywhere; }
.cf-articolo__testo > *, .cf-pagina__testo > * { margin-block: 0 1.1em; }
.cf-articolo__testo h2, .cf-pagina__testo h2 { margin-top: 1.6em; margin-bottom: .5em; font-size: clamp(22px, 2.6vw, 28px); line-height: 1.3; }
.cf-articolo__testo h3, .cf-pagina__testo h3 { margin-top: 1.4em; margin-bottom: .4em; font-size: 20px; line-height: 1.35; }
.cf-articolo__testo p, .cf-pagina__testo p { text-align: left !important; }
.cf-articolo__testo ul, .cf-articolo__testo ol, .cf-pagina__testo ul, .cf-pagina__testo ol { padding-left: 1.3em; }
.cf-articolo__testo li + li, .cf-pagina__testo li + li { margin-top: .35em; }
.cf-articolo__testo img, .cf-pagina__testo img { border-radius: 12px; }
.cf-articolo__testo table, .cf-pagina__testo table { width: 100%; border-collapse: collapse; font-size: 16px; display: block; overflow-x: auto; }
.cf-articolo__testo th, .cf-articolo__testo td, .cf-pagina__testo th, .cf-pagina__testo td { border: 1px solid var(--cf-bordo); padding: 10px 12px; text-align: left; vertical-align: top; }
.cf-articolo__testo th, .cf-pagina__testo th { background: var(--cf-tenue); }
.cf-articolo__testo blockquote, .cf-pagina__testo blockquote { margin-inline: 0; padding: 4px 0 4px 16px; border-left: 4px solid var(--cf-blu); color: #3f4a5c; }
.cf-articolo__testo h1, .cf-pagina__testo h1 { font-size: clamp(24px, 3vw, 30px); }
/* Compatibilità con i blocchi scritti dal bot dell'editoria (nomi di colore del tema standard di WordPress) */
:is(.cf-articolo__testo, .cf-pagina__testo) :is(.has-contrast-border-color, .has-contrast-3-border-color) { border-color: var(--cf-bordo) !important; }
:is(.cf-articolo__testo, .cf-pagina__testo) .wp-block-separator.is-style-wide { width: 100%; max-width: none; }
:is(.cf-articolo__testo, .cf-pagina__testo) .has-base-background-color { background-color: var(--cf-tenue) !important; }
:is(.cf-articolo__testo, .cf-pagina__testo) .wp-block-group.has-background { border-radius: 16px; }
:is(.cf-articolo__testo, .cf-pagina__testo) .wp-block-group.has-border-color { border-radius: 16px; }
:is(.cf-articolo__testo, .cf-pagina__testo) .wp-block-group h3:first-child { margin-top: 0; font-size: 18px; }
.has-vivid-green-cyan-background-color { background-color: var(--cf-verde) !important; }
.has-luminous-vivid-green-background-color { background-color: var(--cf-verde) !important; }
.has-white-color { color: #fff !important; }
.has-white-background-color { background-color: #fff !important; }
.has-pale-cyan-blue-background-color, .has-light-blue-background-color { background-color: var(--cf-azzurro) !important; }
.has-light-gray-background-color, .has-cyan-bluish-gray-background-color { background-color: #f4f5f7 !important; }
.has-vivid-cyan-blue-background-color { background-color: var(--cf-blu) !important; }
.has-luminous-vivid-amber-background-color { background-color: var(--cf-ambra) !important; }
.has-vivid-red-background-color { background-color: #b42318 !important; }
.has-contrast-2-color, .has-gray-color, .has-cyan-bluish-gray-color { color: var(--cf-testo-2) !important; }
.has-primary-border-color { border-color: var(--cf-blu) !important; }
.has-secondary-color { color: var(--cf-blu-notte) !important; }
.has-small-font-size { font-size: 15px !important; }
.has-medium-font-size { font-size: 20px !important; }
.wp-block-button__link { display: inline-flex; align-items: center; justify-content: center; min-height: 52px; text-align: center; }

/* Indice e domande frequenti di Rank Math */
#rank-math-toc, .wp-block-rank-math-toc-block { background: var(--cf-tenue); border-radius: 16px; padding: 18px 20px; font-size: 16px; }
#rank-math-toc h2, .wp-block-rank-math-toc-block h2 { margin-top: 0 !important; font-size: 18px !important; }
#rank-math-faq .rank-math-list-item, .rank-math-faq-item { border-top: 1px solid var(--cf-bordo); padding-top: 12px; }
.rank-math-question { font-size: 19px !important; margin-top: .4em !important; }

/* Annunci con altezza riservata: la pagina non salta */
/* Annunci scritti dal bot nel testo (li toglie lo snippet "SNIPPET NO ADS" dove non vanno) */
.cf-articolo__testo ins.adsbygoogle { margin-block: 28px; }
ins.adsbygoogle[data-ad-status="unfilled"], .cf-annuncio:has(ins[data-ad-status="unfilled"]) { display: none !important; }
/* Pulsante WhatsApp fisso (computer, pagine senza annunci): sul telefono doppierebbe la barra in basso */
.cfu-wa-fab { position: fixed; right: 20px; bottom: 24px; z-index: 900; display: flex; align-items: center; height: 56px; width: 56px; border-radius: 28px; overflow: hidden; background: var(--cf-verde); color: #fff; text-decoration: none; box-shadow: 0 4px 14px rgba(0, 0, 0, .25); transition: width .25s ease; }
.cfu-wa-fab:hover, .cfu-wa-fab:focus-visible { width: 236px; }
.cfu-wa-icon { flex: 0 0 56px; display: flex; align-items: center; justify-content: center; }
.cfu-wa-text { white-space: nowrap; font-weight: 700; font-size: 15px; padding-right: 20px; opacity: 0; transition: opacity .2s ease .05s; }
.cfu-wa-fab:hover .cfu-wa-text, .cfu-wa-fab:focus-visible .cfu-wa-text { opacity: 1; }
@media (max-width: 959px) { .cfu-wa-fab { display: none !important; } }
@media print { .cfu-wa-fab { display: none !important; } }
.cf-annuncio { display: flex; flex-direction: column; align-items: center; gap: 6px; margin-block: 8px 24px; }
.cf-annuncio__etichetta { font-size: 12px; letter-spacing: .06em; text-transform: uppercase; color: #5b6576; }
.cf-annuncio__spazio { width: 100%; max-width: 336px; min-height: 280px; display: flex; align-items: center; justify-content: center; }
.cf-annuncio--orizzontale .cf-annuncio__spazio { max-width: 728px; min-height: 100px; }
.cf-annuncio__spazio span { width: 100%; height: 100%; min-height: inherit; display: flex; align-items: center; justify-content: center; background: #f4f5f7; border: 1px dashed #b9c0cc; border-radius: 8px; font-size: 14px; color: #5b6576; }

/* Invito al servizio */
.cf-invito { background: var(--cf-blu); color: #d6e2f5; border-radius: 18px; padding: 20px; display: flex; flex-direction: column; gap: 12px; }
.cf-invito h2, .cf-invito__titolo { margin: 0; font-size: 21px; line-height: 1.3; color: #fff; display: block; }
.cf-invito p { margin: 0; font-size: 16px; line-height: 1.5; }
.cf-invito__azioni { display: flex; flex-direction: column; gap: 10px; }
.cf-invito--articolo { margin-block: 8px 24px; }
.cf-articolo-lato .cf-invito--articolo { margin: 0; }

.cf-autore { margin-top: 16px; background: var(--cf-tenue); border-radius: 16px; padding: 18px; display: flex; gap: 14px; align-items: flex-start; }
.cf-autore strong { font-size: 17px; }
.cf-autore p { margin: 4px 0 6px; font-size: 15px; line-height: 1.5; color: #3f4a5c; }
.cf-autore a { font-size: 15px; font-weight: 700; }

/* Correlati */
.cf-correlati { background: var(--cf-tenue); padding-block: 36px 44px; }
.cf-correlati h2 { margin: 0; font-size: clamp(22px, 2.6vw, 30px); }
.cf-elenco-schede { display: grid; gap: 22px; }
@media (min-width: 700px) { .cf-elenco-schede { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 960px) { .cf-elenco-schede--tre { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.cf-correlati .cf-scheda { background: #fff; border-radius: 18px; overflow: hidden; }
.cf-correlati .cf-scheda__immagine { border-radius: 0; }
.cf-correlati .cf-scheda__corpo { padding: 0 16px 16px; }
.cf-correlati__sotto { display: grid; gap: 28px; margin-top: 32px; }
.cf-correlati__sotto .cf-titoletto, .cf-correlati__sotto .cf-argomenti .cf-titoletto { font-size: 19px; }
@media (min-width: 960px) { .cf-correlati__sotto { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 40px; } }

/* Pagina servizio ------------------------------------------------------ */
.cf-fatti { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin-top: 16px; max-width: 820px; }
.cf-fatto { background: #fff; border: 1px solid var(--cf-bordo); border-radius: 14px; padding: 12px 14px; display: flex; flex-direction: column; gap: 2px; }
.cf-fatto span { font-size: 13px; color: var(--cf-testo-2); }
.cf-fatto strong { font-size: 16px; }
.cf-testa-pagina--servizio .cf-apertura__azioni { margin-top: 16px; }
.cf-servizio-griglia { display: grid; gap: 40px; padding-block: 32px 56px; }
.cf-servizio-testo { min-width: 0; }
.cf-prenota { display: flex; flex-direction: column; gap: 16px; scroll-margin-top: 90px; }
.cf-prenota__scheda { background: #fff; border: 1px solid var(--cf-bordo); border-radius: 20px; padding: 22px; box-shadow: 0 10px 30px rgba(12,50,122,.08); display: flex; flex-direction: column; gap: 12px; }
.cf-prenota__scheda h2 { margin: 0; font-size: 22px; }
.cf-prenota__scheda > p { margin: 0; font-size: 15px; color: var(--cf-testo-2); }
.cf-prenota__sedi p { margin: 0 0 8px; font-size: 15px; line-height: 1.5; }
.cf-prenota__recaptcha { margin: 0; font-size: 12px; line-height: 1.4; color: var(--cf-testo-2); }
/* Il badge di reCAPTCHA copriva la barra in basso: la dicitura sotto il modulo lo sostituisce */
.grecaptcha-badge { visibility: hidden; }
.cf-guide-servizio { margin-top: 40px; }
.cf-guide-servizio h2 { font-size: 24px; }
@media (min-width: 700px) { .cf-fatti { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
@media (min-width: 960px) {
	.cf-servizio-griglia { grid-template-columns: minmax(0, 1fr) 360px; gap: 48px; padding-block: 48px 72px; }
	.cf-prenota { position: sticky; top: 140px; }
}

/* Moduli Contact Form 7 */
.wpcf7 form { display: flex; flex-direction: column; gap: 12px; }
.wpcf7 p { margin: 0; }
.wpcf7 label { display: flex; flex-direction: column; gap: 6px; font-size: 15px; font-weight: 600; }
.wpcf7 input[type="text"], .wpcf7 input[type="email"], .wpcf7 input[type="tel"], .wpcf7 input[type="date"], .wpcf7 select, .wpcf7 textarea {
	width: 100%; min-height: 48px; border: 1.5px solid var(--cf-campo); border-radius: 12px; padding: 10px 14px; font: inherit; font-size: 16px; color: var(--cf-testo); background: #fff;
}
.wpcf7 textarea { min-height: 110px; resize: vertical; }
.wpcf7 input[type="submit"] { width: 100%; min-height: 54px; border: 0; border-radius: 14px; background: var(--cf-ambra); color: #0c2350; font: inherit; font-weight: 700; font-size: 17px; cursor: pointer; }
.wpcf7 .wpcf7-list-item { margin: 0; display: flex; gap: 10px; align-items: flex-start; font-weight: 400; font-size: 14px; line-height: 1.45; }
.wpcf7 input[type="checkbox"] { width: 22px; height: 22px; flex: 0 0 22px; margin: 0; }

/* Pagine con testo: riquadri di servizio scritti a blocchi */
.cf-box-info { background: var(--cf-azzurro); border-radius: 14px; padding: 14px 16px; color: #0c2350; }
.cf-elenco-spunte { list-style: none; padding-left: 0 !important; }
.cf-elenco-spunte li { position: relative; padding-left: 32px; }
.cf-elenco-spunte li::before { content: ""; position: absolute; left: 0; top: .3em; width: 20px; height: 20px; background: no-repeat center / 20px url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23157a43' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E"); }
.cf-schede-tipi { display: grid; gap: 12px; }
@media (min-width: 700px) { .cf-schede-tipi { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.cf-schede-tipi > * { margin: 0 !important; border: 1px solid var(--cf-bordo); border-radius: 14px; padding: 14px 16px; }
.cf-schede-tipi h3 { margin: 0 0 4px !important; font-size: 18px !important; color: var(--cf-testo); }
.cf-schede-tipi p { margin: 0; font-size: 15px; line-height: 1.45; color: var(--cf-testo-2); }
.wp-block-details { border-top: 1px solid var(--cf-bordo); padding-block: 4px; }
.wp-block-details:last-of-type { border-bottom: 1px solid var(--cf-bordo); }
.wp-block-details summary { min-height: 56px; display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 12px 0; font-size: 17px; font-weight: 700; cursor: pointer; list-style: none; }
.wp-block-details summary::-webkit-details-marker { display: none; }
.wp-block-details summary::after { content: ""; flex: 0 0 22px; height: 22px; background: no-repeat center / 22px url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230c327a' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E"); transition: transform .15s; }
.wp-block-details[open] summary::after { transform: rotate(180deg); }
.wp-block-details > *:not(summary) { margin-top: 0; font-size: 16px; color: #3f4a5c; }

/* Pagine indice */
.cf-sottopagine { margin-top: 36px; }
.cf-sottopagine h2 { margin: 0 0 16px; font-size: clamp(22px, 2.6vw, 28px); }
.cf-sottopagine h2 a { color: inherit; text-decoration: none; }
.cf-servizi--pagine { grid-template-columns: 1fr; }
@media (min-width: 700px) { .cf-servizi--pagine { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.cf-contenitore--testo .cf-servizi--pagine { grid-template-columns: 1fr; }
@media (min-width: 700px) { .cf-contenitore--testo .cf-servizi--pagine { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.cf-servizi--pagine .cf-servizio { min-height: 0; }

/* Magazine: blocchi per argomento e inviti finali ---------------------- */
.cf-per-argomento { display: grid; gap: 28px; }
.cf-per-argomento__blocco { display: flex; flex-direction: column; border-top: 3px solid var(--cf-blu); padding-top: 14px; }
.cf-per-argomento__blocco h2 { margin: 0 0 6px; font-size: 21px; }
@media (min-width: 960px) { .cf-per-argomento { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 32px; } }
.cf-invito-doppio { display: grid; gap: 20px; }
.cf-invito-doppio .cf-newsletter { margin-top: 0; background: var(--cf-tenue); color: var(--cf-testo); }
.cf-invito-doppio .cf-newsletter__testo strong { color: var(--cf-blu); }
.cf-invito-doppio .cf-newsletter label { color: var(--cf-testo); }
.cf-invito-doppio .cf-newsletter input { border: 1.5px solid var(--cf-campo); }
.cf-invito-doppio .cf-newsletter button { border-color: var(--cf-blu); color: var(--cf-blu); background: #fff; }
@media (min-width: 960px) {
	.cf-invito-doppio { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
	.cf-invito-doppio .cf-newsletter { flex-direction: column; align-items: stretch; }
	.cf-invito-doppio .cf-newsletter__campi { flex: none; }
	.cf-invito { padding: 28px; }
	.cf-invito__azioni { flex-direction: row; flex-wrap: wrap; }
	.cf-articolo-lato .cf-invito__azioni { flex-direction: column; }
}

.cf-paginazione { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 32px; }
.cf-paginazione .page-numbers { min-width: 44px; min-height: 44px; display: inline-flex; align-items: center; justify-content: center; padding: 0 12px; border: 1px solid var(--cf-bordo); border-radius: 12px; text-decoration: none; font-weight: 600; }
.cf-paginazione .current { background: var(--cf-blu); border-color: var(--cf-blu); color: #fff; }

/* Vecchi contenuti Enfold convertiti ---------------------------------- */
.cf-avia + .cf-avia { margin-top: 1em; }
.cf-avia > *:first-child { margin-top: 0; }
.cf-avia-figura { margin: 0 0 1em; }
.cf-avia-figura img { display: block; margin-inline: auto; }
.cf-avia-separatore { border: 0; border-top: 1px solid var(--cf-bordo); margin: 1.5em 0; }
.cf-avia-elenco { padding-left: 1.2em; }
.cf-avia-dettagli { border-top: 1px solid var(--cf-bordo); padding: 8px 0; }
.cf-avia-dettagli summary { font-weight: 700; cursor: pointer; padding: 8px 0; }
.cf-avia-recensioni { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 16px; padding: 16px; background: var(--cf-tenue); border-radius: 14px; }
.cf-tabella-scorrevole { overflow-x: auto; }
/* Formule e calcoli scritti dal bot in blocchi preformattati (150 articoli): a capo, mai fuori dallo schermo. */
.wp-block-post-content pre { white-space: pre-wrap; overflow-wrap: anywhere; max-width: 100%; }

/* HTML già generato da Enfold e salvato nel testo (circa 200 articoli, quasi tutti del 2026): l'aspetto che
   gli dava il CSS di Enfold, con l'HTML invariato. Dati nascosti, paginazione e frecce del carosello Enfold
   non li mostrava. */
.wp-block-post-content .av-structured-data,
.wp-block-post-content .pagination-wrap,
.wp-block-post-content .avia-slideshow-arrows,
.wp-block-post-content .avia-slideshow-dots,
.wp-block-post-content .av-extra-border-element,
.wp-block-post-content .avia-content-slider .slide-entry-excerpt,
.wp-block-post-content .avia-content-slider .slide-meta-del,
.wp-block-post-content .avia-content-slider .slide-meta-comments { display: none !important; }
.wp-block-post-content .av-screen-reader-only { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.wp-block-post-content .avia-section { margin: 1.5em 0; padding: 20px; border-radius: 14px; }
.wp-block-post-content .entry-content-wrapper::after,
.wp-block-post-content .flex_column_table::after { content: ""; display: table; clear: both; }
.wp-block-post-content .flex_column { float: left; margin-left: 6%; min-height: 1px; }
.wp-block-post-content .flex_column.first { margin-left: 0; clear: left; }
.wp-block-post-content .av_one_full { width: 100%; margin-left: 0; float: none; }
.wp-block-post-content .av_one_half { width: 47%; }
.wp-block-post-content .av_one_third { width: 29.333%; }
.wp-block-post-content .av_two_third { width: 64.667%; }
.wp-block-post-content .av_one_fourth { width: 20.5%; }
.wp-block-post-content .av_three_fourth { width: 73.5%; }
.wp-block-post-content .av_one_fifth { width: 15.2%; }
.wp-block-post-content .av_two_fifth { width: 36.4%; }
.wp-block-post-content .av_three_fifth { width: 57.6%; }
.wp-block-post-content .av_four_fifth { width: 78.8%; }
.wp-block-post-content .avia-image-container.avia-align-center { text-align: center; }
.wp-block-post-content .avia-image-container img { max-width: 100%; height: auto; }

/* Carosello "articoli correlati" di Enfold → schede come quelle del tema */
.wp-block-post-content .avia-content-slider { margin: 1.5em 0; }
.wp-block-post-content .avia-content-slider .slide-entry-wrap { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 210px), 1fr)); gap: 16px; }
.wp-block-post-content .avia-content-slider .slide-entry-wrap + .slide-entry-wrap { margin-top: 16px; }
.wp-block-post-content .avia-content-slider .slide-entry { float: none; width: auto; margin: 0; display: flex; flex-direction: column; background: #fff; border: 1px solid var(--cf-bordo); border-radius: 14px; overflow: hidden; }
.wp-block-post-content .avia-content-slider .slide-image { display: block; }
.wp-block-post-content .avia-content-slider .slide-image img { display: block; width: 100%; height: auto; aspect-ratio: 16 / 10; object-fit: cover; margin: 0; border-radius: 0; }
.wp-block-post-content .avia-content-slider .slide-content { padding: 12px 14px 14px; display: flex; flex-direction: column; gap: 6px; }
.wp-block-post-content .avia-content-slider .entry-content-header,
.wp-block-post-content .avia-content-slider .entry-footer { margin: 0; }
.wp-block-post-content .avia-content-slider .blog-categories { display: block; font-size: 12px; font-weight: 700; line-height: 1.4; }
.wp-block-post-content .avia-content-slider .blog-categories a { color: var(--cf-blu); text-decoration: none; }
.wp-block-post-content .avia-content-slider .slide-entry-title { margin: 4px 0 0; font-size: 16px; line-height: 1.35; }
.wp-block-post-content .avia-content-slider .slide-entry-title a { color: var(--cf-testo); text-decoration: none; }
.wp-block-post-content .avia-content-slider .slide-entry-title a:hover { color: var(--cf-blu); text-decoration: underline; }
.wp-block-post-content .avia-content-slider .entry-footer { margin-top: auto; padding: 0 14px 14px; }
.wp-block-post-content .avia-content-slider .slide-meta { font-size: 13px; color: var(--cf-testo-2); }
@media (max-width: 767px) {
	.wp-block-post-content .flex_column { float: none; width: 100%; margin-left: 0; }
	.wp-block-post-content .flex_column:not(.slide-entry) + .flex_column { margin-top: 16px; }
	.wp-block-post-content .avia-section { padding: 16px; }
}

/* Ricerca nel 404 */
.wp-block-search__inside-wrapper { display: flex; gap: 8px; max-width: 520px; }
.wp-block-search__input { min-height: 50px; border: 1.5px solid var(--cf-campo); border-radius: 12px; padding: 0 14px; font: inherit; font-size: 16px; flex: 1; }
.wp-block-search__button { min-height: 50px; border: 0; border-radius: 12px; padding: 0 20px; background: var(--cf-blu); color: #fff; font: inherit; font-weight: 700; }

/* Piè di pagina -------------------------------------------------------- */
.cf-piede { background: var(--cf-blu-notte); color: #d6e2f5; padding-block: 40px 28px; font-size: 15px; line-height: 1.55; }
.cf-piede a { color: #fff; }
.cf-piede__griglia { display: grid; gap: 28px; }
.cf-piede__marchio img { height: 26px; width: auto; display: block; margin-bottom: 12px; }
.cf-piede__marchio p { margin: 0 0 12px; }
.cf-piede__colonna { display: flex; flex-direction: column; gap: 2px; }
.cf-piede__colonna strong { color: #fff; margin-bottom: 6px; }
.cf-piede__colonna > a { color: #d6e2f5; text-decoration: none; padding: 6px 0; }
.cf-piede__colonna > a:hover { color: #fff; text-decoration: underline; }
.cf-piede__colonna p { margin: 0 0 10px; }
.cf-piede__legale { margin: 28px 0 0; padding-top: 18px; border-top: 1px solid rgba(255,255,255,.15); font-size: 13px; color: #b8c7e0; }
.cf-piede__legale a { color: #b8c7e0; }
@media (min-width: 700px) { .cf-piede__griglia { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 960px) { .cf-piede { padding-block: 56px 32px; } .cf-piede__griglia { grid-template-columns: 1.4fr 1fr 1fr 1.2fr; gap: 32px; } }

@media (min-width: 960px) {
	.cf-sezione { padding-block: 64px; }
	.cf-sezione--stretta { padding-block-start: 16px; }
}
