/* ============================================
   ONLINE48 — BASE CSS
   Importato da tutte le pagine come primo CSS
   ============================================ */

/* Reset */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
img { max-width: 100%; display: block; }
a { text-decoration: none; }

/* ── BRAND MADRE (default) ── */
:root {
  /* Colori brand */
  --color-primary:     #1B5FA8;   /* Celeste Classico */
  --color-primary-dark:#0D2E52;   /* Blu Profondo */
  --color-accent:      #E8362A;   /* Rosso Vivo — SOLO per CTA e urgenza */
  --color-bg:          #F4F8FD;   /* Sfondo principale */
  --color-bg-alt:      #EBF4FB;   /* Sfondo sezioni alternate */
  --color-text:        #2C3E50;   /* Testo corpo */
  --color-text-light:  #6B7280;   /* Testo secondario */
  --color-white:       #FFFFFF;

  /* Tipografia */
  --font-base: 'Inter', 'Plus Jakarta Sans', sans-serif;
  --font-size-xs:   0.75rem;   /* 12px */
  --font-size-sm:   0.875rem;  /* 14px */
  --font-size-base: 1rem;      /* 16px */
  --font-size-lg:   1.125rem;  /* 18px */
  --font-size-xl:   1.25rem;   /* 20px */
  --font-size-2xl:  1.5rem;    /* 24px */
  --font-size-3xl:  1.875rem;  /* 30px */
  --font-size-4xl:  2.25rem;   /* 36px */
  --font-size-5xl:  3rem;      /* 48px */

  /* Spacing */
  --space-1:  0.25rem;
  --space-2:  0.5rem;
  --space-3:  0.75rem;
  --space-4:  1rem;
  --space-6:  1.5rem;
  --space-8:  2rem;
  --space-12: 3rem;
  --space-16: 4rem;
  --space-24: 6rem;

  /* Layout */
  --container-max: 1100px;
  --border-radius: 4px;
  --border-radius-lg: 8px;

  /* Ombre */
  --shadow-sm: 0 1px 3px rgba(0,0,0,0.08);
  --shadow-md: 0 4px 16px rgba(0,0,0,0.10);
  --shadow-lg: 0 8px 32px rgba(0,0,0,0.12);

  /* Transizioni */
  --transition: 0.2s ease;
}

/* Tipografia base */
body {
  font-family: var(--font-base);
  font-size: var(--font-size-base);
  color: var(--color-text);
  background: var(--color-bg);
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
}

/* Utility */
.container {
  max-width: var(--container-max);
  margin: 0 auto;
  padding: 0 var(--space-6);
}

.text-center { text-align: center; }
.text-accent  { color: var(--color-accent); }
.text-primary { color: var(--color-primary); }
.sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0,0,0,0); }
