/* Estructura base */
html, body {
  height: 100%;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
}

body {
  background-color: #f8f7f3;
}

#menu-principal {
  position: sticky;
  top: 0;
  z-index: 1000;
  background-color: #f8f7f3;
}

#logo {
  width: 50px;
  height: auto;
  margin-right: 30px;
}

#boton_inicio {
  color: #b42822;
  border: #b42822 solid 1px;
  margin-right: 10px;
  margin-left: 20px;
  transition: 0.3s ease-in-out;
}
#boton_inicio:hover {
  background-color: #b42822;
  color: #fff;
}

.nav-link {
  margin: 0 20px;
}
.nav-link:hover {
  color: #b42822 !important;
  text-decoration: underline;
  font-weight: bold;
  display: flex;
}

#FAQ, #contacto, #tienda, #nosotros {
  display: none;
}
#menu-faq, #menu-tienda, #menu-nosotros, #menu-contacto {
  display: flex;
}
#menu-faq:hover #FAQ,
#menu-contacto:hover #contacto,
#menu-nosotros:hover #nosotros,
#menu-tienda:hover #tienda {
  display: flex;
  width: 40px;
  height: auto;
}

main {
  flex: 1;
}


footer {
  background-color: #222;
  color: white;
  text-align: center;
  padding: 15px;
  width: 100%;
  font-size: small;
}

#caja {
  width: 90%; 
  max-width: 600px;  
  margin: 50px auto;    
  padding: 20px;
  border: 2px solid #b42822;
  border-radius: 10px;
  background: #fff;
  box-shadow: 0 4px 8px rgba(0,0,0,0.2); 
  overflow: auto; 
}

#caja::-webkit-scrollbar-thumb {
  border-radius: 20px;
}

p, h1, h2, h3, h4, h5, .btn, nav, footer, strong, ul {
  font-family: 'Quicksand', sans-serif;
}

#img-priv{
  animation: float 4s ease-in-out infinite;
  max-width: 100%;
  height: 60%;
  object-fit: contain;
  display: block;
  padding-right: 2rem;
}

#img{
  display: flex;
  align-items: center;
  justify-content: center;  
}

#cajas{
  max-width: 900px;
  margin-top: auto;
  margin-bottom: auto;
}

@keyframes float {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-10px); }
}

@media (min-width: 992px) {
  #caja {
    max-height: 650px;
  }
}

#caja h3 {
  margin-top: 20px;
  font-weight: 700;
  color: #b42822;
}

#caja p {
  font-size: 1rem;
  margin-bottom: 15px;
}