.catalog{

    display:grid;

    grid-template-columns:280px 1fr;

    gap:35px;

    align-items:start;

}

.sidebar{

    position:sticky;

    top:110px;

    background:#12243A;

    border:1px solid rgba(255,255,255,.06);

    border-radius:20px;

    padding:25px;

}

.sidebar h3{

    margin-bottom:20px;

}

.filter-group{

    margin-bottom:30px;

}

.filter-group label{

    display:flex;

    gap:10px;

    margin:10px 0;

    cursor:pointer;

    color:#AAB6C8;

}

.catalog-content{

    width:100%;

}

.catalog-search{

    display:flex;
    gap:15px;
    margin-bottom:35px;

}

.catalog-search input{

    flex:1;

}

.filter-link,
.filter-group a{

    display:block;
    margin:10px 0;
    color:#AAB6C8;
    transition:.2s;

}

.filter-group a:hover{

    color:white;

}

.catalog-header{

    display:flex;

    justify-content:space-between;

    align-items:flex-end;

    margin-bottom:32px;

}

.catalog-title h1{

    margin:0;

    font-size:42px;

    font-weight:800;

    color:#fff;

}

.catalog-title span{

    display:block;

    margin-top:8px;

    color:#8d95b8;

    font-size:15px;

}

.catalog-sort{

    display:flex;

    flex-direction:column;

    gap:10px;

}

.catalog-sort label{

    color:#8d95b8;

    font-size:13px;

}

.catalog-sort select{

    width:220px;

    height:46px;

    padding:0 16px;

    border:1px solid rgba(255,255,255,.06);

    border-radius:12px;

    background:#171d3a;

    color:#fff;

    font-size:15px;

    outline:none;

}

.catalog-sidebar{

    width:290px;

}

.filter-card{

    background:#171d3a;

    border:1px solid rgba(255,255,255,.06);

    border-radius:18px;

    padding:24px;

    position:sticky;

    top:240px;

}



.filter-card h3{

    margin:0 0 28px;

    font-size:22px;

    color:#fff;

}

.filter-group{

    display:flex;

    flex-direction:column;

    gap:14px;

}

.filter-group h4{

    margin:0 0 6px;

    color:#fff;

    font-size:16px;

}

.filter-item{

    display:flex;

    align-items:center;

    gap:12px;

    color:#b6bdd8;

    cursor:pointer;

    transition:.25s;

}

.filter-item:hover{

    color:#ff7c8d;

}

.filter-item input{

    accent-color:#ff7c8d;

}

.filter-divider{

    height:1px;

    background:rgba(255,255,255,.08);

    margin:24px 0;

}

.price-values{

    display:flex;

    justify-content:space-between;

    color:#8d95b8;

    font-size:13px;

    margin-top:10px;

}

input[type="range"]{

    width:100%;

    accent-color:#ff7c8d;

}

.catalog-layout{

    display:grid;

    grid-template-columns:290px 1fr;

    gap:30px;

    align-items:start;

    padding-top:10px;

}

.catalog-content{

    min-width:0;

}

.catalog-products{

    display:grid;

    grid-template-columns:repeat(auto-fill,minmax(280px,1fr));

    gap:22px;

}

.product-tags{

display:flex;

flex-wrap:wrap;

gap:8px;

margin:12px 0;

}


.product-tags span{

background:#252b50;

color:#bfc7e8;

padding:5px 10px;

border-radius:10px;

font-size:12px;

}



.product-rating{

color:#ffc857;

margin-top:8px;

}



.product-seller{

color:#aeb6d6;

margin-top:8px;

}



.product-sales{

color:#aeb6d6;

margin-top:5px;

}

.favorite-btn{

position:absolute;

top:15px;

right:15px;

width:38px;

height:38px;

border-radius:50%;

border:none;

background:#171d3a;

color:white;

font-size:22px;

cursor:pointer;

z-index:2;

}



.favorite-btn:hover{

color:#ff7c8d;

}



.favorite-btn.active{

background:#ff7885;

color:white;

}

.seller-mini-avatar{

width:28px;

height:28px;

border-radius:50%;

background:#ff7885;

display:flex;

align-items:center;

justify-content:center;

overflow:hidden;

color:white;

font-weight:700;

font-size:14px;

}



.seller-mini-avatar img{

width:100%;

height:100%;

object-fit:cover;

}


.product-seller{

display:flex;

align-items:center;

gap:8px;

}

.product-card{

display:block;

text-decoration:none;

color:inherit;

position:relative;

}


.product-card:hover{

transform:translateY(-5px);

}


.product-card{

transition:.25s;

}

.product-card{

background:#171d3a;

border-radius:18px;

overflow:hidden;

position:relative;

transition:.25s;

}



.product-card:hover{

transform:translateY(-5px);

}



.product-link{

display:block;

text-decoration:none;

color:white;

padding-bottom:15px;

}



.product-image{

width:100%;

height:180px;

overflow:hidden;

background:white;

}



.product-image img{

width:100%;

height:100%;

object-fit:cover;

}



.product-card h3,
.product-card p,
.product-tags,
.product-rating,
.product-seller,
.product-sales{

margin-left:15px;

margin-right:15px;

}

.catalog-sidebar{
    transform: translateY(40px);
}

.catalog-layout {
    transform:none;
    margin-top:-15px;
}

.favorite-btn.active{

background:#ff7885;

color:white;

}

.favorites-layout{
    width:100%;
}


.catalog-page{
    padding-top:20px;
}


.catalog-products{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:24px;
    width:100%;
}


/* =========================
   PRICE FILTER
========================= */


.price-filter{

    display:flex;

    gap:10px;

    margin-top:15px;

}



.price-filter input{

    width:100%;

    height:42px;

    padding:0 14px;

    background:#171d3a;

    border:1px solid rgba(255,255,255,.08);

    border-radius:12px;

    color:white;

    font-size:14px;

    outline:none;

}



.price-filter input::placeholder{

    color:#8d95b8;

}



.price-filter input:focus{

    border-color:#ff7c8d;

}



.price-filter button{

    height:42px;

    padding:0 18px;

    border:none;

    border-radius:12px;

    background:#ff7c8d;

    color:white;

    font-weight:700;

    cursor:pointer;

    transition:.25s;

}



.price-filter button:hover{

    transform:translateY(-2px);

    background:#ff6178;

}

.catalog-hero{

    max-width:700px;

    margin:42px 0 10px;

}


.catalog-hero span{

    color:#ff7188;

    font-size:15px;

    font-weight:700;

    letter-spacing:5px;

}

.catalog-hero h1{
    margin:14px 0;
    font-size:48px;
}


.catalog-hero p{

    color:#9da8c8;

    font-size:16px;

    line-height:1.6;

        color:var(--text-muted);
    line-height:1.6;
    
    max-width:650px;

}

.catalog-hero span{
    font-size:14px;
    letter-spacing:1.5px;
}


@media(max-width:1200px){

.catalog-products{
    grid-template-columns:repeat(4,1fr);
}

}


@media(max-width:800px){

.catalog-products{
        grid-template-columns:repeat(2, 1fr);
}

}

.favorites-page{
    padding-top:60px;
}

.catalog-hero {
    padding: 0;
}

/* =========================
   MOBILE CATALOG
========================= */

@media(max-width:768px){


.catalog-layout{

    display:flex;

    flex-direction:column;

    gap:20px;

}


.catalog-sidebar{

    width:100%;

}


.filter-card{

    position:relative;

    top:auto;

    padding:18px;

}


.catalog-hero{

    margin:25px 0 20px;

}


.catalog-hero h1{

    font-size:36px;

}


.catalog-products{

    grid-template-columns:repeat(2,1fr);

    gap:14px;

}


.catalog-sort select{

    width:100%;

}


.catalog-header{

    flex-direction:column;

    align-items:flex-start;

    gap:15px;

}


}

.mobile-filter-btn{

    display:none;

}



@media(max-width:768px){


.catalog-layout{

    display:flex;

    flex-direction:column;

}



.mobile-filter-btn{

    display:block;

    width:100%;

    height:48px;

    border:none;

    border-radius:14px;

    background:#171d3a;

    color:white;

    font-size:16px;

    font-weight:700;

}



.catalog-sidebar{

    width:100%;

}



.filter-card{

    display:none;

}



.filter-card.open{

    display:block;

}



.catalog-products{

    grid-template-columns:repeat(2,1fr);

    gap:14px;

}



.product-image{

    height:130px;

}



.product-card h3{

    font-size:15px;

}



.product-price{

    font-size:20px;

}


}

@media(max-width:768px){

.catalog-header{

    flex-direction:column;

    align-items:flex-start;

}


.catalog-sort select{

    width:100%;

}

}

.mobile-filter-btn{

    display:none;

}


@media(max-width:768px){


.mobile-filter-btn{

    display:block;

    width:100%;

    height:48px;

    margin-bottom:20px;


    border-radius:14px;

    border:1px solid rgba(255,255,255,.08);


    background:#171d3a;

    color:white;


    font-size:16px;

    font-weight:700;

}



.catalog-sidebar .filter-card{

    display:none;

}



.catalog-sidebar .filter-card.active{

    display:block;

    animation:filterOpen .25s ease;

}



@keyframes filterOpen{

    from{

        opacity:0;

        transform:translateY(-10px);

    }


    to{

        opacity:1;

        transform:translateY(0);

    }

}


}