/* PeriziaChiara — stile del sito (sopra Bootstrap 5). Token da docs/06-ui-design.md */

/* ---------- Font self-hosted (SIL OFL, licenze in assets/fonts/) ---------- */
@font-face { font-family: "Public Sans"; font-style: normal; font-weight: 400; font-display: swap;
  src: url("../fonts/public-sans-latin-400.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: "Public Sans"; font-style: normal; font-weight: 400; font-display: swap;
  src: url("../fonts/public-sans-latin-ext-400.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-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: "Public Sans"; font-style: normal; font-weight: 600; font-display: swap;
  src: url("../fonts/public-sans-latin-600.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: "Public Sans"; font-style: normal; font-weight: 600; font-display: swap;
  src: url("../fonts/public-sans-latin-ext-600.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-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: "Public Sans"; font-style: normal; font-weight: 700; font-display: swap;
  src: url("../fonts/public-sans-latin-700.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: "Public Sans"; font-style: normal; font-weight: 700; font-display: swap;
  src: url("../fonts/public-sans-latin-ext-700.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-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: "Source Serif 4"; font-style: normal; font-weight: 600; font-display: swap;
  src: url("../fonts/source-serif-4-latin-600.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: 600; font-display: swap;
  src: url("../fonts/source-serif-4-latin-ext-600.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-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }

/* ---------- Token ---------- */
:root {
  --pc-inchiostro: #1C2A33;
  --pc-blu: #24506B;
  --pc-blu-scuro: #1B3D52;
  --pc-carta: #F4F6F5;
  --pc-bianco: #FFFFFF;
  --pc-evidenziatore: #F3DD6D;
  --pc-rosso: #A8402A;
  --pc-verde: #2F6F4F;
  --pc-grigio: #5E6B73;
  --pc-bordo: #D9DFDD;

  --pc-font: "Public Sans", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  --pc-font-serif: "Source Serif 4", Georgia, "Times New Roman", serif;

  /* Bootstrap */
  --bs-body-font-family: var(--pc-font);
  --bs-body-font-size: 1rem;
  --bs-body-line-height: 1.5;
  --bs-body-color: var(--pc-inchiostro);
  --bs-body-bg: var(--pc-carta);
  --bs-link-color: var(--pc-blu);
  --bs-link-color-rgb: 36, 80, 107;
  --bs-link-hover-color: var(--pc-blu-scuro);
  --bs-link-hover-color-rgb: 27, 61, 82;
  --bs-border-color: var(--pc-bordo);
  --bs-secondary-color: var(--pc-grigio);
  --bs-primary: var(--pc-blu);
  --bs-primary-rgb: 36, 80, 107;
  --bs-danger: var(--pc-rosso);
  --bs-danger-rgb: 168, 64, 42;
  --bs-success: var(--pc-verde);
  --bs-success-rgb: 47, 111, 79;
  --bs-focus-ring-color: rgba(36, 80, 107, .35);
}

/* ---------- Tipografia ---------- */
h1, h2, h3, h4 { line-height: 1.2; color: var(--pc-inchiostro); }
.titolo-serif, h1 { font-family: var(--pc-font-serif); font-weight: 600; }
h1 { font-size: 1.75rem; }
@media (min-width: 768px) { h1 { font-size: 2.25rem; } }
.numeri, table, .prezzo { font-variant-numeric: tabular-nums; }
.prezzo { font-family: var(--pc-font-serif); font-weight: 600; }
.testo-nota, .text-secondary { color: var(--pc-grigio) !important; }
.misura-testo { max-width: 70ch; }

/* ---------- Pulsanti ---------- */
.btn { min-height: 44px; font-weight: 600; }
.btn-primary {
  --bs-btn-bg: var(--pc-blu); --bs-btn-border-color: var(--pc-blu);
  --bs-btn-hover-bg: var(--pc-blu-scuro); --bs-btn-hover-border-color: var(--pc-blu-scuro);
  --bs-btn-active-bg: var(--pc-blu-scuro); --bs-btn-active-border-color: var(--pc-blu-scuro);
  --bs-btn-disabled-bg: var(--pc-blu); --bs-btn-disabled-border-color: var(--pc-blu);
}
.btn-outline-primary {
  --bs-btn-color: var(--pc-blu); --bs-btn-border-color: var(--pc-blu);
  --bs-btn-hover-bg: var(--pc-blu); --bs-btn-hover-border-color: var(--pc-blu);
  --bs-btn-active-bg: var(--pc-blu-scuro); --bs-btn-active-border-color: var(--pc-blu-scuro);
}
:focus-visible { outline: 3px solid var(--pc-blu); outline-offset: 2px; }

/* ---------- Evidenziatore: solo per i fatti estratti e l'indice ---------- */
.evidenzia {
  background: linear-gradient(transparent 55%, var(--pc-evidenziatore) 55%);
  box-decoration-break: clone; -webkit-box-decoration-break: clone;
  padding: 0 .1em;
}
.fatto { display: flex; justify-content: space-between; gap: 1rem; align-items: baseline; }
.fatto .pagina { color: var(--pc-grigio); font-size: .875rem; white-space: nowrap; }

/* ---------- Struttura ---------- */
.testata { background: var(--pc-bianco); border-bottom: 1px solid var(--pc-bordo); }
.testata .marchio { font-family: var(--pc-font-serif); font-weight: 600; font-size: 1.25rem; color: var(--pc-inchiostro); text-decoration: none; }
.superficie { background: var(--pc-bianco); border: 1px solid var(--pc-bordo); border-radius: .5rem; }
.piede { border-top: 1px solid var(--pc-bordo); color: var(--pc-grigio); font-size: .875rem; }
.piede a { color: var(--pc-grigio); }

/* Stati: mai solo colore, sempre anche una parola */
.stato-ok { color: var(--pc-verde); }
.stato-ko { color: var(--pc-rosso); }

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}
