/* Magellano — sito pubblico (portale di informazione). Prefisso pb-.
   08/10/2026: i blocchi che stanno insieme a .pb-wrap usano padding-block, così non azzerano il margine laterale.
   Da design/magellano-pubblico (08/10/2026); i pochi colori scritti a mano sono stati sostituiti con i token.
   Usa solo le variabili di tokens.css e i componenti mg- di components.css (bottoni, badge, tile, card, campi).
   Carattere: impaginato da testata giornalistica — filetti spessi antracite, occhielli oro, titoli grandi e stretti,
   numerazione delle sezioni, la bussola del logo come motivo grafico. */

.pb, .pb * { box-sizing: border-box; }
.pb { font-family: var(--font-sans); color: var(--ink-900); background: var(--surface); font-size: 16px; line-height: 26px; -webkit-font-smoothing: antialiased; }
:where(.pb) a { color: inherit; text-decoration: none; }
.pb img { max-width: 100%; display: block; }
.pb-wrap { max-width: 1280px; margin: 0 auto; padding: 0 var(--space-6); }
.pb-wrap--text { max-width: 760px; }
.pb svg.mg-i { width: 18px; height: 18px; flex: none; stroke: currentColor; fill: none; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }

/* ================= TESTATA (stessa struttura dell'area privata) ================= */
.pb-top { background: var(--night); color: var(--on-night); }
.pb-top__in { display: flex; align-items: center; gap: var(--space-4); height: 64px; }
.pb-logo { display: inline-flex; align-items: center; gap: 10px; font: 800 22px/1 var(--font-display); letter-spacing: -.01em; color: var(--on-night); }
.pb-logo__mark { width: 32px; height: 32px; color: var(--gold-500); display: grid; place-items: center; flex: none; }   /* logo oro, senza disco (09/10/2026) */
.pb-logo__mark svg { width: 100%; height: 100%; display: block; }
.pb-top__date { font-size: 13px; color: var(--on-night-muted); padding-left: var(--space-4); border-left: 1px solid var(--night-800); white-space: nowrap; }
.pb-top__search { flex: 1; max-width: 380px; margin-left: auto; display: flex; align-items: center; gap: 8px; height: 40px; padding: 0 12px; border-radius: var(--radius-md); background: var(--night-800); border: 1px solid var(--night-line); color: var(--on-night-muted); font-size: 14px; }
.pb-top__search input { flex: 1; min-width: 0; border: 0; outline: 0; background: none; color: var(--on-night); font: inherit; }
.pb-top__search input::placeholder { color: var(--on-night-muted); }
.pb-top__right { display: flex; align-items: center; gap: var(--space-2); }
.pb-top__login { color: var(--on-night); font-weight: 600; font-size: 14px; padding: 0 10px; }
.pb-nav { background: var(--surface); border-bottom: 1px solid var(--border); position: relative; z-index: 2; }
.pb-nav__in { display: flex; align-items: stretch; height: 56px; overflow-x: auto; }
.pb-nav a.pb-nav__item { display: inline-flex; align-items: center; gap: 6px; padding: 0 14px; font: 700 15px/1 var(--font-sans); color: var(--ink-700); white-space: nowrap; position: relative; }
.pb-nav a.pb-nav__item:hover { color: var(--ink-900); }
.pb-nav a.pb-nav__item.is-active { color: var(--ink-900); }
.pb-nav a.pb-nav__item.is-active::after { content: ""; position: absolute; left: 12px; right: 12px; bottom: 0; height: 3px; border-radius: 3px 3px 0 0; background: var(--gold-500); }
.pb-nav__item .chev { width: 14px; height: 14px; opacity: .55; }
.pb-nav__sep { width: 1px; background: var(--border); margin: 14px 8px; }
.pb-nav a.pb-nav__tools { margin-left: auto; display: inline-flex; align-items: center; gap: 8px; align-self: center; height: 38px; padding: 0 14px; border-radius: var(--radius-pill); background: var(--gold-100); color: var(--ink-900); font: 700 14px/1 var(--font-sans); white-space: nowrap; }
.pb-nav a.pb-nav__tools svg.mg-i { width: 16px; height: 16px; }
.pb-trend { border-bottom: 1px solid var(--border); background: var(--surface-head); }
.pb-trend__in { display: flex; align-items: center; gap: var(--space-3); height: 44px; overflow-x: auto; font-size: 14px; white-space: nowrap; }
.pb-trend__label { font: 800 11px/1 var(--font-sans); letter-spacing: .1em; text-transform: uppercase; color: var(--on-night); background: var(--night); padding: 6px 8px; border-radius: 4px; }
.pb-trend a { font-weight: 600; color: var(--ink-700); }
.pb-trend a:hover { color: var(--ink-900); text-decoration: underline; text-decoration-color: var(--gold-500); text-underline-offset: 4px; }
.pb-trend__dot { width: 4px; height: 4px; border-radius: 50%; background: var(--ink-300); flex: none; }

/* ================= ELEMENTI EDITORIALI ================= */
.pb-kicker { display: inline-flex; align-items: center; gap: 8px; font: 800 12px/16px var(--font-sans); letter-spacing: .1em; text-transform: uppercase; color: var(--gold-700); }
.pb-kicker::before { content: ""; width: 10px; height: 10px; background: var(--gold-500); flex: none; }
.pb-kicker--plain::before { display: none; }
.pb-kicker--light { color: var(--gold-500); }
.pb-type { font: 700 11px/16px var(--font-sans); letter-spacing: .06em; text-transform: uppercase; color: var(--ink-500); }
.pb-meta { font-size: 13px; line-height: 20px; color: var(--ink-500); display: flex; flex-wrap: wrap; gap: 4px 10px; align-items: center; }
.pb-meta b { color: var(--ink-900); font-weight: 600; }
.pb-meta .sep { width: 3px; height: 3px; border-radius: 50%; background: var(--ink-300); }
.pb-h1 { font: 800 56px/60px var(--font-display); letter-spacing: -.03em; margin: 0; }
.pb-h2 { font: 800 32px/38px var(--font-display); letter-spacing: -.02em; margin: 0; }
.pb-h3 { font: 800 22px/28px var(--font-display); letter-spacing: -.015em; margin: 0; }
.pb-h4 { font: 700 17px/23px var(--font-display); letter-spacing: -.005em; margin: 0; }
.pb-dek { font-size: 19px; line-height: 30px; color: var(--ink-700); margin: 0; }
.pb-excerpt { font-size: 15px; line-height: 24px; color: var(--ink-700); margin: 0; }
.pb a:hover .pb-h2, .pb a:hover .pb-h3, .pb a:hover .pb-h4 { text-decoration: underline; text-decoration-thickness: 2px; text-decoration-color: var(--gold-500); text-underline-offset: 4px; }

/* Testata di sezione: filetto spesso, numero, titolo, link */
.pb-sec { display: flex; align-items: flex-end; gap: var(--space-4); border-top: 4px solid var(--night); padding-top: var(--space-3); margin-bottom: var(--space-6); }
.pb-sec__num { font: 800 13px/1 var(--font-display); color: var(--gold-700); letter-spacing: .04em; padding-bottom: 6px; }
.pb-sec__title { font: 800 28px/32px var(--font-display); letter-spacing: -.02em; margin: 0; }
.pb-sec__sub { font-size: 14px; color: var(--ink-500); padding-bottom: 4px; }
.pb-sec__more { margin-left: auto; display: inline-flex; align-items: center; gap: 6px; font: 700 14px/1 var(--font-sans); padding-bottom: 6px; white-space: nowrap; }
.pb-sec__more svg.mg-i { width: 16px; height: 16px; }
.pb-sec--light { border-top-color: var(--on-night); }
.pb-sec--light .pb-sec__title { color: var(--on-night); }
.pb-sec--light .pb-sec__sub { color: var(--on-night-muted); }
.pb-sec--light .pb-sec__more { color: var(--gold-500); }

/* Immagini segnaposto: blocco pieno con gli anelli della bussola (in produzione: l'immagine dell'articolo) */
.pb-img { position: relative; overflow: hidden; background: var(--night); border-radius: var(--radius-md); aspect-ratio: 16 / 9; }
.pb-img::before, .pb-img::after { content: ""; position: absolute; border-radius: 50%; border: 2px solid var(--gold-500); }
.pb-img::before { width: 70%; aspect-ratio: 1; right: -18%; top: -30%; opacity: .45; }
.pb-img::after { width: 44%; aspect-ratio: 1; right: -5%; top: -10%; opacity: .25; }
.pb-img--gold { background: var(--gold-500); }
.pb-img--gold::before, .pb-img--gold::after { border-color: var(--night); }
.pb-img--soft { background: var(--gold-100); }
.pb-img--soft::before, .pb-img--soft::after { border-color: var(--gold-600); }
.pb-img--ink { background: var(--ink-500); }
.pb-img--sq { aspect-ratio: 1; }
.pb-img--wide { aspect-ratio: 21 / 9; }
.pb-img__tag { position: absolute; left: 12px; bottom: 12px; z-index: 1; }
.pb-img__label { position: absolute; left: 12px; top: 10px; z-index: 1; font: 600 11px/1 var(--font-sans); letter-spacing: .06em; text-transform: uppercase; color: var(--on-night-muted); }
.pb-img--gold .pb-img__label, .pb-img--soft .pb-img__label { color: var(--ink-700); }

/* Card articolo */
.pb-story { display: flex; flex-direction: column; gap: 12px; color: inherit; }
.pb-story__body { display: flex; flex-direction: column; gap: 8px; }
.pb-story--row { flex-direction: row; gap: var(--space-4); align-items: flex-start; }
.pb-story--row .pb-img { width: 140px; flex: none; aspect-ratio: 4 / 3; }
.pb-story--lead .pb-h2 { font-size: 40px; line-height: 46px; }
.pb-list { list-style: none; margin: 0; padding: 0; }
.pb-list > li { padding: var(--space-4) 0; border-top: 1px solid var(--border); }
.pb-list > li:first-child { border-top: 0; padding-top: 0; }
.pb-numlist { list-style: none; margin: 0; padding: 0; counter-reset: n; }
.pb-numlist > li { counter-increment: n; display: grid; grid-template-columns: 44px 1fr; gap: 4px var(--space-3); padding: var(--space-4) 0; border-top: 1px solid var(--border); }
.pb-numlist > li:first-child { border-top: 0; padding-top: 0; }
.pb-numlist > li::before { content: counter(n, decimal-leading-zero); font: 800 26px/28px var(--font-display); color: var(--gold-600); grid-row: span 2; }

/* Griglie */
.pb-grid { display: grid; gap: var(--space-8) var(--space-6); }
.pb-grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.pb-grid--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.pb-split { display: grid; grid-template-columns: minmax(0, 1fr) 360px; gap: var(--space-12); align-items: start; }
.pb-section { padding-block: var(--space-12); }
.pb-section--tight { padding-block: var(--space-8); }
.pb-section--alt { background: var(--surface-alt); }
.pb-section--dark { background: var(--night); color: var(--on-night); }

/* ================= HOME ================= */
.pb-front { display: grid; grid-template-columns: minmax(0, 1.65fr) minmax(0, 1fr) 300px; gap: var(--space-8); padding-block: var(--space-8) var(--space-12); align-items: start; }
.pb-front__col { display: flex; flex-direction: column; gap: var(--space-6); }
.pb-front__side { border-left: 1px solid var(--border); padding-left: var(--space-6); display: flex; flex-direction: column; gap: var(--space-5); }
.pb-front__sidehead { display: flex; align-items: center; justify-content: space-between; border-bottom: 3px solid var(--night); padding-bottom: 8px; font: 800 13px/1 var(--font-sans); letter-spacing: .1em; text-transform: uppercase; }
.pb-live { display: inline-flex; align-items: center; gap: 6px; font: 700 11px/1 var(--font-sans); letter-spacing: .06em; color: var(--danger); }
.pb-live::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: var(--danger); }
.pb-time { font: 700 12px/16px var(--font-sans); color: var(--gold-700); }

/* Strumento in pagina (promo nativa, sempre dichiarata) */
.pb-promo { display: flex; flex-direction: column; gap: var(--space-3); padding: var(--space-5); border-radius: var(--radius-lg); background: var(--night); color: var(--on-night); position: relative; overflow: hidden; }
.pb-promo::after { content: ""; position: absolute; right: -50px; top: -50px; width: 150px; height: 150px; border-radius: 50%; border: 22px solid var(--gold-500); opacity: .18; }
.pb-promo__tag { font: 800 11px/1 var(--font-sans); letter-spacing: .1em; text-transform: uppercase; color: var(--gold-500); }
.pb-promo__title { font: 800 20px/26px var(--font-display); margin: 0; }
.pb-promo p { margin: 0; font-size: 14px; line-height: 22px; color: var(--on-night-muted); }
.pb-promo--gold { background: var(--gold-500); color: var(--ink-900); }
.pb-promo--gold::after { border-color: var(--ink-900); opacity: .1; }
.pb-promo--gold .pb-promo__tag { color: var(--ink-700); }
.pb-promo--gold p { color: var(--ink-700); }

/* Fascia Bussole */
.pb-tools { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-5); }
.pb-tool { display: flex; flex-direction: column; gap: var(--space-4); padding: var(--space-6); border-radius: var(--radius-lg); background: var(--night-800); border: 1px solid var(--night-line); color: var(--on-night); min-height: 300px; }
.pb-tool:hover { border-color: var(--gold-500); }
.pb-tool__head { display: flex; align-items: center; gap: var(--space-3); }
.pb-tool__name { font: 800 22px/28px var(--font-display); margin: 0; }
.pb-tool p { margin: 0; color: var(--on-night-muted); font-size: 15px; line-height: 24px; }
.pb-tool__checks { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 6px; font-size: 14px; color: var(--on-night); }
.pb-tool__checks li { display: flex; gap: 8px; align-items: center; }
.pb-tool__checks svg.mg-i { width: 15px; height: 15px; color: var(--gold-500); }
.pb-tool__foot { margin-top: auto; display: flex; align-items: center; justify-content: space-between; font-weight: 700; font-size: 14px; }
.pb-tool__foot .go { display: inline-flex; gap: 6px; align-items: center; color: var(--gold-500); }
.pb-tools__laudatur { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: var(--space-6); align-items: center; margin-top: var(--space-6); padding: var(--space-6); border-radius: var(--radius-lg); background: var(--gold-500); color: var(--ink-900); }
.pb-tools__laudatur h3 { margin: 0; font: 800 24px/30px var(--font-display); }
.pb-tools__laudatur p { margin: 4px 0 0; color: var(--ink-700); font-size: 15px; }

/* Rotte (pilastri) */
.pb-routes { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--space-4); }
.pb-route { display: flex; flex-direction: column; gap: var(--space-3); padding: var(--space-5); border: 1px solid var(--border); border-top: 4px solid var(--night); border-radius: 0 0 var(--radius-md) var(--radius-md); background: var(--surface); }
.pb-route:hover { border-top-color: var(--gold-500); }
.pb-route__n { font: 800 13px/1 var(--font-display); color: var(--gold-700); }
.pb-route p { margin: 0; font-size: 14px; line-height: 22px; color: var(--ink-500); }
.pb-route__count { margin-top: auto; font: 700 13px/1 var(--font-sans); color: var(--ink-700); display: inline-flex; gap: 6px; align-items: center; }

/* Newsletter */
.pb-news { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 480px); gap: var(--space-8); align-items: center; padding: var(--space-8); border-radius: var(--radius-lg); background: var(--surface-alt); border: 1px solid var(--border); }
.pb-news__title { font: 800 30px/36px var(--font-display); letter-spacing: -.02em; margin: 6px 0 8px; }
.pb-news p { margin: 0; color: var(--ink-700); }
.pb-news form { display: flex; flex-direction: column; gap: var(--space-3); }
.pb-news__row { display: flex; gap: var(--space-2); }
.pb-news__row .mg-input { flex: 1; }
.pb-check { display: flex; gap: 10px; align-items: flex-start; font-size: 13px; line-height: 20px; color: var(--ink-700); }
.pb-check input { width: 18px; height: 18px; margin: 1px 0 0; accent-color: var(--gold-500); flex: none; }
.pb-check a { text-decoration: underline; }

/* Autori */
.pb-authors { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: var(--space-4); }
.pb-author { display: flex; gap: var(--space-4); align-items: center; padding: var(--space-4); border: 1px solid var(--border); border-radius: var(--radius-md); background: var(--surface); }
.pb-avatar { width: 52px; height: 52px; border-radius: 50%; flex: none; background: var(--gold-100); border: 2px solid var(--gold-500); display: grid; place-items: center; font: 800 18px/1 var(--font-display); color: var(--ink-900); }
.pb-avatar--lg { width: 88px; height: 88px; font-size: 30px; }
.pb-avatar--sm { width: 36px; height: 36px; font-size: 13px; border-width: 1.5px; }
.pb-author b { display: block; font: 700 16px/22px var(--font-display); }
.pb-author span { font-size: 13px; color: var(--ink-500); }

/* ================= PIÈ DI PAGINA ================= */
.pb-foot { background: var(--night); color: var(--on-night); padding-block: var(--space-12) var(--space-6); }
.pb-foot__grid { display: grid; grid-template-columns: 1.4fr 1fr 1fr 1fr; gap: var(--space-8); }
.pb-foot p { color: var(--on-night-muted); font-size: 14px; line-height: 22px; margin: 12px 0 0; max-width: 380px; }
.pb-foot h4 { font: 800 12px/16px var(--font-sans); letter-spacing: .1em; text-transform: uppercase; color: var(--gold-500); margin: 0 0 12px; }
.pb-foot ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 8px; font-size: 14px; }
.pb-foot ul a { color: var(--on-night); }
.pb-foot ul a:hover { text-decoration: underline; text-decoration-color: var(--gold-500); text-underline-offset: 4px; }
.pb-foot__social { display: flex; gap: 8px; margin-top: var(--space-5); }
.pb-foot__social a { width: 38px; height: 38px; border-radius: 50%; border: 1px solid var(--night-line); display: grid; place-items: center; color: var(--on-night); }
.pb-foot__social a:hover { border-color: var(--gold-500); color: var(--gold-500); }
.pb-foot__social svg.mg-i { width: 16px; height: 16px; }
.pb-foot__bottom { margin-top: var(--space-8); padding-top: var(--space-5); border-top: 1px solid var(--night-800); display: flex; flex-wrap: wrap; gap: var(--space-3) var(--space-5); font-size: 13px; color: var(--on-night-muted); }
.pb-foot__bottom .end { margin-left: auto; }

/* ================= TESTATE DI PAGINA (categoria, bussole, pagine) ================= */
.pb-crumbs { display: flex; flex-wrap: wrap; gap: 6px; font-size: 13px; color: var(--ink-500); }
.pb-crumbs a { color: var(--ink-700); }
.pb-crumbs a:hover { text-decoration: underline; }
.pb-masthead { background: var(--surface); border-bottom: 1px solid var(--border-strong); padding: var(--space-8) 0 0; }
.pb-masthead__row { display: grid; grid-template-columns: minmax(0, 1fr) 360px; gap: var(--space-12); align-items: end; margin-top: var(--space-5); padding-bottom: var(--space-6); }
.pb-masthead__title { font: 800 64px/66px var(--font-display); letter-spacing: -.035em; margin: 10px 0 14px; }
.pb-masthead__facts { display: flex; flex-direction: column; gap: var(--space-3); padding: var(--space-5); border-top: 4px solid var(--night); background: var(--surface-head); }
.pb-masthead__facts div { display: flex; justify-content: space-between; font-size: 14px; color: var(--ink-500); }
.pb-masthead__facts b { color: var(--ink-900); }
.pb-filter { display: flex; gap: var(--space-1); overflow-x: auto; }
.pb-filter a { padding: 14px 14px; font: 700 14px/20px var(--font-sans); color: var(--ink-500); white-space: nowrap; border-radius: 10px 10px 0 0; }
.pb-filter a:hover { color: var(--ink-900); }
.pb-filter a.is-active { color: var(--ink-900); box-shadow: inset 0 -3px 0 var(--gold-500); }
.pb-filter a em { font-style: normal; color: var(--ink-500); font-weight: 500; margin-left: 4px; }

/* Paginazione */
.pb-pager { display: flex; gap: var(--space-2); justify-content: center; align-items: center; margin-top: var(--space-10, 40px); }
.pb-pager a, .pb-pager span { min-width: 44px; height: 44px; display: grid; place-items: center; padding: 0 12px; border-radius: var(--radius-md); border: 1px solid var(--border); font-weight: 700; font-size: 14px; }
.pb-pager .is-current { background: var(--night); color: var(--on-night); border-color: var(--night); }

/* Domande frequenti */
.pb-faq { border-top: 1px solid var(--border-strong); }
.pb-faq details { border-bottom: 1px solid var(--border-strong); }
.pb-faq summary { list-style: none; cursor: pointer; display: flex; justify-content: space-between; gap: var(--space-4); padding: var(--space-5) 0; font: 700 18px/26px var(--font-display); }
.pb-faq summary::-webkit-details-marker { display: none; }
.pb-faq summary::after { content: "+"; font: 400 26px/26px var(--font-sans); color: var(--gold-700); }
.pb-faq details[open] summary::after { content: "−"; }
.pb-faq details p { margin: 0 0 var(--space-5); color: var(--ink-700); max-width: 760px; }

/* ================= ARTICOLO ================= */
.pb-art__head { padding-block: var(--space-8) var(--space-6); }
.pb-art__title { font: 800 54px/60px var(--font-display); letter-spacing: -.03em; margin: 14px 0 16px; max-width: 980px; }
.pb-art__dek { max-width: 860px; }
.pb-art__byline { display: flex; align-items: center; gap: var(--space-3); margin-top: var(--space-5); padding-top: var(--space-5); border-top: 1px solid var(--border); flex-wrap: wrap; }
.pb-art__byline .who { font-size: 14px; line-height: 20px; }
.pb-art__byline .who a { font-weight: 700; text-decoration: underline; text-decoration-color: var(--gold-500); text-underline-offset: 3px; }
.pb-art__byline .who span { color: var(--ink-500); display: block; font-size: 13px; }
.pb-art__tools { margin-left: auto; display: flex; gap: var(--space-2); }
.pb-iconbtn { width: 40px; height: 40px; border-radius: 50%; border: 1px solid var(--border-strong); background: var(--surface); display: grid; place-items: center; color: var(--ink-700); cursor: pointer; }
.pb-iconbtn:hover { border-color: var(--ink-900); color: var(--ink-900); }
.pb-iconbtn svg.mg-i { width: 17px; height: 17px; }
.pb-figure { margin: 0 0 var(--space-8); }
.pb-figure figcaption { font-size: 13px; line-height: 20px; color: var(--ink-500); margin-top: 8px; }
.pb-art__grid { display: grid; grid-template-columns: 220px minmax(0, 720px) 300px; gap: var(--space-8); justify-content: space-between; align-items: start; }
.pb-toc { position: sticky; top: var(--space-6); display: flex; flex-direction: column; gap: 4px; }
.pb-toc__title { font: 800 12px/16px var(--font-sans); letter-spacing: .1em; text-transform: uppercase; padding-bottom: 8px; border-bottom: 3px solid var(--night); margin-bottom: 6px; }
.pb-toc a { display: block; padding: 6px 0 6px 12px; font-size: 14px; line-height: 20px; color: var(--ink-500); border-left: 2px solid var(--border); }
.pb-toc a.is-active { color: var(--ink-900); font-weight: 600; border-left-color: var(--gold-500); }
.pb-answer { padding: var(--space-5) var(--space-6); border-radius: var(--radius-md); background: var(--surface-head); border: 1px solid var(--border); border-top: 4px solid var(--gold-500); margin-bottom: var(--space-8); }
.pb-answer__label { display: flex; align-items: center; gap: 8px; font: 800 12px/16px var(--font-sans); letter-spacing: .1em; text-transform: uppercase; color: var(--gold-700); margin-bottom: 8px; }
.pb-answer__label svg.mg-i { width: 15px; height: 15px; }
.pb-answer p { margin: 0; font-size: 17px; line-height: 28px; }
.pb-prose { font-size: 18px; line-height: 31px; color: var(--ink-900); }
.pb-prose > * + * { margin-top: 1.1em; }
.pb-prose p { margin: 0; }
.pb-prose h2 { font: 800 28px/34px var(--font-display); letter-spacing: -.02em; margin: 1.8em 0 0; }
.pb-prose h3 { font: 700 21px/28px var(--font-display); margin: 1.5em 0 0; }
.pb-prose a { text-decoration: underline; text-decoration-color: var(--gold-500); text-decoration-thickness: 2px; text-underline-offset: 3px; }
.pb-prose ul { padding-left: 1.2em; margin: 0; }
.pb-prose li + li { margin-top: .4em; }
.pb-prose li::marker { color: var(--gold-600); }
.pb-prose blockquote { margin: 1.6em 0 0; padding: 0; font: 700 26px/36px var(--font-display); letter-spacing: -.01em; }
.pb-prose blockquote::before { content: ""; display: block; width: 56px; height: 4px; background: var(--gold-500); margin-bottom: 14px; }
.pb-prose blockquote cite { display: block; font: 500 14px/20px var(--font-sans); color: var(--ink-500); margin-top: 10px; font-style: normal; }
.pb-keybox { padding: var(--space-5) var(--space-6); border-radius: var(--radius-md); background: var(--night); color: var(--on-night); }
.pb-keybox h4 { margin: 0 0 10px; font: 800 12px/16px var(--font-sans); letter-spacing: .1em; text-transform: uppercase; color: var(--gold-500); }
.pb-keybox ul { margin: 0; padding-left: 1.1em; font-size: 16px; line-height: 26px; }
.pb-keybox li + li { margin-top: 6px; }
.pb-inline-tool { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: var(--space-4); align-items: center; padding: var(--space-5); border-radius: var(--radius-md); border: 1px solid var(--gold-500); background: var(--gold-50); font-size: 15px; line-height: 23px; }
.pb-inline-tool b { display: block; font: 800 16px/22px var(--font-display); }
.pb-inline-tool span { color: var(--ink-700); }
.pb-sources { font-size: 14px; line-height: 22px; }
.pb-sources ol { margin: 0; padding-left: 1.2em; color: var(--ink-700); }
.pb-sources li + li { margin-top: 6px; }
.pb-sources a { text-decoration: underline; text-decoration-color: var(--border-strong); }
.pb-tags { display: flex; flex-wrap: wrap; gap: var(--space-2); }
.pb-tags a { padding: 6px 12px; border-radius: var(--radius-pill); border: 1px solid var(--border-strong); font: 600 13px/18px var(--font-sans); color: var(--ink-700); }
.pb-tags a:hover { border-color: var(--ink-900); color: var(--ink-900); }
.pb-authorbox { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: var(--space-5); padding: var(--space-6); border-top: 4px solid var(--night); background: var(--surface-head); }
.pb-authorbox__label { font: 800 11px/16px var(--font-sans); letter-spacing: .1em; text-transform: uppercase; color: var(--ink-500); }
.pb-authorbox h4 { margin: 4px 0 2px; font: 800 20px/26px var(--font-display); }
.pb-authorbox p { margin: 8px 0 0; font-size: 15px; line-height: 24px; color: var(--ink-700); }
.pb-aside { position: sticky; top: var(--space-6); display: flex; flex-direction: column; gap: var(--space-5); }
.pb-box { padding: var(--space-5); border-radius: var(--radius-md); border: 1px solid var(--border); background: var(--surface); }
.pb-box__title { font: 800 12px/16px var(--font-sans); letter-spacing: .1em; text-transform: uppercase; margin: 0 0 12px; padding-bottom: 8px; border-bottom: 3px solid var(--night); }

/* ================= BUSSOLE ================= */
.pb-hero { position: relative; overflow: hidden; background: var(--night); color: var(--on-night); }
.pb-hero__in { display: grid; grid-template-columns: minmax(0, 1fr) 480px; gap: var(--space-12); align-items: center; padding-block: 72px 80px; position: relative; }
.pb-hero__title { font: 800 64px/68px var(--font-display); letter-spacing: -.035em; margin: 14px 0 18px; }
.pb-hero__title em { font-style: normal; color: var(--gold-500); }
.pb-hero p.pb-dek { color: var(--on-night-muted); }
.pb-hero__ctas { display: flex; gap: var(--space-3); flex-wrap: wrap; margin-top: var(--space-8); }
.pb-hero .mg-btn--ghost { background: transparent; color: var(--on-night); border-color: var(--ink-500); }
.pb-hero .pb-crumbs, .pb-hero .pb-crumbs a { color: var(--on-night-muted); }
.pb-dial { position: relative; aspect-ratio: 1; border-radius: 50%; border: 2px solid var(--night-line); display: grid; place-items: center; }
.pb-dial::before { content: ""; position: absolute; inset: 12%; border-radius: 50%; border: 2px solid var(--night-line); }
.pb-dial::after { content: ""; position: absolute; inset: 26%; border-radius: 50%; background: var(--gold-500); }
.pb-dial__needle { position: absolute; inset: 0; z-index: 1; }
.pb-dial__labels span { position: absolute; font: 800 13px/1 var(--font-display); color: var(--gold-500); letter-spacing: .1em; }
.pb-steps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-6); counter-reset: s; }
.pb-step { counter-increment: s; padding-top: var(--space-5); border-top: 4px solid var(--night); }
.pb-step::before { content: counter(s, decimal-leading-zero); display: block; font: 800 44px/48px var(--font-display); color: var(--gold-600); margin-bottom: 8px; }
.pb-step h3 { margin: 0 0 6px; font: 800 20px/26px var(--font-display); }
.pb-step p { margin: 0; color: var(--ink-700); font-size: 15px; line-height: 24px; }
.pb-feature { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: var(--space-12); align-items: center; padding: var(--space-12) 0; border-top: 1px solid var(--border); }
.pb-feature:first-child { border-top: 0; }
.pb-feature--flip > :first-child { order: 2; }
.pb-feature__text { display: flex; flex-direction: column; gap: var(--space-4); }
.pb-feature__text .pb-h2 { font-size: 38px; line-height: 44px; }
.pb-feature__text ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 10px; }
.pb-feature__text li { display: flex; gap: 10px; align-items: flex-start; font-size: 16px; line-height: 24px; }
.pb-feature__text li svg.mg-i { color: var(--gold-700); margin-top: 3px; }
.pb-feature__ctas { display: flex; gap: var(--space-3); flex-wrap: wrap; }
.pb-report { border-radius: var(--radius-lg); border: 1px solid var(--border); background: var(--surface); box-shadow: var(--shadow-md); overflow: hidden; }
.pb-report__head { display: flex; align-items: center; gap: var(--space-3); padding: var(--space-4) var(--space-5); background: var(--night); color: var(--on-night); }
.pb-report__head b { font: 700 15px/20px var(--font-display); }
.pb-report__head span { margin-left: auto; font-size: 12px; color: var(--on-night-muted); }
.pb-report__body { padding: var(--space-5); display: flex; flex-direction: column; gap: var(--space-4); }
.pb-score { display: flex; align-items: center; gap: var(--space-5); }
.pb-score__ring { width: 112px; height: 112px; border-radius: 50%; display: grid; place-items: center; border: 10px solid var(--gold-100); position: relative; flex: none; }
.pb-score__ring b { font: 800 34px/1 var(--font-display); }
.pb-score__ring small { display: block; font-size: 11px; color: var(--ink-500); text-align: center; }
.pb-bars { display: flex; flex-direction: column; gap: 10px; flex: 1; }
.pb-bar { display: grid; grid-template-columns: 120px minmax(0, 1fr) 36px; gap: 10px; align-items: center; font-size: 13px; }
.pb-bar__track { height: 8px; border-radius: 8px; background: var(--surface-alt); overflow: hidden; }
.pb-bar__track span { display: block; height: 100%; background: var(--gold-500); border-radius: 8px; }
.pb-bar b { text-align: right; }
.pb-trial { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 560px); gap: var(--space-12); align-items: center; }
.pb-trial__card { background: var(--surface); color: var(--ink-900); border-radius: var(--radius-lg); padding: var(--space-6); display: flex; flex-direction: column; gap: var(--space-4); }
.pb-trial__row { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: var(--space-4); }
.pb-compare { width: 100%; border-collapse: collapse; font-size: 15px; }
.pb-compare th, .pb-compare td { padding: 14px 16px; border-bottom: 1px solid var(--border); text-align: left; vertical-align: top; }
.pb-compare thead th { font: 800 13px/18px var(--font-sans); letter-spacing: .04em; border-bottom: 3px solid var(--night); }
.pb-compare tbody th { font-weight: 600; color: var(--ink-700); width: 26%; }

/* ================= CONTATTI / CHI SIAMO / PAGINE ================= */
.pb-contact { display: grid; grid-template-columns: minmax(0, 1fr) 380px; gap: var(--space-12); align-items: start; padding-block: var(--space-8) var(--space-12); }
.pb-topics { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-3); }
.pb-topic { position: relative; }
.pb-topic input { position: absolute; opacity: 0; }
.pb-topic label { display: flex; flex-direction: column; gap: 6px; height: 100%; padding: var(--space-4); border: 1px solid var(--border-strong); border-radius: var(--radius-md); cursor: pointer; font-size: 13px; line-height: 19px; color: var(--ink-500); }
.pb-topic label b { font: 700 15px/20px var(--font-display); color: var(--ink-900); display: flex; gap: 8px; align-items: center; }
.pb-topic input:checked + label { border-color: var(--night); box-shadow: inset 0 0 0 1px var(--night); background: var(--gold-50); }
.pb-topic input:focus-visible + label { box-shadow: var(--focus-ring); }
.pb-reach { display: flex; flex-direction: column; gap: 0; border-top: 4px solid var(--night); }
.pb-reach > div { display: flex; gap: var(--space-3); padding: var(--space-4) 0; border-bottom: 1px solid var(--border); font-size: 15px; line-height: 23px; }
.pb-reach b { display: block; font: 700 15px/22px var(--font-display); }
.pb-reach span { color: var(--ink-500); font-size: 14px; }
.pb-stats { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--space-6); }
.pb-stat { padding-top: var(--space-4); border-top: 4px solid var(--gold-500); }
.pb-stat b { display: block; font: 800 44px/48px var(--font-display); letter-spacing: -.02em; }
.pb-stat span { font-size: 14px; color: var(--ink-500); }
.pb-values { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-6); }
.pb-value h3 { margin: 12px 0 6px; font: 800 20px/26px var(--font-display); }
.pb-value p { margin: 0; color: var(--ink-700); font-size: 15px; line-height: 24px; }
.pb-doc { display: grid; grid-template-columns: 260px minmax(0, 760px); gap: var(--space-12); padding-block: var(--space-8) var(--space-12); }
.pb-doc__nav { position: sticky; top: var(--space-6); display: flex; flex-direction: column; gap: 4px; align-self: start; }
.pb-doc__nav a { padding: 10px 12px; border-radius: var(--radius-md); font-weight: 600; font-size: 14px; color: var(--ink-700); }
.pb-doc__nav a:hover { background: var(--surface-head); }
.pb-doc__nav a.is-active { background: var(--night); color: var(--on-night); }
.pb-doc__updated { display: inline-flex; gap: 8px; align-items: center; padding: 8px 12px; border-radius: var(--radius-md); background: var(--surface-head); border: 1px solid var(--border); font-size: 13px; color: var(--ink-700); }
.pb-doc__updated svg.mg-i { width: 15px; height: 15px; color: var(--gold-700); }
.pb-prose--doc { font-size: 16px; line-height: 27px; }
.pb-prose--doc h2 { font-size: 22px; line-height: 28px; padding-top: var(--space-5); border-top: 1px solid var(--border); }
.pb-prose--doc table { width: 100%; border-collapse: collapse; font-size: 14px; }
.pb-prose--doc th, .pb-prose--doc td { padding: 10px 12px; border-bottom: 1px solid var(--border); text-align: left; vertical-align: top; }
.pb-prose--doc thead th { border-bottom: 2px solid var(--night); }

/* ================= TELEFONO ================= */
@media (max-width: 1100px) {
  .pb-front { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  .pb-front__side { grid-column: 1 / -1; border-left: 0; padding-left: 0; }
  .pb-art__grid { grid-template-columns: minmax(0, 1fr); }
  .pb-toc, .pb-aside { position: static; }
  .pb-toc { display: none; }
  .pb-routes { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 760px) {
  .pb-wrap { padding: 0 var(--space-4); }
  .pb-top__date, .pb-top__search { display: none; }
  .pb-front, .pb-split, .pb-grid--3, .pb-grid--4, .pb-tools, .pb-routes, .pb-news, .pb-masthead__row, .pb-hero__in, .pb-feature, .pb-trial, .pb-steps, .pb-contact, .pb-stats, .pb-values, .pb-doc, .pb-foot__grid, .pb-topics, .pb-trial__row, .pb-tools__laudatur { grid-template-columns: minmax(0, 1fr); }
  .pb-feature--flip > :first-child { order: 0; }
  .pb-h1, .pb-masthead__title, .pb-hero__title { font-size: 40px; line-height: 44px; }
  .pb-art__title { font-size: 34px; line-height: 40px; }
  .pb-story--lead .pb-h2 { font-size: 30px; line-height: 36px; }
  .pb-sec { flex-wrap: wrap; }
  .pb-doc__nav { position: static; flex-direction: row; overflow-x: auto; }
}


/* ================= INTEGRAZIONE NEL PROGETTO (08/10/2026) ================= */
/* La testata e il piè di pagina hanno la classe .pb; il <main> delle pagine non ancora rifatte resta Bootstrap (.pb-legacy). */
.pb-header { position: sticky; top: 0; z-index: 1020; }
.pb-top a.pb-logo:hover, .pb-top a.pb-logo:focus { color: var(--on-night); }
.pb-top__search { margin: 0 0 0 auto; }
.pb-top__login:hover { color: var(--on-night); text-decoration: underline; text-decoration-color: var(--gold-500); text-underline-offset: 4px; }
.pb-top__right form { margin: 0; }
.pb-top__staff { height: 34px; display: inline-flex; align-items: center; padding: 0 12px; border-radius: var(--radius-pill); border: 1px solid var(--night-line);
  color: var(--on-night); font: 600 13px/1 var(--font-sans); }
.pb-top__staff:hover { border-color: var(--gold-500); color: var(--on-night); }
/* sopra la ricerca: senza un gap minimo il logo e la data restano attaccati alla ricerca a 900px */
.pb-top__in { min-width: 0; }
/* link-componente: tengono il loro colore anche al passaggio (bootstrap/site.css non devono vincere) */
.pb a.mg-btn--primary:hover, .pb a.mg-btn--primary:focus, .pb a.mg-credits:hover, .pb a.mg-credits:focus { color: var(--ink-900); }
.pb a.mg-btn--dark:hover, .pb a.mg-btn--dark:focus { color: var(--on-night); }
.pb a.mg-btn--ghost:hover, .pb a.mg-btn--link:hover { color: var(--ink-900); }
.pb .mg-credits i svg.mg-i { width: 14px; height: 14px; }
.pb button.mg-avatar { padding: 0; cursor: pointer; }
.pb .mg-avatar.dropdown-toggle::after { display: none; }
/* menu a tendina dell'account (come nell'area privata) */
.pb .dropdown-menu { font: 500 14px/20px var(--font-sans); color: var(--ink-900); background: var(--surface); border: 1px solid var(--border);
  border-radius: var(--radius-md); box-shadow: var(--shadow-md); padding: var(--space-2); min-width: 240px; }
.pb .dropdown-item { display: flex; align-items: center; gap: var(--space-2); border-radius: var(--radius-sm); padding: var(--space-2) var(--space-3); color: var(--ink-900); }
.pb .dropdown-item svg.mg-i { width: 16px; height: 16px; color: var(--ink-500); }
.pb .dropdown-item:hover, .pb .dropdown-item:focus { background: var(--gold-50); color: var(--ink-900); }
.pb .dropdown-item:active, .pb .dropdown-item.is-active { background: var(--gold-100); color: var(--ink-900); }
.pb .dropdown-header { font: 600 13px/18px var(--font-sans); color: var(--ink-500); padding: var(--space-2) var(--space-3); max-width: 260px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.pb .dropdown-divider { border-color: var(--border); margin: var(--space-2) 0; }
.pb .dropdown-item .mg-badge { margin-left: auto; }
/* voce «Le Bussole» attiva */
.pb-nav a.pb-nav__tools.is-active { background: var(--gold-500); }
.pb-nav a.pb-nav__tools:hover { background: var(--gold-500); color: var(--ink-900); }
/* avvisi (progetto Laudatur pronto) sotto la testata */
.pb-avvisi { display: flex; flex-direction: column; gap: var(--space-2); padding-top: var(--space-4); }
.pb-avviso { display: flex; align-items: center; gap: var(--space-3); flex-wrap: wrap; padding: var(--space-3) var(--space-4); border-radius: var(--radius-md);
  background: var(--success-bg); color: var(--ink-900); border: 1px solid var(--border); font-size: 14px; line-height: 21px; }
.pb-avviso svg.mg-i { color: var(--success); }
.pb-avviso .mg-btn { margin-left: auto; }
/* piè di pagina */
.pb-foot__social:empty { display: none; }
.pb-foot ul button { background: none; border: 0; padding: 0; font: inherit; color: var(--on-night); cursor: pointer; text-align: left; }
.pb-foot ul button:hover { text-decoration: underline; text-decoration-color: var(--gold-500); text-underline-offset: 4px; }
.pb-foot a.pb-logo:hover { color: var(--on-night); }
.pb-foot__bottom a { color: var(--on-night-muted); }
.pb-foot__bottom a:hover { color: var(--on-night); }
/* ricerca al telefono: la barra nasconde il campo, resta l'icona che porta a /cerca */
.pb-top__searchbtn { display: none; width: 36px; height: 36px; border-radius: 50%; place-items: center; color: var(--on-night); border: 1px solid var(--night-line); }
.pb-top__searchbtn:hover { color: var(--gold-500); border-color: var(--gold-500); }
.pb-top__searchbtn svg.mg-i { width: 16px; height: 16px; }
/* menu e temi scorrono in orizzontale senza mostrare la barra di scorrimento */
.pb-nav__in, .pb-trend__in { scrollbar-width: none; }
.pb-nav__in::-webkit-scrollbar, .pb-trend__in::-webkit-scrollbar { display: none; }
/* «Area riservata» nella tendina: al telefono il bottone non sta nella barra */
.pb .dropdown-item.pb-solo-telefono { display: none; }
@media (max-width: 760px) { .pb .dropdown-item.pb-solo-telefono { display: flex; } }
/* tablet: la data esce dalla barra, la ricerca si restringe */
.pb-top__search { min-width: 0; }
.pb-top__right { flex: none; }
@media (max-width: 1100px) { .pb-top__date { display: none; } .pb-top__search { max-width: 300px; } }
/* telefoni stretti: «Accedi» porta allo stesso login di «Area riservata» */
@media (max-width: 400px) { .pb-top__login { display: none; } }
@media (max-width: 360px) { .pb-top .pb-logo { font-size: 16px; } .pb-top .pb-logo__mark { width: 24px; height: 24px; } .pb-top__in { gap: 6px; } }
/* contenuto delle pagine non ancora rifatte */
.pb-legacy { padding-top: var(--space-6); padding-bottom: var(--space-12); }
@media (max-width: 760px) {
  .pb-top__in { gap: var(--space-2); height: 56px; }
  .pb-top .pb-logo { font-size: 18px; gap: 8px; }
  .pb-top .pb-logo__mark { width: 28px; height: 28px; }
  .pb-top__right { margin-left: auto; }
  .pb-top__searchbtn { display: grid; }
  .pb-top__staff, .pb-top__right .pb-top__area--utente { display: none; }
  .pb-top__right .mg-btn { height: 36px; padding: 0 12px; font-size: 13px; }
  .pb-top__login { padding: 0 6px; }
  .pb-nav__in { height: 50px; }
  .pb-nav a.pb-nav__item { padding: 0 10px; font-size: 14px; }
  .pb-foot__bottom .end { margin-left: 0; }
}

/* ================= HOME (08/10/2026) ================= */
/* foto vere nelle card: coprono gli anelli della bussola del segnaposto */
.pb-img > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: 1; }
.pb-img--foto { background: var(--surface-alt); }
.pb-img--foto::before, .pb-img--foto::after { display: none; }
.pb-img__tag { z-index: 2; }
.pb-front--due { grid-template-columns: minmax(0, 1.65fr) 300px; }
.pb-front__secondo { padding-top: var(--space-6); border-top: 1px solid var(--border); }
.pb-h4--grande { font-size: 20px; line-height: 26px; }
.pb-promo > * { position: relative; z-index: 1; }
.pb-promo__cta { align-self: flex-start; }
.pb-promo:hover .pb-promo__cta { background: var(--gold-600); }
.pb-split__in { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); gap: var(--space-6); }
.pb-split__in--uno { grid-template-columns: minmax(0, 1fr); }
.pb-box--news { border-top: 4px solid var(--night); border-radius: 0 0 var(--radius-md) var(--radius-md); }
.pb-box--news .pb-box__title { border: 0; padding: 0; }
.pb-box__link { display: block; margin-top: 4px; }
.pb-box__more { margin-top: var(--space-4); }
.pb-sec__num--light { color: var(--gold-500); }
.pb-avatar--foto { object-fit: cover; padding: 0; }
/* newsletter: campo con l'input dentro, messaggi sotto il campo */
.pb-news .mg-input input { flex: 1; min-width: 0; border: 0; outline: 0; background: none; font: inherit; color: inherit; height: 100%; }
.pb-news .mg-input:focus-within { border-color: var(--gold-600); box-shadow: var(--focus-ring); }
.pb-news__row .mg-btn { height: 44px; }
.pb-news__err { display: block; font-size: 13px; line-height: 18px; color: var(--danger); }
.pb-news__err:empty, .pb-news__err.validation-summary-valid { display: none; }
.pb-news__err ul { margin: 0; padding-left: 1.1em; }
.pb-news__ok { margin: 0; display: flex; gap: 10px; align-items: flex-start; padding: var(--space-4); border-radius: var(--radius-md); background: var(--success-bg); color: var(--ink-900); font-weight: 600; }
.pb-news__ok svg.mg-i { color: var(--success); margin-top: 3px; }
.pb-hp { position: absolute; left: -9999px; width: 1px; height: 1px; opacity: 0; }

/* Card d'impatto delle Bussole: emblema, nome grande, rosa dei venti in filigrana, filetto oro che si allunga al passaggio */
.pb-bcards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-5); }
.pb-bcard { position: relative; overflow: hidden; display: flex; flex-direction: column; gap: var(--space-5); padding: var(--space-6);
  border-radius: var(--radius-lg); background: linear-gradient(160deg, var(--night-800) 0%, var(--night) 100%); border: 1px solid var(--night-line);
  color: var(--on-night); min-height: 380px; transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease; }
.pb-bcard::before { content: ""; position: absolute; left: 0; top: 0; height: 4px; width: 100%; background: var(--gold-500); transform: scaleX(.22); transform-origin: left; transition: transform .35s ease; z-index: 1; }
.pb-bcard:hover { transform: translateY(-4px); border-color: var(--gold-500); box-shadow: var(--shadow-md); color: var(--on-night); }
.pb-bcard:hover::before { transform: scaleX(1); }
.pb-bcard > *:not(.pb-bcard__rosa) { position: relative; z-index: 1; }
.pb-bcard__rosa { position: absolute; right: -70px; bottom: -70px; width: 260px; height: 260px; color: var(--gold-500); opacity: .13; transition: transform .8s ease, opacity .3s ease; pointer-events: none; }
.pb-bcard__rosa svg { width: 100%; height: 100%; fill: none; stroke: currentColor; stroke-width: 1.5; }
.pb-bcard__rosa .ago { fill: currentColor; stroke: none; }
.pb-bcard:hover .pb-bcard__rosa { transform: rotate(25deg); opacity: .2; }
.pb-bcard__head { display: flex; align-items: center; gap: var(--space-4); }
.pb-bcard__logo { width: 76px; height: 76px; flex: none; border-radius: 50%; display: grid; place-items: center;
  box-shadow: 0 0 0 6px color-mix(in srgb, var(--gold-500) 16%, transparent); transition: box-shadow .2s ease; }
.pb-bcard:hover .pb-bcard__logo { box-shadow: 0 0 0 9px color-mix(in srgb, var(--gold-500) 24%, transparent); }
.pb-bcard__logo img { width: 100%; height: 100%; border-radius: 50%; object-fit: cover; }
.pb-emblema { width: 100%; height: 100%; display: block; }
.pb-emblema__disco { fill: var(--gold-500); }
.pb-emblema__anello { fill: none; stroke: var(--night); stroke-opacity: .3; stroke-width: 1.5; }
.pb-emblema__tacche line { stroke: var(--night); stroke-width: 2.5; stroke-linecap: round; }
.pb-emblema__simbolo { fill: none; stroke: var(--night); stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.pb-bcard__label { display: block; font: 800 11px/16px var(--font-sans); letter-spacing: .14em; text-transform: uppercase; color: var(--gold-500); }
.pb-bcard__name { margin: 2px 0 0; font: 800 30px/34px var(--font-display); letter-spacing: -.02em; color: var(--on-night); }
.pb-bcard__desc { margin: 0; font-size: 15px; line-height: 24px; color: var(--on-night-muted); }
.pb-bcard__checks { list-style: none; margin: 0; padding: var(--space-4) 0 0; border-top: 1px solid var(--night-line); display: flex; flex-direction: column; gap: 8px; font-size: 14px; line-height: 20px; }
.pb-bcard__checks li { display: flex; gap: 10px; align-items: center; }
.pb-bcard__checks svg.mg-i { width: 16px; height: 16px; color: var(--gold-500); }
.pb-bcard__foot { margin-top: auto; display: flex; flex-direction: column; gap: var(--space-4); }
.pb-bcard__chips { display: flex; flex-wrap: wrap; gap: 6px; }
.pb-bcard__chips > span { padding: 4px 10px; border-radius: var(--radius-pill); border: 1px solid var(--night-line); font: 600 12px/16px var(--font-sans); color: var(--on-night-muted); }
.pb-bcard__chips > span:first-child { border-color: var(--gold-500); color: var(--gold-500); }
.pb-bcard__cta { width: 100%; height: 46px; }
.pb-bcard__cta svg.mg-i { width: 16px; height: 16px; transition: transform .2s ease; }
.pb-bcard:hover .pb-bcard__cta { background: var(--gold-600); }
.pb-bcard:hover .pb-bcard__cta svg.mg-i { transform: translateX(3px); }
.pb-fascia-bussole .pb-tools__laudatur .pb-kicker { color: var(--ink-700); }
@media (max-width: 1100px) {
  .pb-front--due { grid-template-columns: minmax(0, 1fr); }
  .pb-bcards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 760px) {
  .pb-bcards, .pb-split__in { grid-template-columns: minmax(0, 1fr); }
  .pb-bcard { min-height: 0; padding: var(--space-5); }
  .pb-bcard__logo { width: 64px; height: 64px; }
  .pb-bcard__name { font-size: 26px; line-height: 30px; }
  .pb-news { padding: var(--space-5); }
  .pb-news__row { flex-direction: column; }
}
@media (prefers-reduced-motion: reduce) {
  .pb-bcard, .pb-bcard::before, .pb-bcard__rosa, .pb-bcard__logo { transition: none; }
}

/* ================= PAGINE ISTITUZIONALI (09/10/2026) ================= */
.pb-masthead--doc { padding-bottom: var(--space-6); }
.pb-masthead__kicker { margin-top: var(--space-6); }
.pb-masthead__title--doc { font-size: 52px; line-height: 56px; }
.pb-answer--doc { margin: 0; }
.pb-answer--doc p { font-size: 16px; line-height: 26px; }
.pb-prose--doc > :first-child { margin-top: 0; }
.pb-prose--doc h2 { scroll-margin-top: 130px; }
.pb-prose--doc ul { padding-left: 1.2em; }
.pb-prose--doc li + li { margin-top: .6em; }
.pb-prose--doc em { color: var(--ink-500); }
.pb-prose--doc .mg-btn { text-decoration: none; }
.pb-doc__nav a.is-active:hover { background: var(--night); color: var(--on-night); }
@media (max-width: 760px) {
  .pb-masthead__title--doc { font-size: 34px; line-height: 40px; }
  .pb-doc { gap: var(--space-6); padding-top: var(--space-5); }
  .pb-doc__nav { gap: 6px; scrollbar-width: none; }
  .pb-doc__nav a { white-space: nowrap; border: 1px solid var(--border); }
  .pb-prose--doc { min-width: 0; overflow-wrap: anywhere; }
}
/* spaziatura del testo: «.pb-prose p { margin: 0 }» annullava lo stacco tra paragrafi ed elenchi (09/10/2026) */
.pb-prose > * + :is(p, ul, ol, table, blockquote, div, figure) { margin-top: 1.1em; }
/* tabelle nelle pagine istituzionali (cookie policy): nomi tecnici in carattere a spaziatura fissa, a capo dove serve;
   al telefono la tabella scorre da sola invece di allargare la pagina */
.pb-prose--doc td:first-child { font: 600 13px/20px ui-monospace, "SFMono-Regular", Consolas, monospace; overflow-wrap: anywhere; min-width: 9em; }
.pb-prose--doc th { font: 800 12px/16px var(--font-sans); letter-spacing: .06em; text-transform: uppercase; color: var(--ink-500); }
@media (max-width: 760px) {
  .pb-prose--doc table { display: block; overflow-x: auto; }
  /* tabelle dei cookie: al telefono una scheda per cookie (nome, a cosa serve, durata) */
  .pb-prose--doc table.pb-cookie, .pb-cookie tbody, .pb-cookie tr, .pb-cookie td { display: block; overflow: visible; }
  .pb-cookie thead { display: none; }
  .pb-cookie tr { padding: 12px 0; border-bottom: 1px solid var(--border); }
  .pb-cookie td { padding: 2px 0; border: 0; }
  .pb-cookie td:last-child { color: var(--ink-500); font-size: 13px; }
  .pb-cookie td:last-child::before { content: "Durata: "; font-weight: 700; color: var(--ink-700); }
}

/* ================= ARTICOLO (09/10/2026) ================= */
.pb-art__kicker { display: flex; gap: 12px; align-items: center; margin-top: var(--space-6); flex-wrap: wrap; }
.pb-art__byline .who { min-width: 0; }
.pb-art__tools a.pb-iconbtn:hover { color: var(--ink-900); }
.pb-iconbtn i { font-size: 15px; }
.pb-iconbtn.is-copiato { border-color: var(--success); color: var(--success); }
.pb-art__main { display: flex; flex-direction: column; gap: var(--space-8); min-width: 0; }
.pb-answer--art { margin: 0; }
.pb-prose > :first-child { margin-top: 0; }
.pb-prose img { border-radius: var(--radius-md); height: auto; }
.pb-prose h2 { scroll-margin-top: 130px; }
.pb-art [data-toc] { scroll-margin-top: 130px; }
.pb-toc a:hover { color: var(--ink-900); }
.pb-inline-tool__tag { display: block; font: 800 11px/16px var(--font-sans); letter-spacing: .1em; text-transform: uppercase; color: var(--gold-700); margin-bottom: 2px; }
.pb-inline-tool > div { min-width: 0; }
.pb-sec--piccola { margin-bottom: var(--space-4); }
.pb-sec--piccola .pb-sec__title { font-size: 20px; line-height: 24px; }
.pb-sec--senzamargine { margin-bottom: 0; }
.pb-faq--art { border-top: 0; }
.pb-faq__risposta { margin: 0 0 var(--space-5); color: var(--ink-700); max-width: 760px; }
.pb-faq__risposta > * { margin: 0; }
.pb-faq__risposta > * + * { margin-top: .8em; }
.pb-numlist--piccola .pb-h4 { font-size: 15px; line-height: 21px; }
.pb-box--alt { background: var(--surface-alt); }
.pb-box__testo { margin: 0 0 12px; font-size: 14px; line-height: 22px; color: var(--ink-700); }
.pb-authorbox__social { display: flex; gap: 8px; margin-top: 10px; }
.pb-authorbox__social a { width: 32px; height: 32px; border-radius: 50%; border: 1px solid var(--border-strong); display: grid; place-items: center; color: var(--ink-700); font-size: 14px; }
.pb-authorbox__social a:hover { border-color: var(--ink-900); color: var(--ink-900); }
.pb-authorbox h4 a:hover { text-decoration: underline; text-decoration-color: var(--gold-500); text-underline-offset: 3px; }
.pb-authorbox__link { display: inline-flex; align-items: center; gap: 6px; margin-top: 10px; font-weight: 700; font-size: 14px; text-decoration: underline; text-decoration-color: var(--gold-500); text-underline-offset: 3px; }
.pb-authorbox__link svg.mg-i { width: 15px; height: 15px; }
.pb-avviso--info { background: var(--info-bg); }
.pb-avviso--info svg.mg-i { color: var(--info); }
.pb-art__altri { margin-top: var(--space-12); }
.pb-anteprima { padding-top: var(--space-5); }
@media (max-width: 760px) {
  .pb-art__head { padding-block: var(--space-5) var(--space-5); }
  .pb-art__tools { margin-left: 0; }
  .pb-inline-tool { grid-template-columns: auto minmax(0, 1fr); }
  .pb-inline-tool .mg-btn { grid-column: 1 / -1; justify-self: start; }
  .pb-authorbox { grid-template-columns: minmax(0, 1fr); padding: var(--space-5); }
  .pb-prose { font-size: 17px; line-height: 29px; }
}
/* apertura senza immagine: una fascia bassa con gli anelli della bussola, invece di un blocco 21:9 vuoto */
.pb-img--fascia { aspect-ratio: auto; height: 120px; }
.pb-img--fascia::before { width: 360px; right: -60px; top: -170px; }
.pb-img--fascia::after { width: 220px; right: 40px; top: -90px; }
@media (max-width: 760px) { .pb-img--fascia { height: 72px; } }
/* griglia dell'articolo per aree: senza indice (meno di due titoli) il testo resta nella colonna centrale */
.pb-art__grid { grid-template-areas: "toc main aside"; }
.pb-toc { grid-area: toc; }
.pb-art__main { grid-area: main; }
.pb-art__grid > .pb-aside { grid-area: aside; }
@media (max-width: 1100px) { .pb-art__grid { grid-template-areas: "main" "aside"; } }
/* «.pb-inline-tool span» del designer colorava anche il riquadro dell'icona: l'icona torna oro sul fondo antracite */
.pb-inline-tool span.mg-tile--dark { color: var(--gold-500); }
