/* Convallaria — valori di riferimento del sito.
 * I colori e le famiglie corrispondono agli stili pubblicati.
 * Spazi e layout: standard per le nuove pagine, non retrofit degli export Webflow.
 * Le misure in rem assumono 1rem = 16px; rispettare la dimensione scelta dall'utente.
 * Le famiglie devono essere caricate dal progetto: Gravesend Sans usa Adobe Fonts.
 */
:root {
  --color--background-color: #dde4e4;
  --color--primary-font-color: #101514;
  --color--verde-convallaria: #1db711;
  --color--green-1: #7ad371;
  --color--green-2: #b8eab2;
  --color--tertiary-color: #b2c1c5;
  --color--tertiary-color-plu1: #70888e;
  --font-display: gravesend-sans, sans-serif;
  --font-body: Satoshi, sans-serif;
  /* Shape system: one outer radius for surfaces and actions; smaller for insets. */
  --cv-radius: .75rem;
  --cv-radius-inset: .5rem;
  --cv-radius-round: 999px;
  --space-1: .5rem;
  --space-2: 1rem;
  --space-3: 1.5rem;
  --space-4: 2rem;
  --space-5: 3rem;
  --space-6: 4rem;
}

/* Scala: il suffisso indica i px equivalenti con radice a 16px. */
:root {
  --cv-space-4: .25rem;
  --cv-space-8: .5rem;
  --cv-space-12: .75rem;
  --cv-space-16: 1rem;
  --cv-space-20: 1.25rem;
  --cv-space-24: 1.5rem;
  --cv-space-32: 2rem;
  --cv-space-48: 3rem;
  --cv-space-56: 3.5rem;
  --cv-space-64: 4rem;
  --cv-space-80: 5rem;
  --cv-space-96: 6rem;
  --cv-page-margin: var(--cv-space-20);
  --cv-container-max: 87rem;
  --cv-columns: 4;
  --cv-gutter: var(--cv-space-16);
  --cv-section-space: var(--cv-space-56);
  --cv-card-padding: var(--cv-space-20);
  --cv-heading-gap: var(--cv-space-32);
  --cv-reading-width: 65ch;
}
@media (width > 700px) {
  :root {
    --cv-page-margin: var(--cv-space-32);
    --cv-columns: 8;
    --cv-gutter: var(--cv-space-24);
    --cv-section-space: var(--cv-space-64);
    --cv-card-padding: var(--cv-space-24);
  }
}
@media (width > 1100px) {
  :root {
    --cv-page-margin: var(--cv-space-64);
    --cv-columns: 12;
    --cv-gutter: var(--cv-space-32);
    --cv-section-space: var(--cv-space-80);
    --cv-card-padding: var(--cv-space-32);
    --cv-heading-gap: var(--cv-space-48);
  }
}
@media (width >= 1800px) {
  :root { --cv-container-max: 93.75rem; }
}
/* Classi opt-in: importare il file non cambia il layout esistente. */
.cv-container {
  box-sizing: border-box;
  width: min(calc(100% - var(--cv-page-margin) * 2), var(--cv-container-max));
  margin-inline: auto;
}
.cv-grid {
  display: grid;
  grid-template-columns: repeat(var(--cv-columns), minmax(0, 1fr));
  gap: var(--cv-gutter);
}
.cv-grid > * { min-width: 0; margin: 0; grid-column: 1 / -1; }
.cv-section { padding-block: var(--cv-section-space); }
.cv-card { box-sizing: border-box; padding: var(--cv-card-padding); }
.cv-prose { max-width: var(--cv-reading-width); }
.cv-stack { display: flex; flex-direction: column; gap: var(--cv-stack-gap, var(--cv-space-16)); }
.cv-stack > * { margin-block: 0; }
@media (width > 700px) {
  .cv-split > *, .cv-cards > * { grid-column: span 4; }
  .cv-editorial > :first-child { grid-column: span 2; }
  .cv-editorial > :last-child { grid-column: span 6; }
}
@media (width > 1100px) {
  .cv-split > * { grid-column: span 6; }
  .cv-editorial > :first-child { grid-column: span 3; }
  .cv-editorial > :last-child { grid-column: span 9; }
}
