/* ══════════════════════════════════════════════════════════════
   PRIMA GLI ULTIMI — foglio di stile comune degli articoli lunghi
   (articolo-3, articolo-4, articolo-5, articolo-6)
   ══════════════════════════════════════════════════════════════ */

:root {
  /* brand */
  --terra:   #B44028;
  --terradk: #8C3018;
  --cream:   #F2DFB8;
  --creamlt: #FAF3E3;
  --ink:     #1E0E08;
  --muted:   #7A5A42;
  --border:  #DECCAA;
  /* articolo */
  --rosso: #c0392b; --rosso-scuro: #922b21; --rosso-chiaro: #e8c3c0;
  --oro: #d4a017; --nero: #0d1b2e; --grigio-scuro: #0f2240;
  --grigio-testo: #3a3a3a; --crema-art: #f5f0e8; --crema-scuro: #ede7d9; --bianco: #fafaf7;
}
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
@keyframes ticker { from { transform: translateX(100vw); } to { transform: translateX(-100%); } }

/* ── NAV / TICKER ── */
.plu-header { background: var(--terra); position: sticky; top: 0; z-index: 200; border-bottom: 3px solid var(--terradk); }
.plu-nav-inner { max-width: 1200px; margin: 0 auto; padding: 0 20px; height: 62px; display: flex; align-items: center; gap: 20px; }
.plu-nav-inner nav { display: flex; gap: 20px; align-items: center; flex: 1; overflow-x: auto; }
.plu-nl { font-family: 'Barlow Condensed', sans-serif; font-weight: 700; font-size: 13px; letter-spacing: 2px; text-transform: uppercase; color: var(--cream); opacity: .7; text-decoration: none; padding-bottom: 2px; border-bottom: 2px solid transparent; transition: opacity .18s, border-color .18s; white-space: nowrap; }
.plu-nl:hover { opacity: 1; border-bottom-color: var(--cream); }
.plu-ticker-wrap { background: var(--terradk); overflow: hidden; padding: 6px 0; }
.plu-ticker-inner { display: inline-block; white-space: nowrap; font-family: 'Barlow Condensed', sans-serif; font-weight: 700; font-size: 11px; letter-spacing: 2.5px; text-transform: uppercase; color: var(--cream); animation: ticker 34s linear infinite; }
.plu-badge { font-family: 'Barlow Condensed', sans-serif; font-weight: 700; font-size: 10px; letter-spacing: 2.5px; text-transform: uppercase; display: inline-block; padding: 3px 9px; background: var(--cream); color: var(--terra); }
.back-link { display: inline-block; margin: 32px 0 0; font-family: 'Barlow Condensed', sans-serif; font-weight: 700; font-size: 13px; letter-spacing: 2px; text-transform: uppercase; color: var(--terra); text-decoration: none; }
.back-link:hover { opacity: .7; }

/* ── FOOTER ── */
.plu-footer { background: var(--terra); color: var(--cream); padding: 36px 20px; border-top: 4px solid var(--terradk); }
.plu-footer-inner { max-width: 1200px; margin: 0 auto; display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 20px; }
.plu-footer blockquote { font-family: 'Source Serif 4', serif; font-style: italic; font-size: 16px; opacity: .85; max-width: 360px; line-height: 1.65; text-align: center; border: none; background: none; padding: 0; margin: 0; color: var(--cream); }
.plu-footer-cats { display: flex; flex-direction: column; align-items: flex-end; gap: 4px; }
.plu-footer-cats span { font-family: 'Barlow Condensed', sans-serif; font-size: 12px; letter-spacing: 2px; text-transform: uppercase; opacity: .7; }

/* ── CORPO ── */
body { background: var(--crema-art); color: var(--grigio-testo); font-family: 'Source Serif 4', Georgia, serif; font-weight: 300; line-height: 1.8; font-size: 18px; }
.art-header { background: var(--nero); color: var(--crema-art); padding: 0; overflow: hidden; }
.header-stripe { height: 6px; background: linear-gradient(90deg, var(--rosso) 0%, var(--oro) 50%, var(--rosso) 100%); }
.header-inner { max-width: 900px; margin: 0 auto; padding: 48px 40px 44px; }
.label-rivista { font-family: 'JetBrains Mono', monospace; font-size: 11px; letter-spacing: 4px; text-transform: uppercase; color: var(--oro); margin-bottom: 20px; display: block; }
h1 { font-family: 'Playfair Display', serif; font-size: clamp(30px, 5vw, 54px); font-weight: 900; line-height: 1.1; color: var(--bianco); margin-bottom: 22px; }
h1 em { color: var(--rosso-chiaro); font-style: italic; }
.sottotitolo { font-family: 'Source Serif 4', serif; font-size: 18px; font-weight: 300; font-style: italic; color: #b0a090; line-height: 1.5; border-left: 3px solid var(--rosso); padding-left: 18px; max-width: 700px; }
.sottotitolo strong { color: var(--rosso-chiaro); font-weight: 600; }
.meta { margin-top: 28px; font-family: 'JetBrains Mono', monospace; font-size: 11px; color: #666; letter-spacing: 2px; }
.contenuto { max-width: 900px; margin: 0 auto; padding: 52px 40px; }
h2 { font-family: 'Playfair Display', serif; font-size: clamp(20px, 3.5vw, 32px); font-weight: 700; color: var(--nero); margin: 60px 0 18px; padding-top: 18px; border-top: 2px solid var(--rosso); line-height: 1.2; }
h3 { font-family: 'Playfair Display', serif; font-size: 19px; font-weight: 700; font-style: italic; color: var(--rosso-scuro); margin: 32px 0 10px; }
p { margin-bottom: 20px; }
strong { font-weight: 600; color: var(--nero); }
blockquote { border-left: 5px solid var(--rosso); background: var(--crema-scuro); margin: 32px 0; padding: 22px 28px; font-size: 19px; font-style: italic; color: var(--grigio-scuro); line-height: 1.5; }
blockquote footer { margin-top: 10px; font-size: 12px; font-style: normal; font-family: 'JetBrains Mono', monospace; color: #888; letter-spacing: 1px; }
.box-tesi { background: var(--rosso); color: white; padding: 32px 36px; margin: 36px 0; position: relative; }
.box-tesi::before { content: '❝'; font-size: 72px; position: absolute; top: -10px; left: 16px; opacity: .15; font-family: serif; line-height: 1; }
.box-tesi p { font-size: 18px; font-weight: 600; line-height: 1.5; margin: 0; font-family: 'Playfair Display', serif; }

/* ── SEZIONI A SCHEDA (varianti "nazione" e "tema") ── */
.sezione-nazione, .sezione-tema { background: white; border: 1px solid #ddd; padding: 0; margin: 46px 0; box-shadow: 4px 4px 0 var(--rosso-chiaro); }
.nazione-header, .tema-header { background: var(--grigio-scuro); color: white; padding: 18px 28px; display: flex; align-items: center; gap: 14px; }
.bandiera, .tema-icona { font-size: 32px; }
.nazione-titolo, .tema-titolo { font-family: 'Playfair Display', serif; font-size: 20px; font-weight: 700; }
.nazione-sottotitolo, .tema-sottotitolo { font-size: 12px; color: #aaa; font-family: 'JetBrains Mono', monospace; letter-spacing: 1px; }
.nazione-corpo, .tema-corpo { padding: 28px; }

/* ── GRAFICI ── */
.chart-container { margin: 26px 0; background: var(--crema-scuro); padding: 20px; border-radius: 2px; }
.chart-titolo { font-family: 'JetBrains Mono', monospace; font-size: 11px; letter-spacing: 2px; text-transform: uppercase; color: var(--rosso-scuro); margin-bottom: 14px; }
svg text { font-family: 'Source Serif 4', serif; }
.diagramma-ciclo { margin: 36px 0; text-align: center; }

/* ── TABELLE ── */
.tabella-wrapper { overflow-x: auto; margin: 28px 0; }
table { width: 100%; border-collapse: collapse; font-size: 15px; }
th { background: var(--grigio-scuro); color: white; padding: 11px 14px; text-align: left; font-family: 'JetBrains Mono', monospace; font-size: 11px; letter-spacing: 1px; text-transform: uppercase; }
td { padding: 11px 14px; border-bottom: 1px solid #ddd; vertical-align: top; }
tr:nth-child(even) td { background: var(--crema-scuro); }
tr:hover td { background: #f0e8dc; }
.td-verde { color: #1a7a3a; font-weight: 600; }
.td-rosso { color: var(--rosso); font-weight: 600; }
.td-oro { color: var(--oro); font-weight: 600; }

/* ── BOX FORMULA ── */
.formula-box { background: var(--nero); color: var(--crema-art); padding: 24px 32px; margin: 32px 0; font-family: 'JetBrains Mono', monospace; font-size: 13px; line-height: 2; }
.formula-titolo { color: var(--oro); font-size: 11px; letter-spacing: 3px; text-transform: uppercase; margin-bottom: 10px; display: block; }
.formula-eq { color: var(--rosso-chiaro); font-size: 15px; font-weight: 700; }

/* ── CARD E TIMELINE ── */
.icone-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: 14px; margin: 22px 0; }
.icona-card { background: white; border: 1px solid #ddd; padding: 18px 14px; text-align: center; }
.icona-card .emoji { font-size: 28px; display: block; margin-bottom: 6px; }
.icona-card .label { font-family: 'JetBrains Mono', monospace; font-size: 10px; letter-spacing: 1px; color: var(--grigio-testo); text-transform: uppercase; }
.icona-card .valore { font-family: 'Playfair Display', serif; font-size: 20px; font-weight: 700; color: var(--rosso); display: block; margin-top: 4px; }
.timeline { margin: 28px 0; }
.tl-item { display: flex; gap: 18px; margin-bottom: 18px; position: relative; }
.tl-item::before { content: ''; position: absolute; left: 37px; top: 38px; bottom: -18px; width: 2px; background: #ddd; }
.tl-item:last-child::before { display: none; }
.tl-anno { min-width: 74px; height: 36px; background: var(--grigio-scuro); color: white; display: flex; align-items: center; justify-content: center; font-family: 'JetBrains Mono', monospace; font-size: 11px; font-weight: 700; letter-spacing: 1px; flex-shrink: 0; position: relative; z-index: 1; }
.tl-anno.rosso { background: var(--rosso); }
.tl-testo { padding: 7px 0; font-size: 16px; line-height: 1.55; }

/* ── BANNER STATISTICO ── */
.stat-banner { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 2px; margin: 32px 0; background: #ddd; border: 1px solid #ddd; }
.stat-cell { background: var(--nero); padding: 22px 18px; text-align: center; }
.stat-cell .num { font-family: 'Playfair Display', serif; font-size: 34px; font-weight: 900; color: var(--oro); line-height: 1; display: block; margin-bottom: 6px; }
.stat-cell .desc { font-family: 'JetBrains Mono', monospace; font-size: 10px; letter-spacing: 1.5px; text-transform: uppercase; color: #aaa; line-height: 1.5; }

/* ── CONCLUSIONE ── */
.box-conclusione { background: var(--nero); color: var(--crema-art); padding: 44px; margin: 44px 0 0; }
.box-conclusione h2 { color: var(--crema-art); border: none; border-bottom: 2px solid var(--oro); padding-bottom: 14px; margin-bottom: 20px; margin-top: 0; padding-top: 0; }
.box-conclusione p { color: #ccc; }
.box-conclusione strong { color: var(--crema-art); }
.box-conclusione td { color: #d0c8bc; border-bottom: 1px solid #2a4a6e; }
.box-conclusione tr:nth-child(even) td { background: rgba(255,255,255,0.06); }
.box-conclusione tr:hover td, .box-conclusione tr:active td { background: rgba(255,255,255,0.12); }

.sep { width: 56px; height: 3px; background: var(--rosso); margin: 36px 0; }
.art-footer-note { background: var(--grigio-scuro); color: #888; text-align: center; padding: 20px 40px; font-family: 'JetBrains Mono', monospace; font-size: 11px; letter-spacing: 1px; line-height: 1.8; }
.art-footer-note a { color: #aaa; }

/* ── BOX AZIONE ── */
.box-azione { background: var(--crema-scuro); border-left: 4px solid var(--oro); padding: 28px 32px; margin: 36px 0; }
.box-azione h3 { margin-top: 0; color: var(--nero); font-style: normal; }
.box-azione ol { margin: 0 0 0 20px; }
.box-azione li { margin-bottom: 14px; font-size: 16px; line-height: 1.6; }

/* ── NOTE / CITAZIONI ── */
.fnote { font-size: 10px; vertical-align: super; text-decoration: none; color: var(--rosso); font-weight: 800; margin-left: 1px; padding: 0 1px; }
.fnote:hover { text-decoration: underline; }
.box-note { background: var(--bianco); border: 1px solid #ddd; padding: 28px 32px; margin: 36px 0; }
.box-note h3 { margin-top: 0; color: var(--nero); font-style: normal; }
.box-note ol { margin: 0 0 0 20px; font-size: 14px; line-height: 1.9; }
.box-note li { margin-bottom: 6px; }
.box-note a { color: var(--rosso-scuro); word-break: break-word; }

/* ── MOBILE ── */
@media (max-width: 640px) {
  .contenuto { padding: 32px 16px; }
  .header-inner { padding: 36px 16px; }
  .nazione-corpo, .tema-corpo { padding: 18px; }
  .box-conclusione { padding: 24px 18px; }
  .box-azione { padding: 20px 18px; }
  .box-note { padding: 20px 18px; }
  .plu-nav-inner { padding: 0 14px; }
  .stat-cell .num { font-size: 26px; }
}
