/* ==========================================================
   CATEGORY PAGE
   ENIGMA
==========================================================*/

.category-page{
    width:100%;
    margin-top:145px;
}


.category-container{

    width:100%;

    max-width:1720px;

    margin:0 auto;

    padding:0 40px;

    display:flex;

    flex-direction:column;

    align-items:center;

}

/* ----------------------------------------------------------
   TITLE
----------------------------------------------------------*/
    
.category-title{

    max-width:900px;

    text-align:center;

}

.category-label{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    padding:9px 18px;

    margin-bottom:22px;

    border-radius:999px;

    background:#f4efed;

    color:#9c7272;

    font-size:13px;

    font-weight:600;

    letter-spacing:3px;

    text-transform:uppercase;

}

.category-title h1{

    margin:0;

    font-size:68px;

    font-weight:300;

    line-height:1.1;

    letter-spacing:-2px;

    color:#2d2d2d;

}

.category-title p{

    max-width:720px;

    margin:18px auto 0;

    font-size:18px;

    line-height:1.9;

    color:#707070;

}

/* ----------------------------------------------------------
   TOOLBAR
----------------------------------------------------------*/

.catalog-toolbar{

    width:100%;

    max-width:1720px;

    margin:32px auto 35px;

    padding:0 40px;

    display:flex;

    align-items:center;

    justify-content:space-between;

}

.products-count{

    font-size:16px;

    font-weight:500;

    color:#666666;

}

#categorySort{

    width:250px;

    height:50px;

    padding:0 18px;

    border:1px solid #e4e4e4;

    border-radius:14px;

    background:#ffffff;

    cursor:pointer;

    outline:none;

    font-size:15px;

}

#categorySort:focus-visible{
    border-color:#bb8390;
    box-shadow:0 0 0 4px rgba(187,131,144,.16);
}

.category-empty-state,
.category-error-state{
    grid-column:1 / -1;
    padding:48px 24px;
    border:1px dashed #e3c1c8;
    border-radius:22px;
    color:#746d75;
    background:#fcf6f7;
    text-align:center;
}

.category-error-state{
    color:#a64955;
}

.category-more{
    display:flex;
    justify-content:center;
    margin-top:28px;
}

.category-more button{
    min-width:190px;
    padding:13px 24px;
    border:1px solid #d1a3ad;
    border-radius:999px;
    color:#724751;
    background:#fff;
    font:inherit;
    font-weight:650;
    cursor:pointer;
}

.category-more button:hover,
.category-more button:focus-visible{
    border-color:#bb8390;
    background:#f7eaed;
}

.category-more button:disabled{
    cursor:wait;
    opacity:.6;
}

/* ----------------------------------------------------------
   CATALOG
----------------------------------------------------------*/

.catalog-section{

    width:100%;

    max-width:1720px;

    margin:0 auto 80px;

    padding:0 40px;

}

.catalog-content{

    width:100%;

}

.catalog-grid{

    display:grid;

    grid-template-columns:repeat(5,minmax(0,1fr));

    gap:24px;

    width:100%;
}

.catalog-card{

    position:relative;

    width:100%;
    max-width:none;
    margin:0;

    display:flex;

    flex-direction:column;

    background:#fff;

    border-radius:28px;

    padding:16px;

    overflow:hidden;

    margin:0 auto;

    text-decoration:none;

    color:inherit;

    transition:
        transform .35s,
        box-shadow .35s;

    box-shadow:
        0 8px 30px rgba(0,0,0,.04);

}

.catalog-card:hover{

    transform:translateY(-6px);

    box-shadow:
        0 20px 45px rgba(0,0,0,.08);

}

.catalog-image{

    width:100%;

    height:320px;

    display:flex;

    justify-content:center;

    align-items:center;

    background:#f4f4f4;

    border-radius:22px;

    margin-bottom:18px;

    overflow:hidden;

}

.catalog-image img{

    width:100%;

    height:100%;

    object-fit:contain;

    padding:24px;

    transition:.35s;

}

.catalog-card:hover .catalog-image img{

    transform:scale(1.03);

}

.catalog-card h4{

    margin:0 0 6px;

    font-size:15px;

    font-weight:500;

    letter-spacing:.5px;

    text-transform:uppercase;

    color:#463d3b;

}
.catalog-card p{

    margin:0;

    margin-bottom:16px;

    font-size:16px;

    font-weight:500;

    color:#b77d86;

}

.catalog-info{

    display:flex;

    flex-direction:column;

    flex:1;

    padding-top:16px;

}

.wishlist-btn{

    position:absolute;

    top:28px;

    right:28px;

    width:44px;

    height:44px;

    border:none;

    border-radius:50%;

    background:#fff;

    box-shadow:
        0 8px 20px rgba(0,0,0,.08);

    cursor:pointer;

    font-size:20px;

}

.addToCart{

    width:100%;

    height:42px;

    margin-top:auto;

    border:none;

    border-radius:12px;

    background:#d7b0b2;

    color:#fff;

    font-size:15px;

    font-weight:500;

    cursor:pointer;

    transition:.3s;

}

.add-cart-btn{

    width:100%;

    margin-top:15px;

    padding:12px;

    border:none;

    border-radius:8px;

    background:#D9B4B4;

    color:white;

    cursor:pointer;
}
.add-cart-btn:hover{

    background:#C89E9E;
}

.addToCart:hover{

    background:#c8a1a1;

    transform:translateY(-2px);

    box-shadow:
    0 8px 20px
    rgba(201,155,170,.25);
}

@media(max-width:1024px){
    .category-title h1{
        font-size:54px;
    }

    .catalog-grid{
        grid-template-columns:repeat(3,minmax(0,1fr));
    }
}

@media(max-width:900px){
    .catalog-toolbar{
        flex-direction:column;
        gap:20px;
        align-items:flex-start;
    }

    .catalog-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
}

@media(max-width:650px){
    .category-page{
        margin-top:140px;
        padding:0;
    }

    .category-container,
    .catalog-section,
    .catalog-toolbar{
        padding-left:20px;
        padding-right:20px;
    }

    .category-title h1{
        font-size:42px;
    }

    .category-title p{
        font-size:16px;
    }

    #categorySort{
        width:100%;
    }

    .catalog-grid{
        grid-template-columns:1fr;
    }
}
