/* ============================================
   FGS · Sistema de deseño · Tokens
   Variables CSS globais — cores, tipografía, espazos
   ============================================ */

:root {
  /* ----- CORES ----- */

  /* Verdes corporativos (verde nato real medido nos logos) */
  --gs-verde-nato:       #4a5846;
  --gs-verde-nato-50:    rgba(74, 88, 70, 0.08);
  --gs-verde-nato-90:    rgba(74, 88, 70, 0.92);
  --gs-verde-claro:      #6B8F47;
  --gs-verde-moi-claro:  #E8EFE3;

  /* Neutros */
  --gs-branco:           #FFFFFF;
  --gs-gris-05:          #FAFAF7;
  --gs-gris-10:          #F5F5F0;
  --gs-gris-20:          #E8E8E2;
  --gs-gris-50:          #6C6C64;   /* escurecido 10/09/2026 → 21/09/2026: #9A9A8E daba 2.84:1 sobre branco (falla WCAG AA), este dá 5.3:1 */
  --gs-gris-80:          #3E3E38;
  --gs-negro:            #1A1A17;

  /* Acentos por dimensión (uso interno proxectos) */
  --gs-terra:            #8B5E3C;
  --gs-azul:             #2E6B8A;
  --gs-viola:            #6B4C8A;
  --gs-oliva:            #7A7A2E;

  /* Estados */
  --gs-exito:            #4A7C59;
  --gs-aviso:            #C8872B;
  --gs-erro:             #A64040;

  /* ----- TIPOGRAFÍA ----- */

  /* Tres familias, tres papeis (decisión 25/09/2026):
     1. Trebuchet MS — letra insignia da FGS. É a letra coa que está debuxado o
        monograma «gs» (bold, cruzado polas liñas do símbolo). Marca, h1–h6 sen
        clase e rótulos estruturais: títulos de tarxeta, filtros, pé, sedes.
     2. Playfair Display — voz editorial: hero, portada, cifras grandes, citas
        (.gs-display) e títulos de documentos. Substituíu a Fraunces o 10/09/2026.
     3. Lato — corpo de texto, etiquetas, badges e cabeceiras de táboa.        */
  --gs-font-display:  'Playfair Display', Georgia, 'Times New Roman', serif;  /* Fraunces → Playfair, 10/09/2026 */
  --gs-font-titulos:  'Trebuchet MS', 'Trebuchet', Arial, sans-serif;
  --gs-font-corpo:    'Lato', system-ui, -apple-system, sans-serif;

  /* Escala tipográfica (base 16px) */
  --gs-texto-xs:    0.75rem;     /* 12 — notas, metadatos */
  --gs-texto-sm:    0.875rem;    /* 14 — etiquetas */
  --gs-texto-base:  1rem;        /* 16 — corpo */
  --gs-texto-lg:    1.125rem;    /* 18 — lead */
  --gs-texto-xl:    1.375rem;    /* 22 — H3 */
  --gs-texto-2xl:   1.75rem;     /* 28 — H2 sección */
  --gs-texto-3xl:   2.25rem;     /* 36 — H1 sección */
  --gs-texto-4xl:   3rem;        /* 48 — H1 hero pequeno */
  --gs-texto-5xl:   clamp(2.75rem, 6vw, 4.5rem);   /* H1 hero portada */
  --gs-texto-6xl:   clamp(3.5rem, 8vw, 6.5rem);    /* Display extra-large */

  /* Pesos tipográficos (Lato · Playfair Display) */
  --gs-peso-light:    300;
  --gs-peso-regular:  400;
  --gs-peso-medium:   500;
  --gs-peso-bold:     700;
  --gs-peso-black:    900;

  /* ----- LAYOUT ----- */

  --gs-max-width:        1200px;   /* Ancho máximo total */
  --gs-max-width-medio:  960px;    /* Para seccións de contido medio */
  --gs-max-width-texto:  680px;    /* Ancho lectura óptimo */

  --gs-padding-x:  clamp(1.25rem, 5vw, 3.5rem);

  /* Espazos verticais — escala armónica */
  --gs-gap-xs:   0.5rem;
  --gs-gap-sm:   0.75rem;
  --gs-gap-md:   1.5rem;
  --gs-gap-lg:   3rem;
  --gs-gap-xl:   5rem;
  --gs-gap-2xl:  8rem;

  /* Bordos */
  --gs-radius:        4px;
  --gs-radius-card:   8px;
  --gs-radius-pill:   999px;

  /* Sombras (sutís, evitar marcadas) */
  --gs-sombra-sm:  0 1px 3px rgba(26, 26, 23, 0.06);
  --gs-sombra-md:  0 4px 16px rgba(26, 26, 23, 0.08);
  --gs-sombra-lg:  0 12px 32px rgba(26, 26, 23, 0.10);

  /* ----- TRANSICIÓNS ----- */

  --gs-transicion-rapida:  150ms ease;
  --gs-transicion-media:   250ms ease;
  --gs-transicion-lenta:   400ms ease;

  /* ----- Z-INDEX ----- */

  --gs-z-nav:       100;
  --gs-z-modal:     200;
  --gs-z-overlay:   300;
}
