/*
Theme Name: Osservatorio 2026
Description: Tema proprio di osservatoriomondoretail.com. Ogni analisi si presenta con il suo numero e con la fonte da cui viene.
Author: magicstore
Version: 1.3.0
Requires PHP: 7.4
Text Domain: osservatorio-2026
*/
@font-face { font-family: 'Archivo'; font-style: normal; font-weight: 400 900; font-stretch: 62% 125%; font-display: swap; src: url(assets/fonts/archivo-normal-latin-ext.woff2) format('woff2'); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: 'Archivo'; font-style: normal; font-weight: 400 900; font-stretch: 62% 125%; font-display: swap; src: url(assets/fonts/archivo-normal-latin.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'Source Serif 4'; font-style: italic; font-weight: 400 700; font-display: swap; src: url(assets/fonts/source-serif-4-italic-latin-ext.woff2) format('woff2'); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: 'Source Serif 4'; font-style: italic; font-weight: 400 700; font-display: swap; src: url(assets/fonts/source-serif-4-italic-latin.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'Source Serif 4'; font-style: normal; font-weight: 400 700; font-display: swap; src: url(assets/fonts/source-serif-4-normal-latin-ext.woff2) format('woff2'); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: 'Source Serif 4'; font-style: normal; font-weight: 400 700; font-display: swap; src: url(assets/fonts/source-serif-4-normal-latin.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
:root {
  --carta: #ffffff;
  --nebbia: #eef2e8;
  --inchiostro: #17211b;
  --grigio: #5c675f;
  --linea: #d5dccd;
  --verde: #8fb81a;        /* il verde del logo: campiture e segni, mai testo */
  --verde-scuro: #3b5b12;  /* link e valori in crescita */
  --calo: #c2341d;         /* solo per i valori in calo */
  --titoli: "Archivo", "Helvetica Neue", Arial, sans-serif;
  --testo: "Source Serif 4", Georgia, serif;
  --larghezza: 1180px;
}

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body { margin: 0; background: var(--carta); color: var(--inchiostro); font-family: var(--titoli); font-size: 16px; line-height: 1.45; overflow-x: clip; }
img { max-width: 100%; height: auto; display: block; }
a { color: inherit; text-decoration: none; }
a:hover { text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: 3px; }
a:focus-visible, summary:focus-visible, button:focus-visible, input:focus-visible { outline: 3px solid var(--inchiostro); outline-offset: 3px; }
h1, h2, h3, p, ul, ol, figure, dl, dd { margin: 0; padding: 0; }
ul, ol { list-style: none; }

.contenitore { max-width: var(--larghezza); margin: 0 auto; padding: 0 24px; }

/* il numero: la cifra stretta e pesante è il segno del sito */
.cifra { font-family: var(--titoli); font-stretch: 68%; font-weight: 800; letter-spacing: -0.01em; line-height: 0.92; font-variant-numeric: tabular-nums lining-nums; white-space: nowrap; }
.cifra small { font-size: 0.5em; font-weight: 700; margin-left: 0.08em; }
.su { color: var(--verde-scuro); }
.giu { color: var(--calo); }
.fonte { font-size: 13px; color: var(--grigio); }
.fonte a { text-decoration: underline; text-underline-offset: 2px; }

/* ---------- testata ---------- */
.testata { border-bottom: 1px solid var(--linea); }
.testata-alto { display: flex; align-items: center; justify-content: space-between; gap: 32px; padding-top: 18px; padding-bottom: 18px; }
.logo img { width: 232px; }
.banner-testata { width: 728px; max-width: 58%; }
.banner-testata img { width: 100%; }
.menu { background: var(--inchiostro); color: #fff; }
.menu-riga { display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.menu ul { display: flex; flex-wrap: wrap; }
.menu ul { flex-wrap: nowrap; }
.menu li a { display: block; padding: 13px 12px; font-size: 14.5px; font-weight: 500; white-space: nowrap; }
.menu li:first-child a { padding-left: 0; }
.menu li a[aria-current] { box-shadow: inset 0 -4px 0 var(--verde); }
.menu .istituzionale a { color: #c4cdbd; }
.cerca { display: flex; }
.cerca input { width: 212px; border: 0; border-radius: 0; background: #2a362e; color: #fff; font: inherit; font-size: 14px; padding: 8px 12px; }
.cerca input::placeholder { color: #a9b3a3; }
.menu-mobile { display: none; }

/* ---------- apertura ---------- */
.apertura { padding: 56px 0 60px; }
.apertura-griglia { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); gap: 64px; align-items: start; }
.sopra { font-size: 14px; color: var(--grigio); margin-bottom: 14px; }
.sopra a { color: var(--verde-scuro); font-weight: 600; }
.apertura h1 { font-size: clamp(34px, 4.2vw, 54px); line-height: 1.04; font-weight: 700; font-stretch: 88%; letter-spacing: -0.015em; text-wrap: balance; }
.apertura .sommario { font-family: var(--testo); font-size: 20px; line-height: 1.5; margin-top: 20px; max-width: 34em; }
.firma { font-size: 14px; color: var(--grigio); margin-top: 22px; }
.firma strong { color: var(--inchiostro); font-weight: 600; }
.bottone { display: inline-block; margin-top: 26px; background: var(--verde); color: var(--inchiostro); font-weight: 700; font-size: 16px; padding: 13px 22px; }
.bottone:hover { background: var(--inchiostro); color: #fff; text-decoration: none; }

/* ---------- grafici a barre ---------- */
.grafico { background: var(--nebbia); padding: 28px 30px 24px; }
.grafico h2, .grafico .titolo-grafico { font-size: 19px; line-height: 1.25; font-weight: 700; max-width: 24em; }
.grafico .unita { font-size: 14px; color: var(--grigio); margin-top: 4px; }
.barre { margin-top: 24px; display: grid; gap: 18px; }
.barra-voce { font-size: 15px; font-weight: 500; margin-bottom: 6px; }
.barra-riga { display: flex; align-items: center; gap: 12px; }
.barra { height: 34px; background: var(--verde); flex: 0 0 auto; }
.barra-riga .cifra { font-size: 40px; }
.grafico .fonte { margin-top: 22px; padding-top: 14px; border-top: 1px solid var(--linea); }

/* grafico a barre divergenti: l'asse dello zero è una linea continua */
.divergente { margin-top: 24px; position: relative; }
.divergente::before { content: ""; position: absolute; top: 0; bottom: 0; left: var(--zero); width: 2px; background: var(--inchiostro); }
.div-riga { position: relative; padding: 9px 0; }
.div-voce { font-size: 15px; font-weight: 500; margin-bottom: 6px; padding-left: calc(var(--zero) + 12px); }
.div-pista { position: relative; height: 30px; }
.div-barra { position: absolute; top: 0; bottom: 0; width: calc(var(--v) * var(--k)); }
.div-barra.pos { left: var(--zero); background: var(--verde); }
.div-barra.neg { right: calc(100% - var(--zero)); background: var(--calo); }
.div-valore { position: absolute; top: 50%; transform: translateY(-50%); font-size: 30px; }
.div-zero { font-size: 12px; color: var(--grigio); padding-left: calc(var(--zero) - 3px); margin-top: 6px; }

/* ---------- striscia dei numeri ---------- */
.striscia { background: var(--inchiostro); color: #fff; padding: 44px 0 48px; }
.striscia h2 { font-size: 22px; font-weight: 600; margin-bottom: 30px; }
.striscia ul { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0; }
.striscia li { padding: 0 28px; border-left: 1px solid #3a463d; }
.striscia li:first-child { padding-left: 0; border-left: 0; }
.striscia .cifra { font-size: clamp(48px, 5.6vw, 76px); display: block; color: #fff; }
.striscia .cifra.su { color: var(--verde); }
.striscia .cifra.giu { color: #ff8a70; }
.striscia p { font-size: 16px; line-height: 1.35; margin-top: 14px; }
.striscia .fonte { color: #a9b3a3; margin-top: 10px; display: block; }
.striscia a.leggi { display: inline-block; margin-top: 12px; font-size: 14px; font-weight: 600; color: var(--verde); text-decoration: underline; text-underline-offset: 3px; }

/* ---------- elenco analisi ---------- */
.corpo { padding: 64px 0; }
.corpo-griglia { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: 64px; }
.titolo-sezione { font-size: 30px; font-weight: 700; font-stretch: 88%; letter-spacing: -0.01em; line-height: 1.1; }
.sotto-sezione { font-size: 16px; color: var(--grigio); margin-top: 6px; }
.analisi { margin-top: 26px; border-top: 2px solid var(--inchiostro); }
.analisi > li { display: grid; grid-template-columns: 190px minmax(0, 1fr) 150px; gap: 28px; align-items: start; padding: 26px 0; border-bottom: 1px solid var(--linea); }
.analisi .dato .cifra { font-size: 56px; display: block; }
.analisi .dato p { font-size: 13.5px; line-height: 1.3; color: var(--grigio); margin-top: 8px; }
.analisi h3 { font-size: 23px; line-height: 1.18; font-weight: 700; font-stretch: 92%; text-wrap: balance; }
.analisi .testo p { font-family: var(--testo); font-size: 16.5px; line-height: 1.5; margin-top: 8px; color: #33403a; }
.analisi .testo p.meta { font-family: var(--titoli); font-size: 13.5px; color: var(--grigio); margin-top: 10px; }
.analisi .meta a { color: var(--verde-scuro); font-weight: 600; }
.analisi .foto img { width: 150px; aspect-ratio: 16 / 11; object-fit: cover; }
.tutte { display: inline-block; margin-top: 26px; font-weight: 700; border-bottom: 3px solid var(--verde); padding-bottom: 3px; }
.tutte:hover { text-decoration: none; border-color: var(--inchiostro); }

.colonna > * + * { margin-top: 44px; }
.colonna h2 { font-size: 19px; font-weight: 700; padding-bottom: 10px; border-bottom: 2px solid var(--inchiostro); }
.spazio-banner span { display: block; font-size: 12px; color: var(--grigio); margin-bottom: 6px; }
.letti { counter-reset: letti; }
.letti li { counter-increment: letti; display: grid; grid-template-columns: 34px 1fr; gap: 6px; padding: 14px 0; border-bottom: 1px solid var(--linea); font-size: 15.5px; line-height: 1.3; font-weight: 500; }
.letti li::before { content: counter(letti); font-stretch: 68%; font-weight: 800; font-size: 30px; line-height: 0.9; color: var(--verde); }
.fonti-elenco li { padding: 10px 0; border-bottom: 1px solid var(--linea); font-size: 15px; display: flex; justify-content: space-between; gap: 12px; }
.fonti-elenco li span { color: var(--grigio); font-variant-numeric: tabular-nums; }
.colonna .nota { font-size: 13.5px; color: var(--grigio); margin-top: 10px; }

/* ---------- temi ---------- */
.temi { background: var(--nebbia); padding: 56px 0 60px; }
.temi-barra { display: flex; height: 54px; margin-top: 26px; gap: 3px; }
.temi-barra a { background: var(--verde); display: block; min-width: 10px; }
.temi-barra a:nth-child(2) { background: #6f931a; }
.temi-barra a:nth-child(n+3) { background: var(--inchiostro); }
.temi-barra a:hover { background: var(--verde-scuro); }
.temi-voci { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 24px; margin-top: 22px; }
.temi-voci a { display: block; }
.temi-voci .cifra { font-size: 44px; display: block; }
.temi-voci strong { display: block; font-size: 17px; font-weight: 700; margin-top: 6px; }
.temi-voci span { display: block; font-size: 13.5px; color: var(--grigio); line-height: 1.3; margin-top: 3px; }

/* ---------- chi siamo ---------- */
.idea { padding: 64px 0; }
.idea-griglia { display: grid; grid-template-columns: 150px minmax(0, 1fr); gap: 48px; align-items: start; max-width: 900px; }
.idea p { font-family: var(--testo); font-size: 20px; line-height: 1.55; margin-top: 14px; }
.idea ul { display: flex; flex-wrap: wrap; gap: 8px 28px; margin-top: 22px; font-weight: 600; }
.idea ul a { border-bottom: 3px solid var(--verde); padding-bottom: 2px; }
.idea ul a:hover { text-decoration: none; border-color: var(--inchiostro); }

/* ---------- piede ---------- */
.piede { background: var(--inchiostro); color: #c4cdbd; padding: 48px 0 36px; font-size: 14.5px; }
.piede-griglia { display: grid; grid-template-columns: 1.4fr 1fr 1fr; gap: 48px; }
.piede img { width: 220px; }
.piede p { margin-top: 16px; max-width: 30em; line-height: 1.5; }
.piede h2 { color: #fff; font-size: 15px; font-weight: 700; margin-bottom: 12px; }
.piede li { padding: 4px 0; }
.piede .legale { margin-top: 36px; padding-top: 20px; border-top: 1px solid #3a463d; font-size: 13px; }

/* ---------- pagina articolo ---------- */
.articolo-testa { padding-top: 48px; }
.articolo-testa h1 { font-size: clamp(34px, 4.6vw, 60px); line-height: 1.02; font-weight: 700; font-stretch: 88%; letter-spacing: -0.018em; max-width: 17em; text-wrap: balance; }
.articolo-testa .sommario { font-family: var(--testo); font-size: 22px; line-height: 1.45; margin-top: 20px; max-width: 32em; }
.articolo-griglia { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: 72px; padding-top: 40px; padding-bottom: 72px; }
.in-breve { margin-bottom: 40px; max-width: 702px; }
.infografica { max-width: 702px; }
.prosa { font-family: var(--testo); font-size: 19.5px; line-height: 1.68; max-width: 36em; }
.prosa > * + * { margin-top: 1.15em; }
.prosa a { color: var(--verde-scuro); text-decoration: underline; text-underline-offset: 3px; }
.prosa ul { list-style: none; }
.prosa ul li { padding-left: 22px; position: relative; margin-top: 0.7em; }
.prosa ul li::before { content: ""; position: absolute; left: 0; top: 0.62em; width: 10px; height: 10px; background: var(--verde); }
.prosa h2 { font-family: var(--titoli); font-size: 28px; line-height: 1.15; font-weight: 700; font-stretch: 88%; margin-top: 1.8em; }
.dato-testo { font-family: var(--titoli); display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 22px; align-items: center; margin: 1.7em 0; padding: 20px 0; border-top: 2px solid var(--inchiostro); border-bottom: 1px solid var(--linea); }
.dato-testo .cifra { font-size: 76px; }
.dato-testo p { font-size: 17px; line-height: 1.35; font-weight: 500; }
.dato-testo .fonte { display: block; margin-top: 6px; font-weight: 400; }
.infografica { margin-top: 1.6em; background: var(--nebbia); padding: 20px; }
.infografica img { width: 100%; }

.infografica a.apri { font-family: var(--titoli); display: inline-block; margin-top: 14px; font-size: 16px; font-weight: 700; color: var(--inchiostro); text-decoration: none; border-bottom: 3px solid var(--verde); }
.fonti-articolo { font-family: var(--titoli); margin-top: 48px; border-top: 2px solid var(--inchiostro); padding-top: 18px; max-width: 46em; }
.fonti-articolo h2 { font-size: 22px; font-weight: 700; }
.fonti-articolo p { font-size: 14.5px; color: var(--grigio); margin-top: 4px; }
.fonti-articolo ol { counter-reset: f; margin-top: 12px; }
.fonti-articolo li { counter-increment: f; display: grid; grid-template-columns: 30px 1fr; padding: 11px 0; border-bottom: 1px solid var(--linea); font-size: 15.5px; line-height: 1.35; }
.fonti-articolo li::before { content: counter(f); font-weight: 800; font-stretch: 68%; font-size: 20px; color: var(--verde-scuro); }
.fonti-articolo li a { text-decoration: underline; text-underline-offset: 3px; }
.fonti-articolo li span { color: var(--grigio); display: block; font-size: 13.5px; }
.autrice { font-family: var(--titoli); margin-top: 36px; background: var(--nebbia); padding: 22px 24px; max-width: 46em; font-size: 15.5px; line-height: 1.45; }
.autrice strong { font-size: 17px; }
.banner-nel-testo { display: none; }
.correlate { background: var(--nebbia); padding: 56px 0 24px; }
.correlate .analisi > li:last-child { border-bottom: 0; }
.fissa { position: sticky; top: 24px; }

/* ---------- telefono ---------- */
@media (max-width: 1100px) {
  .menu .istituzionale { display: none; }
}
@media (max-width: 960px) {
  .apertura-griglia, .corpo-griglia, .articolo-griglia, .piede-griglia { grid-template-columns: minmax(0, 1fr); }
  .apertura-griglia { gap: 36px; }
  .corpo-griglia, .articolo-griglia { gap: 56px; }
  .banner-testata { display: none; }
  .striscia ul { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: 36px; }
  .striscia li:nth-child(odd) { padding-left: 0; border-left: 0; }
  .temi-voci { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .colonna .spazio-banner { max-width: 300px; }
}
@media (max-width: 720px) {
  .contenitore { padding: 0 18px; }
  .testata-alto { padding-top: 14px; padding-bottom: 14px; }
  .logo img { width: 180px; }
  .menu { display: none; }
  .menu-mobile { display: block; position: relative; }
  .menu-mobile summary { list-style: none; cursor: pointer; font-weight: 700; font-size: 15px; background: var(--inchiostro); color: #fff; padding: 9px 14px; }
  .menu-mobile summary::-webkit-details-marker { display: none; }
  .menu-mobile nav { position: absolute; right: 0; top: calc(100% + 8px); width: min(300px, 86vw); background: var(--inchiostro); color: #fff; padding: 10px 18px 16px; z-index: 5; }
  .menu-mobile nav a { display: block; padding: 10px 0; border-bottom: 1px solid #3a463d; }
  .apertura { padding: 32px 0 40px; }
  .apertura .sommario { font-size: 18px; }
  .grafico { padding: 22px 18px 20px; margin: 0 -18px; }
  .barra-riga .cifra { font-size: 34px; }
  .striscia { padding: 36px 0 40px; }
  .striscia li { padding: 0 0 0 18px; }
  .striscia p { font-size: 15px; }
  .corpo { padding: 44px 0; }
  .titolo-sezione { font-size: 26px; }
  .analisi > li { grid-template-columns: minmax(0, 1fr) 96px; gap: 10px 16px; padding: 22px 0; }
  .analisi .dato { grid-column: 1 / -1; display: flex; align-items: baseline; gap: 12px; }
  .analisi .dato .cifra { font-size: 44px; }
  .analisi .dato p { margin-top: 0; }
  .analisi h3 { font-size: 20px; }
  .analisi .testo p { display: none; }
  .analisi .foto img { width: 96px; }
  .temi { padding: 44px 0; }
  .temi-voci { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .idea { padding: 44px 0; }
  .idea-griglia { grid-template-columns: minmax(0, 1fr); gap: 20px; }
  .idea-griglia > img { width: 84px; }
  .idea p { font-size: 18px; }
  .articolo-testa { padding-top: 28px; }
  .articolo-testa .sommario { font-size: 19px; }
  .articolo-griglia { padding-top: 28px; padding-bottom: 48px; }
  .prosa { font-size: 18px; line-height: 1.62; }
  .dato-testo { grid-template-columns: minmax(0, 1fr); gap: 8px; }
  .dato-testo .cifra { font-size: 64px; }
  .div-valore { font-size: 25px; }
  .in-breve { max-width: none; }
  .grafico.in-breve { margin-bottom: 28px; }
  .copertina { margin-bottom: 28px; }
  .banner-nel-testo { display: block; margin: 1.6em 0; font-family: var(--titoli); }
  .banner-nel-testo img { width: 100%; max-width: 340px; }
  .colonna .spazio-banner { display: none; }
  .fissa { position: static; }
}
@media (prefers-reduced-motion: no-preference) {
  .barra, .div-barra { transition: none; }
}

/* ---------- aggiunte del tema rispetto al mockup ---------- */
.salta { position: absolute; left: -9999px; top: 0; background: var(--inchiostro); color: #fff; padding: 10px 16px; z-index: 20; }
.salta:focus { left: 0; }
.banner-testata .banner-container, .spazio-banner .banner-container { width: 100%; }
.menu-mobile .cerca { margin-top: 14px; }
.menu-mobile .cerca input { width: 100%; }

/* il dato da solo, quando l'analisi non ha un grafico */
.grafico.dato-solo .cifra { font-size: clamp(76px, 9.5vw, 128px); display: block; }
.grafico.dato-solo .titolo-grafico { font-size: 21px; margin-top: 16px; max-width: 20em; }
.grafico.dato-solo.in-breve { display: grid; grid-template-columns: auto minmax(0, 1fr); column-gap: 28px; align-items: center; }
.grafico.dato-solo.in-breve .cifra { font-size: clamp(64px, 8vw, 104px); grid-row: span 2; }
.grafico.dato-solo.in-breve .titolo-grafico { margin-top: 0; align-self: end; }
.grafico.dato-solo.in-breve .fonte { margin-top: 10px; padding-top: 10px; align-self: start; }
.apertura-foto img { width: 100%; }

.striscia ul.quanti-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.striscia ul.quanti-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }

/* righe senza dato o senza foto */
.analisi > li.senza-dato { grid-template-columns: minmax(0, 1fr) 150px; }
.analisi > li:not(:has(.foto)) { grid-template-columns: 190px minmax(0, 1fr); }
.analisi > li.senza-dato:not(:has(.foto)) { grid-template-columns: minmax(0, 1fr); }
.analisi h2 { font-size: 23px; line-height: 1.18; font-weight: 700; font-stretch: 92%; text-wrap: balance; }
.analisi .foto img { height: auto; }

/* elenchi e pagine */
.titolo-pagina { font-size: clamp(34px, 4.4vw, 56px); line-height: 1.03; font-weight: 700; font-stretch: 88%; letter-spacing: -0.016em; text-wrap: balance; }
.elenco .sotto-sezione { font-size: 18px; margin-top: 12px; max-width: 38em; }
.conteggio { font-size: 14px; color: var(--grigio); margin-top: 22px; }
.conteggio + .analisi { margin-top: 10px; }
.vuoto { font-family: var(--testo); font-size: 19px; margin-top: 28px; }
.vuoto a { color: var(--verde-scuro); text-decoration: underline; }
.cerca-404 { margin: 26px 0 40px; max-width: 420px; }
.cerca-404 .cerca input { width: 100%; background: var(--nebbia); color: var(--inchiostro); font-size: 17px; padding: 13px 16px; }
.cerca-404 .cerca input::placeholder { color: var(--grigio); }
.pagine { margin-top: 36px; }
.pagine .nav-links { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.pagine .page-numbers { display: inline-block; padding: 9px 15px; font-weight: 700; background: var(--nebbia); }
.pagine .page-numbers.current { background: var(--inchiostro); color: #fff; }
.pagine a.page-numbers:hover { background: var(--verde); text-decoration: none; }
.screen-reader-text { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.pagina { padding-top: 36px; padding-bottom: 80px; }

/* il testo scritto in WordPress */
.prosa h3 { font-family: var(--titoli); font-size: 22px; line-height: 1.2; font-weight: 700; margin-top: 1.6em; }
.prosa ol { list-style: decimal; padding-left: 1.3em; }
.prosa ol li { margin-top: 0.6em; }
.prosa img { height: auto; }
.prosa figure, .prosa .wp-caption { max-width: 100%; margin-left: 0; margin-right: 0; }
.prosa .wp-caption-text, .prosa figcaption { font-family: var(--titoli); font-size: 14px; color: var(--grigio); margin-top: 8px; }
.prosa blockquote { margin: 1.6em 0; padding-left: 22px; border-left: 4px solid var(--verde); font-size: 1.08em; }
.prosa table { width: 100%; border-collapse: collapse; font-family: var(--titoli); font-size: 16px; display: block; overflow-x: auto; }
.prosa th, .prosa td { text-align: left; padding: 10px 12px; border-bottom: 1px solid var(--linea); }
.prosa th { border-bottom: 2px solid var(--inchiostro); }
.prosa iframe { max-width: 100%; }
.prosa .infografica { font-family: var(--titoli); }
.prosa .dato-testo p { margin: 0; }
.prosa .omr-sponsor { font-family: var(--titoli); }
.autrice a { text-decoration: underline; text-underline-offset: 3px; }
.fonti-articolo li div { min-width: 0; overflow-wrap: anywhere; }

@media (max-width: 720px) {
  .grafico.dato-solo.in-breve { grid-template-columns: minmax(0, 1fr); }
  .grafico.dato-solo.in-breve .cifra { grid-row: auto; margin-bottom: 10px; }
  .analisi > li.senza-dato, .analisi > li:not(:has(.foto)), .analisi > li.senza-dato:not(:has(.foto)) { grid-template-columns: minmax(0, 1fr) 96px; }
  .analisi > li:not(:has(.foto)) { grid-template-columns: minmax(0, 1fr); }
  .analisi h2 { font-size: 20px; }
  .striscia ul.quanti-3 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .pagina { padding-top: 24px; padding-bottom: 56px; }
  .elenco .sotto-sezione { font-size: 16.5px; }
}

/* copertina dell'articolo e infografica: sempre intere */
.copertina { max-width: 702px; margin-bottom: 36px; }
.copertina img { width: 100%; height: auto; }
.infografica img { height: auto; }
@media (max-width: 720px) { .infografica { padding: 12px; margin-left: -18px; margin-right: -18px; } }

/* 1.0.4 — la copertina dell'ultima analisi in apertura; nelle righe foto piu' grandi e numeri piu' piccoli */
.apertura-lato { display: grid; gap: 18px; }
.apertura-foto { display: block; }
.apertura-foto img { width: 100%; height: auto; }
.apertura-lato .grafico { padding: 22px 26px 20px; }
.apertura-lato .barre { margin-top: 18px; gap: 14px; }
.apertura-lato .barra { height: 26px; }
.apertura-lato .barra-riga .cifra { font-size: 32px; }
.apertura-lato .grafico .fonte { margin-top: 16px; padding-top: 12px; }
.apertura-lato .grafico.dato-solo { display: grid; grid-template-columns: auto minmax(0, 1fr); column-gap: 22px; align-items: center; }
.apertura-lato .grafico.dato-solo .cifra { font-size: clamp(56px, 6vw, 84px); grid-row: span 2; }
.apertura-lato .grafico.dato-solo .titolo-grafico { margin-top: 0; font-size: 18px; align-self: end; }
.apertura-lato .grafico.dato-solo .fonte { margin-top: 8px; padding-top: 8px; align-self: start; }

.analisi > li { grid-template-columns: 132px minmax(0, 1fr) 250px; gap: 26px; }
.analisi .dato .cifra { font-size: 40px; }
.analisi .dato p { font-size: 13px; margin-top: 7px; }
.analisi .foto img { width: 250px; }
.analisi > li.senza-dato { grid-template-columns: minmax(0, 1fr) 250px; }
.analisi > li:not(:has(.foto)) { grid-template-columns: 132px minmax(0, 1fr); }
@media (max-width: 1100px) {
  .analisi > li { grid-template-columns: 116px minmax(0, 1fr) 200px; gap: 20px; }
  .analisi .foto img { width: 200px; }
  .analisi > li.senza-dato { grid-template-columns: minmax(0, 1fr) 200px; }
}
@media (max-width: 720px) {
  .apertura-lato .grafico { margin: 0; padding: 18px 16px 16px; }
  .apertura-lato .grafico.dato-solo { grid-template-columns: minmax(0, 1fr); }
  .apertura-lato .grafico.dato-solo .cifra { grid-row: auto; margin-bottom: 8px; }
  .analisi > li, .analisi > li.senza-dato { grid-template-columns: minmax(0, 1fr) 136px; gap: 8px 14px; }
  .analisi > li:not(:has(.foto)), .analisi > li.senza-dato:not(:has(.foto)) { grid-template-columns: minmax(0, 1fr); }
  .analisi .dato .cifra { font-size: 32px; }
  .analisi .dato p { margin-top: 0; }
  .analisi .foto img { width: 136px; }
  .analisi h3, .analisi h2 { font-size: 18.5px; }
}

/* 1.1.0 — il calendario del retail */
.menu li a { padding-left: 10px; padding-right: 10px; }
.cerca input { width: 196px; }
.calendario { padding: 8px 0 64px; }
.momenti { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin-top: 26px; border-top: 2px solid var(--inchiostro); border-left: 1px solid var(--linea); }
.momenti li { border-right: 1px solid var(--linea); border-bottom: 1px solid var(--linea); }
.momenti a { display: block; padding: 18px 20px 20px; height: 100%; }
.momenti a:hover { background: var(--nebbia); text-decoration: none; }
.momenti .quando { display: block; font-size: 13.5px; color: var(--grigio); }
.momenti strong { display: block; font-size: 24px; line-height: 1.12; font-weight: 700; font-stretch: 88%; margin-top: 6px; }
.momenti .quante { display: block; font-size: 14px; margin-top: 8px; color: var(--verde-scuro); font-weight: 600; }
.momenti li.prossimo a { background: var(--verde); }
.momenti li.prossimo .quando, .momenti li.prossimo .quante { color: var(--inchiostro); }
.momenti li.prossimo a:hover { background: #a3cf24; }
.momento { margin-top: 56px; }
.momento:first-of-type { margin-top: 40px; }
.momento-quando { font-size: 14px; color: var(--grigio); margin-bottom: 6px; }
.momento-quando strong { color: var(--verde-scuro); }
.momento .sotto-sezione { font-size: 17px; margin-top: 8px; max-width: 40em; }
.fonti-elenco a[aria-current] { font-weight: 700; }
.colonna .nota a { text-decoration: underline; text-underline-offset: 3px; }
@media (max-width: 960px) { .momenti { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 720px) {
  .calendario { padding: 0 0 44px; }
  .momenti a { padding: 14px 14px 16px; }
  .momenti strong { font-size: 20px; }
  .momento { margin-top: 40px; }
}

/* 1.2.0 — pagina Chi siamo */
.prosa .attacco { font-size: 1.18em; line-height: 1.5; }
.pagina .prosa h2 { scroll-margin-top: 24px; }

/* 1.2.2 — banner fisso a lato anche nelle pagine */
.pagina-con-banner { padding-top: 36px; padding-bottom: 80px; }
@media (max-width: 720px) {
  .pagina-con-banner { padding-top: 24px; padding-bottom: 56px; }
  .pagina-con-banner .colonna .spazio-banner { display: block; max-width: 340px; }
}

/* 1.3.0 — negli elenchi e in home il banner chiude la colonna e resta in vista scorrendo */
.colonna > .fissa:empty { display: none; }
.colonna > .fissa:first-child { margin-top: 0; }
@media (max-width: 720px) {
  .corpo-griglia .colonna .spazio-banner { display: block; max-width: 340px; }
}
