* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  font-family: var(--font-main);
  -webkit-tap-highlight-color: transparent;
}

html {
  scroll-behavior: smooth;
  /* Redundante con body#overflow-x a propósito: algunos navegadores móviles
     calculan el scroll horizontal contra <html>, no contra <body>. */
  overflow-x: hidden;
}

body {
  background-color: var(--bg-dark);
  color: var(--text-light);
  min-height: 100vh;
  overflow-x: hidden;
}

/* Bloquea el scroll de la landing de fondo mientras hay un overlay a
   pantalla completa abierto (modal admin, lightbox) — ver
   utils/scrollLock.js. En html Y body a la vez por la misma razón que
   overflow-x arriba: algunos navegadores móviles solo respetan uno u
   otro según el caso. */
html.scroll-locked,
body.scroll-locked {
  overflow: hidden;
  height: 100%;
}

ul {
  list-style: none;
}

a {
  color: inherit;
}

img {
  max-width: 100%;
  display: block;
}

button {
  font: inherit;
}
