/* ==========================================================================
   climaction — stili editoriali
   Tutto ciò che theme.json non può esprimere: i blocchi ricorrenti dei pezzi.
   Le classi sono applicate dai pattern del tema.
   ========================================================================== */

:root {
  --ca-carta: #FAF8F5;
  --ca-bianco: #FFFFFF;
  --ca-inchiostro: #1A1A1A;
  --ca-grigio: #6E6E6E;
  --ca-verde: #2F5D46;
  --ca-salvia: #6B8F71;
  --ca-blu: #14415B;
  --ca-rosso: #C4442A;
  --ca-linea: #E2DDD6;
  --ca-serif: "Source Serif 4", Georgia, serif;
  --ca-sans: "Source Sans 3", system-ui, sans-serif;
  --ca-mono: "JetBrains Mono", ui-monospace, monospace;
}

body { font-variant-numeric: tabular-nums lining-nums; }
:focus-visible { outline: 2px solid var(--ca-rosso); outline-offset: 3px; }
p { text-wrap: pretty; }
h1, h2, h3 { text-wrap: balance; }

/* --------------------------------------------------------------------------
   Testata dell'articolo
   -------------------------------------------------------------------------- */
.ca-kicker {
  font-family: var(--ca-mono);
  font-size: 11.5px;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--ca-verde);
}
.ca-kicker a { color: var(--ca-verde); text-decoration: none; border-bottom: 1px solid var(--ca-salvia); padding-bottom: 2px; }
.ca-kicker a:hover { color: var(--ca-rosso); border-bottom-color: var(--ca-rosso); }

.ca-tipo {
  display: inline-block;
  font-family: var(--ca-mono);
  font-size: 11px;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--ca-grigio);
  border: 1px solid var(--ca-linea);
  border-radius: 2px;
  padding: 3px 8px;
}
.ca-tipo a { color: inherit; text-decoration: none; }

.ca-sommario {
  font-family: var(--ca-serif);
  font-size: clamp(1.12rem, 1rem + .5vw, 1.4rem);
  line-height: 1.4;
  color: var(--ca-grigio);
  font-weight: 400;
}

.ca-firma {
  font-family: var(--ca-mono);
  font-size: 12.5px;
  color: var(--ca-grigio);
  padding: 16px 0;
  border-top: 1px solid var(--ca-linea);
  border-bottom: 1px solid var(--ca-linea);
}
.ca-firma strong { color: var(--ca-inchiostro); font-weight: 500; }

/* --------------------------------------------------------------------------
   In sintesi — lettura a due velocità.
   I sommari dichiarano l'esito, non lo annunciano.
   -------------------------------------------------------------------------- */
.ca-sintesi {
  background: var(--ca-bianco);
  border: 1px solid var(--ca-linea);
  border-left: 3px solid var(--ca-verde);
  padding: 28px 30px 26px;
}
.ca-sintesi > h2,
.ca-sintesi > .wp-block-heading {
  font-family: var(--ca-mono);
  font-size: 11.5px;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--ca-verde);
  font-weight: 500;
  margin: 0 0 16px;
  line-height: 1.4;
  letter-spacing: .18em;
}
.ca-sintesi p { font-size: 17.5px; line-height: 1.58; margin-bottom: 14px; }
.ca-sintesi p:last-child { margin-bottom: 0; }

/* --------------------------------------------------------------------------
   Striscia di provenienza — il tratto distintivo del sito.
   Compare sotto ogni figura e ogni tabella che contiene un numero.
   -------------------------------------------------------------------------- */
.ca-provenienza {
  margin-top: 10px;
  padding-top: 9px;
  border-top: 1px solid var(--ca-linea);
  font-family: var(--ca-mono);
  font-size: 11.5px;
  line-height: 1.75;
  color: var(--ca-grigio);
}
.ca-provenienza strong {
  font-weight: 500;
  color: var(--ca-salvia);
  text-transform: uppercase;
  letter-spacing: .09em;
  margin-right: 5px;
}
.ca-provenienza em { font-style: normal; margin-right: 20px; white-space: nowrap; display: inline-block; }

/* Didascalie delle figure */
.wp-block-image figcaption {
  font-family: var(--ca-sans);
  font-size: 14.5px;
  line-height: 1.5;
  color: var(--ca-grigio);
  margin-top: 12px;
  text-align: left;
}
.wp-block-image figcaption strong { color: var(--ca-inchiostro); font-weight: 600; }

/* --------------------------------------------------------------------------
   Tabelle
   -------------------------------------------------------------------------- */
.wp-block-table table { border-collapse: collapse; width: 100%; }
.wp-block-table th,
.wp-block-table td {
  padding: 11px 14px;
  border-bottom: 1px solid var(--ca-linea);
  text-align: left;
  vertical-align: top;
}
.wp-block-table thead th {
  font-family: var(--ca-mono);
  font-size: 11px;
  letter-spacing: .09em;
  text-transform: uppercase;
  color: var(--ca-grigio);
  font-weight: 500;
  border-bottom: 1.5px solid var(--ca-inchiostro);
}
.wp-block-table figcaption {
  caption-side: top;
  font-family: var(--ca-mono);
  font-size: 11.5px;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--ca-verde);
  text-align: left;
  margin: 0 0 11px;
}
.wp-block-table tbody tr:hover { background: #FCFBF9; }
/* numeri allineati a destra: aggiungere la classe .ca-num alla tabella */
.wp-block-table.ca-num td + td,
.wp-block-table.ca-num th + th {
  text-align: right;
  font-family: var(--ca-mono);
  font-size: 14px;
}

/* Dato critico nel corpo del testo. Il rosso significa qualcosa, non decora. */
.ca-dato { color: var(--ca-rosso); font-weight: 700; }

/* --------------------------------------------------------------------------
   Limiti — parte del metodo, non un'avvertenza legale.
   -------------------------------------------------------------------------- */
.ca-limiti {
  border-top: 2px solid var(--ca-inchiostro);
  padding-top: 34px;
}
.ca-limiti > h2,
.ca-limiti > .wp-block-heading {
  font-family: var(--ca-serif);
  font-size: 1.5rem;
  font-weight: 700;
  margin: 0 0 6px;
}
.ca-limiti .ca-nota-metodo {
  font-size: 15.5px;
  color: var(--ca-grigio);
  font-style: italic;
  margin: 0 0 26px;
}
.ca-limiti ol {
  list-style: none;
  counter-reset: ca-lim;
  margin: 0;
  padding: 0;
}
.ca-limiti ol li {
  counter-increment: ca-lim;
  position: relative;
  padding-left: 44px;
  margin-bottom: 17px;
  font-size: 16.5px;
  line-height: 1.55;
}
.ca-limiti ol li::before {
  content: counter(ca-lim, decimal-leading-zero);
  position: absolute;
  left: 0;
  top: .16em;
  font-family: var(--ca-mono);
  font-size: 12px;
  color: var(--ca-rosso);
  font-weight: 500;
  letter-spacing: .05em;
}

/* --------------------------------------------------------------------------
   Riferimenti
   -------------------------------------------------------------------------- */
.ca-riferimenti { border-top: 1px solid var(--ca-linea); padding-top: 30px; }
.ca-riferimenti h3 {
  font-family: var(--ca-mono);
  font-size: 11px;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--ca-verde);
  font-weight: 500;
  margin: 26px 0 10px;
}
.ca-riferimenti ul { font-size: 15.5px; line-height: 1.55; }
.ca-riferimenti li { margin-bottom: 8px; }

/* --------------------------------------------------------------------------
   Tassonomia dei pericoli — Appendice A, Reg. UE 2021/2139.
   Vocabolario chiuso: si vede che è chiuso.
   -------------------------------------------------------------------------- */
.ca-tassonomia { border-top: 1px solid var(--ca-linea); padding-top: 26px; }
.ca-tassonomia .ca-et {
  font-family: var(--ca-mono);
  font-size: 11px;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--ca-grigio);
  display: block;
  margin-bottom: 13px;
}
.ca-tassonomia .wp-block-post-terms a,
.ca-tassonomia .ca-chip {
  display: inline-block;
  font-family: var(--ca-mono);
  font-size: 11.5px;
  letter-spacing: .04em;
  color: var(--ca-blu);
  border: 1px solid var(--ca-linea);
  background: var(--ca-bianco);
  padding: 6px 11px;
  border-radius: 2px;
  text-decoration: none;
  margin: 0 6px 6px 0;
}
.ca-tassonomia .wp-block-post-terms a:hover,
.ca-tassonomia .ca-chip:hover { border-color: var(--ca-blu); color: var(--ca-blu); }
.ca-tassonomia .wp-block-post-terms__separator { display: none; }

/* --------------------------------------------------------------------------
   Colophon
   -------------------------------------------------------------------------- */
.ca-colophon {
  border-top: 1px solid var(--ca-linea);
  border-bottom: 1px solid var(--ca-linea);
  padding: 26px 0;
  font-family: var(--ca-mono);
  font-size: 12.5px;
  line-height: 1.85;
  color: var(--ca-grigio);
}
.ca-colophon strong {
  color: var(--ca-salvia);
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: .1em;
  display: block;
  font-size: 10.5px;
  margin-bottom: 2px;
}

/* --------------------------------------------------------------------------
   Blocco contatto — il passaggio allo studio, sobrio e in calce
   -------------------------------------------------------------------------- */
.ca-contatto { background: var(--ca-verde); color: #F3F0EA; padding: 30px 32px; }
.ca-contatto p { font-size: 16.5px; line-height: 1.5; }
.ca-contatto .ca-studio {
  font-family: var(--ca-mono);
  font-size: 12px;
  letter-spacing: .13em;
  text-transform: uppercase;
  color: var(--ca-salvia);
}
.ca-contatto a { color: #fff; text-decoration-color: rgba(255,255,255,.45); }
.ca-contatto a:hover { color: #fff; text-decoration-color: #fff; }

/* --------------------------------------------------------------------------
   Intestazione e navigazione
   -------------------------------------------------------------------------- */
.ca-header { border-bottom: 1px solid var(--ca-linea); }
.ca-header .wp-block-site-title a {
  font-family: var(--ca-serif);
  font-size: 25px;
  font-weight: 600;
  color: var(--ca-verde);
  letter-spacing: -.015em;
  text-decoration: none;
}
.ca-header .wp-block-navigation a {
  font-size: 15.5px;
  color: var(--ca-inchiostro);
  text-decoration: none;
  padding-bottom: 2px;
  border-bottom: 1.5px solid transparent;
}
.ca-header .wp-block-navigation a:hover,
.ca-header .wp-block-navigation .current-menu-item a { border-bottom-color: var(--ca-rosso); }
.ca-header .wp-block-site-logo img { height: 34px; width: auto; }

.ca-footer { border-top: 1px solid var(--ca-linea); font-size: 14.5px; color: var(--ca-grigio); }
.ca-footer a { color: var(--ca-grigio); }

/* --------------------------------------------------------------------------
   Elenco archivio
   -------------------------------------------------------------------------- */
.ca-lista .wp-block-post-title { font-size: 1.45rem; line-height: 1.2; margin-bottom: .35rem; }
.ca-lista .wp-block-post-title a { color: var(--ca-inchiostro); text-decoration: none; }
.ca-lista .wp-block-post-title a:hover { color: var(--ca-rosso); }
.ca-lista .wp-block-post-excerpt__excerpt { color: var(--ca-grigio); font-size: 16.5px; }
.ca-lista .wp-block-post-template > li {
  padding-bottom: 2.4rem;
  margin-bottom: 2.4rem;
  border-bottom: 1px solid var(--ca-linea);
}
.ca-meta-lista {
  font-family: var(--ca-mono);
  font-size: 11px;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--ca-grigio);
}
.ca-meta-lista a { color: var(--ca-verde); text-decoration: none; }

@media (max-width: 820px) {
  .ca-sintesi { padding: 22px 20px; }
  .ca-contatto { padding: 24px 22px; }
  .ca-limiti ol li { padding-left: 36px; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; }
}
