/* ============================================================
   TOKENS.CSS — Sanados por Amor
   Design tokens: colors, typography, spacing, shadows, radii
   ============================================================ */

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

:root {
  /* ── Paleta principal ──────────────────────────────────── */
  --color-primary:   #BE1226;
  --color-dark:      #7D0A19;
  --color-deep:      #1A0A0B;
  --color-light:     #FFF8F8;
  --color-text:      #1A0A0B;
  --color-gold:      #D4A853;
  --color-gold-light:#E8C878;
  --color-white:     #FFFFFF;

  /* Variantes con opacidad */
  --color-primary-10: rgba(190, 18, 38, 0.10);
  --color-primary-20: rgba(190, 18, 38, 0.20);
  --color-primary-30: rgba(190, 18, 38, 0.30);
  --color-gold-20:    rgba(212, 168, 83, 0.20);
  --color-white-10:   rgba(255, 255, 255, 0.10);
  --color-white-15:   rgba(255, 255, 255, 0.15);
  --color-white-80:   rgba(255, 255, 255, 0.80);
  --color-black-40:   rgba(0, 0, 0, 0.40);
  --color-black-60:   rgba(0, 0, 0, 0.60);
  --color-black-80:   rgba(0, 0, 0, 0.80);

  /* ── Tipografía ────────────────────────────────────────── */
  --font-display: 'Barlow Condensed', sans-serif;
  --font-body:    'Barlow', system-ui, sans-serif;

  --text-xs:   0.75rem;    /* 12px */
  --text-sm:   0.875rem;   /* 14px */
  --text-base: 1rem;       /* 16px */
  --text-lg:   1.125rem;   /* 18px */
  --text-xl:   1.25rem;    /* 20px */
  --text-2xl:  1.5rem;     /* 24px */
  --text-3xl:  1.875rem;   /* 30px */
  --text-4xl:  2.25rem;    /* 36px */
  --text-5xl:  3rem;       /* 48px */
  --text-6xl:  3.75rem;    /* 60px */
  --text-7xl:  4.5rem;     /* 72px */

  --leading-tight:  1.15;
  --leading-snug:   1.35;
  --leading-normal: 1.6;
  --leading-relaxed:1.75;

  --tracking-tight:  -0.02em;
  --tracking-normal: 0;
  --tracking-wide:   0.05em;
  --tracking-wider:  0.1em;

  /* ── Espaciado ─────────────────────────────────────────── */
  --space-1:   0.25rem;
  --space-2:   0.5rem;
  --space-3:   0.75rem;
  --space-4:   1rem;
  --space-5:   1.25rem;
  --space-6:   1.5rem;
  --space-8:   2rem;
  --space-10:  2.5rem;
  --space-12:  3rem;
  --space-16:  4rem;
  --space-20:  5rem;
  --space-24:  6rem;
  --space-32:  8rem;

  /* ── Radios ────────────────────────────────────────────── */
  --radius-sm:   6px;
  --radius-md:   12px;
  --radius-lg:   20px;
  --radius-xl:   28px;
  --radius-full: 9999px;

  /* ── Sombras ───────────────────────────────────────────── */
  --shadow-sm:  0 2px 8px rgba(26, 10, 11, 0.08);
  --shadow-md:  0 4px 24px rgba(26, 10, 11, 0.12);
  --shadow-lg:  0 8px 40px rgba(26, 10, 11, 0.16);
  --shadow-xl:  0 16px 64px rgba(26, 10, 11, 0.24);
  --shadow-red: 0 8px 32px rgba(190, 18, 38, 0.30);
  --shadow-red-lg: 0 16px 48px rgba(190, 18, 38, 0.40);
  --shadow-gold: 0 4px 20px rgba(212, 168, 83, 0.25);

  /* ── Transiciones ──────────────────────────────────────── */
  --ease-out:    cubic-bezier(0.16, 1, 0.3, 1);
  --ease-in-out: cubic-bezier(0.45, 0, 0.55, 1);
  --duration-fast:   150ms;
  --duration-normal: 300ms;
  --duration-slow:   600ms;

  /* ── Z-index ───────────────────────────────────────────── */
  --z-base:    0;
  --z-raised:  10;
  --z-overlay: 100;
  --z-modal:   200;
  --z-nav:     300;
  --z-float:   400;

  /* ── Contenedor ────────────────────────────────────────── */
  --container-max: 1200px;
  --container-pad: var(--space-6);
}

/* ── Helpers globales ──────────────────────────────────────── */
*, *::before, *::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

html {
  scroll-behavior: smooth;
  font-size: 16px;
}

body {
  font-family: var(--font-body);
  color: var(--color-text);
  background: var(--color-white);
  line-height: var(--leading-normal);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  overflow-x: hidden;
}

img {
  max-width: 100%;
  height: auto;
  display: block;
}

a {
  color: inherit;
  text-decoration: none;
}

button {
  font-family: var(--font-body);
  cursor: pointer;
  border: none;
  background: none;
}

ul, ol {
  list-style: none;
}
