/* ==========================
   LUGARES SECTION
========================== */

.lugares-section{
    width:100%;
    padding: 3rem clamp(40px, 9vw, 110px);
}


/* HEADER */

.lugares-header{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:20px;
    margin-bottom:25px;
}


.lugares-header h2{
    margin:0;
    font-size:2.2rem;
    font-weight:800;
    color:var(--color-principal);
}



/* FILTROS */

.filtros{
    display:flex;
    gap:10px;
    flex-wrap:wrap;
}


.filtro{

    background:transparent;
    border:1.5px solid var(--color-principal);
    color:#000;
    padding:9px 16px;
    border-radius:6px;
    display:flex;
    align-items:center;
    gap:7px;
    font-size:.82rem;
    font-weight:700;

    cursor:pointer;

    transition:.3s ease;

}


.filtro i{

    font-size:1rem;

    color:var(--color-principal);

    transition:.3s ease;

}



/* HOVER */

.filtro:hover{

    background:var(--color-principal);

    color:#fff;

}


.filtro:hover i{

    color:#fff;

}



/* ACTIVO */

.filtro.active{

    background:var(--color-principal);

    color:#fff;

}


.filtro.active i{

    color:#fff;

}



/* GRID */

.lugares-grid{

    display:grid;

    gap:18px;

}



/* CARD */
.lugar-card{
    width:100%;
    height:350px;
    display:flex;
    overflow:hidden;
    background:#fff;
    margin-bottom:25px;
}


/* IMAGEN */
.lugar-card img{
    width:50%;
    height:100%;
    object-fit:cover;
    transition:.4s ease;
}


/* INFORMACION */
.lugar-info{
    width:50%;
    display:flex;
    flex-direction:column;
    justify-content:center;
    padding:40px;
    color:#111;
    background:#fff;
}


/* TITULO */
.lugar-info h3{
    margin:0 0 20px;
    font-size:2rem;
    font-weight:800;
    position:relative;
    padding-bottom:15px;
}


/* LINEA DEBAJO DEL TITULO */
.lugar-info h3::after{
    content:"";
    position:absolute;
    left:0;
    bottom:0;
    width:70px;
    height:4px;
    background:var(--color-principal);
    border-radius:10px;
}


.lugar-info p{
    margin:0;
    text-align: justify;
    font-size:1rem;
    line-height:1.6;
    color:#555;
}


/* ALTERNAR */
.lugar-card:nth-child(even){
    flex-direction:row-reverse;
}

/* OCULTAR FILTRO */

.lugar-card.oculto{

    display:none;

}



/* RESPONSIVE */

@media(max-width:1000px){

    .lugares-header{

        flex-direction:column;

        align-items:flex-start;

    }


    .lugares-grid{

        grid-template-columns:repeat(2,1fr);

    }

}



@media(max-width:600px){

    .lugares-grid{

        grid-template-columns:1fr;

    }


    .filtro{

        width:100%;

        justify-content:center;

    }

}

.sin-detalles{
    grid-column: 1 / -1;
    width:100%;
    min-height:300px;
    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:center;
    text-align:center;
    gap:10px;
    padding:40px 20px;
}

.sin-detalles i{
    font-size:50px;
    color:#999;
}

.sin-detalles h3{
    margin:0;
    font-size:24px;
    color:#333;
}

.sin-detalles p{
    margin:0;
    max-width:450px;
    color:#777;
}

.lugar-card{
    border:1px solid rgba(0,0,0,.08);
    box-shadow:
        0 5px 20px rgba(0,0,0,.15);
}


/*=========================
        RESPONSIVE LUGARES
=========================*/


/* LAPTOP */
@media(max-width:1200px){


    .lugares-section{

        padding:3rem 60px;

    }


    .lugar-card{

        height:320px;

    }


    .lugar-info{

        padding:30px;

    }


    .lugar-info h3{

        font-size:1.7rem;

    }


}



/* TABLETS */
@media(max-width:1000px){


    .lugares-section{

        padding:2.5rem 35px;

    }



    .lugares-header{

        flex-direction:column;

        align-items:flex-start;

        gap:20px;

    }



    .lugares-header h2{

        font-size:2rem;

    }




    .filtros{

        width:100%;

    }



    .filtro{

        flex:1;

        justify-content:center;

    }





    .lugar-card{

        height:auto;

        min-height:300px;

    }



    .lugar-info{

        padding:25px;

    }



    .lugar-info h3{

        font-size:1.5rem;

    }



}



/* CELULARES */
@media(max-width:600px){



    .lugares-section{

        padding:2rem 15px;

    }




    .lugares-header{

        align-items:center;

        text-align:center;

    }




    .lugares-header h2{

        font-size:1.6rem;

        width:100%;

    }




    .filtros{

        display:grid;

        grid-template-columns:1fr;

        width:100%;

    }



    .filtro{

        width:100%;

        justify-content:center;

        padding:10px;

    }





    /* CARD VERTICAL */

    .lugar-card,
    .lugar-card:nth-child(even){

        flex-direction:column;

        height:auto;

    }





    .lugar-card img{

        width:100%;

        height:220px;

    }





    .lugar-info{

        width:100%;

        padding:25px 20px;

        min-height:250px;

        justify-content:flex-start;

    }




    .lugar-info h3{

        font-size:1.4rem;

        margin-bottom:15px;

    }




    .lugar-info p{

        font-size:.95rem;

        line-height:1.5;

    }




}



/* CELULARES PEQUEÑOS */
@media(max-width:380px){



    .lugares-section{

        padding:1.5rem 10px;

    }



    .lugares-header h2{

        font-size:1.4rem;

    }



    .lugar-card img{

        height:180px;

    }




    .lugar-info{

        padding:20px 15px;

    }




    .lugar-info h3{

        font-size:1.2rem;

    }




    .lugar-info p{

        font-size:.85rem;

    }



}