/* === French Doctor — design tokens ================================
 * Carbon Health × One Medical aesthetic
 * Brand: deep forest green (#065F46) + warm cream (#FDFAF5)
 * Escapes the blue medical sea (ZAVA, Qare, Livi all blue).
 * Green = health/trust, rare in teleconsult segment.
 * Cream = qualité parisienne, warmth over clinical cold.
 * ================================================================= */

:focus-visible {
  outline: var(--focus-ring, 2px solid #065F46);
  outline-offset: var(--focus-offset, 3px);
  border-radius: 4px;
}

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

:root {
  /* ── Brand ─────────────────────────────────────────────────── */
  --brand:        #065F46;   /* deep forest green */
  --brand-dark:   #044434;   /* hover / pressed */
  --brand-light:  #2D9B6A;   /* decorative accent */

  /* ── Surfaces ──────────────────────────────────────────────── */
  --color-bg:       #FDFAF5;                   /* warm cream */
  --color-bg-glass: rgba(253, 250, 245, 0.94); /* sticky nav backdrop */
  --color-surface:  #FFFFFF;                   /* pure white cards */

  /* ── Ink ───────────────────────────────────────────────────── */
  --color-ink:    #1A1209;   /* warm near-black — ~15:1 on cream ✓ */
  --color-ink-2:  #4A3728;   /* secondary warm — ~9:1 ✓ AA */
  --color-ink-3:  #7A5A3D;   /* tertiary warm — ~5:1 ✓ AA */
  --color-muted:  #7A6248;   /* muted warm — 5.5:1 on cream ✓ AA */

  /* ── Borders ───────────────────────────────────────────────── */
  --color-border: #E8E0D5;

  /* ── Semantic states ───────────────────────────────────────── */
  --color-success:        #2d8a4e;
  --color-error:          #dc2626;
  --color-warning-bg:     #fff3e0;
  --color-warning-border: #ffcc80;
  --color-warning-text:   #e65100;

  /* ── Typography ────────────────────────────────────────────── */
  --font-family:  'Figtree', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --font-serif:   'Instrument Serif', Georgia, 'Times New Roman', serif;
  --font-hero:    clamp(2.5rem, 6vw, 4.75rem);
  --font-display: clamp(1.6rem, 3vw, 2.25rem);
  --font-lead:    clamp(1rem, 1.8vw, 1.1rem);
  --font-body:    1rem;
  --font-sm:      0.9375rem;
  --font-xs:      0.8125rem;
  --font-xxs:     0.75rem;

  /* ── Focus ring ────────────────────────────────────────────── */
  --focus-ring:   2px solid var(--brand);
  --focus-offset: 3px;

  /* ── Legacy aliases ─────────────────────────────────────────── */
  --bg:         var(--color-bg);
  --surface:    var(--color-bg);
  --white:      var(--color-surface);
  --card:       var(--color-surface);
  --text:       var(--color-ink);
  --text-light: var(--color-muted);
  --text-2:     var(--color-ink-2);
  --text-3:     var(--color-ink-3);
  --border:     var(--color-border);
  --success:    var(--color-success);
  --ok:         var(--color-success);
  --err:        var(--color-error);
}
