/* ==========================================================================
   Atajo Supply — Base tipográfica y sistema global
   Fuente: Inter (variable, ejes opsz + wght)
   ========================================================================== */

@font-face {
  font-family: "Inter";
  src: url("../assets/fonts/Inter-Variable.ttf") format("truetype-variations");
  font-weight: 100 900;      /* rango del eje wght de la fuente variable */
  font-style: normal;
  font-display: swap;
}

:root {
  /* ---- Familia ---- */
  --font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI",
    Roboto, Helvetica, Arial, sans-serif;

  /* Monoespaciada del sistema para bloques de código (los prompts en JSON de
     la ficha de recurso). No descarga nada: usa la que ya trae cada equipo. */
  --font-mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas,
    "Liberation Mono", monospace;

  /* ---- Pesos (tokens con nombre, no números sueltos por el CSS) ---- */
  --fw-regular: 400;
  --fw-medium: 500;
  --fw-semibold: 600;
  --fw-bold: 700;
  --fw-extrabold: 800;

  /* ---- Escala de tamaños (base 16px, ratio ~1.25) ---- */
  --text-xs: 0.75rem;    /* 12px — metadatos, contadores */
  --text-sm: 0.875rem;   /* 14px — nav, botones, texto pequeño */
  --text-base: 1rem;     /* 16px — cuerpo */
  --text-lg: 1.125rem;   /* 18px — subtítulos, lead */
  --text-xl: 1.5rem;     /* 24px — h4 */
  --text-2xl: 2rem;      /* 32px — h3 */
  --text-3xl: 2.75rem;   /* 44px — h2 */
  --text-4xl: 3.75rem;   /* 60px — h1 / hero */

  /* ---- Interlineado ---- */
  --leading-tight: 1.1;   /* titulares grandes */
  --leading-snug: 1.3;    /* subtítulos */
  --leading-normal: 1.6;  /* cuerpo */
}

/* ---- Reset mínimo ---- */
* {
  box-sizing: border-box;
}
html {
  -webkit-text-size-adjust: 100%;
}
body {
  margin: 0;
  font-family: var(--font-sans);
  font-optical-sizing: auto;          /* usa el eje opsz de Inter automáticamente */
  font-weight: var(--fw-regular);
  font-size: var(--text-base);
  line-height: var(--leading-normal);
  color: #111111;
  background: #ffffff;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* ---- Jerarquía de titulares ---- */
h1, h2, h3, h4, h5, h6 {
  margin: 0 0 0.5em;
  font-weight: var(--fw-bold);
  line-height: var(--leading-tight);
  letter-spacing: -0.02em;   /* leve tracking negativo: Inter respira mejor en grande */
}
h1 { font-size: var(--text-4xl); font-weight: var(--fw-extrabold); }
h2 { font-size: var(--text-3xl); }
h3 { font-size: var(--text-2xl); }
h4 { font-size: var(--text-xl); font-weight: var(--fw-semibold); letter-spacing: -0.01em; }
h5 { font-size: var(--text-lg); font-weight: var(--fw-semibold); letter-spacing: 0; }
h6 { font-size: var(--text-base); font-weight: var(--fw-semibold); letter-spacing: 0; }

p {
  margin: 0 0 1em;
  line-height: var(--leading-normal);
}

a {
  color: inherit;
}

strong, b {
  font-weight: var(--fw-semibold);
}
