/* ============================================================
   OLIMPO BASE - design tokens compartilhados entre paginas
   Carregado no <head> de index.html e diagnostico.html.
   Folhas inline locais permanecem e sobrescrevem quando precisam.
   ============================================================ */

:root {
  /* --- VERDE (cor primaria) --- */
  --olimpo-green:        #1B5E45;
  --olimpo-green-soft:   #2a7a5c;
  --olimpo-green-dark:   #144732;
  --olimpo-green-tint:   #E8F0EB;  /* fundo verde claro */
  --olimpo-green-mist:   #F4F9F7;  /* fundo verde quase branco */

  /* --- DOURADO (acento) --- */
  --olimpo-gold:         #B8922A;
  --olimpo-gold-soft:    #d4b04a;
  --olimpo-gold-dark:    #8a7028;

  /* --- TEXTO --- */
  --olimpo-text:         #111110;
  --olimpo-text-soft:    #6b6b64;
  --olimpo-text-mute:    #9c9c92;

  /* --- BACKGROUNDS --- */
  --olimpo-bg:           #ffffff;
  --olimpo-bg-soft:      #F9F8F5;
  --olimpo-bg-dark:      #111110;

  /* --- BORDAS --- */
  --olimpo-border:       #E8E6E1;
  --olimpo-border-dark:  #2a2a28;

  /* --- FEEDBACK --- */
  --olimpo-erro:         #b54444;

  /* --- TIPOGRAFIA --- */
  --olimpo-font-heading: 'Cormorant Garamond', Georgia, serif;
  --olimpo-font-body:    'DM Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;

  /* --- ESPACAMENTOS --- */
  --olimpo-space-xs:  0.5rem;
  --olimpo-space-sm:  1rem;
  --olimpo-space-md:  1.5rem;
  --olimpo-space-lg:  2.5rem;
  --olimpo-space-xl:  4rem;
  --olimpo-space-2xl: 6rem;

  /* --- RADIUS --- */
  --olimpo-radius-sm:   4px;
  --olimpo-radius-md:   8px;
  --olimpo-radius-lg:   12px;
  --olimpo-radius-pill: 999px;

  /* --- TRANSICOES --- */
  --olimpo-trans-fast:   0.15s ease;
  --olimpo-trans:        0.25s ease;
  --olimpo-trans-slow:   0.45s ease;

  /* --- SHADOWS --- */
  --olimpo-shadow-soft:  0 4px 14px rgba(17,17,16,0.06);
  --olimpo-shadow-card:  0 12px 40px rgba(17,17,16,0.08);
  --olimpo-shadow-deep:  0 16px 50px rgba(17,17,16,0.12);
}

/* ============================================================
   RESET MINIMAL
   ============================================================ */

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

html { scroll-behavior: smooth; }

body {
  font-family: var(--olimpo-font-body);
  color: var(--olimpo-text);
  background: var(--olimpo-bg);
  line-height: 1.55;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

h1, h2, h3, h4, h5, h6 {
  font-family: var(--olimpo-font-heading);
  letter-spacing: -0.01em;
  line-height: 1.15;
  font-weight: 500;
  margin: 0;
}

p { margin: 0; }

a { color: inherit; transition: color var(--olimpo-trans-fast); }

/* ============================================================
   UTIL FOCUS - acessibilidade
   ============================================================ */

:focus-visible {
  outline: 2px solid var(--olimpo-green);
  outline-offset: 2px;
  border-radius: var(--olimpo-radius-sm);
}

/* ============================================================
   PREFERS-REDUCED-MOTION
   ============================================================ */

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}
