/**
 * LIMAF v2.0 — Reset y base
 */

*, *::before, *::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

html {
  scroll-behavior: smooth;
  -webkit-text-size-adjust: 100%;
}

/* Lenis toma el control del scroll cuando está activo */
html.lenis, html.lenis body { height: auto; }
.lenis.lenis-smooth { scroll-behavior: auto !important; }
.lenis.lenis-stopped { overflow: hidden; }

body {
  font-family: var(--f-body);
  font-size: var(--t-base);
  line-height: 1.6;
  color: var(--ink-mid);
  background: var(--bg);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  overflow-x: hidden;
  min-height: 100vh;
}

img, svg, video, canvas {
  display: block;
  max-width: 100%;
}

a { color: inherit; text-decoration: none; }

button {
  font: inherit;
  color: inherit;
  background: none;
  border: none;
  cursor: pointer;
}

input, select, textarea { font: inherit; color: inherit; }

ul, ol { list-style: none; }

::selection {
  background: var(--fire-500);
  color: var(--white);
}

/* Scrollbar técnico */
::-webkit-scrollbar { width: 10px; }
::-webkit-scrollbar-track { background: var(--bg-3); }
::-webkit-scrollbar-thumb {
  background: var(--carbon-200);
  border-radius: 5px;
  border: 2px solid var(--bg-3);
}
::-webkit-scrollbar-thumb:hover { background: var(--fire-600); }

/* Focus visible — accesibilidad WCAG AA */
:focus-visible {
  outline: 2px solid var(--fire-400);
  outline-offset: 3px;
  border-radius: 2px;
}

/* Skip link */
.skip-link {
  position: fixed;
  top: -100px;
  left: var(--s-4);
  z-index: calc(var(--z-loader) + 1);
  padding: var(--s-3) var(--s-5);
  background: var(--fire-500);
  color: var(--white);
  font-family: var(--f-mono);
  font-size: var(--t-xs);
  border-radius: var(--r-sm);
  transition: top var(--d-fast) var(--e-out);
}
.skip-link:focus { top: var(--s-4); }

/* Movimiento reducido — WCAG */
@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;
  }
}
