/**
 * Veste grafica "Europa": blu passaporto, stelle e piccoli dettagli gialli.
 * Titoli grandi e leggeri, sezioni che si chiudono con angoli ampi, fasce
 * blu scure alternate al bianco, elenchi a righe con freccia.
 * Si carica per ultimo: per tornare alla veste precedente basta non caricarlo.
 */

:root {
	--pc-font-body: "Titillium Web", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
	--pc-weight-medium: 600;
	--pc-weight-bold: 600;
	--pc-color-ink: #17273d;
	--pc-color-ink-muted: #4c5b70;
	--pc-color-ink-faint: #5a6a80;
	--pc-color-header-bg: #123d78;
	--pc-color-notte: #0a2550;
	--pc-color-velo: #eef3fa;
	--pc-color-riga: #9db3d1;
	--pc-color-star: #f6c945;
	--pc-color-footer-bg: #0a2550;
	--pc-color-footer-deep: #071b3c;
	--pc-radius: 4px;
	--pc-radius-lg: 12px;
	--pc-curva: clamp(1.5rem, 1rem + 2.2vw, 2.75rem);
	--pc-text-base: 1.0625rem;
	--pc-text-small: .9375rem;
	--pc-text-micro: .8125rem;
	--pc-text-lead: 1.25rem;
	--pc-tracking-tight: 0;
}

body { font-size: var(--pc-text-base); line-height: 1.6; -webkit-font-smoothing: antialiased; }
h1, h2, h3, h4 { letter-spacing: 0; }

/* ---- Collegamenti d'azione: piccoli, maiuscoli, con freccia ------------ */
.azione-secondaria { font-size: .875rem; font-weight: 700; letter-spacing: .03em; text-transform: uppercase; text-decoration: none; }
.azione-secondaria:hover { text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: .3em; }

/* ---- Pulsanti ---------------------------------------------------------- */
.bottone { font-weight: 700; border-radius: var(--pc-radius); letter-spacing: .01em; }
.bottone--primario { background: var(--pc-color-header-bg); }
.bottone--primario:hover { background: var(--pc-color-notte); }

/* ---- Testata ----------------------------------------------------------- */
.testata__fascia { background: var(--pc-color-notte); }
.testata__garanzie { font-size: .875rem; }
.testata__link-pratica span { font-size: .875rem; font-weight: 600; }
.marchio__nome { font-size: 1.6rem; font-weight: 600; letter-spacing: 0; }
.marchio__qualifica { font-size: .875rem; }
.navigazione__elenco { font-size: 1.0625rem; font-weight: 600; }
a.bottone-verifica { font-size: 1rem; font-weight: 700; border-radius: var(--pc-radius); }
.menu-mobile__attivatore { border-radius: var(--pc-radius); }

/* ---- Home: apertura ---------------------------------------------------- */
.pc-home-page { background: var(--pc-color-notte); }
.pc-home-page .principale > section { position: relative; border: 0; border-radius: 0 0 var(--pc-curva) var(--pc-curva); }
.pc-home-page .principale > section + section { margin-top: calc(var(--pc-curva) * -1); padding-top: calc(clamp(3rem, 2.25rem + 2.5vw, 5rem) + var(--pc-curva)); }
.pc-home-page .principale > section:nth-of-type(1) { z-index: 6; }
.pc-home-page .principale > section:nth-of-type(2) { z-index: 5; }
.pc-home-page .principale > section:nth-of-type(3) { z-index: 4; }
.pc-home-page .principale > section:nth-of-type(4) { z-index: 3; }
.pc-home-page .principale > section:nth-of-type(5) { z-index: 2; }
.pc-home-page .principale > section:nth-of-type(6) { z-index: 1; }
.pc-home-page .chiusura { margin-top: calc(var(--pc-curva) * -1); padding-top: calc(4rem + var(--pc-curva)); }

.sportello { overflow: hidden; isolation: isolate; padding-block: clamp(3rem, 2rem + 4vw, 5.5rem) clamp(2.75rem, 2rem + 3vw, 4.5rem); }
.sportello::before, .sportello::after { content: ""; position: absolute; z-index: -1; border-radius: 50%; pointer-events: none; }
.sportello::before { width: clamp(22rem, 46vw, 44rem); aspect-ratio: 1; right: clamp(-12rem, -9vw, -5rem); top: clamp(-16rem, -12vw, -8rem); background: var(--pc-color-notte); }
.sportello::after { width: clamp(13rem, 24vw, 23rem); aspect-ratio: 1; right: clamp(1rem, 4vw, 4.5rem); top: clamp(5rem, 9vw, 9rem); border: 2px solid var(--pc-color-star); opacity: .85; }
.sportello__titolo { max-width: 17ch; font-size: clamp(2.4rem, 1.4rem + 4vw, 4.6rem); font-weight: 400; line-height: 1.12; letter-spacing: 0; }
.sportello__titolo-ambito { margin-bottom: .75rem; font-size: 1.125rem; font-weight: 600; color: rgba(255, 255, 255, .8); }
.sportello__testo { max-width: 52ch; font-size: clamp(1.125rem, 1rem + .5vw, 1.35rem); line-height: 1.5; color: rgba(255, 255, 255, .9); }
.ingresso { border-radius: var(--pc-radius-lg); }
.ingresso h2 { font-size: 1.6rem; font-weight: 600; letter-spacing: 0; }
.ingresso p { font-size: 1.0625rem; }
.ingresso--nuova { box-shadow: 0 20px 44px -30px rgb(3 14 36 / .8); }
.ingresso--avviata { background: var(--pc-color-notte); border-color: rgba(255, 255, 255, .2); }
.ingresso--avviata .bottone--contorno { border-color: #fff; }
.ingresso__link { font-size: .9375rem; font-weight: 600; }
.sportello__nota { font-size: .875rem; color: rgba(255, 255, 255, .72); }

/* ---- Home: titoli di sezione ------------------------------------------- */
.scheda-servizio__testa h2, .iter__testa h2, .domande__testa h2, .libretto-sezione__testo h2 { font-size: clamp(2rem, 1.4rem + 2.2vw, 3rem); font-weight: 400; line-height: 1.18; letter-spacing: 0; max-width: 18ch; }
.libretto-sezione__testo h2 { max-width: 22ch; }
.scheda-servizio__testa p, .iter__testa p, .domande__testa p { font-size: 1.125rem; }

/* ---- Home: cosa comprende (righe) -------------------------------------- */
.scheda-servizio { background: var(--pc-color-paper); }
.scheda-servizio__tabella { border-top: 1px solid var(--pc-color-riga); }
.scheda-servizio__tabella th, .scheda-servizio__tabella td { border-bottom-color: var(--pc-color-riga); padding-block: 1.25rem; }
.scheda-servizio__tabella th { font-size: 1.1875rem; font-weight: 600; }
.scheda-servizio__tabella td { color: var(--pc-color-ink-muted); }

/* ---- Home: iter su fascia blu notte ------------------------------------ */
.iter { background: var(--pc-color-notte); color: #fff; overflow: hidden; isolation: isolate; }
.iter::after { content: ""; position: absolute; z-index: -1; width: clamp(14rem, 26vw, 24rem); aspect-ratio: 1; right: -9rem; bottom: -13rem; border-radius: 50%; background: var(--pc-color-header-bg); }
.iter__testa h2 { color: #fff; }
.iter__testa p { color: rgba(255, 255, 255, .84); }
.iter__colonne { border-top-color: rgba(255, 255, 255, .3); }
.iter__colonne > div + div { border-left-color: rgba(255, 255, 255, .3); }
.iter__colonne > div::before { color: var(--pc-color-star); font-size: .9375rem; font-weight: 700; }
.iter__colonne h3 { color: #fff; font-size: 1.5rem; font-weight: 600; letter-spacing: 0; }
.iter__colonne p { color: rgba(255, 255, 255, .86); }
.iter .azione-secondaria { color: #fff; }

/* ---- Home: domande ----------------------------------------------------- */
.domande { background: var(--pc-color-paper); }
.domande__elenco { border-top: 1px solid var(--pc-color-riga); }
.domande__voce { border-bottom-color: var(--pc-color-riga); padding-block: 1.5rem; }
.domande__voce dt { font-size: 1.3125rem; font-weight: 600; line-height: 1.3; }
.domande__voce dd { color: var(--pc-color-ink-muted); }

/* ---- Home: ultime news con immagine ------------------------------------ */
.ultime-news { background: var(--pc-color-velo); }
.ultime-news__testa { align-items: center; margin-bottom: 2rem; }
.ultime-news__testa h2 { font-size: clamp(2rem, 1.4rem + 2.2vw, 3rem); font-weight: 400; letter-spacing: 0; }
.ultime-news__elenco { gap: 1.5rem; }
.ultime-news__voce a { display: flex; flex-direction: column; gap: 0; align-items: stretch; height: 100%; }
.ultime-news__foto { display: block; }
.ultime-news__foto img { width: 100%; height: auto; aspect-ratio: 16 / 10; border-radius: var(--pc-radius-lg); }
.ultime-news__testo { padding: 1rem .25rem 0; gap: .4rem; }
.ultime-news__testo time { font-size: .875rem; }
.ultime-news__testo strong { font-size: 1.3125rem; font-weight: 600; line-height: 1.3; -webkit-line-clamp: 3; }
.ultime-news__voce a:hover strong { text-decoration-thickness: 2px; text-underline-offset: .2em; }

/* ---- Home: libretto ---------------------------------------------------- */
.libretto-sezione { background: var(--pc-color-paper); }
.libretto-sezione__testo p { font-size: 1.125rem; color: var(--pc-color-ink-muted); }

/* ---- Chiusura ---------------------------------------------------------- */
.chiusura { position: relative; overflow: hidden; isolation: isolate; background: var(--pc-color-footer-bg); }
.chiusura::before, .chiusura::after { content: ""; position: absolute; z-index: -1; border-radius: 50%; pointer-events: none; }
.chiusura::before { width: 22rem; aspect-ratio: 1; right: -7rem; top: -13rem; background: var(--pc-color-header-bg); }
.chiusura::after { width: 15rem; aspect-ratio: 1; right: 7rem; top: -10.5rem; border: 2px solid var(--pc-color-star); opacity: .8; }
.chiusura__marchio strong { font-weight: 600; letter-spacing: 0; font-size: 1.5rem; }
.chiusura__marchio span { font-size: .9375rem; }
.chiusura__titolo { font-size: .875rem; font-weight: 700; letter-spacing: .04em; color: #fff; }
.chiusura__colonna p, .chiusura__elenco a { font-size: 1rem; }
.chiusura__elenco a { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: .25em; color: #fff; }
.chiusura__fondo { font-size: .875rem; }
.chiusura .distintivo-territorio { font-size: .9375rem; }

/* ---- Pagine interne: intestazione blu, in continuità con la testata ---- */
.briciole { background: var(--pc-color-header-bg); color: rgba(255, 255, 255, .82); padding-block: 1rem 0; font-size: .9375rem; }
.briciole__elenco a { color: #fff; text-decoration: underline; text-underline-offset: .2em; }
.briciole__elenco a:hover { color: #fff; text-decoration-thickness: 2px; }
.briciole__elenco li + li::before { color: rgba(255, 255, 255, .5); }
.pagina__intestazione { position: relative; z-index: 2; overflow: hidden; isolation: isolate; background: var(--pc-color-header-bg); color: #fff; border: 0; border-radius: 0 0 var(--pc-curva) var(--pc-curva); padding-block: clamp(1.75rem, 1.25rem + 2vw, 3rem) clamp(2.25rem, 1.5rem + 2.5vw, 3.75rem); }
.pagina__intestazione + * { margin-top: calc(var(--pc-curva) * -1); border-top: var(--pc-curva) solid transparent; }
.pagina__titolo { font-size: clamp(2.1rem, 1.5rem + 2.4vw, 3.4rem); font-weight: 400; line-height: 1.14; letter-spacing: 0; color: #fff; }
.pagina__eyebrow, .pagina__eyebrow a { font-size: .875rem; font-weight: 700; letter-spacing: .05em; color: var(--pc-color-star); }
.pagina__copy, .pagina__copy p { font-size: 1.125rem; color: rgba(255, 255, 255, .9); }
.pagina__meta { font-size: .9375rem; color: rgba(255, 255, 255, .82); border-block-start-color: rgba(255, 255, 255, .28); }
.pagina__meta strong { color: #fff; }
.pagina__intestazione a { color: #fff; }
.pagina__intestazione ::selection { background: #fff; color: var(--pc-color-notte); }

/* ---- Pagine interne: sezioni, riquadri, righe -------------------------- */
.sezione__intestazione h2 { font-size: clamp(1.8rem, 1.4rem + 1.6vw, 2.6rem); font-weight: 400; line-height: 1.2; letter-spacing: 0; }
.sezione__intestazione p { font-size: 1.125rem; }
.sezione--fondale { background: var(--pc-color-velo); border: 0; }
.sezione + .sezione { border-block-start-color: var(--pc-color-riga); }
.griglia-info { border-radius: var(--pc-radius-lg); overflow: hidden; }
a.blocco-info, a.blocco-info * { text-decoration: none; }
a.blocco-info:hover h3 { text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: .2em; }
.blocco-info small { font-size: .8125rem; font-weight: 700; letter-spacing: .05em; }
.blocco-info h3 { font-size: 1.3125rem; font-weight: 600; }
.blocco-info p { font-size: 1rem; line-height: 1.55; }
.riga__numero { font-family: inherit; font-size: .9375rem; font-weight: 700; color: var(--pc-color-accent); }
.riga h3 { font-size: 1.3125rem; font-weight: 600; }
.riga p { font-size: 1rem; line-height: 1.55; }
.elenco-link, .elenco-link__riga { border-color: var(--pc-color-riga); }
.elenco-link__riga strong { font-size: 1.1875rem; font-weight: 600; }
.elenco-link__riga span { font-size: 1rem; }
.elenco-link__riga a, .blocco-info a { font-size: .875rem; font-weight: 700; letter-spacing: .03em; text-transform: uppercase; text-decoration: none; }
.elenco-link__riga a:hover, .blocco-info a:hover { text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: .3em; }
.avviso { border-radius: var(--pc-radius-lg); }

/* ---- Elenco news e articolo -------------------------------------------- */
.elenco-articoli .articolo { border: 0; border-radius: var(--pc-radius-lg); background: var(--pc-color-velo); }
.elenco-articoli .articolo__miniatura img { border-radius: var(--pc-radius-lg) var(--pc-radius-lg) 0 0; }
.elenco-articoli .articolo h2, .elenco-articoli .articolo__titolo { font-size: 1.4rem; font-weight: 600; letter-spacing: 0; line-height: 1.3; }
.contenuto h2 { font-size: clamp(1.6rem, 1.3rem + 1.2vw, 2.1rem); font-weight: 600; letter-spacing: 0; }
.contenuto h3 { font-size: 1.35rem; font-weight: 600; letter-spacing: 0; }
.contenuto { font-size: 1.125rem; }

/* ---- Mobile ------------------------------------------------------------ */
@media (max-width: 56rem) {
	.sportello::before { width: 15rem; right: -7.5rem; top: -8.5rem; }
	.sportello::after { width: 8.5rem; right: -3.5rem; top: -2.75rem; opacity: .8; }
	.sportello__titolo { max-width: none; }
	.iter__colonne > div { border-bottom-color: rgba(255, 255, 255, .3); }
	.ultime-news__testa { margin-bottom: 1.25rem; }
	.ultime-news__elenco { gap: 0; }
	.ultime-news__voce { border-bottom: 1px solid var(--pc-color-riga); }
	.ultime-news__voce:first-child { border-top: 1px solid var(--pc-color-riga); }
	.ultime-news__voce a { flex-direction: row; align-items: center; gap: .9rem; padding-block: .85rem; }
	.ultime-news__foto { flex: none; }
	.ultime-news__foto img { width: 5rem; height: 3.75rem; aspect-ratio: auto; border-radius: 8px; }
	.ultime-news__testo { padding: 0; gap: .15rem; }
	.ultime-news__testo strong { font-size: 1.0625rem; -webkit-line-clamp: 2; }
	.chiusura::before { width: 15rem; right: -7rem; top: -10rem; }
	.chiusura::after { width: 10rem; right: 1rem; top: -7.5rem; }
}
@media (max-width: 40rem) {
	.testata__garanzie { font-size: .8125rem; }
	.testata__link-pratica span { font-size: .8125rem; }
	a.bottone-verifica { font-size: .9375rem; }
	.ingresso h2 { font-size: 1.4rem; }
	.scheda-servizio__tabella th { font-size: 1.125rem; }
	.domande__voce dt { font-size: 1.1875rem; }
}
@media (max-width: 36rem) {
	.scheda-servizio__tabella th { padding: 1.1rem 0 0; border-bottom: 0; }
	.scheda-servizio__tabella td { padding: .35rem 0 1.1rem; }
}

/* ==== Testata: menu a sinistra, ricerca con etichetta ==================== */
.testata { z-index: 95; }
.testata__interno { grid-template-columns: auto auto 1fr auto; gap: 1.75rem; }
.menu-mobile__attivatore { display: grid; place-items: center; grid-column: auto; width: 2.75rem; height: 2.75rem; margin-left: -.6rem; border: 0; border-radius: 50%; background: transparent; color: #fff; cursor: pointer; }
.menu-mobile__attivatore:hover { background: rgba(255, 255, 255, .12); }
.menu-mobile__attivatore svg { width: 28px; height: 28px; }
.menu-mobile__icona-chiudi, .menu-mobile__attivatore[aria-expanded="true"] .menu-mobile__icona-apri { display: none; }
.menu-mobile__attivatore[aria-expanded="true"] .menu-mobile__icona-chiudi { display: block; }
.testata .cerchio-icona { display: inline-flex; align-items: center; gap: .75rem; width: auto; height: auto; padding: 0; border-radius: 999px; background: transparent; color: #fff; font: inherit; font-size: 1rem; cursor: pointer; }
.testata .cerchio-icona:hover { background: transparent; }
.cerchio-icona__tondo { display: grid; place-items: center; width: 2.75rem; height: 2.75rem; border-radius: 50%; background: #fff; color: var(--pc-color-header-bg); transition: background var(--pc-motion); }
.cerchio-icona:hover .cerchio-icona__tondo { background: #e8eef7; }
.cerchio-icona__tondo svg { width: 20px; height: 20px; }
.testata__separatore { margin-inline: .75rem .5rem; }
@media (max-width: 75rem) {
	.testata__interno { grid-template-columns: auto 1fr auto; gap: 1rem; }
	.menu-mobile__attivatore { grid-column: auto; }
}
@media (max-width: 56rem) {
	.cerchio-icona__etichetta { display: none; }
}
@media (max-width: 40rem) {
	.testata .cerchio-icona, .testata__separatore { display: none; }
	.testata__interno { grid-template-columns: auto 1fr auto; gap: .5rem; }
	.menu-mobile__attivatore { width: 2.5rem; height: 2.5rem; margin-left: -.4rem; }
}

/* ==== Menu aperto: pannello a tutta larghezza sotto la testata ========== */
.testata .menu-mobile { position: absolute; inset: 100% 0 auto 0; z-index: 90; display: none; height: calc(100vh - 100%); height: calc(100dvh - 100%); padding: 0; background: var(--pc-color-paper); color: var(--pc-color-ink); opacity: 1; transform: none; transition: none; overflow-y: auto; overscroll-behavior: contain; }
.testata .menu-mobile.aperto { display: block; pointer-events: auto; }
.menu-mobile__chiudi { display: none; }
.menu-mobile__fascia { position: relative; padding-block: clamp(1.75rem, 1.25rem + 2vw, 3rem); }
.menu-mobile__fascia--velo { background: var(--pc-color-velo); }
.menu-mobile__fascia--notte { background: var(--pc-color-notte); color: #fff; overflow: hidden; isolation: isolate; min-height: 12rem; }
.menu-mobile__fascia--notte::before, .menu-mobile__fascia--notte::after { content: ""; position: absolute; z-index: -1; border-radius: 50%; }
.menu-mobile__fascia--notte::before { width: 16rem; aspect-ratio: 1; right: -5rem; bottom: -9rem; background: var(--pc-color-header-bg); }
.menu-mobile__fascia--notte::after { width: 10rem; aspect-ratio: 1; right: 6rem; bottom: -6.5rem; border: 2px solid var(--pc-color-star); opacity: .8; }
.menu-mobile__titolo { margin: 0 0 1.1rem; font-size: 1rem; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; color: var(--pc-color-ink); }
.testata .menu-mobile__elenco, .testata .menu-mobile__secondario { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .25rem 2rem; margin: 0; padding: 0; border: 0; list-style: none; }
.testata .menu-mobile__elenco li { border: 0; }
.testata .menu-mobile__elenco a, .testata .menu-mobile__secondario a { display: flex; align-items: center; min-height: 2.75rem; color: var(--pc-color-ink); font-size: 1.125rem; font-weight: 400; line-height: 1.3; text-decoration: none; }
.testata .menu-mobile__elenco a:hover, .testata .menu-mobile__secondario a:hover, .testata .menu-mobile__elenco a:focus-visible, .testata .menu-mobile__secondario a:focus-visible { color: var(--pc-color-accent); text-decoration: underline; text-underline-offset: .25em; }
.menu-mobile__azioni { display: flex; flex-wrap: wrap; align-items: center; gap: 1rem 1.75rem; }
.testata .menu-mobile__azioni .bottone { background: #fff; color: var(--pc-color-header-bg); border-color: #fff; min-height: 3rem; padding-inline: 1.5rem; text-decoration: none; }
.testata .menu-mobile__azioni .bottone:hover { background: #e8eef7; color: var(--pc-color-header-bg); }
.testata .menu-mobile__pratica { color: #fff; font-weight: 600; text-decoration: underline; text-underline-offset: .25em; }
.testata .menu-mobile small { display: block; max-width: 46rem; margin: 1.5rem 0 0; font-size: .875rem; line-height: 1.5; color: rgba(255, 255, 255, .82); opacity: 1; }
@media (max-width: 56rem) {
	.testata .menu-mobile__elenco, .testata .menu-mobile__secondario { grid-template-columns: 1fr; gap: 0; }
	.testata .menu-mobile__elenco a, .testata .menu-mobile__secondario a { min-height: 3.25rem; border-bottom: 1px solid var(--pc-color-riga); justify-content: space-between; }
	.testata .menu-mobile__elenco a::after, .testata .menu-mobile__secondario a::after { content: "→"; color: var(--pc-color-accent); font-size: 1.25rem; }
	.testata .menu-mobile__elenco li:first-child a, .testata .menu-mobile__secondario a:first-child { border-top: 1px solid var(--pc-color-riga); }
	.menu-mobile__fascia--notte::after { right: 2rem; }
}

/* ==== Pagine con modulo (avvia, verifica): compatte ====================== */
.pagina__intestazione:has(+ .sezione--modulo) { padding-block: 1.25rem calc(1.5rem + var(--pc-curva) * .25); }
.pagina__intestazione:has(+ .sezione--modulo) .pagina__titolo { font-size: clamp(1.75rem, 1.4rem + 1.4vw, 2.5rem); }
.pagina__intestazione:has(+ .sezione--modulo) .pagina__eyebrow { margin-bottom: .4rem; }
.pagina__intestazione:has(+ .sezione--modulo) .pagina__copy, .pagina__intestazione:has(+ .sezione--modulo) .pagina__copy p { font-size: 1.0625rem; line-height: 1.5; }
.pagina__intestazione:has(+ .sezione--modulo) .pagina__meta { margin-block-start: .9rem; padding-block-start: .75rem; gap: .25rem 1.75rem; }
.pagina__intestazione:has(+ .sezione--modulo) .pagina__meta strong { display: inline; margin-right: .35rem; }
.sezione--modulo { background: var(--pc-color-paper); padding-block: clamp(1.25rem, 1rem + 1.5vw, 2.5rem) clamp(2.5rem, 2rem + 2vw, 4rem); }
@media (max-width: 56rem) {
	.pagina__intestazione:has(+ .sezione--modulo) .pagina__griglia { gap: .75rem; }
	.pagina__intestazione:has(+ .sezione--modulo) .pagina__meta { display: none; }
}

/* ==== Spazi: niente blocchi attaccati =================================== */
.articolo__autore { margin-block: 2.5rem 0; padding-block: 1.25rem clamp(2.5rem, 2rem + 2vw, 4rem); }
.articolo-singolo + .sezione, .articolo-singolo ~ aside.sezione { margin-top: 0; }
aside.sezione--fondale { border-radius: var(--pc-curva) var(--pc-curva) 0 0; padding-block: clamp(2.5rem, 2rem + 2.5vw, 4.5rem); }
.titolo-sezione { font-size: clamp(1.8rem, 1.4rem + 1.6vw, 2.6rem); font-weight: 400; letter-spacing: 0; margin-block-end: 2rem; }
.sezione { padding-block: clamp(2.75rem, 2rem + 3vw, 5rem); }
.sezione__intestazione { margin-block-end: clamp(1.75rem, 1.25rem + 1.5vw, 2.75rem); }
.chiusura__legale { max-width: 62rem; font-size: .9375rem; line-height: 1.55; color: rgba(255, 255, 255, .86); }
.chiusura__legale strong { color: #fff; }

/* ==== Modulo della pratica: compatto, etichette leggibili =============== */
.pc-percorso { padding-inline: 0; }
.pc-percorso__avanzamento { height: 4px; border-radius: 4px; margin-block-end: 1.5rem; background: var(--pc-color-velo); }
.pc-avanzamento__barra { border-radius: 4px; background: var(--pc-color-header-bg); }
.pc-passo__indice { font-family: inherit; font-size: .875rem; font-weight: 700; letter-spacing: .04em; color: var(--pc-color-accent); margin-bottom: .25rem; }
.pc-passo__titolo { font-size: clamp(1.5rem, 1.3rem + .9vw, 1.9rem); font-weight: 600; margin-bottom: 1rem; }
.pc-passo__sottotitolo { margin: -.5rem 0 1.25rem; font-size: 1.0625rem; line-height: 1.5; }
.pc-campo { margin-block-end: 1rem; }
.pc-campo--doppio { gap: 1rem; }
.pc-campo__label { margin-block-end: .3rem; font-size: .9375rem; font-weight: 600; letter-spacing: 0; text-transform: none; color: var(--pc-color-ink); }
.pc-campo__input { min-block-size: 2.75rem; padding: .55rem .75rem; border: 1px solid #6b7c96; border-radius: var(--pc-radius); font-size: 1.0625rem; }
.pc-campo__input:focus-visible { border-color: var(--pc-color-header-bg); outline-color: var(--pc-color-header-bg); }
.pc-campo__aiuto, .pc-campo__errore, .pc-campo__conferma { font-size: .875rem; margin-top: .3rem; }
.pc-bottone { font-weight: 700; border-radius: var(--pc-radius); min-block-size: 2.75rem; padding: .6rem 1.5rem; }
.pc-bottone--primario { background: var(--pc-color-header-bg); }
.pc-bottone--primario:hover { background: var(--pc-color-notte); }
.scheda { border-radius: var(--pc-radius-lg); border-color: var(--pc-color-riga); }
.sezione--modulo .scheda { padding: clamp(1.25rem, 1rem + 2vw, 2.5rem); }
.sezione--modulo .scheda h2 { font-size: clamp(1.5rem, 1.3rem + .9vw, 1.9rem); font-weight: 600; margin-top: 0; }
@media (max-width: 40rem) {
	.pc-campo { margin-block-end: .8rem; }
	.pc-passo__sottotitolo { font-size: 1rem; }
}
.testata__interno > .testata__azioni { grid-column: auto; grid-row: auto; }
.testata__interno > .marchio { grid-column: auto; }

/* ==== iPhone: area sopra la barra in alto dello stesso colore ============ */
html { background-color: var(--pc-color-notte); }
/* Safari iOS 26 colora la barra di stato con lo sfondo del body: il body
   è blu notte, il contenuto resta su fondo carta. */
body { background-color: var(--pc-color-notte); }
/* iOS 26 Safari: la barra in alto prende il colore da un elemento fisso in cima alla pagina */
body::before { content: ""; position: fixed; z-index: 2147483000; inset: 0 0 auto 0; height: max(1px, env(safe-area-inset-top)); background-color: var(--pc-color-notte); pointer-events: none; }
.principale { position: relative; z-index: 0; background-color: var(--pc-color-paper); }

/* ==== CAP: il riquadro compare solo quando c'è il risultato ============== */
.pc-ente[hidden], .pc-avviso[hidden], [data-pc-comune-wrap][hidden] { display: none !important; }

/* ==== News e articoli: intestazione chiara, come prima ================== */
body.blog .briciole, body.single-post .briciole, body.archive .briciole { background: var(--pc-color-velo); color: var(--pc-color-ink-faint); }
body.blog .briciole__elenco a, body.single-post .briciole__elenco a, body.archive .briciole__elenco a { color: var(--pc-color-ink); }
body.blog .briciole__elenco li + li::before, body.single-post .briciole__elenco li + li::before, body.archive .briciole__elenco li + li::before { color: var(--pc-color-riga); }
body.blog .pagina__intestazione, body.single-post .pagina__intestazione, body.archive .pagina__intestazione { background: var(--pc-color-velo); color: var(--pc-color-ink); }
body.blog .pagina__intestazione::before, body.single-post .pagina__intestazione::before, body.archive .pagina__intestazione::before,
body.blog .pagina__intestazione::after, body.single-post .pagina__intestazione::after, body.archive .pagina__intestazione::after { content: ""; position: absolute; z-index: -1; border-radius: 50%; pointer-events: none; }
body.blog .pagina__intestazione::before, body.single-post .pagina__intestazione::before, body.archive .pagina__intestazione::before { width: 18rem; aspect-ratio: 1; right: -8rem; bottom: -12rem; background: #dbe6f5; }
body.blog .pagina__intestazione::after, body.single-post .pagina__intestazione::after, body.archive .pagina__intestazione::after { width: 10rem; aspect-ratio: 1; right: 4rem; bottom: -8rem; border: 2px solid var(--pc-color-star); }
body.blog .pagina__titolo, body.single-post .pagina__titolo, body.archive .pagina__titolo { color: var(--pc-color-notte); }
body.blog .pagina__eyebrow, body.single-post .pagina__eyebrow, body.archive .pagina__eyebrow,
body.blog .pagina__eyebrow a, body.single-post .pagina__eyebrow a, body.archive .pagina__eyebrow a { color: var(--pc-color-accent); }
body.blog .pagina__copy, body.single-post .pagina__copy, body.archive .pagina__copy,
body.blog .pagina__copy p, body.single-post .pagina__copy p, body.archive .pagina__copy p { color: var(--pc-color-ink-muted); }
body.blog .pagina__meta, body.single-post .pagina__meta, body.archive .pagina__meta { color: var(--pc-color-ink-muted); border-block-start-color: var(--pc-color-riga); }
body.blog .pagina__meta strong, body.single-post .pagina__meta strong, body.archive .pagina__meta strong { color: var(--pc-color-ink); }
body.blog .pagina__intestazione a, body.single-post .pagina__intestazione a, body.archive .pagina__intestazione a { color: var(--pc-color-accent); }
@media (max-width: 56rem) {
	body.blog .pagina__intestazione::before, body.single-post .pagina__intestazione::before, body.archive .pagina__intestazione::before { width: 12rem; right: -7rem; bottom: -8.5rem; }
	body.blog .pagina__intestazione::after, body.single-post .pagina__intestazione::after, body.archive .pagina__intestazione::after { width: 7rem; right: .5rem; bottom: -5.5rem; }
}

/* ==== Avvia la pratica: intestazione corta e diversa ==================== */
.pagina__intestazione--avvio { padding-block: .9rem 1.6rem; }
.pagina__intestazione--avvio .contenitore { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .75rem 2rem; }
.pagina__intestazione--avvio .pagina__titolo { font-size: clamp(1.6rem, 1.3rem + 1.2vw, 2.25rem); line-height: 1.1; }
.avvio__punti { display: flex; flex-wrap: wrap; gap: .5rem 1.5rem; margin: 0; padding: 0; list-style: none; font-size: .9375rem; color: rgba(255, 255, 255, .92); }
.avvio__punti li { display: inline-flex; align-items: center; gap: .4rem; }
.avvio__punti svg { width: 16px; height: 16px; flex: none; color: rgba(255, 255, 255, .75); }
.pagina__intestazione--avvio + .sezione--modulo { padding-top: clamp(1.25rem, 1rem + 1vw, 2rem); }
@media (max-width: 40rem) {
	.pagina__intestazione--avvio { padding-block: .5rem 1.15rem; }
	.avvio__punti { gap: .3rem 1rem; font-size: .8125rem; }
	.avvio__punti svg { width: 14px; height: 14px; }
}
.avviso-indipendenza { margin: 2rem 0 0; padding: 1rem 1.15rem; border-left: 3px solid var(--pc-color-star); border-radius: 0 var(--pc-radius) var(--pc-radius) 0; background: var(--pc-color-velo); font-size: .875rem; line-height: 1.5; color: var(--pc-color-ink-muted); }
.avviso-indipendenza strong { color: var(--pc-color-ink); }

/* ==== Assistenza: modulo di contatto ==================================== */
.assistenza__griglia { display: grid; grid-template-columns: minmax(0, 1fr) 21rem; gap: clamp(2rem, 1rem + 4vw, 4.5rem); align-items: start; }
.assistenza__testa h2 { margin: 0; font-size: clamp(1.8rem, 1.4rem + 1.6vw, 2.6rem); font-weight: 400; line-height: 1.2; }
.assistenza__testa p { margin: .75rem 0 1.75rem; max-width: 56ch; font-size: 1.0625rem; color: var(--pc-color-ink-muted); }
.modulo-as__form { display: grid; gap: 1.5rem; }
.modulo-as__gruppo { margin: 0; padding: clamp(1.15rem, 1rem + 1vw, 1.75rem); border: 1px solid var(--pc-color-riga); border-radius: var(--pc-radius-lg); background: #fff; }
.modulo-as__gruppo legend { padding: 0 .5rem; margin-left: -.5rem; font-size: .875rem; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; color: var(--pc-color-accent); }
.modulo-as__griglia { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem 1.25rem; }
.modulo-as__gruppo > .modulo-as__campo + .modulo-as__campo { margin-top: 1rem; }
.modulo-as__campo label { display: block; margin-bottom: .3rem; font-size: .9375rem; font-weight: 600; color: var(--pc-color-ink); }
.modulo-as__obbl { color: #a3262c; }
.modulo-as__facolt { font-weight: 400; color: var(--pc-color-ink-faint); }
.modulo-as__campo input[type="text"], .modulo-as__campo input[type="email"], .modulo-as__campo input[type="tel"], .modulo-as__campo select, .modulo-as__campo textarea { box-sizing: border-box; width: 100%; min-height: 2.85rem; padding: .55rem .75rem; border: 1px solid #6b7c96; border-radius: var(--pc-radius); background: #fff; color: var(--pc-color-ink); font: inherit; font-size: 1.0625rem; }
.modulo-as__campo select { appearance: none; padding-right: 2.5rem; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='m1 1.5 5 5 5-5' fill='none' stroke='%23123d78' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right .9rem center; background-size: 12px 8px; }
.modulo-as__campo textarea { min-height: 9rem; resize: vertical; line-height: 1.5; }
.modulo-as__campo input:focus-visible, .modulo-as__campo select:focus-visible, .modulo-as__campo textarea:focus-visible { outline: 2px solid var(--pc-color-header-bg); outline-offset: 1px; border-color: var(--pc-color-header-bg); }
.modulo-as__campo.is-errato input, .modulo-as__campo.is-errato select, .modulo-as__campo.is-errato textarea { border-color: #a3262c; }
.modulo-as__errore { margin: .35rem 0 0; font-size: .875rem; font-weight: 600; color: #a3262c; }
.modulo-as__aiuto { margin: .4rem 0 0; font-size: .875rem; color: var(--pc-color-ink-faint); }
.modulo-as__consenso label { display: flex; gap: .7rem; align-items: flex-start; font-weight: 400; font-size: .9375rem; line-height: 1.5; cursor: pointer; }
.modulo-as__consenso input { flex: none; width: 1.25rem; height: 1.25rem; margin: .1rem 0 0; accent-color: var(--pc-color-header-bg); }
.modulo-as__consenso a { margin-left: .25rem; }
.modulo-as__invio { display: flex; flex-wrap: wrap; align-items: center; gap: .75rem 1.5rem; }
.modulo-as__invio .bottone { min-height: 3rem; padding-inline: 2rem; }
.modulo-as__invio p { margin: 0; font-size: .875rem; color: var(--pc-color-ink-faint); }
.modulo-as__trappola { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }
.modulo-as__avviso { margin-bottom: 1.25rem; padding: .9rem 1.1rem; border-left: 3px solid #a3262c; border-radius: 0 var(--pc-radius) var(--pc-radius) 0; background: #fbeeee; color: #6f1a1e; font-weight: 600; }
.modulo-as__esito { padding: clamp(1.5rem, 1rem + 2vw, 2.5rem); border: 1px solid var(--pc-color-riga); border-top: 4px solid var(--pc-color-header-bg); border-radius: var(--pc-radius-lg); background: #fff; }
.modulo-as__esito-titolo { margin: 0 0 .5rem; font-size: 1.5rem; font-weight: 600; color: var(--pc-color-notte); }
.modulo-as__codice { margin: 1rem 0 1.5rem; padding: .75rem 1rem; border-radius: var(--pc-radius); background: var(--pc-color-velo); }
.modulo-as__codice strong { margin-left: .4rem; font-size: 1.125rem; letter-spacing: .04em; color: var(--pc-color-notte); }
.assistenza__laterale { display: grid; gap: 1.25rem; position: sticky; top: 1.5rem; }
.assistenza__box { padding: 1.5rem; border: 1px solid var(--pc-color-riga); border-radius: var(--pc-radius-lg); background: #fff; }
.assistenza__box--velo { background: var(--pc-color-velo); border-color: transparent; }
.assistenza__box h2 { margin: 0 0 .6rem; font-size: 1.1875rem; font-weight: 600; }
.assistenza__box p { margin: 0; font-size: .9375rem; line-height: 1.55; color: var(--pc-color-ink-muted); }
.assistenza__email { margin-top: 1rem !important; padding-top: 1rem; border-top: 1px solid var(--pc-color-riga); }
.assistenza__email span { display: block; font-size: .8125rem; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; color: var(--pc-color-ink-faint); }
.assistenza__email a { font-weight: 600; word-break: break-all; }
.assistenza__link { margin: 0; padding: 0; list-style: none; }
.assistenza__link li { padding: .7rem 0; border-top: 1px solid var(--pc-color-riga); }
.assistenza__link li:first-child { border-top: 0; padding-top: .2rem; }
.assistenza__link a { font-weight: 600; text-decoration: none; }
.assistenza__link a::after { content: " →"; }
.assistenza__link a:hover { text-decoration: underline; }
.assistenza__link span { display: block; font-size: .875rem; color: var(--pc-color-ink-faint); }
.assistenza__nota { margin: 0; font-size: .8125rem; line-height: 1.5; color: var(--pc-color-ink-faint); }
@media (max-width: 64rem) {
	.assistenza__griglia { grid-template-columns: 1fr; }
	.assistenza__laterale { position: static; }
}
@media (max-width: 40rem) {
	.modulo-as__griglia { grid-template-columns: 1fr; }
	.modulo-as__invio .bottone { width: 100%; }
}
.elenco-pagina { padding-block: clamp(2rem, 1.5rem + 2vw, 3.25rem) clamp(3rem, 2rem + 3vw, 5rem); }
body.blog .pagina__intestazione { padding-block: clamp(2rem, 1.5rem + 2vw, 3.25rem); }
.articolo-singolo .pagina__intestazione + * { margin-top: 0; border-top: 0; padding-top: clamp(1.5rem, 1rem + 2vw, 2.5rem); }

/* ==== Testata su mobile: scritte più piccole, più aria ================== */
@media (max-width: 40rem) {
	.testata__fascia-interno { min-height: 2.15rem; }
	.testata__garanzie { font-size: .75rem; }
	.testata__spunta { width: 13px; height: 13px; }
	.testata__link-pratica span { font-size: .75rem; }
	.testata__link-pratica svg { width: 13px; height: 13px; }
	.testata__interno { min-height: 3.6rem; gap: .75rem; }
	a.bottone-verifica { height: 2.3rem; min-height: 2.3rem; padding-inline: .85rem; font-size: .8125rem; }
	.menu-mobile__attivatore svg { width: 24px; height: 24px; }
	.briciole { font-size: .8125rem; }
}
.marchio .timbro, .timbro--chiusura { filter: none; }

/* Header desktop più arioso: marchio a sinistra, voci e azioni a destra,
   menu completo raggiungibile dal pulsante "Menu" in fondo alla riga. */
@media (min-width: 75.0625rem) {
	.testata__interno { display: flex; align-items: center; gap: 0; min-height: 5.5rem; }
	.testata__interno > .marchio { order: 0; gap: .9rem; }
	.marchio .timbro { width: 3.4rem; height: 2.45rem; }
	.marchio__nome { font-size: 1.375rem; line-height: 1.15; }
	.marchio__qualifica { font-size: .8125rem; opacity: .8; }
	.testata__interno > .navigazione { order: 1; margin-left: auto; }
	.navigazione__elenco { gap: 2rem; font-size: .9688rem; font-weight: 600; }
	.testata__interno > .testata__azioni { order: 2; margin-left: 2.25rem; gap: 1rem; }
	.testata .cerchio-icona__etichetta { display: none; }
	.cerchio-icona__tondo { width: 2.5rem; height: 2.5rem; background: rgba(255, 255, 255, .1); color: #fff; box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .35); }
	.cerchio-icona:hover .cerchio-icona__tondo { background: rgba(255, 255, 255, .2); }
	.cerchio-icona__tondo svg { width: 18px; height: 18px; }
	.testata__separatore { display: none; }
	a.bottone-verifica { height: 2.75rem; min-height: 2.75rem; padding-inline: 1.25rem; font-size: .9375rem; }
	.testata__interno > .menu-mobile__attivatore { order: 3; margin: 0 -.5rem 0 .75rem; width: 2.75rem; height: 2.75rem; }
	.menu-mobile__attivatore svg { width: 24px; height: 24px; }
	.testata__garanzie { gap: 1.75rem; }
}
@media (min-width: 75.0625rem) and (max-width: 85rem) {
	.marchio__qualifica { display: none; }
	.navigazione__elenco { gap: 1.5rem; }
	.testata__interno > .testata__azioni { margin-left: 1.5rem; }
}

/* Messaggio "a casa in pochi giorni, senza fare nulla" */
.pagina__intestazione--avvio .contenitore { display: block; }
.avvio__sottotitolo { max-width: 44rem; margin: .5rem 0 .85rem; font-size: 1.0625rem; line-height: 1.5; color: rgba(255, 255, 255, .9); }
.sportello__punti { margin: 1.1rem 0 0; font-size: 1rem; font-weight: 600; }
.sportello__punti svg { color: var(--pc-color-star); }
.pagina__intestazione--avvio .avvio__punti svg { color: var(--pc-color-star); }
@media (max-width: 40rem) {
	.avvio__sottotitolo { font-size: .9375rem; margin: .35rem 0 .6rem; }
	.sportello__punti { flex-direction: column; gap: .35rem; font-size: .9375rem; }
}

/* Foto piccola in fondo alle pagine informative */
.foto-fondo { display: flex; align-items: center; gap: 1.5rem; margin-block: 1.5rem 3rem; padding: .9rem; border: 1px solid var(--pc-color-riga); border-radius: 14px; background: var(--pc-color-velo); }
.foto-fondo__img { flex: none; width: 200px; height: 133px; object-fit: cover; border-radius: 10px; }
.foto-fondo__testo { flex: 1; margin: 0; font-size: 1.0625rem; font-weight: 600; line-height: 1.45; color: var(--pc-color-notte); }
.foto-fondo .bottone { flex: none; }
@media (max-width: 40rem) {
	.foto-fondo { flex-wrap: wrap; gap: .75rem .9rem; margin-bottom: 2.25rem; padding: .75rem; }
	.foto-fondo__img { width: 112px; height: 75px; border-radius: 8px; }
	.foto-fondo__testo { flex: 1 1 0; font-size: .9063rem; }
	.foto-fondo .bottone { flex: 1 1 100%; justify-content: center; }
}

/* Spedizione inclusa accanto al prezzo della fascia */
.pc-fascia__incluso { display: inline-flex; align-items: center; gap: .3rem; margin-top: .15rem; font-size: .8125rem; font-weight: 600; color: #1f6b3a; }
.pc-fascia__incluso::before { content: "✓"; font-weight: 700; }

/* Avviso piccolo sotto il titolo del passo (es. dati = intestatario del cane) */
.pc-passo__avviso { margin: .5rem 0 0; padding: .5rem .75rem; font-size: .875rem; line-height: 1.45; color: var(--pc-color-ink); background: #fff8e1; border-left: 3px solid var(--pc-color-star); border-radius: .25rem; }

/* Il margine dell'ultimo blocco non deve uscire da <main> (lo sfondo blu del body lo farebbe sembrare attaccato al footer) */
.principale { display: flow-root; }
/* Home: scritta UNIONE EUROPEA più distante dalle stelle */
.libretto__riga--unione { margin-top: .9rem; }
/* Distintivo Lombardia (footer e altrove) */
.distintivo-territorio { gap: .7rem; padding: .55rem 1rem .55rem .55rem; border-radius: 12px; align-items: center; text-align: left; }
.distintivo-territorio__icona { display: grid; place-items: center; flex: none; width: 2.1rem; height: 2.1rem; border-radius: 50%; background: var(--pc-color-star); }
.distintivo-territorio .distintivo-territorio__icona svg, .chiusura .distintivo-territorio .distintivo-territorio__icona svg, .apertura .distintivo-territorio .distintivo-territorio__icona svg { fill: var(--pc-color-notte); }
.distintivo-territorio__testo { display: grid; line-height: 1.2; }
.distintivo-territorio__piccolo { font-size: .75rem; font-weight: 500; opacity: .8; }
.distintivo-territorio__forte { font-size: .95rem; font-weight: 700; }
.chiusura .distintivo-territorio { background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.22); color: #fff; }

/* Pagine legali: indice + testo leggibile */
.legale { display: grid; gap: 2rem; align-items: start; }
@media (min-width: 62rem) { .legale { grid-template-columns: 16rem minmax(0, 46rem); gap: 3.5rem; } .legale__indice { position: sticky; top: 1.5rem; } }
.legale__indice-box { border: 1px solid var(--pc-color-riga); border-radius: 12px; background: var(--pc-color-velo); padding: .9rem 1rem; }
.legale__indice-box summary { cursor: pointer; font-weight: 700; color: var(--pc-color-notte); font-size: .95rem; }
.legale__indice-box ol { margin: .7rem 0 0; padding-left: 1.2rem; display: grid; gap: .35rem; font-size: .9rem; }
.legale__indice-box a { color: var(--pc-color-ink); text-decoration: none; }
.legale__indice-box a:hover { color: var(--pc-color-accent); text-decoration: underline; }
.legale__testo { font-size: 1.0625rem; line-height: 1.7; color: var(--pc-color-ink); }
.legale__testo h2 { margin: 2.4rem 0 .8rem; padding-top: 1.4rem; border-top: 1px solid var(--pc-color-riga); font-size: clamp(1.25rem, 1.1rem + .5vw, 1.5rem); color: var(--pc-color-notte); scroll-margin-top: 1.5rem; }
.legale__testo h2:first-of-type { margin-top: 1.2rem; }
.legale__testo h3 { margin: 1.6rem 0 .5rem; font-size: 1.1rem; color: var(--pc-color-notte); }
.legale__testo p, .legale__testo li { max-width: 70ch; }
.legale__testo ul, .legale__testo ol { padding-left: 1.3rem; display: grid; gap: .35rem; }
.legale__testo table { width: 100%; border-collapse: collapse; font-size: .95rem; margin: 1rem 0; }
.legale__testo th, .legale__testo td { border: 1px solid var(--pc-color-riga); padding: .55rem .7rem; text-align: left; vertical-align: top; }
.legale__testo th { background: var(--pc-color-velo); }
.legale__testo > p:first-child em, .legale__testo > p:first-child i { display: inline-block; padding: .25rem .6rem; border-radius: 999px; background: var(--pc-color-velo); font-style: normal; font-size: .85rem; color: var(--pc-color-ink-muted); }
.pc-numero-img { display: inline-block; vertical-align: -0.08em; stroke: currentColor; stroke-width: 36; }
.legale-gestore .pc-gestore { display: grid; gap: .8rem; }
.legale-gestore .pc-gestore__dati { font-size: 1.1rem; font-weight: 600; color: var(--pc-color-notte); }
@media (max-width: 61.99rem) { .legale__indice-box:not([open]) { padding-bottom: .9rem; } }

/* Marchio "libretto": verticale, larghezza dalle proporzioni. */
.timbro.timbro--libro { width: auto !important; aspect-ratio: 68 / 98; filter: none; }
.timbro.timbro--libro .marchio-passaporto__zampa { fill: #f3c84d; }
.guida__foto { margin: 0 0 1.75rem; }
.guida__foto img { display: block; width: 100%; height: auto; border-radius: 10px; aspect-ratio: 3 / 2; object-fit: cover; }
.guida__foto figcaption { margin-top: .4rem; font-size: .75rem; color: #5b6b80; }
.pc-testo-img { display: inline-block; vertical-align: -0.235em; stroke: currentColor; stroke-width: 30; }
.chiusura__marchio .distintivo-territorio__icona { display: grid; place-items: center; margin: 0; }
.chiusura__marchio .distintivo-territorio__icona svg { display: block; }
