/* =====================================================================
   Eletto - stili del tema. Si parte dal telefono, poi si allarga.
   Breakpoint fissi: 640px (tablet), 960px (desktop).
   ===================================================================== */

@font-face {
	font-family:"Red Hat Text",Inter;
	font-style: normal;
	font-weight: 100 900;
	font-display: swap;
	src: url("https://eletto.eu/wp-content/themes/eletto/assets/fonts/inter-latin-wght-normal.woff2") format("woff2-variations");
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
	font-family:"Red Hat Text",Inter;
	font-style: normal;
	font-weight: 100 900;
	font-display: swap;
	src: url("https://eletto.eu/wp-content/themes/eletto/assets/fonts/inter-latin-ext-wght-normal.woff2") format("woff2-variations");
	unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

:root {
	--blu: #0453F1;
	--blu-scuro: #0340BC;
	--blu-fondo: #0B48D0;
	--blu-chiaro: #DCE6FF;
	--perfor: #9DBBFA;
	--giallo: #FFC93C;
	--inchiostro: #0E1120;
	--testo-2: #4A5262;
	--testo-3: #6B7383;
	--filo: #E6E7EB;
	--fondo: #F5F6F8;
	--bianco: #FFFFFF;
	--piede-testo: #C9CDD6;
	--gutter: 16px;
	--max: 1180px;
	--stretto: 720px;
}

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-padding-top: 120px; }
body {
	margin: 0;
	font-family:"Red Hat Text",Inter, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
	font-size: 16px;
	line-height: 1.5;
	color: var(--inchiostro);
	background: var(--fondo);
	font-variant-numeric: tabular-nums;
	overflow-x: hidden;
}
img, svg, video { max-width: 100%; height: auto; }
.simbolo { flex: none; display: block; }
a { color: var(--blu); }
a:hover { color: var(--blu-scuro); }
:focus-visible { outline: 3px solid var(--giallo); outline-offset: 2px; }
button { font: inherit; }
.nascosto, .screen-reader-text {
	position: absolute !important; width: 1px; height: 1px; overflow: hidden;
	clip: rect(0 0 0 0); white-space: nowrap; border: 0;
}
.salta { position: absolute; left: 8px; top: -60px; z-index: 100; background: var(--giallo); color: var(--inchiostro); padding: 10px 14px; font-weight: 800; }
.salta:focus { top: 8px; }

.contenitore { width: 100%; max-width: var(--max); margin: 0 auto; padding-left: var(--gutter); padding-right: var(--gutter); }
.contenitore.stretto { max-width: calc(var(--stretto) + 2 * var(--gutter)); }

/* ---------- Elementi comuni ---------- */
.occhiello { display: block; margin: 0; font-size: 12px; font-weight: 700; color: var(--blu); }
.meta { display: block; margin: 4px 0 0; font-size: 12px; color: var(--testo-3); }
.titoletto { margin: 0 0 4px; font-size: 21px; font-weight: 800; letter-spacing: -0.02em; }
.link-forte { display: inline-block; padding: 14px 0; font-size: 14px; font-weight: 700; text-decoration: none; }
.vuoto { color: var(--testo-2); padding: 12px 0; }
.riquadro { background: var(--bianco); border: 1px solid var(--filo); padding: 4px 16px; margin: 0 0 12px; }
.riquadro:empty { display: none; }

.icona {
	width: 44px; height: 44px; border: 0; background: transparent; color: var(--inchiostro);
	display: inline-flex; align-items: center; justify-content: center; cursor: pointer; padding: 0;
}
.tondo { border: 1px solid var(--filo); border-radius:3px; background: var(--bianco); }
.tondo--chiaro { background: transparent; border-color: rgba(255,255,255,.4); color: var(--bianco); }

.pillola {
	display: inline-flex; align-items: center; gap: 8px; min-height: 40px; padding: 0 14px;
	border-radius:3px; background: var(--giallo); color: var(--inchiostro);
	font-size: 14px; font-weight: 800; text-decoration: none; border: 0; cursor: pointer;
}
.pillola:hover { color: var(--inchiostro); filter: brightness(.97); }
.pillola--vuota { background: transparent; color: var(--bianco); border: 1.5px solid var(--bianco); }
.pillola--vuota:hover { color: var(--bianco); background: rgba(255,255,255,.1); }
.pillola--bordo { background: var(--bianco); color: var(--inchiostro); border: 1px solid #C9CDD6; }

.bottone {
	display: flex; align-items: center; justify-content: center; gap: 8px;
	width: 100%; min-height: 50px; padding: 0 20px; border-radius:3px; border: 0; cursor: pointer;
	font-size: 15px; font-weight: 800; text-decoration: none; text-align: center;
}
.bottone--giallo { background: var(--giallo); color: var(--inchiostro); }
.bottone--giallo:hover { color: var(--inchiostro); filter: brightness(.97); }
.bottone--pieno { background: var(--inchiostro); color: var(--bianco); }
.bottone--pieno:hover { color: var(--bianco); background: #262B38; }
.bottone--bordo { background: var(--bianco); color: var(--blu); border: 1.5px solid var(--blu); }

/* ---------- Testata ---------- */
.testata { position: sticky; top: 0; z-index: 40; background: var(--bianco); border-bottom: 1px solid var(--filo); }
.admin-bar .testata { top: 46px; }
.testata__barra { display: flex; align-items: center; gap: 6px; padding-top: 8px; padding-bottom: 8px; padding-right: 8px; }
.testata__logo { margin-right: auto; line-height: 0; }
.testata__logo .logo { height: 28px; width: auto; }

.binario { border-top: 1px solid var(--filo); }
.binario__scorri {
	display: flex; gap: 18px; overflow-x: auto; white-space: nowrap; scrollbar-width: none;
	font-size: 14px; font-weight: 700;
}
.binario__scorri::-webkit-scrollbar { display: none; }
.binario a { padding: 11px 0 9px; color: var(--testo-2); text-decoration: none; border-bottom: 3px solid transparent; }
.binario a:hover { color: var(--inchiostro); }
.binario a[aria-current="page"] { color: var(--inchiostro); border-bottom-color: var(--blu); }

/* ---------- Menu a pannello ---------- */
.menu { position: fixed; inset: 0; z-index: 60; }
.menu[hidden] { display: none; }
.menu__velo { position: absolute; inset: 0; border: 0; background: rgba(14,17,32,.55); cursor: pointer; }
.menu__pannello {
	position: absolute; top: 0; right: 0; bottom: 0; width: min(380px, 100%);
	background: var(--blu); color: var(--bianco); overflow-y: auto; padding: 12px 16px 28px;
	animation: entra .28s cubic-bezier(.2,.8,.2,1);
}
@keyframes entra { from { transform: translateX(100%); } to { transform: translateX(0); } }
.menu__testa { display: flex; justify-content: space-between; align-items: center; min-height: 48px; }
.menu__testa .logo { height: 26px; width: auto; }
.menu__cerca input {
	width: 100%; height: 48px; margin-top: 12px; padding: 0 16px; border: 0; border-radius:3px;
	font: inherit; font-size: 16px; color: var(--inchiostro);
}
.menu__etichetta { margin: 22px 0 4px; font-size: 12px; font-weight: 700; color: var(--blu-chiaro); text-transform: uppercase; letter-spacing: .06em; }
.menu__rubriche, .menu__pagine { list-style: none; margin: 0; padding: 0; }
.menu__rubriche a, .menu__pagine a {
	display: flex; align-items: center; gap: 12px; min-height: 48px; color: var(--bianco);
	text-decoration: none; font-weight: 700; border-bottom: 1px solid rgba(255,255,255,.18);
}
.menu__rubriche a:hover, .menu__pagine a:hover { color: var(--giallo); }
.menu .bottone { margin-top: 24px; }

/* ---------- Home: apertura ---------- */
.apertura { background: var(--blu); color: var(--bianco); border-bottom: 2px dashed var(--perfor); }
.apertura__griglia { display: grid; gap: 18px; padding-top: 20px; padding-bottom: 22px; }
.apertura > .contenitore:not(.apertura__griglia) { padding-top: 20px; padding-bottom: 22px; }
.apertura__link { display: block; color: var(--bianco); text-decoration: none; }
.apertura__link:hover { color: var(--bianco); }
.apertura__link:hover .apertura__titolo { text-decoration: underline; text-decoration-thickness: 3px; text-underline-offset: 5px; }
.apertura__rubrica { display: flex; align-items: center; gap: 10px; margin: 0; font-size: 13px; font-weight: 700; color: var(--blu-chiaro); }
.apertura__titolo { margin: 14px 0 0; font-size: 36px; line-height: 1.03; font-weight: 900; letter-spacing: -0.035em; }
.apertura__sotto { margin: 10px 0 0; font-size: 17px; color: var(--blu-chiaro); }
.apertura__meta { margin: 14px 0 0; font-size: 13px; color: var(--blu-chiaro); }
.apertura__img img { display: block; width: 100%; aspect-ratio: 16 / 9; object-fit: cover; }

.trenta { margin: 18px 0 0; border: 1.5px solid var(--inchiostro); background: var(--bianco); padding: 12px 14px; }
.trenta--blu { border-color: var(--bianco); background: transparent; color: var(--blu-chiaro); }
.trenta--blu p { margin: 4px 0 0; font-size: 14px; }
.trenta__h { margin: 0; font-size: 13px; font-weight: 800; color: inherit; }
.trenta--blu .trenta__h { color: var(--bianco); }
details.trenta summary { cursor: pointer; list-style: none; display: flex; justify-content: space-between; }
details.trenta summary::-webkit-details-marker { display: none; }
details.trenta summary::after { content: "Chiudi"; font-weight: 700; color: var(--blu); }
details.trenta:not([open]) summary::after { content: "Apri"; }
details.trenta ul { margin: 8px 0 0; padding-left: 18px; font-size: 15px; }
details.trenta li + li { margin-top: 4px; }

/* ---------- Home: griglia ---------- */
.home-griglia { display: grid; gap: 0; padding-top: 16px; }
.home-ultimi { padding-top: 16px; }

.voce + .voce { border-top: 1px solid var(--filo); }
.voce__link { display: flex; gap: 12px; align-items: flex-start; padding: 14px 0; color: var(--inchiostro); text-decoration: none; }
.voce__link:hover { color: var(--inchiostro); }
.voce__link:hover .voce__titolo { color: var(--blu); }
.voce__testo { flex: 1; min-width: 0; }
.voce__titolo { display: block; margin-top: 2px; font-size: 17px; line-height: 1.25; font-weight: 800; }
.voce__img { flex: none; width: 76px; height: 76px; object-fit: cover; }

.numero { display: block; padding: 18px 16px; color: var(--inchiostro); text-decoration: none; }
a.numero:hover { color: var(--inchiostro); border-color: var(--blu); }
.numero__riga { display: flex; align-items: flex-end; gap: 12px; margin-top: 4px; }
.numero__cifra { font-size: 72px; line-height: .85; font-weight: 900; letter-spacing: -0.06em; color: var(--blu); }
.numero__testo { font-size: 15px; font-weight: 700; line-height: 1.25; padding-bottom: 4px; }
.numero .meta { margin-top: 10px; }

.elenco-link { padding: 0; }
.elenco-link__h { margin: 0; padding: 14px 16px 6px; font-size: 13px; font-weight: 700; color: var(--testo-2); }
.elenco-link a, .elenco-link__presto {
	display: flex; justify-content: space-between; align-items: center; min-height: 52px;
	padding: 0 16px; border-top: 1px solid var(--filo); color: var(--inchiostro); font-weight: 700; text-decoration: none;
}
.elenco-link a span { color: var(--blu); font-size: 14px; }
.elenco-link__presto { color: var(--testo-3); }
.elenco-link__presto span { font-size: 12px; font-weight: 700; }

.home-rubriche { padding: 12px 0 16px; }
.scaffale { display: flex; gap: 10px; overflow-x: auto; padding-top: 8px; padding-bottom: 6px; scrollbar-width: none; }
.scaffale::-webkit-scrollbar { display: none; }
.scaffale__voce {
	flex: none; width: 132px; background: var(--bianco); border: 1px solid var(--filo); padding: 14px 12px;
	color: var(--inchiostro); text-decoration: none; display: flex; flex-direction: column; gap: 10px;
	font-size: 14px; line-height: 1.2; font-weight: 800;
}
.scaffale__voce:hover { border-color: var(--blu); color: var(--inchiostro); }

.invito { background: var(--inchiostro); color: var(--bianco); padding: 20px 16px; margin: 4px 0 20px; }
.invito__h { margin: 0; font-size: 18px; font-weight: 800; }
.invito__t { margin: 4px 0 14px; font-size: 14px; color: var(--piede-testo); }

/* ---------- Rubrica ---------- */
.rubrica-testa { background: var(--blu); color: var(--bianco); padding: 22px 0; }
.rubrica-testa__riga { display: flex; align-items: center; gap: 16px; }
.rubrica-testa__etichetta { margin: 0; font-size: 13px; font-weight: 700; color: var(--blu-chiaro); }
.rubrica-testa__nome { margin: 2px 0 0; font-size: 32px; line-height: 1.02; font-weight: 900; letter-spacing: -0.035em; }
.rubrica-testa__desc { margin: 14px 0 0; font-size: 16px; color: var(--blu-chiaro); max-width: 640px; }
.rubrica-testa__azioni { margin-top: 14px; }
.colonna { padding-top: 16px; }
.ultimo { display: block; padding: 18px 16px; color: var(--inchiostro); text-decoration: none; }
.ultimo:hover { color: var(--inchiostro); }
.ultimo:hover .ultimo__titolo { color: var(--blu); }
.ultimo__img { display: block; width: 100%; aspect-ratio: 16 / 9; object-fit: cover; margin-top: 10px; }
.ultimo__titolo { margin: 8px 0 0; font-size: 26px; line-height: 1.12; font-weight: 900; letter-spacing: -0.02em; }
.ultimo__sotto { margin: 8px 0 0; font-size: 15px; color: var(--testo-2); }
.vuoto-grande { padding: 24px 16px; text-align: center; }
.vuoto-grande .simbolo { margin: 0 auto 8px; }
.altre { padding: 10px 0 20px; }
.altre__h { margin: 0 0 10px; font-size: 14px; font-weight: 800; }
.altre__chip { display: flex; flex-wrap: wrap; gap: 8px; }
.chip {
	display: inline-flex; align-items: center; gap: 8px; min-height: 44px; padding: 4px 14px 4px 6px;
	border: 1px solid var(--filo); border-radius:3px; background: var(--bianco); color: var(--inchiostro);
	font-size: 14px; font-weight: 700; text-decoration: none;
}
.chip:hover { border-color: var(--blu); color: var(--inchiostro); }

.nav-links { display: flex; flex-wrap: wrap; gap: 8px; justify-content: center; padding: 8px 0 16px; }
.nav-links .page-numbers {
	display: inline-flex; align-items: center; justify-content: center; min-width: 44px; min-height: 44px; padding: 0 12px;
	border: 1px solid var(--filo); background: var(--bianco); color: var(--inchiostro); text-decoration: none; font-weight: 700;
}
.nav-links .current { background: var(--blu); color: var(--bianco); border-color: var(--blu); }

/* ---------- Articolo ---------- */
.avanzamento { position: fixed; top: 0; left: 0; right: 0; z-index: 50; height: 3px; pointer-events: none; }
.admin-bar .avanzamento { top: 46px; }
@media (min-width: 783px) { .admin-bar .avanzamento, .admin-bar .testata { top: 32px; } }
@media (max-width: 600px) { .admin-bar .testata { top: 0; } }
.avanzamento__barra { height: 3px; width: 0; background: var(--blu); }
.articolo { background: var(--bianco); padding-bottom: 8px; }
.articolo__testa { padding-top: 20px; }
.articolo__rubrica { display: inline-flex; align-items: center; gap: 8px; font-size: 13px; font-weight: 700; text-decoration: none; }
.articolo__titolo { margin: 12px 0 0; font-size: 34px; line-height: 1.05; font-weight: 900; letter-spacing: -0.035em; }
.articolo__sotto { margin: 12px 0 0; font-size: 19px; line-height: 1.4; color: var(--testo-2); }
.articolo__firma { display: flex; align-items: center; gap: 12px; margin-top: 18px; padding: 12px 0; border-top: 1px solid var(--filo); border-bottom: 1px solid var(--filo); }
.iniziali {
	flex: none; width: 40px; height: 40px; border-radius:50%; background: var(--blu); color: var(--bianco);
	display: inline-flex; align-items: center; justify-content: center; font-size: 14px; font-weight: 800;
}
.articolo__chi { flex: 1; font-size: 13px; color: var(--testo-2); line-height: 1.4; }
.articolo__chi strong { color: var(--inchiostro); font-size: 14px; }
.articolo__copertina { margin: 18px auto 0; padding: 0; }
.articolo__copertina img { display: block; width: 100%; }
.articolo__copertina figcaption { padding: 6px var(--gutter) 0; font-size: 13px; color: var(--testo-3); }

.testo { font-size: 18px; line-height: 1.65; padding-top: 18px; overflow-wrap: break-word; }
.testo > * { margin-top: 0; margin-bottom: 1.1em; }
.articolo .testo > p:first-of-type::first-letter {
	float: left; font-size: 3.4em; line-height: .85; font-weight: 900; color: var(--blu); margin: .06em .08em 0 0;
}
.testo h2 { font-size: 24px; line-height: 1.2; font-weight: 800; letter-spacing: -0.02em; margin-top: 1.6em; }
.testo h3 { font-size: 20px; line-height: 1.25; font-weight: 800; margin-top: 1.4em; }
.testo a { text-decoration-thickness: 1px; text-underline-offset: 3px; }
.testo blockquote, .testo .wp-block-quote { margin-left: 0; margin-right: 0; padding: 4px 0 4px 18px; border-left: 4px solid var(--blu); font-size: 21px; line-height: 1.4; font-weight: 700; }
.testo blockquote cite { display: block; margin-top: 8px; font-size: 14px; font-weight: 600; font-style: normal; color: var(--testo-3); }
.testo .wp-block-pullquote { border: 0; border-top: 4px solid var(--blu); border-bottom: 1px solid var(--filo); padding: 18px 0; text-align: left; }
.testo .wp-block-pullquote p { font-size: 24px; line-height: 1.3; font-weight: 800; }
.testo figure { margin-left: 0; margin-right: 0; }
.testo figcaption, .testo .wp-element-caption { font-size: 13px; color: var(--testo-3); margin-top: 6px; }
.testo img { display: block; }
.testo ul, .testo ol { padding-left: 1.3em; }
.testo li + li { margin-top: .35em; }
.testo table { width: 100%; border-collapse: collapse; font-size: 15px; display: block; overflow-x: auto; }
.testo th, .testo td { border-bottom: 1px solid var(--filo); padding: 8px 10px 8px 0; text-align: left; vertical-align: top; }
.testo th { font-weight: 800; }
.testo hr { border: 0; border-top: 1px solid var(--filo); margin: 2em 0; }
.testo .wp-block-separator { border: 0; border-top: 1px solid var(--filo); }
.testo sup a { text-decoration: none; font-weight: 700; }
.testo iframe { max-width: 100%; }
.testo .alignwide, .testo .alignfull { margin-left: calc(-1 * var(--gutter)); margin-right: calc(-1 * var(--gutter)); max-width: none; }

.articolo__piede { padding-top: 8px; padding-bottom: 12px; }
.articolo__condividi { background: var(--fondo); padding: 16px; }
.articolo__condividi p { margin: 0 0 12px; font-size: 15px; }
.segnala { font-size: 14px; color: var(--testo-2); margin: 14px 0 0; }

.stessa { padding-top: 18px; padding-bottom: 6px; }
.segui { display: flex; align-items: center; gap: 14px; background: var(--blu); color: var(--bianco); padding: 16px; margin-bottom: 18px; text-decoration: none; }
.segui:hover { color: var(--bianco); background: var(--blu-scuro); }
.segui__h { display: block; font-size: 18px; font-weight: 800; }
.segui__t { display: block; font-size: 14px; color: var(--blu-chiaro); }

/* ---------- Pagine ---------- */
.pagina-testa { background: var(--bianco); border-bottom: 1px solid var(--filo); padding: 22px 0 20px; }
.pagina-testa__titolo { margin: 0; font-size: 34px; line-height: 1.05; font-weight: 900; letter-spacing: -0.035em; }
.pagina-testa__sotto { margin: 10px 0 0; font-size: 17px; color: var(--testo-2); }
.pagina-corpo { background: var(--bianco); }
.pagina-condividi { padding-top: 16px; padding-bottom: 24px; }
.cerca-grande { display: flex; gap: 8px; margin-top: 14px; }
.cerca-grande input { flex: 1; min-width: 0; height: 50px; padding: 0 16px; border: 1.5px solid var(--inchiostro); font: inherit; font-size: 16px; }
.cerca-grande .bottone { width: auto; }

/* ---------- Sostienici ---------- */
.sostieni { background: var(--blu); color: var(--bianco); padding: 24px 0; margin-bottom: 16px; }
.sostieni__titolo { margin: 0; font-size: 38px; line-height: 1.02; font-weight: 900; letter-spacing: -0.04em; }
.sostieni__sotto { margin: 12px 0 0; font-size: 17px; line-height: 1.45; color: var(--blu-chiaro); }
.interruttore { margin-top: 18px; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px; background: var(--blu-fondo); padding: 4px; border-radius:3px; }
.interruttore button { min-height: 44px; border: 0; border-radius:3px; font-size: 15px; font-weight: 800; cursor: pointer; background: transparent; color: var(--bianco); }
.interruttore button[aria-checked="true"] { background: var(--bianco); color: var(--blu); }
.piano { margin-top: 14px; background: var(--bianco); color: var(--inchiostro); padding: 18px 16px; }
.piano[hidden] { display: none; }
.piano__prezzo { margin: 4px 0 0; font-size: 16px; font-weight: 700; color: var(--testo-2); }
.piano__prezzo span { font-size: 52px; line-height: 1; font-weight: 900; letter-spacing: -0.04em; color: var(--inchiostro); }
.piano__nota { margin: 6px 0 14px; font-size: 14px; color: var(--testo-2); }
.piano__sicuro { margin: 10px 0 0; font-size: 12px; color: var(--testo-3); text-align: center; }
.cosa { padding: 18px 16px; }
.cosa__lista { list-style: none; margin: 10px 0 0; padding: 0; display: grid; gap: 12px; }
.cosa__lista li { display: flex; gap: 12px; }
.cosa__lista li::before { content: ""; flex: none; width: 18px; height: 18px; margin-top: 3px; border-radius:50%; border: 4px solid var(--blu); }
.cosa__muri { margin: 18px 0 0; border: 1.5px solid var(--inchiostro); padding: 12px 14px; font-size: 14px; }
.sostieni__ente { padding-bottom: 20px; }

/* ---------- Pannello Condividi ---------- */
.condividi { position: fixed; inset: 0; z-index: 70; }
.condividi[hidden] { display: none; }
.condividi__velo { position: absolute; inset: 0; border: 0; background: rgba(14,17,32,.55); cursor: pointer; }
.condividi__foglio {
	position: absolute; left: 0; right: 0; bottom: 0; background: var(--bianco); padding: 14px 16px 22px;
	border-top: 3px dashed var(--perfor); max-height: 90vh; overflow-y: auto; animation: sale .3s cubic-bezier(.2,.8,.2,1);
}
@keyframes sale { from { transform: translateY(100%); } to { transform: translateY(0); } }
.condividi__testa { display: flex; justify-content: space-between; align-items: center; }
.condividi__h { margin: 0; font-size: 20px; font-weight: 900; }
.condividi__anteprima { display: flex; gap: 12px; align-items: center; margin: 12px 0; padding: 10px; border: 1px solid var(--filo); }
.condividi__anteprima img { width: 96px; height: 54px; object-fit: cover; flex: none; }
.condividi__anteprima strong { display: block; font-size: 14px; line-height: 1.25; }
.condividi__anteprima span { font-size: 12px; color: var(--testo-3); }
.condividi__voci { list-style: none; margin: 0 0 12px; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.condividi__voci a {
	display: flex; align-items: center; justify-content: center; min-height: 48px; border: 1px solid var(--filo);
	border-radius:3px; color: var(--inchiostro); font-size: 14px; font-weight: 700; text-decoration: none;
}
.condividi__voci a:hover { border-color: var(--blu); color: var(--blu); }
.condividi__esito { margin: 8px 0 0; font-size: 13px; text-align: center; color: var(--testo-2); min-height: 1.2em; }

/* ---------- Piede ---------- */
.piede { background: var(--inchiostro); color: var(--piede-testo); padding: 24px 0 28px; font-size: 13px; }
.piede .logo { height: 26px; width: auto; }
.piede__motto { margin: 10px 0 12px; max-width: 520px; }
.piede__link { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 0 18px; }
.piede__link a { display: inline-block; padding: 10px 0; color: var(--bianco); text-decoration: none; }
.piede__link a:hover { color: var(--giallo); }
.piede__firma { margin: 6px 0 0; font-size: 12px; color: #8A93A2; }

/* =====================================================================
   Tablet
   ===================================================================== */
@media (min-width: 640px) {
	:root { --gutter: 24px; }
	.apertura__titolo { font-size: 46px; }
	.articolo__titolo, .pagina-testa__titolo { font-size: 44px; }
	.rubrica-testa__nome { font-size: 42px; }
	.condividi__foglio { left: 50%; right: auto; bottom: 50%; transform: translate(-50%, 50%); width: 480px; border: 0; animation: none; }
	.condividi__voci { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.bottone { width: auto; display: inline-flex; }
	.menu .bottone, .piano .bottone, .condividi .bottone { width: 100%; display: flex; }
	.testo .alignwide { margin-left: -60px; margin-right: -60px; }
}

/* =====================================================================
   Desktop
   ===================================================================== */
@media (min-width: 960px) {
	.apertura__griglia { grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); align-items: center; gap: 40px; padding-top: 40px; padding-bottom: 44px; }
	.apertura__griglia:not(:has(.apertura__img)) { grid-template-columns: minmax(0, 760px); }
	.apertura__titolo { font-size: 56px; }
	.home-griglia { grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); gap: 20px; align-items: start; padding-top: 24px; }
	.home-lato { position: sticky; top: 120px; }
	.scaffale { flex-wrap: wrap; overflow: visible; }
	.scaffale__voce { width: calc((100% - 40px) / 5); }
	.voce__titolo { font-size: 19px; }
	.voce__img { width: 120px; height: 80px; }
	.ultimo__titolo { font-size: 32px; }
	.articolo__titolo { font-size: 52px; }
	.testo { font-size: 19px; }
	.colonna { max-width: calc(var(--stretto) + 2 * var(--gutter) + 160px); }
}

@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}

@media print {
	.testata, .piede, .avanzamento, .condividi, .menu, .invito, .stessa, .articolo__condividi, [data-condividi] { display: none !important; }
	body { background: #fff; }
}

/* =====================================================================
   Sezioni: scheda "Dove voti?", strumenti, anteprime
   ===================================================================== */
.pad { padding: 16px; }
.pad-alto { padding-top: 14px; }
.sezione-corpo { padding-top: 16px; padding-bottom: 8px; }
.etichetta-campo { display: block; margin-bottom: 6px; font-size: 14px; font-weight: 700; }
.campo { width: 100%; min-height: 48px; padding: 0 14px; border: 1.5px solid var(--inchiostro); background: var(--bianco); color: var(--inchiostro); font: inherit; font-size: 16px; }
.campo:disabled { border-color: #C9CDD6; background: var(--fondo); color: var(--testo-3); }
.campo--corto { width: 84px; display: inline-block; min-height: 40px; }
.campo--area { min-height: 96px; padding: 12px 14px; resize: vertical; }
.testo-medio { font-size: 17px; line-height: 1.6; }
.bollino { display: inline-block; font-style: normal; font-size: 11px; font-weight: 800; padding: 2px 8px; border-radius:3px; background: var(--giallo); color: var(--inchiostro); vertical-align: middle; }
.bollino--chiaro { margin-left: 6px; }
.fascia-anteprima { background: var(--giallo); color: var(--inchiostro); font-size: 14px; padding: 10px 0; }
.fascia-anteprima strong { margin-right: 6px; }

.sezione-testa { background: var(--blu); color: var(--bianco); padding: 22px 0 20px; }
.sezione-testa__riga { display: flex; align-items: center; gap: 14px; }
.sezione-testa__occhiello { margin: 0; font-size: 13px; font-weight: 700; color: var(--blu-chiaro); }
.sezione-testa__titolo { margin: 2px 0 0; font-size: 30px; line-height: 1.05; font-weight: 900; letter-spacing: -0.035em; }
.sezione-testa__desc { margin: 12px 0 0; font-size: 16px; color: var(--blu-chiaro); }

/* Scheda "Dove voti?" */
.scheda { background: var(--blu); color: var(--bianco); padding: 22px 0 26px; border-bottom: 2px dashed var(--perfor); }
.scheda__testa { display: flex; justify-content: space-between; font-size: 12px; font-weight: 600; color: var(--blu-chiaro); border-bottom: 1.5px solid var(--bianco); padding-bottom: 8px; }
.scheda__titolo { margin: 18px 0 0; font-size: 54px; line-height: .92; font-weight: 900; letter-spacing: -0.05em; }
.scheda__sotto { margin: 10px 0 0; font-size: 16px; color: var(--blu-chiaro); }
.scheda__griglia { margin-top: 18px; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.casella {
	position: relative; display: flex; align-items: center; gap: 12px; padding: 12px; min-height: 72px;
	background: var(--blu-fondo); border: 1.5px solid var(--bianco); color: var(--bianco); cursor: pointer; text-align: left;
}
.casella:hover { background: #0A44C2; }
.casella.segnata { background: #0236A8; border: 2.5px solid var(--giallo); }
.casella__cerchio { flex: none; width: 44px; height: 44px; border: 2px solid var(--bianco); border-radius:50%; display: inline-flex; align-items: center; justify-content: center; font-size: 13px; font-weight: 900; }
.casella__nome { font-size: 14px; font-weight: 700; line-height: 1.2; }
.casella__segno { position: absolute; left: 6px; top: 8px; width: 56px; height: 56px; }
.casella__segno line, .segui-cerchio svg line { stroke: var(--giallo); stroke-width: 8; stroke-linecap: round; fill: none; }
.casella__segno .x1 { stroke-dasharray: 120; stroke-dashoffset: 120; animation: segno .26s ease-out forwards; }
.casella__segno .x2 { stroke-dasharray: 120; stroke-dashoffset: 120; animation: segno .26s ease-out .2s forwards; }
@keyframes segno { to { stroke-dashoffset: 0; } }
.scheda__label { display: block; margin-top: 18px; font-size: 13px; font-weight: 600; color: var(--blu-chiaro); }
.cerca-comune { position: relative; margin-top: 6px; }
.cerca-comune input { width: 100%; height: 50px; padding: 0 14px; border: 1.5px solid var(--bianco); background: var(--bianco); color: var(--inchiostro); font: inherit; font-size: 16px; }
.riquadro .cerca-comune input { border-color: var(--inchiostro); }
.cerca-comune__lista { position: absolute; z-index: 20; left: 0; right: 0; top: 100%; margin: 2px 0 0; padding: 0; list-style: none; background: var(--bianco); color: var(--inchiostro); border: 1px solid var(--filo); box-shadow: 0 10px 24px rgba(14,17,32,.15); max-height: 320px; overflow-y: auto; }
.cerca-comune__lista[hidden] { display: none; }
.cerca-comune__lista li { display: flex; justify-content: space-between; align-items: center; gap: 10px; min-height: 48px; padding: 0 14px; cursor: pointer; border-top: 1px solid var(--filo); }
.cerca-comune__lista li:first-child { border-top: 0; }
.cerca-comune__lista li span { font-size: 12px; color: var(--testo-3); }
.cerca-comune__lista li:hover, .cerca-comune__lista li.attivo { background: var(--blu-chiaro); }
.cerca-comune__lista li.nessuno { cursor: default; color: var(--testo-3); }

/* Ricevuta */
.ricevuta { position: fixed; inset: 0; z-index: 70; }
.ricevuta[hidden] { display: none; }
.ricevuta__velo { position: absolute; inset: 0; border: 0; background: rgba(14,17,32,.5); cursor: pointer; }
.ricevuta__foglio {
	position: absolute; left: 0; right: 0; bottom: 0; max-height: 92vh; overflow-y: auto; background: var(--bianco);
	border-top: 3px dashed var(--perfor); padding: 14px 16px 22px; animation: sale .38s cubic-bezier(.2,.8,.2,1);
}
.ricevuta__testa { display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; }
.ricevuta__pre { margin: 6px 0 0; font-size: 13px; font-weight: 600; color: var(--testo-3); }
.ricevuta__nome { margin: 0; font-size: 32px; line-height: 1.02; font-weight: 900; letter-spacing: -0.04em; }
.ricevuta__prov { margin: 6px 0 0; font-size: 13px; color: var(--testo-2); }
.emiciclo { width: 100%; max-width: 360px; margin: 14px auto 0; min-height: 40px; }
.emiciclo--grande { max-width: 520px; }
.emiciclo svg { display: block; }
.seggio { transform-box: fill-box; transform-origin: center; animation: seggio .3s ease-out backwards; }
@keyframes seggio { from { transform: scale(0); } to { transform: scale(1); } }
.ricevuta__seggi { margin: 4px 0 0; text-align: center; font-size: 14px; }
.ricevuta__seggi strong { font-size: 20px; font-weight: 900; }
.ricevuta__dati { margin: 14px 0 16px; border-top: 1px solid var(--filo); font-size: 15px; }
.ricevuta__dati div { display: flex; justify-content: space-between; gap: 12px; padding: 11px 0; border-bottom: 1px solid var(--filo); }
.ricevuta__dati dt { color: var(--testo-2); }
.ricevuta__dati dd { margin: 0; font-weight: 700; text-align: right; }
.evidenza { color: var(--blu-scuro); }
.ricevuta__fonte { margin: 12px 0 0; font-size: 12px; color: var(--testo-3); }

/* Chi ti rappresenta */
.livelli { list-style: none; margin: 4px 0 12px; padding: 0 0 0 12px; border-left: 4px solid var(--inchiostro); display: grid; gap: 14px; }
.livelli[hidden] { display: none; }
.livello { display: flex; gap: 12px; margin-left: -26px; }
.livello__tacca { flex: none; width: 24px; height: 24px; border-radius:50%; background: var(--blu); border: 4px solid var(--fondo); margin-top: 14px; }
.livello__corpo { flex: 1; background: var(--bianco); border: 1px solid var(--filo); padding: 14px 16px; }
.livello__ente { margin: 0; font-size: 13px; font-weight: 700; color: var(--blu); }
.livello__ruolo { margin: 4px 0 0; font-size: 13px; color: var(--testo-2); }
.livello__nome { margin: 2px 0 0; font-size: 20px; font-weight: 900; letter-spacing: -0.02em; }
.livello__nota { margin: 6px 0 0; font-size: 14px; color: var(--testo-2); }
.livello__voto { display: inline-block; margin-top: 10px; font-size: 12px; font-weight: 800; padding: 3px 10px; border-radius:3px; background: var(--blu); color: var(--bianco); }
.livello__voto--no { background: var(--fondo); color: var(--testo-2); }
.livello--presto .livello__tacca { background: #C9CDD6; }
.livello--presto .livello__corpo { color: var(--testo-3); }

/* Amministrative 2027 */
.due-sponde { display: flex; align-items: stretch; color: var(--bianco); margin-bottom: 8px; }
.due-sponde__rc, .due-sponde__me { flex: 1; padding: 12px; }
.due-sponde__rc { background: var(--blu); }
.due-sponde__me { background: var(--inchiostro); text-align: right; }
.due-sponde p { margin: 0; font-size: 12px; color: var(--blu-chiaro); }
.due-sponde strong { display: block; font-size: 48px; line-height: 1; font-weight: 900; letter-spacing: -0.04em; margin: 4px 0; }
.due-sponde__stretto { width: 10px; flex: none; background: repeating-linear-gradient(#FFFFFF 0 8px, var(--perfor) 8px 16px); }
.pillole { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px; margin-bottom: 10px; }
.pillole button { min-height: 44px; padding: 6px 12px; border-radius:3px; border: 1.5px solid var(--blu); background: var(--bianco); color: var(--blu); font-size: 14px; font-weight: 700; cursor: pointer; }
.pillole button[aria-checked="true"], .pillole button[aria-selected="true"] { background: var(--blu); color: var(--bianco); }
.pillole--scorri { display: flex; overflow-x: auto; padding: 14px 0; scrollbar-width: none; }
.pillole--scorri button { flex: none; white-space: nowrap; }
.elenco-comuni { list-style: none; padding: 0; margin-top: 0; }
.riga-comune { display: flex; align-items: center; gap: 12px; min-height: 64px; padding: 8px 0; border-top: 1px solid var(--filo); }
.riga-comune:first-child { border-top: 0; }
.segui-cerchio { position: relative; flex: none; width: 36px; height: 36px; border-radius:50%; border: 2.5px solid var(--inchiostro); background: var(--bianco); cursor: pointer; padding: 0; }
.segui-cerchio.segnata { border-color: var(--blu); }
.segui-cerchio svg { position: absolute; inset: -6px; width: 44px; height: 44px; }
.segui-cerchio svg line { stroke: var(--blu); }
.riga-comune__testo { flex: 1; min-width: 0; }
.riga-comune__testo strong { display: block; font-size: 16px; line-height: 1.2; }
.riga-comune__testo small, .riga-comune__pop small { display: block; font-size: 12px; color: var(--testo-3); }
.riga-comune__pop { text-align: right; font-weight: 800; font-size: 14px; }

/* Speciale 2027 */
.speciale-testa { background: var(--inchiostro); color: var(--bianco); padding: 22px 0 24px; }
.speciale-testa__occhiello { margin: 0; font-size: 13px; font-weight: 700; color: var(--giallo); }
.speciale-testa__anno { margin: 4px 0 0; font-size: 112px; line-height: .82; font-weight: 900; letter-spacing: -0.065em; }
.speciale-testa__sotto { margin: 14px 0 0; font-size: 19px; line-height: 1.25; font-weight: 800; }
.schede-tab { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); background: var(--bianco); border-bottom: 1px solid var(--filo); }
.schede-tab button { min-height: 80px; padding: 12px 6px; border: 0; border-bottom: 4px solid transparent; background: var(--bianco); color: var(--testo-2); font-size: 13px; font-weight: 800; line-height: 1.15; cursor: pointer; display: flex; flex-direction: column; align-items: center; gap: 6px; }
.schede-tab button[aria-selected="true"] { color: var(--inchiostro); border-bottom-color: var(--blu); }
.anello { width: 22px; height: 22px; border-radius:50%; border: 4px solid var(--blu); }
.schede-tab button[aria-selected="true"] .anello { background: var(--blu); }
.speciale-blu { background: var(--blu); color: var(--bianco); padding: 20px 0; }
.speciale-blu__quando { margin: 0; font-size: 13px; font-weight: 700; color: var(--giallo); }
.speciale-blu__titolo { margin: 4px 0 0; font-size: 30px; line-height: 1.02; font-weight: 900; letter-spacing: -0.03em; }
.speciale-blu__cosa { margin: 10px 0 0; font-size: 15px; color: var(--blu-chiaro); }
.speciale-blu__numeri { margin-top: 14px; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.speciale-blu__numeri div { background: var(--blu-fondo); padding: 12px; }
.speciale-blu__numeri strong { display: block; font-size: 34px; line-height: 1; font-weight: 900; }
.speciale-blu__numeri span { font-size: 13px; color: var(--blu-chiaro); }
.riga-link { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 60px; border-top: 1px solid var(--filo); color: var(--inchiostro); text-decoration: none; }
.riga-link strong { display: block; font-size: 16px; }
.riga-link small { display: block; font-size: 13px; color: var(--testo-2); }
.riga-link em { font-style: normal; font-size: 13px; font-weight: 700; color: var(--blu); }
.riga-link--presto { color: var(--testo-3); }
.riga-link--presto em { color: var(--testo-3); }

/* Simulatore */
.sim-liste { display: grid; gap: 8px; margin: 12px 0; }
.sim-riga { display: flex; align-items: center; gap: 8px; }
.sim-riga .campo { min-height: 44px; }
.sim-riga .campo--voti { width: 120px; flex: none; }
.sim-colore { flex: none; width: 14px; height: 14px; border-radius:50%; display: inline-block; }
.sim-regole { display: grid; gap: 14px; margin-top: 10px; font-size: 15px; }
.sim-regole label { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px; }
.sim-regole input[type="range"] { width: 160px; accent-color: var(--blu); }
.sim-premio { justify-content: flex-start !important; }
.sim-premio input[type="checkbox"] { width: 20px; height: 20px; accent-color: var(--blu); }
.sim-legenda { list-style: none; margin: 12px 0 0; padding: 0; }
.sim-legenda li { display: flex; align-items: center; gap: 10px; padding: 8px 0; border-top: 1px solid var(--filo); font-size: 14px; }
.sim-legenda strong { flex: 1; }
.sim-legenda span { color: var(--testo-2); }
.sim-legenda em { font-style: normal; font-weight: 900; min-width: 72px; text-align: right; }

/* Due sponde */
.due-citta { display: flex; align-items: stretch; min-height: 260px; color: var(--bianco); }
.due-citta__rc, .due-citta__me { flex: 1; padding: 20px 14px; display: flex; flex-direction: column; }
.due-citta__rc { background: var(--blu); }
.due-citta__me { background: var(--inchiostro); text-align: right; }
.due-citta p { margin: 0; font-size: 13px; color: var(--blu-chiaro); }
.due-citta__nome { font-size: 20px; font-weight: 900; letter-spacing: -0.02em; }
.due-citta__cifra { margin-top: auto; font-size: 46px; line-height: .95; font-weight: 900; letter-spacing: -0.04em; overflow-wrap: anywhere; }

/* Proiezione */
.pro-cursori { display: grid; gap: 16px; margin-top: 12px; }
.pro-cursori label { display: grid; grid-template-columns: 1fr auto; gap: 6px 12px; font-size: 15px; font-weight: 700; }
.pro-cursori input { grid-column: 1 / -1; width: 100%; accent-color: var(--blu); }
.pro-cursori output { color: var(--blu); font-weight: 900; }
.pro-esito__h { margin: 0 0 10px; font-size: 19px; line-height: 1.3; font-weight: 800; }
.pro-numeri { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; margin-top: 10px; }
.pro-numeri div { background: var(--fondo); padding: 12px; }
.pro-numeri strong { display: block; font-size: 30px; line-height: 1; font-weight: 900; color: var(--blu); }
.pro-numeri span { font-size: 13px; color: var(--testo-2); }

/* Sondaggio, pendolarismo, accesso, archivio */
.sondaggio__domanda { margin: 6px 0 14px; font-size: 24px; line-height: 1.15; font-weight: 900; letter-spacing: -0.02em; }
.sondaggio__scelte { display: grid; gap: 8px; margin-bottom: 14px; }
.scelta { display: flex; align-items: center; gap: 12px; min-height: 56px; padding: 8px 14px; border: 1.5px solid var(--filo); background: var(--bianco); color: var(--inchiostro); text-align: left; font-size: 15px; font-weight: 700; cursor: pointer; }
.scelta[aria-checked="true"] { border-color: var(--blu); background: var(--blu-chiaro); }
.scelta__cerchio { flex: none; width: 22px; height: 22px; border-radius:50%; border: 2px solid var(--inchiostro); }
.scelta[aria-checked="true"] .scelta__cerchio { border: 7px solid var(--blu); }
.sondaggio__nota { margin: 12px 0 0; font-size: 14px; color: var(--testo-2); }
.bottone:disabled { opacity: .45; cursor: not-allowed; }
.tragitto { display: grid; gap: 14px; margin-top: 12px; }
.tragitto label { display: grid; gap: 6px; font-size: 14px; font-weight: 700; }
.tragitto fieldset { border: 0; margin: 0; padding: 0; }
.tragitto legend { font-size: 14px; font-weight: 700; margin-bottom: 6px; }
.tragitto__mezzi { display: flex; flex-wrap: wrap; gap: 8px; }
.chip--scelta { padding: 4px 14px; color: var(--testo-3); }
.stelle { display: flex; gap: 8px; }
.stelle span { width: 44px; height: 44px; border-radius:50%; border: 1.5px solid #C9CDD6; display: inline-flex; align-items: center; justify-content: center; color: var(--testo-3); font-weight: 800; }
.passi { list-style: none; margin: 0 0 12px; padding: 0; display: grid; gap: 10px; }
.passo { display: flex; gap: 12px; background: var(--bianco); border: 1px solid var(--filo); padding: 16px; }
.passo__n { flex: none; width: 32px; height: 32px; border-radius:50%; background: var(--blu); color: var(--bianco); display: inline-flex; align-items: center; justify-content: center; font-weight: 900; }
.passo__corpo { flex: 1; min-width: 0; display: grid; gap: 10px; }
.passo__corpo .titoletto { margin: 4px 0 0; font-size: 18px; }
.tel { display: flex; gap: 8px; align-items: center; }
.tel span { font-weight: 800; }
.otp { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 6px; max-width: 300px; }
.otp span { height: 52px; border: 1.5px solid #C9CDD6; }
.esempi { margin: 8px 0 0; padding-left: 18px; color: var(--testo-2); }
.esempi li + li { margin-top: 6px; }
.strumento { display: flex; align-items: center; gap: 12px; padding: 14px 0; border-top: 1px solid var(--filo); color: var(--inchiostro); text-decoration: none; }
.strumento:first-child { border-top: 0; }
.strumento:hover strong { color: var(--blu); }
.strumento__testo { flex: 1; min-width: 0; }
.strumento__testo strong { display: block; font-size: 17px; line-height: 1.2; }
.strumento__testo small { display: block; margin-top: 2px; font-size: 13px; color: var(--testo-2); }

/* Amarcord: bacheca dei santini */
.bacheca { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin-bottom: 12px; }
.santino { display: flex; flex-direction: column; gap: 6px; background: var(--bianco); border: 1px solid var(--filo); padding: 10px; color: var(--inchiostro); text-decoration: none; transform: rotate(-0.6deg); }
.santino:nth-child(2n) { transform: rotate(0.7deg); }
.santino:hover { border-color: var(--blu); color: var(--inchiostro); }
.santino__img { display: flex; align-items: center; justify-content: center; aspect-ratio: 2 / 3; background: var(--fondo); overflow: hidden; }
.santino__img img { width: 100%; height: 100%; object-fit: cover; }
.santino__titolo { font-size: 14px; font-weight: 800; line-height: 1.2; }
.santino--vuoto { opacity: .6; }

/* Pagina "in arrivo" */
.allestimento { background: var(--blu); }
.arrivo { min-height: 100vh; display: flex; flex-direction: column; color: var(--bianco); }
.arrivo__alto { position: relative; flex: 1; padding: 32px var(--gutter) 28px; max-width: 760px; width: 100%; margin: 0 auto; border-bottom: 2px dashed var(--perfor); }
.arrivo__logo { height: 32px; width: auto; }
.arrivo__occhiello { margin: 48px 0 0; font-size: 14px; font-weight: 700; color: var(--blu-chiaro); }
.arrivo__titolo { margin: 8px 0 0; font-size: 48px; line-height: .98; font-weight: 900; letter-spacing: -0.045em; max-width: 12ch; }
.arrivo__testo { margin: 16px 0 0; font-size: 18px; line-height: 1.5; color: var(--blu-chiaro); max-width: 34ch; }
.arrivo__segno { position: absolute; right: var(--gutter); top: 96px; width: 64px; height: 64px; }
.arrivo__segno line { stroke: var(--giallo); stroke-width: 8; stroke-linecap: round; stroke-dasharray: 120; stroke-dashoffset: 120; animation: segno .3s ease-out .3s forwards; }
.arrivo__segno line + line { animation-delay: .55s; }
.arrivo__basso { background: var(--bianco); color: var(--inchiostro); padding: 22px var(--gutter) 28px; }
.arrivo__basso > * { max-width: 760px; margin-left: auto; margin-right: auto; }
.arrivo__h { margin: 0 auto 8px; font-size: 14px; font-weight: 800; }
.arrivo__h + .arrivo__piccolo { margin-top: -4px; }
.arrivo__piccolo { font-size: 14px; color: var(--testo-2); margin: 0 auto 12px; }
.arrivo__link { display: flex; justify-content: space-between; align-items: center; min-height: 56px; padding: 0 16px; border: 1px solid var(--filo); color: var(--inchiostro); font-weight: 800; text-decoration: none; margin-bottom: 22px; }
.arrivo__link span { color: var(--blu); font-size: 14px; }
.arrivo__bottoni { display: grid; gap: 8px; }
.bottone--bordo-chiaro { background: var(--bianco); color: var(--inchiostro); border: 1.5px solid var(--inchiostro); }
.arrivo__firma { margin: 22px auto 0; font-size: 12px; color: var(--testo-3); }

@media (min-width: 640px) {
	.scheda__griglia { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.bacheca { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.ricevuta__foglio { left: 50%; right: auto; bottom: 50%; transform: translate(-50%, 50%); width: 480px; border: 0; animation: none; }
	.arrivo__titolo { font-size: 72px; }
	.arrivo__bottoni { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.arrivo__bottoni .bottone { width: 100%; }
	.sezione-testa__titolo { font-size: 40px; }
	.ricevuta .bottone { width: 100%; }
}
@media (min-width: 960px) {
	.scheda__titolo { font-size: 72px; }
	.scheda__griglia { grid-template-columns: repeat(6, minmax(0, 1fr)); }
	.scheda .cerca-comune { max-width: 480px; }
	.bacheca { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
.tragitto .chip--scelta { display: inline-flex; grid-template-columns: none; align-items: center; gap: 8px; font-weight: 700; }
.sim-regole .sim-premio { display: block; line-height: 2.4; }
.sim-premio input[type="checkbox"] { vertical-align: middle; margin-right: 6px; }
.leg-liste { list-style: none; margin: 10px 0 0; padding: 0; font-size: 13px; }
.leg-liste li { display: flex; align-items: center; gap: 8px; padding: 5px 0; border-top: 1px solid var(--filo); }
.leg__nome { flex: 1; min-width: 0; overflow-wrap: anywhere; }

/* =====================================================================
   Archivio: comuni e persone
   ===================================================================== */
a.nome { color: inherit; text-decoration: underline; text-decoration-color: var(--perfor); text-decoration-thickness: 2px; text-underline-offset: 3px; }
a.nome:hover { color: var(--blu); text-decoration-color: var(--blu); }
.ricevuta__secondo { margin-top: 8px; }
.livello__link { display: inline-block; margin: 10px 0 0 10px; font-size: 13px; font-weight: 700; }
.comune-testa, .persona-testa { background: var(--blu); color: var(--bianco); padding: 22px 0 22px; }
.comune-testa__pre, .persona-testa__pre { margin: 0; font-size: 13px; font-weight: 700; color: var(--blu-chiaro); }
.comune-testa__pre a { color: var(--bianco); }
.comune-testa__nome, .persona-testa__nome { margin: 4px 0 0; font-size: 40px; line-height: 1; font-weight: 900; letter-spacing: -0.04em; }
.comune-testa__dati { display: flex; flex-wrap: wrap; gap: 6px 16px; margin-top: 12px; font-size: 14px; color: var(--blu-chiaro); }
.comune-testa__dati strong { color: var(--bianco); }
.comune-testa__azioni { margin-top: 14px; }
.persona-testa__nascita { margin: 8px 0 0; font-size: 16px; color: var(--blu-chiaro); }
.persona-numeri { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; margin-top: 16px; }
.persona-numeri div { background: var(--blu-fondo); padding: 10px 12px; }
.persona-numeri strong { display: block; font-size: 28px; line-height: 1; font-weight: 900; }
.persona-numeri span { font-size: 12px; color: var(--blu-chiaro); }
.sindaco-box { display: grid; gap: 2px; text-decoration: none; color: var(--inchiostro); border-left: 6px solid var(--blu); }
.sindaco-box:hover { color: var(--inchiostro); border-color: var(--giallo); }
.sindaco-box__ruolo { font-size: 13px; font-weight: 700; color: var(--blu); }
.sindaco-box__nome { font-size: 26px; font-weight: 900; letter-spacing: -0.02em; line-height: 1.1; }
.sindaco-box__lista { font-size: 13px; color: var(--testo-2); }
.sindaco-box__vai { margin-top: 6px; font-size: 14px; font-weight: 700; color: var(--blu); }
.avviso-comm { border-left: 6px solid var(--giallo); }
.avviso-comm__t { margin: 4px 0 6px; }
.elenco-nomi { margin: 0; padding-left: 18px; }
.persone { list-style: none; margin: 8px 0 0; padding: 0; }
.persone li { display: flex; justify-content: space-between; gap: 12px; padding: 9px 0; border-top: 1px solid var(--filo); font-size: 15px; }
.persone li span { font-size: 13px; color: var(--testo-2); text-align: right; }
.persone--compatte li { padding: 6px 0; font-size: 14px; }
.lista-gruppo { margin-top: 14px; }
.lista-gruppo__nome { display: flex; align-items: center; gap: 8px; margin: 0; font-size: 14px; font-weight: 800; }
.lista-gruppo__nome em { font-style: normal; margin-left: auto; color: var(--testo-2); }
.archivio-mandati { margin-top: 22px; }
.mandati { list-style: none; margin: 10px 0; padding: 0 0 0 10px; border-left: 4px solid var(--inchiostro); }
.mandato { position: relative; margin: 0 0 8px; }
.mandato::before { content: ""; position: absolute; left: -19px; top: 16px; width: 14px; height: 14px; border-radius:50%; background: var(--blu); border: 3px solid var(--fondo); }
.mandato details { background: var(--bianco); border: 1px solid var(--filo); padding: 0 14px; }
.mandato summary { display: flex; gap: 12px; align-items: center; min-height: 56px; cursor: pointer; list-style: none; }
.mandato summary::-webkit-details-marker { display: none; }
.mandato summary::after { content: "+"; margin-left: auto; font-size: 20px; font-weight: 700; color: var(--blu); }
.mandato details[open] summary::after { content: "−"; }
.mandato__anni { flex: none; font-size: 20px; font-weight: 900; color: var(--blu); min-width: 52px; }
.mandato__chi strong { display: block; font-size: 16px; line-height: 1.2; }
.mandato__chi small { display: block; font-size: 12px; color: var(--testo-3); }
.mandato .persone { padding-bottom: 10px; }
.persona-dati { display: grid; gap: 8px; margin: 0 0 16px; }
.persona-dati div { display: grid; gap: 2px; }
.persona-dati dt { font-size: 12px; font-weight: 700; color: var(--testo-3); }
.persona-dati dd { margin: 0; font-size: 15px; }
.linea { list-style: none; margin: 10px 0 14px; padding: 0 0 0 10px; border-left: 4px solid var(--inchiostro); }
.linea__voce { position: relative; display: flex; gap: 12px; margin: 0 0 10px; }
.linea__voce::before { content: ""; position: absolute; left: -19px; top: 14px; width: 14px; height: 14px; border-radius:50%; background: var(--blu); border: 3px solid var(--fondo); }
.linea__voce--oggi::before { background: var(--giallo); }
.linea__anni { flex: none; width: 86px; padding-top: 10px; font-size: 13px; font-weight: 900; color: var(--blu); }
.linea__corpo { flex: 1; min-width: 0; background: var(--bianco); border: 1px solid var(--filo); padding: 10px 14px; }
.linea__carica { margin: 0; font-size: 16px; font-weight: 800; }
.linea__ente { margin: 2px 0 0; font-size: 14px; }
.linea__lista { margin: 4px 0 0; font-size: 13px; color: var(--testo-2); overflow-wrap: anywhere; }
.elenco-persone { list-style: none; padding: 0; }
.elenco-persone:empty { display: none; }
.riga-persona { display: block; padding: 12px 0; border-top: 1px solid var(--filo); color: var(--inchiostro); text-decoration: none; }
.elenco-persone li:first-child .riga-persona { border-top: 0; }
.riga-persona strong { display: block; font-size: 16px; }
.riga-persona small { display: block; font-size: 13px; color: var(--testo-2); }
.riga-persona:hover strong { color: var(--blu); }
.riga-comune__link { display: flex; align-items: center; gap: 12px; flex: 1; color: var(--inchiostro); text-decoration: none; }
.riga-comune__link:hover strong { color: var(--blu); }
.riga-comune[hidden] { display: none; }
@media (min-width: 640px) {
	.comune-testa__nome, .persona-testa__nome { font-size: 52px; }
}

/* Tasto indietro e card dei comuni */
.indietro { margin-left: -10px; color: var(--inchiostro); }
.indietro:hover { color: var(--blu); }
.testata__barra .indietro + .testata__logo { margin-left: -4px; }
.carte-comuni { list-style: none; margin: 0 0 12px; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.carta-comune[hidden] { display: none; }
.carta-comune__link { height: 100%; display: flex; flex-direction: column; align-items: center; text-align: center; gap: 6px; padding: 16px 10px 14px; background: var(--bianco); border: 1px solid var(--filo); color: var(--inchiostro); text-decoration: none; transition: border-color .15s, transform .15s; }
.carta-comune__link:hover { border-color: var(--blu); color: var(--inchiostro); transform: translateY(-2px); }
.carta-comune__stemma { width: 72px; height: 88px; display: flex; align-items: center; justify-content: center; }
.carta-comune__stemma img { max-width: 72px; max-height: 88px; width: auto; height: auto; object-fit: contain; }
.carta-comune__sigla { width: 64px; height: 64px; border-radius:50%; border: 3px solid var(--blu); color: var(--blu); display: inline-flex; align-items: center; justify-content: center; font-size: 20px; font-weight: 900; }
.carta-comune__nome { font-size: 16px; line-height: 1.15; font-weight: 900; letter-spacing: -0.01em; }
.carta-comune__chi { font-size: 12px; line-height: 1.3; color: var(--testo-2); min-height: 1.3em; }
.carta-comune__tag { display: flex; flex-wrap: wrap; justify-content: center; gap: 4px; margin-top: auto; padding-top: 4px; }
.tag { font-style: normal; font-size: 10px; font-weight: 800; letter-spacing: .02em; padding: 2px 7px; border-radius:3px; background: var(--fondo); color: var(--testo-2); }
.tag--rc { background: var(--blu-chiaro); color: var(--blu-scuro); }
.tag--me { background: #E7E8EB; color: var(--inchiostro); }
.tag--voto { background: var(--giallo); color: var(--inchiostro); }
.tag--comm { background: var(--inchiostro); color: var(--bianco); }
@media (min-width: 640px) { .carte-comuni { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (min-width: 960px) { .carte-comuni { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.comune-testa__riga { display: flex; align-items: center; gap: 14px; margin-top: 6px; }
.comune-testa__riga .comune-testa__nome { margin: 0; }
.comune-testa__stemma { flex: none; width: 60px; height: 72px; display: flex; align-items: center; justify-content: center; background: var(--bianco); border-radius:3px; padding: 4px; }
.comune-testa__stemma img { max-width: 100%; max-height: 100%; object-fit: contain; }

/* Angolo colorato: sponda calabra (blu) e sicula (inchiostro) */
.carta-comune__link { position: relative; overflow: hidden; }
.carta-comune__link::before { content: ""; position: absolute; top: 0; left: 0; width: 0; height: 0; border-style: solid; border-width: 22px 22px 0 0; border-color: transparent; }
.carta-comune__link--rc::before { border-top-color: var(--blu); }
.carta-comune__link--me::before { border-top-color: var(--inchiostro); }
.angolo { display: inline-block; width: 0; height: 0; margin-right: 6px; border-style: solid; border-width: 10px 10px 0 0; border-color: transparent; vertical-align: -1px; }
.angolo--rc { border-top-color: var(--blu); }
.angolo--me { border-top-color: var(--inchiostro); }
.pillole button[aria-checked="true"] .angolo--rc { border-top-color: var(--bianco); }

/* Link senza sottolineatura: testo blu come il sito */
a.nome, .linea__ente a, .riga-link, .testo a, .comune-testa__pre a { text-decoration: none; }
a.nome { color: var(--blu); font-weight: 600; }
a.nome:hover, .testo a:hover, .linea__ente a:hover { color: var(--blu-scuro); text-decoration: underline; text-underline-offset: 3px; }
.comune-testa__pre a { color: var(--bianco); font-weight: 800; }

/* Niente angoli colorati: i comuni sono divisi per città metropolitana */
.carta-comune__link::before, .angolo { display: none !important; }
.gruppo-comuni { margin-top: 18px; }
.gruppo-comuni[hidden] { display: none; }
.gruppo-comuni__titolo { margin: 0 0 10px; font-size: 18px; font-weight: 900; letter-spacing: -0.01em; display: flex; align-items: center; gap: 8px; }
.gruppo-comuni__titolo span { font-size: 12px; font-weight: 800; padding: 2px 9px; border-radius:3px; background: var(--blu); color: var(--bianco); }

/* Pagine larghe su computer */
@media (min-width: 960px) {
	.pagina-larga .contenitore.stretto, .pagina-larga .colonna { max-width: var(--max); }
	.pagina-larga .carte-comuni { grid-template-columns: repeat(5, minmax(0, 1fr)); }
	.pagina-larga .persone:not(.persone--compatte) { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 32px; }
	.pagina-larga .persone--compatte { columns: 2; column-gap: 32px; }
	.pagina-larga .persone--compatte li { break-inside: avoid; }
	.pagina-larga .elenco-persone { columns: 2; column-gap: 32px; padding: 4px 16px; }
	.pagina-larga .elenco-persone li { break-inside: avoid; }
	.pagina-larga .linea { columns: 1; max-width: 900px; }
	.pagina-larga .sezione-testa__desc, .pagina-larga .rubrica-testa__desc { max-width: 720px; }
	.pagina-larga .riquadro.pad > .campo, .pagina-larga .cerca-comune { max-width: 640px; }
	.pagina-larga .emiciclo--grande { max-width: 560px; }
	.pagina-larga .bacheca { grid-template-columns: repeat(5, minmax(0, 1fr)); }
}
@media (min-width: 1200px) {
	.pagina-larga .carte-comuni { grid-template-columns: repeat(6, minmax(0, 1fr)); }
}

.tag--comm { background: var(--bianco); color: var(--blu-scuro); box-shadow: inset 0 0 0 1.5px var(--blu-scuro); }

/* Volti degli amministratori */
.volto { flex: none; width: 34px; height: 34px; border-radius:50%; object-fit: cover; object-position: center 20%; background: var(--blu-chiaro); }
.volto--iniziali { display: inline-flex; align-items: center; justify-content: center; font-size: 12px; font-weight: 800; color: var(--blu-scuro); }
.persone li.con-volto { justify-content: flex-start; align-items: center; gap: 10px; }
.persone li.con-volto span:last-child { margin-left: auto; }
.sindaco-box { grid-template-columns: auto 1fr; column-gap: 14px; }
.sindaco-box > *:not(.volto) { grid-column: 2; }
.volto--grande { grid-row: 1 / span 4; width: 76px; height: 76px; align-self: center; }
.volto--grande.volto--iniziali { font-size: 22px; }
.persona-testa__riga { display: flex; align-items: center; gap: 16px; }
.volto--testa { width: 84px; height: 84px; border: 3px solid var(--bianco); }
.volto--testa.volto--iniziali { font-size: 26px; background: var(--blu-fondo); color: var(--bianco); }
@media (min-width: 640px) { .volto--testa { width: 112px; height: 112px; } }

/* ---------- 1.3: barra dei seggi, contatori, filtri, carte persone, simboli liste ---------- */
.emiciclo.barra-seggi, .emiciclo--grande.barra-seggi, .pagina-larga .emiciclo--grande.barra-seggi { max-width: none; min-height: 0; margin: 14px 0 6px; }
.barra-seggi__barra { position: relative; display: flex; gap: 2px; height: 34px; border-radius:3px; overflow: hidden; background: var(--fondo); }
.barra-seggi__pezzo { display: flex; align-items: center; justify-content: center; min-width: 4px; transform-origin: left center; animation: pezzo .6s cubic-bezier(.2,.7,.2,1) backwards; }
.barra-seggi__pezzo b { font-size: 13px; font-weight: 800; }
.barra-seggi__meta { position: absolute; top: -4px; bottom: -4px; width: 0; border-left: 2px dashed var(--inchiostro); opacity: .55; }
.barra-seggi__scala { display: flex; justify-content: space-between; margin-top: 6px; font-size: 12px; color: var(--testo-2); }
@keyframes pezzo { from { transform: scaleX(0); opacity: 0; } to { transform: scaleX(1); opacity: 1; } }
.ricevuta .barra-seggi__barra { height: 26px; }

.contatori { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin: 0 0 12px; }
.contatore { background: var(--blu); color: var(--bianco); padding: 14px 14px 12px; display: flex; flex-direction: column; gap: 2px; }
.contatore strong { font-size: 30px; line-height: 1; font-weight: 900; letter-spacing: -0.02em; font-variant-numeric: tabular-nums; }
.contatore span { font-size: 13px; font-weight: 600; opacity: .9; }
.contatore:nth-child(2) { background: var(--giallo); color: var(--inchiostro); }
.contatore--archivio { grid-column: 1 / -1; background: var(--blu-chiaro); color: var(--blu-scuro); }
@media (min-width: 640px) { .contatori { grid-template-columns: repeat(4, minmax(0, 1fr)); } .contatore--archivio { grid-column: auto; } .contatori:has(.contatore--archivio) { grid-template-columns: repeat(5, minmax(0, 1fr)); } }

.filtri { margin-top: 6px; }
.filtri__titolo { margin: 10px 0 -8px; font-size: 12px; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; color: var(--testo-3); }
.filtri .pillole--scorri { padding: 12px 0 4px; }
.filtri [hidden] { display: none; }

.carte-persone { list-style: none; margin: 0 0 12px; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.carte-persone:empty { display: none; }
.carta-persona__link { height: 100%; display: flex; flex-direction: column; align-items: center; text-align: center; gap: 4px; padding: 16px 10px 14px; background: var(--bianco); border: 1px solid var(--filo); color: var(--inchiostro); text-decoration: none; transition: border-color .15s, transform .15s; }
.carta-persona__link:hover { border-color: var(--blu); color: var(--inchiostro); transform: translateY(-2px); }
.volto--carta { width: 72px; height: 72px; margin-bottom: 6px; }
.volto--carta.volto--iniziali { font-size: 22px; }
.carta-persona__nome { font-size: 15px; line-height: 1.2; font-weight: 900; }
.carta-persona__ruolo { font-size: 12px; font-weight: 700; color: var(--blu); }
.carta-persona__ente { font-size: 12px; color: var(--testo-2); }
.carta-persona__nota { font-size: 11px; color: var(--testo-3); margin-top: auto; padding-top: 4px; }
.altri-wrap { text-align: center; margin: 4px 0 16px; }
.altri-wrap [hidden] { display: none; }
@media (min-width: 640px) { .carte-persone { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (min-width: 960px) { .carte-persone { grid-template-columns: repeat(4, minmax(0, 1fr)); } .pagina-larga .carte-persone { grid-template-columns: repeat(5, minmax(0, 1fr)); } }
@media (min-width: 1100px) { .pagina-larga .carte-persone { grid-template-columns: repeat(6, minmax(0, 1fr)); } }

.simbolo-lista { flex: none; width: 34px; height: 34px; object-fit: contain; }
.simbolo-lista--piccolo { width: 30px; height: 30px; }
.lista-gruppo__nome > span:not(.sim-colore) { min-width: 0; }
.sindaco-box__simboli { display: flex; flex-wrap: wrap; gap: 4px; margin-top: 6px; }

/* ---------- 1.3.1: filtri a tendina, discreti ---------- */
.filtri-riga { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; padding: 12px 0 4px; }
.tendina { position: relative; display: block; min-width: 0; }
.tendina[hidden] { display: none; }
.tendina--larga { grid-column: 1 / -1; }
.tendina select { width: 100%; height: 42px; padding: 0 34px 0 12px; border: 1px solid var(--filo); border-radius:3px; background: var(--fondo) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%230453F1' stroke-width='2'/%3E%3C/svg%3E") no-repeat right 12px center; color: var(--inchiostro); font: inherit; font-size: 14px; font-weight: 600; -webkit-appearance: none; appearance: none; cursor: pointer; text-overflow: ellipsis; }
.tendina select:hover { border-color: #C9CDD6; }
.tendina select:focus-visible { outline: 2px solid var(--blu); outline-offset: 1px; }
.tendina select.attiva { background-color: var(--blu-chiaro); border-color: var(--blu); color: var(--blu-scuro); }
.tendina--larga select { background-color: var(--bianco); border-color: #C9CDD6; font-weight: 700; }
.campo--compatto { height: 44px; }
@media (min-width: 760px) {
	.filtri-riga { grid-template-columns: 2fr 1fr 1fr 1fr; }
	.tendina--larga { grid-column: auto; }
	[data-sezione="persone"] .filtri-riga { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}

/* ---------- 1.4: utenti, segui, foto proposte ---------- */
.pillola--blu { background: var(--blu); color: var(--bianco); border: 0; }
.pillola--blu:hover { color: var(--bianco); background: var(--blu-scuro); filter: none; }
.icona.utente { color: var(--blu); }
.utente--dentro span { width: 30px; height: 30px; border-radius:50%; background: var(--blu); color: var(--bianco); display: inline-flex; align-items: center; justify-content: center; font-size: 12px; font-weight: 800; }
.comune-testa__azioni { display: flex; flex-wrap: wrap; gap: 8px; }
.segui { gap: 6px; }
.segui__piu { font-size: 18px; line-height: 1; font-weight: 800; }
.segui--si { background: var(--bianco); color: var(--blu); border-color: var(--bianco); }
.segui--si:hover { background: var(--bianco); color: var(--blu); }
.segui--si .segui__piu { display: none; }
.segui--attesa { opacity: .6; pointer-events: none; }
.persona-testa__credito { margin: 2px 0 0; font-size: 12px; opacity: .8; }
.persona-testa__credito a { color: inherit; text-decoration: underline; text-underline-offset: 2px; }

.proponi-foto summary { cursor: pointer; font-weight: 800; color: var(--blu); list-style: none; padding: 6px 0; }
.proponi-foto summary::-webkit-details-marker { display: none; }
.proponi-foto summary::before { content: "+ "; }
.proponi-foto[open] summary::before { content: "− "; }
.form-foto, .form-profilo { display: grid; gap: 6px; }
.form-foto .pillola, .form-profilo .pillola { justify-self: start; margin-top: 8px; }
.campo-file { font: inherit; font-size: 14px; padding: 8px 0; }
.spunta { display: flex; gap: 10px; align-items: flex-start; font-size: 14px; margin-top: 8px; }
.spunta input { margin-top: 3px; width: 18px; height: 18px; flex: none; accent-color: var(--blu); }
.avviso-form { padding: 10px 14px; margin: 0 0 12px; font-size: 14px; font-weight: 600; }
.avviso-form--ok { background: var(--blu-chiaro); color: var(--blu-scuro); }
.avviso-form--no { background: #FFF1E6; color: #8A3A06; }

.accesso__azioni { display: flex; flex-wrap: wrap; gap: 8px; margin: 14px 0 8px; }
.profilo-testa { display: flex; align-items: center; gap: 14px; }
.profilo-testa .volto--grande { width: 64px; height: 64px; font-size: 24px; }
.profilo-testa .titoletto { margin: 0; }
.mio-comune { display: flex; align-items: center; gap: 14px; text-decoration: none; color: var(--inchiostro); border-left: 6px solid var(--giallo); }
.mio-comune img { width: 52px; height: 64px; object-fit: contain; }
.mio-comune span { display: grid; }
.mio-comune small { font-size: 12px; font-weight: 700; color: var(--blu); }
.mio-comune strong { font-size: 22px; font-weight: 900; }
.mio-comune em { font-style: normal; font-size: 13px; color: var(--testo-2); }
.profilo .vuoto { color: var(--testo-2); }
.mie-foto { list-style: none; display: grid; gap: 10px; }
.mie-foto li { display: flex; align-items: center; gap: 10px; }
.mie-foto em { margin-left: auto; font-style: normal; font-size: 12px; font-weight: 700; color: var(--blu); }
.profilo-azioni { display: flex; flex-wrap: wrap; gap: 8px; }
.elimina-account summary { cursor: pointer; font-size: 14px; color: var(--testo-2); }
.form-profilo .tendina select { background-color: var(--bianco); }
.profilo a:not(.pillola), .proponi-foto a:not(.pillola) { text-decoration: none; }
.comune-testa__azioni { align-items: center; } .comune-testa__azioni .pillola { height: 40px; min-height: 40px; padding: 0 16px; border-radius:3px; line-height: 1; font-family: inherit; }

/* ---------- 1.5: istituzioni e compleanni ---------- */
.istituzioni { display: grid; grid-template-columns: 1fr; gap: 8px; margin: 0 0 12px; }
.istituzione { display: flex; align-items: center; gap: 12px; padding: 12px 14px; background: var(--bianco); border: 1px solid var(--filo); color: var(--inchiostro); text-decoration: none; transition: border-color .15s, transform .15s; }
.istituzione:hover { border-color: var(--blu); color: var(--inchiostro); transform: translateY(-2px); }
.istituzione svg { flex: none; }
.istituzione span { display: grid; min-width: 0; }
.istituzione strong { font-size: 15px; line-height: 1.2; font-weight: 900; }
.istituzione small { font-size: 12px; color: var(--testo-2); }
.istituzione--comuni { border-color: var(--giallo); }
@media (min-width: 640px) { .istituzioni { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1100px) { .pagina-larga .istituzioni { grid-template-columns: repeat(5, minmax(0, 1fr)); } }
.ente-icona { display: inline-flex; width: 64px; height: 64px; border-radius:50%; background: var(--bianco); align-items: center; justify-content: center; flex: none; }
.persone--volti li { display: flex; align-items: center; gap: 8px; }
.persone--volti .volto { width: 26px; height: 26px; font-size: 10px; }

.compleanni[hidden] { display: none; }
.compleanni { padding: 14px 16px; border-left: 4px solid var(--giallo); }
.compleanni__h { margin: 0 0 8px; font-size: 14px; font-weight: 800; color: var(--blu); }
.compleanni ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 6px; }
.compleanni li { display: grid; }
.compleanni li a { font-weight: 700; text-decoration: none; color: var(--inchiostro); }
.compleanni li a:hover { color: var(--blu); }
.compleanni li small { font-size: 12px; color: var(--testo-2); }
.compleanni details { margin-top: 6px; }
.compleanni summary { cursor: pointer; font-size: 13px; font-weight: 700; color: var(--blu); }
.compleanni details ul { margin-top: 6px; }
.compleanni .meta { margin: 8px 0 0; }

/* ---------- 1.5.1: pagina Istituzioni ---------- */
.carte-enti { display: grid; grid-template-columns: 1fr; gap: 10px; margin: 0 0 20px; }
@media (min-width: 720px) { .carte-enti { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.carta-ente { display: grid; gap: 12px; padding: 18px; background: var(--bianco); border: 1px solid var(--filo); border-top: 5px solid var(--blu); color: var(--inchiostro); text-decoration: none; transition: border-color .15s, transform .15s; }
.carta-ente:hover { border-color: var(--blu); color: var(--inchiostro); transform: translateY(-2px); }
.carta-ente--comuni { border-top-color: var(--giallo); }
.carta-ente__nome { font-size: 22px; font-weight: 900; line-height: 1.15; letter-spacing: -0.01em; }
.carta-ente__capo { display: flex; align-items: center; gap: 10px; }
.carta-ente__capo .volto { width: 48px; height: 48px; font-size: 15px; }
.carta-ente__capo span { display: grid; }
.carta-ente__capo small { font-size: 12px; font-weight: 700; color: var(--blu); }
.carta-ente__capo strong { font-size: 16px; }
.carta-ente__numeri { display: flex; flex-wrap: wrap; gap: 6px 16px; font-size: 13px; color: var(--testo-2); }
.carta-ente__numeri strong { color: var(--inchiostro); font-size: 15px; }

/* ---------- 1.5.4: simboli dei partiti storici ---------- */
.simbolo-storico { width: 20px; height: 20px; object-fit: contain; vertical-align: -5px; margin-right: 5px; }
.linea__lista .simbolo-storico { width: 24px; height: 24px; vertical-align: -7px; }

/* Striscia dei simboli in corsa in un'elezione regionale */
.striscia-simboli { margin: 4px 0 14px; padding: 12px; background: #F4F7FE; border-radius:3px; }
.striscia-simboli__titolo { margin: 0 0 8px; font-size: 12px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; color: #0453F1; }
.striscia-simboli ul { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 6px; }
.striscia-simboli li { display: block; }
.striscia-simboli li span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.striscia-simboli__img { width: 40px; height: 40px; object-fit: contain; display: block; background: #fff; border-radius:50%; }

/* Vetrina dello Stretto (spazi promozionali) */
.vetrina { margin: 0 0 16px; padding: 14px; border: 1px solid #E3E8F2; border-radius:3px; background: #fff; }
.vetrina--articolo { margin: 8px 0 24px; }
.vetrina__etichetta { margin: 0 0 10px; font-size: 11px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: #6B7280; }
.vetrina__img { display: block; width: 100%; max-height: 260px; object-fit: cover; border-radius:3px; background: #F4F7FE; }
.vetrina__nome { margin: 10px 0 2px; font-weight: 800; font-size: 17px; }
.vetrina__testo { margin: 0 0 10px; font-size: 14px; line-height: 1.45; color: #374151; }
.vetrina__azioni { display: flex; flex-wrap: wrap; gap: 6px; margin: 0; }
.vetrina__tua { display: inline-block; margin-top: 10px; font-size: 12px; color: #6B7280; }
.vetrina__invito { display: block; padding: 14px; border-radius:3px; background: #F4F7FE; color: inherit; text-decoration: none; }
.vetrina__invito strong { display: block; font-size: 17px; color: #0453F1; }
.vetrina__invito span { display: block; margin: 4px 0 8px; font-size: 14px; line-height: 1.45; }
.vetrina__invito em { font-style: normal; font-weight: 700; font-size: 14px; }
.vetrina-passi { margin: 0 0 12px; padding-left: 20px; line-height: 1.6; }
.vetrina-prezzi { list-style: none; margin: 0 0 12px; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(110px, 1fr)); gap: 8px; }
.vetrina-prezzi li { padding: 12px; border-radius:3px; background: #F4F7FE; text-align: center; }
.vetrina-prezzi span { display: block; font-size: 13px; color: #374151; }
.vetrina-prezzi strong { display: block; font-size: 22px; color: #0453F1; }
.modulo-vetrina .etichetta-campo { display: block; margin-top: 14px; }
.vetrina-pacchetti { border: 0; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.vetrina-pacchetto { flex: 1 1 100px; display: flex; gap: 8px; align-items: center; padding: 10px 12px; border: 1px solid #D5DCEA; border-radius:3px; cursor: pointer; }
.vetrina-pacchetto em { font-style: normal; color: #0453F1; font-weight: 700; }
.vetrina-pacchetto:has(input:checked) { border-color: #0453F1; background: #F4F7FE; }
.modulo-vetrina .spunta { margin-top: 12px; }
.modulo-vetrina .bottone { margin-top: 16px; }
.mecenate { border: 2px solid #FFC93C; }

/* Stemmi delle istituzioni */
.emblema-ente { object-fit: contain; flex: none; }
.ente-icona .emblema-ente { width: 52px; height: 52px; }
.carta-ente__nome .emblema-ente { width: 30px; height: 30px; vertical-align: -8px; margin-right: 8px; }

/* Consiglio: una carta per lista, disposte a colonne */
.gruppi-liste { margin-top: 14px; columns: 300px 2; column-gap: 12px; }
.gruppi-liste .lista-gruppo { break-inside: avoid; display: inline-block; width: 100%; margin: 0 0 12px; padding: 10px 12px 8px; background: var(--bianco); border: 1px solid var(--filo); border-top: 4px solid var(--colore-lista, #C9CDD6); border-radius:3px; }
.gruppi-liste .lista-gruppo__nome { gap: 8px; padding-bottom: 8px; margin-bottom: 6px; border-bottom: 1px solid var(--filo); font-size: 14px; line-height: 1.2; }
.gruppi-liste .lista-gruppo__nome .simbolo-lista { width: 28px; height: 28px; }
.gruppi-liste .lista-gruppo__nome em { flex: none; min-width: 26px; height: 22px; padding: 0 7px; border-radius:3px; background: #EEF1F7; color: var(--inchiostro); font-size: 12px; font-weight: 800; display: inline-flex; align-items: center; justify-content: center; }
.membri { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(140px, 1fr)); gap: 2px 10px; }
.membri li { display: flex; align-items: center; gap: 7px; min-width: 0; padding: 4px 0; }
.membri .volto { width: 28px; height: 28px; flex: none; font-size: 10px; }
.membri__testo { display: grid; min-width: 0; font-size: 13px; line-height: 1.2; }
.membri__testo a { font-weight: 600; text-decoration: none; }
.membri__testo small { font-size: 11px; color: var(--testo-2); }
.membri--testo { grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); }

/* Vetrina: scorrimento tra gli spazi */
.vetrina__binario { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; gap: 12px; }
.vetrina__binario::-webkit-scrollbar { display: none; }
.vetrina__binario .vetrina__voce { flex: 0 0 100%; scroll-snap-align: start; min-width: 0; }
.vetrina__punti { display: flex; justify-content: center; gap: 6px; margin-top: 10px; }
.vetrina__punti button { width: 8px; height: 8px; padding: 0; border: 0; border-radius:50%; background: #D5DCEA; cursor: pointer; }
.vetrina__punti button[aria-current="true"] { background: #0453F1; width: 20px; border-radius:4px; }

/* Consiglio, versione a schede verticali: una fascia per lista, una scheda per persona */
.gruppi-liste { columns: auto; display: grid; gap: 12px; }
.gruppi-liste .lista-gruppo { display: block; margin: 0; padding: 12px 14px 14px; }
.gruppi-liste .lista-gruppo__nome { margin-bottom: 12px; font-size: 15px; }
.gruppi-liste .lista-gruppo__nome .simbolo-lista { width: 34px; height: 34px; }
.membri { grid-template-columns: repeat(auto-fill, minmax(104px, 1fr)); gap: 10px; }
.membri li { flex-direction: column; align-items: center; justify-content: flex-start; gap: 6px; padding: 10px 6px; text-align: center; background: #F6F8FC; border-radius:3px; }
.membri .volto { width: 56px; height: 56px; font-size: 16px; }
.membri__testo { justify-items: center; font-size: 13px; }
.membri__testo a { overflow-wrap: anywhere; }
.membri__testo small { margin-top: 2px; }
@media (max-width: 480px) { .membri { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; } .membri .volto { width: 48px; height: 48px; } }

/* Consiglio compatto: liste affiancate quando ci stanno, schede persona strette */
.gruppi-liste { display: flex; flex-wrap: wrap; gap: 10px; }
.gruppi-liste .lista-gruppo { flex: 1 1 calc(var(--n, 3) * 84px + 26px); max-width: 100%; min-width: 0; padding: 10px 12px 12px; }
.gruppi-liste .lista-gruppo__nome { margin-bottom: 10px; padding-bottom: 8px; font-size: 14px; }
.gruppi-liste .lista-gruppo__nome .simbolo-lista { width: 28px; height: 28px; }
.membri { display: flex; flex-wrap: wrap; gap: 6px; }
.membri li { width: 78px; padding: 6px 2px 8px; gap: 5px; }
.membri .volto { width: 46px; height: 46px; font-size: 14px; }
.membri__testo { font-size: 12px; line-height: 1.15; }
.membri__testo small { font-size: 10px; }
@media (max-width: 480px) { .membri { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); } .membri li { width: auto; } .membri .volto { width: 42px; height: 42px; } }

/* In carica / Storico */
.viste { display: flex; gap: 4px; padding: 4px; margin: 0 0 14px; background: #EEF1F7; border-radius:999px; }
.viste button { flex: 1; min-height: 40px; border: 0; border-radius:999px; background: transparent; font: inherit; font-size: 14px; font-weight: 800; color: var(--inchiostro); cursor: pointer; }
.viste button span { font-weight: 600; color: var(--testo-2); font-size: 12px; }
.viste button[aria-selected="true"] { background: var(--bianco); color: #0453F1; box-shadow: 0 1px 4px rgba(14,17,32,.12); }

/* Piede a colonne */
.piede__colonne { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 8px 24px; margin: 4px 0 12px; max-width: 720px; }
.piede__titolo { margin: 8px 0 0; font-size: 11px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: #8A93A2; }
.piede__colonna .piede__link { display: block; }
.piede__colonna .piede__link a { padding: 6px 0; }

/* Albo dei sostenitori */
.albo__nomi { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.albo__nomi li { padding: 6px 12px; border-radius:999px; background: #F4F7FE; font-weight: 600; font-size: 14px; }
.albo--mecenate { border-top: 4px solid #FFC93C; }
.albo--mecenate .albo__nomi li { background: #FFF6DC; font-size: 16px; }
.gruppi-liste .lista-gruppo { flex-basis: max(230px, calc(var(--n, 3) * 84px + 26px)); }

/* Consiglio in una griglia sola: colore e simbolo della lista su ogni scheda */
.membri--tutti { display: grid; grid-template-columns: repeat(auto-fill, minmax(92px, 1fr)); gap: 8px; margin-top: 14px; }
.membri--tutti li { width: auto; padding: 8px 4px 9px; border-bottom: 3px solid var(--colore-lista, #C9CDD6); }
.membri__foto { position: relative; display: block; }
.membri--tutti .volto { width: 50px; height: 50px; }
.membri__simbolo { position: absolute; right: -6px; bottom: -4px; width: 22px; height: 22px; object-fit: contain; background: #fff; border-radius:50%; box-shadow: 0 0 0 2px #fff; }
.membri--tutti .membri__testo small { display: block; max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 10px; }
@media (max-width: 480px) { .membri--tutti { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 6px; } .membri--tutti .volto { width: 44px; height: 44px; } }

/* Archivio: nome su una riga, descrizione piccola */
.archivio-mandati .persone--compatte li { gap: 10px; padding: 5px 0; font-size: 13px; align-items: baseline; }
.archivio-mandati .persone--compatte li > a { white-space: nowrap; flex: none; font-weight: 600; }
.archivio-mandati .persone--compatte li > span { font-size: 11.5px; line-height: 1.3; color: var(--testo-2); text-align: right; }

/* Striscia dei simboli: nome al passaggio del mouse (o al tocco) */
.striscia-simboli li { position: relative; }
.striscia-simboli li span { position: absolute; left: 50%; bottom: calc(100% + 6px); transform: translateX(-50%); width: max-content; max-width: 200px; height: auto; clip: auto; overflow: visible; padding: 5px 8px; border-radius:3px; background: var(--inchiostro, #0E1120); color: #fff; font-size: 12px; font-weight: 600; line-height: 1.25; text-align: center; white-space: normal; opacity: 0; pointer-events: none; transition: opacity .12s; z-index: 5; }
.striscia-simboli li:hover span, .striscia-simboli li:focus span, .striscia-simboli li:focus-within span { opacity: 1; }
.striscia-simboli li:focus { outline: 2px solid #0453F1; outline-offset: 2px; border-radius:50%; }

/* Storico in evidenza: giallo, icona e un richiamo animato all'apertura */
.viste button { display: inline-flex; align-items: center; justify-content: center; gap: 6px; }
.viste__storico { position: relative; overflow: hidden; }
.viste__storico[aria-selected="false"] { background: #FFC93C; color: #0E1120; animation: storico-richiamo 1.6s ease-in-out .6s 3; }
.viste__storico[aria-selected="false"] span { color: #4A3A00; }
.viste__storico[aria-selected="false"]::after { content: ""; position: absolute; top: 0; bottom: 0; left: -40%; width: 30%; background: linear-gradient(90deg, transparent, rgba(255,255,255,.75), transparent); transform: skewX(-20deg); animation: storico-luce 2.4s ease-in-out .4s infinite; }
.viste__storico[aria-selected="false"] .viste__icona { animation: storico-giro 2.4s ease-in-out .4s infinite; }
.viste__storico:hover { filter: brightness(1.04); }
@keyframes storico-richiamo { 0%, 100% { box-shadow: 0 0 0 0 rgba(255,201,60,.0); transform: scale(1); } 50% { box-shadow: 0 0 0 6px rgba(255,201,60,.35); transform: scale(1.03); } }
@keyframes storico-luce { 0% { left: -40%; } 60%, 100% { left: 130%; } }
@keyframes storico-giro { 0%, 70%, 100% { transform: rotate(0); } 85% { transform: rotate(-360deg); } }
@media (prefers-reduced-motion: reduce) { .viste__storico, .viste__storico::after, .viste__icona { animation: none !important; } }

/* Archivio: nome sopra, incarico e liste sotto in piccolo */
.archivio-mandati .persone--compatte li { display: block; padding: 6px 0; }
.archivio-mandati .persone--compatte li > a { display: block; white-space: normal; font-size: 14px; line-height: 1.25; }
.archivio-mandati .persone--compatte li > span { display: block; margin-top: 2px; text-align: left; font-size: 11.5px; line-height: 1.35; }

/* Chi ti rappresenta: foto accanto al nome */
.livello__corpo { display: grid; grid-template-columns: auto 1fr; column-gap: 14px; align-items: start; }
.livello__corpo > * { grid-column: 2; }
.livello__foto { grid-column: 1; grid-row: 1 / span 6; }
.livello__foto .volto { width: 72px; height: 72px; }
.livello__foto .volto--iniziali { font-size: 22px; }
.livello__corpo .livello__voto, .livello__corpo .livello__link { justify-self: start; }
.livello__link { margin: 8px 0 0; }
.livello__voto + .livello__link { margin-top: 6px; }
.livello--presto .livello__corpo { display: block; }
@media (max-width: 480px) { .livello__foto .volto { width: 56px; height: 56px; } }

/* Istituzioni: carte della stessa altezza */
.carte-enti { align-items: stretch; }
.carta-ente { height: 100%; grid-template-rows: auto 1fr auto; align-content: start; }
.carta-ente .carta-ente__numeri { align-self: end; }
.carta-ente--comuni { grid-template-rows: 1fr auto; }

/* Tutti gli amministratori: fascia piena */
.tutti-amm { position: relative; overflow: hidden; display: grid; gap: 18px; margin: 4px 0 20px; padding: 24px 22px; border-radius:3px; background: radial-gradient(120% 140% at 100% 0%, #2E6BFF 0%, #0453F1 45%, #0233A8 100%); color: #fff; }
.tutti-amm::before { content: ""; position: absolute; right: -60px; top: -60px; width: 220px; height: 220px; border-radius:50%; border: 28px solid rgba(255,201,60,.18); }
.tutti-amm > * { position: relative; }
.tutti-amm__pre { margin: 0; font-size: 12px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: #FFC93C; }
.tutti-amm__titolo { margin: 4px 0 6px; font-size: 30px; line-height: 1.05; font-weight: 900; letter-spacing: -0.02em; color: #fff; }
.tutti-amm__desc { margin: 0 0 14px; font-size: 15px; line-height: 1.45; color: rgba(255,255,255,.88); max-width: 520px; }
.tutti-amm__cerca { display: flex; gap: 6px; padding: 5px; background: #fff; border-radius:999px; max-width: 520px; }
.tutti-amm__cerca input { flex: 1; min-width: 0; border: 0; padding: 0 14px; font: inherit; font-size: 15px; background: transparent; color: var(--inchiostro); outline: none; }
.tutti-amm__cerca button { flex: none; min-height: 42px; padding: 0 20px; border: 0; border-radius:999px; background: #FFC93C; color: #0E1120; font: inherit; font-weight: 900; cursor: pointer; }
.tutti-amm__lato { display: grid; gap: 12px; align-content: center; }
.tutti-amm__cifra { margin: 0; display: grid; }
.tutti-amm__cifra strong { font-size: 44px; line-height: 1; font-weight: 900; letter-spacing: -0.03em; color: #FFC93C; }
.tutti-amm__cifra span { font-size: 14px; font-weight: 700; }
.tutti-amm__volti { display: flex; margin: 0; }
.tutti-amm__volti .volto { width: 40px; height: 40px; margin-left: -10px; border: 3px solid #0453F1; background: #fff; }
.tutti-amm__volti .volto:first-child { margin-left: 0; }
.tutti-amm__vai { justify-self: start; color: #fff; font-weight: 800; text-decoration: none; border-bottom: 2px solid #FFC93C; padding-bottom: 2px; }
.tutti-amm__vai:hover { color: #FFC93C; }
@media (min-width: 720px) { .tutti-amm { grid-template-columns: 1.6fr 1fr; padding: 30px 32px; } .tutti-amm__titolo { font-size: 36px; } }

/* Mecenate dello Stretto */
.mecenate { position: relative; overflow: hidden; margin: 0 0 14px; padding: 24px 22px 22px; border: 0; border-radius:3px; background: radial-gradient(120% 120% at 0% 0%, #1E2540 0%, #0E1120 55%, #070912 100%); color: #fff; box-shadow: 0 10px 30px rgba(14,17,32,.25); }
.mecenate::before { content: ""; position: absolute; inset: 0; border-radius:3px; padding: 2px; background: linear-gradient(120deg, #FFC93C, #fff3c4 30%, #C9921A 55%, #FFC93C 80%); background-size: 250% 250%; -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0); -webkit-mask-composite: xor; mask-composite: exclude; animation: mecenate-oro 6s linear infinite; pointer-events: none; }
.mecenate::after { content: ""; position: absolute; right: -70px; bottom: -70px; width: 220px; height: 220px; border-radius:50%; background: radial-gradient(circle, rgba(255,201,60,.22), transparent 70%); pointer-events: none; }
.mecenate > * { position: relative; }
.mecenate__testa { display: flex; align-items: center; gap: 14px; }
.mecenate__stemma { flex: none; }
.mecenate__pre { margin: 0; font-size: 11px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; color: #FFC93C; }
.mecenate__titolo { margin: 2px 0 0; font-size: 26px; line-height: 1.1; font-weight: 900; letter-spacing: -0.02em; color: #fff; }
.mecenate__prezzo { margin: 18px 0 6px; }
.mecenate__prezzo strong { font-size: 52px; line-height: 1; font-weight: 900; letter-spacing: -0.03em; background: linear-gradient(180deg, #FFE08A, #FFC93C 60%, #D9A21F); -webkit-background-clip: text; background-clip: text; color: transparent; }
.mecenate__prezzo span { font-size: 15px; font-weight: 700; color: rgba(255,255,255,.75); }
.mecenate__frase { margin: 0 0 14px; font-size: 15px; line-height: 1.5; color: rgba(255,255,255,.88); max-width: 560px; }
.mecenate__vantaggi { list-style: none; margin: 0 0 18px; padding: 0; display: grid; gap: 8px; }
.mecenate__vantaggi li { position: relative; padding-left: 26px; font-size: 14px; color: #fff; }
.mecenate__vantaggi li::before { content: ""; position: absolute; left: 0; top: 2px; width: 16px; height: 16px; border-radius:50%; background: #FFC93C url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 8.5l2.5 2.5L12 5.5' fill='none' stroke='%230E1120' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/12px no-repeat; }
.mecenate__vantaggi a { color: #FFC93C; }
.mecenate__bottone { display: flex; align-items: center; justify-content: center; min-height: 52px; border-radius:999px; background: linear-gradient(180deg, #FFD966, #FFC93C 55%, #E8AE22); color: #0E1120; font-weight: 900; font-size: 16px; text-decoration: none; box-shadow: 0 6px 18px rgba(255,201,60,.3); transition: transform .15s, box-shadow .15s; }
.mecenate__bottone:hover { color: #0E1120; transform: translateY(-1px); box-shadow: 0 10px 24px rgba(255,201,60,.4); }
.mecenate__conta { margin: 12px 0 0; text-align: center; font-size: 13px; color: rgba(255,255,255,.7); }
@keyframes mecenate-oro { 0% { background-position: 0% 50%; } 100% { background-position: 250% 50%; } }
@media (prefers-reduced-motion: reduce) { .mecenate::before { animation: none; } }
@media (min-width: 720px) { .mecenate { padding: 30px 32px 28px; } .mecenate__titolo { font-size: 30px; } .mecenate__bottone { max-width: 320px; } }

/* Parlamento */
.parl-griglia { list-style: none; margin: 0 0 18px; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(170px, 1fr)); gap: 10px; }
.parl-carta a { display: grid; justify-items: center; gap: 3px; height: 100%; padding: 14px 10px 12px; text-align: center; background: var(--bianco); border: 1px solid var(--filo); border-radius:3px; color: var(--inchiostro); text-decoration: none; transition: transform .15s, border-color .15s; }
.parl-carta a:hover { transform: translateY(-2px); border-color: var(--blu); color: var(--inchiostro); }
.parl-carta--stretto a { border: 2px solid #FFC93C; background: linear-gradient(180deg, #FFFBEE, #fff 40%); }
.parl-carta__foto { width: 72px; height: 72px; border-radius:50%; object-fit: cover; object-position: center 20%; background: var(--blu-chiaro); margin-bottom: 4px; }
.parl-carta__foto--ini { display: inline-flex; align-items: center; justify-content: center; font-weight: 800; font-size: 22px; color: var(--blu-scuro); }
.parl-carta__ramo { font-size: 10px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; color: var(--blu); }
.parl-carta__nome { font-size: 14px; line-height: 1.2; }
.parl-carta__gruppo { font-size: 11.5px; line-height: 1.3; color: var(--inchiostro); }
.parl-carta__dove, .parl-carta__nato { font-size: 11px; line-height: 1.3; color: var(--testo-2); }
.parl-carta__motivi { display: flex; flex-wrap: wrap; justify-content: center; gap: 3px; margin-top: 4px; }
.parl-motivo { display: inline-block; padding: 2px 7px; border-radius:999px; font-size: 10px; font-weight: 800; background: #FFC93C; color: #0E1120; }
.parl-motivo--col { background: #0453F1; color: #fff; }
.parl-motivo--arc { background: #16A34A; color: #fff; }
.parl-motivo--res { background: #FFC93C; }
.parl-motivo--nas { background: #EEF1F7; color: var(--inchiostro); }
.parl-legenda ul { margin: 0 0 10px; padding-left: 0; list-style: none; display: grid; gap: 8px; font-size: 14px; }
.parl-legenda .parl-motivo { margin-right: 6px; }
.carta-ente--parlamento { border-top-color: #0E1120; }
@media (max-width: 480px) { .parl-griglia { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

/* Parlamento: carte piu grandi e pulite, tutta la carta cliccabile */
.parl-griglia { grid-template-columns: repeat(auto-fill, minmax(190px, 1fr)); gap: 12px; }
.parl-carta a { gap: 4px; padding: 18px 12px 16px; align-content: start; }
.parl-carta__foto { width: 96px; height: 96px; margin-bottom: 6px; }
.parl-carta__foto--ini { font-size: 28px; }
.parl-carta__nome { font-size: 16px; line-height: 1.2; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; min-height: 2.4em; }
.parl-carta__gruppo { display: block; max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 12.5px; color: var(--testo-2); }
.parl-carta--stretto a { position: relative; border: 2px solid #FFC93C; background: #fff; }
.parl-carta--stretto a::after { content: ""; position: absolute; top: 10px; right: 10px; width: 10px; height: 10px; border-radius:50%; background: #FFC93C; box-shadow: 0 0 0 3px #FFF4D1; }
.parl-nota p { margin: 0 0 6px; font-size: 14px; }
.parl-nota a { margin-right: 10px; white-space: nowrap; }
@media (max-width: 480px) { .parl-griglia { grid-template-columns: repeat(2, minmax(0, 1fr)); } .parl-carta__foto { width: 80px; height: 80px; } }

/* Consiglio: schede persona piu grandi, tutta la scheda cliccabile */
.membri--tutti { grid-template-columns: repeat(auto-fill, minmax(118px, 1fr)); gap: 10px; }
.membri--tutti li { padding: 0; }
.membri__carta { display: flex; flex-direction: column; align-items: center; gap: 6px; width: 100%; height: 100%; padding: 12px 6px 12px; color: inherit; text-decoration: none; border-radius:3px; transition: background .15s, transform .15s; }
a.membri__carta:hover { background: #EEF3FF; transform: translateY(-2px); color: inherit; }
.membri--tutti .volto { width: 64px; height: 64px; font-size: 18px; }
.membri__nome { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; font-size: 13.5px; line-height: 1.2; font-weight: 700; color: var(--blu); text-align: center; min-height: 2.4em; }
.membri--tutti .membri__testo small { display: block; max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 11px; }
.membri--tutti .membri__simbolo { width: 24px; height: 24px; }
@media (max-width: 480px) { .membri--tutti { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px; } .membri--tutti .volto { width: 56px; height: 56px; } }

/* Istituzioni: volti degli eletti in carica nelle carte del Parlamento */
.parl-facce { display: flex; align-items: center; padding-left: 8px; }
.parl-facce .volto { width: 42px; height: 42px; margin-left: -8px; border: 2px solid #fff; box-shadow: 0 1px 2px rgba(0,0,0,.12); }
.parl-facce__altri { display: inline-flex; align-items: center; justify-content: center; font-size: 12px; font-weight: 700; color: var(--blu); }
@media (max-width: 480px) { .parl-facce .volto { width: 34px; height: 34px; } }

/* Istituzioni: tutte le carte con la stessa struttura e la stessa altezza */
.carta-ente { min-height: 250px; grid-template-rows: auto 1fr auto auto; align-content: stretch; }
.carta-ente--comuni { grid-template-rows: auto 1fr auto auto; }
.carta-ente__nome { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.carta-ente__mezzo { display: grid; gap: 8px; align-content: center; }
.carta-ente__capo.carta-ente__mezzo { display: flex; }
.carta-ente__sotto { font-size: 12px; font-weight: 700; color: var(--blu); }
.carta-ente__vai { justify-self: start; display: inline-flex; align-items: center; gap: 6px; padding: 8px 14px; border-radius:999px; background: var(--blu); color: #fff; font-size: 13px; font-weight: 800; transition: background .15s, gap .15s; }
.carta-ente:hover .carta-ente__vai { background: #0233A8; gap: 10px; }
.carta-ente--comuni .carta-ente__vai { background: var(--giallo); color: var(--inchiostro); }
.carta-ente--comuni:hover .carta-ente__vai { background: #F2B70F; }
.carta-ente--parlamento .carta-ente__vai { background: #0E1120; }
.comuni-stemmi { display: flex; align-items: center; gap: 6px; flex-wrap: nowrap; }
.comuni-stemmi img { width: 34px; height: 42px; object-fit: contain; }
.comuni-stemmi__altri { display: inline-flex; align-items: center; justify-content: center; min-width: 38px; height: 38px; padding: 0 6px; border-radius:999px; background: var(--blu-chiaro); color: var(--blu); font-size: 12px; font-weight: 800; }
@media (max-width: 480px) { .carta-ente__nome { white-space: normal; } .comuni-stemmi img:nth-child(n+6) { display: none; } }

/* Parlamento: carte come quelle degli amministratori, sei per riga */
.parl-griglia { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
@media (min-width: 640px) { .parl-griglia { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (min-width: 820px) { .parl-griglia { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
@media (min-width: 1000px) { .parl-griglia { grid-template-columns: repeat(6, minmax(0, 1fr)); } }
.parl-carta a { gap: 4px; padding: 16px 10px 14px; border-radius:0; border: 1px solid var(--filo); background: var(--bianco); }
.parl-carta__foto { width: 72px; height: 72px; margin-bottom: 6px; }
.parl-carta__foto--ini { font-size: 22px; }
.parl-carta__ramo { order: 2; font-size: 12px; font-weight: 700; letter-spacing: 0; text-transform: none; }
.parl-carta__nome { order: 1; font-size: 15px; font-weight: 900; min-height: 0; }
.parl-carta__foto { order: 0; }
.parl-carta__gruppo { order: 3; font-size: 12px; }
.parl-carta--stretto a { border: 1px solid #FFC93C; box-shadow: inset 0 3px 0 #FFC93C; }
.parl-carta--stretto a::after { top: 8px; right: 8px; width: 8px; height: 8px; }
@media (max-width: 480px) { .parl-carta__foto { width: 64px; height: 64px; } }

/* Segui e Condividi: stessa altezza e stessa linea (la regola .segui del riquadro "Segui" aggiungeva margine e padding) */
.comune-testa__azioni .pillola.segui, .comune-testa__azioni .pillola { margin: 0; height: 40px; min-height: 40px; padding: 0 16px; gap: 8px; box-sizing: border-box; vertical-align: middle; font-size: 14px; line-height: 1; }
.comune-testa__azioni .pillola--vuota.segui { display: inline-flex; background: transparent; border: 1.5px solid var(--bianco); }
.comune-testa__azioni .pillola--vuota.segui:hover { background: rgba(255,255,255,.1); }
.comune-testa__azioni .pillola svg { width: 18px; height: 18px; flex: none; }
.comune-testa__azioni .segui__piu { font-size: 18px; width: 18px; text-align: center; }

/* Carte delle persone: uguali in tutto il sito (amministratori, parlamentari) */
.carta-persona__link { gap: 3px; }
.carta-persona__nome { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; min-height: 2.4em; line-height: 1.2; margin-top: 2px; }
.carta-persona__ruolo, .carta-persona__ente, .carta-persona__partito { display: block; width: 100%; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; min-height: 1.35em; line-height: 1.35; }
.carta-persona__partito { font-size: 12px; color: var(--inchiostro); font-weight: 600; }
.carta-persona__partito:empty::before, .carta-persona__ente:empty::before { content: "\00a0"; }
.carta-persona--stretto .carta-persona__link { position: relative; border-color: #FFC93C; box-shadow: inset 0 3px 0 #FFC93C; }
.carta-persona--stretto .carta-persona__link::after { content: ""; position: absolute; top: 8px; right: 8px; width: 8px; height: 8px; border-radius:50%; background: #FFC93C; box-shadow: 0 0 0 3px #FFF4D1; }
.carte-persone--sei { margin-bottom: 18px; }
@media (min-width: 640px) { .carte-persone--sei { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (min-width: 820px) { .carte-persone--sei { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
@media (min-width: 1000px) { .carte-persone--sei, .carte-persone { grid-template-columns: repeat(6, minmax(0, 1fr)); } }

/* Ricevuta "Dove voti?": stemma, foto del sindaco, simboli delle liste e timbro del voto */
.ricevuta__testa { position: relative; }
.ricevuta__stemma { flex: none; width: 52px; height: 60px; object-fit: contain; margin-top: 4px; animation: ric-entra .45s .1s both cubic-bezier(.2,.8,.2,1); }
.ricevuta__titoli { flex: 1; min-width: 0; }
.ricevuta__volto { width: 34px; height: 34px; border-radius:50%; object-fit: cover; object-position: center 20%; vertical-align: middle; margin-right: 8px; box-shadow: 0 0 0 2px #fff, 0 0 0 4px var(--giallo); animation: ric-entra .4s .35s both cubic-bezier(.2,.8,.2,1); }
.ricevuta__dati dd { display: flex; align-items: center; justify-content: flex-end; }
.leg-liste li { animation: ric-riga .35s both ease-out; }
.leg__logo { flex: none; width: 26px; height: 26px; object-fit: contain; border-radius:50%; background: #fff; box-shadow: 0 0 0 2px var(--anello, #C9CDD6); padding: 1px; }
.ricevuta__timbro { position: absolute; right: 74px; top: 40px; z-index: 2; display: grid; justify-items: center; padding: 6px 12px; border: 2.5px solid #C8102E; border-radius:3px; color: #C8102E; text-transform: uppercase; letter-spacing: .06em; transform: rotate(-9deg); opacity: 0; pointer-events: none; background: rgba(255,255,255,.85); mix-blend-mode: multiply; }
.ricevuta__timbro small { font-size: 9px; font-weight: 800; }
.ricevuta__timbro b { font-size: 13px; font-weight: 900; }
.ricevuta__timbro.va { animation: timbro .5s .55s both cubic-bezier(.3,1.6,.5,1); }
@keyframes timbro { 0% { opacity: 0; transform: rotate(-20deg) scale(2.2); } 60% { opacity: .95; transform: rotate(-8deg) scale(.92); } 100% { opacity: .9; transform: rotate(-9deg) scale(1); } }
@keyframes ric-entra { from { opacity: 0; transform: translateY(8px) scale(.9); } to { opacity: 1; transform: none; } }
@keyframes ric-riga { from { opacity: 0; transform: translateX(-10px); } to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: reduce) { .ricevuta__timbro.va, .leg-liste li, .ricevuta__stemma, .ricevuta__volto { animation: none; opacity: 1; } .ricevuta__timbro.va { opacity: .9; } }
@media (max-width: 480px) { .ricevuta__timbro { top: 34px; right: 64px; } .ricevuta__stemma { width: 42px; height: 50px; } }

/* Istituzioni: presidente o sindaco piu grande, poi i volti di giunta e consiglio */
.carta-ente__capo-riga .volto { width: 64px; height: 64px; font-size: 18px; box-shadow: 0 0 0 2px #fff, 0 0 0 4px var(--giallo); }
.carta-ente__capo .parl-facce .volto { width: 42px; height: 42px; }
.carta-ente__capo strong { font-size: 18px; }
.carta-ente__mezzo .parl-facce { margin-top: 2px; }
.carta-ente__mezzo.carta-ente__capo { display: grid; gap: 10px; }
.carta-ente__capo-riga { display: flex; align-items: center; gap: 12px; }
.carta-ente__capo-riga > span { display: grid; }
.carta-ente { min-height: 290px; }

.timbro-voto { display: inline-block; padding: 3px 10px; border: 2px solid #C8102E; border-radius:3px; color: #C8102E; font-size: 13px; font-weight: 900; text-transform: uppercase; letter-spacing: .04em; transform: rotate(-4deg); animation: timbro-p .5s .5s both cubic-bezier(.3,1.6,.5,1); }
@keyframes timbro-p { 0% { opacity: 0; transform: rotate(-16deg) scale(2); } 100% { opacity: 1; transform: rotate(-4deg) scale(1); } }
@media (prefers-reduced-motion: reduce) { .timbro-voto { animation: none; } }
.carta-ente__capo > .carta-ente__capo-riga, .carta-ente__capo > .parl-facce { display: flex; }
.carta-ente__capo-riga > span { display: grid; }
.carta-ente__capo .parl-facce__altri { display: inline-flex; }

/* Amministratori: tasto unico per il Parlamento accanto alle istituzioni */
.istituzione__doppio { flex: none; display: inline-flex; align-items: center; }
.istituzione__doppio .emblema-ente { width: 28px; height: 28px; background: #fff; border-radius:50%; }
.istituzione__doppio .emblema-ente + .emblema-ente { margin-left: -8px; }
.istituzione--parlamento { border-color: #0E1120; }
@media (min-width: 640px) { .istituzioni { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (min-width: 1100px) { .pagina-larga .istituzioni { grid-template-columns: repeat(6, minmax(0, 1fr)); } }
.istituzione .istituzione__doppio { display: inline-flex; flex-direction: row; }

/* Tasto indietro nella riga delle sezioni */
.binario .binario__indietro { display: inline-flex; align-items: center; gap: 4px; margin-right: 4px; padding-right: 14px; border-right: 1px solid var(--filo); color: var(--blu); }
.binario .binario__indietro:hover { color: var(--blu-scuro); }

/* Istituzioni nella pagina Amministratori: tre per riga, piu respiro */
@media (min-width: 640px) { .istituzioni, .pagina-larga .istituzioni { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 900px) { .istituzioni, .pagina-larga .istituzioni { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.istituzione { padding: 14px 16px; min-height: 72px; }
.istituzione strong { font-size: 16px; }

/* ---------- Home piu leggera (1.9.8): apertura e "Dove voti?" su fondo chiaro ---------- */
.apertura { background: var(--bianco); color: var(--inchiostro); border-bottom: 1px solid var(--filo); }
.apertura__link, .apertura__link:hover { color: var(--inchiostro); }
.apertura__link:hover .apertura__titolo { color: var(--blu); }
.apertura__rubrica { color: var(--blu); }
.apertura__sotto { color: var(--testo-2); }
.apertura__meta { color: var(--testo-3); }
.scheda { background: var(--fondo); color: var(--inchiostro); border-bottom: 1px solid var(--filo); }
.scheda__testa { color: var(--testo-2); border-bottom-color: var(--inchiostro); }
.scheda__titolo { color: var(--inchiostro); }
.scheda__sotto, .scheda__label { color: var(--testo-2); }
.scheda .casella { background: var(--bianco); border: 1.5px solid var(--filo); color: var(--inchiostro); border-radius:3px; }
.scheda .casella:hover { background: var(--blu-chiaro); border-color: var(--blu); }
.scheda .casella.segnata { background: var(--blu-chiaro); border: 2px solid var(--blu); }
.scheda .casella__cerchio { border-color: var(--blu); color: var(--blu); }
.scheda .casella__segno line { stroke: var(--blu); }
.scheda .cerca-comune input { border-color: var(--inchiostro); border-radius:3px; }

/* ---------- Pagina delle rubriche ---------- */
.rubriche-elenco { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.rubriche-elenco__link { display: flex; align-items: center; gap: 14px; padding: 14px 16px; background: var(--bianco); border: 1px solid var(--filo); border-radius:3px; color: var(--inchiostro); text-decoration: none; }
.rubriche-elenco__link:hover { border-color: var(--blu); }
.rubriche-elenco__link > svg, .rubriche-elenco__link > img { flex: none; }
.rubriche-elenco__testo { flex: 1; min-width: 0; display: grid; gap: 3px; }
.rubriche-elenco__nome { font-size: 18px; font-weight: 800; }
.rubriche-elenco__desc { font-size: 14px; color: var(--testo-2); }
.rubriche-elenco__ultimo { font-size: 13px; color: var(--blu); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.rubriche-elenco__n { flex: none; text-align: center; font-size: 22px; font-weight: 900; line-height: 1; }
.rubriche-elenco__n small { display: block; font-size: 11px; font-weight: 600; color: var(--testo-3); }
@media (min-width: 900px) { .rubriche-elenco { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

/* ---------- Articolo a tutta larghezza con copertina verticale (1.9.8) ---------- */
.articolo__titolo { max-width: 980px; }
.articolo__sotto { max-width: 820px; }
.articolo__vetrina:empty { display: none; }
.articolo__vetrina > * { margin-top: 16px; }
.articolo__corpo { padding-top: 18px; }
.articolo__corpo::after { content: ""; display: table; clear: both; }
.articolo__copertina { margin: 0 auto 18px; max-width: 460px; }
.articolo__copertina img { width: 100%; height: auto; aspect-ratio: auto; border-radius:3px; border: 1px solid var(--filo); }
.articolo__copertina figcaption { padding: 6px 0 0; }
.articolo__corpo .trenta { margin-top: 0; }
.articolo__corpo .testo { padding-top: 0; }
.articolo__corpo .trenta + .testo { padding-top: 18px; }
@media (min-width: 900px) {
	.articolo__copertina { float: left; width: 400px; max-width: 42%; margin: 4px 36px 20px 0; }
	.articolo__corpo .trenta { overflow: hidden; }
}
/* Elenco articoli: copertina verticale intera (formato Instagram 4:5) */
.voce__img { width: 72px; height: 90px; object-fit: contain; background: var(--fondo); border-radius:3px; border: 1px solid var(--filo); }
@media (min-width: 700px) { .voce__img { width: 96px; height: 120px; } }

/* ---------- Invito a sostenere e piede: piu sobri (1.9.8) ---------- */
.invito { background: var(--bianco); color: var(--inchiostro); border: 1px solid var(--filo); border-left: 4px solid var(--blu); border-radius:3px; padding: 20px 22px; margin: 8px 0 28px; display: grid; gap: 4px 24px; align-items: center; }
.invito__h { font-size: 19px; }
.invito__t { color: var(--testo-2); margin: 2px 0 12px; font-size: 15px; }
.invito .bottone { justify-self: start; }
@media (min-width: 760px) {
	.invito { grid-template-columns: 1fr auto; }
	.invito__h, .invito__t { grid-column: 1; }
	.invito__t { margin-bottom: 0; }
	.invito .bottone { grid-column: 2; grid-row: 1 / span 2; }
}
.piede { padding: 40px 0 28px; border-top: 4px solid var(--blu); }
.piede > .contenitore { display: grid; gap: 8px 48px; }
.piede__motto { color: var(--piede-testo); font-size: 14px; line-height: 1.5; max-width: 360px; }
.piede__colonne { max-width: none; margin: 0; gap: 8px 40px; }
.piede__titolo { color: var(--bianco); opacity: .55; }
.piede__colonna .piede__link a { color: var(--piede-testo); font-size: 14px; }
.piede__colonna .piede__link a:hover { color: var(--bianco); }
.piede__firma { grid-column: 1 / -1; margin-top: 18px; padding-top: 16px; border-top: 1px solid rgba(255,255,255,.12); }
@media (min-width: 900px) {
	.piede > .contenitore { grid-template-columns: minmax(260px, 360px) 1fr; }
	.piede > .contenitore > .logo, .piede > .contenitore > a:first-child { grid-column: 1; }
	.piede__motto { grid-column: 1; }
	.piede__colonne { grid-column: 2; grid-row: 1 / span 2; grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

/* ---------- Chi ti rappresenta: elenchi di persone (1.9.8) ---------- */
.livello__sottotitolo { margin: 14px 0 0; font-size: 12px; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; color: var(--testo-3); }
.livello__persone { list-style: none; margin: 8px 0 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(210px, 1fr)); gap: 6px 14px; }
.livello__persone:empty { display: none; }
.mini-persona { display: flex; align-items: center; gap: 10px; padding: 6px 0; color: var(--inchiostro); text-decoration: none; min-width: 0; }
.mini-persona .volto { width: 40px; height: 40px; flex: none; }
.mini-persona > span { display: grid; min-width: 0; }
.mini-persona strong { font-size: 14px; line-height: 1.25; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.mini-persona small { font-size: 12px; color: var(--testo-3); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
a.mini-persona:hover strong { color: var(--blu); }
.livello--parlamento .livello__corpo { display: block; }

/* ---------- Testo degli articoli piu piccolo (1.9.8) ---------- */
.testo { font-size: 16.5px; line-height: 1.65; }
@media (min-width: 700px) { .testo { font-size: 17px; } }
.articolo__sotto { font-size: 17px; }
.comune-testa__azioni .pillola svg { margin-right: 6px; }
.proponi-foto select.campo, .proponi-foto textarea.campo { width: 100%; font: inherit; }

/* ---------- Rubrica: "L'ultimo" compatto, copertina verticale facoltativa (1.9.8) ---------- */
.ultimo { display: grid; gap: 14px; align-items: start; }
.ultimo--img { grid-template-columns: 110px minmax(0, 1fr); }
.ultimo__img { width: 100%; aspect-ratio: 4 / 5; height: auto; object-fit: contain; margin: 0; background: var(--fondo); border: 1px solid var(--filo); border-radius:3px; }
.ultimo__testo { display: grid; gap: 6px; min-width: 0; }
.ultimo__testo .occhiello { margin: 0; }
.ultimo__titolo { display: block; margin: 0; font-size: 22px; }
.ultimo__sotto { display: block; margin: 0; }
@media (min-width: 700px) {
	.ultimo--img { grid-template-columns: 180px minmax(0, 1fr); gap: 22px; }
	.ultimo__titolo { font-size: 28px; }
}
@media (min-width: 1100px) { .rubriche-elenco { grid-template-columns: repeat(3, minmax(0, 1fr)); } }

/* ---------- Modulo "Proponi una modifica" ---------- */
.form-modifica { display: grid; gap: 14px; margin-top: 12px; }
.form-modifica__scelta { border: 0; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.form-modifica__scelta legend { width: 100%; margin-bottom: 6px; }
.scelta { display: inline-flex; align-items: center; gap: 8px; padding: 8px 14px; border: 1.5px solid var(--filo); border-radius:3px; cursor: pointer; font-size: 14px; font-weight: 600; }
.scelta:has(input:checked) { border-color: var(--blu); background: var(--blu-chiaro); color: var(--blu); }
.scelta input { accent-color: var(--blu); margin: 0; }
.form-modifica__griglia { display: grid; gap: 12px; }
.form-modifica label { display: grid; gap: 4px; }
.form-modifica .campo { width: 100%; font: inherit; }
.form-modifica__parte[hidden] { display: none; }
@media (min-width: 700px) { .form-modifica__griglia { grid-template-columns: repeat(2, minmax(0, 1fr)); } .form-modifica__griglia .form-modifica__largo { grid-column: 1 / -1; } }
.form-modifica .pillola { justify-self: start; }
.linea__seg { color: var(--blu); }

/* ---------- Pagina Analisi: linea del tempo degli articoli ---------- */
.an-testa { background: linear-gradient(180deg, var(--blu-chiaro) 0%, var(--fondo) 100%); padding: 32px 0 24px; border-bottom: 1px solid var(--filo); }
.an-testa__titolo { margin: 8px 0 0; font-size: 38px; line-height: 1.02; font-weight: 900; letter-spacing: -0.04em; }
.an-testa__titolo span { color: var(--blu); }
.an-testa__desc { margin: 10px 0 0; font-size: 16px; color: var(--testo-2); max-width: 620px; }
.an-numeri { display: flex; gap: 10px; margin-top: 18px; }
.an-numeri div { background: var(--bianco); border: 1px solid var(--filo); border-radius:3px; padding: 10px 16px; min-width: 96px; }
.an-numeri strong { display: block; font-size: 28px; line-height: 1; font-weight: 900; color: var(--blu); }
.an-numeri span { font-size: 12px; color: var(--testo-3); }
.an-barre { display: flex; align-items: flex-end; gap: 6px; height: 96px; margin-top: 20px; overflow-x: auto; scrollbar-width: none; }
.an-barre__mese { flex: 0 0 34px; display: flex; flex-direction: column; align-items: center; justify-content: flex-end; height: 100%; text-decoration: none; }
.an-barre__barra { width: 18px; height: calc(var(--h) * .62); min-height: 6px; background: var(--blu); border-radius:3px 3px 2px 2px; transform-origin: bottom; animation: an-cresce .7s cubic-bezier(.2,.8,.2,1) both; }
.an-barre__mese:hover .an-barre__barra { background: var(--giallo); }
.an-barre__et { margin-top: 4px; font-size: 10px; line-height: 1.1; text-align: center; color: var(--testo-3); }
@keyframes an-cresce { from { transform: scaleY(0); } }
.an-corpo { padding-top: 18px; padding-bottom: 32px; }
.an-filtri { display: grid; gap: 10px; padding: 10px 0; background: var(--fondo); }
.an-filtri__chips { display: flex; gap: 8px; overflow-x: auto; scrollbar-width: none; }
.an-chip { flex: none; display: inline-flex; align-items: center; gap: 6px; height: 36px; padding: 0 14px; border: 1.5px solid var(--filo); border-radius:3px; background: var(--bianco); font: inherit; font-size: 13px; font-weight: 700; color: var(--inchiostro); cursor: pointer; }
.an-chip[aria-pressed="true"] { border-color: var(--blu); background: var(--blu); color: var(--bianco); }
.an-cerca input { width: 100%; height: 42px; padding: 0 14px; border: 1.5px solid var(--filo); border-radius:3px; font: inherit; }
.an-mese { margin-top: 18px; }
.an-mese[hidden] { display: none; }
.an-mese__titolo { margin: 0 0 8px; font-size: 22px; font-weight: 900; letter-spacing: -0.02em; color: var(--testo-3); }
.an-mese__titolo span { color: var(--inchiostro); }
.an-linea { list-style: none; margin: 0; padding: 0 0 0 18px; border-left: 2px solid var(--filo); display: grid; gap: 12px; }
.an-voce { position: relative; display: grid; grid-template-columns: 44px minmax(0, 1fr); gap: 10px; align-items: start; }
.an-voce[hidden] { display: none; }
.an-voce::before { content: ""; position: absolute; left: -25px; top: 16px; width: 12px; height: 12px; border-radius:50%; background: var(--blu); border: 3px solid var(--fondo); }
.an-voce__giorno { padding-top: 8px; text-align: center; font-size: 11px; color: var(--testo-3); line-height: 1.1; text-transform: uppercase; }
.an-voce__giorno strong { display: block; font-size: 22px; color: var(--inchiostro); }
.an-voce__carta { display: flex; gap: 14px; padding: 12px; background: var(--bianco); border: 1px solid var(--filo); border-radius:3px; color: var(--inchiostro); text-decoration: none; transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease; }
.an-voce__carta:hover { transform: translateY(-2px); border-color: var(--blu); box-shadow: 0 10px 24px rgba(4, 83, 241, .12); }
.an-voce__img { flex: none; width: 72px; height: 90px; object-fit: contain; border-radius:3px; background: var(--fondo); border: 1px solid var(--filo); }
.an-voce__img--simbolo { display: inline-flex; align-items: center; justify-content: center; background: var(--blu-chiaro); }
.an-voce__testo { display: grid; gap: 4px; min-width: 0; }
.an-voce__rub { font-size: 12px; font-weight: 800; color: var(--blu); }
.an-voce__titolo { font-size: 18px; line-height: 1.2; font-weight: 800; letter-spacing: -0.01em; }
.an-voce__carta:hover .an-voce__titolo { color: var(--blu); }
.an-voce__sotto { font-size: 14px; color: var(--testo-2); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.an-voce__meta { font-size: 12px; color: var(--testo-3); }
.an-voce--attesa { opacity: 0; transform: translateY(14px); }
.an-voce--vista { opacity: 1; transform: none; transition: opacity .5s ease, transform .5s ease; }
.an-vuoto { color: var(--testo-3); }
@media (min-width: 900px) {
	.an-testa { padding: 48px 0 32px; }
	.an-testa__titolo { font-size: 56px; }
	.an-filtri { grid-template-columns: minmax(0, 1fr) 280px; align-items: center; }
	.an-linea { padding-left: 28px; }
	.an-voce { grid-template-columns: 60px minmax(0, 1fr); }
	.an-voce::before { left: -35px; }
	.an-voce__img { width: 96px; height: 120px; }
	.an-voce__titolo { font-size: 21px; }
}

.form-modifica label.scelta { display: inline-flex; }

/* ---------- 2.0: pannello "Modifica la scheda" ---------- */
.foglio-mod { width: min(560px, 100%); max-width: 100%; max-height: 92vh; margin: auto; padding: 0; border: 0; border-radius:3px; background: var(--bianco); color: var(--inchiostro); box-shadow: 0 24px 60px rgba(14,17,32,.25); overflow: auto; }
.foglio-mod::backdrop { background: rgba(14,17,32,.55); }
.foglio-mod[open] { animation: foglio-sale .28s cubic-bezier(.2,.8,.2,1); }
@keyframes foglio-sale { from { transform: translateY(24px); opacity: 0; } }
.foglio-mod__testa { position: sticky; top: 0; z-index: 2; display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; padding: 18px 18px 12px; background: var(--bianco); border-bottom: 1px solid var(--filo); }
.foglio-mod__pre { margin: 0; font-size: 12px; font-weight: 700; color: var(--blu); text-transform: uppercase; letter-spacing: .05em; }
.foglio-mod__titolo { margin: 2px 0 0; font-size: 22px; line-height: 1.15; font-weight: 900; letter-spacing: -0.02em; }
.foglio-mod .avviso-form { margin: 12px 18px 0; }
.foglio-mod__schede { display: flex; gap: 4px; margin: 14px 18px 0; padding: 4px; background: var(--fondo); border-radius:3px; overflow-x: auto; scrollbar-width: none; }
.foglio-mod__scheda { flex: 1 0 auto; height: 38px; padding: 0 12px; border: 0; border-radius:3px; background: transparent; font: inherit; font-size: 14px; font-weight: 700; color: var(--testo-2); cursor: pointer; }
.foglio-mod__scheda[aria-selected="true"] { background: var(--bianco); color: var(--blu); box-shadow: 0 1px 4px rgba(14,17,32,.12); }
.foglio-mod .form-modifica { display: grid; gap: 12px; margin: 0; padding: 16px 18px 4px; }
.foglio-mod .form-modifica[hidden] { display: none; }
.foglio-mod .form-modifica__parte { display: grid; gap: 12px; }
.foglio-mod .form-modifica__parte[hidden] { display: none; }
.foglio-mod .form-modifica__comune { display: grid; gap: 12px; padding-top: 4px; border-top: 1px dashed var(--filo); }
.form-modifica__aiuto { margin: 0; font-size: 14px; color: var(--testo-2); }
.foglio-mod label { display: grid; gap: 5px; }
.foglio-mod .etichetta-campo { margin: 0; font-size: 13px; font-weight: 700; }
.foglio-mod .etichetta-campo small { font-weight: 500; color: var(--testo-3); margin-left: 4px; }
.foglio-mod .campo { width: 100%; min-height: 46px; padding: 10px 12px; border: 1.5px solid var(--filo); border-radius:3px; background: var(--bianco); font: inherit; font-size: 16px; color: var(--inchiostro); }
.foglio-mod .campo:focus { outline: none; border-color: var(--blu); box-shadow: 0 0 0 3px var(--blu-chiaro); }
.foglio-mod textarea.campo { min-height: 84px; resize: vertical; }
.form-modifica__due { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.foglio-mod .bottone { width: 100%; justify-content: center; }
.form-modifica__file { position: relative; display: flex !important; align-items: center; justify-content: center; min-height: 110px; border: 2px dashed var(--perfor); border-radius:3px; background: var(--blu-chiaro); text-align: center; cursor: pointer; }
.form-modifica__file input { position: absolute; inset: 0; opacity: 0; cursor: pointer; }
.form-modifica__file span { font-weight: 800; color: var(--blu); }
.form-modifica__file small { display: block; font-weight: 500; font-size: 12px; color: var(--testo-3); margin-top: 4px; }
.foglio-mod__nota { margin: 8px 18px 18px; font-size: 12px; color: var(--testo-3); }
@media (max-width: 600px) {
	.foglio-mod { width: 100%; max-height: 94vh; margin: auto 0 0; border-radius:3px 3px 0 0; }
	.foglio-mod[open] { animation-name: foglio-sale; }
}

/* Segui, Condividi e Modifica sempre sulla stessa riga */
.comune-testa__azioni { flex-wrap: nowrap; }
@media (max-width: 520px) {
	.comune-testa__azioni { gap: 6px; }
	.comune-testa__azioni .pillola, .comune-testa__azioni .pillola.segui { flex: 1 1 0; min-width: 0; justify-content: center; padding: 0 8px; font-size: 13px; gap: 5px; }
	.comune-testa__azioni .pillola svg { width: 15px; height: 15px; }
}

/* Contatti pubblici nella scheda */
.persona-contatti { list-style: none; margin: 14px 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 6px; }
.persona-contatti__voce { display: inline-flex; align-items: center; height: 30px; padding: 0 12px; border-radius:3px; background: rgba(255,255,255,.14); color: var(--bianco); font-size: 13px; font-weight: 700; text-decoration: none; }
.persona-contatti__voce:hover { background: var(--bianco); color: var(--blu); }

/* Rubriche: carte tutte della stessa altezza */
.rubriche-elenco { grid-auto-rows: 1fr; }
.rubriche-elenco__voce { display: flex; }
.rubriche-elenco__link { flex: 1; height: 100%; }
.rubriche-elenco__desc { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.rubriche-elenco__nome { display: -webkit-box; -webkit-line-clamp: 1; -webkit-box-orient: vertical; overflow: hidden; }

/* ---------- 2.1: Vetrina piu grande, con effetto ---------- */
.vetrina__invito--grande { position: relative; overflow: hidden; display: grid; gap: 6px; padding: 22px 20px; min-height: 210px; align-content: end; border-radius:3px; background: linear-gradient(135deg, #0453F1 0%, #0340BC 55%, #0E1120 100%); color: #FFFFFF; box-shadow: 0 12px 30px rgba(4, 83, 241, .25); transition: transform .25s ease, box-shadow .25s ease; }
.vetrina__invito--grande:hover { transform: translateY(-3px); box-shadow: 0 18px 40px rgba(4, 83, 241, .35); color: #FFFFFF; }
.vetrina__invito--grande strong { font-size: 26px; line-height: 1.05; font-weight: 900; letter-spacing: -0.03em; color: #FFFFFF; }
.vetrina__invito--grande > span:not(.vetrina__luce):not(.vetrina__icona) { margin: 0; font-size: 15px; color: #DCE6FF; }
.vetrina__invito--grande em { justify-self: start; display: inline-flex; align-items: center; gap: 6px; margin-top: 8px; height: 40px; padding: 0 16px; border-radius:3px; background: #FFC93C; color: #0E1120; font-weight: 800; }
.vetrina__invito--grande em span { display: inline; margin: 0; transition: transform .25s ease; }
.vetrina__invito--grande:hover em span { transform: translateX(4px); }
.vetrina__icona { position: absolute; top: 18px; right: 18px; width: 56px; height: 56px; display: flex !important; align-items: center; justify-content: center; margin: 0 !important; border-radius:3px; background: rgba(255,255,255,.12); color: #FFC93C; animation: vetrina-galleggia 3.2s ease-in-out infinite; }
.vetrina__luce { position: absolute; inset: 0; margin: 0 !important; background: linear-gradient(115deg, transparent 30%, rgba(255,255,255,.22) 45%, transparent 60%); transform: translateX(-100%); animation: vetrina-luce 4.5s ease-in-out infinite; pointer-events: none; }
@keyframes vetrina-luce { 0%, 55% { transform: translateX(-100%); } 85%, 100% { transform: translateX(100%); } }
@keyframes vetrina-galleggia { 50% { transform: translateY(-6px) rotate(-4deg); } }
.vetrina--articolo .vetrina__invito--grande { min-height: 170px; }
@media (prefers-reduced-motion: reduce) { .vetrina__luce, .vetrina__icona { animation: none; } }

/* ---------- 2.1: compleanni personalizzati ---------- */
.compleanni { position: relative; overflow: hidden; padding: 18px; border: 1px solid var(--filo); border-left: 0; border-radius:3px; background: linear-gradient(180deg, #FFF6DB 0%, var(--bianco) 46%); }
.compleanni__coriandoli { position: absolute; inset: 0; pointer-events: none; }
.compleanni__coriandoli i { position: absolute; top: -10px; left: var(--x); width: 7px; height: 11px; border-radius:2px; background: var(--c); transform: rotate(var(--r)); opacity: 0; animation: coriandoli 2.6s var(--d) ease-in forwards; }
@keyframes coriandoli { 0% { opacity: 1; transform: translateY(0) rotate(var(--r)); } 100% { opacity: 0; transform: translateY(150px) rotate(calc(var(--r) + 260deg)); } }
.compleanni__testa { position: relative; display: flex; align-items: center; gap: 12px; color: #B07A00; }
.compleanni__testa svg { flex: none; padding: 8px; border-radius:3px; background: var(--giallo); color: var(--inchiostro); box-sizing: content-box; }
.compleanni .compleanni__h { margin: 0; font-size: 17px; font-weight: 900; letter-spacing: -0.01em; color: var(--inchiostro); }
.compleanni__sotto { margin: 1px 0 0; font-size: 12px; color: var(--testo-3); }
.compleanni ul { position: relative; margin-top: 14px; gap: 4px; }
.compleanni .compleanni__voce { display: flex; align-items: center; gap: 12px; padding: 6px; margin: 0 -6px; border-radius:3px; text-decoration: none; color: var(--inchiostro); font-weight: 400; transition: background .2s ease; }
.compleanni .compleanni__voce:hover { background: #FFF6DB; color: var(--inchiostro); }
.compleanni__voce > span { display: grid; min-width: 0; }
.compleanni__voce strong { font-size: 15px; font-weight: 800; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.compleanni__voce:hover strong { color: var(--blu); }
.compleanni__voce small { font-size: 12px; color: var(--testo-2); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.compleanni__volto { flex: none; width: 44px; height: 44px; border-radius:50%; object-fit: cover; object-position: center 20%; box-shadow: 0 0 0 2px var(--bianco), 0 0 0 4px var(--giallo); }
.compleanni__volto--ini { display: inline-flex; align-items: center; justify-content: center; background: var(--blu-chiaro); color: var(--blu); font-size: 14px; font-weight: 900; }
.compleanni details { position: relative; margin-top: 8px; }
.compleanni summary { cursor: pointer; font-size: 13px; font-weight: 800; color: var(--blu); }
.compleanni__auguri { position: relative; margin: 12px 0 0; padding-top: 10px; border-top: 1px dashed #F0D58A; font-size: 13px; font-weight: 700; color: #B07A00; }
@media (prefers-reduced-motion: reduce) { .compleanni__coriandoli { display: none; } }

/* ---------- 2.1: piu respiro prima del piede ---------- */
.piede { margin-top: 56px; }

/* ---------- 2.1: citazioni negli articoli ---------- */
.testo a.citato { color: var(--blu); font-weight: 700; text-decoration: none; background: linear-gradient(var(--blu-chiaro), var(--blu-chiaro)) no-repeat 0 100% / 100% 35%; padding: 0 2px; border-radius:3px; transition: background-size .2s ease; }
.testo a.citato:hover { background-size: 100% 100%; }
.citato-carta { position: absolute; z-index: 60; display: flex; gap: 12px; align-items: center; max-width: 300px; padding: 12px 14px; background: var(--bianco); border: 1px solid var(--filo); border-radius:3px; box-shadow: 0 14px 34px rgba(14,17,32,.18); opacity: 0; transform: translateY(6px); transition: opacity .15s ease, transform .15s ease; pointer-events: none; }
.citato-carta--su { opacity: 1; transform: none; }
.citato-carta img, .citato-carta__ini { flex: none; width: 52px; height: 52px; border-radius:50%; object-fit: cover; object-position: center 20%; }
.citato-carta__ini { display: inline-flex; align-items: center; justify-content: center; background: var(--blu-chiaro); color: var(--blu); font-weight: 900; }
.citato-carta > span { display: grid; gap: 2px; min-width: 0; }
.citato-carta strong { font-size: 15px; }
.citato-carta small { font-size: 12px; color: var(--testo-2); }
.citato-carta em { font-style: normal; font-size: 12px; font-weight: 700; color: var(--blu); }

/* Rubrica: linea del tempo come in Analisi */
.colonna .an-corpo { padding-left: 0; padding-right: 0; padding-top: 4px; }

/* ---------- 2.2: il mio comune in home ---------- */
.mio-c { background: var(--bianco); border-bottom: 1px solid var(--filo); padding: 16px 0; }
.mio-c__riga { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; }
.mio-c__pre { margin: 0; font-size: 12px; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; color: var(--blu); }
.mio-c__tit { margin: 2px 0 0; font-size: 17px; font-weight: 700; max-width: 640px; }
.mio-c--ospite { background: linear-gradient(90deg, var(--blu-chiaro), var(--bianco)); }
.mio-c--pieno { padding: 20px 0 22px; background: linear-gradient(180deg, var(--blu-chiaro) 0%, var(--bianco) 70%); }
.mio-c__testa { display: flex; align-items: center; gap: 12px; }
.mio-c__stemma { width: 48px; height: 48px; object-fit: contain; }
.mio-c__nome { margin: 0; font-size: 28px; line-height: 1.05; font-weight: 900; letter-spacing: -0.03em; }
.mio-c__nome a { color: var(--inchiostro); text-decoration: none; }
.mio-c__cambia { margin-left: auto; font-size: 13px; font-weight: 700; }
.mio-c__griglia { display: grid; gap: 10px; margin-top: 14px; }
@media (min-width: 760px) { .mio-c__griglia { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.mio-c__carta { display: flex; align-items: center; gap: 12px; padding: 12px 14px; background: var(--bianco); border: 1px solid var(--filo); border-radius:3px; color: var(--inchiostro); text-decoration: none; transition: border-color .2s ease, transform .2s ease; }
a.mio-c__carta:hover { border-color: var(--blu); transform: translateY(-2px); color: var(--inchiostro); }
.mio-c__carta .volto { width: 48px; height: 48px; flex: none; }
.mio-c__carta > span:last-child { display: grid; min-width: 0; }
.mio-c__carta small { font-size: 12px; color: var(--testo-3); }
.mio-c__carta strong { font-size: 16px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.mio-c__num { flex: none; min-width: 48px; height: 48px; padding: 0 8px; box-sizing: border-box; display: inline-flex; align-items: center; justify-content: center; border-radius:3px; background: var(--giallo); font-size: 17px; font-weight: 900; }
.mio-c__ico { flex: none; width: 48px; height: 48px; display: inline-flex; align-items: center; justify-content: center; border-radius:3px; background: var(--blu); color: var(--bianco); }
.mio-c__novi { margin-top: 14px; display: grid; gap: 6px; }
.mio-c__novi a { font-weight: 700; text-decoration: none; }

/* ---------- 2.3.0 Rubriche: motto, scheda, scrivi ---------- */
.rubrica-testa__motto { margin: 12px 0 0; font-size: 18px; font-weight: 800; line-height: 1.25; color: var(--giallo); max-width: 720px; }
.rubrica-scheda { display: grid; gap: 1px; margin: 16px 0 0; max-width: 860px; border-radius:3px; overflow: hidden; background: rgba(255,255,255,.18); }
.rubrica-scheda > div { padding: 12px 14px; background: rgba(255,255,255,.08); }
.rubrica-scheda dt { font-size: 11px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; color: var(--perfor); }
.rubrica-scheda dd { margin: 4px 0 0; font-size: 14px; line-height: 1.45; color: var(--bianco); }
.rubrica-testa__azioni { display: flex; flex-wrap: wrap; gap: 8px; }
.foglio-mod__nota { margin: 8px 18px 18px; font-size: 12px; color: var(--testo-3); }
.foglio-mod textarea[name="testo"] { min-height: 220px; }
@media (min-width: 760px) {
	.rubrica-scheda { grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); }
}

/* ---------- 2.3.0 Newsletter senza account ---------- */
.nl-box { position: relative; overflow: hidden; margin: 0 0 20px; padding: 20px 18px; border-radius:3px; background: var(--inchiostro); color: var(--bianco); }
.nl-box::after { content: ""; position: absolute; right: -40px; top: -40px; width: 140px; height: 140px; border-radius:50%; background: var(--blu); opacity: .55; }
.nl-box > * { position: relative; z-index: 1; }
.nl-box__pre { margin: 0; font-size: 12px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; color: var(--giallo); }
.nl-box__tit { margin: 6px 0 0; font-size: 20px; line-height: 1.15; font-weight: 900; letter-spacing: -0.02em; }
.nl-box__t { margin: 6px 0 14px; font-size: 14px; line-height: 1.45; color: var(--piede-testo); }
.nl-box__form { display: grid; gap: 8px; }
.nl-box .campo { width: 100%; min-height: 46px; padding: 10px 14px; border: 0; border-radius:3px; font: inherit; font-size: 16px; color: var(--inchiostro); background: var(--bianco); }
.nl-box .bottone { justify-content: center; }
.nl-box .spunta { font-size: 12px; color: var(--piede-testo); margin: 4px 0 0; }
.nl-box .spunta a { color: var(--giallo); }
.nl-box .avviso-form { border-radius:3px; }
.nl-box--articolo { margin: 28px 0; }
@media (min-width: 640px) {
	.nl-box--articolo { padding: 26px 28px; }
	.nl-box--articolo .nl-box__form { grid-template-columns: 1fr auto; }
	.nl-box--articolo .nl-box__ok { grid-column: 1 / -1; }
}

/* ---------- 2.3.0 Guide elettorali ---------- */
.guide-cerca { display: block; margin: 18px 0 0; max-width: 480px; }
.guide-cerca input { width: 100%; height: 52px; padding: 0 18px; border: 1.5px solid var(--filo); border-radius:3px; background: var(--bianco); font: inherit; font-size: 16px; box-shadow: 0 6px 18px rgba(4,83,241,.08); }
.guide-cerca input:focus { outline: none; border-color: var(--blu); box-shadow: 0 0 0 3px var(--blu-chiaro); }
.guide-trovato { margin: 10px 0 0; font-size: 14px; font-weight: 700; color: var(--blu); }
.guide { padding-top: 20px; padding-bottom: 8px; }
.guide-scelte { display: grid; gap: 10px; margin-bottom: 16px; }
.guide-pillole { display: flex; gap: 8px; overflow-x: auto; scrollbar-width: none; padding-bottom: 2px; }
.guide-pannello { animation: foglio-sale .25s ease; }
.guida__pre { margin: 0; font-size: 12px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; color: var(--blu); }
.guida__titolo { margin: 4px 0 16px; font-size: 24px; line-height: 1.15; font-weight: 900; letter-spacing: -0.025em; }
.guida__carte { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1px; margin: 0 0 22px; border: 1px solid var(--filo); border-radius:3px; overflow: hidden; background: var(--filo); }
.guida__carta { padding: 14px; background: var(--fondo); }
.guida__etichetta { margin: 0 0 6px; font-size: 11px; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; color: var(--blu); }
.guida__valore { margin: 0; font-size: 17px; line-height: 1.2; font-weight: 900; color: var(--inchiostro); }
.guida__valore--si { color: #1A8A4F; }
.guida__valore--no { color: #C0392B; }
.guida__segno { margin-right: 4px; }
.guida__sotto { margin: 5px 0 0; font-size: 12.5px; line-height: 1.35; color: var(--testo-3); }
.guida__sez { margin: 0 0 16px; }
.guida__sez h3 { margin: 0 0 6px; padding-bottom: 6px; font-size: 17px; font-weight: 800; border-bottom: 2px solid var(--blu-chiaro); }
.guida__sez p { margin: 0 0 8px; font-size: 15.5px; line-height: 1.6; color: var(--testo-2); }
.guida__sez strong { color: var(--inchiostro); }
.guida__nota { margin: 16px 0 0; padding: 12px 14px; border-radius:3px; background: var(--blu-chiaro); font-size: 13px; line-height: 1.45; color: var(--testo-2); }
.guida-comune > summary { display: flex; align-items: center; justify-content: space-between; gap: 10px; cursor: pointer; list-style: none; font-size: 17px; font-weight: 800; }
.guida-comune > summary::-webkit-details-marker { display: none; }
.guida-comune > summary::after { content: "+"; flex: none; display: grid; place-items: center; width: 30px; height: 30px; border-radius:50%; background: var(--blu-chiaro); color: var(--blu); font-size: 20px; font-weight: 700; }
.guida-comune[open] > summary::after { content: "\2212"; }
.guida-comune[open] > summary { margin-bottom: 14px; }
.guida-comune .guida__titolo { font-size: 20px; }
@media (min-width: 760px) {
	.guide-scelte { grid-template-columns: auto 1fr; align-items: center; gap: 16px; }
	.guida__carte { grid-template-columns: repeat(3, 1fr); }
	.guida__titolo { font-size: 30px; }
}
.guida-comune > summary { justify-content: flex-start; }
.guida-comune > summary::after { margin-left: auto; }
.guida-comune__ico { flex: none; display: grid; place-items: center; width: 40px; height: 40px; border-radius:3px; background: var(--blu); color: var(--bianco); }
.guida-comune summary strong { display: block; font-size: 16px; }
.guida-comune summary small { display: block; font-size: 13px; font-weight: 500; color: var(--testo-3); }

/* ================= 2.4.0 ================= */

/* Chi ti rappresenta: elenchi di consiglieri allineati a sinistra come i parlamentari */
.livello__corpo > .livello__sottotitolo, .livello__corpo > .livello__persone { grid-column: 1 / -1; }
@media (max-width: 640px) {
	.livello__persone { grid-template-columns: 1fr; }
}

/* Amministratori: le istituzioni su una riga sola, compatte */
.istituzioni, .pagina-larga .istituzioni { display: flex; gap: 8px; overflow-x: auto; scrollbar-width: none; padding: 2px 2px 6px; margin: 0 0 12px; grid-template-columns: none; }
.istituzioni::-webkit-scrollbar { display: none; }
.istituzione { flex: none; min-height: 0; padding: 6px 14px 6px 6px; gap: 8px; border-radius:3px; }
.istituzione:hover { transform: none; }
.istituzione small { display: none; }
.istituzione strong { font-size: 13.5px; font-weight: 800; white-space: nowrap; }
.istituzione svg, .istituzione .emblema-ente { width: 32px; height: 32px; }
.istituzione__doppio .emblema-ente { width: 26px; height: 26px; }

/* Segui: quando lo segui si vede bene */
.pillola.segui.segui--si, .comune-testa__azioni .pillola--vuota.segui.segui--si { background: var(--giallo); color: var(--inchiostro); border-color: var(--giallo); }
.pillola.segui.segui--si:hover { background: var(--giallo); color: var(--inchiostro); filter: brightness(.97); }
.segui--si .segui__piu { display: inline; font-size: 0; }
.segui--si .segui__piu::before { content: "\2713"; font-size: 15px; font-weight: 900; }

/* Curriculum: anno sopra, riquadro sotto a tutta larghezza */
.linea { padding-left: 16px; border-left-width: 3px; }
.linea__voce { display: block; margin: 0 0 16px; }
.linea__voce::before { left: -25.5px; top: 3px; }
.linea__anni { display: inline-block; width: auto; padding: 3px 10px; margin: 0 0 6px; border-radius:3px; background: var(--blu-chiaro); font-size: 12.5px; line-height: 1.3; }
.linea__voce--oggi .linea__anni { background: var(--giallo); color: var(--inchiostro); }
.linea__corpo { border-radius:3px; padding: 12px 14px; }

/* Foto profilo */
.utente__foto { display: inline-flex; width: 30px; height: 30px; border-radius:50%; overflow: hidden; background: none !important; }
.utente__foto img { width: 100%; height: 100%; object-fit: cover; }
img.volto { object-fit: cover; border-radius:50%; }
.form-avatar { display: flex; gap: 16px; align-items: center; margin-bottom: 12px; }
.form-avatar__foto, .scrivi-foto__anteprima { flex: none; display: grid; place-items: center; width: 84px; height: 84px; border-radius:50%; overflow: hidden; background: var(--blu-chiaro); color: var(--blu); font-size: 30px; font-weight: 900; }
.form-avatar__foto img, .scrivi-foto__anteprima img { width: 100%; height: 100%; object-fit: cover; }
.form-avatar .titoletto { margin: 0; }
.form-avatar .meta { margin: 2px 0 10px; }
.form-avatar__bottoni { display: flex; gap: 8px; flex-wrap: wrap; }
.form-avatar__scegli { cursor: pointer; }
.scrivi-autore { margin: 4px 0 0; padding: 14px; border: 1.5px solid var(--filo); border-radius:3px; display: grid; gap: 12px; }
.scrivi-autore legend { padding: 0 6px; font-size: 12px; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; color: var(--blu); }
.scrivi-foto { display: flex; gap: 14px; align-items: center; }
.scrivi-foto__anteprima { width: 64px; height: 64px; }
.scrivi-foto__campo { flex: 1; min-width: 0; }
.scrivi-foto input[type=file] { font-size: 13px; max-width: 100%; }

/* Firma con foto e riquadro autore */
.iniziali--foto { width: 44px; height: 44px; border-radius:50%; object-fit: cover; flex: none; }
.articolo__ruolo { display: block; font-size: 13px; font-weight: 600; color: var(--testo-2); }
.autore { display: flex; gap: 14px; align-items: center; margin: 0 0 18px; padding: 16px; border-radius:3px; background: var(--fondo); border: 1px solid var(--filo); }
.autore__foto { width: 72px; height: 72px; border-radius:50%; object-fit: cover; flex: none; font-size: 24px; }
.autore__pre { margin: 0; font-size: 12px; font-weight: 700; color: var(--testo-3); }
.autore__n { margin: 2px 0 0; font-size: 19px; font-weight: 900; letter-spacing: -0.01em; }
.autore__r { margin: 2px 0 0; font-size: 14px; color: var(--blu); font-weight: 700; }

/* Cuori */
.articolo__reazioni { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.bottone--bordo { background: var(--bianco); color: var(--inchiostro); border: 1.5px solid var(--filo); }
.cuore { display: inline-flex; align-items: center; gap: 6px; height: 44px; padding: 0 16px; border: 1.5px solid var(--filo); border-radius:3px; background: var(--bianco); color: var(--testo-2); font: inherit; font-size: 14px; font-weight: 800; cursor: pointer; }
.cuore svg path { fill: none; stroke: currentColor; stroke-width: 2; }
.cuore[aria-pressed="true"] { color: #E0245E; border-color: #F7C6D4; background: #FFF0F4; }
.cuore[aria-pressed="true"] svg path { fill: currentColor; }
.cuore--piccolo { height: 30px; padding: 0 10px; font-size: 13px; border: 0; background: transparent; }
.cuore--piccolo[aria-pressed="true"] { background: transparent; }
.cuore--batte svg { animation: cuore-batte .5s cubic-bezier(.2,.8,.2,1); }
@keyframes cuore-batte { 30% { transform: scale(1.35); } 60% { transform: scale(.9); } }

/* Commenti */
.commenti { padding-top: 8px; padding-bottom: 24px; }
.commenti__h { display: flex; align-items: center; gap: 8px; margin: 0 0 14px; font-size: 22px; font-weight: 900; letter-spacing: -0.02em; }
.commenti__h span { display: inline-grid; place-items: center; min-width: 28px; height: 28px; padding: 0 8px; border-radius:3px; background: var(--blu-chiaro); color: var(--blu); font-size: 14px; }
.commenti__form { display: flex; gap: 12px; align-items: flex-start; margin: 0 0 20px; padding: 14px; border: 1px solid var(--filo); border-radius:3px; background: var(--bianco); }
.commenti__campo { flex: 1; min-width: 0; display: grid; gap: 8px; }
.commenti__chi { margin: 0; font-size: 13px; color: var(--testo-3); }
.commenti__campo textarea { width: 100%; min-height: 84px; padding: 10px 12px; border: 1.5px solid var(--filo); border-radius:3px; font: inherit; font-size: 16px; resize: vertical; }
.commenti__campo textarea:focus { outline: none; border-color: var(--blu); box-shadow: 0 0 0 3px var(--blu-chiaro); }
.commenti__campo .pillola { justify-self: end; }
.commenti__risposta { margin: 0; font-size: 13px; font-weight: 700; color: var(--blu); }
.commenti__risposta button { border: 0; background: none; color: var(--testo-3); text-decoration: underline; cursor: pointer; font: inherit; }
.commenti__invito { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; justify-content: space-between; margin: 0 0 20px; padding: 16px; border-radius:3px; background: var(--blu-chiaro); }
.commenti__invito p { margin: 0; flex: 1 1 260px; font-size: 15px; }
.commenti__lista { list-style: none; margin: 0; padding: 0; display: grid; gap: 16px; }
.commento { display: flex; gap: 12px; }
.commento__volto { flex: none; width: 40px; height: 40px; border-radius:50%; object-fit: cover; }
.commento__volto--ini { display: grid; place-items: center; background: var(--blu); color: var(--bianco); font-weight: 900; }
.commento__corpo { flex: 1; min-width: 0; }
.commento__testa { margin: 0; font-size: 14px; }
.commento__testa time { color: var(--testo-3); font-size: 13px; margin-left: 4px; }
.commento__attesa { font-size: 12px; font-style: normal; font-weight: 700; color: #8A3A06; background: #FFF1E6; padding: 2px 8px; border-radius:3px; }
.commento__testo { margin-top: 4px; padding: 10px 14px; border-radius:4px 3px 3px 3px; background: var(--fondo); font-size: 15px; line-height: 1.55; overflow-wrap: anywhere; }
.commento__testo p { margin: 0 0 6px; }
.commento__testo p:last-child { margin: 0; }
.commento__azioni { display: flex; gap: 6px; align-items: center; margin: 4px 0 0; }
.commento__rispondi { border: 0; background: none; padding: 0 6px; font: inherit; font-size: 13px; font-weight: 700; color: var(--testo-3); cursor: pointer; }
.commento__rispondi:hover { color: var(--blu); }
.commento .commenti__lista { margin-top: 12px; }
.commento--risposta .commento__volto { width: 32px; height: 32px; }
.commenti__vuoto, .commenti__regole { margin: 12px 0 0; }

/* ---------- Guide spiegate facili ---------- */
.guide-pannello .guida__titolo { margin-bottom: 18px; }
.facile { --rit: 0ms; }
.facile__passi { list-style: none; margin: 0 0 18px; padding: 0; display: grid; gap: 12px; counter-reset: passo; }
.passo { position: relative; display: grid; grid-template-columns: 92px 1fr; grid-template-rows: auto 1fr; column-gap: 14px; align-items: start; padding: 16px; border-radius:3px; background: var(--bianco); border: 1px solid var(--filo); box-shadow: 0 6px 18px rgba(14,17,32,.05); opacity: 0; transform: translateY(18px); transition: opacity .5s ease, transform .5s cubic-bezier(.2,.8,.2,1); transition-delay: calc(var(--i) * 110ms); }
.in-vista .passo { opacity: 1; transform: none; }
.passo__n { position: absolute; top: -10px; left: -6px; display: grid; place-items: center; width: 32px; height: 32px; border-radius:50%; background: var(--giallo); color: var(--inchiostro); font-weight: 900; font-size: 15px; box-shadow: 0 3px 8px rgba(14,17,32,.15); }
.passo__ill { grid-row: 1 / span 2; display: grid; place-items: center; width: 92px; height: 78px; border-radius:3px; background: var(--blu-chiaro); }
.passo__ill svg { width: 84px; height: 64px; overflow: visible; }
.passo__h { margin: 2px 0 4px; font-size: 18px; font-weight: 900; letter-spacing: -0.015em; }
.passo__t { margin: 0; font-size: 15px; line-height: 1.5; color: var(--testo-2); }
.f-carta { fill: #fff; stroke: var(--inchiostro); stroke-width: 3; }
.f-righe circle { fill: none; stroke: var(--blu); stroke-width: 3; }
.f-righe rect { fill: var(--perfor); }
.f-simbolo { fill: #fff; stroke: var(--blu); stroke-width: 5; }
.f-croce { fill: none; stroke: var(--inchiostro); stroke-width: 7; stroke-linecap: round; stroke-dasharray: 110; stroke-dashoffset: 110; }
.in-vista .f-croce { animation: f-traccia .9s ease forwards; animation-delay: calc(var(--i, 1) * 110ms + 400ms); }
.f-riga { fill: #fff; stroke: var(--perfor); stroke-width: 2; }
.f-scritta { fill: none; stroke: var(--blu); stroke-width: 3; stroke-linecap: round; stroke-dasharray: 60; stroke-dashoffset: 60; }
.in-vista .f-scritta { animation: f-traccia 1s ease forwards .7s; }
.in-vista .f-scritta--2 { animation-delay: 1.4s; }
.f-matita { fill: var(--giallo); stroke: var(--inchiostro); stroke-width: 2.5; stroke-linejoin: round; }
.in-vista .f-matita { animation: f-matita 1.6s ease .6s; }
@keyframes f-traccia { to { stroke-dashoffset: 0; } }
@keyframes f-matita { 0%, 100% { transform: none; } 30% { transform: translate(-30px, 16px); } 60% { transform: translate(-10px, 26px); } }
.f-barra { fill: var(--perfor); transform-box: fill-box; transform-origin: bottom; transform: scaleY(.2); transition: transform .8s cubic-bezier(.2,.8,.2,1) .6s; }
.f-barra--su { fill: var(--blu); }
.in-vista .f-barra { transform: none; }
.f-corona { fill: var(--giallo); stroke: var(--inchiostro); stroke-width: 2; stroke-linejoin: round; opacity: 0; transition: opacity .4s ease 1.3s; }
.in-vista .f-corona { opacity: 1; }
.f-torta-fondo { fill: var(--perfor); }
.f-torta { fill: none; stroke: var(--blu); stroke-width: 32; stroke-dasharray: 0 101; transform: rotate(-90deg); transform-origin: 60px 47px; transition: stroke-dasharray 1.2s cubic-bezier(.2,.8,.2,1) .6s; }
.in-vista .f-torta { stroke-dasharray: calc(var(--q) * 1.005) 101; }
.f-torta-n { font: 900 15px Inter, Arial, sans-serif; fill: #fff; }
.passo__ill circle.e-si, .passo__ill circle.e-no { fill: var(--perfor); opacity: 0; transition: opacity .3s ease, fill .3s ease; transition-delay: calc(var(--d) + 500ms); }
.in-vista .passo__ill circle.e-si { fill: var(--blu); opacity: 1; }
.in-vista .passo__ill circle.e-no { opacity: 1; }
.facile__sotto { display: grid; gap: 12px; margin-bottom: 14px; }
.facile__h { display: flex; align-items: center; gap: 8px; margin: 0 0 10px; font-size: 17px; font-weight: 900; }
.facile__occhio { padding: 16px; border-radius:3px; background: #FFF4E5; border: 1px solid #FFD9A8; }
.facile__occhio .facile__h { color: #B4540A; }
.facile__occhio ul { margin: 0; padding-left: 20px; display: grid; gap: 6px; font-size: 15px; line-height: 1.45; }
.facile__quiz { padding: 16px; border-radius:3px; background: var(--inchiostro); color: var(--bianco); }
.facile__quiz .facile__h { color: var(--giallo); }
.vf { padding: 12px 0; border-top: 1px solid rgba(255,255,255,.12); }
.vf:first-of-type { border-top: 0; padding-top: 0; }
.vf__q { margin: 0 0 8px; font-size: 15px; font-weight: 700; line-height: 1.4; }
.vf__b { display: flex; gap: 8px; }
.vf__b button { flex: 1; height: 40px; border: 1.5px solid rgba(255,255,255,.35); border-radius:3px; background: transparent; color: var(--bianco); font: inherit; font-size: 14px; font-weight: 800; cursor: pointer; transition: transform .15s; }
.vf__b button:hover:not(:disabled) { transform: translateY(-2px); border-color: var(--giallo); }
.vf__b button:disabled { cursor: default; opacity: .55; }
.vf__b button.giusta { opacity: 1; background: #1A8A4F; border-color: #1A8A4F; }
.vf__b button.no { opacity: 1; background: #C0392B; border-color: #C0392B; animation: vf-no .4s; }
@keyframes vf-no { 25% { transform: translateX(-5px); } 75% { transform: translateX(5px); } }
.vf__spiega { margin: 8px 0 0; font-size: 14px; color: var(--piede-testo); }
.vf--si .vf__spiega { color: #8FE0B5; }
.facile__prova { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 16px 20px; border-radius:3px; background: linear-gradient(120deg, var(--blu) 0%, #3D7BFF 100%); color: var(--bianco); text-decoration: none; box-shadow: 0 10px 24px rgba(4,83,241,.25); transition: transform .2s; }
.facile__prova:hover { color: var(--bianco); transform: translateY(-3px); }
.facile__prova span { display: grid; }
.facile__prova strong { font-size: 18px; font-weight: 900; }
.facile__prova small { font-size: 13px; color: var(--blu-chiaro); }
.facile__prova svg { flex: none; animation: f-freccia 1.6s ease-in-out infinite; }
@keyframes f-freccia { 50% { transform: translateX(5px); } }
.facile__fonte { margin: 10px 0 0; font-size: 12.5px; color: var(--testo-3); }
.guida-dettagli { margin-top: 16px; border-top: 1px solid var(--filo); padding-top: 12px; }
.guida-dettagli > summary { cursor: pointer; font-weight: 800; color: var(--blu); font-size: 15px; }
.guida-dettagli[open] > summary { margin-bottom: 14px; }
@media (min-width: 760px) {
	.facile__passi { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
	.passo:last-child { grid-column: 1 / -1; }
	.facile__sotto { grid-template-columns: 1fr 1fr; }
}
@media (min-width: 1100px) {
	.facile__passi { grid-template-columns: repeat(5, minmax(0, 1fr)); }
	.passo { grid-template-columns: 1fr; grid-template-rows: auto auto 1fr; padding: 18px 16px; }
	.passo:last-child { grid-column: auto; }
	.passo__ill { grid-row: auto; width: 100%; height: 96px; margin-bottom: 10px; }
	.passo__ill svg { width: 100px; height: 76px; }
}
@media (prefers-reduced-motion: reduce) {
	.passo, .f-croce, .f-scritta, .f-barra, .f-torta, .passo__ill circle { transition: none !important; animation: none !important; opacity: 1 !important; transform: none !important; stroke-dashoffset: 0 !important; }
}

/* ---------- Simulatore della scheda ---------- */
.sv-cerca { position: relative; max-width: 480px; margin-top: 18px; }
.sv-cerca input { width: 100%; height: 54px; padding: 0 54px 0 20px; border: 1.5px solid var(--filo); border-radius:3px; background: var(--bianco); font: inherit; font-size: 16px; box-shadow: 0 6px 18px rgba(4,83,241,.08); }
.sv-cerca input:focus { outline: none; border-color: var(--blu); box-shadow: 0 0 0 3px var(--blu-chiaro); }
.sv-cerca__apri { position: absolute; right: 6px; top: 6px; width: 42px; height: 42px; border: 0; border-radius:50%; background: var(--blu); color: var(--bianco); display: grid; place-items: center; cursor: pointer; }
.sv-elenco { position: absolute; z-index: 30; left: 0; right: 0; top: calc(100% + 6px); max-height: 320px; overflow: auto; margin: 0; padding: 6px; list-style: none; background: var(--bianco); border: 1px solid var(--filo); border-radius:3px; box-shadow: 0 18px 40px rgba(14,17,32,.16); }
.sv-elenco li { display: flex; justify-content: space-between; gap: 10px; align-items: baseline; padding: 10px 12px; border-radius:3px; cursor: pointer; font-weight: 700; }
.sv-elenco li small { color: var(--testo-3); font-weight: 500; font-size: 12px; white-space: nowrap; }
.sv-elenco li[aria-selected="true"], .sv-elenco li:hover { background: var(--blu-chiaro); }
.sv-elenco .sv-elenco__nulla { cursor: default; color: var(--testo-3); font-weight: 500; }
.sv { padding-top: 20px; }
.sv-griglia { display: grid; gap: 16px; align-items: start; }
.sv-colonna { display: grid; gap: 14px; min-width: 0; }
.sv-info__pre { margin: 0; font-size: 12px; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; color: var(--blu); }
.sv-info__n { margin: 2px 0 10px; font-size: 26px; font-weight: 900; letter-spacing: -0.02em; line-height: 1.1; }
.sv-info__n small { display: block; font-size: 14px; font-weight: 600; color: var(--testo-3); letter-spacing: 0; margin-top: 2px; }
.sv-regole { list-style: none; margin: 0 0 8px; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px; }
.sv-regole li { padding: 8px 10px; border-radius:3px; background: var(--fondo); font-size: 13.5px; line-height: 1.3; }
.sv-regole strong { display: block; font-size: 11px; letter-spacing: .04em; text-transform: uppercase; color: var(--testo-3); }
.sv-regole li.si { background: #E7F6EE; } .sv-regole li.no { background: #FDECEA; }
.sv-carta { background: #FBF7EC; border: 2px solid #CFC6AE; border-radius:3px; padding: 12px; box-shadow: 0 10px 26px rgba(14,17,32,.10); }
.sv-carta__testa { text-align: center; padding-bottom: 10px; margin-bottom: 10px; border-bottom: 1.5px dashed #CFC6AE; }
.sv-carta__testa span { display: block; font-weight: 900; font-size: 15px; text-transform: uppercase; letter-spacing: .04em; }
.sv-carta__testa small { font-size: 12px; color: #6E6650; }
.sv-riquadri { display: grid; gap: 10px; }
.sv-riquadro { border: 1.5px solid #3A3526; border-radius:4px; background: #FFFDF6; padding: 8px; }
.sv-sindaco, .sv-lista__segno { position: relative; border: 0; background: none; cursor: pointer; font: inherit; color: inherit; }
.sv-sindaco { display: block; width: 100%; text-align: left; padding: 8px 10px; border: 1.5px solid #3A3526; border-radius:3px; background: #fff; }
.sv-sindaco__et { display: block; font-size: 10px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; color: #6E6650; }
.sv-sindaco__n { display: block; font-size: 18px; font-weight: 900; letter-spacing: -0.01em; }
.sv-liste { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 8px; margin-top: 8px; }
.sv-lista { display: grid; justify-items: center; gap: 4px; padding: 8px 6px; border: 1px dashed #B9B097; border-radius:3px; text-align: center; }
.sv-lista__segno { width: 62px; height: 62px; border-radius:50%; display: grid; place-items: center; }
.sv-lista__n { font-size: 12.5px; font-weight: 800; line-height: 1.2; }
.sv-croce { position: absolute; inset: 0; margin: auto; width: 54px; height: 54px; pointer-events: none; }
.sv-croce path { fill: none; stroke: #1B1B1B; stroke-width: 9; stroke-linecap: round; stroke-dasharray: 190; stroke-dashoffset: 190; transition: stroke-dashoffset .35s ease; }
.sv-sindaco .sv-croce { right: 12px; left: auto; width: 40px; height: 40px; }
[aria-pressed="true"] > .sv-croce path { stroke-dashoffset: 0; }
.sv-sindaco:hover, .sv-lista__segno:hover { outline: 3px solid var(--blu-chiaro); }
.sv-righe { display: grid; gap: 4px; width: 100%; }
.sv-riga { width: 100%; height: 30px; padding: 0 6px; border: 0; border-bottom: 1.5px solid #3A3526; background: transparent; font-family: "Segoe Print", "Bradley Hand", "Comic Sans MS", cursive; font-size: 16px; color: #1D3FA0; text-align: center; }
.sv-riga:focus { outline: none; background: #FFF6D6; }
.sv-riga::placeholder { color: #C2B994; font-family:"Red Hat Text",Inter, sans-serif; font-size: 11px; }
.sv-comandi { display: flex; gap: 8px; flex-wrap: wrap; }
.sv-man-griglia { display: grid; gap: 12px; grid-template-columns: repeat(auto-fill, minmax(190px, 1fr)); }
.sv-man__h { display: flex; gap: 8px; align-items: center; margin: 0 0 4px; font-weight: 800; font-size: 14px; }
.sv-man__h span { display: grid; } .sv-man__h small { font-weight: 500; color: var(--testo-3); font-size: 12px; }
.sv-man ul { margin: 0; padding-left: 18px; font-size: 14px; }
.sv-man em { font-style: normal; font-size: 12px; color: var(--testo-3); }
.sv-esito { display: grid; gap: 12px; }
.sv-verdetto { padding: 18px; border-radius:3px; background: var(--bianco); border: 2px solid var(--filo); animation: foglio-sale .25s ease; }
.sv-verdetto__h { margin: 0 0 10px; font-size: 24px; font-weight: 900; letter-spacing: -0.02em; display: flex; align-items: center; gap: 8px; }
.sv-verdetto__h::before { content: ""; width: 14px; height: 14px; border-radius:50%; background: var(--testo-3); }
.sv-verdetto--valido { border-color: #1A8A4F; } .sv-verdetto--valido .sv-verdetto__h { color: #1A8A4F; } .sv-verdetto--valido .sv-verdetto__h::before { background: #1A8A4F; }
.sv-verdetto--parziale { border-color: #E07A10; } .sv-verdetto--parziale .sv-verdetto__h { color: #B4540A; } .sv-verdetto--parziale .sv-verdetto__h::before { background: #E07A10; }
.sv-verdetto--nullo { border-color: #C0392B; background: #FDF1EF; } .sv-verdetto--nullo .sv-verdetto__h { color: #C0392B; } .sv-verdetto--nullo .sv-verdetto__h::before { background: #C0392B; }
.sv-va { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin: 0 0 10px; }
.sv-va div { padding: 10px; border-radius:3px; background: var(--fondo); }
.sv-va dt { font-size: 11px; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; color: var(--testo-3); }
.sv-va dd { margin: 2px 0 0; font-weight: 800; font-size: 15px; display: flex; align-items: center; gap: 6px; }
.sv-pref { list-style: none; margin: 0 0 10px; padding: 0; display: grid; gap: 6px; }
.sv-pref li { display: grid; padding: 8px 10px 8px 34px; border-radius:3px; position: relative; font-size: 14px; }
.sv-pref li::before { position: absolute; left: 10px; top: 8px; font-weight: 900; }
.sv-pref li.si { background: #E7F6EE; } .sv-pref li.si::before { content: "\2713"; color: #1A8A4F; }
.sv-pref li.no { background: #FDECEA; } .sv-pref li.no::before { content: "\2715"; color: #C0392B; }
.sv-pref span { font-size: 13px; color: var(--testo-2); }
.sv-verdetto__n { margin: 8px 0 0; font-size: 14.5px; line-height: 1.5; color: var(--testo-2); }
.sv-prove { padding: 16px; border-radius:3px; background: var(--inchiostro); color: var(--bianco); }
.sv-prove .titoletto { color: var(--giallo); margin: 0 0 6px; }
.sv-prove ul { margin: 0; padding-left: 18px; display: grid; gap: 4px; font-size: 14px; color: var(--piede-testo); }
.sv-nota { margin-top: 18px; }
@media (min-width: 900px) {
	.sv-griglia { grid-template-columns: minmax(0, 1.5fr) minmax(300px, 1fr); }
	.sv-esito { position: sticky; top: 90px; }
	.sv-regole { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
@media all {
	.sv-mini { position: fixed; z-index: 40; left: 50%; bottom: 14px; transform: translateX(-50%); display: flex; align-items: center; gap: 10px; padding: 10px 18px; border: 0; border-radius:3px; background: var(--inchiostro); color: var(--bianco); font: inherit; font-weight: 900; font-size: 15px; box-shadow: 0 10px 26px rgba(14,17,32,.3); cursor: pointer; white-space: nowrap; }
	.sv-mini small { font-weight: 600; font-size: 12px; color: var(--piede-testo); }
	.sv-mini--valido { background: #1A8A4F; } .sv-mini--parziale { background: #B4540A; } .sv-mini--nullo { background: #C0392B; }
	.sv-mini--valido small, .sv-mini--parziale small, .sv-mini--nullo small { color: rgba(255,255,255,.85); }
	.sv { padding-bottom: 70px; }
}
.cuore svg { width: 20px; height: 20px; flex: none; } .cuore--piccolo svg { width: 16px; height: 16px; }
.linea__voce::before { left: -27.5px; }
.commenti.contenitore > * { max-width: 820px; }

/* ---------- 2.4.3 Guide: errori e quiz piu leggeri, invito al simulatore ---------- */
.facile__sotto { gap: 14px; }
.facile__occhio, .facile__quiz { padding: 18px; border-radius:3px; background: var(--bianco); border: 1px solid var(--filo); color: var(--inchiostro); box-shadow: 0 6px 18px rgba(14,17,32,.05); }
.facile__h, .facile__occhio .facile__h, .facile__quiz .facile__h { display: flex; align-items: center; gap: 10px; margin: 0 0 12px; font-size: 17px; font-weight: 900; color: var(--inchiostro); }
.facile__ico { flex: none; display: grid; place-items: center; width: 28px; height: 28px; border-radius:50%; background: var(--blu); color: var(--bianco); font-size: 15px; font-weight: 900; }
.facile__ico--no { background: #E5484D; }
.facile__occhio ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.facile__occhio li { position: relative; padding: 10px 12px 10px 40px; border-radius:3px; background: #FFF5F5; font-size: 14.5px; line-height: 1.4; }
.facile__occhio li::before { content: "\2715"; position: absolute; left: 12px; top: 9px; display: grid; place-items: center; width: 18px; height: 18px; border-radius:50%; background: #E5484D; color: #fff; font-size: 10px; font-weight: 900; }
.quiz__conta { margin-left: auto; padding: 3px 10px; border-radius:3px; background: var(--blu-chiaro); color: var(--blu); font-size: 12px; font-weight: 800; }
.facile__quiz .vf { padding: 0; border: 0; }
.facile__quiz .vf[hidden] { display: none; }
.facile__quiz .vf__q { margin: 0 0 12px; font-size: 16px; line-height: 1.4; font-weight: 800; color: var(--inchiostro); }
.facile__quiz .vf__b { gap: 10px; }
.facile__quiz .vf__b button { height: 46px; border: 2px solid var(--filo); border-radius:3px; background: var(--fondo); color: var(--inchiostro); font-size: 15px; }
.facile__quiz .vf__b button:hover:not(:disabled) { border-color: var(--blu); background: var(--blu-chiaro); transform: translateY(-2px); }
.facile__quiz .vf__b button:disabled { opacity: .45; }
.facile__quiz .vf__b button.giusta { opacity: 1; background: #E7F6EE; border-color: #1A8A4F; color: #126B3C; }
.facile__quiz .vf__b button.no { opacity: 1; background: #FDECEA; border-color: #E5484D; color: #B42318; }
.facile__quiz .vf__spiega { margin: 12px 0 0; padding: 10px 12px; border-radius:3px; background: var(--fondo); font-size: 14px; color: var(--testo-2); }
.facile__quiz .vf--si .vf__spiega { background: #E7F6EE; color: #126B3C; }
.facile__quiz .vf--no .vf__spiega { background: #FDECEA; color: #B42318; }
.vf__avanti { margin-top: 10px; border: 0; background: none; padding: 6px 0; font: inherit; font-size: 14px; font-weight: 800; color: var(--blu); cursor: pointer; }
.vf__avanti::after { content: " \2192"; }
.vf__fine { margin: 10px 0 0; font-size: 14px; font-weight: 800; color: var(--blu); }
.facile__prova { display: none; }
.prova-scheda { position: relative; overflow: hidden; display: grid; grid-template-columns: 1fr; gap: 10px; align-items: center; margin: 4px 0 0; padding: 22px; border-radius:3px; background: radial-gradient(120% 140% at 100% 0%, #3D7BFF 0%, var(--blu) 45%, #0237B0 100%); color: var(--bianco); text-decoration: none; box-shadow: 0 16px 36px rgba(4,83,241,.28); transition: transform .2s, box-shadow .2s; }
.prova-scheda:hover { color: var(--bianco); transform: translateY(-3px); box-shadow: 0 20px 44px rgba(4,83,241,.34); }
.prova-scheda__testo { display: grid; gap: 6px; position: relative; z-index: 1; }
.prova-scheda__pre { justify-self: start; padding: 3px 10px; border-radius:3px; background: rgba(255,255,255,.18); font-size: 12px; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; }
.prova-scheda strong { font-size: 26px; line-height: 1.08; font-weight: 900; letter-spacing: -0.025em; }
.prova-scheda__t { font-size: 15px; line-height: 1.45; color: var(--blu-chiaro); max-width: 520px; }
.prova-scheda__b { justify-self: start; display: inline-flex; align-items: center; gap: 8px; margin-top: 6px; height: 46px; padding: 0 20px; border-radius:3px; background: var(--giallo); color: var(--inchiostro); font-weight: 900; font-size: 15px; }
.prova-scheda__b svg { animation: f-freccia 1.6s ease-in-out infinite; }
.prova-scheda__ill { width: 150px; height: 122px; justify-self: center; transform: rotate(-6deg); filter: drop-shadow(0 10px 18px rgba(0,0,0,.25)); }
.ps-carta { fill: #FBF7EC; stroke: #CFC6AE; stroke-width: 2; }
.ps-riga { fill: #fff; stroke: #3A3526; stroke-width: 1.5; }
.ps-nome { font: 800 9px Inter, Arial, sans-serif; fill: #3A3526; }
.ps-sim { fill: #0453F1; stroke: #fff; stroke-width: 3; }
.ps-sim--2 { fill: #D81F2C; }
.ps-x { fill: none; stroke: #111; stroke-width: 5; stroke-linecap: round; stroke-dasharray: 50; stroke-dashoffset: 50; animation: ps-x 3.2s ease infinite; }
.ps-linea { stroke: #3A3526; stroke-width: 1.5; }
.ps-scritta { fill: none; stroke: #1D3FA0; stroke-width: 2.2; stroke-linecap: round; stroke-dasharray: 40; stroke-dashoffset: 40; animation: ps-x 3.2s ease .8s infinite; }
@keyframes ps-x { 0% { stroke-dashoffset: 50; } 30%, 85% { stroke-dashoffset: 0; } 100% { stroke-dashoffset: 50; } }
@media (min-width: 640px) {
	.prova-scheda { grid-template-columns: 1fr auto; padding: 26px 30px; }
	.prova-scheda strong { font-size: 30px; }
	.prova-scheda__ill { width: 190px; height: 154px; }
}
@media (max-width: 639px) { .prova-scheda__ill { position: absolute; right: -24px; top: -10px; width: 120px; opacity: .35; } }
/* Simulatore: testata e guida */
.sv-testa { background: radial-gradient(120% 140% at 100% 0%, #3D7BFF 0%, var(--blu) 50%, #0237B0 100%); color: var(--bianco); padding: 30px 0 34px; }
.sv-testa__riga { display: flex; align-items: center; gap: 24px; }
.sv-testa__testo { flex: 1; min-width: 0; }
.sv-testa__pre { display: inline-block; margin: 0; padding: 3px 10px; border-radius:3px; background: rgba(255,255,255,.18); font-size: 12px; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; }
.sv-testa__titolo { margin: 10px 0 0; font-size: 36px; line-height: 1.02; font-weight: 900; letter-spacing: -0.04em; }
.sv-testa__titolo span { color: var(--giallo); }
.sv-testa__desc { margin: 10px 0 0; font-size: 16px; line-height: 1.5; color: var(--blu-chiaro); max-width: 560px; }
.sv-testa__aiuto { margin: 8px 0 0 6px; font-size: 13px; color: var(--blu-chiaro); }
.sv-testa .sv-cerca input { border-color: transparent; box-shadow: 0 10px 26px rgba(0,0,0,.18); color: var(--inchiostro); }
.sv-testa .sv-cerca__apri { background: var(--giallo); color: var(--inchiostro); }
.sv-testa__ill { flex: none; width: 210px; height: 170px; transform: rotate(-6deg); filter: drop-shadow(0 12px 22px rgba(0,0,0,.25)); }
@media (max-width: 759px) { .sv-testa__ill { display: none; } .sv-testa__titolo { font-size: 32px; } }
@media (min-width: 900px) { .sv-testa__titolo { font-size: 48px; } }
.sv-come { list-style: none; margin: 0 0 8px; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.sv-come[hidden] { display: none; }
.sv-come li { display: grid; gap: 2px; padding: 16px; border-radius:3px; background: var(--bianco); border: 1px solid var(--filo); }
.sv-come span { display: grid; place-items: center; width: 30px; height: 30px; margin-bottom: 6px; border-radius:50%; background: var(--giallo); font-weight: 900; }
.sv-come strong { font-size: 16px; font-weight: 900; }
.sv-come small { font-size: 13px; color: var(--testo-3); }
@media (min-width: 900px) { .sv-come { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.sv-guida { margin: 0; padding: 12px 14px; border-radius:3px; background: var(--giallo); color: var(--inchiostro); font-size: 14.5px; line-height: 1.45; scroll-margin-top: 110px; }
.sv-riga { background: rgba(4,83,241,.05); border-radius:3px 3px 0 0; }
.sv-riga::placeholder { color: #9C9273; font-size: 12px; }
.sv-nomi { display: flex; flex-wrap: wrap; justify-content: center; gap: 4px; margin-top: 6px; padding-top: 6px; border-top: 1px dotted #CFC6AE; width: 100%; }
.sv-nome { height: 26px; padding: 0 9px; border: 0; border-radius:3px; font: inherit; font-size: 12px; font-weight: 700; cursor: pointer; }
.sv-nome--F { background: #FCE7F0; color: #9D1D5A; }
.sv-nome--M { background: #E3ECFF; color: #0340BC; }
.sv-nome:hover { filter: brightness(.95); }
@media (max-width: 520px) { .sv-liste { grid-template-columns: 1fr; } .sv-lista { grid-template-columns: auto 1fr; justify-items: start; text-align: left; column-gap: 10px; } .sv-lista__segno { grid-row: span 2; } .sv-righe, .sv-nomi { grid-column: 1 / -1; } .sv-nomi { justify-content: flex-start; } }

/* ---------- 2.5.0 Chi ti rappresenta: fila di volti ---------- */
.facce { display: flex; align-items: center; justify-content: space-between; gap: 12px; width: 100%; margin: 8px 0 0; padding: 8px 12px 8px 8px; border: 1px solid var(--filo); border-radius:3px; background: var(--fondo); font: inherit; cursor: pointer; text-align: left; }
.facce[hidden] { display: none; }
.facce:hover { border-color: var(--blu); }
.facce__fila { display: flex; min-width: 0; overflow: hidden; }
.facce__volto { flex: none; width: 34px; height: 34px; border-radius:50%; object-fit: cover; border: 2px solid var(--bianco); margin-left: -8px; background: var(--blu-chiaro); }
.facce__volto:first-child { margin-left: 0; }
.facce__volto--ini, .facce__piu { display: grid; place-items: center; font-size: 11px; font-weight: 800; color: var(--blu); }
.facce__piu { background: var(--blu); color: var(--bianco); }
.facce__t { flex: none; font-size: 13px; font-weight: 800; color: var(--blu); }
.facce[aria-expanded="true"] { border-color: var(--blu); }
.livello__persone[hidden] { display: none; }

/* Comune: tempo trascorso dal voto */
.trascorso { font-size: .85em; opacity: .8; font-weight: 500; }

/* Articoli: evidenziato come nelle grafiche, colore della rubrica */
.testo { --evid: #FFE27A; }
.rubrica-lab-reghion .testo, .category-lab-reghion .testo { --evid: #8BE3F7; }
.category-osservatorio-politico .testo { --evid: #7EF2A6; }
.category-mobilita .testo { --evid: #A9C6FF; }
.testo mark { background: linear-gradient(100deg, transparent 0, var(--evid) 3px, var(--evid) calc(100% - 3px), transparent 100%); color: inherit; padding: .05em .2em; margin: 0 -.1em; border-radius:.25em .35em .3em .2em; -webkit-box-decoration-break: clone; box-decoration-break: clone; }
.testo .articolo-cifra { font-size: 1.15em; }
.testo .articolo-cifra strong { display: block; font-size: 2.4em; line-height: 1; font-weight: 900; letter-spacing: -0.03em; color: var(--blu); }
.testo table { width: 100%; border-collapse: collapse; font-size: 14px; }
.testo th, .testo td { padding: 8px 10px; border-bottom: 1px solid var(--filo); text-align: left; vertical-align: top; }
.testo thead th { background: var(--inchiostro); color: var(--bianco); font-size: 13px; }
.testo tr.totale td { background: var(--blu-chiaro); font-weight: 800; }
.testo td small { color: var(--testo-3); font-size: 12px; }
.testo .var { font-weight: 800; font-size: 13px; }
.testo .var--su { color: #1A8A4F; }
.testo .var--giu { color: #C0392B; }
.testo .wp-block-table { overflow-x: auto; margin: 16px 0; }
.testo figure.wp-block-image { margin: 20px 0; }
.testo figure.wp-block-image img { width: 100%; max-width: 560px; height: auto; border-radius:3px; border: 1px solid var(--filo); }
.testo figure.wp-block-image figcaption { font-size: 13px; color: var(--testo-3); margin-top: 6px; }
/* Campo comune che filtra mentre scrivi */
.cerca-c { position: relative; display: block; width: 100%; }
.cerca-c__lista { position: absolute; z-index: 40; left: 0; right: 0; top: calc(100% + 4px); margin: 0; padding: 6px; list-style: none; max-height: 300px; overflow: auto; background: var(--bianco); border: 1px solid var(--filo); border-radius:3px; box-shadow: 0 16px 36px rgba(14,17,32,.16); text-align: left; color: var(--inchiostro); }
.cerca-c__lista[hidden] { display: none; }
.cerca-c__lista li { display: flex; justify-content: space-between; gap: 10px; align-items: baseline; padding: 9px 12px; border-radius:3px; cursor: pointer; font-weight: 700; font-size: 15px; }
.cerca-c__lista li small { font-weight: 500; font-size: 12px; color: var(--testo-3); }
.cerca-c__lista li[aria-selected="true"], .cerca-c__lista li:hover { background: var(--blu-chiaro); }
.cerca-c__lista .cerca-c__nulla { cursor: default; color: var(--testo-3); font-weight: 500; }
.cerca-c__campo { width: 100%; }
.guide-cerca .cerca-c__lista { top: calc(100% + 6px); }

.livello__corpo > .facce { grid-column: 1 / -1; }

/* ---------- 2.6.0 Storico con bollino, Stretto evidenziato, fiocco ---------- */
.persone--compatte li.con-bollino { display: flex; align-items: center; gap: 10px; }
.volto--bollino { width: 34px; height: 34px; flex: none; border-radius:50%; object-fit: cover; font-size: 11px; }
.con-bollino__testo { display: grid; min-width: 0; }
.con-bollino > .volto-lutto { flex: none; }
.volto-lutto { position: relative; display: inline-flex; flex: none; }
.volto-lutto .fiocco { position: absolute; top: -2px; right: -4px; width: 32%; min-width: 11px; max-width: 26px; height: auto; filter: drop-shadow(0 1px 1px rgba(255,255,255,.8)); }
.membri li.membri--stretto { background: #FFF6D6; box-shadow: inset 0 0 0 2px var(--giallo); }
.membri-legenda { display: flex; align-items: center; gap: 8px; margin: 4px 0 12px; font-size: 13px; color: var(--testo-2); }
.membri-legenda__segno { width: 18px; height: 14px; border-radius:4px; background: #FFF6D6; box-shadow: inset 0 0 0 2px var(--giallo); }
/* Simulatore: testo leggibile nell'elenco dei comuni */
.sv-elenco li, .sv-elenco li[aria-selected="true"] { color: var(--inchiostro); }
/* Simulatore: su desktop la scheda in orizzontale, un candidato per colonna */
@media (min-width: 900px) {
	.sv-griglia { grid-template-columns: 1fr; }
	.sv-esito { position: static; display: grid; grid-template-columns: 1.4fr 1fr; gap: 14px; align-items: start; }
	.sv-riquadri { grid-template-columns: repeat(auto-fit, minmax(0, 1fr)); grid-auto-flow: column; align-items: stretch; }
	.sv-riquadro { display: flex; flex-direction: column; }
	.sv-liste { grid-template-columns: repeat(auto-fit, minmax(130px, 1fr)); flex: 1; }
	.sv-carta { padding: 16px; }
}

/* bollino nello storico (fix) */
.archivio-mandati .persone--compatte li.con-bollino { display: flex; align-items: center; gap: 10px; padding: 6px 0; }
.archivio-mandati .persone--compatte li.con-bollino .volto--bollino { width: 34px; height: 34px; font-size: 11px; }
.con-bollino__testo { display: flex; flex-direction: column; align-items: flex-start; min-width: 0; flex: 1; gap: 2px; }
.archivio-mandati .persone--compatte .con-bollino__testo > a { display: block; white-space: normal; font-size: 14px; line-height: 1.25; font-weight: 600; }
.archivio-mandati .persone--compatte .con-bollino__testo > span { display: block; text-align: left; font-size: 11.5px; line-height: 1.35; color: var(--testo-2); }
.persone li .con-bollino__testo span { text-align: left; }
.archivio-mandati .persone--compatte li > span.volto, .archivio-mandati .persone--compatte li > .volto-lutto { display: inline-flex; align-items: center; justify-content: center; margin: 0; text-align: center; font-size: 11px; color: var(--blu-scuro); }
.volto-lutto .fiocco { width: 46%; min-width: 14px; top: -4px; right: -6px; }

/* ---------- 2.7.0 Fine articolo pulita ---------- */
.fine { padding-top: 12px; padding-bottom: 8px; }
.fine__barra { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 14px 20px; padding: 14px 16px; border-radius:3px; background: var(--bianco); border: 1px solid var(--filo); }
.fine__autore { display: flex; align-items: center; gap: 12px; min-width: 0; flex: 1 1 320px; }
.fine__foto { flex: none; width: 52px; height: 52px; border-radius:50%; object-fit: cover; }
.fine__foto--ini { display: grid; place-items: center; background: var(--blu); color: var(--bianco); font-weight: 900; font-size: 18px; }
.fine__chi { display: grid; min-width: 0; line-height: 1.25; }
.fine__pre { font-size: 12px; color: var(--testo-3); }
.fine__chi strong { font-size: 17px; font-weight: 900; }
.fine__ruolo { font-size: 13px; color: var(--blu); font-weight: 600; }
.fine__azioni { display: flex; align-items: center; gap: 8px; }
.fine__btn { display: inline-flex; align-items: center; gap: 6px; height: 44px; padding: 0 16px; border: 1.5px solid var(--filo); border-radius:3px; background: var(--bianco); color: var(--inchiostro); font: inherit; font-size: 14px; font-weight: 800; text-decoration: none; cursor: pointer; }
.fine__btn:hover { border-color: var(--blu); color: var(--blu); }
.fine__btn--pieno { background: var(--inchiostro); border-color: var(--inchiostro); color: var(--bianco); }
.fine__btn--pieno:hover { background: var(--blu); border-color: var(--blu); color: var(--bianco); }
.fine__btn svg { width: 18px; height: 18px; }
.fine .segnala { margin: 10px 4px 0; font-size: 13px; }
/* Commenti piu sobri */
.commenti { padding-top: 22px; }
.commenti__h { font-size: 20px; margin-bottom: 12px; }
.commenti__h small { margin-left: 4px; font-size: 13px; font-weight: 500; color: var(--testo-3); letter-spacing: 0; }
.commenti__form { padding: 10px; border-radius:3px; align-items: center; }
.commenti__form .commento__volto { width: 36px; height: 36px; }
.commenti__campo textarea { min-height: 46px; height: 46px; padding: 12px 14px; border-radius:3px; transition: height .2s, border-radius .2s; }
.commenti__form:focus-within { align-items: flex-start; }
.commenti__form:focus-within textarea, .commenti__campo textarea:not(:placeholder-shown) { height: 110px; border-radius:3px; }
.commenti__invia { display: none; align-items: center; justify-content: space-between; gap: 10px; }
.commenti__form:focus-within .commenti__invia, .commenti__campo:has(textarea:not(:placeholder-shown)) .commenti__invia { display: flex; }
.commenti__invia small { font-size: 12px; color: var(--testo-3); }
.commenti__invito { padding: 14px 16px; }
/* Rubrica a tutta larghezza */
.stessa { padding-top: 26px; }
.segui--rubrica { position: relative; overflow: hidden; display: flex; align-items: center; gap: 16px; width: 100%; margin: 0 0 18px; padding: 18px 22px; border-radius:3px; background: radial-gradient(120% 160% at 100% 0%, #3D7BFF 0%, var(--blu) 50%, #0237B0 100%); color: var(--bianco); box-shadow: 0 12px 28px rgba(4,83,241,.22); transition: transform .2s; }
.segui--rubrica:hover { color: var(--bianco); transform: translateY(-2px); }
.segui--rubrica .segui__testo { display: grid; flex: 1; }
.segui--rubrica .segui__h { font-size: 20px; font-weight: 900; }
.segui--rubrica .segui__t { font-size: 14px; color: var(--blu-chiaro); }
.segui__freccia { flex: none; animation: f-freccia 1.6s ease-in-out infinite; }
@media (max-width: 560px) { .fine__azioni { width: 100%; } .fine__azioni > * { flex: 1; justify-content: center; } }

/* ---------- Comune: contatore dal voto ---------- */
.dal-voto { margin: 16px 0 4px; padding: 14px 16px; max-width: 520px; border-radius:3px; background: rgba(255,255,255,.12); border: 1px solid rgba(255,255,255,.22); backdrop-filter: blur(4px); }
.dal-voto[hidden] { display: none; }
.dal-voto__h { margin: 0 0 8px; font-size: 12px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; color: var(--blu-chiaro); }
.dal-voto__cifre { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; }
.dal-voto__cifre span { display: grid; justify-items: center; padding: 8px 4px; border-radius:3px; background: var(--bianco); color: var(--inchiostro); }
.dal-voto__cifre strong { font-size: 30px; line-height: 1; font-weight: 900; letter-spacing: -0.03em; color: var(--blu); font-variant-numeric: tabular-nums; }
.dal-voto__cifre small { margin-top: 3px; font-size: 12px; font-weight: 700; color: var(--testo-2); }
.dal-voto__barra { margin: 12px 0 6px; height: 8px; border-radius:4px; background: rgba(255,255,255,.25); overflow: hidden; }
.dal-voto__barra i { display: block; height: 100%; width: 0; border-radius:4px; background: var(--giallo); }
.dal-voto__nota { margin: 0; font-size: 12.5px; color: var(--blu-chiaro); }
/* Nastro del lutto: in basso a destra, sotto la foto */
.volto-lutto .fiocco { top: auto; bottom: -6px; right: -6px; width: 38%; min-width: 12px; max-width: 30px; height: auto; filter: drop-shadow(0 1px 2px rgba(0,0,0,.25)); }
.commenti__campo textarea { resize: none; overflow: hidden; line-height: 1.4; }
.commenti__form:focus-within textarea, .commenti__campo textarea:not(:placeholder-shown) { overflow: auto; resize: vertical; }

/* ---------- 2.8.0 Scheda persona: piu larga e piu curata ---------- */
.persona-testa { padding: 26px 0 26px; }
.persona-numeri { gap: 10px; }
.persona-numeri div { border-radius:3px; background: rgba(255,255,255,.12); border: 1px solid rgba(255,255,255,.18); padding: 12px 14px; }
.persona-numeri strong { font-size: 30px; }
.persona-corpo { display: grid; gap: 18px; padding-top: 22px; }
.persona-corpo > * { min-width: 0; }
.persona-dati-box .persona-dati { margin: 0; border-radius:3px; grid-template-columns: 1fr 1fr; gap: 14px; }
.persona-dati dt { font-size: 11px; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; color: var(--testo-3); }
.persona-dati dd { margin: 2px 0 0; font-size: 15px; font-weight: 600; }
.persona-principale .titoletto { margin-top: 0; }
.persona-note { display: grid; gap: 10px; align-content: start; }
.persona-note .riquadro { border-radius:3px; }
.persona-note .meta, .persona-note .segnala { margin: 0; }
/* Linea degli incarichi: card con il colore del livello */
.linea { margin-top: 12px; }
.linea__corpo { position: relative; padding: 14px 16px 14px 18px; border-radius:3px; border: 1px solid var(--filo); box-shadow: 0 4px 14px rgba(14,17,32,.04); overflow: hidden; }
.linea__corpo::before { content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 4px; background: var(--liv, var(--blu)); }
.linea__voce[data-liv="c"] { --liv: #0453F1; }
.linea__voce[data-liv="m"] { --liv: #0E8C94; }
.linea__voce[data-liv="r"] { --liv: #7A3FD1; }
.linea__voce[data-liv="parl"] { --liv: #C8323C; }
.linea__voce::before { background: var(--liv, var(--blu)); }
.linea__voce--oggi .linea__corpo { background: var(--bianco); box-shadow: 0 4px 14px rgba(14,17,32,.08); }
.linea__voce--oggi::before { background: var(--giallo); }
.linea__carica { font-size: 17px; font-weight: 900; letter-spacing: -0.01em; }
.linea__ente { font-size: 15px; font-weight: 600; }
.linea__ente a { color: var(--liv, var(--blu)); }
.linea__lista { margin-top: 6px; display: flex; align-items: center; gap: 6px; flex-wrap: wrap; }
.linea__corpo .meta { margin: 6px 0 0; font-size: 12.5px; }
.persona-legenda { display: flex; flex-wrap: wrap; gap: 6px 14px; margin: 0 0 4px; padding: 0; list-style: none; font-size: 12px; color: var(--testo-3); }
.persona-legenda li { display: inline-flex; align-items: center; gap: 6px; }
.persona-legenda i { width: 10px; height: 10px; border-radius:3px; background: var(--liv); }
@media (min-width: 720px) {
	.linea__voce { display: grid; grid-template-columns: 96px minmax(0, 1fr); column-gap: 14px; align-items: start; }
	.linea__anni { margin: 12px 0 0; justify-self: start; }
	.linea__voce::before { top: 16px; }
}
@media (min-width: 1000px) {
	.persona-corpo { grid-template-columns: minmax(0, 1fr) 340px; grid-template-areas: "principale dati" "principale note"; column-gap: 32px; align-items: start; }
	.persona-dati-box { grid-area: dati; position: sticky; top: 92px; }
	.persona-principale { grid-area: principale; }
	.persona-note { grid-area: note; }
	.persona-dati-box .persona-dati { grid-template-columns: 1fr; }
	.linea { max-width: none; }
}
@media (max-width: 719px) {
	.persona-testa__nome { font-size: 32px; }
	.persona-numeri strong { font-size: 24px; }
	.persona-dati-box .persona-dati { grid-template-columns: 1fr; }
	.linea__corpo { padding: 12px 14px 12px 16px; }
}
.persona-testa .persona-numeri { max-width: 760px; }
.persona-principale .linea, .pagina-larga .persona-principale .linea { max-width: none; columns: auto; }
/* In sintesi (scheda persona) */
.persona-dati-box { display: grid; gap: 14px; align-content: start; }
.sintesi { border-radius:3px; }
.sintesi__h { margin: 0 0 10px; font-size: 16px; font-weight: 900; }
.sintesi__cifre { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.sintesi__cifre div { padding: 10px 12px; border-radius:3px; background: var(--blu-chiaro); }
.sintesi__cifre strong { display: block; font-size: 26px; line-height: 1; font-weight: 900; color: var(--blu); letter-spacing: -0.02em; }
.sintesi__cifre span { font-size: 12px; color: var(--testo-2); }
.sintesi__ruoli { list-style: none; margin: 10px 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 6px; }
.sintesi__ruoli li { display: inline-flex; align-items: center; gap: 6px; padding: 4px 6px 4px 10px; border-radius:3px; background: var(--fondo); font-size: 12.5px; font-weight: 600; }
.sintesi__ruoli strong { min-width: 20px; padding: 1px 6px; border-radius:3px; background: var(--inchiostro); color: var(--bianco); font-size: 11px; text-align: center; }
.sintesi__sot { margin: 14px 0 6px; font-size: 11px; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; color: var(--testo-3); }
.sintesi__enti { list-style: none; margin: 0; padding: 0; display: grid; gap: 6px; }
.sintesi__enti li { display: grid; grid-template-columns: minmax(0, 1fr) 70px 22px; align-items: center; gap: 8px; font-size: 13px; }
.sintesi__enti li span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.sintesi__enti i { height: 6px; border-radius:3px; background: linear-gradient(90deg, var(--blu) var(--q), var(--filo) var(--q)); }
.sintesi__enti b { text-align: right; font-size: 12px; }
.sintesi__percorso { list-style: none; margin: 0; padding: 0 0 0 12px; border-left: 2px solid var(--filo); display: grid; gap: 6px; }
.sintesi__percorso li { position: relative; font-size: 13px; line-height: 1.3; }
.sintesi__percorso li::before { content: ""; position: absolute; left: -17px; top: 5px; width: 8px; height: 8px; border-radius:50%; background: var(--blu); }
.sintesi__percorso span { display: inline-block; min-width: 38px; margin-right: 6px; font-weight: 800; color: var(--blu); }
.sintesi__piede { margin: 14px 0 0; font-size: 12.5px; color: var(--testo-3); }
@media (min-width: 1000px) { .persona-dati-box { position: static; } }

/* 2.8.5 Il percorso in un colpo d'occhio */
.nastro { display: grid; grid-template-columns: repeat(var(--n), minmax(0, 1fr)); gap: 2px; margin-top: 4px; }
.nastro i { display: block; height: 30px; border-radius:3px; background: var(--fondo); box-shadow: inset 0 0 0 1px var(--filo); }
.nastro i[data-liv] { box-shadow: none; }
.nastro i[data-liv="c"] { background: #0453F1; }
.nastro i[data-liv="m"] { background: #0E8C94; }
.nastro i[data-liv="r"] { background: #7A3FD1; }
.nastro i[data-liv="parl"] { background: #C8323C; }
.nastro i:last-child { position: relative; }
.nastro__anni { display: flex; justify-content: space-between; margin-top: 4px; font-size: 11px; font-weight: 700; color: var(--testo-3); }
.nastro__tot { margin: 8px 0 0; font-size: 13px; color: var(--testo-2); }
.nastro__tot strong { font-size: 18px; font-weight: 900; color: var(--inchiostro); }
.fatti { list-style: none; margin: 14px 0 0; padding: 0; display: grid; gap: 0; }
.fatti li { display: grid; grid-template-columns: 78px minmax(0, 1fr); gap: 12px; align-items: baseline; padding: 10px 0; border-top: 1px solid var(--filo); }
.fatti strong { font-size: 19px; line-height: 1.1; font-weight: 900; letter-spacing: -0.02em; color: var(--blu); }
.fatti span { font-size: 13.5px; line-height: 1.4; color: var(--testo); }

/* 2.9.0 In Parlamento (attivita dai dati aperti di Camera e Senato) */
.in-parl { margin: 34px 0 0; }
.in-parl__intro { margin: -4px 0 14px; font-size: 14px; color: var(--testo-2); }
.in-parl__leg { margin: 0 0 14px; padding: 18px; border: 1px solid var(--filo); border-radius:3px; background: var(--bianco); box-shadow: 0 4px 14px rgba(14,17,32,.05); }
.in-parl__leg--prima { border-color: #0E1120; }
.in-parl__testa { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 10px; }
.in-parl__testa h3 { margin: 0; font-size: 18px; font-weight: 900; letter-spacing: -0.01em; }
.in-parl__ramo { padding: 3px 10px; border-radius:3px; font-size: 11px; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; color: var(--bianco); background: #0E1120; }
.in-parl__ramo--s { background: #7A1F2B; }
.in-parl__anni { margin-left: auto; font-size: 13px; font-weight: 700; color: var(--testo-3); }
.in-parl__gruppo { margin: 6px 0 0; font-size: 13.5px; color: var(--testo-2); }
.in-parl__pres { display: grid; grid-template-columns: 74px minmax(0, 1fr); gap: 14px; align-items: center; margin: 14px 0 0; padding: 12px; border-radius:3px; background: var(--fondo); }
.in-parl__anello { width: 74px; height: 74px; border-radius:50%; display: grid; place-items: center; background: conic-gradient(var(--blu) calc(var(--p) * 1%), var(--filo) 0); position: relative; }
.in-parl__anello::before { content: ""; position: absolute; inset: 9px; border-radius:50%; background: var(--fondo); }
.in-parl__anello strong { position: relative; font-size: 18px; font-weight: 900; }
.in-parl__pres-t { margin: 0; font-size: 15px; line-height: 1.35; }
.in-parl__nota { margin: 4px 0 0; font-size: 12px; color: var(--testo-3); }
.in-parl__num { list-style: none; margin: 14px 0 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(140px, 1fr)); gap: 8px; }
.in-parl__num li { padding: 10px 12px; border-radius:3px; border: 1px solid var(--filo); }
.in-parl__num strong { display: block; font-size: 24px; line-height: 1; font-weight: 900; color: var(--blu); letter-spacing: -0.02em; }
.in-parl__num span { display: block; margin-top: 4px; font-size: 12.5px; line-height: 1.3; color: var(--testo-2); }
.in-parl__risp { margin: 14px 0 0; font-size: 14px; }
.in-parl__barra { display: block; height: 8px; margin-bottom: 6px; border-radius:4px; background: linear-gradient(90deg, #13A36B var(--q), var(--filo) var(--q)); }
.in-parl__sot { margin: 16px 0 6px; font-size: 11px; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; color: var(--testo-3); }
.in-parl__dest, .in-parl__com { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 6px; }
.in-parl__dest li, .in-parl__com li { padding: 5px 10px; border-radius:3px; background: var(--fondo); font-size: 13px; line-height: 1.3; }
.in-parl__dest b { margin-left: 4px; padding: 0 6px; border-radius:3px; background: var(--inchiostro); color: var(--bianco); font-size: 11px; }
.in-parl__com span { font-weight: 800; color: var(--blu); }
.in-parl__elenco { margin: 0; padding: 0 0 0 18px; display: grid; gap: 6px; font-size: 13.5px; line-height: 1.4; }
.in-parl__elenco--ter li::marker { color: var(--giallo); }
.in-parl__det { margin: 14px 0 0; }
.in-parl__det summary { cursor: pointer; font-size: 14px; font-weight: 800; color: var(--blu); }
.in-parl__det .in-parl__elenco { margin-top: 8px; }
.in-parl__legge { display: inline-block; padding: 1px 7px; border-radius:3px; background: #E3F6EE; color: #0B7A4F; font-size: 11px; font-weight: 800; }
.in-parl__fonte { margin-top: 4px; }
@media (max-width: 600px) { .in-parl__leg { padding: 14px; } .in-parl__anni { margin-left: 0; width: 100%; } }

/* ---------- 2.10.0: pagina autore ---------- */
.autore-testa{background:var(--bianco);border-bottom:1px solid var(--filo);padding:24px 0 20px;}
.autore{display:flex;flex-direction:column;align-items:flex-start;gap:12px;}
.autore-testa .autore{margin:0;padding:0;border:0;border-radius:0;background:none;}
.autore__foto{flex:none;width:88px;height:88px;border-radius:50%;object-fit:cover;background:var(--fondo);}
.autore__foto--ini{display:inline-flex;align-items:center;justify-content:center;background:var(--blu);color:var(--bianco);font-size:30px;font-weight:800;}
.autore__chi{min-width:0;}
.autore__pre{margin:0 0 4px;font-size:12px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--blu);}
.autore__nome{margin:0;font-size:26px;line-height:1.1;font-weight:800;letter-spacing:-0.02em;color:var(--inchiostro);}
.autore__ruolo{margin:6px 0 0;font-size:15px;line-height:1.4;font-weight:600;color:var(--testo-2);}
.autore__bio{margin-top:16px;font-size:16px;line-height:1.6;color:var(--testo-2);}
.autore__bio p{margin:0 0 10px;}
.autore__bio p:last-child{margin-bottom:0;}
.autore__azioni{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:16px;}
.autore__azioni .chip{min-height:40px;padding:4px 16px;}
.autore__azioni .pillola{font-family:inherit;}
.autore__azioni .pillola svg{width:18px;height:18px;}
.autore__conta{margin:22px 0 10px;}
.nome-autore{color:inherit;text-decoration:none;border-bottom:1.5px solid var(--perfor);}
.nome-autore:hover{color:var(--blu);border-bottom-color:var(--blu);}
.fine__bio{margin-top:14px;padding:14px 16px;background:var(--fondo);border-radius:3px;font-size:14px;line-height:1.55;color:var(--testo-2);}
.fine__bio p{margin:0 0 8px;}
.fine__tutti{font-weight:800;text-decoration:none;color:var(--blu);}
.fine__tutti:hover{color:var(--blu-scuro);}
@media (min-width: 640px){
.autore{flex-direction:row;align-items:center;gap:20px;}
.autore__foto{width:112px;height:112px;}
.autore__foto--ini{font-size:36px;}
.autore__nome{font-size:32px;}
}

/* ---------- 2.11.0: testata, ricerca, indietro, porte ---------- */
.testata__barra{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:4px;padding-left:4px;padding-right:4px;}
.testata__lato{display:flex;align-items:center;gap:2px;min-width:0;}
.testata__lato--destra{justify-content:flex-end;gap:6px;}
.testata__logo{margin:0;justify-self:center;}
.sostieni-cuore{flex:none;width:40px;height:40px;border-radius:50%;background:var(--giallo);color:var(--inchiostro);display:inline-flex;align-items:center;justify-content:center;text-decoration:none;}
.sostieni-cuore:hover{color:var(--inchiostro);filter:brightness(.97);}
.sostieni-cuore svg{transform-origin:50% 60%;animation:eletto-battito 2.8s ease-in-out infinite;}
@keyframes eletto-battito{0%,55%,100%{transform:scale(1);}8%{transform:scale(1.2);}16%{transform:scale(1);}24%{transform:scale(1.12);}32%{transform:scale(1);}}
@media (prefers-reduced-motion: reduce){.sostieni-cuore svg{animation:none;}}
.binario__scorri{gap:22px;}
.binario a{position:relative;display:inline-flex;align-items:center;gap:6px;}
.binario a svg{flex:none;}
.binario a + a::before{content:"";position:absolute;left:-12px;top:50%;width:2px;height:16px;margin-top:-7px;border-radius:1px;background:var(--blu);opacity:.4;}
.torna{position:fixed;right:16px;bottom:calc(20px + env(safe-area-inset-bottom, 0px));z-index:45;width:48px;height:48px;border-radius:50%;background:var(--blu);color:var(--bianco);display:inline-flex;align-items:center;justify-content:center;text-decoration:none;border:2px solid var(--bianco);}
.torna:hover{background:var(--blu-scuro);color:var(--bianco);}
.porte{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding-top:16px;padding-bottom:6px;}
.porta{display:flex;flex-direction:column;align-items:center;gap:8px;padding:14px 4px 12px;background:var(--bianco);border:1px solid var(--filo);border-radius:3px;text-align:center;text-decoration:none;color:var(--inchiostro);}
.porta:hover{border-color:var(--blu);color:var(--inchiostro);}
.porta__ico{display:inline-flex;line-height:0;transition:transform .2s ease;}
.porta:hover .porta__ico{transform:rotate(8deg) scale(1.06);}
@media (prefers-reduced-motion: reduce){.porta__ico{transition:none;}.porta:hover .porta__ico{transform:none;}}
.porta__nome{font-size:13px;font-weight:800;line-height:1.2;}
.porta__testo{display:none;font-size:12px;line-height:1.35;color:var(--testo-3);}
html.cerca-aperta{overflow:hidden;}
.cerca{position:fixed;inset:0;z-index:70;}
.cerca[hidden]{display:none;}
.cerca__velo{position:absolute;inset:0;width:100%;border:0;background:rgba(14,17,32,.55);cursor:pointer;}
.cerca__pannello{position:relative;margin:0 auto;max-width:680px;max-height:88vh;display:flex;flex-direction:column;background:var(--bianco);border-radius:0 0 3px 3px;}
.cerca__riga{display:flex;align-items:center;gap:8px;padding:8px 6px 8px 16px;border-bottom:1px solid var(--filo);}
.cerca__riga > svg{flex:none;color:var(--blu);}
.cerca__riga input{flex:1;min-width:0;height:46px;border:0;outline:0;background:transparent;font:inherit;font-size:17px;color:var(--inchiostro);}
.cerca__riga input::-webkit-search-cancel-button{display:none;}
.cerca__esiti{overflow-y:auto;padding:4px 16px 18px;}
.cerca__aiuto{margin:14px 0;font-size:14px;line-height:1.5;color:var(--testo-3);}
.cerca__h{margin:16px 0 4px;font-size:12px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--blu);}
.cerca__voce{display:flex;align-items:center;gap:12px;padding:9px 0;border-bottom:1px solid var(--filo);text-decoration:none;color:var(--inchiostro);}
.cerca__voce:hover strong{color:var(--blu);}
.cerca__voce strong{display:block;font-size:15px;line-height:1.3;}
.cerca__voce small{display:block;font-size:13px;line-height:1.35;color:var(--testo-3);}
.cerca__ini{flex:none;width:36px;height:36px;border-radius:50%;background:var(--blu-chiaro);color:var(--blu);display:inline-flex;align-items:center;justify-content:center;font-size:13px;font-weight:800;}
.cerca__ini--comune{border-radius:3px;background:var(--blu);color:var(--bianco);font-size:12px;}
.cerca__ini--art{border-radius:3px;background:var(--fondo);color:var(--inchiostro);}
.admin-bar .cerca__pannello{margin-top:46px;}
.cerca__tutti{display:block;margin-top:14px;font-size:14px;font-weight:800;color:var(--blu);text-decoration:none;}
@media (min-width: 640px){
.porte{grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;padding-top:22px;}
.porta{padding:18px 10px 16px;}
.porta__nome{font-size:15px;}
.porta__testo{display:block;}
.cerca__pannello{margin-top:70px;border-radius:3px;}
.admin-bar .cerca__pannello{margin-top:100px;}
}
.home-ultimi__tutte{display:inline-flex;align-items:center;gap:6px;margin-top:14px;}

/* ---------- 2.13.0: firma in apertura, volti, articoli su telefono ---------- */
.apertura__firma{display:flex;align-items:center;gap:10px;}
.apertura__foto-link{line-height:0;flex:none;}
.apertura__foto{flex:none;width:32px;height:32px;border-radius:50%;object-fit:cover;background:var(--fondo);}
.apertura__firma .nome-autore{color:var(--inchiostro);font-weight:700;}
.volti-riga{padding:18px 0 6px;}
.volti-riga__testa{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:10px;}
.volti-riga__h{margin:0;font-size:12px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--blu);}
.volti-riga__tutti{font-size:13px;font-weight:800;color:var(--blu);text-decoration:none;}
.volti-riga__scorri{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x proximity;scrollbar-width:none;padding-bottom:6px;}
.volti-riga__scorri::-webkit-scrollbar{display:none;}
.volto-mini{flex:0 0 88px;scroll-snap-align:start;display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center;text-decoration:none;color:var(--inchiostro);}
.volto-mini__foto{width:72px;height:72px;border-radius:50%;object-fit:cover;object-position:50% 20%;background:var(--fondo);border:3px solid var(--bianco);outline:2px solid var(--blu-chiaro);}
.volto-mini:hover .volto-mini__foto{outline-color:var(--blu);}
.volto-mini__nome{font-size:12px;font-weight:800;line-height:1.2;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.volto-mini__ruolo{font-size:11px;line-height:1.25;color:var(--testo-3);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
@media (max-width: 639px){
.an-voce__carta{flex-direction:column;gap:10px;}
.an-voce__carta > .an-voce__img{order:2;width:100%;height:auto;aspect-ratio:16/9;object-fit:contain;}
.an-voce__carta > .an-voce__img--simbolo{display:none;}
}
@media (min-width: 640px){.volto-mini{flex-basis:104px;}.volto-mini__foto{width:84px;height:84px;}}

/* ---------- 2.14.2: giallo al passaggio del mouse ---------- */
.ico-timbro{color:var(--blu);}
.ico-timbro .t-fondo{fill:transparent;transition:fill .18s ease;}
.binario a:hover{color:var(--inchiostro);border-bottom-color:var(--giallo);}
.binario a:hover .ico-timbro,.porta:hover .ico-timbro{color:var(--inchiostro);}
.binario a:hover .ico-timbro .t-fondo,.porta:hover .ico-timbro .t-fondo{fill:var(--giallo);}
.binario a[aria-current="page"]:hover{border-bottom-color:var(--giallo);}
.porta:hover{border-color:var(--giallo);}
.menu__pannello a:not(.bottone):hover{color:var(--giallo);}

/* ---------- 2.15.0: footer chiaro, stile Eurostat ---------- */
.piede-n{background:#F3F6FD;border-top:1px solid var(--filo);color:var(--inchiostro);padding:34px 0 22px;margin-top:32px;}
.piede-n__riga{display:grid;grid-template-columns:minmax(0,1fr);gap:26px;}
.piede-n__riga--seconda{margin-top:30px;padding-top:30px;border-top:1px solid #C9D7F5;}
.piede-n__logo{display:inline-block;line-height:0;margin-bottom:12px;}
.piede-n__logo .logo{height:40px;width:auto;}
.piede-n__testo{margin:0 0 10px;font-size:15px;line-height:1.55;color:var(--testo-2);}
.piede-n__h{margin:0 0 10px;padding-bottom:10px;border-bottom:1px solid #C9D7F5;font-size:18px;font-weight:700;color:var(--inchiostro);}
.piede-n__link + .piede-n__h{margin-top:18px;}
.piede-n__link{list-style:none;margin:0;padding:0;display:grid;gap:8px;}
.piede-n__link a,.piede-n__bottone{font:inherit;font-size:15px;color:var(--blu);text-decoration:none;background:none;border:0;padding:0;cursor:pointer;text-align:left;}
.piede-n__link a:hover,.piede-n__bottone:hover{color:var(--blu-scuro);text-decoration:underline;text-underline-offset:3px;}
.piede-n__social{display:flex;flex-wrap:wrap;gap:10px;}
.piede-n__social a{width:44px;height:44px;border-radius:3px;background:var(--blu);color:var(--bianco);display:inline-flex;align-items:center;justify-content:center;--piede-icona-fondo:#0453F1;}
.piede-n__social a:hover{background:var(--giallo);color:var(--inchiostro);--piede-icona-fondo:#FFC93C;}
.piede-n__reghion{display:flex;align-items:center;gap:10px;margin:0 0 10px;font-size:15px;line-height:1.2;color:var(--inchiostro);}
.piede-n__reghion strong{display:block;font-size:17px;font-weight:800;}
.piede-n__marchio{flex:none;width:44px;height:44px;border-radius:3px;background:var(--inchiostro);color:var(--giallo);display:inline-flex;align-items:center;justify-content:center;font-size:22px;font-weight:900;}
.piede-n__firma{margin:30px 0 0;font-size:13px;color:var(--testo-3);}
@media (min-width: 760px){.piede-n__riga{grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;}}

/* ---------- 2.16.0: titoli più composti (peso 700, lettere meno strette, misure -12%) ---------- */
.titoletto{font-weight:700;letter-spacing:-0.01em;}
.apertura__titolo{font-weight:700;letter-spacing:-0.01em;font-size:32px;}
.trenta__h{font-weight:700;}
.voce__titolo{font-weight:700;}
.numero__cifra{font-weight:700;letter-spacing:-0.01em;}
.invito__h{font-weight:700;}
.rubrica-testa__nome{font-weight:700;letter-spacing:-0.01em;font-size:28px;}
.ultimo__titolo{font-weight:700;letter-spacing:-0.01em;}
.altre__h{font-weight:700;}
.articolo__titolo{font-weight:700;letter-spacing:-0.01em;font-size:30px;}
.articolo .testo > p:first-of-type::first-letter{font-weight:700;}
.testo h2{font-weight:700;letter-spacing:-0.01em;}
.segui__h{font-weight:700;}
.pagina-testa__titolo{font-weight:700;letter-spacing:-0.01em;font-size:30px;}
.sostieni__titolo{font-weight:700;letter-spacing:-0.01em;font-size:33px;}
.piano__prezzo span{font-weight:700;letter-spacing:-0.01em;}
.condividi__h{font-weight:700;}
.sezione-testa__titolo{font-weight:700;letter-spacing:-0.01em;font-size:26px;}
.scheda__titolo{font-weight:700;letter-spacing:-0.01em;font-size:48px;}
.casella__cerchio{font-weight:700;}
.ricevuta__nome{font-weight:700;letter-spacing:-0.01em;font-size:28px;}
.ricevuta__seggi strong{font-weight:700;}
.livello__nome{font-weight:700;letter-spacing:-0.01em;}
.due-sponde strong{font-weight:700;letter-spacing:-0.01em;}
.speciale-testa__anno{font-weight:700;letter-spacing:-0.01em;}
.speciale-blu__titolo{font-weight:700;letter-spacing:-0.01em;font-size:26px;}
.speciale-blu__numeri strong{font-weight:700;}
.sim-legenda em{font-weight:700;}
.due-citta__nome{font-weight:700;letter-spacing:-0.01em;}
.due-citta__cifra{font-weight:700;letter-spacing:-0.01em;}
.pro-cursori output{font-weight:700;}
.pro-esito__h{font-weight:700;}
.pro-numeri strong{font-weight:700;}
.sondaggio__domanda{font-weight:700;letter-spacing:-0.01em;}
.passo__n{font-weight:700;}
.santino__titolo{font-weight:700;}
.arrivo__titolo{font-weight:700;letter-spacing:-0.01em;font-size:42px;}
.arrivo__h{font-weight:700;}
.comune-testa__nome, .persona-testa__nome{font-weight:700;letter-spacing:-0.01em;font-size:35px;}
.persona-numeri strong{font-weight:700;}
.sindaco-box__nome{font-weight:700;letter-spacing:-0.01em;}
.lista-gruppo__nome{font-weight:700;}
.mandato__anni{font-weight:700;}
.linea__anni{font-weight:700;}
.carta-comune__sigla{font-weight:700;}
.carta-comune__nome{font-weight:700;}
.gruppo-comuni__titolo{font-weight:700;}
.gruppo-comuni__titolo span{font-weight:700;}
.contatore strong{font-weight:700;letter-spacing:-0.01em;}
.filtri__titolo{font-weight:700;}
.carta-persona__nome{font-weight:700;}
.mio-comune strong{font-weight:700;}
.istituzione strong{font-weight:700;}
.compleanni__h{font-weight:700;}
.carta-ente__nome{font-weight:700;}
.vetrina__nome{font-weight:700;}
.gruppi-liste .lista-gruppo__nome em{font-weight:700;}
.piede__titolo{font-weight:700;}
.tutti-amm__titolo{font-weight:700;letter-spacing:-0.01em;font-size:26px;}
.tutti-amm__cerca button{font-weight:700;}
.tutti-amm__cifra strong{font-weight:700;letter-spacing:-0.01em;}
.mecenate__titolo{font-weight:700;letter-spacing:-0.01em;}
.mecenate__prezzo strong{font-weight:700;letter-spacing:-0.01em;}
.mecenate__bottone{font-weight:700;}
.parl-carta__nome{font-weight:700;}
.ricevuta__timbro b{font-weight:700;}
.timbro-voto{font-weight:700;}
.rubriche-elenco__nome{font-weight:700;}
.rubriche-elenco__n{font-weight:700;}
.livello__sottotitolo{font-weight:700;}
.an-testa__titolo{font-weight:700;letter-spacing:-0.01em;font-size:33px;}
.an-numeri strong{font-weight:700;}
.an-mese__titolo{font-weight:700;letter-spacing:-0.01em;}
.an-voce__titolo{font-weight:700;}
.foglio-mod__titolo{font-weight:700;letter-spacing:-0.01em;}
.vetrina__invito--grande strong{font-weight:700;letter-spacing:-0.01em;}
.compleanni .compleanni__h{font-weight:700;}
.compleanni__volto--ini{font-weight:700;}
.citato-carta__ini{font-weight:700;}
.mio-c__nome{font-weight:700;letter-spacing:-0.01em;font-size:25px;}
.mio-c__num{font-weight:700;}
.nl-box__tit{font-weight:700;letter-spacing:-0.01em;}
.guida__titolo{font-weight:700;letter-spacing:-0.01em;}
.guida__valore{font-weight:700;}
.segui--si .segui__piu::before{font-weight:700;}
.form-avatar__foto, .scrivi-foto__anteprima{font-weight:700;}
.autore__n{font-weight:700;}
.commenti__h{font-weight:700;letter-spacing:-0.01em;}
.commento__volto--ini{font-weight:700;}
.passo__n{font-weight:700;}
.passo__h{font-weight:700;}
.f-torta-n{font-weight:700;}
.facile__h{font-weight:700;}
.facile__prova strong{font-weight:700;}
.sv-info__n{font-weight:700;letter-spacing:-0.01em;}
.sv-carta__testa span{font-weight:700;}
.sv-sindaco__n{font-weight:700;}
.sv-man__h{font-weight:700;}
.sv-verdetto__h{font-weight:700;letter-spacing:-0.01em;}
.sv-pref li::before{font-weight:700;}
.sv-mini{font-weight:700;}
.facile__h, .facile__occhio .facile__h, .facile__quiz .facile__h{font-weight:700;}
.facile__ico{font-weight:700;}
.facile__occhio li::before{font-weight:700;}
.prova-scheda strong{font-weight:700;letter-spacing:-0.01em;}
.prova-scheda__b{font-weight:700;}
.sv-testa__titolo{font-weight:700;letter-spacing:-0.01em;font-size:32px;}
.sv-come span{font-weight:700;}
.sv-come strong{font-weight:700;}
.testo .articolo-cifra strong{font-weight:700;letter-spacing:-0.01em;}
.fine__foto--ini{font-weight:700;}
.fine__chi strong{font-weight:700;}
.segui--rubrica .segui__h{font-weight:700;}
.dal-voto__h{font-weight:700;}
.dal-voto__cifre strong{font-weight:700;letter-spacing:-0.01em;}
.linea__carica{font-weight:700;}
.sintesi__h{font-weight:700;}
.sintesi__cifre strong{font-weight:700;letter-spacing:-0.01em;}
.nastro__tot strong{font-weight:700;}
.fatti strong{font-weight:700;letter-spacing:-0.01em;}
.in-parl__testa h3{font-weight:700;}
.in-parl__anello strong{font-weight:700;}
.in-parl__num strong{font-weight:700;letter-spacing:-0.01em;}
.autore__nome{font-weight:700;letter-spacing:-0.01em;}
.porta__nome{font-weight:700;}
.cerca__h{font-weight:700;}
.volti-riga__h{font-weight:700;}
.volto-mini__nome{font-weight:700;}
@media (min-width: 640px){
.apertura__titolo{font-size:40px;}
.articolo__titolo, .pagina-testa__titolo{font-size:39px;}
.rubrica-testa__nome{font-size:37px;}
.arrivo__titolo{font-size:63px;}
.sezione-testa__titolo{font-size:35px;}
.comune-testa__nome, .persona-testa__nome{font-size:46px;}
.autore__nome{font-size:28px;}
}
@media (min-width: 960px){
.apertura__titolo{font-size:49px;}
.ultimo__titolo{font-size:28px;}
.articolo__titolo{font-size:46px;}
.scheda__titolo{font-size:63px;}
}
@media (min-width: 720px){
.tutti-amm__titolo{font-size:32px;}
.mecenate__titolo{font-size:26px;}
}
@media (min-width: 700px){
.ultimo__titolo{font-size:25px;}
}
@media (min-width: 900px){
.an-testa__titolo{font-size:49px;}
.sv-testa__titolo{font-size:42px;}
}
@media (min-width: 760px){
.guida__titolo{font-size:26px;}
}
@media (max-width: 759px){
.sv-testa__titolo{font-size:28px;}
}
@media (max-width: 719px){
.persona-testa__nome{font-size:28px;}
}

/* ---------- 2.17.0: intestazione sobria, sezioni della home separate ---------- */
.testata__barra{display:flex;align-items:center;gap:2px;padding-left:var(--gutter);padding-right:6px;}
.testata__logo{margin:0 auto 0 0;justify-self:auto;}
.testata__azioni{display:flex;align-items:center;gap:0;}
.testata__azioni .icona{color:var(--inchiostro);border-radius:50%;}
.testata__azioni .icona:hover{background:var(--fondo);color:var(--blu);}
.testata__azioni .sostieni-cuore{width:44px;height:44px;background:transparent;}
.testata__azioni .sostieni-cuore:hover{background:var(--giallo);color:var(--inchiostro);filter:none;}
.testata__azioni .sostieni-cuore svg{animation:none;}
.home-h{margin:0 0 14px;font-size:12px;font-weight:800;letter-spacing:.07em;text-transform:uppercase;color:var(--blu);}
.home .principale > .home-banda,.home .principale > .volti-riga,.home .principale > .scheda,.home .principale > .home-griglia,.home .principale > .home-rubriche{border-top:1px solid var(--filo);}
.home-banda{padding:26px 0 28px;background:var(--fondo);}
.home-banda .porte{padding-top:0;padding-bottom:0;}
.home .principale > .volti-riga{background:var(--bianco);padding:26px 0 24px;}
.home .principale > .volti-riga .volti-riga__testa{margin-bottom:14px;}
.home .principale > .volti-riga .home-h{margin:0;}
.home .principale > .scheda{padding-top:30px;padding-bottom:32px;}
.home .principale > .home-griglia{max-width:none;padding-top:30px;padding-bottom:30px;background:var(--fondo);}
.home .principale > .home-rubriche{background:var(--bianco);padding-top:28px;padding-bottom:28px;}
.home .principale > .home-rubriche .titoletto{margin-bottom:14px;}
@media (min-width: 640px){.home-banda{padding:34px 0 36px;}.home .principale > .volti-riga{padding:32px 0 30px;}}

/* ---------- 2.18.0: barra a icone, home a fasce, footer compatto ---------- */
.binario__scorri{gap:0;font-size:11.5px;}
.binario a{flex:none;flex-direction:column;justify-content:center;gap:4px;min-width:78px;padding:9px 8px 6px;font-size:11.5px;font-weight:600;line-height:1.1;text-align:center;color:var(--testo-2);border-bottom:3px solid transparent;}
.binario a span{white-space:nowrap;}
.binario a + a::before{left:0;top:14px;width:1px;height:32px;margin-top:0;opacity:.22;}
.binario a[aria-current="page"]{color:var(--inchiostro);border-bottom-color:var(--blu);}
.binario a[aria-current="page"] .ico-timbro .t-fondo{fill:var(--blu-chiaro);}
.binario a:hover{border-bottom-color:var(--giallo);}
.home .principale > .hb{border-top:1px solid var(--filo);padding:26px 0 28px;}
.home .principale > .hb--bianca{background:var(--bianco);}
.home .principale > .hb--grigia{background:var(--fondo);}
.hb__testa{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:12px;}
.hb__testa .home-h{margin:0;}
.hb__tutti{flex:none;font-size:13px;font-weight:700;color:var(--blu);text-decoration:none;}
.hb__tutti:hover{color:var(--blu-scuro);text-decoration:underline;text-underline-offset:3px;}
.hb__griglia{display:grid;grid-template-columns:minmax(0,1fr);gap:26px;}
.hb .home-ultimi{border-top:1px solid var(--filo);}
.numero-hb{display:grid;gap:6px;padding:18px;border-radius:3px;background:var(--blu-chiaro);color:var(--inchiostro);text-decoration:none;}
a.numero-hb:hover{color:var(--inchiostro);outline:2px solid var(--blu);}
.numero-hb__cifra{font-size:46px;line-height:1;font-weight:700;color:var(--blu);font-variant-numeric:tabular-nums;}
.numero-hb__testo{font-size:16px;line-height:1.4;font-weight:600;}
.numero-hb__fonte{font-size:12px;line-height:1.4;color:var(--testo-3);}
.strumenti-hb{display:grid;grid-template-columns:minmax(0,1fr);border-top:1px solid var(--filo);}
.strumento-hb{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;column-gap:12px;padding:12px 0;border-bottom:1px solid var(--filo);text-decoration:none;color:var(--inchiostro);}
.strumento-hb::after{content:"→";grid-row:1 / span 2;grid-column:2;color:var(--blu);font-weight:700;}
.strumento-hb strong{font-size:16px;font-weight:700;}
.strumento-hb span{font-size:13px;color:var(--testo-3);}
.strumento-hb:hover strong{color:var(--blu);}
.home .principale > .home-rubriche .scaffale{margin-top:0;}
.hb__coppia{display:grid;grid-template-columns:minmax(0,1fr);gap:16px;}
.articolo__vetrina--fondo{margin-top:8px;margin-bottom:24px;}
.piede-c{background:#F3F6FD;border-top:1px solid var(--filo);padding:26px 0 20px;margin-top:0;color:var(--inchiostro);}
.piede-c__alto{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px;}
.piede-c__chi{display:flex;flex-wrap:wrap;align-items:center;gap:6px 14px;max-width:560px;}
.piede-c__logo{line-height:0;}
.piede-c__logo .logo{height:30px;width:auto;}
.piede-c__chi p{margin:0;font-size:14px;line-height:1.45;color:var(--testo-2);}
.piede-c__social{display:flex;flex-wrap:wrap;gap:8px;}
.piede-c__social a{width:38px;height:38px;border-radius:3px;background:var(--blu);color:var(--bianco);display:inline-flex;align-items:center;justify-content:center;--piede-icona-fondo:#0453F1;}
.piede-c__social a:hover{background:var(--giallo);color:var(--inchiostro);--piede-icona-fondo:#FFC93C;}
.piede-c__link{display:flex;flex-wrap:wrap;gap:6px 18px;margin-top:18px;padding-top:16px;border-top:1px solid #C9D7F5;}
.piede-c__link a{font-size:14px;font-weight:600;color:var(--blu);text-decoration:none;}
.piede-c__link a:hover{text-decoration:underline;text-underline-offset:3px;}
.piede-c__firma{margin:14px 0 0;font-size:13px;color:var(--testo-3);}
.piede-c__firma a{color:inherit;}
@media (min-width: 760px){
.hb__griglia{grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:40px;align-items:start;}
.strumenti-hb{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:32px;}
.hb__coppia{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;align-items:start;}
.home .principale > .hb{padding:34px 0 36px;}
}

/* 2.18.1: i cerchi dei volti non vengono tagliati dallo scorrimento */
.volti-riga__scorri{padding-top:6px;padding-bottom:10px;}
.volto-mini__foto{outline-offset:0;}

/* ---------- 2.20.0: barra istituzioni ovunque, contatori nelle istituzioni, filtri a scomparsa ---------- */
.istituzione[aria-current="page"]{border-color:var(--blu);background:var(--blu-chiaro);}
.istituzione[aria-current="page"] strong{color:var(--blu);}
.contatori--ente{margin-bottom:16px;}
.sezione-corpo > .istituzioni{margin:4px 0 18px;}
.cerca-filtri{display:flex;align-items:stretch;gap:8px;}
.cerca-filtri .campo{flex:1;min-width:0;margin:0;}
.filtri-btn{position:relative;flex:none;width:46px;min-height:44px;border:1px solid var(--filo);border-radius:3px;background:var(--bianco);color:var(--inchiostro);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;}
.filtri-btn:hover{border-color:var(--blu);color:var(--blu);}
.filtri-btn[aria-expanded="true"]{border-color:var(--blu);background:var(--blu-chiaro);color:var(--blu);}
.filtri-btn--attivo{color:var(--blu);border-color:var(--blu);}
.filtri-btn__n{position:absolute;top:-6px;right:-6px;min-width:18px;height:18px;padding:0 5px;border-radius:3px;background:var(--blu);color:var(--bianco);font-size:11px;font-weight:700;line-height:18px;text-align:center;}
.filtri-riga[hidden]{display:none !important;}
.cerca-filtri + .filtri-riga{margin-top:10px;}

/* ---------- 2.21.0: filtri a bottoni, contatori su due righe, Analisi compatta, scheda archivio in home ---------- */
.scelte-wrap{display:block;margin:0;}
.scelte__originale{position:absolute !important;width:1px !important;height:1px !important;opacity:0 !important;pointer-events:none !important;}
.filtri-riga:not([hidden]){display:grid !important;grid-template-columns:minmax(0,1fr) !important;gap:12px !important;}
.scelte{display:flex;flex-wrap:wrap;gap:6px;}
.scelte__nome{flex:0 0 100%;font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--testo-3);}
.scelta{min-height:38px;padding:7px 13px;border:1px solid var(--filo);border-radius:3px;background:var(--bianco);color:var(--inchiostro);font:inherit;font-size:14px;font-weight:600;line-height:1.2;cursor:pointer;}
.scelta:hover{border-color:var(--blu);color:var(--blu);}
.scelta[aria-pressed="true"]{background:var(--blu);border-color:var(--blu);color:var(--bianco);}
.cerca-filtri .tendina{flex:1;min-width:0;margin:0;}
@media (max-width: 639px){
.contatori{grid-template-columns:repeat(3,minmax(0,1fr)) !important;gap:6px !important;}
.contatori .contatore{padding:10px 9px !important;min-height:0 !important;}
.contatori .contatore strong{font-size:21px !important;line-height:1.05 !important;}
.contatori .contatore span{font-size:11.5px !important;line-height:1.25 !important;}
.contatori .contatore--archivio{grid-column:auto !important;}
.an-testa{padding-top:14px !important;padding-bottom:12px !important;}
.an-testa .occhiello{display:none;}
.an-testa__titolo{font-size:24px !important;margin:0 !important;}
.an-testa__titolo span{display:inline;}
.an-testa__desc{display:none;}
.an-numeri{display:flex !important;gap:14px !important;margin:8px 0 0 !important;}
.an-numeri > div{display:flex !important;align-items:baseline;gap:4px;padding:0 !important;background:none !important;border:0 !important;}
.an-numeri strong{font-size:16px !important;}
.an-numeri span{font-size:12px !important;}
.an-barre{height:44px !important;margin-top:10px !important;}
.an-barre__et{font-size:9px !important;}
}
.an-filtri .cerca-filtri{margin-bottom:10px;}
.an-filtri .an-cerca{flex:1;min-width:0;margin:0;}
.an-filtri .an-cerca input{width:100%;}
.an-filtri__chips[hidden]{display:none !important;}
.tutti-amm--link{display:grid;text-decoration:none;color:inherit;}
.tutti-amm--link:hover{color:inherit;}
.tutti-amm--link > span,.tutti-amm--link .tutti-amm__pre,.tutti-amm--link .tutti-amm__titolo,.tutti-amm--link .tutti-amm__desc,.tutti-amm--link .tutti-amm__cifra,.tutti-amm--link .tutti-amm__vai{display:block;}
.tutti-amm--link .tutti-amm__volti{display:flex;}
.tutti-amm--link:hover .tutti-amm__vai{text-decoration:underline;text-underline-offset:3px;}
.home .principale > .hb--archivio{padding-top:22px;padding-bottom:22px;}
.tutti-amm--link,.tutti-amm--link:hover{color:var(--bianco);}
.tutti-amm--link .tutti-amm__cifra > span{display:block;margin-top:2px;font-size:14px;font-weight:600;color:var(--bianco);}

/* ---------- 2.22.0: card degli amministratori, cuore Sostienici, apertura con data ---------- */
.carta-persona{position:relative;}
.carta-persona__link{position:relative;gap:4px !important;padding:22px 12px 14px !important;border-radius:3px;border:1px solid var(--filo);background:var(--bianco);overflow:hidden;transition:transform .18s ease,border-color .18s ease;}
.carta-persona__link:hover{border-color:var(--blu);}
.carta-persona .volto--carta{width:84px;height:84px;margin-bottom:8px;border:3px solid var(--bianco);outline:2px solid var(--blu-chiaro);outline-offset:0;}
.carta-persona__link:hover .volto--carta{outline-color:var(--blu);}
.carta-persona__nome{font-size:16px !important;font-weight:700 !important;line-height:1.2;color:var(--inchiostro);}
.carta-persona__ruolo{display:inline-block;max-width:100%;margin-top:4px;padding:3px 9px;border-radius:3px;background:var(--blu-chiaro);color:var(--blu) !important;font-size:12px !important;font-weight:700 !important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.carta-persona__ente{font-size:12.5px !important;color:var(--testo-2) !important;line-height:1.3;}
.carta-persona__partito,.carta-persona__nota{margin-top:auto;padding-top:8px;width:100%;border-top:1px solid var(--filo);font-size:11.5px;line-height:1.3;color:var(--testo-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.carta-persona__partito:empty{display:none;}
.carta-persona__stato{position:absolute;top:10px;left:10px;display:inline-flex;align-items:center;gap:5px;padding:2px 8px 2px 6px;border-radius:3px;background:#E7F6EC;color:#1E7A3C;font-size:10.5px;font-weight:700;letter-spacing:.02em;}
.carta-persona__stato::before{content:"";width:7px;height:7px;border-radius:50%;background:#22A04B;box-shadow:0 0 0 2px rgba(34,160,75,.2);}
.carta-persona--sindaco .carta-persona__link::before{content:"";position:absolute;top:0;left:0;right:0;height:5px;background:linear-gradient(90deg,#1E9E5A 0 33.33%,#FFFFFF 33.33% 66.66%,#E3342F 66.66% 100%);border-bottom:1px solid var(--filo);}
.carta-persona--sindaco .carta-persona__ruolo{background:#EAF6EE;color:#1E7A3C !important;}
.carta-persona--sindaco .volto--carta{outline:2px solid transparent;background-image:none;box-shadow:0 0 0 2px #1E9E5A,0 0 0 4px #FFFFFF,0 0 0 6px #E3342F;}
.testata__azioni .sostieni-cuore{width:auto !important;min-width:44px;padding:0 9px;gap:0;border-radius:3px;overflow:hidden;animation:eletto-sostieni 15s ease-in-out 4s infinite;}
.testata__azioni .sostieni-cuore svg.sostieni-cuore__icona{flex:none;animation:eletto-battito 2.6s ease-in-out infinite;transform-origin:50% 60%;}
.sostieni-cuore__testo{display:inline-block;max-width:0;opacity:0;overflow:hidden;white-space:nowrap;font-size:14px;font-weight:700;color:var(--inchiostro);animation:eletto-sostieni-testo 15s ease-in-out 4s infinite;}
.testata__azioni .sostieni-cuore:hover{background:var(--giallo);}
.testata__azioni .sostieni-cuore:hover .sostieni-cuore__testo{max-width:96px;opacity:1;margin-left:6px;}
@keyframes eletto-sostieni{0%,74%,100%{background:transparent;}78%,94%{background:var(--giallo);}}
@keyframes eletto-sostieni-testo{0%,74%,100%{max-width:0;opacity:0;margin-left:0;}78%,94%{max-width:96px;opacity:1;margin-left:6px;}}
@media (prefers-reduced-motion: reduce){.testata__azioni .sostieni-cuore,.testata__azioni .sostieni-cuore svg.sostieni-cuore__icona,.sostieni-cuore__testo{animation:none !important;}}
.apertura__rubrica--testo{font-size:13px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:var(--blu);}
.apertura__firma time{white-space:nowrap;}

/* ---------- 2.22.3: cuore rosso, barra istituzioni a soli loghi su cellulare, ruoli su due righe ---------- */
.testata__azioni .sostieni-cuore{animation:eletto-sostieni 30s ease-in-out 12s infinite;}
.sostieni-cuore__testo{color:#FFFFFF;animation:eletto-sostieni-testo 30s ease-in-out 12s infinite;}
.sostieni-cuore__icona path{animation:eletto-cuore-bianco 30s ease-in-out 12s infinite;}
.testata__azioni .sostieni-cuore:hover{background:#E3342F;}
.testata__azioni .sostieni-cuore:hover .sostieni-cuore__icona path{fill:#FFFFFF;}
@keyframes eletto-sostieni{0%,84%,100%{background:transparent;}87%,97%{background:#E3342F;}}
@keyframes eletto-sostieni-testo{0%,84%,100%{max-width:0;opacity:0;margin-left:0;}87%,97%{max-width:96px;opacity:1;margin-left:6px;}}
@keyframes eletto-cuore-bianco{0%,84%,100%{fill:#E3342F;}87%,97%{fill:#FFFFFF;}}
@media (prefers-reduced-motion: reduce){.sostieni-cuore__icona path{animation:none !important;}}
.carta-persona__ruolo{white-space:normal;line-height:1.25;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;}
@media (max-width: 719px){
 nav.istituzioni{display:flex;flex-wrap:nowrap;justify-content:safe center;gap:10px;padding:2px;overflow-x:auto;scrollbar-width:none;}
 nav.istituzioni::-webkit-scrollbar{display:none;}
 nav.istituzioni .istituzione{flex:none;width:56px;height:56px;min-width:0;padding:0;justify-content:center;align-items:center;border-radius:50%;gap:0;}
 nav.istituzioni .istituzione > span:not(.istituzione__doppio){position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;}
 nav.istituzioni .istituzione--parlamento{width:76px;border-radius:3px;}
 nav.istituzioni .istituzione__doppio{display:flex;gap:4px;}
 nav.istituzioni .istituzione[aria-current="page"]{box-shadow:0 0 0 2px var(--blu);}
}
@media (max-width: 719px){
 nav.istituzioni{gap:6px;}
 nav.istituzioni .istituzione{width:46px;height:46px;}
 nav.istituzioni .istituzione--parlamento{width:64px;}
 nav.istituzioni .istituzione img.emblema-ente,nav.istituzioni .istituzione > svg{width:30px;height:30px;}
 nav.istituzioni .istituzione__doppio img.emblema-ente{width:22px;height:22px;}
}

/* ---------- 2.23.0: card senza scritte superflue, 3 per riga, banner a tutta larghezza, filtri divisi ---------- */
.carta-persona__stato{top:12px;left:auto;right:12px;width:12px;height:12px;padding:0;border-radius:50%;background:#22A04B;box-shadow:0 0 0 3px #FFFFFF,0 0 0 4px rgba(34,160,75,.35);}
.carta-persona__stato::before{display:none;}
.carta-persona--sindaco .carta-persona__link::before{display:none;}
.carta-persona__link{padding:18px 12px 0 !important;}
.carta-persona .volto--carta{outline-width:3px;}
.carta-persona--sindaco .volto--carta{box-shadow:0 0 0 3px #1E9E5A,0 0 0 5px #FFFFFF,0 0 0 8px #E3342F;margin-top:4px;margin-bottom:12px;}
.carta-persona__ruolo,.carta-persona--sindaco .carta-persona__ruolo{display:flex;align-items:center;justify-content:center;align-self:stretch;max-width:none;margin:8px -12px 0;padding:8px 8px;min-height:40px;border-radius:0;background:var(--blu-chiaro);color:var(--blu) !important;text-align:center;-webkit-line-clamp:unset;}
.carta-persona__ente{order:5;padding:8px 0 12px;}
.carta-persona__partito{order:6;}
.carta-persona__partito:empty{display:none !important;}
.carta-persona__partito:not(:empty){margin-top:-6px;padding:0 0 12px;border-top:0;}
@media (max-width: 639px){
 .carte-persone,.carte-persone--sei{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;}
 .carte-persone .carta-persona__link{padding:16px 6px 0 !important;border-radius:3px;}
 .carte-persone .volto--carta{width:62px;height:62px;margin-bottom:8px;font-size:18px;}
 .carte-persone .carta-persona--sindaco .volto--carta{margin-bottom:10px;}
 .carte-persone .carta-persona__nome{font-size:13px !important;line-height:1.2;}
 .carte-persone .carta-persona__ruolo{margin:6px -6px 0;padding:6px 4px;min-height:34px;font-size:10.5px !important;line-height:1.2;}
 .carte-persone .carta-persona__ente{font-size:11px !important;padding:6px 0 10px;}
 .carte-persone .carta-persona__partito:not(:empty){font-size:10.5px;padding-bottom:10px;}
 .carte-persone .carta-persona__stato{top:8px;right:8px;width:10px;height:10px;}
 .home .principale > .hb--archivio{padding:0 !important;border-top:0 !important;}
 .home .principale > .hb--archivio > .contenitore{padding-left:0;padding-right:0;max-width:none;}
 .tutti-amm--home{margin:0;border-radius:0;}
 .home .principale > .volti-riga{padding-bottom:16px !important;}
}
.tutti-amm--home .tutti-amm__titolo a{color:inherit;text-decoration:none;}
.scelte-wrap + .scelte-wrap,.filtri-riga > * + *{border-top:1px solid var(--filo);padding-top:12px;margin-top:12px;}
.carta-persona .carta-persona__ruolo{width:calc(100% + 24px) !important;max-width:none !important;box-sizing:border-box;}
@media (max-width: 639px){.carte-persone .carta-persona__ruolo{width:calc(100% + 12px) !important;}}
@media (max-width: 719px){nav.istituzioni .istituzione:not([aria-current]){border-color:var(--filo);background:var(--bianco);}}
[data-pris] .carta-persona__partito{display:none !important;}

/* ---------- 2.24.0: tutte le card come quelle dei consiglieri regionali (foto con simbolo, nome blu, filetto sotto) ---------- */
.carte-persone .carta-persona{position:relative;background:#F6F8FC;border-radius:3px;border-bottom:3px solid var(--blu);box-shadow:none;}
.carte-persone .carta-persona__link{position:relative;display:flex;flex-direction:column;align-items:center;gap:4px !important;height:100%;padding:12px 6px 12px !important;border:0 !important;border-radius:3px;background:transparent !important;box-shadow:none !important;overflow:visible;text-align:center;transition:background .15s,transform .15s;}
.carte-persone a.carta-persona__link:hover{background:#EEF3FF !important;transform:translateY(-2px);}
.carte-persone .carta-persona__link::before,.carte-persone .carta-persona__link::after{display:none !important;}
.carte-persone .carta-persona--stretto{background:#FFF6D6;box-shadow:inset 0 0 0 2px var(--giallo);border-bottom-color:var(--giallo);}
.carta-persona__foto{position:relative;display:block;margin-bottom:4px;}
.carte-persone .volto--carta,.carte-persone .carta-persona--sindaco .volto--carta{width:64px;height:64px;margin:0 !important;outline:0 !important;border:0 !important;box-shadow:none !important;font-size:18px;}
.carta-persona__simbolo{position:absolute;right:-6px;bottom:-4px;width:24px;height:24px;object-fit:contain;background:#fff;border-radius:50%;box-shadow:0 0 0 2px #fff;}
.carte-persone .carta-persona__nome{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:2.4em;font-size:13.5px !important;line-height:1.2;font-weight:700 !important;color:var(--blu);text-align:center;}
.carte-persone .carta-persona__ruolo,.carte-persone .carta-persona--sindaco .carta-persona__ruolo,.carte-persone .carta-persona__ente{display:block;order:0;width:auto !important;max-width:100% !important;min-height:0;margin:0 !important;padding:0 !important;border-radius:0;background:none !important;color:var(--testo-2) !important;font-size:11px !important;font-weight:400 !important;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;-webkit-line-clamp:unset;}
.carte-persone .carta-persona__partito{display:none !important;}
.carte-persone .carta-persona__stato{top:8px;right:8px;}
@media (max-width: 639px){
 .carte-persone,.carte-persone--sei{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;}
 .carte-persone .volto--carta,.carte-persone .carta-persona--sindaco .volto--carta{width:56px;height:56px;}
 .carte-persone .carta-persona__nome{font-size:13px !important;}
}

/* ---------- 2.24.1: testata di Analisi a metà strada (meno compatta della 2.21) ---------- */
.an-testa{padding-top:22px !important;padding-bottom:18px !important;}
.an-testa .occhiello{display:block;margin-bottom:4px;}
.an-testa__titolo{font-size:30px !important;margin:0 0 6px !important;}
.an-testa__desc{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin:0 !important;font-size:15px;line-height:1.4;}
.an-numeri{gap:18px !important;margin:12px 0 0 !important;}
.an-numeri strong{font-size:20px !important;}
.an-numeri span{font-size:13px !important;}
.an-barre{height:60px !important;margin-top:12px !important;}
.an-barre__et{font-size:10px !important;}

/* ---------- 2.24.3: card su riquadro bianco come i consiglieri regionali; comuni 3 per riga ---------- */
.carte-persone[data-risultati],.carte-persone[data-pris],.carte-comuni{background:var(--bianco);border:1px solid var(--filo);border-radius:3px;padding:12px;}
.carte-comuni .carta-comune{background:#F6F8FC;border-radius:3px;border-bottom:3px solid var(--blu);box-shadow:none;}
.carte-comuni .carta-comune__link{display:flex;flex-direction:column;align-items:center;gap:4px;height:100%;padding:12px 6px !important;border:0 !important;border-radius:3px;background:transparent !important;box-shadow:none !important;text-align:center;transition:background .15s,transform .15s;}
.carte-comuni a.carta-comune__link:hover{background:#EEF3FF !important;transform:translateY(-2px);}
.carte-comuni .carta-comune__stemma{width:60px;height:60px;margin:0 0 4px;padding:0;border:0 !important;background:transparent !important;box-shadow:none !important;}
.carte-comuni .carta-comune__stemma img{width:100%;height:100%;object-fit:contain;}
.carte-comuni .carta-comune__nome{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:13.5px !important;line-height:1.2;font-weight:700 !important;color:var(--blu);}
.carte-comuni .carta-comune__chi{display:block;max-width:100%;font-size:11px !important;line-height:1.3;color:var(--testo-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.carte-comuni .carta-comune__tag > *:not(.nascosto){font-size:10px !important;padding:2px 7px !important;}
@media (max-width: 639px){
 .carte-persone[data-risultati],.carte-persone[data-pris],.carte-comuni{padding:8px;}
 .carte-comuni{grid-template-columns:repeat(3,minmax(0,1fr)) !important;gap:6px !important;}
 .carte-comuni .carta-comune__stemma{width:50px;height:50px;}
 .carte-comuni .carta-comune__nome{font-size:12.5px !important;}
}

/* ---------- 2.24.4: Istituzioni, Senato e Camera in blu come le altre (niente nero) ---------- */
.carta-ente--parlamento{border-top-color:var(--blu) !important;}
.carta-ente--parlamento .carta-ente__vai{background:var(--blu) !important;color:#FFFFFF !important;}
.carta-ente--parlamento:hover .carta-ente__vai,.carta-ente--parlamento .carta-ente__vai:hover{background:#0340C0 !important;}

/* ---------- 2.24.6: sindaci in carica riconoscibili: filetto tricolore sotto la card e ruolo in grassetto ---------- */
.carte-persone .carta-persona--sindaco{border-bottom:0;overflow:hidden;}
.carte-persone .carta-persona--sindaco::after{content:"";position:absolute;left:0;right:0;bottom:0;height:5px;background:linear-gradient(90deg,#1E9E5A 0 33.33%,#FFFFFF 33.33% 66.66%,#E3342F 66.66% 100%);box-shadow:0 -1px 0 rgba(14,17,32,.08);}
.carte-persone .carta-persona--sindaco .carta-persona__link{padding-bottom:16px !important;}
.carte-persone .carta-persona--sindaco .carta-persona__ruolo{font-weight:700 !important;color:var(--inchiostro) !important;}
.cerca__ini--foto{object-fit:cover;padding:0;border-radius:50%;}

/* ---------- 2.25.1: sindaci, segno discreto: piccola bandierina tricolore accanto a "Sindaco" (via il filetto tricolore) ---------- */
.carte-persone .carta-persona--sindaco{border-bottom:3px solid var(--blu);}
.carte-persone .carta-persona--sindaco::after{display:none !important;}
.carte-persone .carta-persona--sindaco .carta-persona__link{padding-bottom:12px !important;}
.carte-persone .carta-persona--sindaco .carta-persona__ruolo{font-weight:600 !important;color:var(--testo-2) !important;}
.carte-persone .carta-persona--sindaco .carta-persona__ruolo::before{content:"";display:inline-block;width:12px;height:8px;margin:-2px 5px 0 0;vertical-align:middle;border-radius:1px;background:linear-gradient(90deg,#1E9E5A 0 33.33%,#FFFFFF 33.33% 66.66%,#E3342F 66.66% 100%);box-shadow:0 0 0 1px rgba(14,17,32,.18);}


/* 2.27.0 - rubriche: logo dalle copertine, altre rubriche in griglia, speciale in home */
.logo-rubrica { display: inline-block; flex: none; border-radius:50%; background-color: var(--bianco); background-repeat: no-repeat; background-size: 360% auto; background-position: 50.4% 15.9%; box-shadow: inset 0 0 0 1px rgba(14, 17, 32, .08); }
.altre__griglia { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.altre__griglia li { min-width: 0; }
.altre__voce { display: flex; align-items: center; gap: 10px; height: 100%; min-height: 62px; padding: 10px 12px; background: var(--bianco); border: 1px solid var(--filo); border-radius:3px; color: var(--inchiostro); text-decoration: none; }
.altre__voce:hover { border-color: var(--blu); color: var(--inchiostro); }
.altre__testo { min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.altre__nome { font-size: 14px; font-weight: 800; line-height: 1.2; overflow: hidden; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
.altre__n { font-size: 12px; color: var(--testo-3); }
@media (min-width: 760px) { .altre__griglia { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.le-home-speciale .le-evidenza { margin: 0; }


/* 2.28.0 - menu in stile Il Post: pannello bianco, gruppi con icona, voci su due colonne */
.menu__pannello { width: min(440px, 100%); background: var(--bianco); color: var(--inchiostro); padding: 6px 20px 32px; box-shadow: -8px 0 30px rgba(14, 17, 32, .18); }
.menu__testa .logo { height: 26px; }
.menu__chiudi { width: 44px; height: 44px; margin-right: -10px; display: grid; place-items: center; border: 0; background: none; color: var(--inchiostro); cursor: pointer; }
.menu__cerca { position: relative; margin: 4px 0 6px; }
.menu__cerca input { height: 44px; margin: 0; padding: 0 38px 0 2px; border: 0; border-bottom: 1px solid var(--inchiostro); border-radius:0; background: transparent; font-size: 16px; color: var(--inchiostro); }
.menu__cerca input:focus { outline: none; border-bottom: 2px solid var(--blu); }
.menu__cerca button { position: absolute; top: 0; right: 0; width: 38px; height: 44px; display: grid; place-items: center; border: 0; background: none; color: var(--inchiostro); cursor: pointer; }
.mv { padding: 16px 0; border-bottom: 1px solid #C9CDD6; }
.mv--riga { padding: 14px 0; }
.mv:last-child { border-bottom: 0; }
.mv__testa { display: flex; align-items: center; gap: 14px; min-height: 26px; margin: 0; color: var(--inchiostro); text-decoration: none; font-size: 13px; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; }
a.mv__testa:hover { color: var(--blu); }
.mv__testa svg { flex: none; width: 22px; height: 22px; }
.mv__testa--cuore svg { color: #E0303B; }
.mv__sotto { list-style: none; margin: 10px 0 0 36px; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 18px; }
.mv__sotto li { min-width: 0; }
.mv__sotto a { display: block; padding: 6px 0; font-size: 14px; line-height: 1.3; color: var(--inchiostro); text-decoration: none; }
.mv__sotto a:hover { color: var(--blu); text-decoration: underline; }
.mv__sotto em { font-style: normal; font-size: 11px; color: var(--testo-3); }

.admin-bar .menu__pannello { top: 32px; }
@media (max-width: 782px) { .admin-bar .menu__pannello { top: 46px; } }

/* 2.29.0 - loghi rubriche caricati come file */
.logo-rubrica--file { background: none; object-fit: cover; box-shadow: none; }

/* 2.31.0 - Condividi in cima a tutte le pagine, sotto titolo e descrizione */
.testa-azioni { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-top: 14px; }
.testa-azioni .pillola { display: inline-flex; align-items: center; gap: 8px; height: 40px; min-height: 40px; margin: 0; padding: 0 16px; border-radius:3px; font-family: inherit; font-size: 14px; line-height: 1; box-sizing: border-box; cursor: pointer; }
.testa-azioni .pillola svg { width: 18px; height: 18px; }
.pagina-condividi { display: none; }
