/* ***************** PÁGINAS DE LAS CARTAS *************** */
/* ******************************************************* */
/* NUEVO CSS */
/* ******************************************************* */
/* ESTILOS DE LA PÁGINA */
.carta {
  display: flex;
  flex-direction: column;
}
.carta__icons {
  width: 2rem;
  cursor: pointer;
  animation: rotation 3s;
}
.bandera {
  border-radius: 50%;
  box-shadow: var(--sombra-invertida);
}

/*BARRAS HEADER CON BANDERAS Y ASIDE */
.main__header,
.main__header2 {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: fit-content;
  display: flex;
  justify-content: end;
  align-items: center;
  gap: 1rem;
  padding: 0.5rem 2rem;
  backdrop-filter: blur(5px);
  z-index: 1;
}

/* Botón RESERVAR del header de carta y drinks — color/background/animación en styles1.css */
.carta__boton-reservar {
  margin-right: auto;
  padding: 0.3em 0.5rem;
  text-align: center;
  font-size: 1.3rem;
  font-weight: 800;
  border-radius: var(--border-radius);
  cursor: pointer;
  text-decoration: none;
  white-space: nowrap;
}

.aside {
  position: fixed;
  top: 0;
  left: 0;
  width: fit-content;
  height: 100dvh;
  background-color: var(--glass-bg);
  backdrop-filter: var(--glass-blur);
  -webkit-backdrop-filter: var(--glass-blur);
  box-shadow: var(--sombra-invertida);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.5rem;
  padding: 5rem 0.4rem;
}

/* MAIN */
.wrapper {
  width: 90dvw;
  position: absolute;
  top: 0;
  right: 0;
  padding: 1rem;
  z-index: -1;
}
.main {
  width: 100%;
  max-width: 50rem;
  margin: 3rem auto 0;
  display: flex;
  flex-direction: column;
  align-items: center;
}
/* Logo superior */
.main__logo {
  width: 8rem;
  margin-bottom: 1rem;
}
/* Logo grande que encabeza la carta (igual que el de alérgenos) */
.platos__familia-img-brunch {
  width: 100%;
  max-width: 50rem;
  height: auto;
  max-height: 10rem;
  margin-top: 2rem;
  border-radius: var(--border-radius);
  box-shadow: var(--sombra-invertida);
  background-color: var(--glass-bg);
  backdrop-filter: var(--glass-blur);
  -webkit-backdrop-filter: var(--glass-blur);
  object-fit: contain;
}
/* FAMILIA */
.cont-platos {
  background-color: var(--glass-bg);
  backdrop-filter: var(--glass-blur);
  -webkit-backdrop-filter: var(--glass-blur);
  border-radius: var(--border-radius);
  padding: 1rem;
  box-shadow: var(--sombra-invertida);
}
.platos {
  width: 100%;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
}
.platos__familia {
  width: 100%;
  margin: 1.5rem 0;
  padding: 0.4rem;
  cursor: pointer;
  border-radius: var(--border-radius);
  background-color: var(--glass-bg);
  backdrop-filter: var(--glass-blur);
  -webkit-backdrop-filter: var(--glass-blur);
  box-shadow: var(--sombra-invertida);
}
.platos__familia-h2 {
  margin: 0.2rem;
  color: var(--color-destacado);
  font-size: 1.5rem;
  font-weight: 600;
  text-shadow:
    0 0 4px #fff,
    0 0 10px #fff,
    0 0 20px #fff;
}

/* *************************************************** */
/* Acordeón de familias: si se reactiva el toggle en cartaMaster2.js
   (actualmente comentado), .active se aplica al .cont-platos para
   expandir sus productos. Scopeada para no colisionar con .form.active
   ni con .maps-modal.active. */
.cont-platos.active {
  max-height: 175rem;
  overflow: visible;
}
/* Imagen de la familia */
.platos__familia-img {
  width: 100%;
  height: 8rem;
  margin-bottom: 1rem;
  border-radius: 20px 20px 0 0;
  object-fit: cover;
}

.textos__header-footer-familia {
  color: var(--color-secundario);
  padding: 0.5rem 0;
}

/* PRODUCTOS */
.nuevo__producto {
  display: flex;
  flex-direction: column;
  margin-top: 0.5rem;
}
/* Separar la última linea de la cabecera siguiente */
.nuevo__producto:last-of-type {
  margin-bottom: 1rem;
}
/* Nombre del plato (h4): rojo granate, scopeado a la carta para no afectar
   al h4 "FOOD" del manager ni a otros h4 del sitio. */
.nuevo__producto h4 {
  color: var(--color-destacado);
}
/* Sin descripción → el nombre vuelve al color original (secundario).
   La clase la añade cartaMaster cuando base.description está vacío. */
.nuevo__producto h4.sin-descripcion {
  color: var(--color-secundario);
}
.new__header {
  color: var(--color-secundario);
  font-size: 1.3rem;
  font-weight: bold;
  text-align: center;
  text-transform: uppercase;
}
.cabeceras__columnas {
  display: flex;
  justify-content: end;
  align-items: baseline;
}
.cabecera__columnas-imagen {
  height: 1rem;
  width: auto;
  margin: 0.5rem 1.4rem;
  object-fit: cover;
}
.cabecera__columnas-imagen:nth-child(1) {
  height: 1.5rem;
}
.cabecera__columnas-imagen:nth-child(2) {
  height: 1.8rem;
}
.cabecera__columnas-imagen:nth-child(3) {
  height: 2.1rem;
}
.cabecera__columnas-imagen:nth-child(4) {
  height: 2.4rem;
}
.cabecera__columnas-imagen:nth-child(5) {
  height: 2.7rem;
}
.cabecera__columna-texto {
  width: 4rem;
  text-align: right;
  color: var(--color-secundario);
  font-weight: bold;
}

.container {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  line-height: 1rem;
  gap: 1rem;
  margin-bottom: 0.2rem;
}
.product__description {
  color: var(--color-secundario);
  padding-left: 1rem;
  font-size: 1.1rem;
}
.product__img {
  width: 4rem;
  padding-right: 0.2rem;
}
.footer-producto {
  font-size: 0.9rem;
  color: rgb(89, 89, 89);
}
.cont__prices {
  display: flex;
  justify-content: end;
  gap: 0.5rem;
  color: var(--color-destacado);
  & span {
    width: 3.5rem;
    text-align: right;
    font-size: 1.1rem;
  }
}

/* Icono individual de los platos */
.pepper {
  height: 1rem;
  width: auto;
  margin: 0 0.5rem;
  display: inline-block;
}
/* IMPUESTO */
.impuesto {
  width: 100%;
  text-align: right;
  color: var(--color-secundario);
  margin-top: 2rem;
}
/* FOOTER */
.baner__alergenos {
  width: 100%;
  max-width: 50rem;
  margin: 3rem auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  border-radius: var(--border-radius);
  box-shadow: var(--sombra-invertida);
  background-color: var(--glass-bg);
  backdrop-filter: var(--glass-blur);
  -webkit-backdrop-filter: var(--glass-blur);
}

.footer {
  width: 100%;
  display: flex;
  flex-direction: column;
  padding-bottom: 20dvh;
}
.footer__texto-alergenos {
  font-size: 0.8rem;
  color: var(--color-secundario);
}
.email {
  font-size: 0.9rem;
  color: var(--color-secundario);
  margin: 1rem 0;
}
.restaurant123 {
  display: flex;
  justify-content: center;
  font-size: 0.8rem;
}
.restaurant123 a {
  padding: 0 0.2rem;
}
@media screen and (min-width: 768px) {
  .wrapper {
    width: 90%;
  }
}

