:root{

    --tsn-gold:#C8A55A;

    --tsn-dark:#1B1B1B;

    --tsn-gray:#666;

    --tsn-light:#F8F8F8;

    --tsn-border:#ECECEC;

}
/*======================================================
CATEGORY
======================================================*/

.tsn-section{

    padding:90px 0;

}

.section-title{

    text-align:center;

    margin-bottom:60px;

}

.section-title span{

    color:#C7A85A;

    letter-spacing:3px;

    font-size:13px;

    font-weight:600;

}

.section-title h2{

    margin-top:10px;

    font-size:42px;

    font-weight:600;

}

.section-title p{

    margin-top:15px;

    color:#777;

}

.tsn-category-card{

    display:block;

    position:relative;

    overflow:hidden;

    border-radius:18px;

}

.tsn-category-card img{

    width:100%;

    height:450px;

    object-fit:cover;

    transition:.5s;

}

.tsn-category-card:hover img{

    transform:scale(1.08);

}

.tsn-category-card .overlay{

    position:absolute;

    inset:0;

    display:flex;

    justify-content:space-between;

    flex-direction:column;

    padding:30px;

    background:linear-gradient(
        rgba(0,0,0,.15),
        rgba(0,0,0,.75)
    );

    color:#fff;

    transition:.35s;

}

.tsn-category-card:hover .overlay{

    background:linear-gradient(
        rgba(0,0,0,.35),
        rgba(0,0,0,.85)
    );

}

.tsn-category-card h3{

    font-size:28px;

    margin-bottom:8px;

}

.tsn-category-card span{

    font-weight:600;

    transition:.35s;

}

.tsn-category-card:hover span{

    transform:translateX(8px);

}


/*======================================================
PRODUCT CARD
======================================================*/

.tsn-product-card{

    background:#fff;

    border-radius:18px;

    overflow:hidden;

    border:1px solid #ECECEC;

    transition:.35s;

    height:100%;

}

.tsn-product-card:hover{

    transform:translateY(-6px);

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

}

/*===================================
IMAGE
===================================*/

.tsn-product-image{

    position:relative;

    overflow:hidden;

    aspect-ratio:1/1;

    background:#fafafa;

}

.tsn-product-image img{

    width:100%;

    height:100%;

    object-fit:cover;

    transition:.45s;

}

.hover-image{

    position:absolute;

    inset:0;

    opacity:0;

}

.tsn-product-card:hover .main-image{

    opacity:0;

    transform:scale(1.08);

}

.tsn-product-card:hover .hover-image{

    opacity:1;

    transform:scale(1.08);

}

/*===================================
BADGE
===================================*/

.badge-sale{

    position:absolute;

    top:15px;

    left:15px;

    background:#C7A85A;

    color:#fff;

    padding:6px 12px;

    border-radius:30px;

    font-size:12px;

    font-weight:600;

    z-index:5;

}

/*===================================
ACTIONS
===================================*/

.product-actions{

    position:absolute;

    top:15px;

    right:15px;

    display:flex;

    flex-direction:column;

    gap:10px;

    opacity:0;

    transform:translateX(20px);

    transition:.35s;

    z-index:5;

}

.tsn-product-card:hover .product-actions{

    opacity:1;

    transform:none;

}

.action-btn{

    width:42px;

    height:42px;

    border-radius:50%;

    background:#fff;

    display:flex;

    justify-content:center;

    align-items:center;

    color:#222;

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

    transition:.25s;

}

.action-btn:hover{

    background:#C7A85A;

    color:#fff;

}

/*===================================
CONTENT
===================================*/

.tsn-product-content{

    padding:22px;

}

.tsn-product-content .category{

    color:#999;

    font-size:13px;

    letter-spacing:1px;

    text-transform:uppercase;

}

.tsn-product-content h4{

    margin:10px 0;

    font-size:20px;

    line-height:1.4;

}

.tsn-product-content h4 a{

    color:#1B1B1B;

    text-decoration:none;

}

.tsn-product-content h4 a:hover{

    color:#C7A85A;

}

/*===================================
PRICE
===================================*/

.price{

    display:flex;

    align-items:center;

    gap:10px;

    margin-top:15px;

    margin-bottom:20px;

}

.price .old{

    text-decoration:line-through;

    color:#999;

    font-size:15px;

}

.price .new{

    font-size:22px;

    font-weight:700;

    color:#C7A85A;

}

/*===================================
BUTTON
===================================*/

.tsn-btn{

    display:block;

    width:100%;

    padding:14px;

    border:1px solid #C7A85A;

    text-align:center;

    color:#C7A85A;

    border-radius:10px;

    font-weight:600;

    transition:.3s;

    text-decoration:none;

}

.tsn-btn:hover{

    background:#C7A85A;

    color:#fff;

}

/*===================================
RESPONSIVE
===================================*/

@media(max-width:991px){

    .tsn-product-content{

        padding:18px;

    }

    .tsn-product-content h4{

        font-size:17px;

    }

    .price .new{

        font-size:18px;

    }

}

.product-category{

    font-size:13px;

    color:#999;

    margin-bottom:8px;

    text-transform:uppercase;

    letter-spacing:.5px;

}
