body {
    height: 110vh; /* Aumenta la altura del cuerpo para forzar el scroll */
    font-family: Arial, sans-serif;
    background-color: #f4f4f4;
    padding: 20px;
}

*{
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    font-family: 'Source Sans 3', sans-serif;
    text-decoration: none;
}

header{
    width: 100%;
    position: fixed;
    top: 60px;
    left: 0;
    z-index: 20;
}

.header__menu{
  max-width: 100px;
  margin: auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 20px;
}

.logo img{
  margin-top: -78px;
  position: absolute;
  width: 210px;
  margin-left: 700px;
}

/*barra menu*/

/* Contenedor del menú principal */
.container__menu {
    margin-top: -100px;
    width: 100%;
    height: 70px;
    background: #1a49d6;
    padding: 0px 20px;
}

.menu {
    max-width: 1750px;
    margin: auto;
    height: 100%;
}

nav {
    height: 100%;
}

nav > ul {
    height: 100%;
    display: flex;
}

nav ul li {
    height: 100%;
    list-style: none;
    position: relative;
}

/* Estilo del primer elemento del menú con imagen */
nav > ul > li:first-child > a {
    background-image: url(../../Index/images/casaaaaaa.png);
    background-size: 120px;
    background-repeat: no-repeat;
    background-position: center center;
    padding: 20px 40px;
    margin-left: -10%;
}

nav > ul > li:first-child:hover > a {
    background-image: url(../../Index/images/casaaaaaa.png);
    background-size: 120px;
    background-repeat: no-repeat;
    background-position: center center;
}

/* Enlaces principales del menú */
nav > ul > li > a {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    padding: 14px;
    color: #fff;
    text-transform: uppercase;
    font-size: 14px;
    transition: all 300ms ease;
}

nav > ul > li > a:hover {
    transform: scale(1.1);
    background: #2a75ee;
    box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.5);
}

/* Estilo para el enlace seleccionado */
#selected {
    transform: scale(1.1);
    background-color: #2a75ee;
    box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.5);
}

/* Submenús */
nav ul li ul {
    width: 200px;
    display: flex;
    flex-direction: column;
    background: #fff;
    position: absolute;
    top: 70px;
    left: -5px;
    padding: 14px 0px;
    visibility: hidden;
    opacity: 0;
    pointer-events: none; /* Evitar clics en submenús cerrados */
    box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.5);
    z-index: 10;
    transition: all 300ms ease;
}

/* Submenú visible */
nav ul li ul.show {
    visibility: visible;
    opacity: 1;
    pointer-events: auto; /* Habilitar clics solo en submenús visibles */
}

/* Triángulo decorativo del submenú */
nav ul li ul:before {
    content: '';
    width: 0;
    height: 0;
    border-left: 12px solid transparent;
    border-right: 12px solid transparent;
    border-bottom: 12px solid #fff;
    position: absolute;
    top: -12px;
    left: 20px;
}

/* Enlaces dentro de los submenús */
nav ul li ul li a {
    display: block;
    color: #0084ff;
    padding: 6px;
    padding-left: 14px;
    margin-top: 10px;
    font-size: 14px;
    text-transform: uppercase;
    transition: all 300ms ease;
}

nav ul li ul li a:hover {
    background: #2a75ee;
    color: #fff;
    transform: scale(1.1);
    padding-left: 30px;
    font-size: 14px;
    box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.5);
}

.icon__menu {
  font-size: 26px;
  color: #fff;
  cursor: pointer;
  width: 26px;
  height: 100%;
  display: none;
  align-items: center;
}

#check__menu {
  display: none;
}

#label__check {
  width: 26px;
  height: 100%;
  display: none;
}


/* Contenedor principal de los productos */
#favoritos-container {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: 20px;
    padding: 20px;
    justify-items: center;
    background-color: #f4f4f4; /* Color de fondo más suave */
    box-sizing: border-box;
}

/* Estilo de cada tarjeta de producto */
.producto {
    background-color: #fff;
    border-radius: 12px;
    border: 1px solid #e0e0e0;
    box-shadow: 0 12px 30px rgba(0, 0, 0, 0.1); /* Sombra más suave y profunda */
    overflow: hidden;
    transition: transform 0.3s ease, box-shadow 0.3s ease; /* Suavizamos la transición */
    position: relative;
    text-align: center;
    max-width: 295px;
    width: 600px;
    height: 410px; /* Ajusta la altura para hacerla más espaciosa */
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: space-between;
    padding: 15px;
}

/* Efecto hover para la tarjeta */
.producto:hover {
    transform: translateY(-8px);
    box-shadow: 0 15px 35px rgba(0, 0, 0, 0.15); /* Sombra más profunda en hover */
}

/* Imagen del producto */
.producto img {
    width: 100%;
    height: 260px; /* Ajusta la altura de la imagen */
    object-fit: contain; /* Mantiene la imagen completa sin recortarla ni estirarla */
    border-radius: 10px;
    margin-bottom: 15px;
    transition: transform 0.3s ease; /* Suavizamos el efecto hover de la imagen */
}

/* Efecto hover para la imagen */
.producto img:hover {
    transform: scale(1.05); /* Aumentamos ligeramente la imagen en hover */
}

@media screen and (max-width: 1890px){
    .logo img{
        margin-left: 660px;
    }
    
    .menu {
        max-width: 1650px;
    }
}

@media screen and (max-width: 1760px){
    .logo img{
        margin-left: 620px;
    }
    
    .menu {
        max-width: 1560px;
    }
}
    
@media screen and (max-width: 1660px){
    .logo img{
        margin-left: 570px;
    }
    
    .menu {
        max-width: 1480px;
    }
}
    
@media screen and (max-width: 1580px){
    .logo img{
        margin-left: 520px;
    }
    
    
    .menu {
        max-width: 1380px;
    }
}
    
    


/*version laptops*/
@media screen and (max-width: 1490px) {

    .logo img{
        margin-left: 470px;
    }
    
    
    .menu {
        max-width: 1280px;

    }
}


@media screen and (max-width: 1375px) {

    .logo img{
        margin-left: 430px;
    }
    
    
    .menu {
        max-width: 1210px;
    }
}

@media screen and (max-width: 1340px) {

    .logo img{
        margin-left: 410px;
    }
    
    
    .menu {
        max-width: 1170px;
    }
}

@media screen and (max-width: 1250px) {

    .logo img{
        margin-left: 380px;
    }
    
    
    .menu {
        max-width: 1100px;
    }
}

@media screen and (max-width: 1170px) {

    .logo img{
        margin-left: 350px;
    }
    
    .menu {
        max-width: 1050px;
    }
}
    


@media screen and (max-width: 1120px) {

    .logo img{
        margin-left: 328px;
    }
    
    .menu {
        max-width: 1000px;
    }
}

@media screen and (max-width: 1060px) {

    .logo img{
        margin-left: 310px;
    }
    
    .menu {
        max-width: 960px;
    }
}
    


@media screen and (max-width: 1039px) {
    
    .header__menu{
        padding: 20px;  
    }

    .logo img{
        margin-left: -76px;
    }

    nav > ul{
        flex-direction: column;
        background-color: #001A49;
        position: fixed;
        left: 0%;
        top: 70px;
        width: 60.70%;
        max-height: 255px; /* Tamaño fijo para el menú */
        z-index: 100;
        opacity: 0;
        visibility: hidden;
    }

    nav > ul > li > a:hover{
        transform: scale(1);
        background: none;
    }


    
    nav ul li ul{
        left: 120px;
        transition: none;
    }

    nav > ul > li:hover ul{
        top: 50px;
    }

    nav > ul > li:first-child a{
        background-position: 60px;
        background-position: center;
        padding: 20px 55%;
    }

        /* Estilo para cuando una opción está seleccionada en móvil */
        nav > ul > li > a.active {
            background-color: #2a75ee; /* Cambia el color a lo que desees */
        }

    #selected{
        transform: scale(1);
    }

    #label__check{
        position: fixed; /* O absolute, dependiendo de tu diseño */
        top: 15px; /* Ajusta según sea necesario */
        left: 12px;
        display: flex; /* Para centrar el ícono si tiene contenido interno */
        align-items: center;
        justify-content: center;
        width: 40px; /* Tamaño del área de clic */
        height: 40px;
        z-index: 1000; /* Asegúrate de que esté encima del contenido */
        cursor: pointer; /* Cambia el cursor al de clic */
    }

    .icon__menu {
        display: flex;
    }
    
    
    /* Eliminar efecto hover en dispositivos móviles */
    .producto:hover {
        transform: none;
        box-shadow: 0 12px 30px rgba(0, 0, 0, 0.1); /* Mantener sombra normal */
    }

    .producto img:hover {
        transform: none;
    }

}