/* GreyStoreChile · tokens v4.0.0 · copiado del manual de marca v4.0 (greystore-tokens.css).
   Nota de implementación: se omite a propósito el bloque global
   @media (prefers-color-scheme: dark) del manual (modo oscuro automático pendiente).
   Las secciones oscuras del sitio usan [data-theme="dark"]. El bloque reduced-motion,
   cortado en el PDF, se completó con las cuatro duraciones a 0ms. */


/* 1 · Primitivos */
:root {
  --gs-white: #FFFFFF;
  --gs-lima-50: #F6FAE6;
  --gs-lima-100: #ECF5C8;
  --gs-lima-200: #D9EB8F;
  --gs-lima-300: #C6DF5E;
  --gs-lima-400: #B3D335;
  --gs-lima-500: #97B324;
  --gs-lima-600: #728A12;
  --gs-lima-700: #566A0C;
  --gs-lima-800: #3D4B0B;
  --gs-lima-900: #283108;
  --gs-bosque-50: #EEF5F1;
  --gs-bosque-100: #DCEBE3;
  --gs-bosque-200: #B9D6C7;
  --gs-bosque-300: #8FBBA4;
  --gs-bosque-400: #5F9A7C;
  --gs-bosque-500: #3B7A5A;
  --gs-bosque-600: #2A6347;
  --gs-bosque-700: #1C4E38;
  --gs-bosque-800: #143B2A;
  --gs-bosque-900: #0C281C;
  --gs-neutro-50: #FAF8F3;
  --gs-neutro-100: #F5F0E6;
  --gs-neutro-200: #E6E0D4;
  --gs-neutro-300: #CFC8BB;
  --gs-neutro-400: #A9A296;
  --gs-neutro-500: #807A70;
  --gs-neutro-600: #5F5B53;
  --gs-neutro-700: #47443E;
  --gs-neutro-800: #2E2C28;
  --gs-neutro-900: #1D1C19;
  --gs-exito-100: #E4F3EA;
  --gs-exito-300: #8FD3A8;
  --gs-exito-600: #2F7D4F;
  --gs-exito-800: #1D5233;
  --gs-alerta-100: #FCF0D9;
  --gs-alerta-300: #F5C46A;
  --gs-alerta-600: #B86E00;
  --gs-alerta-800: #7A4800;
  --gs-error-100: #FBE5E2;
  --gs-error-300: #F2A69C;
  --gs-error-600: #C2372B;
  --gs-error-800: #8A2219;
  --gs-info-100: #E3EEF5;
  --gs-info-300: #9CC6E0;
  --gs-info-600: #2D6A8E;
  --gs-info-800: #1C4760;
  --gs-font-heading: 'azo-sans-web', 'Azo Sans', 'Montserrat', sans-serif;
  --gs-font-body: 'Montserrat', Arial, sans-serif;
  --gs-weight-regular: 400;
  --gs-weight-medium: 500;
  --gs-weight-semibold: 600;
  --gs-weight-bold: 700;
  --gs-measure: 34em;
  --gs-text-display: clamp(2.5rem, 1.82vw + 2.136rem, 3.5rem);
  --gs-leading-display: 1.07;
  --gs-tracking-display: -0.02em;
  --gs-text-h1: clamp(2.125rem, 1.14vw + 1.898rem, 2.75rem);
  --gs-leading-h1: 1.1;
  --gs-tracking-h1: -0.015em;
  --gs-text-h2: clamp(1.75rem, 0.91vw + 1.568rem, 2.25rem);
  --gs-leading-h2: 1.2;
  --gs-tracking-h2: -0.01em;
  --gs-text-h3: clamp(1.5rem, 0.45vw + 1.409rem, 1.75rem);
  --gs-leading-h3: 1.25;
  --gs-tracking-h3: 0;
  --gs-text-h4: clamp(1.25rem, 0.23vw + 1.205rem, 1.375rem);
  --gs-leading-h4: 1.3;
  --gs-tracking-h4: 0;
  --gs-text-lead: clamp(1.125rem, 0.23vw + 1.080rem, 1.25rem);
  --gs-leading-lead: 1.6;
  --gs-tracking-lead: 0;
  --gs-text-body: 1rem;
  --gs-leading-body: 1.6;
  --gs-tracking-body: 0;
  --gs-text-small: 0.875rem;
  --gs-leading-small: 1.55;
  --gs-tracking-small: 0;
  --gs-text-caption: 0.75rem;
  --gs-leading-caption: 1.5;
  --gs-tracking-caption: 0.01em;
  --gs-text-label: 0.75rem;
  --gs-leading-label: 1.33;
  --gs-tracking-label: 0.08em;
  --gs-text-button: 0.9375rem;
  --gs-leading-button: 1.33;
  --gs-tracking-button: 0;
  --gs-space-1: 0.25rem;
  --gs-space-2: 0.5rem;
  --gs-space-3: 0.75rem;
  --gs-space-4: 1rem;
  --gs-space-5: 1.5rem;
  --gs-space-6: 2rem;
  --gs-space-7: 3rem;
  --gs-space-8: 4rem;
  --gs-space-9: 6rem;
  --gs-space-touch: 2.75rem;
  --gs-radius-none: 0;
  --gs-radius-sm: 6px;
  --gs-radius-md: 10px;
  --gs-radius-lg: 16px;
  --gs-radius-xl: 24px;
  --gs-radius-pill: 999px;
  --gs-duration-fast: 120ms;
  --gs-duration-base: 200ms;
  --gs-duration-slow: 320ms;
  --gs-duration-deliberate: 480ms;
  --gs-easing-standard: cubic-bezier(0.2, 0, 0, 1);
  --gs-easing-enter: cubic-bezier(0, 0, 0.2, 1);
  --gs-easing-exit: cubic-bezier(0.4, 0, 1, 1);
}

/* 2 · Semánticos · modo claro */
:root, [data-theme="light"] {
  --gs-color-bg-default: var(--gs-neutro-50);
  --gs-color-bg-subtle: var(--gs-neutro-100);
  --gs-color-surface-default: var(--gs-white);
  --gs-color-surface-raised: var(--gs-white);
  --gs-color-text-default: var(--gs-neutro-900);
  --gs-color-text-muted: var(--gs-neutro-600);
  --gs-color-text-heading: var(--gs-bosque-700);
  --gs-color-text-link: var(--gs-bosque-600);
  --gs-color-text-accent: var(--gs-lima-700);
  --gs-color-border-default: var(--gs-neutro-200);
  --gs-color-border-input: var(--gs-neutro-500);
  --gs-color-border-focus: var(--gs-bosque-600);
  --gs-color-action-primary: var(--gs-bosque-700);
  --gs-color-action-primary-hover: var(--gs-bosque-800);
  --gs-color-text-on-primary: var(--gs-white);
  --gs-color-action-accent: var(--gs-lima-400);
  --gs-color-action-accent-hover: var(--gs-lima-300);
  --gs-color-text-on-accent: var(--gs-bosque-700);
  --gs-color-status-success-bg: var(--gs-exito-100);
  --gs-color-status-success-text: var(--gs-exito-800);
  --gs-color-status-success-icon: var(--gs-exito-600);
  --gs-color-status-warning-bg: var(--gs-alerta-100);
  --gs-color-status-warning-text: var(--gs-alerta-800);
  --gs-color-status-warning-icon: var(--gs-alerta-600);
  --gs-color-status-error-bg: var(--gs-error-100);
  --gs-color-status-error-text: var(--gs-error-800);
  --gs-color-status-error-icon: var(--gs-error-600);
  --gs-color-status-info-bg: var(--gs-info-100);
  --gs-color-status-info-text: var(--gs-info-800);
  --gs-color-status-info-icon: var(--gs-info-600);
}

/* 2 · Semánticos · modo oscuro */
[data-theme="dark"] {
  --gs-color-bg-default: var(--gs-bosque-900);
  --gs-color-bg-subtle: var(--gs-bosque-800);
  --gs-color-surface-default: var(--gs-bosque-800);
  --gs-color-surface-raised: var(--gs-bosque-700);
  --gs-color-text-default: var(--gs-neutro-50);
  --gs-color-text-muted: var(--gs-bosque-200);
  --gs-color-text-heading: var(--gs-neutro-50);
  --gs-color-text-link: var(--gs-lima-300);
  --gs-color-text-accent: var(--gs-lima-400);
  --gs-color-border-default: var(--gs-bosque-600);
  --gs-color-border-input: var(--gs-bosque-400);
  --gs-color-border-focus: var(--gs-lima-400);
  --gs-color-action-primary: var(--gs-lima-400);
  --gs-color-action-primary-hover: var(--gs-lima-300);
  --gs-color-text-on-primary: var(--gs-bosque-900);
  --gs-color-action-accent: var(--gs-lima-400);
  --gs-color-action-accent-hover: var(--gs-lima-300);
  --gs-color-text-on-accent: var(--gs-bosque-900);
  --gs-color-status-success-bg: var(--gs-bosque-800);
  --gs-color-status-success-text: var(--gs-exito-300);
  --gs-color-status-success-icon: var(--gs-exito-300);
  --gs-color-status-warning-bg: var(--gs-bosque-800);
  --gs-color-status-warning-text: var(--gs-alerta-300);
  --gs-color-status-warning-icon: var(--gs-alerta-300);
  --gs-color-status-error-bg: var(--gs-bosque-800);
  --gs-color-status-error-text: var(--gs-error-300);
  --gs-color-status-error-icon: var(--gs-error-300);
  --gs-color-status-info-bg: var(--gs-bosque-800);
  --gs-color-status-info-text: var(--gs-info-300);
  --gs-color-status-info-icon: var(--gs-info-300);
}

/* 3 · Componente (se recalculan en cada tema) */
:root, [data-theme] {
  --gs-button-primary-bg: var(--gs-color-action-primary);
  --gs-button-primary-bg-hover: var(--gs-color-action-primary-hover);
  --gs-button-primary-text: var(--gs-color-text-on-primary);
  --gs-button-accent-bg: var(--gs-color-action-accent);
  --gs-button-accent-bg-hover: var(--gs-color-action-accent-hover);
  --gs-button-accent-text: var(--gs-color-text-on-accent);
  --gs-button-secondary-border: var(--gs-color-text-heading);
  --gs-button-radius: var(--gs-radius-md);
  --gs-button-min-height: var(--gs-space-touch);
  --gs-input-bg: var(--gs-color-surface-default);
  --gs-input-border: var(--gs-color-border-input);
  --gs-input-border-error: var(--gs-color-status-error-icon);
  --gs-input-radius: var(--gs-radius-sm);
  --gs-card-bg: var(--gs-color-surface-default);
  --gs-card-radius: var(--gs-radius-lg);
  --gs-card-padding: var(--gs-space-5);
  --gs-chip-radius: var(--gs-radius-pill);
  --gs-focus-ring-color: var(--gs-color-border-focus);
  --gs-focus-ring-width: 2px;
  --gs-focus-ring-offset: 2px;
}
@media (prefers-reduced-motion: reduce) {
  :root {
    --gs-duration-fast: 0ms;
    --gs-duration-base: 0ms;
    --gs-duration-slow: 0ms;
    --gs-duration-deliberate: 0ms;
  }
}
