/*==================================================
    TIPA MART
    SHOP PAGE
==================================================*/


/*==================================================
    SHOP SECTION
==================================================*/

.shop{

    padding:50px 0 70px;

    background:#F7F8FA;

}


/*==================================================
    SHOP LAYOUT
==================================================*/

.shop__layout{

    display:grid;

    grid-template-columns:290px minmax(0,1fr);

    gap:30px;

    align-items:start;

}


/*==================================================
    SHOP CONTENT
==================================================*/

.shop__content{

    min-width:0;

}


/*==================================================
    SHOP PRODUCT GRID
==================================================*/

.shop__content .product-grid{

    display:grid;

    grid-template-columns:repeat(4,minmax(0,1fr));

    gap:24px;

    width:100%;

}


/*==================================================
    SHOP PRODUCT CARD
==================================================*/

.shop-product-card{

    position:relative;

    display:flex;

    flex-direction:column;

    min-width:0;

    height:100%;

    background:#FFFFFF;

    border:1px solid #E8E8E8;

    border-radius:10px;

    overflow:hidden;

    transition:

        transform .25s ease,

        box-shadow .25s ease,

        border-color .25s ease;

}


.shop-product-card:hover{

    transform:translateY(-4px);

    border-color:#E1E1E1;

    box-shadow:0 12px 28px rgba(0,0,0,.08);

}


/*==================================================
    PRODUCT IMAGE
==================================================*/

.shop-product-card__image{

    position:relative;

    display:flex;

    align-items:center;

    justify-content:center;

    width:100%;

    aspect-ratio:1 / 1;

    padding:18px;

    background:#FFFFFF;

    overflow:hidden;

    text-decoration:none;

}


.shop-product-card__image img{

    display:block;

    width:100%;

    height:100%;

    object-fit:contain;

    object-position:center;

    transition:transform .3s ease;

}


.shop-product-card:hover
.shop-product-card__image img{

    transform:scale(1.04);

}


/*==================================================
    SALE / DEAL BADGE
==================================================*/

.shop-product-card__badge{

    position:absolute;

    top:14px;

    left:14px;

    z-index:5;

    display:flex;

    align-items:center;

    justify-content:center;

    min-width:52px;

    height:28px;

    padding:0 10px;

    border-radius:5px;

    font-size:11px;

    font-weight:700;

    line-height:1;

    letter-spacing:.4px;

    text-transform:uppercase;

    pointer-events:none;

}


/*==================================================
    SALE BADGE
==================================================*/

.shop-product-card__badge--sale{

    background:#E53935;

    color:#FFFFFF;

}


/*==================================================
    DEAL BADGE
==================================================*/

.shop-product-card__badge--deal{

    background:#F5B51D;

    color:#082C6C;

}


/*==================================================
    PRODUCT CONTENT
==================================================*/

.shop-product-card__content{

    display:flex;

    flex-direction:column;

    flex:1;

    padding:16px 18px 18px;

}


/*==================================================
    PRODUCT CATEGORY
==================================================*/

.shop-product-card__category{

    display:block;

    margin-bottom:6px;

    color:#888;

    font-size:12px;

    font-weight:500;

    line-height:1.4;

}


/*==================================================
    PRODUCT TITLE
==================================================*/

.shop-product-card__title{

    display:-webkit-box;

    -webkit-box-orient:vertical;

    -webkit-line-clamp:2;

    overflow:hidden;

    margin:0 0 10px;

    min-height:44px;

    color:#222;

    font-size:15px;

    font-weight:600;

    line-height:1.45;

    text-decoration:none;

}


.shop-product-card__title:hover{

    color:#082C6C;

}


/*==================================================
    PRODUCT RATING
==================================================*/

.shop-product-card__rating{

    display:flex;

    align-items:center;

    gap:3px;

    margin-bottom:10px;

    color:#FDBA12;

    font-size:12px;

}


/*==================================================
    PRODUCT PRICE
==================================================*/

.shop-product-card__price{

    display:flex;

    align-items:center;

    flex-wrap:wrap;

    gap:9px;

    margin-top:auto;

    margin-bottom:16px;

}


.shop-product-card__price .new-price{

    color:#082C6C;

    font-size:19px;

    font-weight:700;

}


.shop-product-card__price .old-price{

    color:#999;

    font-size:13px;

    text-decoration:line-through;

}


/*==================================================
    ADD TO CART BUTTON
==================================================*/

.shop-product-card__button{

    display:flex;

    align-items:center;

    justify-content:center;

    gap:8px;

    width:100%;

    height:44px;

    padding:0 15px;

    border:none;

    border-radius:6px;

    background:#082C6C;

    color:#FFFFFF;

    font-family:inherit;

    font-size:14px;

    font-weight:600;

    cursor:pointer;

    transition:

        background-color .25s ease,

        transform .2s ease,

        box-shadow .2s ease;

}


.shop-product-card__button:hover{

    background:#061F4D;

    transform:translateY(-1px);

    box-shadow:0 6px 15px rgba(8,44,108,.18);

}


.shop-product-card__button:disabled{

    background:#BDBDBD;

    cursor:not-allowed;

    transform:none;

    box-shadow:none;

}


/*==================================================
    EMPTY PRODUCTS
==================================================*/

.product-grid__empty{

    grid-column:1 / -1;

    display:flex;

    flex-direction:column;

    align-items:center;

    justify-content:center;

    min-height:300px;

    padding:40px;

    background:#FFFFFF;

    border:1px solid #E8E8E8;

    border-radius:10px;

    text-align:center;

}


.product-grid__empty i{

    margin-bottom:15px;

    color:#082C6C;

    font-size:40px;

}


.product-grid__empty h2{

    margin:0 0 8px;

    color:#222;

    font-size:22px;

}


.product-grid__empty p{

    margin:0;

    color:#777;

    font-size:14px;

}


/*==================================================
    PAGINATION
==================================================*/

.shop-pagination{

    display:flex;

    justify-content:center;

    align-items:center;

    gap:12px;

    margin-top:50px;

}


.shop-pagination__button{

    display:flex;

    align-items:center;

    justify-content:center;

    width:46px;

    height:46px;

    border:1px solid #E4E4E4;

    border-radius:8px;

    background:#FFFFFF;

    color:#555;

    text-decoration:none;

    font-weight:600;

    transition:.25s ease;

}


.shop-pagination__button:hover{

    background:#082C6C;

    border-color:#082C6C;

    color:#FFFFFF;

}


.shop-pagination__button.active{

    background:#F5B51D;

    border-color:#F5B51D;

    color:#082C6C;

}


.shop-pagination__button.disabled{

    pointer-events:none;

    opacity:.45;

}


/*==================================================
    LARGE TABLET / SMALL DESKTOP
==================================================*/

@media (max-width:1200px){

    .shop{

        padding:40px 0 60px;

    }


    .shop__layout{

        grid-template-columns:260px minmax(0,1fr);

        gap:25px;

    }


    .shop__content .product-grid{

        grid-template-columns:repeat(3,minmax(0,1fr));

        gap:20px;

    }

}


/*==================================================
    TABLET
==================================================*/

@media (max-width:992px){

    .shop{

        padding:35px 0 55px;

    }


    .shop__layout{

        grid-template-columns:220px minmax(0,1fr);

        gap:20px;

    }


    .shop__content .product-grid{

        grid-template-columns:repeat(2,minmax(0,1fr));

        gap:20px;

    }


    .shop-product-card__image{

        padding:16px;

    }

}


/*==================================================
    SMALL TABLET
==================================================*/

@media (max-width:768px){

    .shop{

        padding:30px 0 50px;

    }


    .shop__layout{

        display:flex;

        flex-direction:column;

        gap:25px;

    }


    .shop__content{

        width:100%;

    }


    .shop__content .product-grid{

        grid-template-columns:repeat(2,minmax(0,1fr));

        gap:18px;

    }


    .shop-product-card__content{

        padding:15px 16px 16px;

    }

}


/*==================================================
    MOBILE
==================================================*/

@media (max-width:576px){

    .shop{

        padding:25px 0 40px;

    }


    .shop__layout{

        gap:20px;

    }


    .shop__content .product-grid{

        grid-template-columns:1fr;

        gap:18px;

    }


    .shop-product-card__image{

        aspect-ratio:1 / 1;

        padding:18px;

    }


    .shop-product-card__content{

        padding:15px 16px 16px;

    }


    .shop-product-card__title{

        font-size:15px;

    }


    .shop-product-card__price .new-price{

        font-size:19px;

    }


    /* BADGES */

    .shop-product-card__badge{

        top:8px;

        left:8px;

        min-width:46px;

        height:25px;

        padding:0 8px;

        font-size:10px;

    }

}


/*==================================================
    SMALL MOBILE
==================================================*/

@media (max-width:400px){

    .shop{

        padding:20px 0 35px;

    }


    .shop-product-card__image{

        padding:15px;

    }


    .shop-product-card__content{

        padding:14px;

    }


    .shop-product-card__button{

        height:42px;

        font-size:13px;

    }

}