/* ==========================================================================
   Bardocksito Design — Tokens del sistema de diseño
   Colores de marca medidos sobre el logo (Boceto web.pdf, pág. 1).
   Todos los componentes consumen estas variables: no usar valores sueltos.
   ========================================================================== */

@font-face {
  font-family: "Outfit";
  font-style: normal;
  font-weight: 300 800;
  font-display: swap;
  src: url("../fonts/outfit-latin.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: "Outfit";
  font-style: normal;
  font-weight: 300 800;
  font-display: swap;
  src: url("../fonts/outfit-latin-ext.woff2") format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

:root {
  /* Marca */
  --c-brand: #f0601a;
  --c-brand-600: #d9500e;
  --c-brand-700: #b3420c;
  --c-brand-100: #ffe2cf;
  --c-brand-50: #fff4ec;
  --c-blue: #1b5791;
  --c-blue-600: #154675;
  --c-blue-100: #d4e3f2;
  --c-blue-50: #edf3fa;

  /* Neutros (lenguaje "papel y tinta" del boceto) */
  --c-ink: #141414;
  --c-ink-2: #2a2a2a;
  --c-text: #1c1c1c;
  --c-muted: #62625c;
  --c-subtle: #8a8a83;
  --c-paper: #fafaf7;
  --c-surface: #ffffff;
  --c-surface-2: #f4f4ef;
  --c-surface-3: #ececE6;
  --c-line: #e3e3dd;
  --c-line-strong: #cdcdc6;

  /* Semánticos */
  --c-success: #1d7f46;
  --c-success-50: #e8f5ed;
  --c-warning: #a86a12;
  --c-warning-50: #fdf3e1;
  --c-danger: #c22f2f;
  --c-danger-50: #fdecec;
  --c-info: var(--c-blue);
  --c-info-50: var(--c-blue-50);

  /* Presencia */
  --c-online: #22a559;
  --c-away: #e0a21b;
  --c-dnd: #d63b3b;
  --c-offline: #a3a39c;

  /* Tipografía */
  --font: "Outfit", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  --fs-2xs: 0.6875rem;
  --fs-xs: 0.75rem;
  --fs-sm: 0.875rem;
  --fs-md: 1rem;
  --fs-lg: 1.125rem;
  --fs-xl: 1.25rem;
  --fs-2xl: clamp(1.375rem, 1.2rem + 0.8vw, 1.75rem);
  --fs-3xl: clamp(1.75rem, 1.35rem + 1.7vw, 2.5rem);
  --fs-hero: clamp(2.1rem, 1.2rem + 3.6vw, 3.6rem);
  --fw-light: 300;
  --fw-regular: 400;
  --fw-medium: 500;
  --fw-semibold: 600;
  --fw-bold: 700;
  --fw-black: 800;
  --lh-tight: 1.15;
  --lh-snug: 1.3;
  --lh: 1.55;
  --tracking-caps: 0.08em;

  /* Espaciado (base 4px) */
  --sp-1: 4px;
  --sp-2: 8px;
  --sp-3: 12px;
  --sp-4: 16px;
  --sp-5: 20px;
  --sp-6: 24px;
  --sp-8: 32px;
  --sp-10: 40px;
  --sp-12: 48px;
  --sp-16: 64px;
  --sp-20: 80px;

  /* Radios, bordes, sombras */
  --r-xs: 4px;
  --r-sm: 6px;
  --r-md: 10px;
  --r-lg: 14px;
  --r-xl: 20px;
  --r-full: 999px;
  --border: 1px solid var(--c-line);
  --border-strong: 1px solid var(--c-line-strong);
  --shadow-xs: 0 1px 2px rgba(20, 20, 20, 0.05);
  --shadow-sm: 0 2px 10px rgba(20, 20, 20, 0.06);
  --shadow-md: 0 12px 30px rgba(20, 20, 20, 0.1);
  --shadow-lg: 0 24px 64px rgba(20, 20, 20, 0.18);
  --focus-ring: 0 0 0 3px rgba(27, 87, 145, 0.35);

  /* Layout */
  --container: 1320px;
  --gutter: 16px;
  --header-h: 64px;
  --sidebar-w: 248px;
  --aside-w: 320px;

  /* Movimiento */
  --t-fast: 120ms;
  --t: 200ms;
  --t-slow: 360ms;
  --ease: cubic-bezier(0.2, 0.7, 0.3, 1);

  /* Capas */
  --z-sticky: 20;
  --z-header: 50;
  --z-dropdown: 60;
  --z-drawer: 80;
  --z-modal: 90;
  --z-toast: 100;
}

/* Breakpoints: sm 640 · md 768 · lg 1024 · xl 1280 · 2xl 1536 */
@media (min-width: 768px) {
  :root { --gutter: 24px; }
}
@media (min-width: 1024px) {
  :root { --header-h: 72px; }
}

@media (prefers-reduced-motion: reduce) {
  :root { --t-fast: 0ms; --t: 0ms; --t-slow: 0ms; }
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}
