/* ════════════════════════════════════════════════════════════════════
   IMPACTO Training — Design tokens (single source of truth)
   Variabili CSS, font import e reset di base condivisi da TUTTE le pagine
   (anche pre-login). Importare PRIMA di qualsiasi altro CSS della pagina.
   ════════════════════════════════════════════════════════════════════ */

@import url('https://fonts.googleapis.com/css2?family=League+Spartan:wght@400;500;600;700;800;900&family=Poppins:wght@300;400;500;600;700&display=swap');

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

:root{
  /* ── Brand red ── */
  --red:#E63946; --red-deep:#B71C1C; --red-light:#FF4757;
  --red-soft:rgba(230,57,70,.12); --red-glow:rgba(230,57,70,.35);

  /* ── Dark scale ── */
  --dark:#0A0A0F; --dark-2:#12121A; --dark-3:#1A1A25; --dark-4:#22222F;

  /* ── Glass ── */
  --glass:rgba(255,255,255,.06); --glass-2:rgba(255,255,255,.10); --glass-3:rgba(255,255,255,.15);

  /* ── Borders ── */
  --border:rgba(255,255,255,.08); --border-2:rgba(255,255,255,.12);

  /* ── Text ── */
  --text:#F0F0F5;
  --text-2:rgba(240,240,245,.72);
  --text-3:rgba(240,240,245,.48);
  --text-4:rgba(240,240,245,.30);

  /* ── Semantic ── */
  --success:#00E676; --warning:#FFB300; --info:#29B6F6; --error:#FF5252;

  /* ── Radius ── */
  --radius:16px; --radius-sm:10px; --radius-xs:6px;

  /* ── Tipografia ── */
  --font-heading:'League Spartan',sans-serif;
  --font-body:'Poppins',sans-serif;

  /* ── Layout ── */
  --nav-h:62px;

  /* ── Easing ── */
  --ease:cubic-bezier(.22,1,.36,1);
  --ease-spring:cubic-bezier(.34,1.56,.64,1);

  /* ── Colori percorsi ── */
  --color-fat-burn:#E8572C;
  --color-forza:#E8192C;
  --color-corpo-libero:#14AEB8;
  --color-anti-aging:#D97706;
  --color-active-60:#10B981;
  --color-mobilita:#0EA5E9;
  --color-menopausa:#F467D0;
  --color-gravidanza:#B37CFA;
  --color-post-parto:#8A62FA;

  /* ── Alias corti (compat con pagine pre-login) ──
     Mantenere allineati con i token "lunghi". Nuovo codice: usare quelli lunghi. */
  --dk:var(--dark); --dk2:var(--dark-2); --dk3:var(--dark-3); --dk4:var(--dark-4);
  --gl:var(--glass); --gl2:var(--glass-2); --gl3:var(--glass-3);
  --bd:var(--border); --bd2:var(--border-2);
  --tx:var(--text); --tx2:var(--text-2); --tx3:var(--text-3); --tx4:var(--text-4);
  --r:var(--radius); --rs:var(--radius-sm); --rx:var(--radius-xs);
  --ok:var(--success); --wrn:var(--warning); --inf:var(--info); --err:var(--error);
  --redG:var(--red-glow); --redD:var(--red-deep); --redS:var(--red-soft);
}

html{font-size:17px;scroll-behavior:smooth}
body{
  background:var(--dark); color:var(--text); font-family:var(--font-body);
  min-height:100vh; overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
  -webkit-tap-highlight-color:transparent;
  font-weight:400;
  text-rendering:optimizeLegibility;
}

/* Scrollbar uniforme su tutte le pagine dark */
body::-webkit-scrollbar{width:4px}
body::-webkit-scrollbar-track{background:var(--dark)}
body::-webkit-scrollbar-thumb{background:var(--dark-4);border-radius:4px}
