:root {
    /* ── Identidad — ALIAS de la paleta Kadence (D6 · Regla C1) ───────────
       Fuente única de verdad: option `kadence_global_palette`. El tema hijo
       consume la marca, no la redefine. El segundo argumento de var() es el
       valor ratificado de la directiva (specs/DIRECTIVA-identidad-visual-
       2026-10.md §2): excepción documentada a C1 para que un rollback parcial
       de la paleta NO devuelva estos tokens al azul de fábrica. */
    --pcw-primary: var(--global-palette1, #FF6B00);
    --pcw-primary-hover: var(--global-palette2, #E66000);
    --pcw-brand-dark: var(--global-palette3, #0F172A);
    --pcw-text: var(--global-palette4, #334155);
    --pcw-text-subdued: var(--global-palette5, #64748B);
    --pcw-placeholder: var(--global-palette6, #718096);
    --pcw-surface: var(--global-palette7, #F8F9FA);
    --pcw-surface-subdued: var(--global-palette8, #F1F5F9);
    --pcw-card: var(--global-palette9, #FFFFFF);
    --pcw-surface-brand: var(--global-palette10, #FFF5EB);
    --pcw-success: var(--global-palette11, #047857);
    --pcw-info: var(--global-palette12, #2563EB);
    --pcw-critical: var(--global-palette13, #DC2626);
    --pcw-urgency: var(--global-palette13, #DC2626);
    --pcw-warning: var(--global-palette14, #B45309);
    --pcw-rating: var(--global-palette15, #B45309);
    --pcw-badge-color: var(--global-palette1, #FF6B00);

    /* Naranja accesible para TEXTO (#FF6B00 sobre blanco = 2.86:1, incumple AA) */
    --pcw-orange-text: #C2410C;    /* 5.18:1 sobre blanco */
    --pcw-rating-star: #D97706;    /* 3.19:1: umbral gráfico WCAG 3.0 */

    /* Bordes (decorativos: sin umbral WCAG) */
    --pcw-border: #E2E8F0;
    --pcw-border-subdued: #F1F5F9;

    /* Tipografía técnica: pila mono del sistema (D6 · T3), sin segunda familia */
    --pcw-font-mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace;

    /* Radios (escala Primer). --pcw-radius y --pcw-radius-sm se declaran abajo. */
    --pcw-radius-none: 0;
    --pcw-radius-xs: 2px;
    --pcw-radius-md: 8px;
    --pcw-radius-lg: 12px;
    --pcw-radius-xl: 16px;
    --pcw-radius-2xl: 24px;
    --pcw-radius-3xl: 28px;
    --pcw-radius-full: 9999px;
    --pcw-card-radius: var(--pcw-radius-lg);   /* = 12px, el fallback que ya usaba category-grid-v25.css */

    /* Espaciado (escala Carbon, base 8px) */
    --pcw-space-1: 4px;
    --pcw-space-2: 8px;
    --pcw-space-3: 12px;
    --pcw-space-4: 16px;
    --pcw-space-5: 24px;
    --pcw-space-6: 32px;
    --pcw-space-7: 48px;
    --pcw-space-8: 64px;
    --pcw-space-9: 96px;
    --pcw-space-10: 110px;
    --pcw-card-padding: var(--pcw-space-3);    /* = 12px, el fallback actual; se ajusta en M1 */

    /* Sombras (navy translúcido) */
    --pcw-shadow-sm: 0 1px 2px rgba(15, 23, 42, 0.06);
    --pcw-shadow: 0 2px 8px rgba(15, 23, 42, 0.08);
    --pcw-shadow-md: 0 4px 16px rgba(15, 23, 42, 0.10);
    --pcw-shadow-lg: 0 8px 28px rgba(15, 23, 42, 0.14);

    /* Transiciones */
    --pcw-transition-fast: 120ms ease-out;
    --pcw-transition: 200ms ease-out;
    --pcw-transition-slow: 320ms ease-out;

    /* Layout — Kadence Container 1624px */
    --pcw-container-max: 1624px;
    --pcw-gap-desktop: 24px;
    --pcw-gap-mobile: 16px;
    --pcw-radius: 8px;
    --pcw-radius-sm: 4px;

    /* Altura real del header movil (.site-header), medida en vivo 2026-10-26
       contra /categorias/pc-de-mesa/ (390px). Fuente unica para el offset de
       elementos sticky que deben viajar justo debajo del header -- antes
       grid-toolbar.css usaba el literal 80px en dos sitios (JS y CSS) que
       podian desincronizarse. */
    --pcw-header-height: 80px;

    /* ─── N12 · Megamenú: tokens que el CSS ya usaba con fallback ───
       Declararlos aquí cierra la deuda F4: antes cada valor estaba duplicado
       entre el fallback de la regla y el valor real, sin un punto único de
       cambio. */
    --pcw-ease: cubic-bezier(0.2, 0, 0, 1);
    --pcw-focus: #C2410C;          /* naranja accesible: ~5:1 sobre #F8F9FA */
    --pcw-text-muted: #64748B;     /* ~4.8:1 sobre #FFFFFF */
    --pcw-link-root: 14px;         /* columna 1 */
    --pcw-link-flyout: 15px;       /* columna 2 */
    --pcw-flyout-pad-y: 28px;
    --pcw-flyout-pad-x: 32px;
    --pcw-flyout-pad-y-mobile: 12px;
    --pcw-flyout-pad-x-mobile: 20px;
    --pcw-accent-width: 2px;
    --pcw-flyout-title-size: 18px; /* h2 del flyout: por encima de los 15px de los enlaces */
}

/* ─── C4 · MOVIMIENTO REDUCIDO (WCAG 2.3.3, P1) ───
   design-tokens.css se encola globalmente; este bloque anula transiciones,
   animaciones y scroll suave para quien prefiere menos movimiento. */
@media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
        scroll-behavior: auto !important;
    }
}

/* ─── D6-FIX · COLOR DE ENLACE (regresión de D6, global; PRD §10 hallazgo 1) ───
   Kadence pinta los enlaces con --global-palette-highlight, que D6 dejó apuntando a palette1 (#FF6B00):
   2.60-2.86:1 sobre claro. La directiva D6 prohíbe el naranja como texto/enlace. Se usa --pcw-orange-text
   (#C2410C: 5.18:1 sobre blanco, 4.73:1 sobre #F1F5F9). Hover de enlace: navy (palette3). Aditivo: se retira
   borrando este bloque. */
html:root {
    --global-palette-highlight: var(--pcw-orange-text);
    --global-palette-highlight-alt: var(--global-palette3);
}