/* Estilos que valen para todas las páginas: cajas, cuerpo, imágenes, foco, el botón grande y
   los contenedores. El encabezado y el pie tienen su hoja (encabezado.css y pie.css). */

/* El ancho de una caja incluye su borde y su relleno: así nada se pasa del celular. */
*,
*::before,
*::after {
  box-sizing: border-box;
}

body {
  margin: 0;
  background: var(--color-fondo);
  color: var(--color-texto);
  font-family: var(--fuente-texto);
  line-height: 1.4;
}

img {
  display: block;
  max-width: 100%;
  height: auto;
}

/* Contorno visible al navegar con teclado. */
:focus-visible {
  outline: 3px solid var(--color-acento);
  outline-offset: 2px;
}

/* Texto que no se ve pero el lector de pantalla lee. */
.visualmente-oculto {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
}

/* Botón grande (Agregar al carrito, Pedir por WhatsApp). Lo usan la ficha y el carrito. */
.boton {
  display: block;
  min-height: 48px;
  padding: 12px var(--espacio);
  border: 1px solid var(--color-acento);
  border-radius: var(--radio);
  background: var(--color-acento);
  color: var(--color-sobre-acento);
  font: inherit;
  font-weight: 700;
  text-align: center;
  text-decoration: none;
  cursor: pointer;
}

.boton--secundario {
  background: transparent;
  color: var(--color-texto);
}

.contenido {
  max-width: 1200px;
  margin: 0 auto;
  padding: var(--espacio);
}

.titulo-pagina {
  margin: 8px 0 4px;
  font-family: var(--fuente-titulos);
  font-size: 2rem;
  font-weight: 400;
  letter-spacing: 0.03em;
  text-transform: uppercase;
}

.estado {
  margin: 0 0 var(--espacio);
  color: var(--color-texto-suave);
}
