body {
  font-family: Arial, sans-serif;
  background-color: #FFF7EB;
  color: #4b2e00;
  margin: 0;

  background-image: url('fondo.png'); /* cambia el nombre si guardas el archivo con otro */
  background-repeat: repeat;
  background-size: 300px; /* ajusta según lo grande que quieras el patrón */
  background-attachment: fixed;
}
header {
  background-color: #c62828;
  color: white;
  text-align: center;
  padding: 1rem;
  
  text-transform: uppercase;
letter-spacing: 2px;
text-shadow: 2px 2px 0 #000, 4px 4px 0 #c62828;

  
  background-image: url('fondo rojo.png'); /* cambia el nombre si guardas el archivo con otro */
  background-repeat: repeat;
  background-size: 300px; /* ajusta según lo grande que quieras el patrón */
  background-attachment: fixed;
}
nav {
  background-color: #FFF7EB;
  text-align: center;
  padding: 1rem;
  box-shadow: 0 0 10px rgba(0,0,0,0.3);
}
nav a {
  margin: 0 1rem;
  color: #c62828;
  text-decoration: none;
  font-weight: bold;
}
main {
  padding: 2rem;
  flex: 1;
}
footer {
   background-color: #c62828;
  color: white;
  text-align: center;
  padding: 1rem;
  position: sticky;
  bottom: 0;
}

.bloque-historia {
	
  max-width: 600px;
  margin: 0 auto;
  background-color: #FFF7EB;
  padding: 2rem;
  border-radius: 10px;
  box-shadow: 0 0 10px rgba(0,0,0,0.3);
  text-align: center;
}

.bloque-menu {
  max-width: 600px;
  margin: 0 auto;
  background-color: #FFF7EB;
  padding: 2rem;
  border-radius: 10px;
  box-shadow: 0 0 10px rgba(0,0,0,0.3);
  
}

li p {
  display: flex;              /* Hace que el plato y el precio compartan línea */
  justify-content: flex-start; /* Separa al máximo el plato del precio */
  align-items: baseline;      /* Alinea el texto en la base (quedará ordenado) */
  margin: 0;
  gap: 8px;
}

.plato {
  font-weight: normal;
}

.precio {
  font-weight: bold;     /* Negrita */
  font-size: 1.1em;  
}


.bloque-menu h2 {
  text-align: center;
  text-transform: uppercase;
letter-spacing: 2px;
text-shadow: 1px 1px 0 #000, 4px 4px 0 #FFF7EB;
}

.bloque-menu img.alergeno {
  width: 24px;
  height: 24px;
  margin-right: 10px;
}

.bloque-contacto h2 {
  text-align: center;
  text-transform: uppercase;
letter-spacing: 2px;
text-shadow: 1px 1px 0 #000, 4px 4px 0 #FFF7EB;
}

.bloque-historia h2 {
  text-align: center;
  text-transform: uppercase;
letter-spacing: 2px;
text-shadow: 1px 1px 0 #000, 4px 4px 0 #FFF7EB;
}

.bloque-piscina {
  max-width: 600px;
  margin: 0 auto;
  background-color: #FFF7EB;
  padding: 2rem;
  border-radius: 10px;
  box-shadow: 0 0 10px rgba(0,0,0,0.3);
}

.bloque-piscina h2 {
  text-align: center;
  text-transform: uppercase;
letter-spacing: 2px;
text-shadow: 1px 1px 0 #000, 4px 4px 0 #FFF7EB;
}

.bloque-contacto {
  max-width: 600px;
  margin: 0 auto;
  background-color: #FFF7EB;
  padding: 2rem;
  border-radius: 10px;
  box-shadow: 0 0 10px rgba(0,0,0,0.3);
  
}

html, body {
  height: 100%;
  display: flex;
  flex-direction: column;
}

/* Imágenes sueltas dentro de bloques */
.img-fluid,
.bloque-historia img:not(.slideshow img) {
  display: block;
  max-width: 100%;
  height: auto;          /* mantiene proporción */
  margin: 0 auto;        /* centradas */
  border-radius: 12px;
}

/* Carrusel responsivo */
.slideshow {
  position: relative;
  width: min(100%, 720px);  /* ajusta el ancho máximo del carrusel */
  aspect-ratio: 16 / 9;     /* todas las fotos comparten proporción visual */
  margin: 0 auto;
  overflow: hidden;
  border-radius: 12px;
  box-shadow: 0 8px 30px rgba(0,0,0,.15);
}

.slideshow img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;        /* recorta sin deformar */
  opacity: 0;
  transition: opacity 0.8s ease-in-out;
}

.slideshow img.active {
  opacity: 1;
}


.leyenda-alergenos {
  max-width: 600px;
  margin: 0 auto;
  background-color: #FFF7EB;
  padding: 2rem;
  border-radius: 10px;
  box-shadow: 0 0 10px rgba(0,0,0,0.3);
}

.leyenda-alergenos h2 {
  text-align: center;
  text-transform: uppercase;
letter-spacing: 2px;
text-shadow: 1px 1px 0 #000, 4px 4px 0 #FFF7EB;
}

.leyenda-alergenos h3 {
  text-align: center;
  margin-bottom: 15px;
  color: #4b2e00;
}

.leyenda-alergenos p {
  display: flex;
  align-items: center;
  margin: 8px 0;
  font-size: 16px;
}

.leyenda-alergenos img.alergeno {
  width: 24px;
  height: 24px;
  margin-right: 10px;
}


