/*
 * Tokens de diseño de Prove — fuente única de verdad.
 *
 * Antes existían dos paletas en conflicto: `--prove-*` en prove-global.css y
 * `--pm-*` en prove-modern.css, con teales y verdes distintos, y ambas
 * declarando `body { font-family }`. Ganaba la que se cargara después, así que
 * el resultado dependía del orden de encolado y no de una decisión.
 *
 * Ahora los valores viven aquí una sola vez. Las variables `--prove-*` se
 * conservan como alias porque las páginas ya sembradas en la base de datos
 * usan sus clases; apuntan a los mismos valores, de modo que no puede volver a
 * haber divergencia.
 *
 * Para cambiar la tipografía del sitio basta editar --prove-font-sans.
 */

:root {
  /* --- Tipografía ------------------------------------------------------ */
  --prove-font-sans: "Plus Jakarta Sans", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;

  /* Escala de texto pequeño.
     Ningún texto de interfaz baja de 11px: por debajo, las mayúsculas con
     espaciado dejan de ser cómodas de leer. */
  --prove-size-micro: 11px;   /* Distintivos y etiquetas en mayúsculas */
  --prove-size-meta: 12px;    /* Metadatos y pies */
  --prove-size-small: 13px;   /* Texto secundario */
  --prove-size-body: 15px;    /* Cuerpo */

  /* Pesos reales de la fuente variable (400–800).
     No usar 850: no existe y obliga al navegador a sintetizar el bold. */
  --prove-weight-label: 700;  /* Etiquetas en mayúsculas */
  --prove-weight-strong: 700; /* Énfasis */
  --prove-weight-display: 800;/* Titulares */

  /* Las mayúsculas necesitan más espaciado cuanto menor es el tamaño. */
  --prove-track-label: .07em;
  --prove-track-display: -.025em;

  /* --- Color ----------------------------------------------------------- */
  --pm-navy: #082f3e;
  --pm-navy-2: #0d4052;
  --pm-teal: #124e66;
  --pm-green: #23765e;
  --pm-mint: #78d6b3;
  --pm-ink: #16242d;
  --pm-muted: #5a6c74;
  --pm-sand: #f5f1e9;
  --pm-cloud: #f6f8f8;
  --pm-line: #dce5e7;
  --pm-white: #fff;
  --pm-shadow: 0 24px 70px rgba(8, 47, 62, .14);

  /* Tonos de estado de verificación. Cada uno cumple contraste AA sobre su
     fondo; el color nunca es el único portador del dato, la etiqueta siempre
     nombra el estado en texto. */
  --prove-estado-declarado-bg: #fff3d8;
  --prove-estado-declarado-ink: #6b4700;
  --prove-estado-revision-bg: #e4eefb;
  --prove-estado-revision-ink: #17457f;
  --prove-estado-verificado-bg: #def1ea;
  --prove-estado-verificado-ink: #10553f;
  --prove-estado-caducado-bg: #fbe6e2;
  --prove-estado-caducado-ink: #8b2f1b;

  /* --- Alias heredados -------------------------------------------------
     Los usan las páginas ya sembradas. Apuntan a los mismos valores para que
     no reaparezca la divergencia de paletas. */
  --prove-teal: var(--pm-teal);
  --prove-green: var(--pm-green);
  --prove-ink: var(--pm-ink);
  --prove-sand: var(--pm-sand);
  --prove-line: var(--pm-line);
  --prove-radius: 16px;
  --prove-space: clamp(20px, 4vw, 72px);
}

/* -------------------------------------------------------------------------
 * Enlace de salto al contenido (WCAG 2.2, criterio 2.4.1).
 *
 * Faltaba en todas las plantillas: quien navega con teclado o lector de
 * pantalla tenía que recorrer el menú completo en cada página antes de llegar
 * al contenido.
 * ---------------------------------------------------------------------- */

.prove-skip-link {
  position: absolute;
  top: -100px;
  left: 16px;
  z-index: 100000;
  padding: 14px 22px;
  border-radius: 0 0 12px 12px;
  background: var(--pm-navy);
  color: #fff;
  font-family: var(--prove-font-sans);
  font-size: var(--prove-size-small);
  font-weight: var(--prove-weight-strong);
  text-decoration: none;
  transition: top .15s ease-in-out;
}

.prove-skip-link:focus {
  top: 0;
  color: #fff;
  outline: 3px solid var(--pm-mint);
  outline-offset: 2px;
}

@media (prefers-reduced-motion: reduce) {
  .prove-skip-link { transition: none; }
}
