/* ============================================================
   Familia Ciklo ESP — Tokens de marca (variables.css)
   Fuente: docs/02-identidad-marca.md
   Azul como color guía. Mobile-first.
   ============================================================ */

:root {
  /* ---- Colores de marca ---- */
  --ciklo-azul: #3079e9;
  --ciklo-verde: #49ad01;
  --ciklo-amarillo: #eebf05;
  --ciklo-rojo: #e70102;
  --ciklo-negro: #1a1a1a;
  --ciklo-blanco: #ffffff;

  /* ---- Variaciones útiles ---- */
  --ciklo-azul-oscuro: #1f5bc0;
  --ciklo-azul-claro: #eaf2fe;
  --ciklo-verde-oscuro: #357d01;
  --ciklo-verde-claro: #eef8e6;
  --ciklo-amarillo-oscuro: #c99e00;
  --gris-claro: #f5f7fa;
  --gris-medio: #6b7280;
  --gris-borde: #e5e8ee;

  /* ---- Semánticos ---- */
  --color-primario: var(--ciklo-azul);
  --color-primario-hover: var(--ciklo-azul-oscuro);
  --color-secundario: var(--ciklo-verde);
  --color-acento: var(--ciklo-amarillo);
  --color-texto: var(--ciklo-negro);
  --color-texto-suave: var(--gris-medio);
  --color-fondo: var(--ciklo-blanco);
  --color-fondo-alt: var(--gris-claro);
  --color-error: var(--ciklo-rojo);

  /* ---- Tipografía ---- */
  --fuente-base: "Inter", "Helvetica Neue", Arial, sans-serif;
  --fuente-titulos: "Inter", "Helvetica Neue", Arial, sans-serif;

  --txt-xs: 0.8125rem;   /* 13px */
  --txt-sm: 0.9375rem;   /* 15px */
  --txt-base: 1.0625rem; /* 17px */
  --txt-md: 1.25rem;     /* 20px */
  --txt-lg: 1.5rem;      /* 24px */
  --txt-xl: 2rem;        /* 32px */
  --txt-2xl: 2.5rem;     /* 40px */
  --txt-3xl: 3rem;       /* 48px */

  --peso-normal: 400;
  --peso-medio: 500;
  --peso-semi: 600;
  --peso-bold: 700;
  --peso-black: 800;

  --interlineado: 1.6;
  --interlineado-titulo: 1.15;

  /* ---- Espaciado ---- */
  --espacio-2xs: 0.25rem;
  --espacio-xs: 0.5rem;
  --espacio-sm: 1rem;
  --espacio-md: 1.5rem;
  --espacio-lg: 3rem;
  --espacio-xl: 5rem;
  --espacio-2xl: 7rem;

  /* ---- Forma (escala Stitch: muy redondeada) ---- */
  --radio-sm: 8px;
  --radio: 12px;
  --radio-lg: 16px;
  --radio-xl: 24px;
  --radio-2xl: 32px;
  --radio-3xl: 48px;
  --radio-pill: 999px;

  /* ---- Sombras ambientales (difusas, tinte de marca) ---- */
  --sombra-sm: 0 2px 8px rgba(26, 26, 26, 0.06);
  --sombra: 0 6px 20px rgba(26, 26, 26, 0.08);
  --sombra-lg: 0 16px 40px rgba(26, 26, 26, 0.12);
  --sombra-azul: 0 10px 28px rgba(48, 121, 233, 0.28);
  --sombra-ambiental: 0 40px 60px -15px rgba(48, 121, 233, 0.10);
  --sombra-ambiental-verde: 0 40px 60px -15px rgba(73, 173, 1, 0.10);

  /* ---- Glassmorphism ---- */
  --glass-fondo: rgba(255, 255, 255, 0.72);
  --glass-borde: rgba(255, 255, 255, 0.5);
  --glass-blur: 20px;

  /* ---- Layout ---- */
  --ancho-contenedor: 1240px;
  --alto-header: 76px;
  --section-gap: 4rem;       /* móvil */
  --section-gap-lg: 6rem;    /* escritorio (~96px) */
  --margen-desktop: 3rem;

  /* ---- Transiciones ---- */
  --transicion: 0.18s ease;
  --transicion-lenta: 0.35s ease;

  /* ---- Capas (z-index) ---- */
  --z-header: 100;
  --z-menu: 200;
  --z-flotante: 300;
  --z-lightbox: 400;
}
