@import url("https://fonts.googleapis.com/css2?family=Montserrat:wght@100;200;300&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Merriweather:ital,wght@1,300;1,400;1,700&display=swap");
@font-face {
  font-family: dinamit;
  src: url(fuentes/DINAMIT_MEDIUM.OTF);
}
:root {
  box-sizing: border-box;
  background-color: rgb(255, 255, 255);
}

*,
*::after,
*::before {
  box-sizing: inherit;
  margin: 0;
  padding: 0;
}

html,
body {
  font-family: "Montserrat", sans-serif;

  max-width: 100%;
  overflow-x: hidden;
  font-weight: 400;
  line-height: 1.7;
  color: rgb(15, 15, 15);
  background: rgb(250, 250, 250);
}

a,
a:hover,
a:visited {
  float: left;
  color: rgb(15, 15, 15);
  padding: 1em;
  text-decoration: none;
  transition: all 0.5s;
}

a:hover {
  color: #bed88b;
}

.fondo {
  width: 100%;
  min-height: 100vh;
  display: flex;
  background-color: rgb(255, 255, 255);
  background-image: url("../img/fondo_vintage.jpg");
  background-repeat: repeat-y;
  background-size: 100%;
  background-position: center;
  padding: 0;
  box-sizing: border-box;
}

.grid__contenedor {
  /* width: 100% !important; */
  min-height: 100vh;
  width: 100vw;
  background-color: rgba(255, 255, 255, 0.9);
  background-image: url("../img/fondo-carta-01.png");
  background-repeat: repeat-y;
  background-size: 100%;
  background-position: center;
  padding: 0;
  border: 2px solid black;
}

.btn {
  display: inline-block;
  margin: 0;
  padding: 0.5rem;
  border-radius: 5px;
  cursor: pointer;
  box-shadow: none;
  text-decoration: none;
  font-size: 0.95rem;
  font-weight: 500;
}
.btn.rojo {
  background-color: rgb(255, 2, 2);
  color: rgb(255, 255, 255);
}
.btn.verde {
  background-color: rgb(27, 236, 72);
  color: rgb(60, 131, 75);
}
.btn.ambar {
  background-color: rgb(236, 187, 27);
  color: rgb(60, 131, 75);
}
.btn.azul {
  background-color: rgb(1, 173, 253);
  color: rgb(15, 15, 15);
}
.btn.gris {
  background-color: rgb(102, 102, 102);
  color: rgb(15, 15, 15);
}
.btn.brojo {
  border: 2px solid rgb(255, 2, 2);
  color: rgb(15, 15, 15);
}
.btn.bverde {
  border: 2px solid rgb(27, 236, 72);
  color: rgb(15, 15, 15);
}
.btn.bambar {
  border: 2px solid rgb(236, 187, 27);
  color: rgb(60, 131, 75);
}
.btn.bazul {
  border: 2px solid rgb(1, 173, 253);
  color: rgb(15, 15, 15);
}
.btn.bgris {
  border: 2px solid rgb(102, 102, 102);
  color: rgb(15, 15, 15);
}
.btn.si {
  visibility: visible;
  background-color: rgb(143, 177, 70);
}
.btn.no {
  visibility: visible;
  background-color: rgb(177, 79, 70);
}

.btn-rojo {
  background-color: rgb(255, 2, 2);
  color: rgb(255, 255, 255);
}

.btn-verde {
  background-color: rgb(27, 236, 72);
  color: rgb(60, 131, 75);
}

.btn-ambar {
  background-color: rgb(236, 187, 27);
  color: rgb(124, 109, 60);
}

.btn-gris {
  background-color: rgb(102, 102, 102);
  color: rgb(206, 191, 191);
}

.disponible {
  color: rgb(41, 192, 61);
}

.no-disponible {
  color: rgb(236, 58, 58);
}

.hide {
  display: none;
}

.contraer {
  top: -100;
  background: red;
}

.div100 {
  width: 100%;
  display: flex;
  align-content: center;
  align-items: center;
  justify-content: center;
  margin: 0;
}

.sep1 {
  margin-bottom: 1em;
}

.sep2 {
  margin-bottom: 2em;
}

.f10 {
  font-size: 1em;
}

.f15 {
  font-size: 1.5em;
}

.f20 {
  font-size: 2em;
}

.fondohumo {
  background-image: url("../img/fondohumo.jpg");
}

.div70 {
  width: 70%;
  display: flex;
  align-content: center;
  align-items: center;
  justify-content: center;
  margin: 2em auto;
}

.divx3 {
  width: 100%;
  display: grid;
  grid-gap: 1em;
  grid-template-columns: repeat(3, 1fr);
}

.modal-container {
  position: fixed;
  z-index: 1000;
  width: 100%;
  height: 100vh;
  top: 0;
  left: 0;
  background: rgba(0, 0, 0, 0.95);
  display: flex;
  justify-content: center;
  align-items: center;
}

.modal {
  width: 40%;
  height: 50%;
  background: white;
  text-align: center;
  display: flex;
  flex-direction: column;
  justify-content: space-evenly;
  align-items: center;
  position: relative;
  transition: transform 1s;
  transform: translateY(0%);
}

.borde {
  border: 5px solid brown;
}

.titulo {
  width: 100%;
  text-align: center;
  font-family: "Merriweather", serif;
  letter-spacing: 2px;
  color: black;
}

.subtitulo {
  width: 100%;
  text-align: center;
  font-family: "Merriweather", serif;
  letter-spacing: 2px;
  color: black;
}

a {
  color: rgba(212, 102, 102, 0.75);
  transition: 1s ease;
}
a:hover {
  color: black;
}

.cabecera {
  width: 100%;
  display: grid;
  grid-template-columns: 1fr;
  background-color: rgba(255, 255, 255, 0.1);
  border-bottom: 1px solid rgb(136, 117, 117);
  padding-bottom: 1rem;
}

.logo {
  width: 100%;
  display: flex;
  justify-content: center;
}
.logo img {
  width: 150px;
}

.iconos {
  width: 100%;
  display: flex;
  justify-content: center;
}
.iconos img {
  width: 2rem;
  height: 2rem;
  margin: 0 1rem;
}

.grid__main {
  display: flex;
  flex-wrap: wrap;
  flex-direction: column;
  width: 100%;
  max-width: 100%;
  padding: 0 1rem;
  box-sizing: border-box;
}

.grid_lista {
  width: 100%;
  display: grid;
  grid-template-columns: 1fr;
}

.familiaTitulo {
  overflow: hidden;
  display: flex;
  flex-direction: column;
  width: 100%;
  font-family: "dinamit", sans-serif;
  font-size: 1.2rem;
  font-weight: 800;
  letter-spacing: 2px;
  text-align: center;
  color: rgb(15, 15, 15);
  margin: auto;
  padding: 0.5rem;
}

.familiaItems {
  width: 100%;
  overflow: hidden;
  transition: max-height 0.5s ease-in-out;
  height: auto;
  max-height: 10000;
}

.mostrar {
  transition: opacity 1.3s, visibility 1.3s;
  -webkit-transition: opacity 1.3s, visibility 1.3s;
}

.imagenFamilia {
  overflow: hidden;
  column-span: 2;
}

.imgFlecha {
  transition: all 1.3s ease;
}

.fab {
  transition: all 1.3s ease;
  content: url("../img/flecha_abrir_negro.png");
}

.far {
  content: url("../img/flecha_cerrar_negro.png");
  transition: all 1.3s ease;
}

.item {
  min-width: 0;
  /* grid-template-columns: 5fr 1fr 1fr; */
  grid-gap: 0.5rem;
  /* align-items: stretch; */
  font-size: 1em;
  font-weight: 600;
  margin: 0;
  padding: 0.5rem;
  border-bottom: 1px solid #e3c2c2;

  display: grid;
  /* grid-template-columns: minmax(0, 4fr) minmax(0, 1fr) minmax(0, 1fr); */
  word-break: break-word; /* Por si algún texto largo causa desbordamiento */
  grid-gap: 6px; /* antes: 10px */
  grid-template-columns: 5fr 2fr 1fr;
}

.nombre {
  width: 100;
  white-space: normal !important; /* se permiten saltos */
  overflow: visible;
  text-overflow: unset;
}

.item > * {
  min-width: 0;
  overflow-wrap: break-word;
}

.item .img {
  height: 30px;
  width: 30px;
  display: flex;
  justify-content: center;
}

.img img {
  width: 100%;
}

.alergenos {
  /*font-family: 'Kaushan Script', cursive;*/
  display: flex;
  flex-direction: row;
  width: 100%;
  font-family: "Montserrat", cursive;
  margin: 0;
  padding: 0;
  color: var(--grupo);
}

.alergeno {
  width: 36px;
  font-family: "Montserrat", cursive;
  font-size: 16px;
  margin: 0;
  padding: 0;
}

.inactivo {
  opacity: 0.2;
}
