/* =========================================================
   NTB Woo Modern UI - Flatsome / WooCommerce
   ========================================================= */

body.ntb-wmu-shop,
body.ntb-wmu-category,
body.ntb-wmu-single{
    --ntb-primary:#0f6b4f;
    --ntb-accent:#f59e0b;
    --ntb-radius:16px;
    --ntb-btn-radius:10px;
    --ntb-img-ratio:1/1;
}

/* ---------- COMMON ---------- */
body.ntb-wmu-shop .shop-page-title,
body.ntb-wmu-category .shop-page-title{
    background:#f7f8fa;
    border-bottom:1px solid #eceff3;
    padding:22px 0;
}

body.ntb-wmu-shop .shop-page-title .page-title-inner,
body.ntb-wmu-category .shop-page-title .page-title-inner{
    min-height:auto;
}

body.ntb-wmu-shop .shop-page-title h1,
body.ntb-wmu-category .shop-page-title h1{
    font-size:28px;
    font-weight:700;
    letter-spacing:-.3px;
    margin-bottom:5px;
}

body.ntb-wmu-shop .woocommerce-breadcrumb,
body.ntb-wmu-category .woocommerce-breadcrumb,
body.ntb-wmu-single .woocommerce-breadcrumb{
    font-size:13px;
    opacity:.72;
}

/* ---------- PRODUCT GRID ---------- */
body.ntb-wmu-shop .products.row,
body.ntb-wmu-category .products.row{
    margin-left:-10px;
    margin-right:-10px;
}

body.ntb-wmu-shop .products.row > .product-small,
body.ntb-wmu-category .products.row > .product-small{
    padding:0 10px 20px;
}

body.ntb-wmu-shop .product-small.box,
body.ntb-wmu-category .product-small.box{
    background:#fff;
    border:1px solid #eceff3;
    border-radius:var(--ntb-radius);
    overflow:hidden;
    height:100%;
    transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}

body.ntb-wmu-shadow.ntb-wmu-shop .product-small.box,
body.ntb-wmu-shadow.ntb-wmu-category .product-small.box{
    box-shadow:0 7px 24px rgba(15,23,42,.06);
}

body.ntb-wmu-shop .product-small.box:hover,
body.ntb-wmu-category .product-small.box:hover{
    transform:translateY(-4px);
    border-color:rgba(15,107,79,.20);
    box-shadow:0 14px 32px rgba(15,23,42,.10);
}

body.ntb-wmu-shop .product-small .box-image,
body.ntb-wmu-category .product-small .box-image{
    background:#f8fafb;
    overflow:hidden;
    border-radius:0;
}

body.ntb-wmu-shop .product-small .box-image .image-fade_in_back,
body.ntb-wmu-shop .product-small .box-image .image-none,
body.ntb-wmu-category .product-small .box-image .image-fade_in_back,
body.ntb-wmu-category .product-small .box-image .image-none{
    aspect-ratio:var(--ntb-img-ratio);
}

body.ntb-wmu-shop .product-small .box-image img,
body.ntb-wmu-category .product-small .box-image img{
    width:100%;
    height:100%;
    object-fit:cover;
    transition:transform .35s ease;
}

body.ntb-wmu-shop .product-small:hover .box-image img,
body.ntb-wmu-category .product-small:hover .box-image img{
    transform:scale(1.035);
}

body.ntb-wmu-shop .product-small .box-text,
body.ntb-wmu-category .product-small .box-text{
    padding:16px 16px 18px;
}

body.ntb-wmu-shop .product-small .product-title,
body.ntb-wmu-category .product-small .product-title{
    font-size:15px;
    line-height:1.45;
    min-height:43px;
    margin-bottom:7px;
}

body.ntb-wmu-shop .product-small .product-title a,
body.ntb-wmu-category .product-small .product-title a{
    color:#111827;
    font-weight:600;
}

body.ntb-wmu-shop .product-small .product-title a:hover,
body.ntb-wmu-category .product-small .product-title a:hover{
    color:var(--ntb-primary);
}

body.ntb-wmu-shop .product-small .price,
body.ntb-wmu-category .product-small .price{
    font-size:16px;
    color:var(--ntb-primary);
    font-weight:700;
}

body.ntb-wmu-shop .product-small .price del,
body.ntb-wmu-category .product-small .price del{
    color:#9ca3af;
    font-weight:400;
    margin-right:4px;
}

body.ntb-wmu-shop .product-small .badge-container,
body.ntb-wmu-category .product-small .badge-container{
    margin:10px 0 0 10px;
}

body.ntb-wmu-shop .product-small .badge,
body.ntb-wmu-category .product-small .badge{
    height:auto;
}

body.ntb-wmu-shop .product-small .badge-inner,
body.ntb-wmu-category .product-small .badge-inner{
    border-radius:999px;
    padding:5px 9px;
    min-height:auto;
    line-height:1.2;
    font-size:12px;
    font-weight:700;
}

body.ntb-wmu-shop .product-small .quick-view,
body.ntb-wmu-category .product-small .quick-view{
    background:var(--ntb-primary);
    color:#fff;
    opacity:.96;
    font-size:13px;
    font-weight:600;
    letter-spacing:0;
}

body.ntb-wmu-hide-rating .star-rating{
    display:none !important;
}

/* ---------- CATEGORY CARDS ---------- */
body.ntb-wmu-shop .product-category .box,
body.ntb-wmu-category .product-category .box{
    border:1px solid #eceff3;
    border-radius:var(--ntb-radius);
    overflow:hidden;
    background:#fff;
    transition:.25s ease;
}

body.ntb-wmu-shop .product-category .box:hover,
body.ntb-wmu-category .product-category .box:hover{
    transform:translateY(-4px);
    box-shadow:0 12px 28px rgba(15,23,42,.10);
}

body.ntb-wmu-shop .product-category .box-text,
body.ntb-wmu-category .product-category .box-text{
    padding:13px 12px 15px;
    text-align:center;
    background:#fff;
}

body.ntb-wmu-shop .product-category .box-text h5,
body.ntb-wmu-category .product-category .box-text h5{
    font-size:15px;
    text-transform:none;
    letter-spacing:0;
    color:#111827;
    font-weight:700;
}

body.ntb-wmu-shop .product-category .count,
body.ntb-wmu-category .product-category .count{
    opacity:.55;
    font-size:12px;
}

/* ---------- FILTER / ORDER ---------- */
body.ntb-wmu-shop .woocommerce-ordering select,
body.ntb-wmu-category .woocommerce-ordering select{
    border:1px solid #e5e7eb;
    border-radius:10px;
    min-height:42px;
    background:#fff;
    padding:0 34px 0 12px;
    box-shadow:none;
}

body.ntb-wmu-shop .category-filtering a,
body.ntb-wmu-category .category-filtering a{
    color:#111827;
    font-weight:600;
}

/* ---------- SINGLE PRODUCT ---------- */
body.ntb-wmu-single .product-main{
    padding-top:34px;
    padding-bottom:36px;
}

body.ntb-wmu-single .product-gallery,
body.ntb-wmu-single .product-info{
    padding-top:0;
}

body.ntb-wmu-single .product-gallery .woocommerce-product-gallery__wrapper,
body.ntb-wmu-single .product-gallery .product-gallery-slider{
    border-radius:var(--ntb-radius);
    overflow:hidden;
    background:#f8fafb;
}

body.ntb-wmu-single .product-gallery img{
    border-radius:var(--ntb-radius);
}

body.ntb-wmu-single .product-thumbnails a{
    border:1px solid #e5e7eb;
    border-radius:10px;
    overflow:hidden;
    transition:.2s ease;
}

body.ntb-wmu-single .product-thumbnails a:hover,
body.ntb-wmu-single .product-thumbnails .is-nav-selected a{
    border-color:var(--ntb-primary);
}

body.ntb-wmu-single .product-info{
    background:#fff;
    border:1px solid #eceff3;
    border-radius:var(--ntb-radius);
    padding:24px 26px 26px;
    box-shadow:0 8px 26px rgba(15,23,42,.055);
}

body.ntb-wmu-single .product-title{
    font-size:30px;
    line-height:1.25;
    font-weight:750;
    letter-spacing:-.4px;
    color:#111827;
}

body.ntb-wmu-single .product-info .price{
    font-size:26px;
    color:var(--ntb-primary);
    font-weight:800;
    margin:8px 0 14px;
}

body.ntb-wmu-single .product-info .price del{
    color:#9ca3af;
    font-weight:400;
    font-size:18px;
}

body.ntb-wmu-single .woocommerce-product-details__short-description{
    color:#4b5563;
    font-size:15px;
    line-height:1.7;
}

body.ntb-wmu-single form.cart{
    padding:18px 0 8px;
    margin-top:10px;
    border-top:1px solid #eef0f3;
}

body.ntb-wmu-single .quantity input[type=number]{
    border:1px solid #dfe3e8;
    box-shadow:none;
}

body.ntb-wmu-single .quantity .button,
body.ntb-wmu-single .quantity input{
    min-height:46px;
}

body.ntb-wmu-single .single_add_to_cart_button{
    background:var(--ntb-primary) !important;
    border-radius:var(--ntb-btn-radius) !important;
    min-height:46px;
    padding:0 24px;
    font-size:14px;
    letter-spacing:0;
    font-weight:700;
    box-shadow:none;
}

body.ntb-wmu-single .single_add_to_cart_button:hover{
    filter:brightness(.94);
    transform:translateY(-1px);
}

body.ntb-wmu-single .product_meta{
    margin-top:16px;
    padding-top:15px;
    border-top:1px solid #eef0f3;
    font-size:13px;
    color:#6b7280;
}

body.ntb-wmu-hide-meta .product_meta{
    display:none !important;
}

/* ---------- TABS ---------- */
body.ntb-wmu-single .product-footer{
    background:#fff;
}

body.ntb-wmu-single .product-tabs{
    border-top:1px solid #eceff3;
    padding-top:16px;
}

body.ntb-wmu-single .product-tabs .nav{
    gap:8px;
    border-bottom:1px solid #eceff3;
}

body.ntb-wmu-single .product-tabs .nav > li > a{
    border-radius:9px 9px 0 0;
    padding:11px 16px;
    color:#4b5563;
    font-weight:700;
    text-transform:none;
    letter-spacing:0;
}

body.ntb-wmu-single .product-tabs .nav > li.active > a{
    color:var(--ntb-primary);
    background:rgba(15,107,79,.07);
}

body.ntb-wmu-single .tab-panels{
    border:1px solid #eceff3;
    border-top:0;
    border-radius:0 0 var(--ntb-radius) var(--ntb-radius);
    padding:24px;
    line-height:1.75;
}

/* ---------- RELATED PRODUCTS ---------- */
body.ntb-wmu-single .related-products-wrapper{
    padding-top:28px;
}

body.ntb-wmu-single .related-products-wrapper h3{
    font-size:24px;
    font-weight:750;
    text-transform:none;
    letter-spacing:-.2px;
    margin-bottom:18px;
}

/* ---------- STICKY SUMMARY ---------- */
@media (min-width:850px){
    body.ntb-wmu-sticky-summary.ntb-wmu-single .product-info{
        position:sticky;
        top:95px;
    }
}

/* ---------- RESPONSIVE ---------- */
@media (max-width:849px){
    body.ntb-wmu-shop .shop-page-title h1,
    body.ntb-wmu-category .shop-page-title h1{
        font-size:24px;
    }

    body.ntb-wmu-single .product-main{
        padding-top:20px;
    }

    body.ntb-wmu-single .product-info{
        padding:20px;
        margin-top:18px;
    }

    body.ntb-wmu-single .product-title{
        font-size:25px;
    }

    body.ntb-wmu-single .product-info .price{
        font-size:23px;
    }
}

@media (max-width:549px){
    body.ntb-wmu-shop .products.row > .product-small,
    body.ntb-wmu-category .products.row > .product-small{
        padding-left:7px;
        padding-right:7px;
        padding-bottom:14px;
    }

    body.ntb-wmu-shop .products.row,
    body.ntb-wmu-category .products.row{
        margin-left:-7px;
        margin-right:-7px;
    }

    body.ntb-wmu-shop .product-small .box-text,
    body.ntb-wmu-category .product-small .box-text{
        padding:12px;
    }

    body.ntb-wmu-shop .product-small .product-title,
    body.ntb-wmu-category .product-small .product-title{
        font-size:14px;
        min-height:40px;
    }

    body.ntb-wmu-single .product-info{
        border-radius:12px;
        padding:16px;
    }

    body.ntb-wmu-single .product-title{
        font-size:22px;
    }

    body.ntb-wmu-single .product-tabs .nav{
        overflow-x:auto;
        flex-wrap:nowrap;
        justify-content:flex-start;
        -webkit-overflow-scrolling:touch;
    }

    body.ntb-wmu-single .product-tabs .nav > li{
        flex:0 0 auto;
    }

    body.ntb-wmu-single .tab-panels{
        padding:16px;
    }
}
