/* Selzato — base condivisa: font, design token, reset, newsbar.
   Caricato da tutte le pagine, prima del CSS specifico della pagina.
   Fonte dei token: docs/brand-guidelines.md */

/* Font del brand (src/fonts) */
/* Irregardless con licenza regolare (01/10/2026, Order #26-490a81e, GARZADORI
   SRL — famiglia completa, licenza web fino a 500k visualizzazioni di
   pagina al mese). Sostituisce la demo: stessi nomi di file, 368 glifi
   invece di 66. */
@font-face { font-family: "Irregardless";    src: url("../fonts/Irregardless-Bold.woff2") format("woff2");       font-weight: 100 900; font-style: normal; font-display: swap; }
@font-face { font-family: "Irregardless";    src: url("../fonts/Irregardless-BlackItalic.woff2") format("woff2"); font-weight: 100 900; font-style: italic; font-display: swap; }
/* Roboto (2026-10-18, richiesta cliente, al posto di Acumin Pro Wide — la
   cui licenza non era mai stata chiarita): font variabile autoospitato
   (un solo file copre i pesi 100-900, niente da caricare da Google Fonts
   o altri domini di terze parti — resta valido "nessuno script o dominio
   di terze parti", vedi CLAUDE.md), licenza Apache 2.0, nessun costo né
   dubbio di licenza. Fonte: fonts.google.com/specimen/Roboto. */
/* size-adjust: a parità di font-size dichiarato, Roboto ha un x-height
   più piccolo di Acumin Pro Wide e risulta visivamente più piccolo (segnalato
   dal cliente, 2026-10-18). Invece di toccare ogni singola dimensione nel
   CSS, si corregge qui: scala il rendering di Roboto per restituire la
   dimensione percepita di prima, lasciando invariati i valori di
   font-size altrove. */
@font-face { font-family: "Roboto"; src: url("../fonts/Roboto-Variable.woff2") format("woff2-variations"); font-weight: 100 900; font-style: normal; font-display: swap; size-adjust: 116%; }

:root {
  --blu: #1100b5;
  --rosso: #e2102a;
  --bianco: #fff;

  /* Irregardless: titoli. Licenza regolare dal 01/10/2026 (vedi sopra). */
  --font-titoli: "Irregardless", "Arial Narrow", Impact, sans-serif;
  --font-etichette: "Roboto", system-ui, -apple-system, "Segoe UI", sans-serif;
  --font-testo: "Roboto", system-ui, -apple-system, "Segoe UI", sans-serif;

  --ease: cubic-bezier(.2, .8, .2, 1);
  --header-h: 4rem;
  --newsbar-h: 2.75rem;
  --wrap: 64rem;
}

*, *::before, *::after { box-sizing: border-box; }

html, body { height: 100%; margin: 0; }

body {
  background: var(--rosso);
  color: var(--bianco);
  font-family: var(--font-testo);
  font-size: .95rem;
  -webkit-font-smoothing: antialiased;
}

ul { list-style: none; margin: 0; padding: 0; }
a { color: inherit; text-decoration: none; }
button { font: inherit; color: inherit; background: none; border: 0; padding: 0; cursor: pointer; }
:focus-visible { outline: 3px solid currentColor; outline-offset: 4px; }

.wrap { width: min(100% - 2.5rem, var(--wrap)); margin-inline: auto; }

/* Link "vai al contenuto": nascosto finché non riceve il focus da tastiera */
.skip {
  position: absolute; left: 1rem; top: -4rem; z-index: 100;
  background: var(--bianco); color: var(--blu); padding: .6rem 1rem;
  font-family: var(--font-titoli); font-style: italic; text-transform: uppercase;
  transition: top .2s;
}
.skip:focus { top: 1rem; }

/* Visivamente nascosto ma raggiungibile da tastiera/screen reader */
.sr-only {
  position: absolute;
  width: 1px; height: 1px;
  margin: -1px; padding: 0; border: 0;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
}

/* ---------- Newsbar: sempre visibile, anche sopra intro e menu ---------- */
.newsbar {
  height: var(--newsbar-h);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 0 1.25rem;
  background: var(--blu);
  color: var(--bianco);
}
.newsbar p {
  margin: 0;
  min-width: 0;
  font-size: .78rem;
  letter-spacing: .01em;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.newsbar__cta {
  flex: none;
  font-family: var(--font-etichette);
  font-weight: 600;
  font-size: .78rem;
  letter-spacing: .1em;
  text-transform: uppercase;
  padding-bottom: .15rem;
  border-bottom: 1px solid var(--bianco);
  transition: color .2s, border-color .2s;
}
/* Testo bianco fisso: su fondo blu, rosso o blu scenderebbero sotto la
   soglia minima di contrasto leggibile (verificato). L'hover si vede dal
   sottolineato più spesso, non dal colore. */
.newsbar__cta:hover { border-bottom-width: 2px; }

@media (min-width: 48rem) {
  .newsbar { padding: 0 2.5rem; }
  .newsbar p { font-size: .85rem; }
}

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

/* Etichette in Acumin semibold */
.hint, .tagline { font-weight: 600; }
