/* /v5/css/base.css — base limpia, sin reservas extras ni scroll-padding */

/* Reset mínimo */
*,
*::before,
*::after { margin:0; padding:0; box-sizing:border-box; }

/* Documento */
html {
  font-size:16px;
  height:100%;
  overflow-x:hidden;
  -webkit-text-size-adjust:100%;
  text-size-adjust:100%;
  scrollbar-gutter: stable; /* evita “saltos” por aparición/desaparición del scroll */
}

/* Página */
body {
  width:100%;
  min-height:100svh;
  font-family: var(--font-main);
  background: var(--bg-color);
  color: var(--text-color);
  display:flex; flex-direction:column; align-items:center;
  overflow-x:hidden;
  padding-bottom:0; /* sin reservas */
  overscroll-behavior-y:none;

  /* Transiciones suaves sin afectar layout */
  transition: background-color .25s ease, color .25s ease;

  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  text-rendering:optimizeLegibility;

  /* Hereda del tema activo (.theme-*) */
  color-scheme: inherit;
}

/* Reduce motion */
@media (prefers-reduced-motion: reduce) {
  body { transition:none !important; }
}
