/* Fonnesu & Co. — Design tokens
   Source of truth: Brand Book Edizione 01 · 2026
   ----------------------------------------------------------- */

/* Webfonts: file locali forniti dal committente (Inter + Cormorant Garamond,
   entrambi variabili). */

@font-face {
  font-family: "Cormorant Garamond";
  src: url("fonts/CormorantGaramond-VariableFont_wght.ttf") format("truetype-variations"),
       url("fonts/CormorantGaramond-VariableFont_wght.ttf") format("truetype");
  font-weight: 300 700;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Cormorant Garamond";
  src: url("fonts/CormorantGaramond-Italic-VariableFont_wght.ttf") format("truetype-variations"),
       url("fonts/CormorantGaramond-Italic-VariableFont_wght.ttf") format("truetype");
  font-weight: 300 700;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: "Inter";
  src: url("fonts/Inter-VariableFont_opsz_wght.ttf") format("truetype-variations"),
       url("fonts/Inter-VariableFont_opsz_wght.ttf") format("truetype");
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Inter";
  src: url("fonts/Inter-Italic-VariableFont_opsz_wght.ttf") format("truetype-variations"),
       url("fonts/Inter-Italic-VariableFont_opsz_wght.ttf") format("truetype");
  font-weight: 100 900;
  font-style: italic;
  font-display: swap;
}

:root {
  /* ---------- Palette ---------- */
  /* Primari */
  --fc-navy:        #1B2A3E;   /* Navy Fonnesu */
  --fc-avorio:      #F4EEE2;   /* Avorio Stampa */

  /* Accento */
  --fc-bronzo:      #8C6A3D;   /* Bronzo Brunito */

  /* Supporto */
  --fc-pietra:      #A89B86;   /* Testi secondari, separatori */
  --fc-inchiostro:  #0D1520;   /* Massimo contrasto su avorio */

  /* Estensioni neutre derivate (per UI: sfondi alternati, hover, bordi) */
  --fc-avorio-alto: #FAF6EC;   /* Avorio più chiaro, hover su sfondi avorio */
  --fc-avorio-basso:#EBE3D2;   /* Avorio più scuro, separatori chiari */
  --fc-sabbia:      #D9CFB8;   /* Bordo soft, divisori */
  --fc-navy-soft:   #2A3A52;   /* Hover navy, righe alternate */
  --fc-navy-deep:   #14202F;   /* Footer, header notturni */

  /* ---------- Semantici ---------- */
  --fc-bg:          var(--fc-avorio);
  --fc-bg-elevated: var(--fc-avorio-alto);
  --fc-bg-inverted: var(--fc-navy);
  --fc-fg:          var(--fc-inchiostro);
  --fc-fg-muted:    var(--fc-pietra);
  --fc-fg-on-dark:  var(--fc-avorio);
  --fc-accent:      var(--fc-bronzo);
  --fc-border:      var(--fc-sabbia);
  --fc-border-strong: var(--fc-pietra);
  --fc-rule:        var(--fc-bronzo);

  /* ---------- Tipografia ---------- */
  --fc-serif: "Cormorant Garamond", Georgia, "Times New Roman", serif;
  --fc-sans:  "Inter", "Helvetica Neue", Helvetica, Arial, sans-serif;

  /* Scala (riferimento brand book + estensioni web) */
  --fc-h1-size: 48px;     --fc-h1-lh: 1.15;   --fc-h1-tracking: 0.04em;
  --fc-h2-size: 32px;     --fc-h2-lh: 1.2;    --fc-h2-tracking: 0.04em;
  --fc-h3-size: 24px;     --fc-h3-lh: 1.25;   --fc-h3-tracking: 0.02em;
  --fc-overline-size: 12px; --fc-overline-tracking: 0.18em;
  --fc-body-size: 16px;   --fc-body-lh: 1.6;
  --fc-small-size: 14px;  --fc-small-lh: 1.55;
  --fc-caption-size: 12px;--fc-caption-lh: 1.5;
  --fc-quote-size: 22px;  --fc-quote-lh: 1.45;

  /* ---------- Spaziatura ---------- */
  --fc-space-1: 4px;
  --fc-space-2: 8px;
  --fc-space-3: 12px;
  --fc-space-4: 16px;
  --fc-space-5: 24px;
  --fc-space-6: 32px;
  --fc-space-7: 48px;
  --fc-space-8: 64px;
  --fc-space-9: 96px;
  --fc-space-10: 128px;

  /* Margini editoriali (carta intestata: 30mm; web: traduciamo in px ampi) */
  --fc-margin-page: 96px;

  /* ---------- Radii ---------- */
  /* "Mai pill". Massimo radius leggero. */
  --fc-radius-0: 0px;
  --fc-radius-1: 2px;
  --fc-radius-2: 4px;

  /* ---------- Bordi e tratti ---------- */
  --fc-border-width: 1px;          /* Tratto sottile, prescritto */
  --fc-border-width-strong: 1.5px; /* Solo accenti chiave */

  /* ---------- Ombre (parche, mai con bordo) ---------- */
  --fc-shadow-none: none;
  --fc-shadow-soft: 0 1px 2px rgba(13, 21, 32, 0.04), 0 8px 24px rgba(13, 21, 32, 0.05);
  --fc-shadow-card: 0 12px 40px rgba(13, 21, 32, 0.07);

  /* ---------- Motion (sobria, mai celebrativa) ---------- */
  --fc-ease: cubic-bezier(0.2, 0.0, 0.2, 1);
  --fc-dur-fast: 120ms;
  --fc-dur: 220ms;
  --fc-dur-slow: 480ms;

  /* ---------- Layout ---------- */
  --fc-content-max: 1200px;
  --fc-text-max: 64ch;
}

/* ---------- Base elementi ---------- */
html, body {
  background: var(--fc-bg);
  color: var(--fc-fg);
  font-family: var(--fc-sans);
  font-size: var(--fc-body-size);
  line-height: var(--fc-body-lh);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

h1, .fc-h1 {
  font-family: var(--fc-serif);
  font-weight: 500;
  font-size: var(--fc-h1-size);
  line-height: var(--fc-h1-lh);
  letter-spacing: var(--fc-h1-tracking);
  color: var(--fc-navy);
  margin: 0;
}
h2, .fc-h2 {
  font-family: var(--fc-serif);
  font-weight: 500;
  font-size: var(--fc-h2-size);
  line-height: var(--fc-h2-lh);
  letter-spacing: var(--fc-h2-tracking);
  color: var(--fc-navy);
  margin: 0;
}
h3, .fc-h3 {
  font-family: var(--fc-serif);
  font-weight: 500;
  font-size: var(--fc-h3-size);
  line-height: var(--fc-h3-lh);
  letter-spacing: var(--fc-h3-tracking);
  color: var(--fc-navy);
  margin: 0;
}

.fc-overline {
  font-family: var(--fc-sans);
  font-weight: 500;
  font-size: var(--fc-overline-size);
  letter-spacing: var(--fc-overline-tracking);
  text-transform: uppercase;
  color: var(--fc-bronzo);
}

p, .fc-body {
  font-family: var(--fc-sans);
  font-size: var(--fc-body-size);
  line-height: var(--fc-body-lh);
  color: var(--fc-inchiostro);
  margin: 0 0 1em 0;
  max-width: var(--fc-text-max);
  text-wrap: pretty;
}

.fc-small  { font-size: var(--fc-small-size);   line-height: var(--fc-small-lh); color: var(--fc-pietra); }
.fc-caption{ font-size: var(--fc-caption-size); line-height: var(--fc-caption-lh); color: var(--fc-pietra); }

blockquote, .fc-quote {
  font-family: var(--fc-serif);
  font-style: italic;
  font-size: var(--fc-quote-size);
  line-height: var(--fc-quote-lh);
  color: var(--fc-navy);
  margin: 0;
  padding-left: var(--fc-space-5);
  border-left: 1px solid var(--fc-bronzo);
}

a {
  color: var(--fc-navy);
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
  transition: color var(--fc-dur) var(--fc-ease);
}
a:hover { color: var(--fc-bronzo); }

hr, .fc-rule {
  border: 0;
  border-top: 1px solid var(--fc-sabbia);
  margin: var(--fc-space-6) 0;
}

/* Ornamento "rombo bronzo tra due linee" — lockup primario */
.fc-ornament {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  color: var(--fc-bronzo);
}
.fc-ornament::before,
.fc-ornament::after {
  content: "";
  display: inline-block;
  width: 64px;
  height: 1px;
  background: currentColor;
}
.fc-ornament > .fc-diamond {
  width: 6px;
  height: 6px;
  transform: rotate(45deg);
  background: currentColor;
}
