/*
 * Noleggiando.com — il PONTE fra il livello applicativo e il brand book.
 *
 * Il livello applicativo del prototipo (site.css, panel.css, le viste)
 * consuma RUOLI — `--sw-text-1`, `--sw-accent-1`, `--sw-s4` — e non sa di
 * quale brand book siano. Questo file e' il solo posto in cui ogni ruolo
 * viene scritto coi token di Noleggiando (`--nlg-*`, innestati byte per
 * byte in public/brand/): cambiare brand book, o cambiare il nome di un
 * suo token, e' cambiare una riga qui, non una campagna di ricerca e
 * sostituzione nel foglio.
 *
 * Tre regole, le stesse del contratto di design:
 *   - un ruolo punta a un token SEMANTICO del brand book, mai a un
 *     primitivo e mai a un valore letterale. Le sole eccezioni sono
 *     scritte e motivate riga per riga;
 *   - i due usi del colore restano due: l'accento come RIEMPIMENTO
 *     (`--sw-accent-1` -> `--nlg-action`) e come INCHIOSTRO
 *     (`--sw-accent-1-text` -> `--nlg-blue-ink`, 5,9 su bianco);
 *   - i ruoli si dichiarano dove il brand book ridichiara i propri token
 *     (radice, luce, superficie), cosi' una superficie scura dentro una
 *     pagina chiara trova i suoi valori.
 *
 * I RUOLI SENZA EQUIVALENTE nel brand book di Noleggiando sono materia del
 * brand book di un'altra azienda — il vetro, il gradiente del kit — e qui
 * ricadono sulla cosa piu' vicina che il brand book Noleggiando dichiara.
 * Sono segnati PROVVISORIO: li scioglie il brand book quando consegna i
 * propri componenti (vedi docs/BRAND-BOOK.md).
 */
:root, [data-theme], [data-superficie] {
  /* fondi e superfici */
  --sw-bg-0: var(--nlg-canvas);
  --sw-bg-1: var(--nlg-surface-2);
  --sw-surface-1: var(--nlg-surface-1);
  --sw-surface-2: var(--nlg-surface-2);

  /* inchiostri */
  --sw-text-1: var(--nlg-text-1);
  --sw-text-2: var(--nlg-text-2);
  --sw-text-3: var(--nlg-text-3);
  --sw-text-onaccent: var(--nlg-text-onaction);

  /* linee */
  --sw-line: var(--nlg-border);
  --sw-line-strong: var(--nlg-border-strong);

  /* l'azione: riempimento e inchiostro sono due token */
  --sw-accent-1: var(--nlg-action);
  --sw-accent-1-hover: var(--nlg-action-hover);
  --sw-accent-1-active: var(--nlg-action-press);
  --sw-accent-1-text: var(--nlg-blue-ink);
  --sw-accent-1-tint: var(--nlg-info-bg);
  --sw-accent-2-text: var(--nlg-green-ink);

  /* feedback: il pieno, il fondo, l'inchiostro */
  --sw-ok: var(--nlg-success);
  --sw-ok-tint: var(--nlg-success-bg);
  --sw-warn: var(--nlg-warning-ink);
  --sw-warn-tint: var(--nlg-warning-bg);
  --sw-err: var(--nlg-error);
  --sw-err-tint: var(--nlg-error-bg);
  --sw-info-tint: var(--nlg-info-bg);

  /* velo e fuoco */
  --sw-scrim: var(--nlg-scrim);
  --sw-focus-ring: var(--nlg-focus-ring);

  /* elevazioni: tinte di blu, mai nero */
  --sw-e1: var(--nlg-shadow-sm);
  --sw-e2: var(--nlg-shadow-md);
  --sw-e3: var(--nlg-shadow-lg);

  /* PROVVISORIO — il vetro non e' materia del brand book di Noleggiando.
     La lastra ricade sulla superficie piena col suo bordo, e la sfocatura
     e' nulla: un velo che sfoca quello che copre il brand book non lo
     prevede («il velo», § 4.3.3). */
  --sw-glass-fill: var(--nlg-surface-1);
  --sw-glass-panel: var(--nlg-surface-1);
  --sw-glass-stroke: var(--nlg-border);
  --sw-glass-blur: 0px;
  --sw-scrim-blur: 0px;

  /* PROVVISORIO — il filo di firma. Il prototipo mette il «gradiente del
     kit» in cima alle superfici principali; il brand book di Noleggiando
     ha al suo posto il FILO DI FIRMA, fatto di barre nella palette
     quaternaria col bilanciamento dichiarato 60 · 25 · 7,5 · 7,5 (§ 3).
     Qui e' reso come quattro campiture in quelle proporzioni; la forma
     esatta — stacchi e accento — arriva col componente del brand book. */
  --sw-gradient-kit: linear-gradient(90deg,
    var(--nlg-bar-blue) 0 60%,
    var(--nlg-bar-red) 60% 85%,
    var(--nlg-bar-yellow) 85% 92.5%,
    var(--nlg-bar-green) 92.5% 100%);
}

:root {
  /* tempi e curva: il brand book ne ha due soli, e nessun terzo tempo */
  --sw-ease: var(--nlg-ease);
  --sw-dur-2: var(--nlg-t-fast);
  --sw-dur-3: var(--nlg-t-base);

  /* famiglie: Archivo per titoli e interfaccia, IBM Plex Mono per codici
     e prezzi. Manrope e' solo del logotipo, e qui non compare. */
  --sw-font-ui: var(--nlg-font-ui);
  --sw-font-display: var(--nlg-font-ui);
  --sw-font-mono: var(--nlg-font-mono);

  /* la scala tipografica, base 16 */
  --sw-t-d1: var(--nlg-fs-display);
  --sw-t-d1-lh: var(--nlg-lh-display);
  --sw-t-d2: var(--nlg-fs-h1);
  --sw-t-d2-lh: var(--nlg-lh-h1);
  --sw-t-h1: var(--nlg-fs-h1);
  --sw-t-h1-lh: var(--nlg-lh-h1);
  --sw-t-h2: var(--nlg-fs-h2);
  --sw-t-h2-lh: var(--nlg-lh-h2);
  --sw-t-h3: var(--nlg-fs-h3);
  --sw-t-h3-lh: var(--nlg-lh-h3);
  --sw-t-bl: var(--nlg-fs-body-lg);
  --sw-t-bl-lh: var(--nlg-lh-body);
  --sw-t-b: var(--nlg-fs-body);
  --sw-t-b-lh: var(--nlg-lh-body);
  --sw-t-bs: var(--nlg-fs-body-sm);
  --sw-t-bs-lh: var(--nlg-lh-body-sm);
  --sw-t-bxs: var(--nlg-fs-caption);
  --sw-t-bxs-lh: var(--nlg-lh-caption);
  --sw-t-cap: var(--nlg-fs-caption);
  --sw-t-cap-lh: var(--nlg-lh-caption);
  --sw-t-ov: var(--nlg-fs-overline);
  --sw-t-ov-lh: var(--nlg-lh-caption);
  --sw-t-mono: var(--nlg-fs-body-sm);
  --sw-t-mono-lh: var(--nlg-lh-body-sm);

  /* lo spazio: base 4, come il prototipo */
  --sw-s1: var(--nlg-s-1);
  --sw-s2: var(--nlg-s-2);
  --sw-s3: var(--nlg-s-3);
  --sw-s4: var(--nlg-s-4);
  --sw-s5: var(--nlg-s-5);
  --sw-s6: var(--nlg-s-6);
  --sw-s7: var(--nlg-s-7);
  --sw-s8: var(--nlg-s-8);
  --sw-s9: var(--nlg-s-9);

  /* i raggi: spigoli contenuti */
  --sw-r1: var(--nlg-r-sm);
  --sw-r2: var(--nlg-r-md);
  --sw-r3: var(--nlg-r-lg);
  --sw-r-full: var(--nlg-r-pill);

  /* la griglia e il bersaglio minimo */
  --sw-container: var(--nlg-container);
  --sw-hit-min: var(--nlg-tap-min);

  /* la banda del dispositivo, che il brand book risolve per media query
     ("desktop", "tablet", "mobile"): lo script del menu la legge per
     sapere se il menu e' nel cassetto, senza ripetere le soglie in JS */
  --sw-dispositivo: var(--nlg-dispositivo);

  /* Non e' design: e' l'ordine dei piani del livello applicativo, e il
     brand book non lo dichiara. Sta qui per non scriverlo in una regola. */
  --sw-z-modal: 1000;
}
