:root {
  /* ============================
     COLORES
     ============================ */
  --color-black:      #111111;
  --color-black-soft: #1A1A1A;
  --color-black-mid:  #222222;
  --color-yellow:     #FFD600;
  --color-yellow-dim: #E6C000;
  --color-white:      #FFFFFF;
  --color-gray-light: #F5F5F5;
  --color-gray:       #888888;
  --color-gray-dark:  #555555;

  /* ============================
     TIPOGRAFÍA
     ============================ */
  --font-family: 'Inter', system-ui, -apple-system, sans-serif;

  --font-size-xs:   12px;
  --font-size-sm:   14px;
  --font-size-base: 16px;
  --font-size-lg:   20px;
  --font-size-xl:   28px;
  --font-size-2xl:  40px;
  --font-size-3xl:  56px;

  --font-weight-regular: 400;
  --font-weight-medium:  500;
  --font-weight-bold:    700;

  --line-height-tight:  1.2;
  --line-height-normal: 1.5;
  --line-height-loose:  1.75;

  /* ============================
     ESPACIADO (escala 4px)
     ============================ */
  --space-1:  4px;
  --space-2:  8px;
  --space-3:  12px;
  --space-4:  16px;
  --space-5:  20px;
  --space-6:  24px;
  --space-8:  32px;
  --space-10: 40px;
  --space-12: 48px;
  --space-16: 64px;
  --space-20: 80px;
  --space-24: 96px;
  --space-32: 128px;

  /* ============================
     BREAKPOINTS
     Nota: los custom properties no funcionan en @media.
     Estos valores son referencia — usar literales en las reglas @media.
     sm=480px  md=768px  lg=1024px  xl=1280px  2xl=1536px
     ============================ */
  --bp-sm:  480px;
  --bp-md:  768px;
  --bp-lg:  1024px;
  --bp-xl:  1280px;
  --bp-2xl: 1536px;

  /* ============================
     LAYOUT
     ============================ */
  --container-max:    1280px;
  --container-narrow: 768px;
  --container-pad-x:  24px;
  --navbar-height:    72px;

  /* ============================
     BORDES Y RADIOS
     ============================ */
  --radius-sm:   4px;
  --radius-md:   8px;
  --radius-lg:   16px;
  --radius-full: 9999px;

  --border-width:    1px;
  --border-width-md: 2px;

  /* ============================
     SOMBRAS
     ============================ */
  --shadow-sm:   0 1px 3px rgba(0, 0, 0, 0.5);
  --shadow-md:   0 4px 12px rgba(0, 0, 0, 0.6);
  --shadow-lg:   0 8px 32px rgba(0, 0, 0, 0.7);
  --shadow-glow: 0 0 24px rgba(255, 214, 0, 0.35);

  /* ============================
     TRANSICIONES
     ============================ */
  --transition-fast:   150ms ease;
  --transition-base:   250ms ease;
  --transition-slow:   400ms ease;
  --transition-bounce: 350ms cubic-bezier(0.34, 1.56, 0.64, 1);

  /* ============================
     Z-INDEX
     ============================ */
  --z-below:    -1;
  --z-base:      0;
  --z-raised:   10;
  --z-dropdown: 100;
  --z-sticky:   200;
  --z-overlay:  300;
  --z-modal:    400;
  --z-toast:    500;
  --z-chatbot:  600;

  /* ============================
     SECCIÓN PADDING VERTICAL
     Fluido entre 64px (móvil) y 128px (desktop)
     ============================ */
  --section-py: clamp(64px, 8vw, 128px);
}
