/* Scoped, white editorial surfaces; navigation keeps the existing shared motion. */
html body .tbp-territories { max-width:1160px; margin:0 auto; padding:28px 24px 64px; color:#084828; background:#fff; box-sizing:border-box; }
html body .tbp-territories * { box-sizing:border-box; }
html body .tbp-territories__hero { max-width:820px; margin:0 auto 36px; text-align:center; }
html body .tbp-territories__eyebrow { margin:0 0 10px; color:#486454; font-size:13px; font-weight:700; letter-spacing:.04em; }
html body .tbp-territories h1 { margin:0; font-size:clamp(32px,4vw,48px); line-height:1.1; letter-spacing:-.035em; text-wrap:balance; }
html body .tbp-territories__hero > p:last-child { margin:16px 0 0; font-size:17px; line-height:1.55; text-align:justify; hyphens:auto; }
html body .tbp-territories h2 { margin:0 0 12px; font-size:24px; line-height:1.25; }
html body .tbp-territories__grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; margin-top:22px; }
html body .tbp-territories__tile { display:flex; flex-direction:column; gap:12px; padding:24px; border:1px solid #D1D5DB; border-radius:24px; color:#084828; text-decoration:none; min-width:0; background:#fff; }
html body .tbp-territories__logo-slot { display:flex; align-items:center; justify-content:flex-start; height:120px; width:100%; }
html body .tbp-territories__logo { display:block; width:auto; height:auto; max-width:min(240px,100%); max-height:120px; object-fit:contain; border:0; border-radius:0; filter:none; opacity:1; }
html body .tbp-territories__hero > .tbp-territories__logo-slot { justify-content:center; margin-bottom:20px; }
html body .tbp-territories__kind { font-size:12px; line-height:1.4; color:#486454; }
html body .tbp-territories__tile h3 { margin:0; font-size:24px; line-height:1.15; letter-spacing:-.02em; }
html body .tbp-territories__tile p { margin:0; font-size:15px; line-height:1.5; }
html body .tbp-territories__more { margin-top:auto; padding-top:8px; font-weight:750; }
html body .tbp-territories__join { display:flex; align-items:center; justify-content:space-between; gap:28px; margin-top:36px; padding:28px 0; border-top:1px solid #D1D5DB; border-bottom:1px solid #D1D5DB; }
html body .tbp-territories__join p { margin:0; max-width:62ch; line-height:1.5; }
html body .tbp-territories__button { display:flex; align-items:center; justify-content:center; min-height:48px; padding:12px 20px; margin:0; border:0; border-radius:14px; background:#084828; color:#fff; font-size:15px; font-weight:700; line-height:1.3; text-align:center; text-decoration:none; flex-shrink:0; }
html body .tbp-territories__button--secondary { background:var(--tbp-night-surface, #fff); color:var(--tbp-night-text, #084828); border:1px solid var(--tbp-night-line, #D1D5DB); }
html body .tbp-territories__note { margin:22px 0 0; color:#6B7280; font-size:12px; line-height:1.5; }
html body .tbp-territories__breadcrumb { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:24px; font-size:13px; }
html body .tbp-territories__breadcrumb a, html body .tbp-territories__source a, html body .tbp-territories__official { text-decoration:underline; text-underline-offset:3px; }
html body .tbp-territories__layout { display:grid; grid-template-columns:minmax(0,1fr) 300px; gap:48px; align-items:start; }
html body .tbp-territories__story h2:not(:first-child) { margin-top:28px; }
html body .tbp-territories__story p { font-size:16px; line-height:1.6; margin:0 0 14px; text-align:justify; hyphens:auto; }
html body .tbp-territories__aside { display:flex; flex-direction:column; gap:14px; padding-left:24px; border-left:1px solid #D1D5DB; }
html body .tbp-territories__aside h2, html body .tbp-territories__aside p { margin:0; }
html body .tbp-territories__aside p { font-size:14px; line-height:1.5; }
html body .tbp-territories__official { font-size:14px; padding:8px 0; }
html body .tbp-territories__source { margin:28px 0; font-size:13px; line-height:1.6; color:#486454; }
html body .tbp-territories__related { display:flex; flex-wrap:wrap; gap:16px 28px; padding:24px 0; border-top:1px solid #D1D5DB; font-weight:700; }
html body .tbp-territories a:focus-visible { outline:2px solid #6B7280; outline-offset:4px; }
/* 1/10 (collaudo): «Comuni e territori» 21 px, «Sito ufficiale dell'ente» 38 px, «Provincia di Mantova →» 26 px.
   Area da 44 px con imbottitura trasparente e margine negativo uguale: testo e righe restano dove sono. */
html body .tbp-territories__breadcrumb a { display:inline-block; padding-block:12px; margin-block:-12px; }
html body .tbp-territories__related a { display:inline-block; padding-block:10px; margin-block:-10px; }
html body a.tbp-territories__official { display:inline-block; padding-block:11px; margin-block:-3px; }
@media (hover:hover) { html body .tbp-territories__tile:hover { border-color:#6B7280; } }
@media (max-width:849px) {
 html body .tbp-territories { padding:20px 16px 40px; }
 html body .tbp-territories__hero { margin-bottom:28px; }
 html body .tbp-territories__hero > p:last-child { font-size:15px; }
 html body .tbp-territories__grid { grid-template-columns:1fr; gap:16px; }
 html body .tbp-territories__tile { padding:20px; }
 html body .tbp-territories__join { flex-direction:column; align-items:stretch; gap:18px; }
 html body .tbp-territories__layout { grid-template-columns:1fr; gap:24px; }
 html body .tbp-territories__aside { padding:24px 0 0; border-left:0; border-top:1px solid #D1D5DB; }
}

/* ------------------------------------------------------------------------ */
/* Lo stemma dentro la figurina dell'album (Elind, 13/9: «icona esce»).       */
/*                                                                            */
/* Il contenitore del logo nasce per la pagina dei territori, dove ha 120px   */
/* di altezza. Dentro la figurina dei Comuni pero' la casella dello stemma e' */
/* alta 62px: il contenitore restava a 120, centrato, e sbordava di quasi     */
/* trenta pixel sopra e sotto. Con i logo larghi e bassi — Provincia di       */
/* Mantova, Comunita' del Garda — non si vedeva, perche' l'immagine dentro    */
/* restava bassa. Con lo stemma di Asola, che e' alto e stretto (173x240),    */
/* l'immagine riempiva tutti i 120px e finiva sopra il nome del Comune.       */
/*                                                                            */
/* Qui dentro il contenitore prende la misura che trova, invece di imporre    */
/* la sua. Sulla pagina dei territori non cambia niente.                      */
/* ------------------------------------------------------------------------ */
html body .tbp-album__stemma .tbp-territories__logo-slot {
	height: 100%;
	justify-content: center;
}

html body .tbp-album__stemma .tbp-territories__logo {
	max-height: 100%;
}

/* Two distinct intents, one directory. Scoped to these entry pages. */
.tbp-entity-nav { display: flex; gap: 8px; flex-wrap: wrap; margin: 0 0 28px; padding: 6px; border-radius: 18px; background: #eef4f0; }
.tbp-entity-nav a { flex: 1 1 180px; display: flex; align-items: center; justify-content: center; min-height: 48px; padding: 12px 16px; color: #084828; text-align: center; font-weight: 700; line-height: 1.3; border-radius: 13px; }
.tbp-entity-nav a[aria-current="page"] { background: #084828; color: #fff; }
#tbp-territories .tbp-territories__hero, #tbp-entity-join .tbp-territories__hero { text-align: left; max-width: 850px; margin-left: 0; }
#tbp-territories h1, #tbp-entity-join h1 { font-size: clamp(30px, 4vw, 46px) !important; }
#tbp-territories .tbp-territories__hero p, #tbp-entity-join .tbp-territories__hero p { text-align: left; }
#tbp-territories #tbp-territories-heading, #tbp-entity-join h2 { font-size: 23px !important; }
#tbp-territories .tbp-territories__note { margin: 0 0 22px; font-size: 14px; }
#tbp-territories .tbp-album { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 16px; margin: 0; padding: 0; }
#tbp-territories .tbp-album__figurina { width: auto; min-width: 0; max-width: none; padding: 24px 16px; border: 1px solid #dbe5df; border-radius: 22px; background: #fff; box-shadow: 0 3px 12px #08482808; }
#tbp-territories .tbp-album__stemma { width: 100%; height: 80px; margin-bottom: 14px; }
#tbp-territories .tbp-album__stemma img { max-height: 80px; max-width: 100%; object-fit: contain; }
#tbp-territories .tbp-album__nome { font-size: 17px; line-height: 1.3; }
#tbp-territories .tbp-album__tipo { font-size: 13px; line-height: 1.4; margin-top: 6px; }
.tbp-entity-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 24px; }
.tbp-entity-steps { list-style: none; counter-reset: steps; display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 18px; padding: 0; margin: 20px 0; }
.tbp-entity-steps li { counter-increment: steps; margin: 0; padding: 22px; border-radius: 20px; border: 1px solid #dbe5df; background: #f7faf8; }
.tbp-entity-steps li::before { content: counter(steps, decimal-leading-zero); display: block; font-size: 14px; font-weight: 750; color: #6c5916; margin-bottom: 18px; }
#tbp-entity-join .tbp-entity-steps h3 { font-size: 20px !important; line-height: 1.3; margin: 0 0 12px; }
.tbp-entity-steps p { margin: 0; font-size: 15px; line-height: 1.55; }
@media(max-width:849px) {
 #tbp-territories .tbp-album { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
 #tbp-territories .tbp-album__figurina { padding: 20px 12px; }
 .tbp-entity-steps { grid-template-columns: 1fr; gap: 12px; }
 .tbp-entity-actions { flex-direction: column; }
 .tbp-entity-nav a { flex-basis: 120px; padding: 10px; font-size: 14px; }
}
