body {
  margin: 0;
  padding: 0;
  background: white;
  font-family: 'regular', sans-serif;
  color: #000;
}

.container {
  margin: 0 auto;
  padding: 1rem; /* Padding base para móviles */
}

.intro {
  display: flex;
  width: 100%;
  flex-direction: column;
  flex-wrap: nowrap;
  justify-content: center;
  margin-bottom: 2rem;
  animation: fadeInDown 1s ease;
}

.intro .text {
  margin: 0;
  font-size: 7.5px; /* Tamaño de fuente base para el texto del intro */
}

.intro .image img {
  margin: 0;
  height: 300px;
  width: 300px;
  max-width: 100%; /* Asegura que no desborde en pantallas muy pequeñas */
}

.text h1 {
  font-family: 'regular', serif;
  font-size: 2.1rem; /* Ajuste para móviles muy pequeños */
  line-height: 1.4;
  font-weight: 400;
  text-transform: uppercase;
  text-align: center; /* Centrado para el título principal del intro */
}

.paragraph p {
  font-size: 1em;
  text-align: center;
  margin-bottom: 1px;
  font-family: 'Montserrat';
  line-height: 1.8;
  font-weight: 100;
}

.paragraph strong {
  font-weight: 700;
}

/* Animación */
@keyframes fadeInDown {
  from {
    opacity: 0;
    transform: translateY(-30px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.brunch-section {
  text-align: center;
  padding: 3rem 1rem;
  border-bottom: 2px solid black;
  margin: 2rem 0;
}

.title-montserrat {
  display: block;
  width: 100%;
  text-align: center;
  font-family: 'regular', sans-serif;
  letter-spacing: 2px;
  font-weight: 400;
  text-transform: uppercase;
  font-size: clamp(1.5rem, 10vw, 5rem); /* Ajuste automático para responsive text */
  margin-bottom: 1rem;
  border-bottom: 2px solid black;
}

.brunch-section h2 {
  font-size: 2.2em;
  width: 100vw !important;
  text-align: center !important;
  display: block;
}

.brunch-card h3 {
  font-family: 'regular', sans-serif;
  font-size: 2.6em;
  font-weight: 400;
  line-height: 1.2;
  margin: 2rem 0 1rem;
  text-align: center; /* Centrado para los títulos de las tarjetas de brunch */
}

.brunch-items {
  list-style: none;
  padding: 0;
  margin: 0 0 2rem;
  font-family: 'italic', sans-serif;
  font-size: 0.95rem;
  line-height: 1.8;
  text-transform: uppercase;
  text-align: center !important;
}

.price {
  font-family: 'regular', serif;
  font-size: 2.3em;
  font-weight: bold;
}

#salados {
  margin: 3rem auto;
  padding: 0 1rem;
  font-family: 'italic', sans-serif;
}

.container-tosta {
  border-bottom: 2px solid black;
  padding-bottom: 1rem;
  margin-bottom: 2rem;
}

.tosta-header {
  display: flex;
  justify-content: center; /* Centrar elementos dentro de tosta-header */
  align-items: center;
  flex-wrap: wrap; /* Permitir que los íconos se envuelvan si el título es largo */
  flex-direction: row;
  text-align: center; /* Centrar el texto dentro del header si es una sola línea */
}

.tosta-title {
  font-family: 'regular', sans-serif;
  font-size: 1.9em;
  margin: 0;
  margin-bottom: 15px;
  text-align: center; /* Centrado para los títulos de tostas */
  width: 100%; /* Asegurar que ocupe todo el ancho para centrar */
}

.tosta-title span img {
  width: 25px;
  height: 25px;
}

.icons {
  font-size: 1.1rem;
  margin-left: 0.5rem;
  display: block; /* Asegurar que los iconos vayan debajo o se centren bien */
  width: 100%; /* Ocupar todo el ancho para centrado */
  text-align: center;
}

.tosta-price {
  font-size: 1.6em;
  width: 100%; /* Ocupar todo el ancho para centrar */
  text-align: center; /* Centrar el precio de la tosta */
}

.tosta-description {
  font-size: 0.95rem;
  text-align: center;
  margin-top: 0.5rem;
  line-height: 1.5;
  font-weight: 400;
}

#tartas {
  margin: 3rem auto;
  padding: 0 1rem;
  font-family: 'regular', sans-serif;
}

.tarta-header {
  display: flex;
  justify-content: center; /* Centrar el contenido del header */
  align-items: center;
  border-bottom: 2px solid black;
  padding-bottom: 0.5rem;
  margin-bottom: 1rem;
  flex-wrap: wrap; /* Permitir que los íconos se envuelvan */
}

.tarta-title {
  display: block;
  width: 100%;
  text-align: center;
  font-family: 'regular', serif;
  font-size: calc(100vw - 360px);
  font-weight: 400;
  text-transform: uppercase;
}

.tarta-title i {
  font-style: italic;
}

.icons img {
  width: 25px;
  height: 25px;
}

.tarta-price {
  font-size: 1.7em;
  width: 100%; /* Ocupar todo el ancho para centrar */
  text-align: center; /* Centrar el precio de la tarta */
}

.tarta-list {
  list-style: none;
  padding: 0;
  margin: 0;
  font-family: 'regular', sans-serif;
  font-weight: 500;
  text-transform: uppercase;
}

.tarta-list li {
  padding: 0.8rem 0;
  border-bottom: 1px solid #000;
  text-align: center;
  font-size: 0.8em;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  transition: font-size 0.2s ease;
}

.tarta-list li:last-child {
  border-bottom: none;
}

#pancakes {
  margin: 3rem auto;
  padding: 0 1rem;
  font-family: 'regular', sans-serif;
}

.pancake-header {
  text-align: center;
  margin-bottom: 1.5rem;
  border-bottom: 2px solid black;
  padding-bottom: 0.5rem;
}

.pancake-title {
  text-align: center;
  font-family: 'regular', serif;
  font-size: 2.8em;
  font-weight: 400;
}

.pancake-item {
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-bottom: 1px solid black;
  padding: 1rem 0;
  flex-wrap: nowrap;
  flex-direction: row;
}

.pancake-info {
  text-align: center !important;
  font-size: 0.95rem;
  flex-grow: 1; /* Permitir que la info ocupe espacio para empujar el precio */
}

.pancake-price {
  font-size: 1rem;
  font-family: 'regular', sans-serif;
  margin-top: 0.3rem;
  text-align: right; /* Asegurar que el precio se alinee a la derecha */
}

#croissants {
  margin: 3rem auto;
  padding: 0 1rem;
  font-family: 'regular', sans-serif;
}

.croissants-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  border-bottom: 2px solid black;
  padding-bottom: 0.5rem;
  margin-bottom: 1rem;
  flex-wrap: nowrap;
  flex-direction: row;
}

.croissants-title {
  text-align: center;
  font-family: 'regular', serif;
  font-size: 2.8em;
  font-weight: 400;
  margin: 0;
  flex-grow: 1; /* Permitir que el título ocupe espacio para centrado */
}

.croissants-prices p {
  margin: 0;
  text-align: right;
  font-size: 0.9rem;
  line-height: 1.4;
  white-space: nowrap; /* Evitar que los precios se dividan */
}

.croissants-prices span {
  margin-left: 15px;
  white-space: nowrap;
}

.croissants-list {
  list-style: none;
  padding: 0;
  margin: 0;
}

.croissants-list li {
  padding: 0.8rem 0;
  border-bottom: 1px solid #000;
  text-align: center !important;
  font-size: 0.95rem;
}

#bebidas {
  margin: 3rem auto;
  padding: 0 1rem;
  font-family: 'regular', sans-serif;
}

.bebidas-title {
  text-align: center;
  font-family: 'regular', serif;
  font-size: 2.8em;
  font-weight: 400;
  margin-bottom: 1.5rem;
  border-bottom: 1px solid #000;
  padding-bottom: 0.5rem;
}

.bebidas-list {
  list-style: none;
  padding: 0;
  margin: 0;
}

.lista-drinks {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0.5rem 0;
  border-bottom: 1px solid #000000;
  font-family: 'regular', sans-serif;
  font-size: 1rem;
  text-transform: uppercase;
  flex-direction: row;
  text-align: left; /* Mantener texto de bebidas a la izquierda, precios a la derecha */
}

.lista-tes {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0.5rem 0;
  font-family: 'regular', sans-serif;
  font-size: 1rem;
  text-transform: uppercase;
  text-align: left; /* Mantener texto de tés a la izquierda, precios a la derecha */
}

.bebidas-list li span {
  display: inline-block;
}

#zumos {
  margin: 2rem auto;
  padding: 0 1rem;
  font-family: 'italic', sans-serif;
}

.zumo-item {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  border-bottom: 1px solid #000;
  padding: 1rem 0;
  flex-wrap: nowrap;
  flex-direction: row;
}

.zumo-info {
  font-size: 0.95rem;
  text-align: left !important; /* Mantener texto de zumos a la izquierda */
  max-width: 60%;
}

.zumo-info span {
  font-size: 0.9rem;
}

.zumo-price {
  text-align: right;
  font-size: 1rem;
  line-height: 1.4;
  margin-top: 0.3rem;
}

.flags {
  align-content: center;
  display: flex;
  gap: 10px;
  margin-bottom: 20px;
  justify-content: center;
}

.flags img {
  width: 36px;
  height: 36px;
  cursor: pointer;
  transition: transform 0.2s;
}

.flags img:hover {
  transform: scale(1.1);
}

/* Fuentes personalizadas */
@font-face {
  font-family: 'italica';
  src: url('TheSilverEditorial-Italic.otf') format('opentype');
  font-weight: normal;
  font-style: normal;
}

@font-face {
  font-family: 'regular';
  src: url('TheSilverEditorial-Regular.otf') format('opentype');
  font-weight: normal;
  font-style: normal;
}

/* Títulos ajustables globalmente */
.salados {
  display: block;
  width: 100%;
  text-align: center;
  font-family: 'Montserrat', sans-serif;
  font-weight: 500;
  text-transform: uppercase;
  font-size: clamp(5rem, 10vw, 5rem);
}

.titulo-ajustado {
  font-family: 'regular', serif;
  text-transform: uppercase;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  text-align: center;
  font-size: 7.1vw;
}

