/* Public Affairs, pagina riservata (21/10/2026). Linguaggio del sito: caratteri delle variabili, raggio 14 px,
   oro per l'azione principale, scelta = verde chiaro pieno senza bordo, niente bordi colorati sulle schede. */

.tbp-pa {
	--pa-grigio: #dcd8cc;
	--pa-giallo: #FFD301;
	--pa-arancio: #f28c28;
	--pa-blu: #3a7bd5;
	--pa-verde: #1f8a4c;
	--pa-verde-scuro: #084828;
	--pa-bordeaux: #d6322a;
	--pa-ink: var(--tbp-d-text, #0f2a1d);
	--pa-muted: var(--tbp-d-muted, #4d6158);
	--pa-linea: rgba(8, 72, 40, .14);
	--pa-fondo: var(--tbp-d-raised, #fbfaf6);
	max-width: 1280px;
	margin: 0 auto;
	padding: 24px 16px 48px;
	font-family: var(--tbp-font, inherit);
	color: var(--pa-ink);
}
.tbp-pa h1, .tbp-pa h2 { font-family: var(--tbp-font-titoli, var(--tbp-font, inherit)); color: var(--pa-verde-scuro); margin: 0; text-wrap: balance; }
.tbp-pa h1 { font-size: clamp(28px, 4vw, 40px); line-height: 1.1; }
.tbp-pa h2 { font-size: 22px; margin: 0 0 6px; }
.tbp-pa p { margin: 0; }

.tbp-pa__testa { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 16px 24px; margin-bottom: 20px; }
.tbp-pa__sotto { margin-top: 6px; max-width: 62ch; color: var(--pa-muted); font-size: 16px; line-height: 1.45; }
.tbp-pa__aggiornato { display: block; margin-top: 4px; font-size: 13px; }
.tbp-pa__conteggi { display: flex; gap: 10px; flex-wrap: wrap; }
.tbp-pa__conteggi > span { background: var(--pa-fondo); border-radius: 14px; padding: 10px 14px; font-size: 14px; line-height: 1.2; }
.tbp-pa__conteggi b { display: block; font-family: var(--tbp-font-titoli, inherit); font-size: 22px; font-variant-numeric: tabular-nums; }

.tbp-pa__filtri { display: flex; flex-wrap: wrap; gap: 10px 16px; align-items: center; margin-bottom: 16px; }
.tbp-pa__cerca input { height: 44px; min-width: 240px; padding: 0 14px; border: 1px solid var(--pa-linea); border-radius: 14px; background: var(--tbp-d-surface, #fff); font: inherit; font-size: 16px; color: inherit; }
.tbp-pa__cerca input:focus-visible { outline: 3px solid #145e3f; outline-offset: 2px; }
.tbp-pa__nascosto { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.tbp-pa__gruppo { display: flex; flex-wrap: wrap; gap: 6px; }
.tbp-pa__chip { display: inline-flex; align-items: center; gap: 7px; height: 36px; padding: 0 12px; border: 0; border-radius: 12px; background: transparent; color: var(--pa-ink); font: inherit; font-size: 14px; font-weight: 600; cursor: pointer; transition: background-color .15s, transform .1s; }
.tbp-pa__chip:hover { background: rgba(8, 72, 40, .07); }
.tbp-pa__chip:active { transform: scale(.97); }
.tbp-pa__chip.is-attivo { background: var(--tbp-d-raised, #e3ede7); color: var(--pa-verde-scuro); font-weight: 800; }
.tbp-pa__chip:focus-visible { outline: 3px solid #145e3f; outline-offset: 2px; }

.tbp-pa__punto { display: inline-block; width: 12px; height: 12px; border-radius: 50%; background: var(--pa-grigio); flex: 0 0 auto; box-shadow: inset 0 0 0 1px rgba(15, 42, 29, 0.14); }
.tbp-pa__punto--contattato { background: var(--pa-giallo); }
.tbp-pa__punto--incontro { background: var(--pa-blu); }
.tbp-pa__punto--adesione { background: var(--pa-verde); }
.tbp-pa__punto--patrocinio_attesa { background: #8fd6a5; }
.tbp-pa__punto--patrocinato { background: #c9962f; }
.tbp-pa__strati { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 10px; margin-bottom: 10px; }
.tbp-pa__strati-titolo { font-size: 13px; font-weight: 700; color: var(--pa-muted); margin-right: 4px; }
.tbp-pa__spunta { display: inline-flex; align-items: center; gap: 8px; height: 36px; padding: 0 12px 0 10px; border-radius: 12px; background: transparent; font-size: 14px; font-weight: 600; cursor: pointer; user-select: none; transition: background-color .15s; }
.tbp-pa__spunta:hover { background: rgba(8, 72, 40, .07); }
.tbp-pa__spunta.is-attivo { background: #e3ede7; color: var(--pa-verde-scuro); font-weight: 800; }
.tbp-pa__spunta input { width: 18px; height: 18px; margin: 0; accent-color: #084828; cursor: pointer; }
html[data-tbp-theme="dark"] .tbp-pa__spunta.is-attivo { background: rgba(155, 219, 181, .16); color: var(--tbp-d-text, #eef3f0); }
.tbp-pa__viste-nota { display: inline-flex; align-items: center; gap: 8px; font-size: 13px; color: var(--pa-muted); margin-left: 6px; }
.tbp-pa__contorno { display: inline-block; width: 22px; height: 12px; border: 2.5px solid #6b7571; border-radius: 4px; }
.tbp-pa__contorno--verde { border-color: var(--pa-verde); }
.tbp-pa__punto--non_interessato { background: var(--pa-bordeaux); }

.tbp-pa__corpo { display: grid; grid-template-columns: minmax(0, 1fr) 380px; gap: 16px; align-items: start; }
.tbp-pa__mappa-box { position: relative; }
.tbp-pa__mappa { height: min(72vh, 720px); min-height: 420px; border-radius: 14px; background: var(--tbp-d-surface, #ffffff); border: 1px solid var(--pa-linea); box-sizing: border-box; overflow: hidden; }
.tbp-pa__mappa .leaflet-container, .tbp-pa__mappa.leaflet-container { background: var(--tbp-d-surface, #ffffff); }
.tbp-pa__mappa .leaflet-container { font: inherit; }
.tbp-pa__mappa .leaflet-control-zoom a { border-radius: 10px; }
.tbp-pa__presto { margin-top: 10px; text-align: center; font-size: 14px; color: var(--pa-muted); }

.tbp-pa__lato { position: sticky; top: 16px; display: grid; gap: 12px; }
.tbp-pa__scheda { background: var(--pa-fondo); border-radius: 14px; padding: 18px; min-height: 120px; font-size: 15px; line-height: 1.45; }
.tbp-pa__tabella-box { background: var(--tbp-d-surface, #fff); border: 1px solid var(--pa-linea); border-radius: 14px; max-height: min(52vh, 520px); overflow: auto; overflow-anchor: none; contain: paint; }
.tbp-pa, .tbp-pa * { overflow-anchor: none; }
.tbp-pa__tabella-conta { padding: 10px 12px 0; font-size: 13px; color: var(--pa-muted); }
.tbp-pa__tabella--lato { font-size: 14px; }
.tbp-pa__tabella--lato th, .tbp-pa__tabella--lato td { padding: 7px 10px; }
.tbp-pa__tabella--lato th { position: sticky; top: 0; background: var(--tbp-d-surface, #fff); }
.tbp-pa__tabella--lato tr[data-i] { cursor: pointer; }
.tbp-pa__tabella--lato tr[data-i]:hover { background: rgba(8, 72, 40, .05); }
.tbp-pa__tabella--lato tr.is-sel { background: var(--tbp-d-raised, #e3ede7); }
.tbp-pa__tabella--lato td:first-child { font-weight: 600; }
.tbp-pa__scheda-vuota { color: var(--pa-muted); }
.tbp-pa__scheda h3 { margin: 0 0 2px; font-family: var(--tbp-font-titoli, inherit); font-size: 22px; color: var(--pa-verde-scuro); line-height: 1.15; }
.tbp-pa__scheda-prov { color: var(--pa-muted); font-size: 14px; margin-bottom: 12px; }
.tbp-pa__stato { display: inline-flex; align-items: center; gap: 8px; padding: 6px 12px; border-radius: 12px; background: var(--tbp-d-surface, #fff); font-weight: 700; font-size: 14px; margin-bottom: 12px; }
.tbp-pa__scheda dl { display: grid; grid-template-columns: auto 1fr; gap: 6px 12px; margin: 0; }
.tbp-pa__scheda dt { color: var(--pa-muted); font-size: 13px; }
.tbp-pa__scheda dd { margin: 0; }
.tbp-pa__scheda a { color: var(--pa-verde-scuro); font-weight: 700; }
.tbp-pa__btn { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: 0 18px; border: 0; border-radius: 14px; font: inherit; font-weight: 700; cursor: pointer; text-decoration: none !important; }
.tbp-pa__btn--oro { background: linear-gradient(135deg, #f3d35b, #d9a92a); color: #052b18; }

.tbp-pa__altri { margin-top: 32px; }
.tbp-pa__altri > p { color: var(--pa-muted); margin-bottom: 12px; max-width: 70ch; }
.tbp-pa__tabella { width: 100%; border-collapse: collapse; font-size: 15px; }
.tbp-pa__tabella th, .tbp-pa__tabella td { text-align: left; padding: 10px 12px; border-bottom: 1px solid var(--pa-linea); vertical-align: top; }
.tbp-pa__tabella th { font-size: 13px; color: var(--pa-muted); font-weight: 600; }
.tbp-pa__tabella td:first-child { font-weight: 700; }
.tbp-pa__tabella .tbp-pa__stato { margin: 0; padding: 4px 10px; font-size: 13px; }

.tbp-pa--accesso { min-height: 60vh; display: grid; place-items: center; }
.tbp-pa__accesso { width: min(100%, 420px); background: var(--pa-fondo); border-radius: 14px; padding: 28px; display: grid; gap: 12px; }
.tbp-pa__accesso p { color: var(--pa-muted); }
.tbp-pa__accesso label { font-size: 14px; font-weight: 600; }
.tbp-pa__accesso input { height: 46px; padding: 0 14px; border: 1px solid var(--pa-linea); border-radius: 14px; font: inherit; font-size: 16px; width: 100%; box-sizing: border-box; }
.tbp-pa__accesso form { display: grid; gap: 10px; }

/* Tooltip dei Comuni: etichetta piatta, senza freccia. */
.tbp-pa__tip { background: var(--tbp-d-surface, #fff); border: 0; border-radius: 10px; padding: 5px 9px; font: 600 13px/1.2 var(--tbp-font, sans-serif); color: var(--pa-ink); box-shadow: 0 1px 4px rgba(0, 0, 0, .18); }
.tbp-pa__tip::before { display: none; }

@media (max-width: 1023px) {
	.tbp-pa__corpo { grid-template-columns: minmax(0, 1fr); }
	.tbp-pa__lato { position: static; }
	.tbp-pa__mappa { height: min(60vh, 560px); }
}
@media (max-width: 549px) {
	.tbp-pa { padding: 16px 12px 40px; }
	.tbp-pa__cerca, .tbp-pa__cerca input { width: 100%; min-width: 0; }
	.tbp-pa__tabella th:nth-child(3), .tbp-pa__tabella td:nth-child(3) { display: none; }
}
html[data-tbp-theme="dark"] .tbp-pa { --pa-ink: var(--tbp-d-text, #eef3f0); --pa-muted: var(--tbp-d-muted, #b7c6be); --pa-linea: rgba(255, 255, 255, .18); --pa-fondo: var(--tbp-d-surface, #161b18); }
html[data-tbp-theme="dark"] .tbp-pa h1, html[data-tbp-theme="dark"] .tbp-pa h2, html[data-tbp-theme="dark"] .tbp-pa__scheda h3, html[data-tbp-theme="dark"] .tbp-pa__scheda a { color: var(--tbp-d-link, #9bdbb5); }
html[data-tbp-theme="dark"] .tbp-pa__chip.is-attivo { background: rgba(155, 219, 181, .16); color: var(--tbp-d-text, #eef3f0); }
html[data-tbp-theme="dark"] .tbp-pa__cerca input, html[data-tbp-theme="dark"] .tbp-pa__stato, html[data-tbp-theme="dark"] .tbp-pa__accesso input { background: var(--tbp-d-bg, #0f1512); color: inherit; }
html[data-tbp-theme="dark"] .tbp-pa__mappa, html[data-tbp-theme="dark"] .tbp-pa__mappa .leaflet-container { background: var(--tbp-d-raised, #1b201d); }
html[data-tbp-theme="dark"] .tbp-pa__tabella-box, html[data-tbp-theme="dark"] .tbp-pa__tabella--lato th { background: var(--tbp-d-bg, #0f1512); }

/* Il tema pittura tutti i bottoni di verde scuro e mette in maiuscolo dt/dd: qui i gettoni e la scheda hanno la precedenza. */
html:not(#tbp-pa-a):not(#tbp-pa-b) .tbp-pa .tbp-pa__chip { background: transparent !important; color: var(--pa-ink) !important; border: 0 !important; box-shadow: none !important; text-transform: none !important; letter-spacing: 0 !important; min-height: 36px !important; height: 36px !important; padding: 0 12px !important; font-size: 14px !important; font-weight: 600 !important; line-height: 1 !important; margin: 0 !important; border-radius: 12px !important; }
html:not(#tbp-pa-a):not(#tbp-pa-b) .tbp-pa .tbp-pa__chip:hover { background: rgba(8, 72, 40, .07) !important; color: var(--pa-ink) !important; }
html:not(#tbp-pa-a):not(#tbp-pa-b) .tbp-pa .tbp-pa__chip.is-attivo { background: var(--tbp-d-raised, #e3ede7) !important; color: var(--pa-verde-scuro) !important; font-weight: 800 !important; }
html[data-tbp-theme="dark"]:not(#tbp-pa-a):not(#tbp-pa-b) .tbp-pa .tbp-pa__chip.is-attivo { background: rgba(155, 219, 181, .16) !important; color: var(--tbp-d-text, #eef3f0) !important; }
html:not(#tbp-pa-a):not(#tbp-pa-b) .tbp-pa .tbp-pa__scheda :is(dt, dd, p, h3, a, span), html:not(#tbp-pa-a):not(#tbp-pa-b) .tbp-pa .tbp-pa__tabella :is(th, td) { text-transform: none !important; letter-spacing: 0 !important; }
html:not(#tbp-pa-a):not(#tbp-pa-b) .tbp-pa .tbp-pa__scheda dt { font-size: 13px !important; color: var(--pa-muted) !important; font-weight: 600 !important; }
html:not(#tbp-pa-a):not(#tbp-pa-b) .tbp-pa .tbp-pa__cerca input { border-radius: 14px !important; box-shadow: none !important; background: var(--tbp-d-surface, #fff) !important; }
html:not(#tbp-pa-a):not(#tbp-pa-b) .tbp-pa .tbp-pa__btn--oro { background: linear-gradient(135deg, #f3d35b, #d9a92a) !important; color: #052b18 !important; border: 0 !important; text-transform: none !important; }

/* Etichetta del lago: testo piatto, senza riquadro. */
.tbp-pa__etichetta { width: auto !important; height: auto !important; transform: translate(-50%, -50%); white-space: nowrap; font: 700 12px/1 var(--tbp-font, sans-serif); color: var(--tbp-d-muted, #5c665f); letter-spacing: .1em; text-transform: uppercase; pointer-events: none; text-shadow: 0 0 3px #fff, 0 0 3px #fff, 0 0 4px #fff; }
.tbp-pa__etichetta--cg { color: var(--tbp-d-link, #1f8a4c); }
.tbp-pa__etichetta.is-scelta { color: var(--tbp-d-text, #084828); font-size: 14px; }
html[data-tbp-theme="dark"] .tbp-pa__etichetta { color: var(--tbp-d-muted, #b7c2bb); text-shadow: 0 0 3px #1b201d, 0 0 3px #1b201d; }
html[data-tbp-theme="dark"] .tbp-pa__etichetta--cg, html[data-tbp-theme="dark"] .tbp-pa__etichetta.is-scelta { color: var(--tbp-d-link, #9bdbb5); }
.tbp-pa__lago { width: auto !important; height: auto !important; transform: translate(-50%, -50%); white-space: nowrap; font: 600 13px/1 var(--tbp-font, sans-serif); color: #3f6f9a; letter-spacing: .04em; pointer-events: none; text-shadow: 0 0 3px #fff, 0 0 3px #fff; }

.tbp-pa__per-provincia { margin-top: 14px; }
.tbp-pa__tabella--prov { font-size: 14px; }
.tbp-pa__tabella--prov th, .tbp-pa__tabella--prov td { padding: 8px 10px; }
.tbp-pa__tabella--prov td { font-variant-numeric: tabular-nums; }
.tbp-pa__tabella--prov td b { color: var(--pa-verde); font-size: 16px; }
.tbp-pa__chip-n { margin-left: 2px; padding: 1px 7px; border-radius: 9px; background: rgba(8, 72, 40, .08); font-size: 12px; font-weight: 700; font-variant-numeric: tabular-nums; color: var(--pa-muted); }
.tbp-pa__chip.is-attivo .tbp-pa__chip-n { background: rgba(8, 72, 40, .14); color: var(--pa-verde-scuro); }
.tbp-pa__contorno { border-style: dashed; }
.tbp-pa__contorno--verde { border-style: solid; }
.tbp-pa__contorno--comune { border-style: solid; border-width: 1.5px; border-color: var(--tbp-d-line, #b9b6ab); }
.tbp-pa__conteggi > span { min-width: 96px; font-size: 13px; }
.tbp-pa__conteggi > span:nth-child(5) b, .tbp-pa__conteggi > span:nth-child(6) b { color: var(--pa-verde); }

.tbp-pa__scheda { position: relative; }
.tbp-pa__chiudi { position: absolute; top: 10px; right: 10px; width: 32px; height: 32px; border: 0; border-radius: 10px; background: var(--tbp-d-surface, #fff); color: var(--pa-ink); font: 700 20px/1 var(--tbp-font, sans-serif); cursor: pointer; }
.tbp-pa__chiudi:hover { background: rgba(8, 72, 40, .08); }
html:not(#tbp-pa-a):not(#tbp-pa-b) .tbp-pa .tbp-pa__chiudi { padding: 0 !important; min-height: 0 !important; box-shadow: none !important; }

/* Spunta disegnata (il tema nasconde le caselle native): quadratino con il segno quando il livello è acceso. */
.tbp-pa__spunta { position: relative; }
.tbp-pa__spunta input { position: absolute !important; top: 0 !important; left: 0 !important; width: 1px !important; height: 1px !important; opacity: 0; pointer-events: none; }
.tbp-pa__spunta::before { content: ''; display: inline-block; width: 18px; height: 18px; border: 2px solid #084828; border-radius: 5px; background: #fff; flex: 0 0 auto; box-sizing: border-box; }
.tbp-pa__spunta.is-attivo::before { background: #084828 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3.5 8.5l3 3 6-7' fill='none' stroke='%23fff' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/13px no-repeat; }
.tbp-pa__spunta:has(input:focus-visible)::before { outline: 3px solid #145e3f; outline-offset: 2px; }
html[data-tbp-theme="dark"] .tbp-pa__spunta::before { background-color: var(--tbp-d-bg, #0f1512); border-color: #9bdbb5; }

/* Cruscotto (21/10 notte): imbuto, nomi fuori dal contorno, rosa dei venti, schede delle province, prossime mosse, presentazione. */
.tbp-pa__occhiello { font-size: 13px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--pa-muted); margin-bottom: 6px; }
.tbp-pa__sezione { margin-top: 36px; }
.tbp-pa__sezione > h2 { margin-bottom: 12px; }
.tbp-pa__sezione > .tbp-pa__sotto { margin: -4px 0 14px; }
.tbp-pa__imbuto-box { margin-top: 8px; }
.tbp-pa__imbuto { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 8px; }
.tbp-pa__gradino { position: relative; background: var(--pa-fondo); border-radius: 14px; padding: 16px 16px 14px; min-width: 0; }
.tbp-pa__gradino b { display: block; font-family: var(--tbp-font-titoli, inherit); font-size: clamp(28px, 3.2vw, 40px); line-height: 1; font-variant-numeric: tabular-nums; color: var(--pa-verde-scuro); }
.tbp-pa__gradino-nome { display: block; margin-top: 8px; font-size: 15px; font-weight: 800; }
.tbp-pa__gradino small { display: block; margin-top: 2px; font-size: 13px; color: var(--pa-muted); }
.tbp-pa__gradino:nth-child(4) b, .tbp-pa__gradino:nth-child(5) b { color: var(--pa-verde); }
.tbp-pa__gradino + .tbp-pa__gradino::before { content: ''; position: absolute; left: -8px; top: 50%; width: 8px; height: 2px; background: var(--pa-linea); }
.tbp-pa__imbuto-nota { margin-top: 10px; font-size: 14px; color: var(--pa-muted); }

.tbp-pa__etichetta, .tbp-pa__lago { width: 0 !important; height: 0 !important; transform: none; overflow: visible; }
.tbp-pa__etichetta > span, .tbp-pa__lago > span { position: absolute; left: 0; top: 0; transform: translate(-50%, -50%); white-space: nowrap; }
.tbp-pa__etichetta--o > span { transform: translate(-100%, -50%); padding-right: 7px; }
.tbp-pa__etichetta--e > span { transform: translate(0, -50%); padding-left: 7px; }
.tbp-pa__etichetta--n > span { transform: translate(-50%, -100%); padding-bottom: 7px; }
.tbp-pa__etichetta--s > span { transform: translate(-50%, 0); padding-top: 7px; }
.tbp-pa__etichetta { font-size: 13px; letter-spacing: .12em; }
.tbp-pa__etichetta.is-scelta { font-size: 15px; }

.tbp-pa__bussola { position: absolute; inset: 0; pointer-events: none; z-index: 800; font: 800 12px/1 var(--tbp-font, sans-serif); letter-spacing: .1em; color: var(--pa-muted); }
.tbp-pa__bussola span { position: absolute; display: grid; place-items: center; width: 24px; height: 24px; border-radius: 50%; background: var(--tbp-d-surface, rgba(255, 255, 255, .85)); }
.tbp-pa__bussola-n { top: 10px; left: 50%; transform: translateX(-50%); }
.tbp-pa__bussola-s { bottom: 10px; left: 50%; transform: translateX(-50%); }
.tbp-pa__bussola-e { right: 10px; top: 50%; transform: translateY(-50%); }
.tbp-pa__bussola-o { left: 10px; top: 50%; transform: translateY(-50%); }
.tbp-pa__presto { margin-top: 10px; font-size: 13px; }

.tbp-pa__schede { display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: 12px; }
@media (min-width: 1100px) { .tbp-pa__schede { grid-template-columns: repeat(5, minmax(0, 1fr)); } .tbp-pa__scheda-prov-box { padding: 16px 14px; } .tbp-pa__gradino-mini { gap: 6px; } .tbp-pa__gradino-mini small { font-size: 11px; } .tbp-pa__gradino-mini .tbp-pa__gradino-nome { font-size: 13px; } }
.tbp-pa__scheda-prov-box { background: var(--pa-fondo); border-radius: 14px; padding: 18px; display: grid; gap: 12px; align-content: start; }
.tbp-pa__scheda-prov-box header h3 { margin: 0; font-family: var(--tbp-font-titoli, inherit); font-size: 22px; color: var(--pa-verde-scuro); line-height: 1.15; }
.tbp-pa__scheda-prov-box header p { font-size: 13px; color: var(--pa-muted); margin-top: 2px; }
.tbp-pa__barra { position: relative; height: 8px; border-radius: 4px; background: rgba(8, 72, 40, .1); overflow: hidden; }
.tbp-pa__barra i { position: absolute; left: 0; top: 0; bottom: 0; border-radius: 4px; background: var(--pa-giallo); }
.tbp-pa__barra .tbp-pa__barra-casa { background: var(--pa-verde); }
.tbp-pa__gradini-mini { display: grid; gap: 2px; }
.tbp-pa__gradino-mini { display: flex; align-items: baseline; gap: 8px; padding: 4px 0; border-bottom: 1px solid var(--pa-linea); }
.tbp-pa__gradino-mini:last-child { border-bottom: 0; }
.tbp-pa__gradino-mini .tbp-pa__gradino-nome { order: -1; flex: 1; font-size: 14px; font-weight: 700; }
.tbp-pa__gradino-mini b { font-size: 20px; line-height: 1; font-variant-numeric: tabular-nums; color: var(--pa-verde-scuro); min-width: 2ch; text-align: right; }
.tbp-pa__gradino-mini small { font-size: 12px; color: var(--pa-muted); text-align: right; font-variant-numeric: tabular-nums; white-space: nowrap; }
.tbp-pa__gradino-mini:first-child small { visibility: hidden; }
.tbp-pa__gradino-mini:nth-child(4) b, .tbp-pa__gradino-mini:nth-child(5) b { color: var(--pa-verde); }
.tbp-pa__scheda-prov-nota { font-size: 13px; color: var(--pa-muted); }
.tbp-pa__scheda-prov-box--cg header h3 { color: var(--pa-verde); }

.tbp-pa__mosse { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 12px; }
.tbp-pa__mossa { background: var(--tbp-d-surface, #fff); border: 1px solid var(--pa-linea); border-radius: 14px; padding: 16px 18px; }
.tbp-pa__mossa h3 { margin: 0 0 10px; font-family: var(--tbp-font-titoli, inherit); font-size: 18px; color: var(--pa-verde-scuro); display: flex; align-items: baseline; gap: 8px; }
.tbp-pa__mossa h3 b { font-size: 22px; font-variant-numeric: tabular-nums; }
.tbp-pa__mossa ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 2px; }
.tbp-pa__mossa li button { display: grid; grid-template-columns: 12px 1fr auto; align-items: center; gap: 10px; width: 100%; padding: 7px 8px; border: 0; border-radius: 10px; background: transparent; font: inherit; font-size: 14px; color: var(--pa-ink); text-align: left; cursor: pointer; }
.tbp-pa__mossa li button:hover { background: rgba(8, 72, 40, .06); }
.tbp-pa__mossa li button span { font-weight: 700; min-width: 0; }
.tbp-pa__mossa li button small { font-weight: 600; color: var(--pa-muted); }
.tbp-pa__mossa li button em { font-style: normal; font-size: 13px; color: var(--pa-muted); white-space: nowrap; }
.tbp-pa__mossa > .tbp-pa__scheda-vuota { margin-top: 8px; font-size: 14px; }
.tbp-pa__mossa li.is-aperta > button { background: var(--tbp-d-raised, #e3ede7); border-radius: 10px 10px 0 0; }
.tbp-pa__mossa-scheda { background: var(--pa-fondo); border-radius: 0 0 10px 10px; padding: 12px 14px 14px; margin-bottom: 6px; font-size: 14px; line-height: 1.45; }
.tbp-pa__mossa-scheda h3 { margin: 0 0 2px; font-family: var(--tbp-font-titoli, inherit); font-size: 18px; color: var(--pa-verde-scuro); }
.tbp-pa__mossa-scheda .tbp-pa__scheda-prov { color: var(--pa-muted); font-size: 13px; margin-bottom: 8px; }
.tbp-pa__mossa-scheda .tbp-pa__stato { margin-bottom: 8px; }
.tbp-pa__mossa-scheda dl { display: grid; grid-template-columns: auto 1fr; gap: 4px 12px; margin: 0; }
.tbp-pa__mossa-scheda dt { color: var(--pa-muted); font-size: 13px; }
.tbp-pa__mossa-scheda dd { margin: 0; }
.tbp-pa__mossa-scheda a { color: var(--pa-verde-scuro); font-weight: 700; }
html:not(#tbp-pa-a):not(#tbp-pa-b) .tbp-pa .tbp-pa__mossa-scheda :is(dt, dd, p, h3, a, span) { text-transform: none !important; letter-spacing: 0 !important; }
html:not(#tbp-pa-a):not(#tbp-pa-b) .tbp-pa .tbp-pa__mossa li.is-aperta > button { background: var(--tbp-d-raised, #e3ede7) !important; }
html:not(#tbp-pa-a):not(#tbp-pa-b) .tbp-pa .tbp-pa__mossa li button { background: transparent !important; color: var(--pa-ink) !important; border: 0 !important; box-shadow: none !important; text-transform: none !important; letter-spacing: 0 !important; min-height: 0 !important; padding: 7px 8px !important; font-size: 14px !important; font-weight: 600 !important; line-height: 1.3 !important; margin: 0 !important; border-radius: 10px !important; justify-content: start !important; }
html:not(#tbp-pa-a):not(#tbp-pa-b) .tbp-pa .tbp-pa__mossa li button:hover { background: rgba(8, 72, 40, .06) !important; }

/* Presentazione: via testata, piè di pagina e Colombo; pagina più larga, caratteri più grandi; Esc per uscire. */
html.tbp-pa-presenta #header, html.tbp-pa-presenta #footer, html.tbp-pa-presenta #tbp-colombo, html.tbp-pa-presenta .tbp-app-bar, html.tbp-pa-presenta .tbp-pa__presto { display: none !important; }
html.tbp-pa-presenta body { background: var(--tbp-d-bg, #fff); }
html.tbp-pa-presenta .tbp-pa { max-width: 1680px; padding: 28px 32px 40px; font-size: 17px; }
html.tbp-pa-presenta .tbp-pa__mappa { height: min(80vh, 900px); }
html.tbp-pa-presenta .tbp-pa__corpo { grid-template-columns: minmax(0, 1fr) 420px; }
html.tbp-pa-presenta .tbp-pa__gradino b { font-size: 48px; }
html.tbp-pa-presenta .tbp-pa__testa .tbp-pa__btn { position: fixed; top: 16px; right: 16px; z-index: 1000; }

@media (max-width: 1023px) {
	.tbp-pa__imbuto { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.tbp-pa__gradino + .tbp-pa__gradino::before { display: none; }
}
@media (max-width: 549px) {
	.tbp-pa__imbuto { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.tbp-pa__gradino:first-child { grid-column: 1 / -1; }
	.tbp-pa__gradino { padding: 12px; }
	.tbp-pa__testa .tbp-pa__btn { width: 100%; }
}
html[data-tbp-theme="dark"] .tbp-pa__gradino b, html[data-tbp-theme="dark"] .tbp-pa__gradino-mini b, html[data-tbp-theme="dark"] .tbp-pa__scheda-prov-box header h3, html[data-tbp-theme="dark"] .tbp-pa__mossa h3 { color: var(--tbp-d-link, #9bdbb5); }
html[data-tbp-theme="dark"] .tbp-pa__mossa { background: var(--tbp-d-bg, #0f1512); }
html[data-tbp-theme="dark"] .tbp-pa__bussola span { background: var(--tbp-d-raised, rgba(27, 32, 29, .85)); color: var(--tbp-d-muted, #b7c2bb); }
html[data-tbp-theme="dark"].tbp-pa-presenta body { background: var(--tbp-d-bg, #0f1512); }

/* 21/10 notte (CEO): tutti i comandi in una colonna a sinistra della mappa, fuori dalla mappa. */
.tbp-pa { max-width: 1440px; }
.tbp-pa__corpo { grid-template-columns: 250px minmax(0, 1fr) 340px; }
.tbp-pa__comandi { display: grid; gap: 8px; align-content: start; }
.tbp-pa__comandi .tbp-pa__strati, .tbp-pa__comandi .tbp-pa__filtri { display: grid; gap: 4px; margin: 0; }
.tbp-pa__comandi .tbp-pa__filtri { gap: 6px; margin-top: 10px; }
.tbp-pa__comandi .tbp-pa__strati-titolo { margin: 8px 0 2px; font-size: 12px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: var(--pa-muted); }
.tbp-pa__comandi .tbp-pa__strati-titolo:first-child { margin-top: 0; }
.tbp-pa__comandi .tbp-pa__spunta { width: 100%; box-sizing: border-box; }
.tbp-pa__comandi .tbp-pa__viste-nota { margin: 4px 0 0 10px; font-size: 12px; }
.tbp-pa__comandi .tbp-pa__cerca, .tbp-pa__comandi .tbp-pa__cerca input { width: 100%; min-width: 0; box-sizing: border-box; }
.tbp-pa__comandi .tbp-pa__gruppo { display: flex; flex-wrap: wrap; gap: 4px; }
.tbp-pa__comandi #tbp-pa-stati { flex-direction: column; flex-wrap: nowrap; }
html:not(#tbp-pa-a):not(#tbp-pa-b) .tbp-pa .tbp-pa__comandi #tbp-pa-stati .tbp-pa__chip { width: 100% !important; justify-content: flex-start !important; height: auto !important; min-height: 34px !important; padding: 6px 10px !important; text-align: left !important; line-height: 1.25 !important; }
.tbp-pa__comandi #tbp-pa-stati .tbp-pa__chip-n { margin-left: auto; }
html:not(#tbp-pa-a):not(#tbp-pa-b) .tbp-pa .tbp-pa__comandi #tbp-pa-province .tbp-pa__chip { padding: 0 10px !important; }
.tbp-pa__corpo .tbp-pa__mappa { height: min(80vh, 780px); }
@media (max-width: 1279px) {
	.tbp-pa__corpo { grid-template-columns: 240px minmax(0, 1fr); }
	.tbp-pa__lato { grid-column: 1 / -1; position: static; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
}
@media (max-width: 1023px) {
	.tbp-pa__corpo { grid-template-columns: minmax(0, 1fr); }
	.tbp-pa__lato { grid-template-columns: minmax(0, 1fr); }
	.tbp-pa__comandi #tbp-pa-stati { flex-direction: row; flex-wrap: wrap; }
	html:not(#tbp-pa-a):not(#tbp-pa-b) .tbp-pa .tbp-pa__comandi #tbp-pa-stati .tbp-pa__chip { width: auto !important; }
	.tbp-pa__comandi .tbp-pa__spunta { width: auto; }
	.tbp-pa__comandi .tbp-pa__strati { display: flex; flex-wrap: wrap; }
	.tbp-pa__comandi .tbp-pa__strati-titolo, .tbp-pa__comandi .tbp-pa__viste-nota { flex-basis: 100%; }
	.tbp-pa__corpo .tbp-pa__mappa { height: min(60vh, 560px); }
}
html.tbp-pa-presenta .tbp-pa__corpo { grid-template-columns: 260px minmax(0, 1fr) 380px; }

/* Comuni per area, sotto l'imbuto (21/10 notte). */
.tbp-pa__aree { display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px 8px; margin-top: 12px; }
.tbp-pa__aree-titolo { font-size: 12px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: var(--pa-muted); margin-right: 4px; }
.tbp-pa__area { display: inline-flex; align-items: baseline; gap: 6px; padding: 6px 12px; border-radius: 12px; background: var(--pa-fondo); font-size: 14px; font-weight: 600; }
.tbp-pa__area b { font-family: var(--tbp-font-titoli, inherit); font-size: 18px; font-variant-numeric: tabular-nums; color: var(--pa-verde-scuro); }
.tbp-pa__area--cg { color: var(--pa-verde); }
.tbp-pa__area--cg b { color: var(--pa-verde); }
html[data-tbp-theme="dark"] .tbp-pa__area b { color: var(--tbp-d-link, #9bdbb5); }

/* «Hanno detto no» come sesto gradino, in bordeaux (21/10 notte). */
.tbp-pa__imbuto { grid-template-columns: repeat(6, minmax(0, 1fr)); }
.tbp-pa__gradino:nth-child(6) b, .tbp-pa__gradino-mini:nth-child(6) b { color: var(--tbp-d-danger-text, #c42a22); }
.tbp-pa__gradino:nth-child(6)::before { display: none; }
html[data-tbp-theme="dark"] .tbp-pa__gradino:nth-child(6) b, html[data-tbp-theme="dark"] .tbp-pa__gradino-mini:nth-child(6) b { color: #f0a3ad; }
@media (max-width: 1023px) { .tbp-pa__imbuto { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 549px) { .tbp-pa__imbuto { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

/* 21/10 notte (CEO): mappa bianca, «non contattato» grigio caldo più deciso, fuori filtro quasi bianco. */
.tbp-pa__bussola span { background: var(--tbp-d-raised, #f4f2ec); }
/* Tabella a lato un po' più larga (CEO 21/10 notte: la colonna «Ultimo» usciva). */
.tbp-pa__corpo { grid-template-columns: 240px minmax(0, 1fr) 390px; }
.tbp-pa__tabella--lato th, .tbp-pa__tabella--lato td { padding: 7px 8px; }
.tbp-pa__tabella--lato td:last-child, .tbp-pa__tabella--lato th:last-child { white-space: nowrap; }
@media (max-width: 1279px) { .tbp-pa__corpo { grid-template-columns: 240px minmax(0, 1fr); } }
@media (max-width: 1023px) { .tbp-pa__corpo { grid-template-columns: minmax(0, 1fr); } }
html.tbp-pa-presenta .tbp-pa__corpo { grid-template-columns: 260px minmax(0, 1fr) 420px; }

/* Testata (CEO 21/10 notte: «colori più verde, logo molto più grande con il claim»): fascia nel verde ufficiale #145E3F,
   marchio verticale per fondo scuro (tessera bianca, ToBe bianco, Polo rosso) e claim; titoli e numeri nello stesso verde. */
.tbp-pa { --pa-verde-scuro: #145E3F; --pa-verde: #1f8a4c; }
.tbp-pa__hero { display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: center; gap: 28px 48px; margin: 0 0 24px; padding: 36px 44px; border-radius: 20px; background: #145E3F; color: #fff; }
.tbp-pa__marchio { display: grid; justify-items: center; gap: 12px; }
.tbp-pa__marchio img { display: block; width: 260px; max-width: 100%; height: auto; }
.tbp-pa__claim { margin: 0; font: 700 15px/1.3 var(--tbp-font, inherit); letter-spacing: .02em; color: #d8ecdf; text-align: center; max-width: 260px; }
.tbp-pa__hero-testo { display: grid; gap: 10px; justify-items: start; }
.tbp-pa__hero .tbp-pa__occhiello { color: #b9dcc6; margin: 0; }
html:not(#tbp-pa-a):not(#tbp-pa-b) .tbp-pa .tbp-pa__hero h1 { color: #fff !important; font-size: clamp(36px, 5vw, 60px); line-height: 1.02; }
.tbp-pa__hero .tbp-pa__sotto { color: #e6f2ea; font-size: 17px; max-width: 60ch; }
.tbp-pa__hero .tbp-pa__aggiornato { color: #b9dcc6; }
.tbp-pa__hero .tbp-pa__btn { margin-top: 6px; }
.tbp-pa h1, .tbp-pa h2 { color: var(--tbp-d-link, #145E3F); }
.tbp-pa__gradino b, .tbp-pa__gradino-mini b, .tbp-pa__area b { color: var(--tbp-d-link, #145E3F); }
.tbp-pa__gradino:nth-child(4) b, .tbp-pa__gradino:nth-child(5) b, .tbp-pa__gradino-mini:nth-child(4) b, .tbp-pa__gradino-mini:nth-child(5) b { color: var(--tbp-d-link, #1f8a4c); }
.tbp-pa__gradino { background: var(--tbp-d-raised, #eef5f0); }
.tbp-pa__area { background: var(--tbp-d-raised, #eef5f0); }
.tbp-pa__barra .tbp-pa__barra-casa { background: #145E3F; }
@media (max-width: 767px) {
	.tbp-pa__hero { grid-template-columns: minmax(0, 1fr); padding: 28px 20px; text-align: center; justify-items: center; }
	.tbp-pa__hero-testo { justify-items: center; }
	.tbp-pa__marchio img { width: 200px; }
}
html[data-tbp-theme="dark"] .tbp-pa__hero { background: var(--tbp-d-tint, #0f3a28); }
html[data-tbp-theme="dark"] .tbp-pa__gradino, html[data-tbp-theme="dark"] .tbp-pa__area { background: var(--tbp-d-surface, #16241c); }
html[data-tbp-theme="dark"] .tbp-pa__gradino b, html[data-tbp-theme="dark"] .tbp-pa__area b { color: var(--tbp-d-link, #9bdbb5); }

html:not(#tbp-pa-a):not(#tbp-pa-b) .tbp-pa .tbp-pa__hero .tbp-pa__occhiello { color: #b9dcc6 !important; }
html:not(#tbp-pa-a):not(#tbp-pa-b) .tbp-pa .tbp-pa__hero .tbp-pa__sotto { color: #e6f2ea !important; }
html:not(#tbp-pa-a):not(#tbp-pa-b) .tbp-pa .tbp-pa__hero .tbp-pa__aggiornato { color: #b9dcc6 !important; }
html:not(#tbp-pa-a):not(#tbp-pa-b) .tbp-pa .tbp-pa__hero .tbp-pa__claim { color: #ffffff !important; opacity: .92; }
.tbp-pa__imbuto-box { margin-top: 0; }

/* Sotto il logo: lo slogan, poi il claim (CEO 21/10 notte). */
.tbp-pa__marchio { gap: 8px; }
html:not(#tbp-pa-a):not(#tbp-pa-b) .tbp-pa .tbp-pa__hero .tbp-pa__slogan { margin: 6px 0 0; font: 800 18px/1.2 var(--tbp-font-titoli, inherit); color: #fff !important; text-align: center; max-width: 280px; text-wrap: balance; }
html:not(#tbp-pa-a):not(#tbp-pa-b) .tbp-pa .tbp-pa__hero .tbp-pa__claim { color: #cfe6d7 !important; font-weight: 600; font-size: 14px; opacity: 1; }

/* Stemmi di Comuni e Province, loghi degli enti (CEO 22/10). Immagini piccole, senza cornice; le iniziali in un tondo
   prendono il posto dello stemma che manca, così le righe restano allineate. */
.tbp-pa__stemma { display: inline-block; flex: 0 0 auto; object-fit: contain; vertical-align: middle; }
.tbp-pa__stemma--riga { width: 22px; height: 22px; }
.tbp-pa__stemma--grande { width: 56px; height: 56px; }
.tbp-pa__stemma--prov { width: 44px; height: 44px; }
.tbp-pa__stemma--vuoto { display: inline-grid; place-items: center; border-radius: 50%; background: var(--tbp-d-logo-plate, #e3ede7); color: #145E3F; font: 800 9px/1 var(--tbp-font, sans-serif); letter-spacing: 0; }
.tbp-pa__stemma--grande.tbp-pa__stemma--vuoto { font-size: 18px; }
.tbp-pa__stemma--prov.tbp-pa__stemma--vuoto { font-size: 14px; }
.tbp-pa__con-stemma { display: inline-flex; align-items: center; gap: 8px; min-width: 0; }
.tbp-pa__scheda-testa { display: flex; align-items: center; gap: 12px; margin-bottom: 12px; }
.tbp-pa__scheda-testa h3 { margin: 0; }
.tbp-pa__scheda-testa .tbp-pa__scheda-prov { margin: 2px 0 0; }
.tbp-pa__scheda-prov-box header.tbp-pa__scheda-testa { margin: 0; }
.tbp-pa__scheda .tbp-pa__scheda-testa { padding-right: 36px; }
.tbp-pa__mossa li button { grid-template-columns: 22px 1fr auto; }
html:not(#tbp-pa-a):not(#tbp-pa-b) .tbp-pa .tbp-pa__mossa li button { display: grid !important; grid-template-columns: 22px minmax(0, 1fr) auto !important; }
.tbp-pa__mossa-scheda .tbp-pa__scheda-testa { margin-bottom: 8px; }
.tbp-pa__mossa-scheda .tbp-pa__stemma--grande { width: 40px; height: 40px; }
.tbp-pa__tip .tbp-pa__con-stemma { gap: 6px; }
html[data-tbp-theme="dark"] .tbp-pa__stemma--vuoto { background: rgba(155, 219, 181, .16); color: var(--tbp-d-link, #9bdbb5); }

/* Niente cornice blu del browser sul paese o Comune toccato; × della scheda bianca, non verde del tema (22/10). */
.tbp-pa .leaflet-interactive:focus, .tbp-pa .leaflet-container :focus:not(:focus-visible) { outline: none; }
html:not(#tbp-pa-a):not(#tbp-pa-b) .tbp-pa .tbp-pa__chiudi { background: var(--tbp-d-surface, #fff) !important; color: var(--pa-ink) !important; border: 0 !important; width: 32px !important; height: 32px !important; border-radius: 10px !important; display: grid !important; place-items: center !important; font-size: 20px !important; line-height: 1 !important; }
html:not(#tbp-pa-a):not(#tbp-pa-b) .tbp-pa .tbp-pa__chiudi:hover { background: rgba(8, 72, 40, .08) !important; }
.tbp-pa__scheda-prov-box--cg .tbp-pa__stemma--prov { width: 84px; height: 44px; }
