/*
 * SEZIONI — famiglia di blocchi "a sezioni" del costruttore v.05 (nata con Il Faro Blu, 10/2026).
 * Ogni blocco è una <section class="sezione sezione--<tipo> sezione--sfondo-<sfondo>"> a tutta
 * larghezza con il proprio contenitore centrato: i colori arrivano dalle variabili di palette
 * (opzioni "Identità" del plugin base, stampate in :root), i font dalle opzioni Font.
 * Comprende anche la fascia istituzionale, le azioni della testata (bottone, social) e il piede
 * esteso. Niente animazioni allo scroll, niente parallasse: rispetta prefers-reduced-motion.
 */

:root {
	/* palette: valori neutri, ridefiniti dalle opzioni Identità */
	--primario: #1e73be;
	--primario-scuro: #15528a;
	--primario-chiaro: #e9f1fa;
	--primario-tenue: #c9dcf0;
	--secondario: #7d7d9c;
	--secondario-testo: #5a5a7a;
	--secondario-chiaro: #efeff4;
	--accento: #f6c445;
	--accento-chiaro: #fff3cf;
	--inchiostro: #1b2437;
	--testo: #2b3446;
	--testo-tenue: #5a6475;
	--bordo: #dfe4ec;
	--fondo-chiaro: #f5f7fb;
	--bianco: #fff;
	--raggio: 24px;
	--raggio-piccolo: 14px;
	--sez-margine: clamp(18px, 4vw, 40px);
	--sez-larghezza: 1180px;
	--sez-larghezza-stretta: 760px;
	--sez-spazio: clamp(56px, 8vw, 104px);
	--sez-ombra: 0 10px 30px rgba(27, 36, 55, .08);
	--sez-ombra-leggera: 0 2px 10px rgba(27, 36, 55, .06);
	--fascia-h: 64px;
	--testata-h: 100px;
}

@media (prefers-reduced-motion: reduce) {
	.sezione *, .sezione *::before, .sezione *::after { transition-duration: 0s !important; animation: none !important; }
}

/* --- base della sezione: annulla le regole generali del generatore ----------- */

.sezione { padding-block: var(--sez-spazio); color: var(--testo); font-size: 17px; line-height: 1.65; }
.sezione--sfondo-chiaro { background: var(--primario-chiaro); }
.sezione--sfondo-lilla { background: var(--secondario-chiaro); }
.sezione--sfondo-bianco { background: var(--bianco); }
.sezione--sfondo-chiaro + .sezione--sfondo-chiaro, .sezione--sfondo-bianco + .sezione--sfondo-bianco { padding-top: 0; }
.sezione__contenitore { width: min(100% - 2 * var(--sez-margine), var(--sez-larghezza)); margin-inline: auto; }
.sezione__contenitore--stretto { width: min(100% - 2 * var(--sez-margine), var(--sez-larghezza-stretta)); }

.generatore-blocchi .sezione p { font-size: 1em; color: inherit; margin: 0; }
.generatore-blocchi .sezione p + p { margin-top: 1em; }
.generatore-blocchi .sezione h1, .generatore-blocchi .sezione h2, .generatore-blocchi .sezione h3, .generatore-blocchi .sezione h4 {
	color: var(--inchiostro); line-height: 1.15; letter-spacing: -.01em; font-weight: 800;
}
.sezione :where(h1, h2, h3, h4) { margin: 0; } /* azzeramento a specificità zero: i margini dei componenti vincono */
.generatore-blocchi .sezione h1 { font-size: clamp(2.1rem, 4.2vw, 3.1rem); letter-spacing: -.02em; }
.generatore-blocchi .sezione h2 { font-size: clamp(1.7rem, 3.2vw, 2.5rem); }
.generatore-blocchi .sezione h3 { font-size: 1.25rem; font-weight: 700; letter-spacing: 0; }
.generatore-blocchi .sezione h4 { font-size: 1.1rem; font-weight: 700; letter-spacing: 0; }
.sezione ul, .sezione ol { margin: 0; padding: 0; list-style: none; }
.sezione img { display: block; max-width: 100%; height: auto; }
.sezione a { color: var(--primario); text-decoration-thickness: 1px; text-underline-offset: 3px; }
.sezione a:hover { color: var(--primario-scuro); }
.sezione strong { font-weight: 700; color: var(--inchiostro); }
.sezione :focus-visible { outline: 3px solid var(--primario); outline-offset: 3px; border-radius: 4px; }
.sezione .testo-ricco ul { list-style: disc; padding-left: 1.3em; margin: 1em 0; }
.sezione .testo-ricco li + li { margin-top: .4em; }

/* --- componenti ricorrenti --------------------------------------------------- */

.sezione .etichetta, .piede-esteso .etichetta {
	font-family: var(--font-h2-family); font-size: .82rem; font-weight: 700; letter-spacing: .12em;
	text-transform: uppercase; color: var(--secondario-testo); margin: 0 0 12px;
}
.sezione__testa { max-width: 780px; margin-bottom: clamp(32px, 4vw, 52px); }
.sezione__testa .sezione__titolo { margin-bottom: 14px; }
.sezione__intro { font-size: 1.12rem; }

.bottoni { display: flex; flex-wrap: wrap; gap: 12px 16px; margin-top: 28px; align-items: center; }
.bottoni--centro { justify-content: center; }
.sezione .bottone, .testata__azioni .bottone, .overlay-menu .bottone {
	display: inline-flex; align-items: center; gap: 10px;
	padding: 14px 26px; border-radius: 999px; border: 2px solid var(--primario);
	font-family: var(--font-h2-family); font-weight: 700; font-size: 1rem; line-height: 1.2;
	text-decoration: none; cursor: pointer; transition: background-color .2s, color .2s, border-color .2s;
}
.bottone--pieno { background: var(--primario); color: var(--bianco) !important; }
.bottone--pieno:hover { background: var(--primario-scuro); border-color: var(--primario-scuro); }
.bottone--vuoto { background: transparent; color: var(--primario); }
.bottone--vuoto:hover { background: var(--primario-chiaro); color: var(--primario-scuro); }
.bottone--bianco { background: var(--bianco); color: var(--primario) !important; border-color: var(--bianco); }
.bottone--bianco:hover { background: var(--primario-chiaro); border-color: var(--primario-chiaro); }
.sezione .bottone--testo { padding: 6px 0; border: 0; border-radius: 4px; color: var(--primario); background: transparent; }
.sezione .bottone--testo:hover { text-decoration: underline; text-underline-offset: 4px; }
.bottone__freccia { width: 20px; height: 20px; transition: transform .2s; }
.bottone--testo:hover .bottone__freccia { transform: translateX(3px); }

.icona { width: 24px; height: 24px; flex: none; vertical-align: -6px; }

.badge {
	display: inline-block; padding: 4px 10px; border-radius: 999px;
	font-family: var(--font-h2-family); font-size: .74rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; line-height: 1.3;
	background: var(--primario-chiaro); color: var(--primario);
}

.elenco-spunte { display: grid; gap: 12px; margin-top: 20px; }
.elenco-spunte li { display: flex; gap: 12px; align-items: flex-start; }
.elenco-spunte .icona { color: var(--primario); margin-top: 3px; background: var(--primario-chiaro); border-radius: 50%; padding: 3px; width: 26px; height: 26px; }
.sezione .nota { margin-top: 20px; font-size: .92rem; color: var(--testo-tenue); }
.citazione-istituzionale { margin: 24px 0 0; padding: 22px 26px; border-left: 4px solid var(--secondario); background: var(--fondo-chiaro); border-radius: 0 var(--raggio-piccolo) var(--raggio-piccolo) 0; }
.generatore-blocchi .citazione-istituzionale p { font-size: .95rem; color: var(--testo-tenue); }

/* icone colorate per area */
.colore-blu { --tinta-sfondo: var(--primario-chiaro); --tinta: var(--primario); }
.colore-lilla { --tinta-sfondo: var(--secondario-chiaro); --tinta: var(--secondario-testo); }
.colore-giallo { --tinta-sfondo: var(--accento-chiaro); --tinta: #7a5a00; }
.colore-notte { --tinta-sfondo: var(--primario-scuro); --tinta: var(--bianco); }

/* --- intestazione di pagina --------------------------------------------------- */

.sezione--intestazione_pagina { padding-block: clamp(40px, 6vw, 80px); }
.intestazione__griglia { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); gap: 40px; align-items: center; }
.intestazione__griglia--solo-testo { grid-template-columns: 1fr; }
.intestazione__testo { max-width: 820px; }
.intestazione__testo h1 { margin-bottom: 18px; }
.intestazione__intro { font-size: 1.15rem; }
.intestazione__figura img { width: 100%; max-width: 480px; margin-inline: auto; }
@media (max-width: 800px) { .intestazione__griglia { grid-template-columns: 1fr !important; } .intestazione__figura { display: none; } }

/* --- hero --------------------------------------------------------------------- */

.sezione--hero_illustrazione { padding-block: clamp(32px, 5vw, 72px) var(--sez-spazio); }
.hero__griglia { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(32px, 5vw, 72px); align-items: center; }
.hero__griglia--destra .hero__figura { order: 2; }
.hero__figura img { width: 100%; max-width: 640px; margin-inline: auto; }
.hero__testo h1 { margin-bottom: 20px; }
.generatore-blocchi .hero__testo p { font-size: 1.18rem; }
@media (max-width: 900px) {
	.hero__griglia { grid-template-columns: 1fr; }
	.hero__figura { order: 2; }
	.hero__figura img { max-width: 460px; }
}

/* --- loghi partner ------------------------------------------------------------ */

.sezione--loghi_partner { padding-block: 32px 48px; }
.loghi__etichetta { text-align: center; }
.loghi__fila { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 24px 48px; }
.loghi__voce a, .loghi__voce span { display: block; padding: 8px; border-radius: 10px; }
.loghi__voce img { height: 56px; width: auto; max-width: 180px; object-fit: contain; }
.loghi__link { text-align: center; margin-top: 24px; }
@media (max-width: 600px) { .loghi__fila { gap: 16px 28px; } .loghi__voce img { height: 42px; max-width: 130px; } }

.partner__elenco { display: grid; gap: 20px; }
.partner__voce { display: grid; grid-template-columns: 240px minmax(0, 1fr); gap: 32px; align-items: center; padding: 32px; border: 2px solid var(--bordo); border-radius: var(--raggio); scroll-margin-top: calc(var(--testata-h) + 24px); }
.partner__logo { display: flex; align-items: center; justify-content: center; min-height: 120px; padding: 16px; background: var(--bianco); border-radius: var(--raggio-piccolo); }
.partner__logo img { max-height: 110px; width: auto; max-width: 100%; object-fit: contain; }
.generatore-blocchi .partner__nome { font-size: 1.5rem; margin-bottom: 10px; }
.link-esterno { display: inline-flex; align-items: center; gap: 6px; }
.link-esterno .icona { width: 16px; height: 16px; }
@media (max-width: 760px) { .partner__voce { grid-template-columns: 1fr; gap: 16px; padding: 24px; } .partner__logo { min-height: 90px; } .partner__logo img { max-height: 80px; } }

/* --- card delle aree ---------------------------------------------------------- */

.aree__griglia { display: grid; gap: 20px; }
.aree__griglia--2 { grid-template-columns: repeat(2, 1fr); }
.aree__griglia--3 { grid-template-columns: repeat(3, 1fr); }
.aree__griglia--4 { grid-template-columns: repeat(4, 1fr); }
.card-area {
	position: relative; display: flex; flex-direction: column; gap: 12px; padding: 28px 26px 30px;
	background: var(--bianco); border-radius: var(--raggio); box-shadow: var(--sez-ombra-leggera);
	transition: box-shadow .2s, transform .2s;
}
.card-area:hover { box-shadow: var(--sez-ombra); transform: translateY(-2px); }
.card-area__icona { display: inline-flex; align-items: center; justify-content: center; width: 58px; height: 58px; border-radius: 18px; background: var(--tinta-sfondo, var(--primario-chiaro)); color: var(--tinta, var(--primario)); }
.card-area__icona .icona { width: 28px; height: 28px; }
.generatore-blocchi .card-area__titolo { font-size: 1.22rem; }
.card-area__titolo a { color: inherit; text-decoration: none; }
.card-area__titolo a::after { content: ''; position: absolute; inset: 0; border-radius: var(--raggio); }
.card-area__titolo a:focus-visible { outline: none; }
.card-area:has(.card-area__titolo a:focus-visible) { outline: 3px solid var(--primario); outline-offset: 3px; }
.generatore-blocchi .card-area__testo { color: var(--testo-tenue); font-size: .98rem; flex: 1; }
.card-area__freccia { color: var(--primario); }
.card-area__freccia .icona { transition: transform .2s; }
.card-area:hover .card-area__freccia .icona { transform: translateX(4px); }
@media (max-width: 1000px) { .aree__griglia--3, .aree__griglia--4 { grid-template-columns: 1fr 1fr; } }
@media (max-width: 560px) { .aree__griglia { grid-template-columns: 1fr !important; } }

/* --- fascia colorata con CTA -------------------------------------------------- */

.fascia--primario { background: var(--primario); color: var(--bianco); }
.generatore-blocchi .fascia--primario h2, .fascia--primario strong, .fascia--primario .etichetta { color: var(--bianco); }
.fascia--primario .etichetta { color: var(--primario-tenue); }
.fascia--lilla { background: var(--secondario-chiaro); }
.fascia--chiaro { background: var(--primario-chiaro); }
.fascia__griglia { display: grid; grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr); gap: 40px; align-items: center; }
.fascia__titolo { margin-bottom: 18px; }
.generatore-blocchi .fascia__testo p { font-size: 1.1rem; max-width: 640px; }
.fascia__icona { display: flex; justify-content: center; }
.fascia__icona .icona { width: clamp(120px, 18vw, 220px); height: auto; opacity: .35; stroke-width: 1; }
@media (max-width: 800px) { .fascia__griglia { grid-template-columns: 1fr; } .fascia__icona { display: none; } }

/* --- sezione di testo --------------------------------------------------------- */

.sezione--sezione_testo .sezione__testa { margin-bottom: 20px; }
.generatore-blocchi .sezione--sezione_testo .testo-ricco p { font-size: 1.05rem; }

/* --- obiettivi (icona + testo) ----------------------------------------------- */

.obiettivi__griglia { display: grid; gap: 20px; }
.obiettivi__griglia--3 { grid-template-columns: repeat(3, 1fr); }
.obiettivi__griglia--2 { grid-template-columns: repeat(2, 1fr); }
.obiettivo { display: flex; flex-direction: column; gap: 14px; padding: 26px 26px 28px; background: var(--bianco); border-radius: var(--raggio); box-shadow: var(--sez-ombra-leggera); }
.sezione--sfondo-bianco .obiettivo { border: 2px solid var(--bordo); box-shadow: none; }
.obiettivo__icona { display: inline-flex; align-items: center; justify-content: center; width: 52px; height: 52px; border-radius: 16px; background: var(--primario-chiaro); color: var(--primario); }
.obiettivo__icona .icona { width: 26px; height: 26px; }
.generatore-blocchi .obiettivo__testo { font-family: var(--font-h2-family); font-weight: 600; font-size: 1.08rem; color: var(--inchiostro); line-height: 1.4; }
.generatore-blocchi .obiettivo__titolo { font-size: 1.15rem; }
@media (max-width: 900px) { .obiettivi__griglia--3 { grid-template-columns: 1fr 1fr; } }
@media (max-width: 560px) { .obiettivi__griglia { grid-template-columns: 1fr !important; } }

/* --- immagine e schede -------------------------------------------------------- */

.immagine-schede__griglia { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr); gap: clamp(32px, 5vw, 72px); align-items: center; }
.immagine-schede__griglia--destra .immagine-schede__figura { order: 2; }
.immagine-schede__figura img { width: 100%; max-width: 560px; margin-inline: auto; border-radius: var(--raggio); }
.immagine-schede__schede { display: grid; gap: 22px; }
.scheda-icona { padding: 24px 26px; background: var(--bianco); border-radius: var(--raggio); box-shadow: var(--sez-ombra-leggera); }
.sezione--sfondo-bianco .scheda-icona { border: 2px solid var(--bordo); box-shadow: none; }
.generatore-blocchi .scheda-icona h2, .generatore-blocchi .scheda-icona h3 { display: flex; align-items: center; gap: 10px; margin-bottom: 10px; font-size: 1.25rem; font-weight: 700; letter-spacing: 0; }
.scheda-icona .icona { color: var(--primario); }
.generatore-blocchi .scheda-icona p { font-size: .98rem; }
@media (max-width: 800px) { .immagine-schede__griglia { grid-template-columns: 1fr; } .immagine-schede__griglia--destra .immagine-schede__figura { order: 0; } }

/* --- passi numerati ----------------------------------------------------------- */

.passi__elenco { display: grid; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); gap: 20px; }
.passo { padding: 28px 26px 30px; background: var(--bianco); border-radius: var(--raggio); box-shadow: var(--sez-ombra-leggera); }
.sezione--sfondo-bianco .passo { border: 2px solid var(--bordo); box-shadow: none; }
.passo__numero { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; border-radius: 50%; background: var(--primario); color: var(--bianco); font-family: var(--font-h2-family); font-weight: 800; font-size: 1.15rem; margin-bottom: 16px; }
.generatore-blocchi .passo__titolo { margin-bottom: 8px; font-size: 1.15rem; }
.generatore-blocchi .passo p { font-size: .98rem; color: var(--testo-tenue); }

/* --- sotto-navigazione di pagina ------------------------------------------- */

.sottomenu { position: sticky; top: var(--testata-h); z-index: 8; background: var(--bianco); border-bottom: 1px solid var(--bordo); }
.sottomenu ul, .sottomenu li { list-style: none; margin: 0; padding: 0; }
.sottomenu__voci { display: flex; gap: 6px; overflow-x: auto; padding: 10px 0; scrollbar-width: thin; }
.sottomenu__voci a {
	display: inline-flex; align-items: center; gap: 8px; white-space: nowrap; padding: 9px 16px; border-radius: 999px;
	font-family: var(--font-h2-family); font-weight: 600; font-size: .92rem; color: var(--inchiostro); text-decoration: none;
	background: var(--fondo-chiaro);
}
.sottomenu__voci a .icona { width: 18px; height: 18px; color: var(--primario); }
.sottomenu__voci a:hover { background: var(--primario-chiaro); color: var(--primario); }
.sottomenu__voci a.is-attivo { background: var(--primario); color: var(--bianco); }
.sottomenu__voci a.is-attivo .icona { color: var(--bianco); }
html { scroll-padding-top: calc(var(--testata-h) + 72px); }

/* --- schede: fisarmonica e card ---------------------------------------------- */

.schede__testa { display: flex; gap: 20px; align-items: flex-start; }
.schede__icona { display: inline-flex; align-items: center; justify-content: center; flex: none; width: 64px; height: 64px; border-radius: 20px; background: var(--primario-chiaro); color: var(--primario); }
.schede__icona .icona { width: 30px; height: 30px; }
.generatore-blocchi .schede__gruppo { display: flex; align-items: center; gap: 12px; margin: 36px 0 18px; font-size: 1.3rem; }
.generatore-blocchi .schede__gruppo:first-of-type { margin-top: 0; }
.schede__conteggio { display: inline-flex; align-items: center; justify-content: center; min-width: 30px; height: 30px; padding: 0 8px; border-radius: 999px; background: var(--primario-chiaro); color: var(--primario); font-size: .9rem; }

.fisarmonica { display: grid; gap: 10px; }
.fisarmonica__voce { border: 2px solid var(--bordo); border-radius: var(--raggio-piccolo); background: var(--bianco); }
.fisarmonica__voce[open] { border-color: var(--primario-tenue); }
.fisarmonica__sommario {
	display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 18px 22px; cursor: pointer; list-style: none;
	font-family: var(--font-h2-family); font-weight: 700; font-size: 1.1rem; color: var(--inchiostro); border-radius: var(--raggio-piccolo);
}
.fisarmonica__sommario::-webkit-details-marker { display: none; }
.fisarmonica__sommario:hover { color: var(--primario); }
.fisarmonica__segno { position: relative; flex: none; width: 32px; height: 32px; border-radius: 50%; background: var(--primario-chiaro); }
.fisarmonica__segno::before, .fisarmonica__segno::after { content: ''; position: absolute; left: 50%; top: 50%; width: 14px; height: 2px; background: var(--primario); transform: translate(-50%, -50%); }
.fisarmonica__segno::after { transform: translate(-50%, -50%) rotate(90deg); }
.fisarmonica__voce[open] .fisarmonica__segno::after { display: none; }
.fisarmonica__corpo { padding: 0 22px 22px; }

.scheda__righe { display: grid; gap: 8px; margin: 14px 0 0; }
.scheda__righe div { display: grid; grid-template-columns: 90px 1fr; gap: 12px; font-size: .95rem; }
.scheda__righe dt { font-family: var(--font-h2-family); font-weight: 700; font-size: .78rem; letter-spacing: .1em; text-transform: uppercase; color: var(--secondario-testo); padding-top: 3px; }
.scheda__righe dd { margin: 0; color: var(--testo); }

.schede__griglia { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.scheda { padding: 26px 26px 28px; background: var(--bianco); border-radius: var(--raggio); box-shadow: var(--sez-ombra-leggera); }
.sezione--sfondo-bianco .scheda { border: 2px solid var(--bordo); box-shadow: none; }
.generatore-blocchi .scheda__titolo { margin-bottom: 10px; font-size: 1.12rem; }
.generatore-blocchi .scheda p { font-size: .98rem; }
.schede__piede { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 16px 32px; margin-top: 32px; padding-top: 24px; border-top: 1px solid var(--bordo); }
.schede__agenda { display: flex; align-items: center; gap: 10px; color: var(--testo-tenue); font-size: .95rem; }
.schede__agenda .icona { color: var(--primario); }
.schede__piede .bottoni { margin-top: 0; }
@media (max-width: 1000px) { .schede__griglia { grid-template-columns: 1fr 1fr; } }
@media (max-width: 600px) { .schede__griglia { grid-template-columns: 1fr; } .schede__testa { flex-direction: column; } }

/* --- chiusura ----------------------------------------------------------------- */

.sezione--cta_finale { padding-block: 0 var(--sez-spazio); }
.sezione--sfondo-chiaro + .sezione--cta_finale, .sezione--sfondo-lilla + .sezione--cta_finale { padding-top: var(--sez-spazio); }
.cta-finale__scatola { padding: clamp(36px, 5vw, 64px); text-align: center; background: var(--primario-chiaro); border-radius: var(--raggio); }
.cta-finale__titolo { margin-bottom: 14px; }
.generatore-blocchi .cta-finale__scatola p { max-width: 640px; margin-inline: auto; font-size: 1.08rem; }

/* =============================================================================
   TESTATA: fascia istituzionale, modalità "con fascia" (sticky), azioni
   ============================================================================= */

.fascia-istituzionale { height: var(--fascia-h); display: flex; align-items: center; border-bottom: 1px solid var(--bordo); background: var(--bianco); }
.fascia-istituzionale__contenitore { width: min(100% - 2 * var(--sez-margine), var(--sez-larghezza)); margin-inline: auto; }
.fascia-istituzionale img { display: block; width: 100%; max-width: 860px; height: auto; margin-inline: auto; }

/* Con la fascia attiva la testata fissa diventa sticky con top negativo: la fascia scorre via,
   la barra con logo e menu resta. La barra non si riduce allo scroll (sito calmo). */
.testata-con-fascia { position: sticky; top: calc(-1 * var(--fascia-h)); z-index: 9; background: var(--bianco); }
.testata-con-fascia #testata-fissa { position: relative; height: var(--testata-h); padding-top: 0; display: flex; align-items: center; background: var(--bianco); box-shadow: var(--sez-ombra-leggera); }
.testata-con-fascia #testata-fissa > .corpo100-padd { width: min(100% - 2 * var(--sez-margine), var(--sez-larghezza)); padding: 0; }
.testata-con-fascia .testata img.piccolo, .testata-con-fascia .testata img.medio-piccolo, .testata-con-fascia .testata img.medio { height: auto; width: 200px; } /* manuale del logo: mai sotto 200 px */
.testata-con-fascia .elm-blc-centrato-dx-auto { display: flex; align-items: center; gap: 24px; }
.testata-con-fascia #primary_nav_wrap { margin-top: 0; }
.testata-con-fascia #primary_nav_wrap ul li { height: auto; }
.testata-con-fascia .testata #primary_nav_wrap ul a { font-size: .98rem; text-transform: none; color: var(--inchiostro); padding: 8px 11px; border-bottom: 2px solid transparent; }
.testata-con-fascia .testata #primary_nav_wrap ul a:hover { color: var(--primario); }
.testata-con-fascia .testata #primary_nav_wrap ul li.is-corrente > div > a { color: var(--primario); border-bottom-color: var(--primario); }
.testata__azioni { display: flex; align-items: center; gap: 10px; }
.testata__azioni .bottone { padding: 11px 20px; font-size: .95rem; }
.testata__social {
	display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; border-radius: 50%;
	color: var(--primario); background: var(--primario-chiaro); text-decoration: none;
}
.testata__social:hover { background: var(--primario); color: var(--bianco); }
.testata__social .icona { width: 22px; height: 22px; }
.salta-al-contenuto { position: absolute; left: -9999px; top: 0; z-index: 1000; padding: 12px 18px; background: var(--primario); color: var(--bianco); font-weight: 700; text-decoration: none; }
.salta-al-contenuto:focus { left: 16px; top: 16px; }
.ha-fascia :focus-visible { outline: 3px solid var(--primario); outline-offset: 3px; }
.ha-fascia .footer-nuovo :focus-visible, .ha-fascia .overlay :focus-visible { outline-color: var(--bianco); }
#contenuto:focus { outline: none; }
.solo-lettori { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
/* il bottone del menu a tutto schermo resta nella barra, non fisso nella finestra */
.testata-con-fascia .button_container { position: absolute; top: 50% !important; right: var(--sez-margine); transform: translateY(-50%); margin: 0; }
.testata-con-fascia .button_container.active { position: fixed; top: calc(var(--testata-h) / 2) !important; }
.testata-con-fascia .button_container span.tipo2 { background: var(--inchiostro) !important; }
@media (max-width: 1250px) { .testata-con-fascia .testata__azioni { display: none; } }
@media (max-width: 1080px) { :root { --testata-h: 84px; --fascia-h: 48px; } }
@media (max-width: 480px) { :root { --fascia-h: 40px; } .testata-con-fascia .testata img.piccolo, .testata-con-fascia .testata img.medio-piccolo, .testata-con-fascia .testata img.medio { width: 170px; } }

/* menu a tutto schermo nei colori della palette */
.ha-fascia .overlay { background: var(--primario) !important; }
.ha-fascia .overlay.open { opacity: 1; } /* niente trasparenza: la pagina sotto non deve trasparire */
.ha-fascia .overlay ul li a { color: var(--bianco) !important; font-family: var(--font-menu-family); }
.ha-fascia .overlay-menu .overlay__azioni { display: flex; flex-wrap: wrap; gap: 12px; padding: 24px 0 0; }
.ha-fascia .overlay-menu .overlay__azioni .bottone--bianco { color: var(--primario) !important; }
.ha-fascia .overlay-menu .overlay__azioni .bottone--vuoto { color: var(--bianco) !important; border-color: var(--bianco); }

/* =============================================================================
   PIEDE ESTESO: fascia istituzionale su bianco + social
   ============================================================================= */

.piede-istituzionale { padding: 40px 0 32px; border-top: 1px solid var(--bordo); background: var(--bianco); }
.piede-istituzionale__contenitore { width: min(100% - 2 * var(--sez-margine), var(--sez-larghezza)); margin-inline: auto; }
.piede-istituzionale img { display: block; width: 100%; max-width: 860px; margin: 0 auto 22px; height: auto; }
.generatore-blocchi .footer-nuovo p, .generatore-blocchi .piede-istituzionale p { font-size: 1rem; margin: 0; }
.footer-nuovo { font-size: 1rem; line-height: 1.5; }
.generatore-blocchi .footer-nuovo .footer-nuovo__text { line-height: 1.5; }
.generatore-blocchi .footer-nuovo .footer-nuovo__text p { margin-bottom: 8px; }
.generatore-blocchi .piede-istituzionale__frase, .generatore-blocchi .piede-istituzionale p.piede-istituzionale__frase { max-width: 980px; margin: 0 auto; font-size: .8rem; line-height: 1.55; color: var(--testo-tenue); text-align: center; }
.footer-nuovo__social { display: flex; flex-direction: column; gap: 10px; margin-top: 10px; }
.footer-nuovo__social a { display: inline-flex; align-items: center; gap: 8px; text-decoration: none; }
.footer-nuovo__social a:hover { text-decoration: underline; }
.footer-nuovo__social .icona { width: 22px; height: 22px; }
.footer-nuovo__contact a { text-decoration: none; }
.footer-nuovo__contact a:hover { text-decoration: underline; }
