/* Señal Memoria — Design tokens v2 (modernizado vía UI/UX Pro Max)
   Style: Editorial Magazine + Bento + Mesh Gradient + Exaggerated Minimalism.
   Brand colors conservados (verde/morado/amarillo) + neutros editoriales.
   WCAG 2.1 AA. Light mode only. Drupal+Bootstrap 5 portable.
*/

:root {
  /* ============ BRAND (conservado del sitio actual) ============ */
  --sm-green-900: #1f5023;
  --sm-green-700: #2E7632;  /* Verde primario */
  --sm-green-600: #279b2c;
  --sm-green-300: #B3E873;
  --sm-green-100: #DBE6CD;
  --sm-green-050: #F9FFF2;

  --sm-purple-900: #4A1574;
  --sm-purple-700: #6B21A8;  /* AA sobre blanco */
  --sm-purple-500: #9C45E6;  /* Decorativo solo */

  --sm-amber-500: #F9B02D;
  --sm-amber-700: #B8780A;

  --sm-blue-900: #000559;
  --sm-blue-700: #0079C0;

  /* ============ EDITORIAL NEUTRALS (Exaggerated Minimalism) ============ */
  --sm-ink-950: #09090B;     /* Foreground extremo, displays */
  --sm-ink-900: #18181B;     /* Texto editorial */
  --sm-ink-700: #3F3F46;     /* Body */
  --sm-ink-500: #5F5F68;     /* Meta — oscurecido a ~6:1 sobre blanco (WCAG AA texto pequeño; antes #71717A ~4.0:1 fallaba) */
  --sm-ink-300: #D4D4D8;     /* Bordes suaves */
  --sm-ink-100: #F4F4F5;     /* Surface lift */

  --sm-paper-000: #FFFFFF;
  --sm-paper-050: #FAFAFA;   /* Bg editorial */
  --sm-paper-100: #F5F5F4;

  --sm-border: #E4E4E7;
  --sm-border-strong: #18181B;

  /* ============ FUNCTIONAL ============ */
  --sm-focus-ring: 3px solid #ffbf47;
  --sm-focus-offset: 3px;

  /* Bootstrap 5 overrides */
  --bs-primary: var(--sm-green-700);
  --bs-primary-rgb: 46, 118, 50;
  --bs-secondary: var(--sm-purple-700);
  --bs-link-color: var(--sm-ink-900);
  --bs-link-hover-color: var(--sm-green-700);
  --bs-body-color: var(--sm-ink-700);
  --bs-body-bg: var(--sm-paper-050);
  --bs-border-radius: 12px;
  --bs-border-radius-lg: 24px;
  --bs-border-radius-xl: 32px;

  /* ============ TYPOGRAPHY (match sitio actual: Lato + Raleway) ============ */
  --sm-font-display: 'Raleway', system-ui, -apple-system, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
  --sm-font-body: 'Lato', system-ui, -apple-system, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
  --sm-font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New', monospace;

  /* Display scale — Exaggerated Minimalism */
  --sm-fs-display-1: clamp(3rem, 10vw, 9rem);   /* Hero */
  --sm-fs-display-2: clamp(2.5rem, 7vw, 6rem);  /* Section openers */
  --sm-fs-display-3: clamp(2rem, 5vw, 4rem);    /* Card titles XL */
  --sm-fs-h1: clamp(2rem, 4vw, 3.5rem);
  --sm-fs-h2: clamp(1.5rem, 2.5vw, 2.25rem);
  --sm-fs-h3: clamp(1.25rem, 1.8vw, 1.5rem);
  --sm-fs-lead: clamp(1.125rem, 1.4vw, 1.375rem);
  --sm-fs-body: 1rem;
  --sm-fs-small: .875rem;
  --sm-fs-tag: .75rem;       /* Eyebrows, dates, tags mono */

  --sm-tracking-tight: -0.04em;
  --sm-tracking-tighter: -0.05em;
  --sm-tracking-wide: 0.08em;
  --sm-tracking-wider: 0.16em;
  --sm-leading-display: 0.95;
  --sm-leading-tight: 1.1;
  --sm-leading-base: 1.55;
  --sm-leading-reading: 1.7;

  /* ============ SPACING (8pt rhythm) ============ */
  --sm-sp-1: .25rem;
  --sm-sp-2: .5rem;
  --sm-sp-3: 1rem;
  --sm-sp-4: 1.5rem;
  --sm-sp-5: 2.5rem;
  --sm-sp-6: 4rem;
  --sm-sp-7: 6rem;
  --sm-sp-8: 10rem;          /* Massive whitespace editorial */

  /* ============ SHADOW / ELEVATION (subtle, editorial) ============ */
  --sm-shadow-xs: 0 1px 2px rgba(9,9,11,.04);
  --sm-shadow-sm: 0 2px 4px rgba(9,9,11,.06), 0 1px 2px rgba(9,9,11,.04);
  --sm-shadow-md: 0 8px 24px rgba(9,9,11,.08);
  --sm-shadow-lg: 0 24px 48px rgba(9,9,11,.12);
  --sm-shadow-hover: 0 32px 64px rgba(9,9,11,.16);

  /* ============ MOTION ============ */
  --sm-ease-out: cubic-bezier(.16, 1, .3, 1);
  --sm-ease-in: cubic-bezier(.4, 0, .68, .06);
  --sm-ease-spring: cubic-bezier(.34, 1.56, .64, 1);
  --sm-dur-fast: 150ms;
  --sm-dur-base: 250ms;
  --sm-dur-slow: 500ms;

  /* ============ BLUR / GLASS ============ */
  --sm-blur-sm: blur(8px);
  --sm-blur-md: blur(16px);
  --sm-blur-lg: blur(24px);
  --sm-glass-bg: rgba(250, 250, 250, 0.75);
  --sm-glass-border: rgba(9, 9, 11, 0.08);

  /* ============ MESH GRADIENT (brand-aware) ============ */
  /* Mezcla verde + amarillo + morado en hero, opacidad baja, light mode */
  --sm-mesh-1: radial-gradient(at 20% 20%, rgba(46,118,50,0.35) 0px, transparent 50%),
               radial-gradient(at 85% 15%, rgba(249,176,45,0.32) 0px, transparent 50%),
               radial-gradient(at 75% 80%, rgba(107,33,168,0.28) 0px, transparent 50%),
               radial-gradient(at 10% 90%, rgba(179,232,115,0.4) 0px, transparent 50%);
}

/* ============ Honor reduced motion ============ */
@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;
  }
}
