*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

html{
    scroll-behavior:smooth;
}

body{

    font-family:"Outfit",sans-serif;
    color:#222;
    background:#f1f1f1;

}

/*=========================
VARIABLES
=========================*/

:root{

    --purple:#b3b6e3;
    --pink:#fbb2c1;
    --softPink:#ffdddd;
    --cream:#e7edc7;
    --softGreen:#fbfdf3;

    --radius:18px;

}

/*=========================
TOP BAR
=========================*/

.top-bar{

    background:var(--purple);

    color:white;

    text-align:center;

    padding:10px;

    font-size:.9rem;

}


header{

    background:white;

    position:sticky;

    top:0;

    z-index:100;

}

.navbar{

    max-width:1300px;

    margin:auto;

    display:grid;

    grid-template-columns:1fr auto 1fr;

    align-items:center;

    padding:22px 20px;

}

.logo{

    justify-self:start;

    text-decoration:none;

    color:var(--purple);

}

.logo img{
    height: 3rem;
}

.menu{

    display:flex;

    gap:40px;

    list-style:none;
    justify-self:center;

}

.menu a{

    text-decoration:none;

    color:#444;

    font-weight:500;

    transition:.3s;

}

.menu a:hover{

    color:var(--purple);

}

.activemenu{

    color:var(--purple)!important;

}

.nav-icons{

    justify-self:end;

    display:flex;

    align-items:center;

    gap:22px;

}

.nav-icons a{

    color:#444;

    font-size:1.15rem;

    position:relative;

}

.cart span{

    position:absolute;

    top:-8px;

    right:-8px;

    width:18px;

    height:18px;

    border-radius:50%;

    background:var(--purple);

    color:white;

    font-size:.7rem;

    display:flex;

    justify-content:center;

    align-items:center;

}

/*RESPONSIVE*/

@media(max-width:950px){

    .bloomi{
    height: 2rem !important;
    }
}


/*CONTENEDOR*/
.catalog-page{

    max-width:1400px;

    margin:auto;

}

/*ENCABEZADO*/
.catalog-header{

    text-align:center;

    margin-bottom:50px;
    background: #eff7d0;

    padding-top: 40px;
    padding-bottom: 40px;

}

.catalog-header h1{

    font-size:3.5rem;

    margin:15px 0;

}

.catalog-header p{

    color:#666;

    max-width:650px;

    margin:auto;

}

/*FILTROS*/
.catalog-filters{

    display:flex;

    justify-content:center;

    gap:15px;

    margin-bottom:40px;

    flex-wrap:wrap;

}

/*BOTONES*/
.filter-btn{

    border:none;

    padding:14px 28px;

    border-radius:40px;

    cursor:pointer;

    background:#f5f5f5;

    transition:.3s;

    font-size:1rem;
    
}

.filter-btn:hover{

    background:var(--pink);

}

.filter-btn.active{

    background:var(--purple);

    color:white;

}

/*BUSCADOR*/

.catalog-search{

    max-width:550px;

    margin:auto;

    margin-bottom:50px;

    position:relative;

}

.catalog-search input{

    width:100%;

    padding:16px 20px 16px 50px;

    border:none;

    border-radius:50px;

    background:#fafafa;

    font-size:1rem;

    outline:none;

}

.catalog-search i{

    position:absolute;

    left:18px;

    top:50%;

    transform:translateY(-50%);

    color:#888;

}


/*GRID*/
.catalog-grid{

    display:grid;

    grid-template-columns:repeat(auto-fill,minmax(260px,1fr));

    gap:30px;

}


/*RESPONSIVE*/
@media(max-width:768px){

.catalog-page{

    padding:60px 20px;

}

.catalog-header h1{

    font-size:2.5rem;

}

.catalog-search{

    width:100%;

}

}

/*PRODUCT CARD*/

.product-card{

    background:white;

    border-radius:28px;

    overflow:hidden;

    position:relative;

    transition:.35s;

    box-shadow:0 15px 40px rgba(0,0,0,.05);

    flex: 0 0 calc((100% - 90px) / 4);
    
}

.product-card:hover{

    transform:translateY(-8px);

}

.product-card img{

    width:100%;
    height:300px;

    object-fit:cover;

    padding:0;

    background:#fafafa;

}

.product-info{

    padding:30px;

}


.brand{

    font-size:.8rem;

    text-transform:uppercase;

    color:#888;

}

.product-info h3{

    margin:10px 0;

    font-size:1.15rem;

}

.product-info p{

    color:#777;

    line-height:1.6;

    margin-bottom:25px;

}

.price-row{

    display:flex;

    justify-content:space-between;

    align-items:center;

}

.price{

    font-size:1.3rem;

    font-weight:700;

    color:#333;

}

.add-cart{

    width:46px;

    height:46px;

    border:none;

    border-radius:50%;

    background:var(--purple);

    color:white;

    cursor:pointer;

    transition:.3s;

}

.add-cart:hover{

    background:var(--pink);

    transform:scale(1.1);

}

.wishlist{

    position:absolute;

    top:20px;

    right:20px;

    width:42px;

    height:42px;

    border:none;

    border-radius:50%;

    background:white;

    box-shadow:0 5px 20px rgba(0,0,0,.1);

    cursor:pointer;

}

.product-badge{

    position:absolute;

    left:20px;

    top:20px;

    background:var(--purple);

    color:white;

    padding:8px 14px;

    border-radius:30px;

    font-size:.75rem;

    font-weight:600;

}


@media(max-width:600px){

        .catalog-grid{

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

        gap: 15px;

    }

.product-card{

max-width:100%;

max-height: 80vh;

}

.product-card img{

    width:100%;
    height:40vh;

    object-fit:cover;

    padding:0;

    background:#fafafa;

}

.product-info{
        padding-top: 0;
    }

.price{
    position:absolute; 
    bottom:20px;
}
.add-cart{

    position: absolute;

    right: 20px;
    bottom: 15px;

}


}