/*=====================================
CATALOG
=====================================*/

.catalog-page{

    padding:40px 0 60px;

    background:#f6f8fb;

    min-height:100vh;

}


/*=====================================
HEADER
=====================================*/

.catalog-header{

    display:flex;

    justify-content:space-between;

    align-items:center;

    gap:25px;

    margin-bottom:35px;

}

.catalog-header h1{

    font-size:34px;

    font-weight:800;

    color:#111827;

    margin:0 0 10px;

}

.catalog-header h1 i{

    color:#2563eb;

    margin-right:10px;

}

.catalog-header p{

    color:#6b7280;

    margin:0;

    font-size:15px;

}

.catalog-count{

    min-width:140px;

    background:#fff;

    border-radius:18px;

    padding:18px 25px;

    box-shadow:0 12px 30px rgba(0,0,0,.06);

    text-align:center;

}

.catalog-count span{

    display:block;

    font-size:13px;

    color:#9ca3af;

    margin-bottom:6px;

}

.catalog-count strong{

    display:block;

    font-size:34px;

    color:#2563eb;

    font-weight:800;

}


/*=====================================
FILTER
=====================================*/

.catalog-toolbar{

    background:#fff;

    border-radius:22px;

    padding:28px;

    box-shadow:0 15px 45px rgba(0,0,0,.06);

    margin-bottom:35px;

}

.catalog-filter{

    display:grid;

    grid-template-columns:

    repeat(3,minmax(220px,1fr))

    180px;

    gap:22px;

    align-items:end;

}

.filter-item{

    display:flex;

    flex-direction:column;

}

.filter-item label{

    display:flex;

    align-items:center;

    gap:8px;

    font-size:14px;

    font-weight:700;

    margin-bottom:10px;

    color:#374151;

}

.filter-item label i{

    color:#2563eb;

}

.filter-item select{

    height:52px;

    border:1px solid #e5e7eb;

    border-radius:14px;

    padding:0 16px;

    background:#fff;

    font-size:15px;

    transition:.25s;

    cursor:pointer;

}

.filter-item select:focus{

    outline:none;

    border-color:#2563eb;

    box-shadow:0 0 0 4px rgba(37,99,235,.10);

}

.filter-button{

    display:flex;

}

.filter-button button{

    width:100%;

    height:52px;

    border:none;

    border-radius:14px;

    background:#2563eb;

    color:#fff;

    font-size:15px;

    font-weight:700;

    cursor:pointer;

    transition:.25s;

}

.filter-button button:hover{

    background:#1d4ed8;

    transform:translateY(-2px);

}

.filter-button i{

    margin-right:8px;

}
/*=====================================
RESULT
=====================================*/

.catalog-result{

    display:flex;

    justify-content:space-between;

    align-items:center;

    margin-bottom:25px;

    padding:0 5px;

}

.catalog-result span{

    color:#6b7280;

    font-size:15px;

}

.catalog-result strong{

    color:#111827;

    font-size:18px;

    font-weight:700;

}


/*=====================================
GRID
=====================================*/

.catalog-grid{

    display:grid;

    grid-template-columns:repeat(4,minmax(0,1fr));

    gap:24px;

    align-items:start;

}


/*=====================================
EMPTY
=====================================*/

.catalog-empty{

    grid-column:1/-1;

    background:#fff;

    border-radius:24px;

    padding:80px 30px;

    text-align:center;

    box-shadow:0 10px 35px rgba(0,0,0,.05);

}

.catalog-empty i{

    font-size:70px;

    color:#d1d5db;

    margin-bottom:20px;

}

.catalog-empty h2{

    margin:0 0 15px;

    font-size:28px;

    color:#111827;

}

.catalog-empty p{

    margin:0;

    color:#6b7280;

}


/*=====================================
PAGINATION
=====================================*/

.catalog-pagination{

    display:flex;

    justify-content:center;

    align-items:center;

    gap:12px;

    margin-top:50px;

    flex-wrap:wrap;

}

.catalog-pagination a{

    text-decoration:none;

}

.page-number,

.page-btn{

    width:46px;

    height:46px;

    display:flex;

    justify-content:center;

    align-items:center;

    border-radius:14px;

    background:#fff;

    color:#374151;

    font-weight:700;

    box-shadow:0 8px 25px rgba(0,0,0,.06);

    transition:.25s;

}

.page-number:hover,

.page-btn:hover{

    transform:translateY(-3px);

    background:#2563eb;

    color:#fff;

}

.page-number.active{

    background:#2563eb;

    color:#fff;

}


/*=====================================
PRODUCT CARD
=====================================*/

.catalog-grid .product-card{

    height:100%;

}

.catalog-grid .product-card:hover{

    transform:translateY(-8px);

}
/*=====================================
LAPTOP
=====================================*/

@media (max-width:1400px){

.catalog-grid{

    grid-template-columns:repeat(3,minmax(0,1fr));

}

.catalog-filter{

    grid-template-columns:
    repeat(2,minmax(250px,1fr));

}

.filter-button{

    grid-column:1/-1;

}

}


/*=====================================
TABLET
=====================================*/

@media (max-width:992px){

.catalog-page{

    padding:30px 0 40px;

}

.catalog-header{

    flex-direction:column;

    align-items:flex-start;

}

.catalog-count{

    width:100%;

}

.catalog-filter{

    grid-template-columns:1fr;

}

.filter-button{

    grid-column:auto;

}

.catalog-grid{

    grid-template-columns:repeat(2,minmax(0,1fr));

    gap:18px;

}

.catalog-result{

    flex-direction:column;

    align-items:flex-start;

    gap:8px;

}

}


/*=====================================
MOBILE
=====================================*/

@media (max-width:768px){

.catalog-page{

    padding:20px 0 35px;

}

.catalog-header{

    margin-bottom:20px;

}

.catalog-header h1{

    font-size:28px;

}

.catalog-header p{

    font-size:14px;

}

.catalog-toolbar{

    padding:18px;

    border-radius:18px;

}

.catalog-filter{

    display:flex;

    flex-direction:column;

    gap:16px;

}

.filter-item{

    width:100%;

}

.filter-item select{

    width:100%;

}

.filter-button{

    width:100%;

}

.filter-button button{

    width:100%;

}

@media (max-width:768px){

.catalog-grid{

    grid-template-columns:1fr;

    gap:18px;

}

.catalog-grid .product-card{

    width:100%;

    max-width:none;

}

}

.catalog-pagination{

    gap:8px;

    margin-top:35px;

}

.page-number,

.page-btn{

    width:40px;

    height:40px;

    border-radius:12px;

}

}


/*=====================================
SMALL MOBILE
=====================================*/

@media (max-width:480px){

.catalog-header h1{

    font-size:24px;

}

.catalog-count strong{

    font-size:28px;

}

.catalog-grid{

    gap:12px;

}

.catalog-toolbar{

    padding:15px;

}

.filter-item label{

    font-size:13px;

}

.filter-item select{

    height:48px;

    font-size:14px;

}

.filter-button button{

    height:48px;

    font-size:14px;

}

}
@media (max-width:768px){

.container{

    padding-left:18px;

    padding-right:18px;

}

}