/* =============================================
   TroisiInsight v3.0 — articoli, archivio, grafici
   ============================================= */
.ti-card-link { display: block; color: inherit; }
.ti-card-link:hover h3 { color: var(--blu-chiaro); }
a.prev-item { display: block; }
a.prev-item:hover { color: var(--blu-chiaro); }

.ti-single { background: var(--bianco); padding: 40px 20px 64px; }
.ti-post { max-width: 760px; margin: 0 auto; }
.ti-post-header { border-bottom: 1px solid var(--bordo); padding-bottom: 22px; margin-bottom: 28px; }
.ti-post-kicker { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; font-size: 0.78rem; color: var(--grigio); text-transform: uppercase; letter-spacing: .06em; font-weight: 600; margin-bottom: 14px; }
.ti-post-tag { background: var(--blu); color: var(--bianco); padding: 3px 10px; border-radius: 4px; }
.ti-post h1 { font-size: clamp(1.6rem, 4vw, 2.4rem); line-height: 1.15; color: var(--blu); font-weight: 800; margin-bottom: 14px; }
.ti-post-sommario { font-size: 1.12rem; color: #374151; line-height: 1.55; margin-bottom: 14px; }
.ti-post-byline { font-size: 0.85rem; color: var(--grigio); }

.ti-post-body { font-size: 1.05rem; line-height: 1.75; color: var(--testo); }
.ti-post-body p { margin: 0 0 1.1em; }
.ti-post-body h2 { font-size: 1.35rem; color: var(--blu); margin: 1.8em 0 .6em; line-height: 1.3; }
.ti-post-body h3 { font-size: 1.1rem; color: var(--blu); margin: 1.4em 0 .5em; }
.ti-post-body ul, .ti-post-body ol { margin: 0 0 1.2em 1.3em; }
.ti-post-body li { margin-bottom: .35em; }
.ti-post-body a { color: var(--blu-chiaro); text-decoration: underline; text-underline-offset: 2px; }
.ti-post-body strong { color: var(--blu); }

.ti-kpi { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 12px; margin: 1.4em 0 1.8em; }
.ti-kpi div { background: var(--grigio-bg); border: 1px solid var(--bordo); border-radius: 10px; padding: 14px 16px; }
.ti-kpi b { display: block; font-size: 1.6rem; line-height: 1.1; color: var(--blu); font-weight: 800; }
.ti-kpi span { display: block; font-size: 0.78rem; color: var(--grigio); margin-top: 4px; line-height: 1.35; }

.ti-chart { margin: 1.8em 0 2em; background: var(--bianco); border: 1px solid var(--bordo); border-radius: 12px; padding: 18px 18px 12px; }
.ti-chart .ti-chart-title { font-size: 1rem; font-weight: 800; color: var(--blu); line-height: 1.3; }
.ti-chart .ti-chart-sub { font-size: 0.8rem; color: var(--grigio); margin: 2px 0 10px; }
.ti-chart svg { width: 100%; height: auto; display: block; overflow: visible; font-family: 'Segoe UI', system-ui, sans-serif; }
.ti-chart figcaption { font-size: 0.74rem; color: var(--grigio); border-top: 1px solid var(--bordo); margin-top: 10px; padding-top: 8px; line-height: 1.45; }
.ti-chart .ti-legend { display: flex; flex-wrap: wrap; gap: 14px; font-size: 0.78rem; color: #374151; margin-bottom: 6px; }
.ti-chart .ti-legend i { display: inline-block; width: 12px; height: 12px; border-radius: 3px; margin-right: 5px; vertical-align: -1px; }

.ti-box { background: var(--grigio-bg); border-left: 4px solid var(--accento); border-radius: 6px; padding: 16px 18px; margin: 2em 0 1em; font-size: 0.9rem; line-height: 1.6; color: #374151; }
.ti-box strong { display: block; color: var(--blu); margin-bottom: 4px; }
.ti-box p { margin: 0 0 .5em; }

.ti-post-footer { margin-top: 40px; border-top: 1px solid var(--bordo); padding-top: 22px; }
.ti-autore { display: flex; gap: 14px; align-items: center; font-size: 0.88rem; color: #374151; line-height: 1.5; }
.ti-autore-badge { flex: 0 0 48px; height: 48px; border-radius: 50%; background: var(--blu); color: var(--bianco); display: flex; align-items: center; justify-content: center; font-weight: 800; }
.ti-share { display: flex; flex-wrap: wrap; gap: 18px; margin: 18px 0; font-size: 0.88rem; font-weight: 700; }
.ti-share a { color: var(--blu-chiaro); }
.ti-post-nav { display: flex; justify-content: space-between; gap: 20px; font-size: 0.86rem; }
.ti-post-nav a { color: var(--blu); font-weight: 600; }
.ti-post-nav div:last-child { text-align: right; }

.ti-archivio { max-width: 900px; margin: 0 auto; }
.ti-lista { display: grid; gap: 14px; margin-top: 18px; }
.ti-lista-item { display: block; border: 1px solid var(--bordo); border-radius: 10px; padding: 18px 20px; background: var(--bianco); transition: box-shadow .2s, border-color .2s; }
.ti-lista-item:hover { box-shadow: 0 4px 20px rgba(0,0,0,.07); border-color: var(--blu-chiaro); }
.ti-lista-meta { font-size: 0.74rem; color: var(--grigio); text-transform: uppercase; letter-spacing: .05em; font-weight: 600; }
.ti-lista-item h2 { font-size: 1.1rem; color: var(--blu); margin: 6px 0; line-height: 1.35; }
.ti-lista-item p { font-size: 0.9rem; color: #4b5563; }
.ti-paginazione { margin-top: 26px; font-size: 0.9rem; }
.ti-paginazione .nav-links { display: flex; gap: 10px; flex-wrap: wrap; }
.ti-paginazione a, .ti-paginazione span { padding: 6px 12px; border: 1px solid var(--bordo); border-radius: 6px; }
.ti-paginazione .current { background: var(--blu); color: var(--bianco); border-color: var(--blu); }

.ti-home-chart .ti-chart { margin: 0; border: 0; border-radius: 0; }

@media (max-width: 640px) {
  .ti-single { padding: 26px 16px 48px; }
  .ti-post-body { font-size: 1rem; }
  .ti-chart { padding: 14px 12px 10px; }
}
