@layer base {
  *,
  *::before,
  *::after {
    box-sizing: border-box;
  }

  body {
    margin: 0;
    font-family: var(--fuente-interfaz);
    font-size: var(--paso-0);
    font-weight: var(--peso-normal);
    line-height: var(--interlineado);
    color: var(--tinta);
    background-color: var(--mesa);
  }

  h1, h2, h3, p, dl, dd, figure {
    margin: 0;
  }

  img {
    max-inline-size: 100%;
    block-size: auto;
  }

  a {
    color: var(--tinta);
    text-underline-offset: 0.15em;
  }

  button,
  input {
    font: inherit;
    color: inherit;
  }

  :focus-visible {
    outline: var(--anillo) solid var(--tinta);
    outline-offset: 2px;
  }
}

@layer utilidades {
  /* Última capa: gana al display que fijan layout y componentes sin !important */
  [hidden] {
    display: none;
  }

  .visualmente-oculto {
    position: absolute;
    inline-size: 1px;
    block-size: 1px;
    overflow: hidden;
    clip-path: inset(50%);
    white-space: nowrap;
  }
}
