    /* ===========================
   RESET
=========================== */

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

html{
    scroll-behavior:smooth;
}

body{

    font-family:var(--font);
    color:var(--text);
    background:#fff;
    overflow-x:hidden;

}

a{

    text-decoration:none;
    color:inherit;

}

ul{
    list-style:none;
}

img{

    width:100%;
    display:block;

}

.container{

    width:100%;
    max-width:1320px;
    margin:auto;
    padding:0 15px;

}
/* ===========================
Announcement
=========================== */

.announcement{
    background:#111;
    color:#fff;
    font-size:14px;
    text-align:center;
    padding:10px 0;
    letter-spacing:1px;
}

/* ===========================
Header
=========================== */

/* ===========================
   HEADER
=========================== */

.header{
    position:fixed;
    top:0;
    left:0;
    width:100%;
    height:90px;
    z-index:999;

    background:#111;
    box-shadow:0 5px 20px rgba(0,0,0,.15);

    transition:.35s ease;
}

.nav-wrapper{
    height:90px;
    display:flex;
    justify-content:space-between;
    align-items:center;
}

.logo{
    font-size:48px;
    font-weight:800;
    letter-spacing:6px;
    color:#fff;
}

.menu{
    display:flex;
    gap:45px;
}

.menu a{
    color:#fff;
    font-size:15px;
    font-weight:600;
    letter-spacing:1px;
    transition:.3s;
    position:relative;
}

.menu a:hover{
    color:#B88E2F;
}

.menu a::after{
    content:"";
    position:absolute;
    left:0;
    bottom:-8px;
    width:0;
    height:2px;
    background:#B88E2F;
    transition:.3s;
}

.menu a:hover::after{
    width:100%;
}

.icons{
    display:flex;
    gap:28px;
    color:#fff;
    font-size:22px;
    cursor:pointer;
}

.icons i{
    transition:.3s;
}

.icons i:hover{
    color:#B88E2F;
    transform:translateY(-2px);
}

/* Scroll Effect */

.header.scrolled{
    background:#111;
    box-shadow:0 8px 30px rgba(0,0,0,.25);
}

.header.scrolled .logo,
.header.scrolled .menu a,
.header.scrolled .icons{
    color:#fff;
}
/* ===========================
   FEATURES
=========================== */

.features{
    background:#eef7f8;
    padding:70px 0;
}

.feature-grid{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:60px;
}

.feature-box{
    flex:1;
    display:flex;
    align-items:center;
    gap:14px;
    transition:all .35s ease;
    cursor:pointer;
}
.feature-box:hover{
    transform:translateY(-6px);
}

.feature-icon{
    width:60px;
    height:60px;
    color:#111;
    flex-shrink:0;

    padding:14px;
    background:#fff;
    border:1px solid #e6e6e6;
    border-radius:50%;
    transition:all .35s ease;
}

.feature-box h4{
    margin:0;
    font-size:22px;
    font-weight:700;
    letter-spacing:-0.3px;
    line-height:1.2;
}

.feature-box p{
    margin:6px 0 0;
    color:#777;
    font-size:16px;
    line-height:1.5;
}

.feature-box:hover .feature-icon{
    background:#111;
    color:#fff;
    border-color:#111;
    transform:translateY(-6px) scale(1.08);
}
.feature-box:hover h4{
    color:#000;
}

/*==========================================
    SHOP BY CATEGORY
==========================================*/

.categories{
    padding:90px 0;
    background:#fff;
}

.section-title{
    text-align:center;
    margin-bottom:60px;
}

.section-title span{
    display:block;
    color:#999;
    letter-spacing:4px;
    font-size:13px;
    margin-bottom:10px;
}

.section-title h2{
    font-size:42px;
    font-weight:700;
    color:#111;
    margin-bottom:15px;
}

.section-title p{
    color:#777;
    font-size:17px;
}

.category-grid{
    display:grid;
    grid-template-columns:repeat(4, 1fr);
    gap:24px;
}

.category-card{
    position:relative;
    overflow:hidden;
    border-radius:18px;
    aspect-ratio:4 / 5;
    text-decoration:none;
}

.category-card img{
    width:100%;
    height:100%;
    object-fit:cover;
    transition:transform .5s ease;
}


.overlay{
    position:absolute;
    inset:0;
    background:linear-gradient(to top,
        rgba(0,0,0,.65),
        rgba(0,0,0,.15));
    display:flex;
    flex-direction:column;
    justify-content:flex-end;
    padding:35px;
    transition:.4s;
}

.overlay h3{
    color:#fff;
    font-size:34px;
    margin-bottom:10px;
}

.overlay span{
    color:#fff;
    opacity:.85;
    transition:.35s;
}

.category-card:hover img{
    transform:scale(1.08);
}

.category-card:hover .overlay{
    background:linear-gradient(to top,
        rgba(0,0,0,.8),
        rgba(0,0,0,.25));
}

.category-card:hover span{
    transform:translateX(8px);
}

.view-all{
    text-align:center;
    margin-top:45px;
}

.view-all a{
    color:#111;
    font-weight:600;
    text-decoration:none;
    border-bottom:2px solid #111;
    padding-bottom:4px;
}
/* ===============================
   NEW ARRIVALS
================================= */

/* =========================
   NEW ARRIVALS
========================= */

.new-arrivals{
    padding:px 0;
    background:#fff;
}

.section-heading{
    text-align:center;
    margin-bottom:50px;
}

.section-heading h2{
    font-size:52px;
    font-weight:700;
    color:#13294b;
    margin-bottom:10px;
    text-transform:uppercase;
}

.section-heading p{
    color:#777;
    font-size:18px;
}

.product-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:25px;
}

.product-card{
    background:#fff;
    transition:.3s;
}

.product-card:hover{
    transform:translateY(-8px);
}

.product-image{
    position:relative;
    overflow:hidden;
    border-radius:14px;
    background:#f7f7f7;
}

.product-image img{
    width:100%;
    height:420px;
    object-fit:cover;
    display:block;
    transition:.4s;
}

.product-card:hover .product-image img{
    transform:scale(1.05);
}

.wishlist{
    position:absolute;
    top:15px;
    right:15px;
    width:45px;
    height:45px;
    border:none;
    border-radius:50%;
    background:#fff;
    font-size:20px;
    cursor:pointer;
    box-shadow:0 8px 20px rgba(0,0,0,.12);
}

.product-info{
    padding:15px 5px;
}

.product-info h3{
    font-size:18px;
    margin-bottom:8px;
    color:#111;
}

.rating{
    color:#f4b400;
    font-size:15px;
    margin-bottom:8px;
}

.price{
    font-size:18px;
    font-weight:700;
    color:#111;
}
.add-cart{
    display:block;
    width:100%;
    margin-top:15px;
    padding:12px;
    text-align:center;
    background:#111;
    color:#fff;
    text-decoration:none;
    border-radius:8px;
    opacity:0;
    transform:translateY(15px);
    transition:.3s;
}

.product-card:hover .add-cart{
    opacity:1;
    transform:translateY(0);
}

.add-cart:hover{
    background:#13294b;
}

/*==================================
    PROMOTIONAL BANNER
==================================*/

.promo-banner{
    background:
        linear-gradient(rgba(0,0,0,.45), rgba(0,0,0,.45)),
        url("../images/banners/promo-banner.jpg") center/cover no-repeat;

    height:550px;

    border-radius:20px;

    margin:40px auto 80px;

    width:90%;

    display:flex;

    align-items:center;

    padding:0 80px;
}

.promo-content{
    max-width:520px;
    color:#fff;
}

.promo-tag{
    display:inline-block;

    background:#ffffff20;

    padding:10px 18px;

    border-radius:30px;

    margin-bottom:20px;

    letter-spacing:2px;

    font-size:14px;
}

.promo-content h2{

    font-size:56px;

    margin-bottom:20px;

    line-height:1.1;
}

.promo-content p{

    font-size:18px;

    color:#eee;

    margin-bottom:35px;

    line-height:1.8;
}

.promo-btn{

    display:inline-block;

    padding:15px 38px;

    background:#fff;

    color:#111;

    text-decoration:none;

    font-weight:600;

    border-radius:50px;

    transition:.3s;
}

.promo-btn:hover{

    background:#13294b;

    color:#fff;
}

/*==================================
    EXPLORE COLLECTION
==================================*/

.explore-collection{
    padding:80px 0;
    background:#fff;
}

.collection-tabs{
    display:flex;
    justify-content:center;
    align-items:center;
    flex-wrap:wrap;
    gap:15px;
    margin:40px 0 50px;
}

.tab-btn{
    padding:5px 12px;
    border:1px solid #ddd;
    border-radius:25px;
    background:#fff;
    color:#111;
    font-size:12px;
    font-weight:600;
    cursor:pointer;
    transition:.3s;
}

.tab-btn:hover{
    background:#111;
    color:#fff;
    border-color:#111;
}

.tab-btn.active{
    background:#111;
    color:#fff;
    border-color:#111;
}

.collection-products{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:25px;
}

.collection-products .product-card{
    transition:.3s ease;
}

.collection-products .product-card:hover{
    transform:translateY(-8px);
}

.view-all{
    text-align:center;
    margin-top:50px;
}

.view-all a{
    display:inline-block;
    padding:14px 34px;
    border:2px solid #111;
    color:#111;
    text-decoration:none;
    border-radius:40px;
    font-weight:600;
    transition:.3s;
}

.view-all a:hover{
    background:#111;
    color:#fff;
}

button{
    background:#111;
    color:white;
    border:none;
    padding:12px 25px;
    border-radius:8px;
    cursor:pointer;
    font-size:16px;
}

button:hover{
    opacity:.9;
}

.add-btn{
    background:#111;
    color:#fff;
    padding:12px 22px;
    border:none;
    border-radius:8px;
    cursor:pointer;
    margin-top:15px;
}

.cards{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:20px;
    margin-top:35px;
}

.card{
    background:#fff;
    border-radius:12px;
    padding:25px;
    box-shadow:0 8px 20px rgba(0,0,0,.08);
    text-align:center;
}

.card h2{
    font-size:32px;
    margin-bottom:10px;
}

.card p{
    color:#666;
    font-size:15px;
}

.add-btn{
    background:#111;
    color:white;
    border:none;
    padding:12px 25px;
    border-radius:8px;
    cursor:pointer;
    font-size:16px;
}

.cards{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:20px;
    margin-top:30px;
}

.card{
    background:#fff;
    padding:20px;
    border-radius:10px;
    text-align:center;
    box-shadow:0 5px 15px rgba(0,0,0,.08);
}

.card h2{
    font-size:30px;
    margin-bottom:10px;
}

.card p{
    color:#777;
}

/* =========================================================
   XXLSIZE PRODUCT GALLERY
   SNITCH-STYLE LARGE IMAGE GRID
========================================================= */

.product-wrapper {
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr);
    gap: 50px;
    align-items: start;
}

/* LEFT PRODUCT GALLERY */

.product-gallery {
    width: 100%;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 4px;
    position: sticky;
    top: 105px;
    align-self: start;
}

/* EACH LARGE IMAGE */

.gallery-image {
    position: relative;
    width: 100%;
    aspect-ratio: 3 / 4;
    overflow: hidden;
    background: #f7f7f7;
}

/* PRODUCT IMAGE */

.gallery-image img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    cursor: zoom-in;
    transition: transform .5s ease;
}

/* IMAGE HOVER */

.gallery-image:hover img {
    transform: scale(1.025);
}

/* WISHLIST */

.gallery-image .image-wishlist {
    position: absolute;
    top: 18px;
    right: 18px;

    width: 46px;
    height: 46px;

    display: flex;
    align-items: center;
    justify-content: center;

    border: none;
    border-radius: 50%;

    background: rgba(255,255,255,.96);
    color: #111;

    font-size: 19px;
    cursor: pointer;

    z-index: 20;

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

    transition:
        transform .25s ease,
        background .25s ease,
        color .25s ease;
}

.gallery-image .image-wishlist:hover {
    background: #111;
    color: #fff;
    transform: scale(1.06);
}

.gallery-image .image-wishlist.active i {
    color: #e63946;
}
/* =========================================
   PRODUCT IMAGE FULL SCREEN VIEWER
========================================= */

.main-image img{
    cursor:zoom-in;
}


/* =========================================
   FULL SCREEN PRODUCT IMAGE VIEWER
========================================= */

.image-lightbox {
    display: none !important;
    position: fixed !important;

    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;

    width: 100vw !important;
    height: 100vh !important;

    background: #fff !important;

    align-items: center !important;
    justify-content: center !important;

    padding: 40px !important;
    margin: 0 !important;

    overflow: hidden !important;

    z-index: 2147483647 !important;
}

.image-lightbox.active {
    display: flex !important;
}

/* Selected product image only */
.image-lightbox > img {
    display: block !important;

    width: auto !important;
    height: auto !important;

    max-width: 90vw !important;
    max-height: 90vh !important;

    object-fit: contain !important;

    margin: 0 !important;
    padding: 0 !important;

    border: none !important;
    border-radius: 0 !important;

    box-shadow: none !important;

    position: static !important;

    opacity: 1 !important;
}

/* Close button */
.image-lightbox .lightbox-close {
    position: fixed !important;

    top: 25px !important;
    right: 30px !important;

    width: 50px !important;
    height: 50px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    padding: 0 !important;

    border: none !important;
    border-radius: 50% !important;

    background: #111 !important;
    color: #fff !important;

    font-size: 24px !important;

    cursor: pointer !important;

    z-index: 2147483647 !important;
}

.image-lightbox .lightbox-close:hover {
    background: #000 !important;
}

@media (max-width: 768px) {

    .image-lightbox {
        padding: 20px !important;
    }

    .image-lightbox > img {
        max-width: 92vw !important;
        max-height: 85vh !important;
    }

    .image-lightbox .lightbox-close {
        top: 15px !important;
        right: 15px !important;

        width: 45px !important;
        height: 45px !important;

        font-size: 20px !important;
    }
}
/*==========================
PRODUCT DETAILS
==========================*/

.product-details h1{
    font-size:42px;
    font-weight:700;
    margin-bottom:15px;
    color:#111;
}

.product-rating{
    color:#f4b400;
    font-size:18px;
    margin-bottom:20px;
}

.product-rating span{
    color:#777;
    font-size:15px;
    margin-left:8px;
}

.product-price{
    display:flex;
    align-items:center;
    gap:18px;
    margin-bottom:20px;
}

.sale-price{
    font-size:34px;
    font-weight:700;
    color:#111;
}

.old-price{
    text-decoration:line-through;
    color:#999;
    font-size:22px;
}

.stock-status{
    display:inline-block;
    padding:8px 16px;
    border-radius:50px;
    background:#eafaf0;
    color:#0f8a43;
    font-weight:600;
    margin-bottom:25px;
}

.description{
    color:#666;
    line-height:1.9;
    margin-bottom:35px;
}

.qty-box{
    margin-bottom:30px;
}

.qty-box label{
    display:block;
    font-weight:600;
    margin-bottom:10px;
}

.qty-box input{
    width:120px;
    height:50px;
    text-align:center;
    border:1px solid #ddd;
    border-radius:10px;
    font-size:18px;
}

.product-buttons{
    display:flex;
    gap:15px;
    width:100%;
    margin-top:25px;
}



.product-buttons{
    display:flex;
    gap:15px;
    width:100%;
    margin-top:30px;
    align-items:stretch;
}

.product-buttons .buy-btn,
.product-buttons .cart-btn,
.product-buttons .whatsapp-btn{
    flex:1;
    width:100%;
    height:58px;
    min-height:58px;
    box-sizing:border-box;

    display:flex;
    align-items:center;
    justify-content:center;
    gap:10px;

    padding:0 15px;
    margin:0;

    border-radius:12px;
    font-size:16px;
    font-weight:600;
    line-height:1;
    text-align:center;

    text-decoration:none;
    cursor:pointer;
}

/* Buy Now */
.product-buttons .buy-btn{
    background:#111;
    color:#fff;
    border:2px solid #111;
}

/* Add To Cart */
.product-buttons .cart-btn{
    background:#111;
    color:#fff;
    border:2px solid #111;
}

/* WhatsApp */
.product-buttons .whatsapp-btn{
    background:#25D366;
    color:#fff;
    border:2px solid #25D366;
}

/* Hover */
.product-buttons .buy-btn:hover,
.product-buttons .cart-btn:hover{
    background:#000;
    color:#fff;
}

.product-buttons .whatsapp-btn:hover{
    background:#1fa851;
    color:#fff;
}

.buy-btn{
    background:#111;
    color:#fff;
    border:2px solid #111;
}

.buy-btn:hover{
    background:#000;
}

.cart-btn{
    background:#111;
    color:#fff;
    border:2px solid #111;
}

.cart-btn:hover{
    background:#000;
}

.wishlist-btn{
    background:#fff;
    color:#111;
    border:2px solid #111;
}

.wishlist-btn{
    height:58px;
    padding:0 28px;
    background:#fff;
    color:#111;
    border:2px solid #111;
    border-radius:12px;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:10px;
    font-size:17px;
    font-weight:600;
    cursor:pointer;
    transition:.3s;
}
    

@media(max-width:991px){

.product-wrapper{
    grid-template-columns:1fr;
    gap:40px;
}

.product-gallery{
    position:static;
}

.product-details h1{
    font-size:32px;
}

.product-buttons{
    flex-direction:column;
}

}

/* ===========================
   PRODUCT BREADCRUMB
=========================== */

.breadcrumb{
    display:flex;
    align-items:center;
    gap:10px;
    padding:30px 0;
    font-size:14px;
    color:#777;
}

.breadcrumb a{
    color:#777;
    text-decoration:none;
    transition:.3s;
}

.breadcrumb a:hover{
    color:#111;
}

.breadcrumb span{
    color:#999;
}

.breadcrumb .current{
    color:#111;
    font-weight:600;
}

.product-options{
    margin:30px 0;
}

.product-options h5{
    font-size:15px;
    margin-bottom:15px;
    font-weight:700;
}

/*=========================
PREMIUM SIZE SELECTOR
=========================*/

.product-options{
    margin:35px 0;
}

.product-options h5{
    font-size:18px;
    font-weight:700;
    margin-bottom:18px;
    color:#111;
}

.size-buttons{
    display:flex;
    gap:15px;
    flex-wrap:wrap;
}

.size-btn{

    width:35px;
    height:35px;

    background:#fff;
    color:#111;

    border:2px solid #ddd;
    border-radius:14px;

    font-size:15px;
    font-weight:700;

    cursor:pointer;

    transition:.35s;

     display: flex;
    align-items: center;
    justify-content: center;
}

.size-btn:hover{

    border-color:#111;
    transform:translateY(-3px);

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

}

.size-btn.active{

    background:#111;
    color:#fff;
    border-color:#111;

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

}

.low-stock{

    position:absolute;

    left:50%;
    bottom:-28px;

    transform:translateX(-50%);

    white-space:nowrap;

    background:#fff3cd;

    color:#a96b00;

    font-size:11px;

    padding:4px 8px;

    border-radius:20px;

    font-weight:600;

    border:1px solid #ffe08a;
}


.wishlist-btn:hover{
    background:#111;
    color:#fff;
}


.whatsapp-order{
    margin-top:20px;
}

.whatsapp-btn{
    display:block;
    width:100%;
    text-align:center;
    background:#25D366;
    color:#fff;
    padding:15px;
    border-radius:8px;
    text-decoration:none;
    font-weight:600;
    transition:.3s;
}

.whatsapp-btn:hover{
    background:#1fa851;
    color:#fff;
}

.share-product{
    margin-top:25px;
}

.share-product h5{
    margin-bottom:15px;
}

.share-product a,
.share-product button{
    width:45px;
    height:45px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border:1px solid #ddd;
    border-radius:50%;
    background:#fff;
    margin-right:10px;
    cursor:pointer;
    transition:.3s;
    text-decoration:none;
    color:#111;
}

.share-product a:hover,
.share-product button:hover{
    background:#111;
    color:#fff;
}

.floating-whatsapp{
    position:fixed;
    right:25px;
    bottom:25px;
    width:60px;
    height:60px;
    border-radius:50%;
    background:#25D366;
    display:flex;
    justify-content:center;
    align-items:center;
    color:#fff;
    font-size:30px;
    text-decoration:none;
    z-index:9999;
    box-shadow:0 10px 30px rgba(0,0,0,.2);
}

.floating-whatsapp:hover{
    color:#fff;
    transform:scale(1.08);
}

/* ==========================
   PREMIUM PRODUCT FAQ
========================== */

.product-faq{
    margin-top:80px;
}

.product-faq h2{
    font-size:40px;
    font-weight:700;
    color:#111;
    margin-bottom:35px;
    position:relative;
    padding-bottom:15px;
}

.product-faq h2::after{
    content:"";
    position:absolute;
    left:0;
    bottom:0;
    width:80px;
    height:4px;
    background:#111;
    border-radius:20px;
}

.faq-item{
    background:#fff;
    border:1px solid #ececec;
    border-radius:14px;
    margin-bottom:18px;
    overflow:hidden;
    transition:.35s;
    box-shadow:0 8px 25px rgba(0,0,0,.05);
}

.faq-item:hover{
    transform:translateY(-3px);
    box-shadow:0 15px 35px rgba(0,0,0,.08);
}

.faq-question{
    width:100%;
    background:#fff;
    border:none;
    padding:22px 28px;
    display:flex;
    justify-content:space-between;
    align-items:center;
    cursor:pointer;
    font-size:18px;
    font-weight:600;
    color:#111;
    transition:.3s;
}

.faq-question:hover{
    background:#fafafa;
}

.faq-question span{
    width:34px;
    height:34px;
    border-radius:50%;
    background:#111;
    color:#fff;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:22px;
    transition:.35s;
}

.faq-item.active .faq-question span{
    transform:rotate(45deg);
    background:#B88E2F;
}

.faq-answer{
    max-height:0;
    overflow:hidden;
    transition:max-height .4s ease;
    background:#fcfcfc;
}

.faq-item.active .faq-answer{
    max-height:250px;
}

.faq-answer p{
    padding:0 28px 24px;
    margin:0;
    color:#666;
    font-size:16px;
    line-height:1.9;
}

/* ==========================
   TRUST BADGES
========================== */

.trust-badges{
    display:grid;
    grid-template-columns:repeat(2, 1fr);
    gap:12px;
    margin-top:22px;
    width:100%;
}

.trust-item{
    display:flex;
    align-items:center;
    gap:12px;

    width:100%;
    min-width:0;
    min-height:60px;

    padding:10px 14px;

    box-sizing:border-box;

    background:#fff;

    border:1px solid #ddd;
    border-radius:10px;

    transition:.25s ease;
}

.trust-item:hover{
    border-color:#111;
    transform:translateY(-2px);
    box-shadow:0 5px 15px rgba(0,0,0,.06);
}

/* Icon */

.trust-item i{
    width:34px;
    min-width:34px;

    font-size:21px;
    text-align:center;

    color:#111;
}

/* Text container */

.trust-content{
    flex:1;
    min-width:0;
}

/* Badge title */

.trust-content h6{
    margin:0;

    font-size:15px;
    font-weight:700;

    line-height:1.2;

    color:#111;
}

/* Badge description */

.trust-content p{
    margin:3px 0 0;

    font-size:11px;
    font-weight:400;

    line-height:1.3;

    color:#777;
}

.image-wishlist{
    position:absolute;
    top:20px;
    right:20px;

    width:50px;
    height:50px;

    display:flex;
    justify-content:center;
    align-items:center;

    background:#fff;
    border:none;
    border-radius:50%;

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

    font-size:22px;
    color:#111;

    cursor:pointer;

    z-index:20;

    transition:.25s;
}

.image-wishlist:hover{
    background:#fff;
}

.image-wishlist.active i{
    color:#e63946;
}

.image-wishlist:hover{
    transform:none;
}

.image-wishlist:hover{
    background:#111;
    color:#fff;
}

.qty-selector{
    display:flex;
    align-items:center;
    width:160px;
    border:1px solid #ddd;
    border-radius:12px;
    overflow:hidden;
}

.qty-selector button{
    width:50px;
    height:50px;
    background:#111;
    color:#fff;
    border:none;
    font-size:24px;
    font-weight:bold;
    display:flex;
    align-items:center;
    justify-content:center;
    cursor:pointer;
}

.qty-selector button:hover{
    background:#000;
}

.qty-selector input{
    flex:1;
    border:none;
    text-align:center;
    font-size:18px;
    outline:none;
}

.qty-selector input{
    width:60px;
    height:50px;
    border:none;
    text-align:center;
    font-size:18px;
    outline:none;
}

.cart-icon{
    position:relative;
    color:#fff;
}

.cart-count{

    position:absolute;

    top:-8px;
    right:-10px;

    width:20px;
    height:20px;

    border-radius:50%;

    background:#e63946;

    color:#fff;

    font-size:11px;

    display:flex;
    align-items:center;
    justify-content:center;

    font-weight:700;
}

/* ===========================
   PREMIUM CART
=========================== */

.cart-page{
    padding:140px 0 80px;
    background:#f8f8f8;
}

.cart-wrapper{
    display:grid;
    grid-template-columns:2fr 1fr;
    gap:40px;
}

.cart-left{
    background:#fff;
    border-radius:18px;
    padding:30px;
}

.cart-right{
    background:#fff;
    border-radius:18px;
    padding:30px;
    position:sticky;
    top:120px;
    height:max-content;
}

.cart-item{
    display:flex;
    gap:20px;
    align-items:center;
    padding:20px 0;
    border-bottom:1px solid #eee;
}

.cart-item img{
    width:120px;
    height:150px;
    object-fit:cover;
    border-radius:12px;
}

.cart-info{
    flex:1;
}

.cart-info h3{
    font-size:22px;
    margin-bottom:10px;
}

.cart-price{
    font-size:20px;
    font-weight:700;
    margin-bottom:10px;
}

.qty-control{
    display:flex;
    align-items:center;
    gap:10px;
    margin-top:10px;
}

.qty-control button{
    width:40px;
    height:40px;
    border:none;
    background:#111;
    color:#fff;
    border-radius:8px;
}

.qty-control input{
    width:60px;
    text-align:center;
    height:40px;
}

.remove-btn{
    color:#e63946;
    cursor:pointer;
    margin-top:10px;
    display:inline-block;
}

.summary-row{
    display:flex;
    justify-content:space-between;
    margin:15px 0;
}

.summary-total{
    font-size:24px;
    font-weight:700;
    border-top:1px solid #ddd;
    padding-top:20px;
    margin-top:20px;
}

.checkout-btn{
    width:100%;
    background:#111;
    color:#fff;
    padding:16px;
    border:none;
    border-radius:10px;
    margin-top:25px;
    font-size:18px;
}

.checkout-btn:hover{
    background:#000;
}

.cart-badges{
    margin-top:30px;
}

.cart-badges p{
    margin-bottom:12px;
    color:#555;
}

/* ===========================
   PREMIUM PRODUCT TABS
=========================== */

/* PRODUCT TABS */

.product-tabs{
    display:flex;
    gap:15px;
    margin:35px 0 25px;
    flex-wrap:wrap;
}

.product-tabs .tab-btn{

    flex:1;

    min-width:160px;

    height:62px;

    border:2px solid #111;

    border-radius:12px;

    background:#fff;

    color:#111;

    font-size:17px;

    font-weight:600;

    display:flex;

    align-items:center;

    justify-content:center;

    text-align:center;

    padding:0 20px;

    line-height:1.3;

    transition:.3s;

}

.product-tabs .tab-btn:hover{
    background:#111;
    color:#fff;
}

.product-tabs .tab-btn.active{
    background:#111;
    color:#fff;
}

.tab-content{
    display:none;
    background:#fff;
    border:1px solid #e9e9e9;
    border-radius:16px;
    padding:30px;
    margin-top:20px;
    line-height:1.9;
    color:#555;
    box-shadow:0 10px 30px rgba(0,0,0,.06);
    animation:fadeTab .3s ease;
}

.tab-content.active{
    display:block;
}

/*==========================
PREMIUM QUANTITY
==========================*/

.qty-box{
    margin:40px 0;
}

.qty-box label{
    display:block;
    font-size:18px;
    font-weight:700;
    margin-bottom:15px;
    color:#111;
}

.qty-selector{

    display:flex;
    align-items:center;

    width:180px;
    height:60px;

    border:2px solid #eee;
    border-radius:16px;

    overflow:hidden;

    background:#fff;

    box-shadow:0 10px 25px rgba(0,0,0,.05);

}

.qty-selector button{

    width:60px;
    height:60px;

    border:none;

    background:#111;
    color:#fff;

    font-size:24px;
    font-weight:700;

    cursor:pointer;

    transition:.3s;

}

.qty-selector button:hover{

    background:#000;

}

.qty-selector input{

    flex:1;

    border:none;

    text-align:center;

    font-size:22px;

    font-weight:600;

    outline:none;

}

/* Shipping & Exchange */

.product-list{
    margin-top:20px;
    padding-left:0;
}

.product-list li{

    list-style:none;

    padding:14px 18px;

    margin-bottom:12px;

    background:#fafafa;

    border:1px solid #eee;

    border-radius:10px;

    font-size:15px;

    color:#444;

    transition:.3s;

}

.product-list li:hover{

    background:#111;

    color:#fff;

    transform:translateX(5px);

}

.tab-content h4{

    font-size:22px;

    margin-bottom:18px;

    font-weight:700;

}

/*=========================
Wishlist
=========================*/

.wishlist-page{

padding:140px 0 80px;

background:#f8f8f8;

}

.wishlist-page h2{

font-size:40px;

margin-bottom:40px;

}

.wishlist-item{

display:flex;

align-items:center;

gap:25px;

background:#fff;

padding:20px;

border-radius:16px;

margin-bottom:20px;

box-shadow:0 10px 30px rgba(0,0,0,.05);

}

.wishlist-item img{

width:120px;

height:150px;

object-fit:cover;

border-radius:12px;

}

.wishlist-info{

flex:1;

}

.wishlist-info h3{

margin-bottom:12px;

font-size:24px;

}

.wishlist-info p{

font-size:22px;

font-weight:700;

margin-bottom:18px;

}

.view-btn{

display:inline-block;

padding:12px 24px;

background:#111;

color:#fff;

border-radius:8px;

margin-right:10px;

}

.remove-btn{

display:inline-block;

padding:12px 24px;

background:#e63946;

color:#fff;

border-radius:8px;

}

.empty-wishlist{

background:#fff;

padding:100px;

border-radius:20px;

text-align:center;

}

.empty-wishlist i{

font-size:70px;

margin-bottom:20px;

color:#999;

}

.empty-wishlist h3{

margin-bottom:25px;

}

.empty-wishlist a{

background:#111;

color:#fff;

padding:15px 30px;

border-radius:8px;

}

/* ==========================
PREMIUM WISHLIST
==========================*/

.cart-page{

padding:70px 0;

background:#fafafa;

min-height:100vh;

}

.wishlist-header{

margin-bottom:45px;

}

.wishlist-header h1{

font-size:42px;

font-weight:700;

margin-bottom:8px;

}

.wishlist-header p{

color:#777;

font-size:16px;

}

.wishlist-card{

background:#fff;

border-radius:18px;

padding:22px;

display:flex;

gap:25px;

align-items:center;

margin-bottom:25px;

box-shadow:0 10px 35px rgba(0,0,0,.06);

transition:.35s;

}

.wishlist-card:hover{

transform:translateY(-4px);

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

}

.wishlist-image{

width:170px;

height:210px;

overflow:hidden;

border-radius:14px;

}

.wishlist-image img{

width:100%;

height:100%;

object-fit:cover;

}

.wishlist-content{

flex:1;

display:flex;

flex-direction:column;

justify-content:space-between;

height:210px;

}

.wishlist-top{

display:flex;

justify-content:space-between;

}

/* =========================================
   PREMIUM WISHLIST - PRODUCT CARD STYLE
========================================= */

.wishlist-page {
    padding: 100px 0 80px;
    background: #f8f8f8;
    min-height: 100vh;
}

.wishlist-page .container {
    max-width: 1400px;
}

/* Header */

.wishlist-page h2 {
    text-align: center;
    font-size: 42px;
    font-weight: 700;
    margin-bottom: 45px;
}

/* Wishlist grid */

.wishlist-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 22px;
}

/* Product card */

.wishlist-card {
    position: relative;
    background: #fff;
    border: 1px solid #eee;
    border-radius: 14px;
    overflow: hidden;
    transition: all .3s ease;
}

.wishlist-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 15px 35px rgba(0,0,0,.10);
}

/* Image */

.wishlist-image {
    position: relative;
    width: 100%;
    height: 360px;
    overflow: hidden;
    background: #f5f5f5;
}

.wishlist-image img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    transition: transform .5s ease;
}

.wishlist-card:hover .wishlist-image img {
    transform: scale(1.04);
}

/* Wishlist remove button */

.wishlist-remove {
    position: absolute;
    top: 14px;
    right: 14px;

    width: 42px;
    height: 42px;

    border: none;
    border-radius: 50%;

    background: #fff;
    color: #111;

    display: flex;
    align-items: center;
    justify-content: center;

    font-size: 17px;

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

    cursor: pointer;
    z-index: 5;

    transition: all .25s ease;
}

.wishlist-remove:hover {
    background: #111;
    color: #fff;
    transform: rotate(90deg);
}

/* Product information */

.wishlist-content {
    padding: 18px;
}

.wishlist-top {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 10px;
}

.wishlist-top h3 {
    margin: 0 0 10px;

    font-size: 18px;
    font-weight: 600;
    line-height: 1.4;
}

.wishlist-top h3 a {
    color: #111;
    text-decoration: none;
}

.wishlist-top h3 a:hover {
    text-decoration: underline;
}

/* Price */

.wishlist-price {
    display: flex;
    align-items: center;
    gap: 9px;

    font-size: 20px;
    font-weight: 700;

    margin-bottom: 12px;
}

.wishlist-price .sale-price {
    color: #111;
}

.wishlist-price .old-price {
    color: #999;
    font-size: 14px;
    font-weight: 400;
    text-decoration: line-through;
}

/* Stock */

.wishlist-stock {
    display: inline-flex;
    align-items: center;

    padding: 5px 10px;

    background: #eaf8ee;
    color: #16803c;

    border-radius: 20px;

    font-size: 12px;
    font-weight: 600;

    margin-bottom: 15px;
}

/* Buttons */

.wishlist-buttons {
    display: grid;
    grid-template-columns: 1fr;
    gap: 9px;

    margin-top: 15px;
}

.wishlist-btn {
    width: 100%;
    min-height: 45px;

    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;

    border-radius: 8px;

    font-size: 14px;
    font-weight: 600;

    text-decoration: none;
    cursor: pointer;

    transition: all .25s ease;
}

/* Add to cart */

.wishlist-btn.dark {
    background: #111;
    color: #fff;
    border: 1px solid #111;
}

.wishlist-btn.dark:hover {
    background: #000;
    transform: translateY(-2px);
}

/* View product */

.wishlist-btn.light {
    background: #fff;
    color: #111;
    border: 1px solid #111;
}

.wishlist-btn.light:hover {
    background: #111;
    color: #fff;
}

/* Empty wishlist */

.empty-wishlist {
    background: #fff;
    padding: 90px 30px;
    border-radius: 16px;
    text-align: center;
    border: 1px solid #eee;
}

.empty-wishlist i {
    font-size: 65px;
    color: #aaa;
    margin-bottom: 20px;
}

.empty-wishlist h3 {
    font-size: 25px;
    margin-bottom: 25px;
}

.empty-wishlist a {
    display: inline-block;
    background: #111;
    color: #fff;
    padding: 13px 28px;
    border-radius: 8px;
    text-decoration: none;
}


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

@media (max-width: 1100px) {

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

    .wishlist-image {
        height: 320px;
    }

}


@media (max-width: 768px) {

    .wishlist-page {
        padding: 70px 15px 50px;
    }

    .wishlist-page h2 {
        font-size: 32px;
    }

    .wishlist-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 15px;
    }

    .wishlist-image {
        height: 280px;
    }

    .wishlist-content {
        padding: 14px;
    }

    .wishlist-top h3 {
        font-size: 16px;
    }

    .wishlist-price {
        font-size: 18px;
    }

}


@media (max-width: 480px) {

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

    .wishlist-image {
        height: 380px;
    }

}

.wishlist-btn.dark{

background:#111;

color:#fff;

}

.wishlist-btn.dark:hover{

background:#000;

}

.wishlist-btn.light{

background:#fff;

border:2px solid #111;

color:#111;

}

.wishlist-btn.light:hover{

background:#111;

color:#fff;

}

.reviews-section{
padding:80px 0;
background:#fafafa;
}

.section-title{
font-size:38px;
font-weight:700;
margin-bottom:40px;
}

.review-summary{
display:flex;
justify-content:space-between;
align-items:center;
padding:30px;
background:#fff;
border-radius:16px;
box-shadow:0 5px 25px rgba(0,0,0,.08);
margin-bottom:40px;
}

.big-rating{
font-size:60px;
font-weight:700;
}

.stars{
color:#ffb400;
font-size:24px;
margin:10px 0;
}

.review-card{
background:#fff;
padding:25px;
border-radius:15px;
margin-bottom:20px;
box-shadow:0 5px 18px rgba(0,0,0,.06);
transition:.3s;
}

.review-card:hover{
transform:translateY(-5px);
}

.review-top{
display:flex;
align-items:center;
gap:15px;
margin-bottom:15px;
}

.review-avatar{
width:55px;
height:55px;
border-radius:50%;
background:#111;
color:#fff;
display:flex;
align-items:center;
justify-content:center;
font-size:22px;
font-weight:700;
}

.review-stars{
color:#ffb400;
font-size:18px;
}

.review-text{
font-size:15px;
color:#555;
line-height:1.8;
}
.review-section{
padding:40px 0;
max-width:700px;
}

.review-header{
margin-bottom:25px;
border-bottom:1px solid #eee;
padding-bottom:20px;
}

.review-summary{
display:flex;
align-items:center;
gap:20px;
margin-top:10px;
}

.rating-number{
font-size:42px;
font-weight:700;
}

.stars{
color:#111;
font-size:18px;
margin-bottom:6px;
}

.review-card{
display:flex;
gap:18px;
padding:25px 0;
border-bottom:1px solid #eee;
}

.review-avatar{
width:52px;
height:52px;
border-radius:50%;
background:#f3f3f3;
display:flex;
align-items:center;
justify-content:center;
font-weight:700;
font-size:18px;
}

.review-content{
flex:1;
}

.review-top{
display:flex;
align-items:center;
gap:10px;
margin-bottom:8px;
}

.verified{
background:#111;
color:#fff;
font-size:11px;
padding:3px 8px;
border-radius:20px;
}

.review-stars{
color:#111;
margin-bottom:10px;
}

.review-content p{
margin:0;
color:#555;
line-height:1.7;
font-size:15px;
}

.rating-breakdown{
margin-top:30px;
max-width:500px;
}

.rating-row{
display:flex;
align-items:center;
gap:15px;
margin:12px 0;
}

.rating-row span:first-child{
width:70px;
font-size:15px;
}

.bar{
flex:1;
height:10px;
background:#ececec;
border-radius:20px;
overflow:hidden;
}

.bar div{
height:100%;
background:#388e3c;
border-radius:20px;
}

.rating-row span:last-child{
width:30px;
text-align:right;
font-weight:600;
}

.review-page{
    padding:120px 0 70px;
    background:#f6f6f6;
}

.review-product-card{
    display:flex;
    align-items:center;
    gap:18px;
    background:#fff;
    border-radius:14px;
    padding:18px;
    box-shadow:0 5px 20px rgba(0,0,0,.05);
    margin-bottom:30px;
}

.review-product-card img{
    width:90px;
    height:110px;
    object-fit:cover;
    border-radius:10px;
}

.review-product-info{
    flex:1;
}

.review-product-info h2{
    font-size:22px;
    margin-bottom:8px;
}

.review-product-info p{
    font-size:22px;
    font-weight:700;
    color:#111;
    margin-bottom:10px;
}

.back-product{
    display:inline-block;
    padding:8px 16px;
    border:2px solid #111;
    border-radius:8px;
    font-weight:600;
    transition:.3s;
}

.back-product:hover{
    background:#111;
    color:#fff;
}

.share-product{
    margin-top:35px;
}

.share-product h5{
    font-size:18px;
    margin-bottom:18px;
    font-weight:700;
}

.share-product{
    display:flex;
    align-items:center;
    gap:12px;
    flex-wrap:wrap;
}

.share-product a,
.share-product button{

    width:48px;
    height:48px;

    border-radius:50%;

    border:1px solid #e5e5e5;

    background:#fff;

    display:flex;
    align-items:center;
    justify-content:center;

    font-size:18px;

    color:#111;

    transition:.3s;

    cursor:pointer;
}

.share-product a:hover,
.share-product button:hover{

    background:#111;
    color:#fff;

    transform:translateY(-4px);
}
/*=========================
CHECKOUT
=========================*/

.checkout-page{

padding:140px 0 80px;

background:#f8f8f8;

}

.checkout-title{

font-size:42px;

font-weight:700;

margin-bottom:40px;

}

.checkout-wrapper{

display:grid;

grid-template-columns:2fr 1fr;

gap:35px;

}

.checkout-left,
.checkout-right{

background:#fff;

padding:30px;

border-radius:18px;

box-shadow:0 10px 30px rgba(0,0,0,.05);

}

.checkout-right{

position:sticky;

top:120px;

height:max-content;

}

.checkout-form{

display:grid;

gap:18px;

margin-top:25px;

}

.checkout-form input{

height:55px;

padding:0 18px;

border:1px solid #ddd;

border-radius:12px;

font-size:16px;

outline:none;

transition:.3s;

}

.checkout-form input:focus{

border-color:#111;

}

/*=========================
ORDER SUMMARY
=========================*/

.summary-product{

display:flex;

gap:15px;

margin:20px 0;

padding-bottom:20px;

border-bottom:1px solid #eee;

}

.summary-product img{

width:80px;

height:100px;

object-fit:cover;

border-radius:10px;

}

.summary-info{

flex:1;

}

.summary-info h5{

font-size:16px;

margin-bottom:8px;

}

.summary-info p{

color:#777;

margin-bottom:8px;

}

.summary-info span{

font-weight:700;

font-size:18px;

}

.summary-row{

display:flex;

justify-content:space-between;

margin:18px 0;

font-size:17px;

}

.summary-row.total{

font-size:24px;

font-weight:700;

border-top:1px solid #ddd;

padding-top:20px;

}

.coupon-box{

width:100%;

height:52px;

margin-top:25px;

padding:0 15px;

border:1px solid #ddd;

border-radius:12px;

font-size:16px;

}

.apply-coupon{

width:100%;

margin-top:15px;

height:52px;

background:#fff;

color:#111;

border:2px solid #111;

border-radius:12px;

font-weight:600;

}

.apply-coupon:hover{

background:#111;

color:#fff;

}

.place-order{

width:100%;

height:58px;

margin-top:20px;

background:#111;

color:#fff;

font-size:18px;

font-weight:700;

border-radius:12px;

}

.place-order:hover{

background:#000;

}

.buy-btn{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:10px;
    text-decoration:none;
    background:#111;
    color:#fff;
    height:58px;
    border-radius:12px;
    font-weight:600;
}

/*=========================
CHECKOUT PAGE
=========================*/

.checkout-page{
    padding:60px 0;
    background:#f8f8f8;
}

.checkout-title{
    font-size:40px;
    font-weight:700;
    margin:25px 0;
}

.checkout-wrapper{
    display:grid;
    grid-template-columns:2fr 1fr;
    gap:40px;
}

.checkout-left,
.checkout-right{
    background:#fff;
    border-radius:16px;
    padding:30px;
    box-shadow:0 10px 25px rgba(0,0,0,.05);
}

.checkout-steps{
    display:flex;
    align-items:center;
    justify-content:center;
    margin-bottom:35px;
}

.checkout-steps .step{
    display:flex;
    flex-direction:column;
    align-items:center;
}

.checkout-steps span{
    width:42px;
    height:42px;
    border-radius:50%;
    background:#ddd;
    display:flex;
    align-items:center;
    justify-content:center;
    font-weight:700;
}

.checkout-steps .active span{
    background:#111;
    color:#fff;
}

.checkout-steps p{
    margin-top:8px;
    font-size:14px;
}

.checkout-steps .line{
    width:90px;
    height:2px;
    background:#ddd;
    margin:0 15px;
}
.delivery-box{
    display:flex;
    align-items:center;
    gap:18px;
    background:#f7f7f7;
    padding:18px;
    border-radius:12px;
    margin-bottom:25px;
}

.delivery-box i{
    font-size:28px;
}

.delivery-box h5{
    margin:0;
    font-size:17px;
}

.delivery-box p{
    margin:4px 0 0;
    color:#666;
}
.checkout-form input{
    width:100%;
    padding:16px;
    border:1px solid #ddd;
    border-radius:10px;
    margin-bottom:15px;
    font-size:15px;
}

.checkout-form input:focus{
    border-color:#111;
    outline:none;
}
.payment-methods{
    display:grid;
    gap:15px;
    margin-top:20px;
}

.payment-card{
    display:flex;
    align-items:center;
    gap:15px;
    border:1px solid #ddd;
    border-radius:12px;
    padding:16px;
    cursor:pointer;
    transition:.3s;
}

.payment-card:hover{
    border-color:#111;
    background:#fafafa;
}

.payment-card i{
    font-size:22px;
}

.payment-card input{
    margin-right:8px;
}
.checkout-right{
    position:sticky;
    top:30px;
    height:fit-content;
}
.order-success{
display:flex;
justify-content:center;
align-items:center;
padding:80px 20px;
background:#f8f8f8;
min-height:100vh;
}

.success-card{
background:#fff;
padding:50px;
border-radius:18px;
text-align:center;
max-width:500px;
width:100%;
box-shadow:0 15px 40px rgba(0,0,0,.08);
}

.success-card i{
font-size:70px;
color:#28a745;
margin-bottom:20px;
}

.success-card h2{
font-size:32px;
margin-bottom:15px;
}

.success-card p{
margin:10px 0;
color:#555;
}

.success-buttons{
display:flex;
gap:15px;
justify-content:center;
margin-top:30px;
}

.continue-btn,
.orders-btn{

padding:14px 30px;
border-radius:8px;
text-decoration:none;
font-weight:600;
}

.continue-btn{
background:#111;
color:#fff;
}

.orders-btn{
background:#fff;
border:1px solid #111;
color:#111;
}

/* =================================
   XXLSIZE STOREFRONT HEADER
   BLACK & WHITE THEME
================================= */

.store-header {
    width: 100%;
    background: #ffffff;
    border-bottom: 1px solid #111111;
    position: relative;
    z-index: 1000;
}

.store-header-inner {
    max-width: 1200px;
    height: 75px;
    margin: 0 auto;
    padding: 0 25px;

    display: flex;
    align-items: center;
    justify-content: space-between;
}

/* LOGO */

.store-logo {
    color: #111111;
    text-decoration: none;
    font-size: 25px;
    font-weight: 800;
    letter-spacing: 2px;
}

/* NAVIGATION */

.store-nav {
    display: flex;
    align-items: center;
    gap: 35px;
}

.store-nav a {
    position: relative;

    color: #111111;
    text-decoration: none;

    font-size: 14px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .6px;

    padding: 10px 0;

    transition: .2s ease;
}

.store-nav a::after {
    content: "";

    position: absolute;
    left: 0;
    bottom: 2px;

    width: 0;
    height: 1px;

    background: #111111;

    transition: .2s ease;
}

.store-nav a:hover::after {
    width: 100%;
}

/* CART COUNT */

.header-cart-count {
    display: inline-flex;

    min-width: 20px;
    height: 20px;

    padding: 0 5px;

    align-items: center;
    justify-content: center;

    background: #111111;
    color: #ffffff;

    border-radius: 50%;

    font-size: 10px;
    font-weight: 700;

    vertical-align: middle;
    margin-left: 4px;
}

/* BAG */

.store-actions {
    display: flex;
    align-items: center;
}

.header-bag {
    position: relative;

    display: flex;
    align-items: center;
    justify-content: center;

    width: 42px;
    height: 42px;

    color: #111111;
    text-decoration: none;

    border: 1px solid transparent;

    transition: .2s ease;
}

.header-bag i {
    font-size: 19px;
}

.header-bag .header-cart-count {
    position: absolute;

    top: -3px;
    right: -3px;

    margin: 0;
}

/* HOVER */

.header-bag:hover {
    border-color: #111111;
}


/* =================================
   MOBILE
================================= */

@media (max-width: 700px) {

    .store-header-inner {
        height: 65px;
        padding: 0 15px;
    }

    .store-logo {
        font-size: 21px;
        letter-spacing: 1.5px;
    }

    .store-nav {
        gap: 15px;
    }

    .store-nav a {
        font-size: 12px;
    }

    .header-bag {
        width: 38px;
        height: 38px;
    }

}

/* =========================================
   XXLSIZE - MAIN WEBSITE HEADER
   BLACK & WHITE THEME
========================================= */

.site-header {
    width: 100%;
    background: #111;
    color: #fff;
    border-bottom: 1px solid #2a2a2a;
    position: relative;
    z-index: 1000;
}

.header-container {
    max-width: 1400px;
    height: 82px;
    margin: 0 auto;
    padding: 0 40px;

    display: flex;
    align-items: center;
    justify-content: space-between;
}

/* LOGO */

.site-logo {
    color: #fff;
    text-decoration: none;

    font-size: 32px;
    font-weight: 800;
    letter-spacing: 6px;
    white-space: nowrap;
}

.site-logo:hover {
    color: #fff;
}

/* NAVIGATION */

.main-nav {
    display: flex;
    align-items: center;
    gap: 38px;
}

.main-nav a {
    color: #fff;
    text-decoration: none;

    font-size: 14px;
    font-weight: 600;
    letter-spacing: 0.5px;

    position: relative;
    padding: 30px 0;
}

.main-nav a::after {
    content: "";

    position: absolute;
    left: 0;
    bottom: 22px;

    width: 0;
    height: 1px;

    background: #fff;

    transition: width 0.25s ease;
}

.main-nav a:hover::after {
    width: 100%;
}

/* HEADER ACTIONS */

.header-actions {
    display: flex;
    align-items: center;
}

.cart-link {
    position: relative;

    display: flex;
    align-items: center;
    gap: 9px;

    color: #fff;
    text-decoration: none;

    font-size: 14px;
    font-weight: 600;
}

.cart-link i {
    font-size: 18px;
}

.cart-link:hover {
    color: #fff;
}

/* CART COUNT */

.cart-count {
    min-width: 20px;
    height: 20px;

    display: flex;
    align-items: center;
    justify-content: center;

    background: #fff;
    color: #111;

    border-radius: 50%;

    font-size: 11px;
    font-weight: 800;

    position: absolute;
    top: -12px;
    right: -16px;
}

/* =========================================
   MOBILE
========================================= */

@media (max-width: 900px) {

    .header-container {
        height: auto;
        min-height: 75px;
        padding: 18px 25px;

        flex-wrap: wrap;
        gap: 20px;
    }

    .site-logo {
        font-size: 26px;
    }

    .main-nav {
        order: 3;
        width: 100%;

        justify-content: center;

        gap: 22px;

        overflow-x: auto;
        padding-bottom: 5px;
    }

    .main-nav a {
        padding: 8px 0;
        white-space: nowrap;
    }

    .main-nav a::after {
        bottom: 2px;
    }
}

@media (max-width: 600px) {

    .header-container {
        padding: 16px 18px;
    }

    .site-logo {
        font-size: 23px;
        letter-spacing: 4px;
    }

    .main-nav {
        justify-content: flex-start;
        gap: 20px;
    }

    .main-nav a {
        font-size: 13px;
    }

    .cart-link span:not(.cart-count) {
        display: none;
    }

    .cart-link i {
        font-size: 20px;
    }

}

/* =========================
   XXLSIZE MAIN HEADER
========================= */

.site-header {
    width: 100%;
    background: #111111;
    color: #ffffff;
    position: relative;
    z-index: 1000;
}

.header-container {
    max-width: 1400px;
    margin: 0 auto;
    padding: 20px 40px;

    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 40px;
}

.site-logo {
    color: #ffffff;
    text-decoration: none;
    font-size: 32px;
    font-weight: 700;
    letter-spacing: 6px;
    white-space: nowrap;
}

.main-nav {
    display: flex;
    align-items: center;
    gap: 35px;
}

.main-nav a {
    color: #ffffff;
    text-decoration: none;
    font-size: 15px;
    font-weight: 500;
    transition: opacity 0.2s ease;
}

.main-nav a:hover {
    opacity: 0.65;
}

.header-actions {
    display: flex;
    align-items: center;
}

.cart-link {
    position: relative;
    display: flex;
    align-items: center;
    gap: 8px;

    color: #ffffff;
    text-decoration: none;
    font-size: 15px;
}

.cart-link i {
    font-size: 20px;
}

.cart-count {
    position: absolute;
    top: -10px;
    right: -12px;

    min-width: 18px;
    height: 18px;
    padding: 0 5px;

    display: flex;
    align-items: center;
    justify-content: center;

    background: #e63946;
    color: #ffffff;

    border-radius: 50%;
    font-size: 11px;
    font-weight: 700;
}

/* =========================================
   HEADER ACTION ICONS
========================================= */

.header-actions {
    display: flex;
    align-items: center;
    gap: 18px;
}

.header-icon {
    width: 42px;
    height: 42px;

    display: flex;
    align-items: center;
    justify-content: center;

    color: #fff;
    text-decoration: none;

    border: 1px solid transparent;
    border-radius: 50%;

    transition: all 0.25s ease;
}

.header-icon i {
    font-size: 18px;
}

.header-icon:hover {
    color: #111;
    background: #fff;
    border-color: #fff;
    transform: translateY(-2px);
}

.cart-link {
    position: relative;

    display: flex;
    align-items: center;
    gap: 8px;

    color: #fff;
    text-decoration: none;

    font-size: 15px;
    font-weight: 600;
}

.cart-link i {
    font-size: 20px;
}

.cart-link:hover {
    color: #fff;
}

.cart-count {
    position: absolute;

    top: -10px;
    right: -12px;

    min-width: 18px;
    height: 18px;

    display: flex;
    align-items: center;
    justify-content: center;

    background: #e63946;
    color: #fff;

    border-radius: 50%;

    font-size: 10px;
    font-weight: 700;
}

/* =========================================
   STICKY BLACK HEADER
========================================= */

.site-header {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 9999;

    background: #111111;
    color: #ffffff;

    border-bottom: 1px solid #333333;
}

/* Prevent page content from hiding behind header */

body {
    padding-top: 82px;
}

/* =========================================
   RECENTLY VIEWED
========================================= */

.recently-viewed {
    padding: 60px 0;
    background: #fff;
}

.section-heading {
    margin-bottom: 30px;
}

.section-heading h2 {
    margin: 0 0 8px;
    font-size: 28px;
    font-weight: 700;
    color: #111;
}

.section-heading p {
    margin: 0;
    color: #777;
    font-size: 14px;
}

.recent-products {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 25px;
}

.recent-product-card {
    background: #fff;
    border: 1px solid #eee;
    border-radius: 10px;
    overflow: hidden;
    transition: .3s;
}

.recent-product-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 10px 25px rgba(0,0,0,.08);
}

.recent-product-card a {
    color: inherit;
    text-decoration: none;
}

.recent-product-image {
    width: 100%;
    height: 280px;
    overflow: hidden;
    background: #f7f7f7;
}

.recent-product-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.recent-product-info {
    padding: 18px;
}

.recent-product-info h3 {
    margin: 0 0 10px;
    font-size: 16px;
    font-weight: 600;
    color: #111;
}

.recent-price {
    display: flex;
    align-items: center;
    gap: 10px;
}

.recent-price .sale-price {
    font-weight: 700;
    color: #111;
}

.recent-price .old-price {
    color: #999;
    text-decoration: line-through;
    font-size: 14px;
}
/* =========================
   SIMILAR PRODUCTS
========================= */

.similar-products{
    padding:60px 0;
    background:#fff;
}

.section-heading{
    text-align:center;
    margin-bottom:35px;
}

.section-heading h2{
    margin:0;
    font-size:30px;
    font-weight:700;
}

.section-heading p{
    margin-top:8px;
    color:#777;
    font-size:14px;
}

.similar-products-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:25px;
}

.similar-product-card{
    background:#fff;
    overflow:hidden;
}

.similar-product-image{
    display:block;
    width:100%;
    aspect-ratio:3 / 4;
    overflow:hidden;
    background:#f5f5f5;
}

.similar-product-image img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
    transition:transform .4s ease;
}

.similar-product-card:hover
.similar-product-image img{
    transform:scale(1.04);
}

.similar-product-info{
    padding:15px 5px;
}

.similar-product-info h3{
    margin:0 0 8px;
    font-size:16px;
    font-weight:600;
}

.similar-product-info h3 a{
    color:#111;
    text-decoration:none;
}

.similar-product-price{
    display:flex;
    align-items:center;
    gap:10px;
}

.similar-sale-price{
    font-weight:600;
    color:#111;
}

.similar-old-price{
    color:#999;
    text-decoration:line-through;
    font-size:14px;
}

@media(max-width:992px){

    .similar-products-grid{
        grid-template-columns:repeat(2,1fr);
        gap:20px;
    }

}

@media(max-width:576px){

    .similar-products{
        padding:40px 0;
    }

    .similar-products-grid{
        grid-template-columns:repeat(2,1fr);
        gap:15px;
    }

    .section-heading h2{
        font-size:24px;
    }

}

/* =========================================
   SIMILAR PRODUCT ACTIONS
========================================= */

.similar-product-image {
    position: relative;
}

.similar-wishlist-btn {
    position: absolute;
    top: 12px;
    right: 12px;

    width: 40px;
    height: 40px;

    border: none;
    border-radius: 50%;

    background: #fff;

    display: flex;
    align-items: center;
    justify-content: center;

    cursor: pointer;

    box-shadow: 0 4px 12px rgba(0,0,0,.12);

    z-index: 5;

    font-size: 17px;
}

.similar-wishlist-btn:hover {
    transform: scale(1.05);
}

.similar-wishlist-btn.active i {
    color: #e63946;
}


.similar-cart-btn {
    width: 100%;

    margin-top: 15px;

    padding: 12px 15px;

    border: none;
    border-radius: 8px;

    background: #111;
    color: #fff;

    font-size: 14px;
    font-weight: 600;

    cursor: pointer;

    transition: .3s;
}

.similar-cart-btn:hover {
    background: #333;
}

/* =========================================
   RECENTLY VIEWED
========================================= */

.recent-products-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
    margin-top: 30px;
}

.recent-product-card {
    position: relative;
    background: #fff;
    border: 1px solid #eee;
    border-radius: 8px;
    overflow: hidden;
}

.recent-product-image {
    position: relative;
    width: 100%;
    aspect-ratio: 1 / 1.15;
    overflow: hidden;
}

.recent-product-image a {
    display: block;
    width: 100%;
    height: 100%;
}

.recent-product-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.recent-wishlist-btn {
    position: absolute;
    top: 12px;
    right: 12px;

    width: 38px;
    height: 38px;

    border: none;
    border-radius: 50%;

    background: #fff;

    display: flex;
    align-items: center;
    justify-content: center;

    cursor: pointer;

    box-shadow: 0 2px 8px rgba(0,0,0,0.12);

    z-index: 5;
}

.recent-wishlist-btn i {
    font-size: 16px;
}

.recent-product-info {
    padding: 14px;
}

.recent-product-info h3 {
    margin: 0 0 8px;
    font-size: 15px;
    font-weight: 600;
}

.recent-product-info h3 a {
    color: #111;
    text-decoration: none;
}

.recent-price {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 12px;
}

.recent-price .sale-price {
    font-size: 18px;
    font-weight: 700;
    color: #111;
}

.recent-price .old-price {
    font-size: 13px;
    color: #999;
    text-decoration: line-through;
}

.recent-cart-btn {
    width: 100%;
    padding: 10px 12px;

    border: none;
    border-radius: 5px;

    background: #111;
    color: #fff;

    font-size: 13px;
    font-weight: 600;

    cursor: pointer;
}

.recent-cart-btn:hover {
    background: #333;
}

/* =========================================
   PRODUCT CARD WISHLIST BUTTON
========================================= */

.similar-wishlist-btn,
.recent-wishlist-btn {
    position: absolute;

    top: 14px;
    right: 14px;

    width: 42px;
    height: 42px;

    border: none;
    border-radius: 50%;

    background: rgba(255, 255, 255, 0.96);

    display: flex;
    align-items: center;
    justify-content: center;

    cursor: pointer;

    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.10);

    z-index: 5;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        background 0.25s ease;
}


/* Heart */

.similar-wishlist-btn i,
.recent-wishlist-btn i {
    font-size: 18px;

    color: #222;

    transition:
        color 0.25s ease,
        transform 0.25s ease;
}


/* Hover */

.similar-wishlist-btn:hover,
.recent-wishlist-btn:hover {
    transform: scale(1.08);

    box-shadow: 0 6px 18px rgba(0, 0, 0, 0.16);
}


/* Hover heart */

.similar-wishlist-btn:hover i,
.recent-wishlist-btn:hover i {
    color: #e63946;

    transform: scale(1.12);
}


/* Active wishlist */

.similar-wishlist-btn.active,
.recent-wishlist-btn.active {
    background: #fff5f5;
}


.similar-wishlist-btn.active i,
.recent-wishlist-btn.active i {
    color: #e63946;

    transform: scale(1.08);
}


/* Click animation */

.similar-wishlist-btn:active,
.recent-wishlist-btn:active {
    transform: scale(0.90);
}


/* Heart pop */

.similar-wishlist-btn.active i,
.recent-wishlist-btn.active i {
    animation: wishlistHeartPop 0.35s ease;
}


@keyframes wishlistHeartPop {

    0% {
        transform: scale(0.7);
    }

    50% {
        transform: scale(1.35);
    }

    100% {
        transform: scale(1.08);
    }

}

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

.wishlist-product-card {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1fr) 220px;
    gap: 35px;
    align-items: center;

    background: #fff;
    border: 1px solid #eee;
    border-radius: 16px;
    padding: 20px;

    margin-bottom: 25px;
    box-shadow: 0 5px 20px rgba(0,0,0,0.05);
}


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

.wishlist-product-image {
    width: 100%;
    height: 320px;
    overflow: hidden;
    border-radius: 12px;
    background: #f5f5f5;
}

.wishlist-product-image img {
    width: 100%;
    height: 100%;
    display: block;

    object-fit: cover;
    object-position: center;
}


/* ================================
   PRODUCT INFORMATION
================================ */

.wishlist-product-info {
    width: 100%;
    padding-right: 15px;
}

.wishlist-product-info h3 {
    margin: 0 0 10px;
    font-size: 18px;
    font-weight: 600;
    line-height: 1.4;
}

.wishlist-product-info h3 a {
    color: #111;
    text-decoration: none;
}

.wishlist-product-price {
    margin-bottom: 12px;
}

.wishlist-product-price .sale-price {
    font-size: 18px;
    font-weight: 700;
    color: #111;
}

.wishlist-product-price .old-price {
    margin-left: 8px;
    color: #999;
    text-decoration: line-through;
    font-size: 14px;
}


/* ================================
   STOCK
================================ */

.wishlist-stock {
    display: inline-block;

    padding: 5px 10px;
    border-radius: 20px;

    background: #eaf8ef;
    color: #16833b;

    font-size: 12px;
    font-weight: 600;

    margin-bottom: 20px;
}


/* ================================
   BUTTONS
================================ */

.wishlist-buttons {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.wishlist-view-btn,
.wishlist-cart-btn {
    width: 100%;
    min-height: 48px;

    border-radius: 8px;

    font-size: 14px;
    font-weight: 600;

    cursor: pointer;
    transition: 0.2s ease;
}

.wishlist-view-btn {
    display: flex;
    align-items: center;
    justify-content: center;

    background: #111;
    color: #fff;
    text-decoration: none;
}

.wishlist-view-btn:hover {
    background: #333;
}

.wishlist-cart-btn {
    background: #fff;
    color: #111;
    border: 1px solid #111;
}

.wishlist-cart-btn:hover {
    background: #111;
    color: #fff;
}


/* ================================
   REMOVE WISHLIST BUTTON
================================ */

.wishlist-remove-btn {
    position: absolute;
    top: 14px;
    right: 14px;

    width: 40px;
    height: 40px;

    border: none;
    border-radius: 50%;

    background: #fff;

    display: flex;
    align-items: center;
    justify-content: center;

    cursor: pointer;

    box-shadow: 0 3px 12px rgba(0,0,0,0.12);

    z-index: 5;

    transition: 0.2s ease;
}

.wishlist-remove-btn i {
    font-size: 15px;
    color: #111;
}

.wishlist-remove-btn:hover {
    background: #111;
}

.wishlist-remove-btn:hover i {
    color: #fff;
}

@media (max-width: 768px) {

    .wishlist-product-card {
        grid-template-columns: 1fr;
        gap: 20px;
        padding: 15px;
    }

    .wishlist-product-image {
        height: 280px;
    }

    .wishlist-product-info {
        padding-right: 0;
    }

    .wishlist-buttons {
        flex-direction: row;
    }

    .wishlist-view-btn,
    .wishlist-cart-btn {
        flex: 1;
    }

}

/* =========================================
   WISHLIST PAGE
========================================= */

.wishlist-page {
    padding: 70px 0;
    background: #f8f8f8;
    min-height: 100vh;
}

.wishlist-container {
    width: min(1200px, 92%);
    margin: auto;
}


/* =========================================
   HEADER
========================================= */

.wishlist-header {
    margin-bottom: 35px;
}

.wishlist-header h1 {
    margin: 0 0 8px;
    font-size: 42px;
    font-weight: 700;
    letter-spacing: 1px;
    text-transform: uppercase;
}

.wishlist-header p {
    margin: 0;
    color: #777;
    font-size: 16px;
}


/* =========================================
   TWO COLUMN LAYOUT
========================================= */

.wishlist-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 350px;
    gap: 30px;
    align-items: start;
}


/* =========================================
   LEFT WISHLIST BOX
========================================= */

.wishlist-box {
    background: #fff;
    border: 1px solid #ddd;
    border-radius: 18px;
    padding: 35px;
}

.wishlist-box-title {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-bottom: 22px;
    border-bottom: 1px solid #ddd;
}

.wishlist-box-title h2 {
    margin: 0;
    font-size: 24px;
    font-weight: 700;
}

.wishlist-box-title span {
    color: #777;
    font-size: 14px;
}


/* =========================================
   PRODUCT ITEM
========================================= */

.wishlist-item {
    position: relative;

    display: grid;
    grid-template-columns: 150px minmax(180px, 1fr) 190px 45px;

    gap: 25px;
    align-items: center;

    padding: 28px 0;

    border-bottom: 1px solid #ddd;
}


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

.wishlist-item-image {
    width: 150px;
    height: 180px;
    overflow: hidden;
    border-radius: 10px;
    background: #f1f1f1;
}

.wishlist-item-image a {
    display: block;
    width: 100%;
    height: 100%;
}

.wishlist-item-image img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    transition: transform .3s ease;
}

.wishlist-item-image img:hover {
    transform: scale(1.04);
}


/* =========================================
   PRODUCT INFO
========================================= */

.wishlist-item-info h3 {
    margin: 0 0 12px;
    font-size: 20px;
    font-weight: 700;
}

.wishlist-item-info h3 a {
    color: #111;
    text-decoration: none;
}

.wishlist-item-price {
    font-size: 18px;
    font-weight: 700;
    margin-bottom: 12px;
}

.wishlist-item-stock {
    display: inline-flex;
    align-items: center;
    gap: 5px;

    padding: 6px 10px;

    border-radius: 20px;

    background: #e8f8ed;
    color: #16803a;

    font-size: 12px;
    font-weight: 600;
}

.wishlist-item-stock i {
    font-size: 11px;
}


/* =========================================
   ACTION BUTTONS
========================================= */

.wishlist-item-actions {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.wishlist-view-btn,
.wishlist-cart-btn {
    width: 100%;
    min-height: 50px;

    display: flex;
    justify-content: center;
    align-items: center;
    gap: 8px;

    padding: 10px 15px;

    border-radius: 8px;

    font-size: 14px;
    font-weight: 600;

    cursor: pointer;
    text-decoration: none;

    transition: .2s ease;
}

.wishlist-view-btn {
    background: #111;
    color: #fff;
    border: 1px solid #111;
}

.wishlist-view-btn:hover {
    background: #333;
    color: #fff;
}

.wishlist-cart-btn {
    background: #fff;
    color: #111;
    border: 1px solid #111;
}

.wishlist-cart-btn:hover {
    background: #111;
    color: #fff;
}


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

.wishlist-remove {
    width: 42px;
    height: 42px;

    display: flex;
    justify-content: center;
    align-items: center;

    border: none;
    border-radius: 50%;

    background: #fff;

    color: #111;

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

    cursor: pointer;

    transition: .2s ease;
}

.wishlist-remove:hover {
    background: #111;
    color: #fff;
}


/* =========================================
   BOTTOM
========================================= */

.wishlist-bottom {
    padding-top: 25px;
}

.wishlist-continue-btn {
    display: inline-flex;
    align-items: center;
    gap: 9px;

    padding: 13px 20px;

    border: 1px solid #111;
    border-radius: 8px;

    background: #fff;

    color: #111;

    text-decoration: none;

    font-weight: 600;

    transition: .2s ease;
}

.wishlist-continue-btn:hover {
    background: #111;
    color: #fff;
}


/* =========================================
   SUMMARY
========================================= */

.wishlist-summary {
    background: #fff;

    border: 1px solid #ddd;
    border-radius: 18px;

    padding: 30px;

    position: sticky;
    top: 30px;
}

.wishlist-summary h2 {
    margin: 0 0 25px;

    padding-bottom: 20px;

    border-bottom: 1px solid #ddd;

    font-size: 21px;
    font-weight: 700;
}


/* SUMMARY ROW */

.summary-row {
    display: flex;
    justify-content: space-between;

    padding: 15px 0;

    border-bottom: 1px solid #ddd;

    font-size: 15px;
}

.summary-row strong {
    font-weight: 700;
}


/* MESSAGE */

.summary-message {
    padding: 20px 0;

    color: #555;

    font-size: 14px;
    line-height: 1.6;
}


/* =========================================
   SUMMARY BUTTONS
========================================= */

.summary-actions {
    display: flex;
    flex-direction: column;
    gap: 12px;

    padding-bottom: 25px;

    border-bottom: 1px solid #ddd;
}

.move-cart-btn,
.clear-wishlist-btn {
    width: 100%;

    min-height: 52px;

    border-radius: 8px;

    font-size: 14px;
    font-weight: 600;

    cursor: pointer;

    transition: .2s ease;
}

.move-cart-btn {
    border: 1px solid #111;
    background: #111;
    color: #fff;
}

.move-cart-btn:hover {
    background: #333;
}

.clear-wishlist-btn {
    border: 1px solid #111;
    background: #fff;
    color: #111;
}

.clear-wishlist-btn:hover {
    background: #111;
    color: #fff;
}


/* =========================================
   BENEFITS
========================================= */

.wishlist-benefits {
    padding-top: 25px;

    display: flex;
    flex-direction: column;

    gap: 20px;
}

.wishlist-benefits div {
    display: flex;
    align-items: center;
    gap: 14px;

    font-size: 14px;
}

.wishlist-benefits i {
    width: 20px;
    font-size: 16px;
}


/* =========================================
   EMPTY WISHLIST
========================================= */

.wishlist-empty {
    background: #fff;

    border: 1px solid #ddd;
    border-radius: 18px;

    padding: 80px 30px;

    text-align: center;
}

.wishlist-empty > i {
    font-size: 55px;
    margin-bottom: 20px;
    color: #999;
}

.wishlist-empty h2 {
    margin-bottom: 10px;
}

.wishlist-empty p {
    color: #777;
    margin-bottom: 25px;
}


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

@media (max-width: 1000px) {

    .wishlist-layout {
        grid-template-columns: 1fr;
    }

    .wishlist-summary {
        position: static;
    }

}


@media (max-width: 700px) {

    .wishlist-page {
        padding: 40px 0;
    }

    .wishlist-header h1 {
        font-size: 30px;
    }

    .wishlist-box {
        padding: 20px;
    }

    .wishlist-item {

        grid-template-columns: 90px 1fr;

        gap: 15px;

    }

    .wishlist-item-image {
        width: 90px;
        height: 115px;
    }

    .wishlist-item-info h3 {
        font-size: 16px;
    }

    .wishlist-item-actions {
        grid-column: 1 / -1;

        display: grid;

        grid-template-columns: 1fr 1fr;

    }

    .wishlist-remove {
        position: absolute;
        top: 20px;
        right: 0;

        width: 36px;
        height: 36px;
    }

}


@media (max-width: 480px) {

    .wishlist-item-actions {
        grid-template-columns: 1fr;
    }

    .wishlist-summary {
        padding: 22px;
    }

}

.product-actions .whatsapp-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    height: 48px;
    padding: 0 18px;
    background: #25D366;
    color: #fff;
    text-decoration: none;
    border-radius: 6px;
    font-weight: 600;
    border: none;
    cursor: pointer;
    white-space: nowrap;
}

.product-actions .whatsapp-btn:hover {
    background: #1ebe5d;
}

/* =========================================
   SEARCH PAGE
========================================= */

.search-page {
    background: #fafafa;
    min-height: 80vh;
    padding: 70px 0 100px;
}

/* Search Header */

.search-header {
    max-width: 850px;
    margin: 0 auto 65px;
    text-align: center;
}

.search-header h1 {
    margin: 0 0 12px;
    font-size: 42px;
    font-weight: 600;
    letter-spacing: -1px;
    color: #111;
}

.search-header::after {
    content: "Find your next favourite piece";
    display: block;
    margin-top: 8px;
    font-size: 15px;
    color: #777;
}

/* Search Form */

.search-form {
    display: flex;
    align-items: center;
    margin-top: 35px;
    background: #fff;
    border: 1px solid #ddd;
    border-radius: 3px;
    overflow: hidden;
    height: 58px;
    box-shadow: 0 8px 30px rgba(0,0,0,0.04);
}

.search-form input {
    flex: 1;
    height: 100%;
    border: none;
    outline: none;
    padding: 0 20px;
    font-family: inherit;
    font-size: 15px;
    color: #111;
    background: transparent;
}

.search-form input::placeholder {
    color: #999;
}

.search-form button {
    height: 100%;
    min-width: 130px;
    padding: 0 24px;
    border: none;
    background: #111;
    color: #fff;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    transition: 0.25s ease;
}

.search-form button:hover {
    background: #333;
}

.search-form button i {
    margin-right: 7px;
}


/* =========================================
   SEARCH RESULT HEADER
========================================= */

.search-result-heading {
    display: flex;
    align-items: end;
    justify-content: space-between;
    margin-bottom: 28px;
    border-bottom: 1px solid #e5e5e5;
    padding-bottom: 18px;
}

.search-result-heading h2 {
    margin: 0;
    font-size: 22px;
    font-weight: 600;
    color: #111;
}

.search-result-heading p {
    margin: 0;
    color: #777;
    font-size: 13px;
}


/* =========================================
   PRODUCT GRID
========================================= */

.search-product-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 26px 18px;
}


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

.search-product-card {
    background: #fff;
    transition: transform 0.25s ease;
}

.search-product-card:hover {
    transform: translateY(-3px);
}


/* Product Image */

.search-product-image {
    display: block;
    position: relative;
    overflow: hidden;
    background: #f1f1f1;
    aspect-ratio: 3 / 4;
}

.search-product-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.45s ease;
}

.search-product-card:hover .search-product-image img {
    transform: scale(1.035);
}


/* Product Info */

.search-product-info {
    padding: 16px 4px 5px;
}

.search-product-info h3 {
    margin: 0 0 5px;
    font-size: 15px;
    font-weight: 600;
    line-height: 1.4;
}

.search-product-info h3 a {
    color: #111;
    text-decoration: none;
}

.search-product-category {
    margin: 0 0 9px;
    font-size: 12px;
    color: #888;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.search-product-price {
    font-size: 15px;
    font-weight: 600;
    color: #111;
}

.search-product-price span {
    margin-left: 7px;
    color: #999;
    text-decoration: line-through;
    font-size: 13px;
    font-weight: 400;
}


/* View Product */

.search-view-product {
    display: inline-block;
    margin-top: 12px;
    font-size: 12px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.7px;
    color: #111;
    text-decoration: none;
    border-bottom: 1px solid #111;
    padding-bottom: 2px;
    transition: 0.2s ease;
}

.search-view-product:hover {
    opacity: 0.55;
}


/* =========================================
   EMPTY SEARCH
========================================= */

.empty-search {
    max-width: 600px;
    margin: 80px auto;
    text-align: center;
}

.empty-search i {
    font-size: 34px;
    color: #aaa;
    margin-bottom: 22px;
}

.empty-search h2 {
    margin: 0 0 10px;
    font-size: 25px;
    font-weight: 600;
}

.empty-search p {
    margin: 0;
    color: #777;
    font-size: 14px;
}


/* =========================================
   NO RESULTS
========================================= */

.no-search-results {
    max-width: 600px;
    margin: 80px auto;
    text-align: center;
}

.no-search-results i {
    font-size: 35px;
    color: #aaa;
    margin-bottom: 20px;
}

.no-search-results h2 {
    margin-bottom: 10px;
    font-size: 25px;
    font-weight: 600;
}

.no-search-results p {
    color: #777;
    font-size: 14px;
    margin-bottom: 25px;
}

.no-search-results a {
    display: inline-block;
    padding: 13px 25px;
    background: #111;
    color: #fff;
    text-decoration: none;
    font-size: 13px;
    font-weight: 600;
    transition: 0.25s ease;
}

.no-search-results a:hover {
    background: #333;
}


/* =========================================
   MOBILE
========================================= */

@media (max-width: 991px) {

    .search-page {
        padding: 50px 0 70px;
    }

    .search-header h1 {
        font-size: 34px;
    }

    .search-product-grid {
        grid-template-columns: repeat(3, 1fr);
        gap: 22px 14px;
    }

}


@media (max-width: 767px) {

    .search-page {
        padding: 35px 0 60px;
    }

    .search-header {
        margin-bottom: 45px;
    }

    .search-header h1 {
        font-size: 29px;
    }

    .search-form {
        height: 52px;
        margin-top: 25px;
    }

    .search-form input {
        min-width: 0;
        padding: 0 14px;
        font-size: 14px;
    }

    .search-form button {
        min-width: 52px;
        width: 52px;
        padding: 0;
        font-size: 0;
    }

    .search-form button i {
        margin: 0;
        font-size: 15px;
    }

    .search-result-heading {
        display: block;
    }

    .search-result-heading h2 {
        font-size: 18px;
        margin-bottom: 7px;
    }

    .search-product-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 28px 12px;
    }

    .search-product-info {
        padding: 12px 2px;
    }

    .search-product-info h3 {
        font-size: 14px;
    }

    .search-product-price {
        font-size: 14px;
    }

    .search-view-product {
        font-size: 11px;
    }

}

/* =====================================================
   XXLSIZE HEADER + CATEGORY NAVIGATION
===================================================== */

.site-header {
    position: sticky;
    top: 0;
    z-index: 9999;
    background: #111111;
}


/* MAIN HEADER */

.header-container {
    min-height: 82px;
    padding: 0 6%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    background: #111111;
}


/* LOGO */

.site-logo {
    color: #ffffff;
    text-decoration: none;
    font-size: 34px;
    font-weight: 600;
    letter-spacing: 8px;
    white-space: nowrap;
}


/* MAIN NAV */

.main-nav {
    display: flex;
    align-items: center;
    gap: 38px;
}

.main-nav a {
    color: #ffffff;
    text-decoration: none;
    font-size: 16px;
    font-weight: 500;
    transition: opacity 0.2s ease;
}

.main-nav a:hover {
    opacity: 0.65;
}


/* HEADER ACTIONS */

.header-actions {
    display: flex;
    align-items: center;
    gap: 22px;
}

.header-icon {
    color: #ffffff;
    text-decoration: none;
    font-size: 20px;
}

.header-icon:hover {
    opacity: 0.65;
}


.cart-link {
    position: relative;
    display: flex;
    align-items: center;
    gap: 8px;

    color: #ffffff;
    text-decoration: none;

    font-size: 16px;
    font-weight: 500;
}

.cart-count {
    position: absolute;
    top: -10px;
    right: -12px;

    width: 18px;
    height: 18px;

    display: flex;
    align-items: center;
    justify-content: center;

    background: #ffffff;
    color: #111111;

    border-radius: 50%;
    font-size: 10px;
}


/* =====================================================
   CATEGORY NAVIGATION
===================================================== */

.category-nav {
    min-height: 64px;

    display: flex;
    align-items: center;
    justify-content: center;

    gap: 54px;

    background: #ffffff;
    border-top: 1px solid #222222;
    border-bottom: 1px solid #dddddd;
}

.category-nav a {
    color: #111111;
    text-decoration: none;

    font-size: 13px;
    font-weight: 600;

    letter-spacing: 2px;

    position: relative;
}

.category-nav a::after {
    content: "";

    position: absolute;
    left: 0;
    bottom: -7px;

    width: 0;
    height: 1px;

    background: #111111;

    transition: width 0.25s ease;
}

.category-nav a:hover::after {
    width: 100%;
}
/* =====================================================
   XXLSIZE - FIXED HEADER
   BLACK HEADER + CATEGORY BAR STAY TOGETHER
===================================================== */

html,
body {
    margin: 0 !important;
    padding: 0 !important;
}


/* FIX THE COMPLETE HEADER */

.site-header {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;

    width: 100% !important;

    z-index: 99999 !important;

    margin: 0 !important;
    padding: 0 !important;

    background: #111111;
}


/* MAIN BLACK HEADER */

.site-header .header-container {
    min-height: 82px;

    padding: 0 6%;

    display: flex;
    align-items: center;
    justify-content: space-between;

    background: #111111;
}


/* WHITE CATEGORY BAR */

.site-header .category-nav {
    min-height: 64px;

    display: flex;
    align-items: center;
    justify-content: center;

    gap: 54px;

    margin: 0;
    padding: 0;

    background: #ffffff;

    border-top: 1px solid #222222;
    border-bottom: 1px solid #dddddd;
}


/* CATEGORY LINKS */

.site-header .category-nav a {
    color: #111111;

    text-decoration: none;

    font-size: 13px;
    font-weight: 600;

    letter-spacing: 2px;

    white-space: nowrap;
}


/* =====================================================
   IMPORTANT
   CONTENT STARTS BELOW FIXED HEADER
===================================================== */

body {
    padding-top: 146px !important;
}


/* =====================================================
   REMOVE OLD STICKY CATEGORY NAVIGATION
===================================================== */

.home-category-nav,
.sticky-category-nav {
    position: static !important;
    top: auto !important;
    z-index: auto !important;
}


/* =====================================================
   MOBILE
===================================================== */

@media (max-width: 768px) {

    .site-header .header-container {
        min-height: 70px;
        padding: 0 20px;
    }

    .site-header .category-nav {
        min-height: 55px;

        justify-content: flex-start;

        gap: 28px;

        padding: 0 20px;

        overflow-x: auto;

        white-space: nowrap;

        scrollbar-width: none;
    }

    .site-header .category-nav::-webkit-scrollbar {
        display: none;
    }

    .site-header .category-nav a {
        font-size: 11px;
        letter-spacing: 1.5px;
        flex-shrink: 0;
    }

    body {
        padding-top: 125px !important;
    }

}

/* =====================================================
   GLOBAL HEADER
===================================================== */

.site-header {
    width: 100%;
    background: #111;
    position: relative;
    z-index: 1000;
}


/* MAIN HEADER */

.header-container {
    width: 100%;
    max-width: 1400px;
    height: 92px;
    margin: 0 auto;

    padding: 0 40px;

    display: flex;
    align-items: center;
    justify-content: space-between;
}


/* LOGO */

.site-logo {
    color: #fff;
    text-decoration: none;

    font-size: 34px;
    font-weight: 700;

    letter-spacing: 8px;

    white-space: nowrap;
}


/* MAIN NAVIGATION */

.main-nav {
    display: flex;
    align-items: center;
    gap: 38px;
}

.main-nav a {
    color: #fff;
    text-decoration: none;

    font-size: 16px;
    font-weight: 500;

    transition: opacity 0.25s ease;
}

.main-nav a:hover {
    opacity: 0.6;
}


/* HEADER ACTIONS */

.header-actions {
    display: flex;
    align-items: center;
    gap: 24px;
}

.header-icon,
.cart-link {
    color: #fff;
    text-decoration: none;

    display: flex;
    align-items: center;
    justify-content: center;
}

.header-icon {
    font-size: 20px;
}

.cart-link {
    gap: 8px;
    font-size: 15px;
    font-weight: 500;
}


/* CART COUNT */

.cart-count {
    min-width: 20px;
    height: 20px;

    display: flex;
    align-items: center;
    justify-content: center;

    background: #fff;
    color: #111;

    border-radius: 50%;

    font-size: 11px;
    font-weight: 700;
}


/* =====================================================
   CATEGORY NAVIGATION
===================================================== */

.category-nav {
    width: 100%;

    background: #fff;

    border-top: 1px solid #222;
    border-bottom: 1px solid #ddd;
}


/* CATEGORY NAV INNER */

.category-nav-container {
    max-width: 1200px;
    height: 66px;

    margin: 0 auto;
    padding: 0 25px;

    display: flex;
    align-items: center;
    justify-content: center;

    gap: 58px;
}


/* CATEGORY LINKS */

.category-nav a {
    position: relative;

    color: #111;
    text-decoration: none;

    font-size: 13px;
    font-weight: 600;

    letter-spacing: 2px;

    white-space: nowrap;

    transition: color 0.25s ease;
}


/* HOVER */

.category-nav a:hover {
    color: #777;
}


/* UNDERLINE EFFECT */

.category-nav a::after {
    content: "";

    position: absolute;

    left: 0;
    bottom: -8px;

    width: 0;
    height: 1px;

    background: #111;

    transition: width 0.25s ease;
}

.category-nav a:hover::after {
    width: 100%;
}


/* =====================================================
   STICKY HEADER
===================================================== */

.site-header {
    position: sticky;
    top: 0;
}


/* =====================================================
   MOBILE
===================================================== */

@media (max-width: 900px) {

    .header-container {
        height: 75px;
        padding: 0 20px;
    }

    .site-logo {
        font-size: 25px;
        letter-spacing: 5px;
    }

    .main-nav {
        display: none;
    }

    .header-actions {
        gap: 16px;
    }

    .category-nav {
        overflow-x: auto;
    }

    .category-nav-container {
        justify-content: flex-start;
        gap: 32px;

        width: max-content;
        min-width: 100%;
        height: 58px;
    }

    .category-nav a {
        font-size: 12px;
        letter-spacing: 1.5px;
    }

}


/* =====================================================
   SMALL MOBILE
===================================================== */

@media (max-width: 600px) {

    .header-container {
        padding: 0 15px;
    }

    .site-logo {
        font-size: 22px;
    }

    .header-actions {
        gap: 13px;
    }

    .cart-link span:not(.cart-count) {
        display: none;
    }

}

/* =========================================================
   XXLSIZE FOOTER
========================================================= */

.site-footer {

    background: #111;

    color: #fff;

    margin-top: 80px;

}


/* =========================
   FOOTER MAIN
========================= */

.footer-container {

    width: 90%;

    max-width: 1400px;

    margin: auto;

    padding: 70px 0 60px;

    display: grid;

    grid-template-columns:
        1.7fr
        1fr
        1fr
        1fr
        .7fr;

    gap: 45px;

}


/* =========================
   BRAND
========================= */

.footer-logo {

    display: inline-block;

    color: #fff;

    text-decoration: none;

    font-size: 28px;

    font-weight: 700;

    letter-spacing: 3px;

    margin-bottom: 18px;

}


.footer-brand p {

    max-width: 300px;

    color: #aaa;

    font-size: 14px;

    line-height: 1.8;

    margin: 0;

}


/* =========================
   COLUMNS
========================= */

.footer-column {

    display: flex;

    flex-direction: column;

    align-items: flex-start;

}


.footer-column h4 {

    margin: 0 0 22px;

    font-size: 12px;

    letter-spacing: 2px;

    font-weight: 600;

    color: #fff;

}


.footer-column a {

    color: #aaa;

    text-decoration: none;

    font-size: 13px;

    margin-bottom: 13px;

    transition: color .25s ease;

}


.footer-column a:hover {

    color: #fff;

}


/* =========================
   SOCIAL
========================= */

.footer-social-links {

    display: flex;

    gap: 12px;

}


.footer-social-links a {

    width: 40px;

    height: 40px;

    border: 1px solid #444;

    display: flex;

    align-items: center;

    justify-content: center;

    margin: 0;

    color: #fff;

    transition: all .25s ease;

}


.footer-social-links a:hover {

    background: #fff;

    color: #111;

    border-color: #fff;

}


/* =========================
   FOOTER BOTTOM
========================= */

.footer-bottom {

    border-top: 1px solid #2b2b2b;

}


.footer-bottom-container {

    width: 90%;

    max-width: 1400px;

    margin: auto;

    min-height: 65px;

    display: flex;

    align-items: center;

    justify-content: space-between;

    gap: 20px;

}


.footer-bottom p {

    margin: 0;

    color: #777;

    font-size: 12px;

}


/* =========================
   TABLET
========================= */

@media (max-width: 992px) {

    .footer-container {

        grid-template-columns:
            1.5fr
            1fr
            1fr;

        gap: 45px;

    }

}


/* =========================
   MOBILE
========================= */

@media (max-width: 600px) {

    .site-footer {

        margin-top: 50px;

    }


    .footer-container {

        width: 88%;

        grid-template-columns: 1fr 1fr;

        padding: 50px 0 40px;

        gap: 40px 25px;

    }


    .footer-brand {

        grid-column: 1 / -1;

    }


    .footer-social {

        grid-column: 1 / -1;

    }


    .footer-bottom-container {

        width: 88%;

        padding: 18px 0;

        flex-direction: column;

        align-items: flex-start;

        gap: 8px;

    }

}


/* =========================
   SMALL MOBILE
========================= */

@media (max-width: 400px) {

    .footer-container {

        grid-template-columns: 1fr;

    }


    .footer-brand,
    .footer-social {

        grid-column: auto;

    }

}

/* =========================================================
   XXLSIZE - PREMIUM BLACK FOOTER
========================================================= */

.site-footer {
    width: 100%;
    background: #000;
    color: #fff;
    margin-top: 0;
    padding: 0;
    border-top: 1px solid #222;
}

/* MAIN FOOTER AREA */

.footer-container {
    max-width: 1400px;
    margin: 0 auto;
    padding: 70px 50px;
    
    display: grid;
    grid-template-columns: 2fr 1fr 1fr 1fr 1fr;
    gap: 50px;
    
    box-sizing: border-box;
}

/* BRAND */

.footer-brand {
    max-width: 320px;
}

.footer-logo {
    display: inline-block;
    
    color: #fff;
    text-decoration: none;
    
    font-size: 28px;
    font-weight: 700;
    letter-spacing: 4px;
    
    margin-bottom: 20px;
}

.footer-brand p {
    margin: 0;
    
    color: #aaa;
    
    font-size: 14px;
    line-height: 1.8;
}

/* FOOTER COLUMNS */

.footer-column {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

.footer-column h4 {
    margin: 0 0 22px 0;
    
    color: #fff;
    
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 2px;
}

/* FOOTER LINKS */

.footer-column a {
    display: inline-block;
    
    color: #999;
    text-decoration: none;
    
    font-size: 13px;
    line-height: 1.8;
    
    margin-bottom: 10px;
    
    transition: color 0.25s ease;
}

.footer-column a:hover {
    color: #fff;
}

/* SOCIAL */

.footer-social-links {
    display: flex;
    align-items: center;
    gap: 12px;
}

.footer-social-links a {
    width: 42px;
    height: 42px;
    
    display: flex;
    align-items: center;
    justify-content: center;
    
    border: 1px solid #333;
    
    color: #fff;
    
    font-size: 15px;
    
    margin: 0;
    
    transition:
        background 0.25s ease,
        border-color 0.25s ease,
        color 0.25s ease;
}

.footer-social-links a:hover {
    background: #fff;
    border-color: #fff;
    color: #000;
}

/* BOTTOM AREA */

.footer-bottom {
    width: 100%;
    
    border-top: 1px solid #222;
    
    background: #000;
}

.footer-bottom-container {
    max-width: 1400px;
    margin: 0 auto;
    
    padding: 22px 50px;
    
    display: flex;
    align-items: center;
    justify-content: space-between;
    
    box-sizing: border-box;
}

.footer-bottom p {
    margin: 0;
    
    color: #777;
    
    font-size: 11px;
    line-height: 1.6;
}

/* =========================================================
   TABLET
========================================================= */

@media (max-width: 1000px) {

    .footer-container {
        grid-template-columns: repeat(3, 1fr);
        gap: 45px 30px;
        padding: 60px 35px;
    }

    .footer-brand {
        grid-column: 1 / -1;
        max-width: 500px;
    }

    .footer-bottom-container {
        padding: 20px 35px;
    }

}

/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 650px) {

    .footer-container {
        grid-template-columns: 1fr 1fr;
        gap: 40px 25px;
        padding: 50px 25px;
    }

    .footer-brand {
        grid-column: 1 / -1;
    }

    .footer-column {
        width: 100%;
    }

    .footer-bottom-container {
        padding: 20px 25px;
        
        flex-direction: column;
        align-items: flex-start;
        gap: 8px;
    }

}

/* =========================================================
   SMALL MOBILE
========================================================= */

@media (max-width: 400px) {

    .footer-container {
        grid-template-columns: 1fr;
        padding: 45px 20px;
    }

    .footer-brand {
        grid-column: auto;
    }

    .footer-bottom-container {
        padding: 18px 20px;
    }

}
/* =========================================
   HOMEPAGE PRODUCT CARDS
========================================= */

.product-card {
    display: block;
    position: relative;
    text-decoration: none;
    color: #111;
    background: #fff;
    overflow: hidden;
    cursor: pointer;
}

.product-card:hover {
    color: #111;
}


/* PRODUCT IMAGE */

.product-card .product-image {
    position: relative;
    width: 100%;
    aspect-ratio: 4 / 5;
    overflow: hidden;
    background: #f5f5f5;
}


.product-card .product-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform .5s ease;
}


.product-card:hover .product-image img {
    transform: scale(1.04);
}


/* WISHLIST */

.product-card .wishlist {
    position: absolute;
    top: 15px;
    right: 15px;

    width: 40px;
    height: 40px;

    display: flex;
    align-items: center;
    justify-content: center;

    border: 0;
    border-radius: 50%;

    background: rgba(255,255,255,.95);
    color: #111;

    font-size: 18px;

    cursor: pointer;

    z-index: 5;

    transition:
        background .25s ease,
        color .25s ease,
        transform .25s ease;
}


.product-card .wishlist:hover {
    background: #111;
    color: #fff;
    transform: scale(1.05);
}


/* PRODUCT INFORMATION */

.product-card .product-info {
    padding: 16px 2px 5px;
}


.product-card .product-info h3 {
    margin: 0 0 9px;

    font-size: 15px;
    line-height: 1.4;
    font-weight: 500;

    color: #111;
}


/* PRICES */

.product-prices {
    display: flex;
    align-items: center;
    gap: 9px;
    flex-wrap: wrap;
}


.original-price {
    color: #888;
    font-size: 13px;
    text-decoration: line-through;
}


.sale-price {
    color: #111;
    font-size: 15px;
    font-weight: 600;
}


/* MOBILE */

@media (max-width: 600px) {

    .product-card .product-info {
        padding-top: 12px;
    }

    .product-card .product-info h3 {
        font-size: 14px;
    }

    .product-card .wishlist {
        width: 36px;
        height: 36px;
        top: 10px;
        right: 10px;
        font-size: 16px;
    }

    .original-price {
        font-size: 12px;
    }

    .sale-price {
        font-size: 14px;
    }

}

/* PRICES */

.product-prices {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}

.original-price,
.sale-price {
    font-size: 14px;
    line-height: 1.4;
}

.original-price {
    color: #888;
    text-decoration: line-through;
    font-weight: 400;
}

.sale-price {
    color: #111;
    font-weight: 500;
}

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

.product-card {
    position: relative;
    display: block;
    color: inherit;
    text-decoration: none;
}

.product-card:hover {
    color: inherit;
    text-decoration: none;
}


/* PRODUCT IMAGE */

.product-image {
    position: relative;
    overflow: hidden;
}


/* WISHLIST BUTTON */

.product-card .wishlist {
    position: absolute;
    top: 14px;
    right: 14px;

    width: 42px;
    height: 42px;

    display: flex;
    align-items: center;
    justify-content: center;

    padding: 0;

    border: 1px solid #e5e5e5;
    border-radius: 50%;

    background: #fff;
    color: #111;

    font-size: 17px;

    cursor: pointer;

    z-index: 20;

    transition: all 0.25s ease;
}


/* HOVER */

.product-card .wishlist:hover {
    background: #111;
    color: #fff;
    border-color: #111;

    transform: scale(1.06);
}


/* ACTIVE / WISHLISTED */

.product-card .wishlist.active {
    background: #111;
    color: #fff;
    border-color: #111;
}


/* PRODUCT NAME */

.product-card .product-info h3 {
    font-size: 14px;
    font-weight: 500;
    line-height: 1.4;

    color: #111;

    margin: 10px 0 6px;
}


/* PRICES */

.product-prices {
    display: flex;
    align-items: center;
    gap: 8px;

    margin-top: 4px;
}

.product-prices .original-price,
.product-prices .sale-price {
    font-size: 13px;
    line-height: 1.4;
}

.product-prices .original-price {
    color: #888;
    font-weight: 400;
    text-decoration: line-through;
}

.product-prices .sale-price {
    color: #111;
    font-weight: 500;
}


/* MOBILE */

@media (max-width: 600px) {

    .product-card .wishlist {
        width: 38px;
        height: 38px;

        top: 10px;
        right: 10px;

        font-size: 15px;
    }

    .product-card .product-info h3 {
        font-size: 13px;
    }

    .product-prices .original-price,
    .product-prices .sale-price {
        font-size: 13px;
    }
}

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

.product-card .wishlist {
    position: absolute;
    top: 14px;
    right: 14px;

    width: 40px;
    height: 40px;

    border: 1px solid #111;
    border-radius: 50%;

    background: #fff;
    color: #111;

    display: flex;
    align-items: center;
    justify-content: center;

    padding: 0;
    margin: 0;

    font-size: 17px;
    line-height: 1;

    cursor: pointer;

    z-index: 10;

    transition: all 0.25s ease;
}

.product-card .wishlist i {
    font-size: 17px;
    color: #111;
    pointer-events: none;
}

.product-card .wishlist:hover {
    background: #111;
    color: #fff;
}

.product-card .wishlist:hover i {
    color: #fff;
}

/* =====================================================
   XXLSIZE — MODERN CATEGORY SECTION
===================================================== */

.categories {
    padding: 110px 0;
    background: #fff;
}


/* HEADING */

.categories .section-title {
    max-width: 720px;
    margin: 0 auto 55px;
    text-align: center;
}

.categories .section-title span {
    display: block;
    margin-bottom: 14px;

    font-size: 11px;
    font-weight: 700;
    letter-spacing: 4px;
    color: #777;
}

.categories .section-title h2 {
    margin: 0;

    font-size: clamp(36px, 5vw, 62px);
    line-height: .95;

    font-weight: 600;
    letter-spacing: -2px;

    color: #111;
}

.categories .section-title p {
    max-width: 560px;
    margin: 20px auto 0;

    font-size: 14px;
    line-height: 1.7;

    color: #777;
}


/* GRID */

.category-grid {
    display: grid;

    grid-template-columns: repeat(2, 1fr);

    gap: 14px;
}


/* CATEGORY CARD */

.category-card {
    position: relative;

    display: block;

    height: 520px;

    overflow: hidden;

    text-decoration: none;

    background: #111;
}


/* IMAGE */

.category-card img {
    width: 100%;
    height: 100%;

    display: block;

    object-fit: cover;

    transition:
        transform .7s cubic-bezier(.2,.7,.2,1),
        filter .5s ease;
}


/* DARK OVERLAY */

.category-overlay {
    position: absolute;

    inset: 0;

    display: flex;
    align-items: flex-end;

    padding: 38px;

    background:
        linear-gradient(
            to top,
            rgba(0,0,0,.82) 0%,
            rgba(0,0,0,.35) 45%,
            rgba(0,0,0,0) 75%
        );

    transition: background .4s ease;
}


/* CONTENT */

.category-content {
    color: #fff;
}


/* NUMBER */

.category-number {
    display: block;

    margin-bottom: 12px;

    font-size: 11px;
    font-weight: 600;

    letter-spacing: 3px;

    opacity: .7;
}


/* TITLE */

.category-content h3 {
    margin: 0 0 18px;

    font-size: clamp(28px, 4vw, 48px);

    font-weight: 600;

    letter-spacing: -1px;

    color: #fff;
}


/* SHOP LINK */

.category-link {
    display: inline-flex;

    align-items: center;

    gap: 10px;

    padding-bottom: 7px;

    border-bottom: 1px solid rgba(255,255,255,.7);

    color: #fff;

    font-size: 11px;

    font-weight: 600;

    letter-spacing: 2px;

    transition: gap .3s ease;
}


/* ARROW */

.category-link i {
    font-size: 10px;

    transition: transform .3s ease;
}


/* HOVER */

.category-card:hover img {
    transform: scale(1.07);

    filter: grayscale(100%);
}

.category-card:hover .category-overlay {
    background:
        linear-gradient(
            to top,
            rgba(0,0,0,.9) 0%,
            rgba(0,0,0,.45) 55%,
            rgba(0,0,0,.08) 100%
        );
}

.category-card:hover .category-link {
    gap: 16px;
}

.category-card:hover .category-link i {
    transform: translateX(4px);
}


/* VIEW ALL */

.categories .view-all {
    margin-top: 38px;

    text-align: center;
}

.categories .view-all a {
    display: inline-flex;

    align-items: center;

    gap: 12px;

    color: #111;

    font-size: 11px;

    font-weight: 700;

    letter-spacing: 2px;

    text-decoration: none;

    border-bottom: 1px solid #111;

    padding-bottom: 7px;

    transition: gap .3s ease;
}

.categories .view-all a:hover {
    gap: 18px;
}


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

@media (max-width: 768px) {

    .categories {
        padding: 75px 0;
    }

    .categories .section-title {
        margin-bottom: 35px;
    }

    .category-grid {
        grid-template-columns: 1fr;
        gap: 10px;
    }

    .category-card {
        height: 430px;
    }

    .category-overlay {
        padding: 28px;
    }

}


@media (max-width: 480px) {

    .category-card {
        height: 360px;
    }

    .category-overlay {
        padding: 22px;
    }

    .category-content h3 {
        font-size: 30px;
    }

}

/* =========================================================
   XXLSIZE — MODERN BLACK & WHITE CATEGORY SECTION
   ========================================================= */

.categories {
    padding: 110px 0;
    background: #ffffff;
    color: #111111;
}


/* ---------------------------------------------------------
   SECTION HEADING
--------------------------------------------------------- */

.categories .section-title {
    max-width: 720px;
    margin: 0 auto 55px;
    text-align: center;
}

.categories .section-title span {
    display: block;
    margin-bottom: 14px;

    font-size: 11px;
    font-weight: 700;
    letter-spacing: 4px;
    color: #777777;
}

.categories .section-title h2 {
    margin: 0;

    font-size: clamp(38px, 5vw, 64px);
    line-height: .95;

    font-weight: 600;
    letter-spacing: -2.5px;

    color: #111111;
}

.categories .section-title p {
    max-width: 550px;

    margin: 20px auto 0;

    font-size: 14px;
    line-height: 1.7;

    color: #777777;
}


/* ---------------------------------------------------------
   CATEGORY GRID
--------------------------------------------------------- */

.category-grid {
    display: grid;

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

    gap: 14px;
}


/* ---------------------------------------------------------
   CATEGORY CARD
--------------------------------------------------------- */

.category-card {
    position: relative;

    display: block;

    width: 100%;
    height: 520px;

    overflow: hidden;

    background: #111111;

    text-decoration: none;

    isolation: isolate;
}


/* ---------------------------------------------------------
   IMAGE
--------------------------------------------------------- */

.category-card img {
    position: absolute;

    inset: 0;

    width: 100%;
    height: 100%;

    object-fit: cover;

    display: block;

    transition:
        transform .8s cubic-bezier(.2,.7,.2,1),
        filter .5s ease;
}


/* ---------------------------------------------------------
   DARK GRADIENT
--------------------------------------------------------- */

.category-card::after {
    content: "";

    position: absolute;

    inset: 0;

    z-index: 1;

    background:
        linear-gradient(
            to top,
            rgba(0,0,0,.88) 0%,
            rgba(0,0,0,.45) 42%,
            rgba(0,0,0,.05) 75%,
            rgba(0,0,0,0) 100%
        );

    transition: background .4s ease;
}


/* ---------------------------------------------------------
   CARD CONTENT
--------------------------------------------------------- */

.category-card .overlay {
    position: absolute;

    inset: 0;

    z-index: 2;

    display: flex;

    flex-direction: column;

    justify-content: flex-end;

    align-items: flex-start;

    padding: 38px;

    color: #ffffff;
}


/* NUMBER */

.category-card .overlay > span {
    margin-bottom: 12px;

    font-size: 11px;

    font-weight: 600;

    letter-spacing: 3px;

    color: rgba(255,255,255,.65);
}


/* CATEGORY TITLE */

.category-card .overlay h3 {
    margin: 0 0 18px;

    font-size: clamp(30px, 4vw, 52px);

    line-height: .95;

    font-weight: 600;

    letter-spacing: -1.5px;

    color: #ffffff;
}


/* EXPLORE TEXT */

.category-card .overlay p {
    display: inline-flex;

    align-items: center;

    gap: 10px;

    margin: 0;

    padding-bottom: 7px;

    border-bottom: 1px solid rgba(255,255,255,.75);

    font-size: 10px;

    font-weight: 700;

    letter-spacing: 2px;

    color: #ffffff;

    transition:
        gap .3s ease,
        border-color .3s ease;
}


/* ADD ARROW */

.category-card .overlay p::after {
    content: "→";

    font-size: 14px;

    line-height: 1;

    transition: transform .3s ease;
}


/* ---------------------------------------------------------
   HOVER
--------------------------------------------------------- */

.category-card:hover img {
    transform: scale(1.07);

    filter: grayscale(100%);
}


.category-card:hover::after {
    background:
        linear-gradient(
            to top,
            rgba(0,0,0,.95) 0%,
            rgba(0,0,0,.55) 45%,
            rgba(0,0,0,.12) 80%,
            rgba(0,0,0,.02) 100%
        );
}


.category-card:hover .overlay p {
    gap: 17px;

    border-color: #ffffff;
}


.category-card:hover .overlay p::after {
    transform: translateX(4px);
}


/* ---------------------------------------------------------
   VIEW ALL
--------------------------------------------------------- */

.categories .view-all {
    margin-top: 38px;

    text-align: center;
}


.categories .view-all a {
    display: inline-flex;

    align-items: center;

    gap: 12px;

    padding-bottom: 8px;

    border-bottom: 1px solid #111111;

    color: #111111;

    font-size: 10px;

    font-weight: 700;

    letter-spacing: 2px;

    text-decoration: none;

    transition: gap .3s ease;
}


.categories .view-all a:hover {
    gap: 18px;
}


.categories .view-all a span {
    font-size: 15px;

    line-height: 1;
}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 768px) {

    .categories {
        padding: 75px 0;
    }


    .categories .section-title {
        margin-bottom: 35px;
    }


    .categories .section-title h2 {
        letter-spacing: -1.5px;
    }


    .category-grid {
        grid-template-columns: 1fr;

        gap: 10px;
    }


    .category-card {
        height: 430px;
    }


    .category-card .overlay {
        padding: 28px;
    }

}


/* =========================================================
   SMALL MOBILE
   ========================================================= */

@media (max-width: 480px) {

    .categories {
        padding: 60px 0;
    }


    .category-card {
        height: 360px;
    }


    .category-card .overlay {
        padding: 22px;
    }


    .category-card .overlay h3 {
        font-size: 32px;
    }

}

/* =========================================
   TRUST BADGES — HORIZONTAL
========================================= */

.trust-badges {
    width: 100%;
    background: #fff;
    border-top: 1px solid #e5e5e5;
    border-bottom: 1px solid #e5e5e5;
}

.trust-badges .container {
    max-width: 1400px;
    margin: 0 auto;
    padding: 0;
}

.trust-grid {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    width: 100%;
}

.trust-item {
    min-height: 110px;
    display: flex !important;
    flex-direction: row !important;
    align-items: center;
    justify-content: center;
    gap: 18px;
    padding: 25px 35px;
    position: relative;
    background: #fff;
    box-sizing: border-box;
}

.trust-item:not(:last-child)::after {
    content: "";
    position: absolute;
    right: 0;
    top: 25%;
    width: 1px;
    height: 50%;
    background: #dcdcdc;
}

.trust-icon {
    width: 42px;
    height: 42px;
    min-width: 42px;
    display: flex !important;
    align-items: center;
    justify-content: center;
    border: 1px solid #111;
    color: #111;
    font-size: 15px;
    box-sizing: border-box;
}

.trust-content {
    text-align: left;
}

.trust-content h4 {
    margin: 0 0 6px;
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 1.2px;
    color: #111;
}

.trust-content p {
    margin: 0;
    font-size: 10px;
    font-weight: 500;
    letter-spacing: 1.2px;
    color: #777;
}


/* HOVER */

.trust-item:hover {
    background: #fafafa;
}

.trust-item:hover .trust-icon {
    background: #111;
    color: #fff;
}


/* =========================================
   TABLET
========================================= */

@media (max-width: 768px) {

    .trust-grid {
        grid-template-columns: 1fr !important;
    }

    .trust-item {
        min-height: 85px;
        justify-content: flex-start;
        padding: 20px 25px;
    }

    .trust-item:not(:last-child)::after {
        display: none;
    }

    .trust-item:not(:last-child) {
        border-bottom: 1px solid #e5e5e5;
    }

}
/* =====================================================
   TRUST BADGES - HORIZONTAL LAYOUT
===================================================== */

.features {
    width: 100%;
    background: #fff;
    padding: 32px 0;
}

.features .feature-grid {
    width: 100%;
    max-width: 1400px;
    margin: 0 auto;

    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;

    gap: 0 !important;
}

.features .feature-box {
    width: auto !important;
    min-width: 0 !important;
    margin: 0 !important;

    display: flex;
    align-items: center;
    justify-content: center;

    padding: 18px 30px;

    border: 0;
    border-right: 1px solid #dcdcdc;

    background: #fff;
    box-shadow: none;
    border-radius: 0;
}

.features .feature-box:last-child {
    border-right: none;
}

.features .feature-icon {
    width: 28px;
    height: 28px;
    flex-shrink: 0;
    margin-right: 18px;
}

.features .feature-box h4 {
    margin: 0 0 5px;
    font-size: 15px;
    font-weight: 600;
    letter-spacing: 1px;
    color: #111;
}

.features .feature-box p {
    margin: 0;
    font-size: 11px;
    letter-spacing: 1px;
    color: #777;
}


/* =====================================================
   MOBILE
===================================================== */

@media (max-width: 768px) {

    .features .feature-grid {
        grid-template-columns: 1fr !important;
    }

    .features .feature-box {
        justify-content: flex-start;
        border-right: none;
        border-bottom: 1px solid #ddd;
        padding: 20px;
    }

    .features .feature-box:last-child {
        border-bottom: none;
    }

}

/* Sticky product image on desktop */
@media (min-width: 992px) {
    .product-image,
    .product-gallery,
    .product-images,
    .single-product-image {
        position: sticky !important;
        top: 100px !important;
        align-self: flex-start !important;
    }
}

/* =========================================================
   XXLSIZE — MODERN PRODUCT PAGE
   PRODUCT PAGE ONLY
========================================================= */

/* ---------- PRODUCT PAGE ---------- */

.product-page {
    padding: 45px 0 90px;
    background: #fff;
}

.product-wrapper {
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr);
    gap: 70px;
    align-items: start;
}




/* ---------- MAIN IMAGE ---------- */

.main-image {
    position: relative;
    width: 100%;
    height: min(720px, 70vh);
    min-height: 560px;
    overflow: hidden;

    border-radius: 20px;
    border: 1px solid #e9e9e9;
    background: #f6f6f6;

    box-shadow:
        0 12px 40px rgba(0,0,0,.06);

    isolation: isolate;
}

.main-image img {
    width: 100%;
    height: 100%;
    display: block;

    object-fit: cover;

    transition:
        transform .7s cubic-bezier(.2,.7,.2,1),
        opacity .3s ease;
}

.main-image:hover img {
    transform: scale(1.035);
}


/* =========================================
   PRODUCT PAGE - STICKY PRODUCT IMAGE
========================================= */

@media (min-width: 992px) {

    .product-wrapper {
        align-items: start !important;
    }

    .product-gallery {
        position: sticky !important;
        top: 110px !important;
        align-self: start !important;
        height: fit-content !important;
    }

}

/* ---------- WISHLIST ---------- */

.image-wishlist {
    position: absolute !important;
    top: 20px;
    right: 20px;

    width: 48px;
    height: 48px;

    display: flex;
    align-items: center;
    justify-content: center;

    padding: 0 !important;

    border: 1px solid rgba(0,0,0,.08) !important;
    border-radius: 50% !important;

    background: rgba(255,255,255,.95) !important;
    color: #111 !important;

    font-size: 18px !important;

    z-index: 10;

    box-shadow: 0 8px 25px rgba(0,0,0,.10);

    transition:
        transform .3s ease,
        background .3s ease,
        color .3s ease;
}

.image-wishlist:hover {
    background: #111 !important;
    color: #fff !important;
    transform: scale(1.08);
}


/* ---------- THUMBNAILS ---------- */

.thumb-images {
    display: flex;
    gap: 12px;

    margin-top: 16px;

    overflow-x: auto;
    scrollbar-width: none;
}

.thumb-images::-webkit-scrollbar {
    display: none;
}

.thumb-images img {
    width: 78px;
    height: 92px;

    flex: 0 0 78px;

    object-fit: cover;

    border-radius: 10px;
    border: 1px solid #e5e5e5;

    opacity: .65;

    cursor: pointer;

    transition:
        opacity .25s ease,
        border-color .25s ease,
        transform .25s ease;
}

.thumb-images img:hover {
    opacity: 1;
    transform: translateY(-2px);
}

.thumb-images img.active {
    opacity: 1;
    border: 2px solid #111;
}


/* =========================================================
   PRODUCT INFORMATION
========================================================= */

.product-details {
    padding: 8px 0 0;
}

.product-details h1 {
    margin: 0 0 14px;

    font-size: clamp(34px, 3.2vw, 52px);
    line-height: 1.05;

    font-weight: 700;
    letter-spacing: -1.5px;

    color: #111;
}


/* ---------- RATING ---------- */

.product-rating {
    display: flex;
    align-items: center;
    gap: 8px;

    margin-bottom: 22px;

    font-size: 14px;
    letter-spacing: 1px;
    color: #111;
}

.product-rating span {
    color: #777;
    font-size: 13px;
    letter-spacing: 0;
}


/* ---------- PRICE ---------- */

.product-price {
    display: flex;
    align-items: baseline;
    gap: 12px;

    margin-bottom: 18px;
}

.product-price .sale-price {
    font-size: 30px;
    font-weight: 700;
    letter-spacing: -.5px;
    color: #111;
}

.product-price .old-price {
    font-size: 17px;
    color: #999;
}


/* ---------- STOCK ---------- */

.stock-status {
    display: inline-flex;
    align-items: center;

    padding: 7px 12px;
    margin-bottom: 28px;

    border-radius: 30px;

    background: #f1f8f3;
    color: #16803c;

    font-size: 12px;
    font-weight: 600;
}


/* ---------- SIZE ---------- */

.size-selector {
    margin-top: 25px;
}

.size-selector label {
    display: block;

    margin-bottom: 12px;

    font-size: 13px;
    font-weight: 700;

    color: #111;

    text-transform: uppercase;
    letter-spacing: .8px;
}

.size-buttons {
    display: flex;
    flex-wrap: wrap;
    gap: 9px;
}

.size-buttons button {
    min-width: 52px;
    height: 46px;

    padding: 0 16px;

    border: 1px solid #dcdcdc !important;
    border-radius: 8px !important;

    background: #fff !important;
    color: #111 !important;

    font-size: 13px !important;
    font-weight: 600;

    transition:
        background .25s ease,
        color .25s ease,
        border-color .25s ease,
        transform .25s ease;
}

.size-buttons button:hover {
    border-color: #111 !important;
    transform: translateY(-2px);
}

.size-buttons button.active,
.size-buttons button.selected {
    background: #111 !important;
    border-color: #111 !important;
    color: #fff !important;
}


/* ---------- SKU ---------- */

.product-sku {
    margin-top: 22px;

    color: #888;

    font-size: 12px;
    letter-spacing: .3px;
}

.product-sku span {
    color: #111;
    font-weight: 600;
}


/* =========================================================
   QUANTITY
========================================================= */

.qty-box {
    margin: 28px 0 22px;
}

.qty-box label {
    margin-bottom: 11px;

    font-size: 13px;
    font-weight: 700;

    text-transform: uppercase;
    letter-spacing: .8px;
}

.qty-selector {
    display: inline-flex;
    align-items: center;

    height: 48px;

    border: 1px solid #ddd;
    border-radius: 10px;

    overflow: hidden;
}

.qty-selector button {
    width: 48px;
    height: 48px;

    padding: 0 !important;

    border-radius: 0 !important;

    background: #111 !important;
    color: #fff !important;

    font-size: 18px !important;

    transition: background .2s ease;
}

.qty-selector button:hover {
    background: #333 !important;
}

.qty-selector input {
    width: 58px;
    height: 48px;

    border: 0 !important;
    outline: 0;

    text-align: center;

    font-size: 15px;
    font-weight: 600;

    background: #fff;
}


/* =========================================================
   PRODUCT ACTION BUTTONS
========================================================= */

.product-buttons {
    display: grid;

    grid-template-columns: 1fr 1fr 1fr;

    gap: 10px;

    width: 100%;

    margin-top: 24px;
}

.product-buttons .buy-btn,
.product-buttons .cart-btn,
.product-buttons .whatsapp-btn {
    height: 54px;

    display: flex;
    align-items: center;
    justify-content: center;

    gap: 8px;

    border-radius: 10px !important;

    font-size: 13px !important;
    font-weight: 700;

    letter-spacing: .2px;

    transition:
        transform .25s ease,
        box-shadow .25s ease,
        background .25s ease;
}

.product-buttons .buy-btn:hover,
.product-buttons .cart-btn:hover,
.product-buttons .whatsapp-btn:hover {
    transform: translateY(-3px);

    box-shadow: 0 10px 25px rgba(0,0,0,.12);
}


/* =========================================================
   TRUST BADGES
========================================================= */

.trust-badges {
    display: grid;

    grid-template-columns: 1fr 1fr;

    gap: 10px;

    margin-top: 14px;
}

.trust-item {
    display: flex;
    align-items: center;

    gap: 13px;

    min-height: 70px;

    padding: 13px 15px;

    border: 1px solid #ededed;
    border-radius: 12px;

    background: #fff;

    transition:
        transform .25s ease,
        border-color .25s ease,
        box-shadow .25s ease;
}

.trust-item:hover {
    transform: translateY(-3px);

    border-color: #d7d7d7;

    box-shadow: 0 8px 25px rgba(0,0,0,.05);
}

.trust-item > i {
    width: 34px;
    height: 34px;

    display: flex;
    align-items: center;
    justify-content: center;

    flex-shrink: 0;

    border-radius: 50%;

    background: #f5f5f5;
    color: #111;

    font-size: 13px;
}

.trust-content h6 {
    margin: 0 0 3px;

    font-size: 11px;
    font-weight: 700;

    color: #111;
}

.trust-content p {
    margin: 0;

    font-size: 10px;

    color: #888;
}


/* =========================================================
   PRODUCT TABS
========================================================= */

.product-tabs {
    display: grid;

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

    gap: 8px;

    margin: 28px 0 14px;
}

.product-tabs .tab-btn {
    min-width: 0;
    height: 50px;

    padding: 0 10px !important;

    border: 1px solid #ddd !important;
    border-radius: 9px !important;

    background: #fff !important;
    color: #111 !important;

    font-size: 11px !important;
    font-weight: 700 !important;

    transition:
        background .25s ease,
        color .25s ease,
        border-color .25s ease;
}

.product-tabs .tab-btn:hover,
.product-tabs .tab-btn.active {
    background: #111 !important;
    color: #fff !important;
    border-color: #111 !important;
}

.tab-content {
    margin-top: 0;

    padding: 25px;

    border: 1px solid #ededed;

    border-radius: 13px;

    background: #fafafa;

    box-shadow: none;

    color: #555;

    font-size: 13px;
    line-height: 1.9;
}


/* =========================================================
   SHARE PRODUCT
========================================================= */

.share-product {
    margin-top: 35px;
}

.share-product h5 {
    font-size: 13px;
    font-weight: 700;
}

.share-product a,
.share-product button {
    width: 42px;
    height: 42px;

    border: 1px solid #e5e5e5 !important;

    background: #fff !important;
    color: #111 !important;

    transition:
        transform .25s ease,
        background .25s ease,
        color .25s ease;
}

.share-product a:hover,
.share-product button:hover {
    background: #111 !important;
    color: #fff !important;

    transform: translateY(-3px);
}


/* =========================================================
   PRODUCT PAGE ANIMATIONS
========================================================= */

.product-details > * {
    animation: productFadeUp .6s ease both;
}

.product-details > *:nth-child(2) {
    animation-delay: .05s;
}

.product-details > *:nth-child(3) {
    animation-delay: .1s;
}

.product-details > *:nth-child(4) {
    animation-delay: .15s;
}

@keyframes productFadeUp {
    from {
        opacity: 0;
        transform: translateY(12px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 991px) {

    .product-page {
        padding: 30px 0 60px;
    }

    .product-wrapper {
        grid-template-columns: 1fr;
        gap: 35px;
    }

    .product-gallery {
        position: relative;
        top: auto;
        max-width: 100%;
    }

    .main-image {
        height: auto;
        min-height: 0;
        aspect-ratio: 1 / 1.15;
    }

    .product-details {
        padding: 0;
    }

    .product-details h1 {
        font-size: 34px;
    }

    .product-buttons {
        grid-template-columns: 1fr 1fr;
    }

    .product-buttons .whatsapp-btn {
        grid-column: 1 / -1;
    }

    .product-tabs {
        grid-template-columns: repeat(2, 1fr);
    }
}


/* =========================================================
   SMALL MOBILE
========================================================= */

@media (max-width: 600px) {

    .product-page {
        padding-top: 20px;
    }

    .product-wrapper {
        gap: 28px;
    }

    .main-image {
        border-radius: 14px;
    }

    .image-wishlist {
        width: 42px;
        height: 42px;

        top: 12px;
        right: 12px;
    }

    .thumb-images {
        gap: 8px;
    }

    .thumb-images img {
        width: 65px;
        height: 78px;

        flex-basis: 65px;

        border-radius: 8px;
    }

    .product-details h1 {
        font-size: 29px;
        letter-spacing: -1px;
    }

    .product-price .sale-price {
        font-size: 27px;
    }

    .trust-badges {
        grid-template-columns: 1fr;
    }

    .product-tabs {
        grid-template-columns: 1fr 1fr;
    }

    .product-tabs .tab-btn {
        height: 46px;
        font-size: 10px !important;
    }

    .tab-content {
        padding: 20px;
    }

    .product-buttons {
        gap: 8px;
    }

    .product-buttons .buy-btn,
    .product-buttons .cart-btn,
    .product-buttons .whatsapp-btn {
        height: 50px;
        font-size: 12px !important;
    }
}


/* Disable sticky on tablet/mobile */
@media (max-width: 991px) {

    .product-gallery {
        position: relative !important;
        top: auto !important;
    }
}

/* =========================================
   MY ORDERS
========================================= */

.my-orders-page {
    padding: 80px 20px;
    background: #fff;
    min-height: 70vh;
}

.my-orders-header {
    margin-bottom: 45px;
}

.my-orders-header span {
    font-size: 11px;
    letter-spacing: 3px;
    font-weight: 600;
}

.my-orders-header h1 {
    margin: 10px 0;
    font-size: 38px;
    font-weight: 500;
}

.my-orders-header p {
    color: #777;
}

.orders-list {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.customer-order-card {
    border: 1px solid #e5e5e5;
    padding: 25px;
    background: #fff;
}

.order-card-top {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 20px;
}

.order-label {
    font-size: 10px;
    letter-spacing: 2px;
    color: #777;
}

.order-card-top h3 {
    margin: 6px 0 0;
    font-size: 17px;
}

.order-status {
    border: 1px solid #111;
    padding: 8px 14px;
    font-size: 12px;
    text-transform: uppercase;
}

.order-card-details {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
    border-top: 1px solid #eee;
    border-bottom: 1px solid #eee;
    margin: 22px 0;
    padding: 20px 0;
}

.order-card-details span {
    display: block;
    font-size: 11px;
    color: #777;
    margin-bottom: 6px;
}

.order-card-details strong {
    font-size: 14px;
}

.order-card-actions {
    display: flex;
    justify-content: flex-end;
}

.track-order-btn {
    display: inline-block;
    background: #111;
    color: #fff;
    padding: 12px 22px;
    text-decoration: none;
    font-size: 12px;
}

.no-orders {
    text-align: center;
    padding: 70px 20px;
    border: 1px solid #eee;
}

.no-orders h2 {
    font-weight: 500;
}

.no-orders p {
    color: #777;
    margin-bottom: 25px;
}

.no-orders a {
    display: inline-block;
    background: #111;
    color: #fff;
    padding: 12px 25px;
    text-decoration: none;
}

@media (max-width: 768px) {

    .my-orders-page {
        padding: 50px 15px;
    }

    .my-orders-header h1 {
        font-size: 30px;
    }

    .order-card-top {
        align-items: flex-start;
        flex-direction: column;
    }

    .order-card-details {
        grid-template-columns: 1fr;
        gap: 15px;
    }

    .order-card-actions {
        justify-content: stretch;
    }

    .track-order-btn {
        width: 100%;
        text-align: center;
    }

}

/* =========================================
   ORDER TRACKING
========================================= */

.track-order-page {
    padding: 80px 20px;
    background: #fff;
    min-height: 70vh;
}

.track-order-header {
    margin-bottom: 40px;
}

.track-order-header span {
    font-size: 10px;
    letter-spacing: 3px;
    font-weight: 600;
}

.track-order-header h1 {
    margin: 10px 0 5px;
    font-size: 38px;
    font-weight: 500;
}

.track-order-header p {
    color: #777;
    margin: 0;
}

.tracking-order-summary {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    border: 1px solid #e5e5e5;
    margin-bottom: 30px;
}

.tracking-order-summary > div {
    padding: 22px;
    border-right: 1px solid #e5e5e5;
}

.tracking-order-summary > div:last-child {
    border-right: none;
}

.tracking-order-summary span {
    display: block;
    font-size: 11px;
    color: #777;
    margin-bottom: 7px;
}

.tracking-order-summary strong {
    font-size: 15px;
}

.order-tracking-box {
    border: 1px solid #e5e5e5;
    padding: 35px;
}

.order-tracking-box h2,
.tracking-products h2,
.tracking-delivery h2 {
    font-size: 20px;
    font-weight: 500;
    margin: 0 0 30px;
}

.order-timeline {
    max-width: 700px;
}

.tracking-step {
    position: relative;
    display: flex;
    gap: 20px;
    min-height: 80px;
}

.tracking-step:not(:last-child)::after {
    content: "";
    position: absolute;
    left: 16px;
    top: 36px;
    width: 2px;
    height: 45px;
    background: #ddd;
}

.tracking-step.completed::after {
    background: #111;
}

.tracking-marker {
    position: relative;
    z-index: 2;
    width: 34px;
    height: 34px;
    min-width: 34px;
    border: 1px solid #ccc;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #fff;
    font-size: 13px;
}

.tracking-step.completed .tracking-marker {
    background: #111;
    color: #fff;
    border-color: #111;
}

.tracking-step.active .tracking-marker {
    background: #111;
    color: #fff;
    border-color: #111;
    box-shadow: 0 0 0 5px #eee;
}

.tracking-content {
    padding-top: 7px;
}

.tracking-content strong {
    display: block;
    font-size: 14px;
}

.tracking-content span {
    display: block;
    margin-top: 4px;
    font-size: 11px;
    color: #777;
}

.tracking-products {
    border: 1px solid #e5e5e5;
    padding: 35px;
    margin-top: 30px;
}

.tracking-product {
    display: flex;
    justify-content: space-between;
    gap: 20px;
    padding: 20px 0;
    border-top: 1px solid #eee;
}

.tracking-product-info strong {
    display: block;
    font-size: 14px;
    margin-bottom: 8px;
}

.tracking-product-info span {
    display: block;
    font-size: 12px;
    color: #777;
    margin-top: 3px;
}

.tracking-product-price {
    font-weight: 600;
    white-space: nowrap;
}

.tracking-delivery {
    border: 1px solid #e5e5e5;
    padding: 35px;
    margin-top: 30px;
}

.tracking-delivery p {
    color: #555;
    line-height: 1.7;
    margin: 0;
}

.tracking-special-status {
    border: 1px solid #111;
    padding: 20px;
    margin-top: 30px;
}

.tracking-special-status strong {
    text-transform: uppercase;
    font-size: 13px;
}

.tracking-special-status p {
    margin: 7px 0 0;
    color: #666;
}

.tracking-back {
    margin-top: 30px;
}

.tracking-back a {
    color: #111;
    text-decoration: none;
    font-size: 13px;
}


/* MOBILE */

@media (max-width: 768px) {

    .track-order-page {
        padding: 50px 15px;
    }

    .track-order-header h1 {
        font-size: 30px;
    }

    .tracking-order-summary {
        grid-template-columns: 1fr;
    }

    .tracking-order-summary > div {
        border-right: none;
        border-bottom: 1px solid #e5e5e5;
    }

    .tracking-order-summary > div:last-child {
        border-bottom: none;
    }

    .order-tracking-box,
    .tracking-products,
    .tracking-delivery {
        padding: 22px;
    }

}

/* =========================================
   CUSTOMER ACCOUNT DROPDOWN
========================================= */

.customer-account {
    position: relative;
    display: flex;
    align-items: center;
}

.account-trigger {
    border: none;
    background: none;
    cursor: pointer;
    padding: 0;
}

.account-dropdown {
    position: absolute;
    top: calc(100% + 14px);
    right: 0;
    width: 180px;
    background: #fff;
    border: 1px solid #e5e5e5;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.10);
    padding: 8px 0;
    z-index: 9999;

    opacity: 0;
    visibility: hidden;
    transform: translateY(-8px);

    transition:
        opacity 0.2s ease,
        visibility 0.2s ease,
        transform 0.2s ease;
}

.customer-account:hover .account-dropdown {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.account-dropdown a {
    display: block;
    padding: 12px 18px;
    color: #111;
    text-decoration: none;
    font-size: 14px;
    transition: background 0.2s ease;
}

.account-dropdown a:hover {
    background: #f5f5f5;
}

/* =====================================================
   XXLSIZE HEADER FIX
===================================================== */

.site-header {
    width: 100%;
}

.header-container {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    max-width: 1400px;
    margin: 0 auto;
    padding: 0 40px;
    box-sizing: border-box;
}

.site-logo {
    flex-shrink: 0;
}

.main-nav {
    display: flex;
    align-items: center;
    gap: 35px;
    white-space: nowrap;
}

.header-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 24px;
    white-space: nowrap;
    flex-shrink: 0;
}

.header-icon,
.header-account,
.cart-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    white-space: nowrap;
}

.header-account {
    gap: 7px;
}

.cart-link {
    gap: 7px;
    position: relative;
}

.header-icon i,
.header-account i,
.cart-link i {
    font-size: 20px;
}

.cart-count {
    position: absolute;
    top: -9px;
    right: -10px;
    min-width: 17px;
    height: 17px;
    padding: 0 4px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 10px;
    line-height: 1;
}


/* =====================================================
   CATEGORY NAV
===================================================== */

.category-nav {
    width: 100%;
}

.category-nav-container {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 65px;
    width: 100%;
    white-space: nowrap;
}


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

@media (max-width: 1100px) {

    .header-container {
        padding: 0 25px;
    }

    .main-nav {
        gap: 20px;
    }

    .header-actions {
        gap: 16px;
    }

    .category-nav-container {
        gap: 35px;
    }

}


@media (max-width: 900px) {

    .header-container {
        padding: 0 18px;
    }

    .main-nav {
        gap: 15px;
    }

    .main-nav a {
        font-size: 14px;
    }

    .header-actions {
        gap: 13px;
    }

    .header-account span,
    .cart-link span {
        display: none;
    }

    .category-nav-container {
        gap: 25px;
        overflow-x: auto;
        justify-content: flex-start;
        padding: 0 20px;
    }

}

/* =========================================================
   MY ORDERS PAGE
========================================================= */

.my-orders-page {
    min-height: calc(100vh - 150px);
    background: #f6f6f6;
    padding: 70px 20px 100px;
}

.my-orders-page .container {
    max-width: 1200px;
    margin: 0 auto;
}


/* =========================
   PAGE HEADER
========================= */

.my-orders-header {
    margin-bottom: 45px;
}

.my-orders-header span {
    display: block;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 3px;
    color: #777;
    margin-bottom: 12px;
}

.my-orders-header h1 {
    margin: 0;
    font-size: 48px;
    line-height: 1.1;
    font-weight: 600;
    letter-spacing: -1px;
    color: #111;
}

.my-orders-header p {
    margin: 15px 0 0;
    font-size: 16px;
    color: #666;
}


/* =========================
   ORDERS LIST
========================= */

.orders-list {
    display: flex;
    flex-direction: column;
    gap: 20px;
}


/* =========================
   ORDER CARD
========================= */

.customer-order-card {
    background: #fff;
    border: 1px solid #e7e7e7;
    padding: 28px 30px;
    transition: all 0.25s ease;
}

.customer-order-card:hover {
    border-color: #111;
    transform: translateY(-2px);
    box-shadow: 0 12px 35px rgba(0, 0, 0, 0.07);
}


/* =========================
   CARD TOP
========================= */

.order-card-top {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    padding-bottom: 22px;
    border-bottom: 1px solid #ededed;
}

.order-label {
    display: block;
    font-size: 11px;
    letter-spacing: 2px;
    color: #888;
    margin-bottom: 6px;
}

.order-card-top h3 {
    margin: 0;
    font-size: 17px;
    font-weight: 600;
    color: #111;
}


/* =========================
   ORDER STATUS
========================= */

.order-status {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    padding: 8px 14px;

    background: #f2f2f2;
    color: #111;

    font-size: 12px;
    font-weight: 600;

    text-transform: uppercase;
    letter-spacing: 0.7px;
}


/* =========================
   ORDER DETAILS
========================= */

.order-card-details {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;

    padding: 25px 0;
}

.order-card-details > div {
    display: flex;
    flex-direction: column;
    gap: 7px;
}

.order-card-details span {
    font-size: 12px;
    color: #888;
    text-transform: uppercase;
    letter-spacing: 1px;
}

.order-card-details strong {
    font-size: 15px;
    color: #111;
    font-weight: 600;
}


/* =========================
   PAYMENT STATUS
========================= */

.order-card-details > div:nth-child(2) strong {
    text-transform: capitalize;
}


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

.order-card-actions {
    padding-top: 20px;
    border-top: 1px solid #ededed;
}

.track-order-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    min-width: 140px;
    height: 44px;

    padding: 0 22px;

    background: #111;
    color: #fff;

    text-decoration: none;

    font-size: 13px;
    font-weight: 600;
    letter-spacing: 0.5px;

    transition: all 0.25s ease;
}

.track-order-btn:hover {
    background: #333;
    transform: translateY(-1px);
}


/* =========================
   NO ORDERS
========================= */

.no-orders {
    background: #fff;
    border: 1px solid #e5e5e5;

    padding: 80px 30px;

    text-align: center;
}

.no-orders h2 {
    margin: 0 0 12px;

    font-size: 28px;
    font-weight: 600;
    color: #111;
}

.no-orders p {
    margin: 0 0 30px;

    font-size: 15px;
    color: #777;
}

.no-orders a {
    display: inline-flex;

    padding: 13px 25px;

    background: #111;
    color: #fff;

    text-decoration: none;

    font-size: 13px;
    font-weight: 600;

    transition: 0.25s ease;
}

.no-orders a:hover {
    background: #333;
}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 768px) {

    .my-orders-page {
        padding: 45px 15px 70px;
    }

    .my-orders-header {
        margin-bottom: 30px;
    }

    .my-orders-header h1 {
        font-size: 36px;
    }

    .my-orders-header p {
        font-size: 14px;
    }

    .customer-order-card {
        padding: 22px 20px;
    }

    .order-card-top {
        gap: 15px;
    }

    .order-card-top h3 {
        font-size: 14px;
        word-break: break-word;
    }

    .order-status {
        font-size: 10px;
        padding: 7px 10px;
        white-space: nowrap;
    }

    .order-card-details {
        grid-template-columns: 1fr;
        gap: 18px;
        padding: 22px 0;
    }

    .track-order-btn {
        width: 100%;
    }
}
/* =====================================================
   XXLSIZE LOGIN POPUP
===================================================== */

.login-popup-overlay {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.65);
    display: none;
    align-items: center;
    justify-content: center;
    z-index: 99999;
    padding: 20px;
    backdrop-filter: blur(5px);
}

.login-popup-overlay.active {
    display: flex;
}

.login-popup {
    width: 100%;
    max-width: 460px;
    background: #fff;
    color: #111;
    position: relative;
    padding: 50px 45px;
    box-shadow: 0 25px 80px rgba(0,0,0,.25);
    animation: loginPopupShow .3s ease;
}

@keyframes loginPopupShow {

    from {
        opacity: 0;
        transform: translateY(25px) scale(.97);
    }

    to {
        opacity: 1;
        transform: translateY(0) scale(1);
    }

}

.login-popup-close {
    position: absolute;
    top: 15px;
    right: 18px;

    width: 35px;
    height: 35px;

    border: 0;
    background: transparent;

    font-size: 30px;
    line-height: 1;

    cursor: pointer;
    color: #111;
}

.login-popup-close:hover {
    opacity: .5;
}

.login-popup-content {
    text-align: center;
}

.login-popup-label {
    display: block;

    font-size: 11px;
    font-weight: 700;

    letter-spacing: 3px;
    margin-bottom: 15px;
}

.login-popup-content h2 {
    margin: 0 0 15px;

    font-size: 34px;
    font-weight: 600;

    letter-spacing: -1px;
}

.login-popup-content p {
    margin: 0 auto 30px;

    max-width: 350px;

    color: #666;
    font-size: 14px;
    line-height: 1.7;
}

.login-popup-btn {
    display: block;

    width: 100%;

    padding: 15px;

    background: #111;
    color: #fff;

    text-decoration: none;

    text-transform: uppercase;

    font-size: 13px;
    font-weight: 700;

    letter-spacing: 1px;

    transition: .2s ease;
}

.login-popup-btn:hover {
    background: #333;
}

.login-popup-register {
    display: block;

    margin-top: 18px;

    color: #111;

    font-size: 13px;
    font-weight: 600;

    text-decoration: underline;
    text-underline-offset: 4px;
}

body.login-popup-open {
    overflow: hidden;
}


/* MOBILE */

@media (max-width: 600px) {

    .login-popup {
        padding: 40px 25px;
    }

    .login-popup-content h2 {
        font-size: 28px;
    }

}

/* =====================================================
   LOGIN POPUP
===================================================== */

.login-popup {
    position: fixed;
    inset: 0;
    z-index: 99999;
    display: none;
}

.login-popup.active {
    display: flex;
    align-items: center;
    justify-content: center;
}

.login-popup-overlay {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.72);
    backdrop-filter: blur(5px);
}

.login-popup-box {
    position: relative;
    z-index: 2;
    width: min(500px, calc(100% - 30px));
    background: #fff;
    color: #111;
    padding: 50px;
    box-shadow: 0 25px 80px rgba(0, 0, 0, 0.35);
    animation: loginPopupShow 0.25s ease;
}

@keyframes loginPopupShow {

    from {
        opacity: 0;
        transform: translateY(20px) scale(0.97);
    }

    to {
        opacity: 1;
        transform: translateY(0) scale(1);
    }

}

.login-popup-close {
    position: absolute;
    top: 15px;
    right: 15px;

    width: 38px;
    height: 38px;

    border: 1px solid #111;
    background: #fff;
    color: #111;

    font-size: 24px;
    line-height: 1;

    cursor: pointer;

    transition: 0.2s ease;
}

.login-popup-close:hover {
    background: #111;
    color: #fff;
}

.login-popup-label {
    display: block;
    margin-bottom: 12px;

    font-size: 12px;
    letter-spacing: 3px;
    text-transform: uppercase;
}

.login-popup-content h2 {
    margin: 0 0 15px;

    font-size: 38px;
    line-height: 1.1;
    font-weight: 600;
}

.login-popup-content p {
    margin: 0 0 30px;

    color: #555;
    font-size: 15px;
    line-height: 1.7;
}

.login-popup-actions {
    display: flex;
    gap: 12px;
}

.login-popup-actions a {
    flex: 1;

    padding: 15px 20px;

    text-align: center;
    text-decoration: none;

    font-size: 14px;
    font-weight: 600;

    transition: 0.2s ease;
}

.login-popup-login {
    background: #111;
    color: #fff;
    border: 1px solid #111;
}

.login-popup-login:hover {
    background: #fff;
    color: #111;
}

.login-popup-register {
    background: #fff;
    color: #111;
    border: 1px solid #111;
}

.login-popup-register:hover {
    background: #111;
    color: #fff;
}

body.login-popup-open {
    overflow: hidden;
}


/* MOBILE */

@media (max-width: 600px) {

    .login-popup-box {
        padding: 40px 25px;
    }

    .login-popup-content h2 {
        font-size: 30px;
    }

    .login-popup-actions {
        flex-direction: column;
    }

}

/* =====================================================
   XXLSIZE LOGIN POPUP
===================================================== */

.login-popup {
    position: fixed !important;
    inset: 0 !important;
    width: 100%;
    height: 100%;
    z-index: 999999 !important;

    display: none;

    align-items: center;
    justify-content: center;
}

.login-popup.active {
    display: flex !important;
}

.login-popup-overlay {
    position: absolute;
    inset: 0;

    width: 100%;
    height: 100%;

    background: rgba(0, 0, 0, 0.75);
    backdrop-filter: blur(5px);
}

.login-popup-box {
    position: relative;
    z-index: 2;

    width: 500px;
    max-width: calc(100% - 30px);

    background: #ffffff;
    color: #111111;

    padding: 50px;

    box-sizing: border-box;

    box-shadow: 0 25px 80px rgba(0, 0, 0, 0.35);
}

.login-popup-close {
    position: absolute;

    top: 15px;
    right: 15px;

    width: 38px;
    height: 38px;

    border: 1px solid #111;
    background: #fff;
    color: #111;

    font-size: 24px;
    line-height: 1;

    cursor: pointer;
}

.login-popup-close:hover {
    background: #111;
    color: #fff;
}

.login-popup-label {
    display: block;

    margin-bottom: 12px;

    font-size: 12px;
    letter-spacing: 3px;
    text-transform: uppercase;
}

.login-popup-content h2 {
    margin: 0 0 15px;

    font-size: 38px;
    line-height: 1.1;
    font-weight: 600;
}

.login-popup-content p {
    margin: 0 0 30px;

    color: #555;

    font-size: 15px;
    line-height: 1.7;
}

.login-popup-actions {
    display: flex;
    gap: 12px;
}

.login-popup-actions a {
    flex: 1;

    display: block;

    padding: 15px 20px;

    text-align: center;
    text-decoration: none;

    font-size: 14px;
    font-weight: 600;

    box-sizing: border-box;
}

.login-popup-login {
    background: #111;
    color: #fff;

    border: 1px solid #111;
}

.login-popup-login:hover {
    background: #fff;
    color: #111;
}

.login-popup-register {
    background: #fff;
    color: #111;

    border: 1px solid #111;
}

.login-popup-register:hover {
    background: #111;
    color: #fff;
}

body.login-popup-open {
    overflow: hidden;
}


/* MOBILE */

@media (max-width: 600px) {

    .login-popup-box {
        padding: 40px 25px;
    }

    .login-popup-content h2 {
        font-size: 30px;
    }

    .login-popup-actions {
        flex-direction: column;
    }

}

/* =====================================================
   XXLSIZE LOGIN POPUP
===================================================== */

.login-popup {
    position: fixed;
    inset: 0;
    z-index: 99999;

    display: none;

    align-items: center;
    justify-content: center;
}

.login-popup.active {
    display: flex;
}

.login-popup-overlay {
    position: absolute;
    inset: 0;

    background: rgba(0, 0, 0, 0.65);
    backdrop-filter: blur(5px);
}

.login-popup-box {
    position: relative;
    z-index: 2;

    width: min(500px, calc(100% - 40px));

    background: #fff;
    color: #111;

    padding: 50px;

    box-shadow: 0 25px 80px rgba(0,0,0,.25);
}

.login-popup-close {
    position: absolute;

    top: 15px;
    right: 18px;

    width: 35px;
    height: 35px;

    border: 0;
    background: transparent;

    font-size: 28px;
    cursor: pointer;
}

.login-popup-label {
    display: block;

    margin-bottom: 12px;

    font-size: 12px;
    letter-spacing: 3px;
    text-transform: uppercase;
}

.login-popup-content h2 {
    margin: 0 0 15px;

    font-size: 38px;
    font-weight: 500;
}

.login-popup-content p {
    margin-bottom: 30px;

    font-size: 15px;
    line-height: 1.7;
    color: #555;
}

.login-popup-actions {
    display: flex;
    gap: 12px;
}

.login-popup-actions a {
    flex: 1;

    padding: 15px 20px;

    text-align: center;
    text-decoration: none;

    font-size: 14px;
    font-weight: 600;
}

.login-popup-login {
    background: #111;
    color: #fff;
}

.login-popup-register {
    background: #fff;
    color: #111;

    border: 1px solid #111;
}

.login-popup-login:hover {
    background: #333;
}

.login-popup-register:hover {
    background: #111;
    color: #fff;
}

body.login-popup-open {
    overflow: hidden;
}


/* MOBILE */

@media (max-width: 600px) {

    .login-popup-box {
        padding: 35px 25px;
    }

    .login-popup-content h2 {
        font-size: 30px;
    }

    .login-popup-actions {
        flex-direction: column;
    }

}

/* =====================================================
   XXLSIZE LOGIN POPUP
===================================================== */

.login-popup {
    position: fixed;
    inset: 0;
    width: 100%;
    height: 100%;
    z-index: 99999;

    display: none;
    align-items: center;
    justify-content: center;

    padding: 20px;
    box-sizing: border-box;
}

.login-popup.active {
    display: flex;
}


/* DARK BACKGROUND */

.login-popup-overlay {
    position: absolute;
    inset: 0;

    background: rgba(0, 0, 0, 0.72);
    backdrop-filter: blur(5px);
}


/* POPUP BOX */

.login-popup-box {
    position: relative;
    z-index: 2;

    width: 100%;
    max-width: 460px;

    background: #fff;
    color: #111;

    padding: 50px 45px;

    box-sizing: border-box;

    box-shadow: 0 25px 80px rgba(0,0,0,.35);

    animation: loginPopupShow .25s ease;
}


/* CLOSE BUTTON */

.login-popup-close {
    position: absolute;
    top: 15px;
    right: 18px;

    width: 36px;
    height: 36px;

    border: 0;
    background: transparent;

    color: #111;

    font-size: 28px;
    line-height: 1;

    cursor: pointer;
}

.login-popup-close:hover {
    opacity: .5;
}


/* CONTENT */

.login-popup-content {
    text-align: center;
}

.login-popup-label {
    display: block;

    margin-bottom: 15px;

    font-size: 10px;
    font-weight: 700;

    letter-spacing: 3px;

    color: #777;
}

.login-popup-content h2 {
    margin: 0 0 15px;

    font-size: 34px;
    font-weight: 600;

    letter-spacing: -1px;
}

.login-popup-content p {
    margin: 0 auto 30px;

    max-width: 360px;

    font-size: 14px;
    line-height: 1.7;

    color: #666;
}


/* BUTTONS */

.login-popup-actions {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.login-popup-login,
.login-popup-register {
    display: flex;

    align-items: center;
    justify-content: center;

    width: 100%;
    min-height: 50px;

    box-sizing: border-box;

    text-decoration: none;

    font-size: 13px;
    font-weight: 700;

    letter-spacing: 1px;
    text-transform: uppercase;

    transition: .2s ease;
}


/* LOGIN */

.login-popup-login {
    background: #111;
    color: #fff;
    border: 1px solid #111;
}

.login-popup-login:hover {
    background: #fff;
    color: #111;
}


/* REGISTER */

.login-popup-register {
    background: #fff;
    color: #111;
    border: 1px solid #111;
}

.login-popup-register:hover {
    background: #111;
    color: #fff;
}


/* PREVENT PAGE SCROLL */

body.login-popup-open {
    overflow: hidden;
}


/* ANIMATION */

@keyframes loginPopupShow {

    from {
        opacity: 0;
        transform: translateY(15px) scale(.97);
    }

    to {
        opacity: 1;
        transform: translateY(0) scale(1);
    }

}


/* MOBILE */

@media (max-width: 500px) {

    .login-popup {
        padding: 15px;
    }

    .login-popup-box {
        padding: 45px 25px 30px;
    }

    .login-popup-content h2 {
        font-size: 28px;
    }

}

/* =========================
   SIZE CHART BUTTON
========================= */

.size-chart-btn {
    background: #fff;
    border: 1px solid #111;
    color: #111;
    padding: 8px 14px;
    font-size: 12px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    cursor: pointer;
    transition: all 0.2s ease;
}

.size-chart-btn:hover {
    background: #111;
    color: #fff;
}

/* =========================
   SIZE CHART POPUP
========================= */

.size-chart-modal {
    display: none;
    position: fixed;
    z-index: 99999;
    inset: 0;
    background: rgba(0, 0, 0, 0.65);
    align-items: center;
    justify-content: center;
    padding: 20px;
}

.size-chart-box {
    position: relative;
    width: 100%;
    max-width: 600px;
    max-height: 85vh;
    overflow-y: auto;
    background: #fff;
    padding: 30px;
    box-sizing: border-box;
}

.size-chart-box h3 {
    margin: 0 0 25px;
    font-size: 22px;
    text-transform: uppercase;
    letter-spacing: 1px;
}

.size-chart-box h4 {
    margin: 0 0 15px;
    font-size: 16px;
}

.size-chart-close {
    position: absolute;
    top: 12px;
    right: 15px;
    border: 0;
    background: transparent;
    color: #111;
    font-size: 30px;
    line-height: 1;
    cursor: pointer;
}

.size-chart-content {
    display: none;
}

.size-chart-content table {
    width: 100%;
    border-collapse: collapse;
}

.size-chart-content th,
.size-chart-content td {
    border: 1px solid #ddd;
    padding: 12px 10px;
    text-align: center;
    font-size: 14px;
}

.size-chart-content th {
    background: #111;
    color: #fff;
    font-weight: 600;
}

.size-chart-content td {
    background: #fff;
    color: #111;
}

@media (max-width: 600px) {

    .size-chart-box {
        padding: 25px 15px;
    }

    .size-chart-content th,
    .size-chart-content td {
        padding: 10px 6px;
        font-size: 12px;
    }

}

/* =========================================
   SIZE CHART BUTTON
========================================= */

.size-chart-btn {
    background: none;
    border: none;
    padding: 0;
    font-size: 14px;
    font-weight: 500;
    color: #1683b8;
    cursor: pointer;
    text-decoration: none;
}

.size-chart-btn:hover {
    text-decoration: underline;
}


/* =========================================
   SIZE CHART POPUP OVERLAY
========================================= */

.size-chart-modal {
    display: none;
    position: fixed;
    z-index: 99999;
    inset: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.55);

    align-items: center;
    justify-content: center;

    padding: 20px;
}


/* =========================================
   SIZE CHART CARD
========================================= */

.size-chart-box {
    position: relative;

    width: 100%;
    max-width: 650px;
    max-height: 85vh;

    background: #ffffff;

    padding: 30px;

    border-radius: 4px;

    box-shadow: 0 15px 50px rgba(0, 0, 0, 0.25);

    overflow-y: auto;
}


/* =========================================
   SIZE CHART TITLE
========================================= */

.size-chart-box h3 {
    margin: 0 0 25px;
    padding-bottom: 15px;

    font-size: 24px;
    font-weight: 600;

    color: #111;

    border-bottom: 1px solid #e5e5e5;
}

.size-chart-box h4 {
    margin: 0 0 15px;

    font-size: 17px;
    font-weight: 600;

    color: #111;
}


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

.size-chart-close {
    position: absolute;

    top: 15px;
    right: 15px;

    width: 35px;
    height: 35px;

    border: none;

    background: #f5f5f5;

    border-radius: 50%;

    font-size: 24px;
    line-height: 35px;

    color: #111;

    cursor: pointer;
}

.size-chart-close:hover {
    background: #111;
    color: #fff;
}


/* =========================================
   SIZE CHART CONTENT
========================================= */

.size-chart-content {
    width: 100%;
}


/* =========================================
   SIZE CHART TABLE
========================================= */

.size-chart-content table {
    width: 100%;

    border-collapse: collapse;

    margin-bottom: 25px;

    font-size: 14px;
}

.size-chart-content th {
    background: #111;
    color: #fff;

    font-weight: 500;

    padding: 13px 12px;

    text-align: center;

    border: 1px solid #111;
}

.size-chart-content td {
    padding: 12px;

    text-align: center;

    border: 1px solid #e1e1e1;

    color: #333;

    background: #fff;
}

.size-chart-content tbody tr:hover td {
    background: #f8f8f8;
}


/* =========================================
   MOBILE
========================================= */

@media (max-width: 600px) {

    .size-chart-modal {
        padding: 15px;
    }

    .size-chart-box {
        max-width: 100%;

        padding: 22px 15px;

        max-height: 90vh;
    }

    .size-chart-box h3 {
        font-size: 20px;

        margin-bottom: 20px;
    }

    .size-chart-box h4 {
        font-size: 16px;
    }

    .size-chart-content table {
        font-size: 13px;
    }

    .size-chart-content th,
    .size-chart-content td {
        padding: 10px 6px;
    }

    .size-chart-close {
        top: 10px;
        right: 10px;
    }

}

/* =========================================
   SIZE CHART BUTTON
========================================= */

.size-chart-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;

    margin: 14px auto 0;

    background: none;
    border: none;

    color: #168ac0;

    font-size: 14px;
    font-weight: 500;

    cursor: pointer;

    padding: 5px 10px;
}

.size-chart-btn:hover {
    text-decoration: underline;
}


/* =========================================
   SIZE CHART MODAL
========================================= */

.size-chart-modal {
    display: none;

    position: fixed;

    inset: 0;

    width: 100%;
    height: 100%;

    background: rgba(0, 0, 0, 0.55);

    z-index: 99999;

    align-items: center;
    justify-content: center;

    padding: 20px;
}


/* =========================================
   SIZE CHART CARD
========================================= */

.size-chart-box {
    position: relative;

    width: 100%;
    max-width: 600px;

    max-height: 85vh;

    overflow-y: auto;

    background: #ffffff;

    padding: 30px;

    border-radius: 8px;

    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.25);
}


/* TITLE */

.size-chart-box h3 {
    margin: 0 0 25px;

    text-align: center;

    font-size: 24px;

    font-weight: 600;

    color: #111;
}


/* SUB TITLE */

.size-chart-box h4 {
    margin: 0 0 15px;

    font-size: 18px;

    font-weight: 600;

    color: #111;
}


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

.size-chart-close {
    position: absolute;

    top: 12px;
    right: 15px;

    width: 35px;
    height: 35px;

    border: none;

    background: #111;

    color: #fff;

    border-radius: 50%;

    font-size: 22px;

    line-height: 35px;

    cursor: pointer;
}

.size-chart-close:hover {
    background: #333;
}


/* =========================================
   SIZE CHART TABLE
========================================= */

.size-chart-content {
    display: none;
}

.size-chart-content table {
    width: 100%;

    border-collapse: collapse;

    margin-bottom: 10px;
}

.size-chart-content th {
    background: #111;

    color: #fff;

    padding: 12px 10px;

    text-align: center;

    font-size: 14px;

    font-weight: 600;
}

.size-chart-content td {
    padding: 12px 10px;

    text-align: center;

    border-bottom: 1px solid #e5e5e5;

    font-size: 14px;

    color: #333;
}

.size-chart-content tbody tr:nth-child(even) {
    background: #f8f8f8;
}


/* =========================================
   MOBILE
========================================= */

@media (max-width: 576px) {

    .size-chart-modal {
        padding: 15px;
    }

    .size-chart-box {
        padding: 25px 18px;

        max-height: 90vh;
    }

    .size-chart-box h3 {
        font-size: 21px;
    }

    .size-chart-box h4 {
        font-size: 17px;
    }

    .size-chart-content th,
    .size-chart-content td {
        padding: 10px 6px;

        font-size: 13px;
    }

}

/* =========================================
   SIZE CHART BUTTON
========================================= */

.size-chart-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;

    margin: 14px auto 0;

    background: none;
    border: none;

    color: #168ac0;

    font-size: 14px;
    font-weight: 500;

    cursor: pointer;

    padding: 5px 10px;
}

.size-chart-btn:hover {
    text-decoration: underline;
}


/* =========================================
   SIZE CHART MODAL
========================================= */

.size-chart-modal {
    display: none;

    position: fixed;

    inset: 0;

    width: 100%;
    height: 100%;

    background: rgba(0, 0, 0, 0.55);

    z-index: 99999;

    align-items: center;
    justify-content: center;

    padding: 20px;
}


/* =========================================
   SIZE CHART BOX
========================================= */

.size-chart-box {
    position: relative;

    width: 100%;
    max-width: 600px;

    max-height: 85vh;

    overflow-y: auto;

    background: #ffffff;

    padding: 30px;

    border-radius: 8px;

    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.25);
}


/* =========================================
   SIZE CHART TITLE
========================================= */

.size-chart-box h2 {
    margin: 0 0 25px;

    text-align: center;

    font-size: 26px;
    font-weight: 600;

    color: #111;
}

.size-chart-box h3 {
    margin: 0 0 20px;

    text-align: center;

    font-size: 20px;
    font-weight: 600;

    color: #111;
}


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

.size-chart-close {
    position: absolute;

    top: 12px;
    right: 15px;

    width: 35px;
    height: 35px;

    border: none;

    background: #111;

    color: #fff;

    border-radius: 50%;

    font-size: 20px;

    line-height: 35px;

    cursor: pointer;

    display: flex;
    align-items: center;
    justify-content: center;
}

.size-chart-close:hover {
    background: #333;
}


/* =========================================
   SIZE CHART CONTENT
========================================= */

.size-chart-content {
    width: 100%;
}


/* =========================================
   SIZE CHART TABLE
========================================= */

.size-chart-table-wrapper {
    width: 100%;
    overflow-x: auto;
}

.size-chart-table {
    width: 100%;

    border-collapse: collapse;

    margin-bottom: 10px;

    font-size: 14px;
}

.size-chart-table th {
    background: #111;

    color: #fff;

    padding: 13px 12px;

    text-align: center;

    font-weight: 600;

    border: 1px solid #111;
}

.size-chart-table td {
    padding: 12px;

    text-align: center;

    border: 1px solid #e1e1e1;

    color: #333;

    background: #fff;
}

.size-chart-table tbody tr:hover td {
    background: #f8f8f8;
}


/* =========================================
   MOBILE SIZE CHART
========================================= */

@media (max-width: 600px) {

    .size-chart-modal {
        padding: 15px;
    }

    .size-chart-box {
        max-width: 100%;

        padding: 25px 15px;

        max-height: 90vh;
    }

    .size-chart-box h2 {
        font-size: 22px;
    }

    .size-chart-box h3 {
        font-size: 18px;
    }

    .size-chart-table {
        font-size: 13px;
    }

    .size-chart-table th,
    .size-chart-table td {
        padding: 10px 6px;
    }

    .size-chart-close {
        top: 10px;
        right: 10px;
    }

}

/* =========================================
   XXLSIZE - SIZE CHART BUTTON
========================================= */

.size-chart-btn {
    display: flex !important;
    align-items: center;
    justify-content: center;
    gap: 8px;

    margin-top: 14px;

    padding: 8px 14px;

    background: #fff !important;
    color: #111 !important;

    border: 1px solid #111 !important;
    border-radius: 6px;

    font-size: 13px;
    font-weight: 600;

    cursor: pointer;

    transition: all 0.2s ease;
}

.size-chart-btn:hover {
    background: #111 !important;
    color: #fff !important;
}


/* =========================================
   XXLSIZE - SIZE CHART MODAL
========================================= */

.size-chart-modal {
    display: none !important;

    position: fixed !important;
    inset: 0 !important;

    width: 100% !important;
    height: 100% !important;

    background: rgba(0, 0, 0, 0.65) !important;

    z-index: 99999 !important;

    align-items: center;
    justify-content: center;

    padding: 20px;

    box-sizing: border-box;
}

.size-chart-box {
    position: relative;

    width: 100%;
    max-width: 650px;

    max-height: 85vh;

    overflow-y: auto;

    background: #fff;

    padding: 30px;

    border-radius: 8px;

    box-sizing: border-box;

    box-shadow: 0 20px 60px rgba(0,0,0,0.25);
}

.size-chart-box h2 {
    margin: 0 0 25px;

    font-size: 24px;
    font-weight: 700;

    color: #111;
}

.size-chart-box h3 {
    margin: 0 0 18px;

    font-size: 18px;
    font-weight: 600;

    color: #111;
}

.size-chart-close {
    position: absolute;

    top: 12px;
    right: 15px;

    width: 35px;
    height: 35px;

    border: none;

    background: #111;
    color: #fff;

    border-radius: 50%;

    font-size: 20px;

    cursor: pointer;

    display: flex;
    align-items: center;
    justify-content: center;
}

.size-chart-close:hover {
    background: #333;
}

.size-chart-content {
    display: none;
}

.size-chart-content table {
    width: 100%;

    border-collapse: collapse;

    margin-bottom: 10px;
}

.size-chart-content th {
    background: #111;

    color: #fff;

    padding: 12px 10px;

    text-align: center;

    font-size: 14px;

    font-weight: 600;
}

.size-chart-content td {
    padding: 12px 10px;

    text-align: center;

    border-bottom: 1px solid #e5e5e5;

    font-size: 14px;

    color: #333;
}

.size-chart-content tbody tr:nth-child(even) {
    background: #f8f8f8;
}


/* MOBILE */

@media (max-width: 600px) {

    .size-chart-modal {
        padding: 15px !important;
    }

    .size-chart-box {
        max-width: 100%;

        padding: 25px 15px;

        max-height: 90vh;
    }

    .size-chart-box h2 {
        font-size: 21px;
    }

    .size-chart-box h3 {
        font-size: 17px;
    }

    .size-chart-content th,
    .size-chart-content td {
        padding: 10px 6px;

        font-size: 12px;
    }

}

/* =========================================================
   XXLSIZE - SNITCH STYLE PRODUCT IMAGE GALLERY
   Add this entire block at the VERY BOTTOM of style.css
   ========================================================= */

/* Product layout */
.product-wrapper {
    display: grid !important;
    grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr) !important;
    gap: 50px !important;
    align-items: start !important;
}

/* Product image gallery */
.product-gallery {
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: 0;
    position: relative;
    top: auto;
    align-self: start;
    max-width: none;
    height: auto;
    overflow: visible;
}

/* Individual image */
.gallery-image {
    position: relative;
    width: 100%;
    aspect-ratio: auto;
    overflow: hidden;
    background: #f7f7f7;
}
/* Product image */
.gallery-image img.product-gallery-image {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: contain;
    cursor: zoom-in;
    transition: transform 0.5s ease;
}
/* Image hover */
.gallery-image:hover img.product-gallery-image {
    transform: scale(1.025) !important;
}

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

.gallery-image .image-wishlist {
    position: absolute !important;
    top: 18px !important;
    right: 18px !important;

    width: 46px !important;
    height: 46px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    border: none !important;
    border-radius: 50% !important;

    background: rgba(255, 255, 255, 0.96) !important;
    color: #111 !important;

    font-size: 19px !important;

    cursor: pointer !important;

    z-index: 20 !important;

    box-shadow: 0 5px 18px rgba(0, 0, 0, 0.12) !important;

    transition:
        transform 0.25s ease,
        background 0.25s ease,
        color 0.25s ease !important;
}

/* Wishlist hover */
.gallery-image .image-wishlist:hover {
    background: #111 !important;
    color: #fff !important;
    transform: scale(1.06) !important;
}

/* Wishlist active */
.gallery-image .image-wishlist.active i {
    color: #e63946 !important;
}

/* =========================================================
   FULL SCREEN IMAGE VIEWER
   ========================================================= */

.image-lightbox {
    display: none !important;

    position: fixed !important;

    inset: 0 !important;

    width: 100vw !important;
    height: 100vh !important;

    background: #fff !important;

    align-items: center !important;
    justify-content: center !important;

    padding: 40px !important;

    z-index: 2147483647 !important;

    overflow: hidden !important;
}

/* Open lightbox */
.image-lightbox.active {
    display: flex !important;
}

/* Large image inside viewer */
.image-lightbox > img {
    width: auto !important;
    height: auto !important;

    max-width: 92vw !important;
    max-height: 92vh !important;

    object-fit: contain !important;

    display: block !important;

    margin: auto !important;

    border: none !important;
    border-radius: 0 !important;

    box-shadow: none !important;

    cursor: zoom-out !important;
}

/* Close button */
.image-lightbox .lightbox-close {
    position: fixed !important;

    top: 22px !important;
    right: 25px !important;

    width: 48px !important;
    height: 48px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    border: none !important;
    border-radius: 50% !important;

    background: #111 !important;
    color: #fff !important;

    font-size: 22px !important;

    cursor: pointer !important;

    z-index: 2147483647 !important;
}

/* Close button hover */
.image-lightbox .lightbox-close:hover {
    background: #333 !important;
}

/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 991px) {

    .product-wrapper {
        grid-template-columns: 1fr !important;
        gap: 30px !important;
    }

    .product-gallery {
        position: relative !important;
        top: auto !important;

        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;

        gap: 3px !important;

        width: 100% !important;
    }

    .gallery-image {
        aspect-ratio: auto !important;
    }
}

/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 576px) {

    .product-wrapper {
        gap: 20px !important;
    }

    .product-gallery {
        grid-template-columns: 1fr 1fr !important;
        gap: 2px !important;
    }

    .gallery-image {
       aspect-ratio: auto !important;
    }

    /* Mobile wishlist */
    .gallery-image .image-wishlist {
        width: 40px !important;
        height: 40px !important;

        top: 10px !important;
        right: 10px !important;

        font-size: 17px !important;
    }

    /* Mobile fullscreen viewer */
    .image-lightbox {
        padding: 15px !important;
    }

    .image-lightbox > img {
        max-width: 96vw !important;
        max-height: 88vh !important;
    }

    .image-lightbox .lightbox-close {
        width: 42px !important;
        height: 42px !important;

        top: 12px !important;
        right: 12px !important;

        font-size: 19px !important;
    }
}




/* =========================================================
   MOBILE - NO STICKY
   ========================================================= */

@media (max-width: 991px) {

    .product-wrapper {
        display: block !important;
    }

    .product-gallery {
        position: relative !important;
        top: auto !important;
    }

    .product-details {
        position: relative !important;
        top: auto !important;
        max-height: none !important;
        overflow: visible !important;
    }

}

/* =========================================================
   XXLSIZE PRODUCT PAGE
   RIGHT SIDE STICKY / LEFT SIDE SCROLL
   ========================================================= */

@media (min-width: 992px) {

    /* Main product layout */
    .product-wrapper {
        display: grid !important;
        grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr) !important;
        gap: 70px !important;
        align-items: start !important;
    }

    /* LEFT - Product images scroll normally */
    .product-gallery {
        position: relative !important;
        top: auto !important;
        height: auto !important;
        align-self: start !important;
        overflow: visible !important;
    }

    /* RIGHT - Product information stays sticky */
    .product-details {
        position: -webkit-sticky !important;
        position: sticky !important;
        top: 110px !important;
        align-self: start !important;
        height: fit-content !important;
        max-height: calc(100vh - 130px) !important;
        overflow-y: auto !important;
        overflow-x: hidden !important;
    }

    /* Scrollbar */
    .product-details::-webkit-scrollbar {
        width: 4px;
    }

    .product-details::-webkit-scrollbar-track {
        background: transparent;
    }

    .product-details::-webkit-scrollbar-thumb {
        background: #ccc;
        border-radius: 10px;
    }

}


/* =========================================================
   MOBILE - NO STICKY
   ========================================================= */

@media (max-width: 991px) {

    .product-wrapper {
        display: block !important;
    }

    .product-gallery {
        position: relative !important;
        top: auto !important;
    }

    .product-details {
        position: relative !important;
        top: auto !important;
        height: auto !important;
        max-height: none !important;
        overflow: visible !important;
    }

}

/* =========================================================
   XXLSIZE PRODUCT PAGE
   LEFT IMAGES SCROLL
   RIGHT PRODUCT DETAILS STICKY
   ========================================================= */

@media (min-width: 992px) {

    .product-page {
        overflow: visible !important;
    }

    .product-page > .container {
        overflow: visible !important;
    }

    .product-wrapper {
        display: grid !important;
        grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr) !important;
        gap: 50px !important;
        align-items: start !important;
        overflow: visible !important;
    }

    /* LEFT SIDE — images scroll normally */
    .product-gallery {
        position: relative !important;
        top: auto !important;
        height: auto !important;
        align-self: start !important;
        overflow: visible !important;
    }

    /* RIGHT SIDE — product information stays sticky */
    .product-details {
        position: -webkit-sticky !important;
        position: sticky !important;
        top: 110px !important;
        align-self: start !important;

        height: max-content !important;
        max-height: none !important;

        overflow: visible !important;
    }
}


/* =========================================================
   TABLET / MOBILE
   ========================================================= */

@media (max-width: 991px) {

    .product-wrapper {
        display: block !important;
    }

    .product-gallery {
        position: relative !important;
        top: auto !important;
    }

    .product-details {
        position: relative !important;
        top: auto !important;
        height: auto !important;
        max-height: none !important;
        overflow: visible !important;
    }

}
/* =========================================================
   XXLSIZE PRODUCT GALLERY
   2 COLUMN STYLE
   ========================================================= */

.product-wrapper {
    display: grid !important;
    grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr) !important;
    gap: 50px !important;
    align-items: start !important;
    overflow: visible !important;
}


/* PRODUCT IMAGES */

.product-gallery {
    width: 100% !important;

    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;

    gap: 4px !important;

    position: relative !important;
    top: auto !important;

    height: auto !important;

    overflow: visible !important;

    align-self: start !important;
}


/* EACH IMAGE */

.gallery-image {
    position: relative !important;

    width: 100% !important;

    aspect-ratio: 3 / 4 !important;

    overflow: hidden !important;

    background: #f7f7f7 !important;

    margin: 0 !important;
}


/* IMAGE ITSELF */

.gallery-image img,
.product-gallery-image {
    width: 100% !important;
    height: 100% !important;

    display: block !important;

    object-fit: cover !important;

    cursor: zoom-in !important;

    transition: transform 0.4s ease !important;
}


/* OPTIONAL IMAGE HOVER */

.gallery-image:hover img {
    transform: scale(1.02);
}


/* =========================================================
   PRODUCT DETAILS STICKY
   ========================================================= */

.product-details {
    position: sticky !important;
    top: 110px !important;

    align-self: start !important;

    height: max-content !important;

    max-height: none !important;

    overflow: visible !important;
}


/* =========================================================
   DESKTOP
   ========================================================= */

@media (min-width: 992px) {

    .product-page,
    .product-page > .container {
        overflow: visible !important;
    }

}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 991px) {

    .product-wrapper {
        display: block !important;
    }

    .product-gallery {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 3px !important;

        position: relative !important;
        top: auto !important;
    }

    .product-details {
        position: relative !important;
        top: auto !important;
    }

}

/* =========================================================
   XXLSIZE FINAL PRODUCT PAGE OVERRIDE
   ---------------------------------------------------------
   LEFT  = PRODUCT IMAGES SCROLL
   RIGHT = PRODUCT DETAILS STICKY
   IMAGES = 2 COLUMN GRID
   LIGHTBOX = FULL ORIGINAL IMAGE, NOT CROPPED
   ========================================================= */


/* =========================================================
   PRODUCT LAYOUT
   ========================================================= */

@media (min-width: 992px) {

    .product-page,
    .product-page > .container {
        overflow: visible !important;
    }

    .product-wrapper {
        display: grid !important;
        grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr) !important;
        gap: 50px !important;
        align-items: start !important;
        overflow: visible !important;
    }

    /* LEFT SIDE - IMAGES SCROLL */
    .product-gallery {
        width: 100% !important;
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 4px !important;

        position: relative !important;
        top: auto !important;

        height: auto !important;
        align-self: start !important;
        overflow: visible !important;

        max-width: none !important;
    }

    /* RIGHT SIDE - DETAILS STAY STICKY */
    .product-details {
        position: -webkit-sticky !important;
        position: sticky !important;

        top: 110px !important;

        align-self: start !important;

        height: max-content !important;
        max-height: none !important;

        overflow: visible !important;
    }

}


/* =========================================================
   PRODUCT IMAGE BOX
   ========================================================= */

.gallery-image {
    position: relative !important;

    width: 100% !important;

    aspect-ratio: 3 / 4 !important;

    overflow: hidden !important;

    background: #f7f7f7 !important;

    margin: 0 !important;
}


/* =========================================================
   NORMAL PRODUCT IMAGE
   ---------------------------------------------------------
   KEEP "cover" HERE.
   This creates the clean store gallery.
   ========================================================= */

.gallery-image img.product-gallery-image,
.gallery-image img {
    width: 100% !important;
    height: 100% !important;

    display: block !important;

    object-fit: cover !important;

    cursor: zoom-in !important;

    transition: transform 0.4s ease !important;
}


/* IMAGE HOVER */

.gallery-image:hover img.product-gallery-image,
.gallery-image:hover img {
    transform: scale(1.02) !important;
}


/* =========================================================
   FULL SCREEN IMAGE VIEWER
   ========================================================= */

.image-lightbox {
    display: none !important;

    position: fixed !important;

    inset: 0 !important;

    width: 100vw !important;
    height: 100vh !important;

    background: rgba(255,255,255,0.98) !important;

    align-items: center !important;
    justify-content: center !important;

    padding: 30px !important;

    margin: 0 !important;

    overflow: hidden !important;

    z-index: 2147483647 !important;
}


/* OPEN */

.image-lightbox.active {
    display: flex !important;
}


/* =========================================================
   FULL SCREEN IMAGE
   ---------------------------------------------------------
   IMPORTANT:
   "contain" ONLY HERE.
   This prevents cropping.
   ========================================================= */

.image-lightbox > img {
    width: auto !important;
    height: auto !important;

    max-width: 95vw !important;
    max-height: 92vh !important;

    object-fit: contain !important;

    display: block !important;

    margin: 0 auto !important;
    padding: 0 !important;

    border: none !important;
    border-radius: 0 !important;

    box-shadow: none !important;

    position: static !important;

    opacity: 1 !important;

    cursor: zoom-out !important;
}


/* =========================================================
   LIGHTBOX CLOSE BUTTON
   ========================================================= */

.image-lightbox .lightbox-close {
    position: fixed !important;

    top: 22px !important;
    right: 25px !important;

    width: 48px !important;
    height: 48px !important;

    display: flex !important;

    align-items: center !important;
    justify-content: center !important;

    padding: 0 !important;

    border: none !important;
    border-radius: 50% !important;

    background: #111 !important;
    color: #fff !important;

    font-size: 22px !important;

    cursor: pointer !important;

    z-index: 2147483647 !important;
}


/* CLOSE BUTTON HOVER */

.image-lightbox .lightbox-close:hover {
    background: #333 !important;
}


/* =========================================================
   TABLET / MOBILE
   ========================================================= */

@media (max-width: 991px) {

    .product-wrapper {
        display: block !important;

        width: 100% !important;
    }

    .product-gallery {
        width: 100% !important;

        display: grid !important;

        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;

        gap: 3px !important;

        position: relative !important;
        top: auto !important;

        height: auto !important;

        overflow: visible !important;
    }

    .product-details {
        position: relative !important;

        top: auto !important;

        height: auto !important;

        max-height: none !important;

        overflow: visible !important;
    }

}


/* =========================================================
   SMALL MOBILE
   ========================================================= */

@media (max-width: 576px) {

    .product-gallery {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;

        gap: 2px !important;
    }

    .gallery-image {
        aspect-ratio: auto !important;
    }

    .image-lightbox {
        padding: 15px !important;
    }

    .image-lightbox > img {
        max-width: 96vw !important;
        max-height: 88vh !important;
    }

    .image-lightbox .lightbox-close {
        width: 42px !important;
        height: 42px !important;

        top: 12px !important;
        right: 12px !important;

        font-size: 19px !important;
    }

}

/* =========================================
   XXLSIZE PRODUCT IMAGE STYLE FIX
   Keep normal gallery appearance
========================================= */

.gallery-image {
    position: relative !important;
    width: 100% !important;
    overflow: hidden !important;
    margin: 0 !important;
    background: #f7f7f7 !important;
}

.gallery-image img.product-gallery-image {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: contain;
    cursor: zoom-in;
    transition: transform 0.5s ease;
}

.gallery-image:hover img.product-gallery-image {
    transform: scale(1.02) !important;
}



/* Mobile gallery layout */
@media (max-width: 991px) {

    .product-gallery {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 3px !important;
        position: relative !important;
        top: auto !important;
    }

}

/* =========================================
   FULLSCREEN IMAGE
   Keep this separate from gallery styling
========================================= */

.image-lightbox > img {
    width: auto !important;
    height: auto !important;
    max-width: 95vw !important;
    max-height: 92vh !important;
    object-fit: contain !important;
}




/* =========================================================
   MOBILE / TABLET
   NO STICKY GALLERY
   ========================================================= */

@media (max-width: 991px) {

    .product-wrapper {
        display: block !important;
    }

    .product-gallery {
        position: relative !important;
        top: auto !important;

        height: auto !important;

        overflow: visible !important;
    }

    .product-details {
        position: relative !important;
        top: auto !important;

        height: auto !important;
        max-height: none !important;

        overflow: visible !important;
    }

}


/* =========================================================
   XXLSIZE FINAL PRODUCT LAYOUT
   LEFT GALLERY STICKY
   RIGHT DETAILS SCROLL
   ========================================================= */

@media (min-width: 992px) {

    /* Main two-column layout */
    .product-wrapper {
        display: grid !important;
        grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr) !important;
        gap: 50px !important;
        align-items: start !important;
        overflow: visible !important;
    }


    /* =========================================
       LEFT STICKY AREA
    ========================================= */

    .product-gallery-sticky {
        position: -webkit-sticky !important;
        position: sticky !important;

        top: 110px !important;

        width: 100% !important;

        height: calc(100vh - 120px) !important;

        align-self: start !important;

        overflow-y: auto !important;
        overflow-x: hidden !important;
    }


    /* Hide scrollbar */
    .product-gallery-sticky::-webkit-scrollbar {
        width: 0 !important;
        height: 0 !important;
    }

    .product-gallery-sticky {
        scrollbar-width: none !important;
    }


    /* =========================================
       EXISTING GALLERY
       DO NOT CHANGE IMAGE STYLE
    ========================================= */

    .product-gallery-sticky .product-gallery {
        position: relative !important;

        width: 100% !important;

        display: grid !important;

        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;

        gap: 4px !important;

        height: auto !important;

        overflow: visible !important;

        top: auto !important;
    }


    /* =========================================
       RIGHT DETAILS - NORMAL PAGE SCROLL
    ========================================= */

    .product-details {
        position: relative !important;

        top: auto !important;

        height: auto !important;

        max-height: none !important;

        overflow: visible !important;

        align-self: start !important;
    }

}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 991px) {

    .product-wrapper {
        display: block !important;
    }

    .product-gallery-sticky {
        position: relative !important;

        top: auto !important;

        width: 100% !important;

        height: auto !important;

        overflow: visible !important;
    }

    .product-gallery-sticky .product-gallery {
        position: relative !important;

        top: auto !important;

        width: 100% !important;

        height: auto !important;

        overflow: visible !important;
    }

    .product-details {
        position: relative !important;

        top: auto !important;

        height: auto !important;

        max-height: none !important;

        overflow: visible !important;
    }

}


/* =========================================================
   XXLSIZE - STICKY PRODUCT IMAGES
   LEFT IMAGE AREA STAYS STICKY
   RIGHT DETAILS SCROLL NORMALLY
   ========================================================= */

@media (min-width: 992px) {

    /* Product two-column layout */
    .product-wrapper {
        display: grid !important;
        grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr) !important;
        gap: 50px !important;
        align-items: start !important;
        overflow: visible !important;
    }

    /* LEFT - PRODUCT IMAGES */
    .product-gallery {
        position: sticky !important;
        position: -webkit-sticky !important;
        top: 110px !important;

        align-self: start !important;

        width: 100% !important;

        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;

        gap: 4px !important;

        height: fit-content !important;
        max-height: calc(100vh - 130px) !important;

        overflow-y: auto !important;
        overflow-x: hidden !important;
    }

    /* Hide scrollbar */
    .product-gallery::-webkit-scrollbar {
        width: 0;
        height: 0;
    }

    /* Product image boxes */
    .product-gallery .gallery-image {
        position: relative !important;
        width: 100% !important;
        aspect-ratio: 3 / 4 !important;
        overflow: hidden !important;
        margin: 0 !important;
    }

    /* Product images */
    .product-gallery .product-gallery-image {
        width: 100% !important;
        height: 100% !important;
        display: block !important;

        object-fit: cover !important;

        cursor: zoom-in !important;
    }

    /* RIGHT - PRODUCT DETAILS
       Do NOT make this sticky */
    .product-details {
        position: relative !important;
        top: auto !important;
        align-self: start !important;

        height: auto !important;
        max-height: none !important;

        overflow: visible !important;
    }
}


/* =========================================================
   MOBILE - NORMAL SCROLL
   ========================================================= */

@media (max-width: 991px) {

    .product-wrapper {
        display: block !important;
    }

    .product-gallery {
        position: relative !important;
        top: auto !important;

        height: auto !important;
        max-height: none !important;

        overflow: visible !important;

        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    .product-details {
        position: relative !important;
        top: auto !important;

        height: auto !important;
        max-height: none !important;

        overflow: visible !important;
    }
}

/* =========================================================
   XXLSIZE — EXACT EDITORIAL PRODUCT GALLERY
   IMAGE 01 = LARGE HERO
   IMAGE 02 = RIGHT OFFSET
   IMAGE 03 = LEFT OFFSET
   ========================================================= */

@media (min-width: 992px) {

    .product-wrapper {
        display: grid !important;
        grid-template-columns: minmax(0, 1.1fr) minmax(360px, 0.9fr) !important;
        gap: 70px !important;
        align-items: start !important;
        overflow: visible !important;
    }

    /* EDITORIAL GALLERY */
    .product-gallery.editorial-gallery {
        display: flex !important;
        flex-direction: column !important;

        width: 100% !important;
        height: auto !important;

        position: relative !important;
        top: auto !important;

        overflow: visible !important;

        gap: 0 !important;
    }

    /* ALL IMAGE BOXES */
    .editorial-gallery .gallery-image {
        position: relative !important;

        background: #f7f7f7 !important;

        overflow: hidden !important;

        margin: 0 !important;

        aspect-ratio: auto !important;
    }

    /* =====================================================
       IMAGE 01 — LARGE HERO
       ===================================================== */

    .editorial-gallery .gallery-image:nth-child(1) {

        width: 100% !important;

        min-height: 700px !important;

        margin-bottom: 90px !important;
    }

    /* =====================================================
       IMAGE 02 — RIGHT OFFSET
       ===================================================== */

    .editorial-gallery .gallery-image:nth-child(2) {

        width: 58% !important;

        margin-left: auto !important;

        margin-right: 0 !important;

        margin-bottom: 110px !important;

        aspect-ratio: 4 / 5 !important;
    }

    /* =====================================================
       IMAGE 03 — LEFT OFFSET
       ===================================================== */

    .editorial-gallery .gallery-image:nth-child(3) {

        width: 58% !important;

        margin-left: 0 !important;

        margin-right: auto !important;

        aspect-ratio: 4 / 5 !important;
    }

    /* =====================================================
       IMAGE 04+
       ===================================================== */

    .editorial-gallery .gallery-image:nth-child(n + 4) {

        width: 58% !important;

        margin-left: auto !important;

        margin-right: 0 !important;

        margin-top: 110px !important;

        aspect-ratio: 4 / 5 !important;
    }

    /* =====================================================
       ACTUAL PRODUCT IMAGE
       ===================================================== */

    .editorial-gallery .product-gallery-image {

        width: 100% !important;
        height: 100% !important;

        display: block !important;

        object-fit: contain !important;

        cursor: zoom-in !important;

        transition: transform 0.45s ease !important;
    }

    /* VERY SUBTLE HOVER */
    .editorial-gallery .gallery-image:hover .product-gallery-image {
        transform: scale(1.02) !important;
    }

    /* =====================================================
       PRODUCT DETAILS
       ===================================================== */

    .product-details {

        position: sticky !important;

        top: 110px !important;

        align-self: start !important;

        height: fit-content !important;

        max-height: none !important;

        overflow: visible !important;
    }
}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 991px) {

    .product-wrapper {
        display: block !important;
    }

    .product-gallery.editorial-gallery {

        display: flex !important;

        flex-direction: column !important;

        width: 100% !important;

        gap: 0 !important;

        position: relative !important;

        height: auto !important;

        overflow: visible !important;
    }

    /* IMAGE 01 */

    .editorial-gallery .gallery-image:nth-child(1) {

        width: 100% !important;

        min-height: auto !important;

        aspect-ratio: 4 / 5 !important;

        margin-bottom: 35px !important;
    }

    /* IMAGE 02 */

    .editorial-gallery .gallery-image:nth-child(2) {

        width: 75% !important;

        margin-left: auto !important;

        margin-right: 0 !important;

        margin-bottom: 45px !important;

        aspect-ratio: 4 / 5 !important;
    }

    /* IMAGE 03 */

    .editorial-gallery .gallery-image:nth-child(3) {

        width: 75% !important;

        margin-left: 0 !important;

        margin-right: auto !important;

        aspect-ratio: 4 / 5 !important;
    }

    /* IMAGE 04+ */

    .editorial-gallery .gallery-image:nth-child(n + 4) {

        width: 75% !important;

        margin-left: auto !important;

        margin-top: 45px !important;

        aspect-ratio: 4 / 5 !important;
    }

    .editorial-gallery .product-gallery-image {

        width: 100% !important;

        height: 100% !important;

        object-fit: contain !important;

        display: block !important;
    }

    .product-details {

        position: relative !important;

        top: auto !important;

        max-height: none !important;

        overflow: visible !important;
    }
}

/* =========================================================
   XXLSIZE — FINAL EDITORIAL PRODUCT GALLERY
   This block intentionally comes LAST
   ========================================================= */

@media (min-width: 992px) {

    /* PRODUCT TWO-COLUMN LAYOUT */
    .product-wrapper {
        display: grid !important;
        grid-template-columns: minmax(0, 1.1fr) minmax(360px, 0.9fr) !important;
        gap: 70px !important;
        align-items: start !important;
        overflow: visible !important;
    }

    /* LEFT — EDITORIAL PRODUCT GALLERY */
    .product-gallery.editorial-gallery {
        display: flex !important;
        flex-direction: column !important;
        width: 100% !important;
        height: auto !important;
        position: relative !important;
        top: auto !important;
        gap: 0 !important;
        overflow: visible !important;
    }

    /* ALL IMAGE BOXES */
    .editorial-gallery .gallery-image {
        position: relative !important;
        background: #f7f7f7 !important;
        overflow: hidden !important;
        margin: 0 !important;
        aspect-ratio: auto !important;
    }

    /* IMAGE 01 — HERO */
    .editorial-gallery .gallery-image:nth-child(1) {
        width: 100% !important;
        min-height: 700px !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        margin-bottom: 90px !important;
    }

    /* IMAGE 02 — RIGHT */
    .editorial-gallery .gallery-image:nth-child(2) {
        width: 58% !important;
        margin-left: auto !important;
        margin-right: 0 !important;
        margin-bottom: 110px !important;
        aspect-ratio: 4 / 5 !important;
    }

    /* IMAGE 03 — LEFT */
    .editorial-gallery .gallery-image:nth-child(3) {
        width: 58% !important;
        margin-left: 0 !important;
        margin-right: auto !important;
        margin-bottom: 0 !important;
        aspect-ratio: 4 / 5 !important;
    }

    /* IMAGE 04+ — RIGHT */
    .editorial-gallery .gallery-image:nth-child(n + 4) {
        width: 58% !important;
        margin-left: auto !important;
        margin-right: 0 !important;
        margin-top: 110px !important;
        aspect-ratio: 4 / 5 !important;
    }

    /* PRODUCT IMAGE */
    .editorial-gallery .product-gallery-image {
        width: 100% !important;
        height: 100% !important;
        display: block !important;
        object-fit: contain !important;
        cursor: zoom-in !important;
        transition: transform 0.45s ease !important;
    }

    /* SUBTLE HOVER */
    .editorial-gallery .gallery-image:hover .product-gallery-image {
        transform: scale(1.02) !important;
    }

    /* RIGHT — PRODUCT DETAILS STICKY */
    .product-details {
        position: -webkit-sticky !important;
        position: sticky !important;
        top: 110px !important;
        align-self: start !important;
        height: fit-content !important;
        max-height: none !important;
        overflow: visible !important;
    }
}


/* =========================================================
   XXLSIZE — MOBILE EDITORIAL GALLERY
   ========================================================= */

@media (max-width: 991px) {

    .product-wrapper {
        display: block !important;
        overflow: visible !important;
    }

    .product-gallery.editorial-gallery {
        display: flex !important;
        flex-direction: column !important;
        width: 100% !important;
        height: auto !important;
        position: relative !important;
        top: auto !important;
        gap: 0 !important;
        overflow: visible !important;
    }

    /* IMAGE 01 — FULL WIDTH */
    .editorial-gallery .gallery-image:nth-child(1) {
        width: 100% !important;
        min-height: auto !important;
        margin: 0 0 35px 0 !important;
        aspect-ratio: 4 / 5 !important;
    }

    /* IMAGE 02 — RIGHT */
    .editorial-gallery .gallery-image:nth-child(2) {
        width: 75% !important;
        margin-left: auto !important;
        margin-right: 0 !important;
        margin-bottom: 45px !important;
        aspect-ratio: 4 / 5 !important;
    }

    /* IMAGE 03 — LEFT */
    .editorial-gallery .gallery-image:nth-child(3) {
        width: 75% !important;
        margin-left: 0 !important;
        margin-right: auto !important;
        aspect-ratio: 4 / 5 !important;
    }

    /* IMAGE 04+ — RIGHT */
    .editorial-gallery .gallery-image:nth-child(n + 4) {
        width: 75% !important;
        margin-left: auto !important;
        margin-right: 0 !important;
        margin-top: 45px !important;
        aspect-ratio: 4 / 5 !important;
    }

    .editorial-gallery .product-gallery-image {
        width: 100% !important;
        height: 100% !important;
        display: block !important;
        object-fit: contain !important;
        cursor: zoom-in !important;
    }

    /* PRODUCT DETAILS — NORMAL MOBILE SCROLL */
    .product-details {
        position: relative !important;
        top: auto !important;
        height: auto !important;
        max-height: none !important;
        overflow: visible !important;
    }
}

/* =========================================================
   XXLSIZE — FINAL EDITORIAL PRODUCT GALLERY
   KEEP THIS AT THE VERY BOTTOM OF style.css
   ========================================================= */

@media (min-width: 992px) {

    /* PRODUCT TWO COLUMN */
    .product-wrapper {
        display: grid !important;
        grid-template-columns: minmax(0, 1.1fr) minmax(360px, 0.9fr) !important;
        gap: 70px !important;
        align-items: start !important;
        overflow: visible !important;
    }


    /* REMOVE OLD STICKY GALLERY SYSTEM */
    .product-gallery-sticky {
        position: static !important;
        top: auto !important;
        width: 100% !important;
        height: auto !important;
        max-height: none !important;
        overflow: visible !important;
        align-self: start !important;
    }


    /* EDITORIAL GALLERY */
    .product-gallery.editorial-gallery {
        display: flex !important;
        flex-direction: column !important;
        width: 100% !important;
        height: auto !important;
        max-height: none !important;
        position: relative !important;
        top: auto !important;
        gap: 0 !important;
        overflow: visible !important;
        align-self: start !important;
    }


    /* EVERY IMAGE BOX */
    .product-gallery.editorial-gallery .gallery-image {
        position: relative !important;
        width: 100% !important;
        height: auto !important;
        background: #f7f7f7 !important;
        overflow: hidden !important;
        margin-top: 0 !important;
        margin-bottom: 0 !important;
        aspect-ratio: auto !important;
    }


    /* IMAGE 01 — LARGE HERO */
    .product-gallery.editorial-gallery .gallery-image:nth-child(1) {
        width: 100% !important;
        height: min(78vh, 820px) !important;
        min-height: 620px !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        margin-bottom: 90px !important;
    }


    /* IMAGE 02 — RIGHT */
    .product-gallery.editorial-gallery .gallery-image:nth-child(2) {
        width: 58% !important;
        aspect-ratio: 4 / 5 !important;
        margin-left: auto !important;
        margin-right: 0 !important;
        margin-bottom: 110px !important;
    }


    /* IMAGE 03 — LEFT */
    .product-gallery.editorial-gallery .gallery-image:nth-child(3) {
        width: 58% !important;
        aspect-ratio: 4 / 5 !important;
        margin-left: 0 !important;
        margin-right: auto !important;
        margin-bottom: 0 !important;
    }


    /* IMAGE 04+ — RIGHT */
    .product-gallery.editorial-gallery .gallery-image:nth-child(n + 4) {
        width: 58% !important;
        aspect-ratio: 4 / 5 !important;
        margin-left: auto !important;
        margin-right: 0 !important;
        margin-top: 110px !important;
    }


    /* PRODUCT IMAGES — NEVER CROP */
    .product-gallery.editorial-gallery .product-gallery-image {
        width: 100% !important;
        height: 100% !important;
        display: block !important;
        object-fit: contain !important;
        cursor: zoom-in !important;
        transition: transform 0.45s ease !important;
    }


    /* SUBTLE IMAGE HOVER */
    .product-gallery.editorial-gallery .gallery-image:hover .product-gallery-image {
        transform: scale(1.02) !important;
    }


    /* PRODUCT DETAILS STAY VISIBLE WHILE IMAGES SCROLL */
    .product-details {
        position: -webkit-sticky !important;
        position: sticky !important;
        top: 110px !important;
        align-self: start !important;
        height: fit-content !important;
        max-height: none !important;
        overflow: visible !important;
    }


    /* MAKE SURE STICKY IS NOT BLOCKED */
    .product-page,
    .product-page > .container,
    .product-wrapper {
        overflow: visible !important;
    }

}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 991px) {

    .product-wrapper {
        display: block !important;
        overflow: visible !important;
    }


    .product-gallery-sticky {
        position: static !important;
        width: 100% !important;
        height: auto !important;
        max-height: none !important;
        overflow: visible !important;
    }


    .product-gallery.editorial-gallery {
        display: flex !important;
        flex-direction: column !important;
        width: 100% !important;
        height: auto !important;
        max-height: none !important;
        position: relative !important;
        top: auto !important;
        gap: 0 !important;
        overflow: visible !important;
    }


    /* HERO */
    .product-gallery.editorial-gallery .gallery-image:nth-child(1) {
        width: 100% !important;
        height: auto !important;
        min-height: 0 !important;
        aspect-ratio: 4 / 5 !important;
        margin: 0 0 35px 0 !important;
    }


    /* IMAGE 02 */
    .product-gallery.editorial-gallery .gallery-image:nth-child(2) {
        width: 75% !important;
        height: auto !important;
        aspect-ratio: 4 / 5 !important;
        margin-left: auto !important;
        margin-right: 0 !important;
        margin-bottom: 45px !important;
    }


    /* IMAGE 03 */
    .product-gallery.editorial-gallery .gallery-image:nth-child(3) {
        width: 75% !important;
        height: auto !important;
        aspect-ratio: 4 / 5 !important;
        margin-left: 0 !important;
        margin-right: auto !important;
        margin-bottom: 0 !important;
    }


    /* IMAGE 04+ */
    .product-gallery.editorial-gallery .gallery-image:nth-child(n + 4) {
        width: 75% !important;
        height: auto !important;
        aspect-ratio: 4 / 5 !important;
        margin-left: auto !important;
        margin-right: 0 !important;
        margin-top: 45px !important;
    }


    .product-gallery.editorial-gallery .product-gallery-image {
        width: 100% !important;
        height: 100% !important;
        display: block !important;
        object-fit: contain !important;
    }


    /* DETAILS NORMAL ON MOBILE */
    .product-details {
        position: relative !important;
        top: auto !important;
        height: auto !important;
        max-height: none !important;
        overflow: visible !important;
    }

}