/* blog.css — quello che serve in piu' per un articolo, e niente altro.
 *
 * Si carica DOPO temario.css e usa le sue variabili: colori, caratteri, spaziature sono
 * gia' decise li'. Qui dentro c'e' solo quello che una pagina di testo lungo ha e una
 * pagina di prodotto no — la colonna stretta, il ritmo dei paragrafi, le tabelle.
 *
 * Perche' un foglio in piu' e non uno nuovo: due fogli che ridefiniscono gli stessi
 * colori si contraddicono al primo cambio, e il sito comincia ad avere due sfumature di
 * verde che nessuno ha deciso.
 */

/* La colonna. 68 caratteri: piu' larga si perde la riga tornando a capo, piu' stretta
   il testo si spezzetta. */
.articolo { max-width: 68ch; margin: 0 auto; }
.articolo > * { max-width: 100%; }

.articolo p,
.articolo li {
  color: var(--prosa);
  font-size: 17px;
  line-height: 1.72;
}
.articolo p { margin: 0 0 20px; }
.articolo strong, .articolo b { color: var(--tinta); font-weight: 600; }

/* I titoli di sezione dentro l'articolo: staccati sopra, vicini a quello che
   introducono. Un titolo equidistante fra i due paragrafi non si capisce a chi
   appartiene. */
.articolo h2 {
  font-size: clamp(24px, 3.2vw, 31px);
  margin: 52px 0 14px;
  color: var(--tinta);
  text-wrap: balance;
}
.articolo h3 {
  font-family: var(--testo);
  font-size: 18px;
  font-weight: 650;
  color: var(--tinta);
  margin: 32px 0 10px;
  text-wrap: balance;
}
.articolo h2 + p, .articolo h3 + p { margin-top: 0; }

.articolo ul, .articolo ol { margin: 0 0 20px; padding-left: 22px; }
.articolo li { margin-bottom: 9px; }
.articolo li::marker { color: var(--accento); }

.articolo a { color: var(--accento-scuro); text-underline-offset: 3px; }
.articolo a:hover { color: var(--accento); }

/* Il filetto fra una sezione e l'altra: piu' leggero di un bordo, si sente e non si
   guarda. */
.articolo hr {
  border: 0;
  border-top: 1px solid var(--linea);
  margin: 46px 0;
}

/* Le tabelle sono il cuore di questi articoli: due servizi accostati si capiscono
   guardandoli, non leggendoli. Scorrono da sole sullo stretto, cosi' la pagina non
   scorre di lato. */
.articolo .tabella { overflow-x: auto; margin: 0 0 24px; }
.articolo table {
  border-collapse: collapse;
  width: 100%;
  min-width: 460px;
  font-size: 15.5px;
}
.articolo th, .articolo td {
  text-align: left;
  padding: 11px 14px;
  border-bottom: 1px solid var(--linea);
  vertical-align: top;
}
.articolo th {
  color: var(--tinta);
  font-weight: 650;
  font-size: 13px;
  letter-spacing: .03em;
  text-transform: uppercase;
  background: var(--pannello);
  border-bottom-color: var(--linea);
}
.articolo tbody tr:last-child td { border-bottom: 0; }
.articolo td b { color: var(--tinta); }

/* Il riquadro della regola d'esame. E' il pezzo che chi studia cerca scorrendo la
   pagina, quindi deve trovarsi senza leggere: filo d'accento a sinistra e fondo appena
   diverso. Non un colore in piu' — lo stesso accento del sito. */
.regola {
  background: var(--pannello);
  border-left: 3px solid var(--accento);
  border-radius: 0 10px 10px 0;
  padding: 15px 18px;
  margin: 0 0 24px;
}
.regola p:last-child { margin-bottom: 0; }
.regola .eti {
  display: block;
  font-size: 11.5px;
  font-weight: 700;
  letter-spacing: .13em;
  text-transform: uppercase;
  color: var(--accento-scuro);
  margin-bottom: 6px;
}

/* L'avviso: quando una cosa sta cambiando e chi studia deve saperlo. Giallo no — sul
   sito non esiste; si usa il grigio del pannello con il filo piu' marcato. */
.avviso {
  background: var(--pannello);
  border: 1px solid var(--linea);
  border-radius: 12px;
  padding: 18px 20px;
  margin: 0 0 24px;
}
.avviso h3 { margin-top: 0; }
.avviso p:last-child { margin-bottom: 0; }

/* La firma in fondo: si dice chi scrive e cosa vendiamo, in chiaro. Piu' piccola del
   testo, perche' non e' l'articolo. */
.firma {
  border-top: 1px solid var(--linea);
  margin-top: 46px;
  padding-top: 22px;
  font-size: 15.5px;
  color: var(--tenue);
}
.firma p { font-size: 15.5px; color: var(--tenue); }
.firma a { font-weight: 600; }

/* La data e il tempo di lettura, sotto il titolo. */
.dati-articolo {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  align-items: center;
  color: var(--su-notte-tenue);
  font-size: 14px;
  margin: 14px 0 0;
}
.dati-articolo span { display: inline-flex; align-items: center; gap: 7px; }
.dati-articolo span + span::before {
  content: '';
  width: 3px; height: 3px;
  border-radius: 50%;
  background: currentColor;
  opacity: .5;
  margin-right: 7px;
}

/* L'elenco degli articoli, sulla pagina /blog. */
.pezzi { display: grid; gap: 14px; margin-top: 30px; }
.pezzo {
  display: block;
  border: 1px solid var(--linea);
  border-radius: 14px;
  padding: 20px 22px;
  text-decoration: none;
  background: var(--fondo);
  transition: border-color .18s var(--uscita), transform .18s var(--uscita);
}
.pezzo:hover { border-color: var(--accento); transform: translateY(-2px); }
.pezzo b {
  display: block;
  font-family: var(--titolo);
  font-weight: 400;
  font-size: 21px;
  color: var(--tinta);
  margin-bottom: 7px;
  text-wrap: balance;
}
.pezzo span { display: block; color: var(--prosa); font-size: 15.5px; line-height: 1.6; }
.pezzo em {
  display: block;
  font-style: normal;
  color: var(--tenue);
  font-size: 13px;
  margin-top: 10px;
}

@media (prefers-reduced-motion: reduce) {
  .pezzo { transition: none; }
  .pezzo:hover { transform: none; }
}
