/*==================================================
BODY PORTAL
SINGLE PRODUCT
PART 1
Variables • Reset • Layout • Gallery
==================================================*/


/*==================================================
01 VARIABLES
==================================================*/

:root{

    --bp-primary:#111111;

    --bp-secondary:#6F6F6F;

    --bp-gold:#A67C52;

    --bp-border:#ECE7DE;

    --bp-bg:#F8F6F2;

    --bp-white:#FFFFFF;

    --bp-radius:22px;

    --bp-shadow:0 18px 45px rgba(0,0,0,.08);

    --bp-transition:.35s ease;

}


/*==================================================
02 RESET
==================================================*/

.bp-single *,
.bp-single *::before,
.bp-single *::after{

    box-sizing:border-box;

}

.bp-single img{

    display:block;

    max-width:100%;

}

.bp-single a{

    text-decoration:none;

    color:inherit;

}

.bp-single button{

    font-family:inherit;

}


/*==================================================
03 MAIN SECTION
==================================================*/

.bp-single{

    width:100%;

    padding:70px 0 90px;

    background:#fff;

}

.bp-container{

    width:100%;

    max-width:1380px;

    margin:auto;

    padding:0 40px;

}




/*=========================================
MAIN PRODUCT IMAGE
=========================================*/

.bp-main-product-image{

    width:100%;

    display:block;

  max-height:560px;

width:100%;

height:auto;

object-fit:contain;

    object-fit:cover;

    transition:.6s;

    cursor:zoom-in;

}

.bp-main-image:hover .bp-main-product-image{

    transform:scale(1.05);

}


/*==================================================
04 GALLERY
==================================================*/

.bp-gallery{

display:grid;

grid-template-columns:82px minmax(0,1fr);

gap:18px;

align-items:start;

}
/* Main Image */

.bp-main-image{
    display:flex;

align-items:center;

justify-content:center;



position:relative;

overflow:hidden;

border-radius:24px;

background:#faf8f5;

}

.bp-main-image img{

    width:100%;

    transition:.45s;

}

/*.bp-main-image:hover img{*/

/*    transform:scale(1.05);*/

/*}*/


/* Expand Icon */

.bp-gallery-expand{

position:absolute;

right:22px;

top:22px;

width:50px;

height:50px;

border:none;

border-radius:50%;

background:#fff;

display:flex;

align-items:center;

justify-content:center;

cursor:pointer;

box-shadow:

0 15px 35px rgba(0,0,0,.18);

transition:.35s;

z-index:20;

}

.bp-gallery-expand:hover{

background:#111;

color:#fff;

transform:scale(1.08);

}


/*==================================================
THUMBNAILS
==================================================*/

.bp-thumbnails{

display:flex;

flex-direction:column;

gap:14px;

}

.bp-thumb{

width:82px;

height:82px;

border-radius:14px;

overflow:hidden;

cursor:pointer;

border:2px solid transparent;

background:#faf9f7;

transition:.35s;

display:flex;

align-items:center;

justify-content:center;

}

.bp-thumb img{

width:100%;

height:100%;

object-fit:cover;

transition:.45s;

display:block;

}

.bp-thumb:hover{

transform:translateY(-4px);

border-color:#111;

box-shadow:0 15px 30px rgba(0,0,0,.08);

}

.bp-thumb.active{

border-color:#111;

box-shadow:

0 15px 35px rgba(0,0,0,.12);

}


/*==================================================
LIGHTBOX
==================================================*/

#bp-lightbox{

    position:fixed;

    inset:0;

    background:rgba(0,0,0,.88);

    display:none;

    align-items:center;

    justify-content:center;

    z-index:99999;

}

#bp-lightbox.active{

    display:flex;

}

#bp-lightbox-image{

    max-width:90vw;

    max-height:90vh;

    border-radius:18px;

}

.bp-lightbox-close{

    position:absolute;

    top:30px;

    right:40px;

    color:#fff;

    font-size:42px;

    cursor:pointer;

}

.bp-lightbox-prev,
.bp-lightbox-next{

    position:absolute;

    top:50%;

    transform:translateY(-50%);

    width:54px;

    height:54px;

    border-radius:50%;

    background:#eaaa85;

    display:flex;

    align-items:center;

    justify-content:center;

    cursor:pointer;

    font-size:24px;

}

.bp-lightbox-prev{

    left:40px;

}

.bp-lightbox-next{

    right:40px;

}


/*==================================================
RESPONSIVE
==================================================*/

@media(max-width:1200px){

    .bp-product-layout{

        gap:40px;

    }

}

@media(max-width:991px){

   

.bp-gallery{

display:flex;

flex-direction:column;

width:100%;

max-width:100%;

gap:14px;

order:1;

}  
    .bp-thumbnails{

order:2;

flex-direction:row;

overflow-x:auto;

padding-bottom:10px;

}

.bp-thumb{

flex:0 0 80px;

width:80px;

height:80px;

}

}

@media(max-width:767px){
    

.bp-left-column{

width:100%;
max-width:100%;
min-width:0;

}

.bp-main-image{

width:100%;
max-width:100%;
min-width:0;

display:block;

overflow:hidden;

border-radius:18px;

}

.bp-main-product-image{

display:block;

width:100%;

max-width:100%;

height:auto;

object-fit:cover;

}

.bp-thumbnails{

display:flex;

flex-wrap:nowrap;

overflow-x:auto;

overflow-y:hidden;

gap:10px;

padding:6px 0;

width:100%;

scroll-behavior:smooth;

-webkit-overflow-scrolling:touch;

scrollbar-width:none;

}

.bp-thumbnails::-webkit-scrollbar{

display:none;

}


.bp-thumb{

flex:0 0 68px;

width:68px;

height:68px;

min-width:68px;

border-radius:12px;

overflow:hidden;

}

.bp-thumb img{

width:100%;

height:100%;

object-fit:cover;

display:block;

}

.bp-left-column{

margin-bottom:18px;

}

.bp-product-layout{

gap:24px;

}

.bp-summary{

padding-top:0;

margin-top:0;

}
    
}





@media(max-width:768px){

    .bp-container{

        padding:0 20px;

    }

    .bp-single{

        padding:40px 0 60px;

    }

    .bp-main-image{

        border-radius:18px;

    }

    .bp-thumb{

        width:72px;

        height:72px;

    }

}


/*==================================================
BODY PORTAL
SINGLE PRODUCT
PART 2
SUMMARY
==================================================*/


/*==================================================
SUMMARY
==================================================*/

.bp-summary{

width:100%;

padding-left:12px;

padding-top:8px;

}

/*=========================================
Breadcrumb
=========================================*/

.bp-breadcrumb{
    display:flex;
    align-items:center;
    gap:8px;
    flex-wrap:wrap;

    margin-bottom:18px;

    font-size:12px;
    font-weight:500;
    letter-spacing:.5px;

    color:#999;
}

.bp-breadcrumb a{

    color:#999;
    text-decoration:none;

    transition:.3s;

}

.bp-breadcrumb a:hover{

    color:#111;

}

.bp-breadcrumb span{

    color:#cfcfcf;

}


/*==================================================
CATEGORY
==================================================*/

.bp-category{

display:flex;

align-items:center;

gap:8px;

margin-bottom:18px;

font-size:13px;

letter-spacing:2px;

text-transform:uppercase;

}

.bp-category span{

color:#888;

font-weight:500;

}

.bp-category strong{

color:#B88746;

font-weight:700;

}


/*==================================================
TITLE
==================================================*/

.bp-product-title{

    margin:0;

    font-size:46px;

    line-height:1.15;

    font-weight:600;

    letter-spacing:-1px;

    color:#111;

}


/*==================================================
INSPIRED BY
==================================================*/

.bp-inspired{

    margin-top:16px;

    color:#777;

    font-size:17px;

}

.bp-inspired strong{

    color:#111;

    font-weight:600;

}


/*==================================================
PRICE
==================================================*/

.bp-price{

display:flex;

align-items:flex-end;

gap:14px;

margin:0px 0px 22px 0px !important;

}

.bp-price ins{

font-size:34px;

font-weight:700;

color:#111;

text-decoration:none;

}

.bp-price del{

font-size:20px;

color:#A8A8A8;

font-weight:400;

}

.price{

    display:flex;

    align-items:flex-end;

    gap:14px;

    flex-wrap:wrap;

}


/*==================================================
DESCRIPTION
==================================================*/

.bp-fragrance-notes{

display:flex;

flex-wrap:wrap;

gap:12px;

margin:22px 0;

}

.bp-fragrance-notes span{

position:relative;

padding-left:16px;

font-size:15px;

color:#666;

font-weight:500;

}

.bp-fragrance-notes span::before{

content:"";

position:absolute;

left:0;

top:50%;

transform:translateY(-50%);

width:6px;

height:6px;

border-radius:50%;

background:#C89B3C;

}

/*==================================================
RATING
==================================================*/

.bp-rating{

    display:flex;

    align-items:center;

    gap:14px;

    margin:24px 0;

}

.bp-rating .star-rating{

    margin:0!important;

}

.bp-rating span{

    color:#666;

    font-size:15px;

}


.bp-empty-rating{

font-size:18px;

letter-spacing:2px;

color:#D59A3B;

line-height:1;

}

/*==================================================
STOCK
==================================================*/

/*.bp-stock-row{*/

/*    display:flex;*/

/*    justify-content:space-between;*/

/*    align-items:center;*/

/*    padding-bottom:22px;*/

/*    margin-bottom:28px;*/

/*    border-bottom:1px solid var(--bp-border);*/

/*}*/

/*.bp-stock-label{*/

/*    font-size:15px;*/

/*    font-weight:600;*/

/*    color:#111;*/

/*}*/

/*.stock{*/

/*    color:#2C7A2C;*/

/*    font-weight:600;*/

/*}*/


/*=========================================
AVAILABILITY
=========================================*/

.bp-stock{

    margin:28px 0;

}

.bp-stock strong{

    display:block;

    margin-bottom:10px;

    font-size:16px;

    font-weight:600;

    color:#111;

}

/* In Stock */

.bp-stock-in{

    display:inline-flex;

    align-items:center;

    gap:8px;

    color:#2E7D32;

    font-size:15px;

    font-weight:600;

}

.bp-stock-in::before{

    content:"";

    width:8px;

    height:8px;

    border-radius:50%;

    background:#2E7D32;

}

/* Out of Stock */

.bp-stock-out{

    display:inline-flex;

    align-items:center;

    gap:8px;

    color:#D32F2F;

    font-size:15px;

    font-weight:600;

}

.bp-stock-out::before{

    content:"";

    width:8px;

    height:8px;

    border-radius:50%;

    background:#D32F2F;

}

/*==================================================
SIZE
==================================================*/

.bp-size{

    margin-top:28px;

    font-size:15px;

    color:#666;

}

.bp-size strong{

    color:#111;

    margin-left:6px;

}


/*==================================================
META
==================================================*/

.bp-meta{

    margin-top:35px;

    padding-top:30px;

    border-top:1px solid var(--bp-border);

}

.product_meta{

    display:flex;

    flex-direction:column;

    gap:12px;

    font-size:15px;

    color:#666;

}

.product_meta span{

    display:flex;

    gap:8px;

}

.product_meta a{

    color:#111;

    transition:.3s;

}

.product_meta a:hover{

    color:var(--bp-gold);

}


/*==================================================
RESPONSIVE
==================================================*/

@media(max-width:991px){

    .bp-summary{

        padding-left:0;

        margin-top:40px;

    }

    .bp-product-title{

        font-size:36px;

    }

}

@media(max-width:768px){

    .bp-product-title{

        font-size:30px;

    }

    .bp-price ins{

        font-size:34px;

    }

    .bp-price del{

        font-size:20px;

    }

    .bp-short-description{

        font-size:16px;

    }

}


/*==================================================
BODY PORTAL
SINGLE PRODUCT
PART 3
PURCHASE BOX
==================================================*/

/*=========================================
PURCHASE CARD
=========================================*/

.bp-purchase-card{

padding:32px;

border-radius:18px;

border:1px solid #ECE7DE;

background:#fff;

box-shadow:0 10px 30px rgba(0,0,0,.05);

margin-bottom:28px;

}




.bp-section-heading{

margin-bottom:24px;

}

.bp-section-heading h3{
font-size:22px;

font-weight:700;

margin-bottom:10px;

text-align:center;

color:#111;

}

.bp-section-heading p{

font-size:13px;

color:#777;

text-align:center;

line-height:1.8;

margin-bottom:26px;

}

.bp-payment-info{

margin-top:28px;

display:grid;

grid-template-columns:repeat(2,1fr);

gap:14px;

}

.bp-payment-item{

display:flex;

align-items:center;

gap:10px;

padding:14px 16px;

border:1px solid #F0ECE6;

border-radius:12px;

background:#FCFBF9;

transition:.3s;

}

.bp-payment-item:hover{

border-color:#B58A45;

transform:translateY(-2px);

}

.bp-payment-icon{

font-size:18px;

}

.bp-payment-item span:last-child{

font-size:14px;

font-weight:500;

color:#333;

}

@media(max-width:767px){

.bp-purchase-card{

padding:22px;

}

.bp-payment-info{

grid-template-columns:1fr;

}

}

/*==================================================
CART ROW
==================================================*/

.bp-cart-row{
display:flex;

align-items:center;
width:100%;

gap:12px;

margin-bottom:18px;

}


form.cart{

width:100%;

}
/*==================================================
QUANTITY
==================================================*/

.bp-qty-box{

    display:flex;

    align-items:center;

    justify-content:space-between;

    width:150px;

    height:52px;

    border:1px solid #E8E3DA;

    border-radius:999px;

    overflow:hidden;

    background:#fff;

    flex-shrink:0;

}

.bp-qty-box .quantity{

display:flex;

align-items:center;

justify-content:center;

flex:1;

margin:0!important;

float:none!important;

}
.bp-qty-box input.qty{

width:42px!important;

height:58px;

padding:0;

margin:0;

border:none!important;

background:transparent;

text-align:center;

font-size:16px;

font-weight:600;

box-shadow:none!important;

outline:none;

}
.bp-qty-box input.qty:focus{

    outline:none;

    box-shadow:none;

}


/*==================================================
PLUS / MINUS
==================================================*/

.bp-minus,
.bp-plus{

    width:40px;

    height:52px;

    border:none;

    background:#fff;

    color:#111;

    font-size:20px;

    font-weight:300;

    cursor:pointer;

    transition:.3s;

    outline:none;

    appearance:none;

}

.bp-minus:hover,
.bp-plus:hover{

    background:#F7F4EF;

}

.bp-minus:focus,
.bp-plus:focus{

    outline:none;

    box-shadow:none;

}


/*==================================================
ADD TO CART
==================================================*/

.single_add_to_cart_button{

    flex:1;

    height:60px!important;

    border:none!important;

    border-radius:999px!important;

    background:#111!important;

    color:#fff!important;

    font-size:14px!important;

    font-weight:600!important;

    letter-spacing:2px;

    text-transform:uppercase;

    transition:.35s;

}

.single_add_to_cart_button:hover{

    background:#242424!important;

    transform:translateY(-2px);

}


/*==================================================
BUY NOW
==================================================*/

.bp-buy-now{

    width:100%;

    height:60px;

    margin-top:18px;

    border:2px solid #111;

    border-radius:999px;

    background:#fff;

    color:#111;

    font-size:14px;

    font-weight:600;

    letter-spacing:2px;

    text-transform:uppercase;

    cursor:pointer;

    transition:.35s;

}

.bp-buy-now:hover{

    background:#111;

    color:#fff;

}


/*==================================================
TRUST GRID
==================================================*/

.bp-trust-grid{

    display:grid;

    grid-template-columns:repeat(2,1fr);

    gap:16px;

    margin-top:42px;

}

.bp-trust-card{

    display:flex;

    align-items:center;

    gap:16px;

    padding:18px;

    border:1px solid var(--bp-border);

    border-radius:18px;

    background:#fff;

    transition:.35s;

}

.bp-trust-card:hover{

    transform:translateY(-4px);

    box-shadow:0 14px 35px rgba(0,0,0,.08);

}

.bp-icon{

    width:48px;

    height:48px;

    border-radius:50%;

    background:#F8F6F2;

    display:flex;

    align-items:center;

    justify-content:center;

    font-size:22px;

}

.bp-trust-card strong{

    display:block;

    font-size:15px;

    color:#111;

}

.bp-trust-card small{

    display:block;

    margin-top:4px;

    color:#777;

}


/*==================================================
FEATURES
==================================================*/

.bp-features{

    margin-top:40px;

    display:flex;

    flex-direction:column;

    gap:16px;

}

.bp-feature{

    display:flex;

    align-items:center;

    gap:12px;

    font-size:15px;

    color:#555;

}

.bp-feature::before{

    content:"✓";

    width:24px;

    height:24px;

    border-radius:50%;

    background:#F7F4EF;

    color:#111;

    display:flex;

    align-items:center;

    justify-content:center;

    font-size:13px;

    font-weight:700;

}


/*==================================================
RESPONSIVE
==================================================*/

@media(max-width:768px){

    .bp-cart-row{

        flex-direction:column;

        gap:16px;

    }

    .bp-qty-box{

        width:100%;

    }

    .single_add_to_cart_button{

        width:100%!important;

    }

    .bp-trust-grid{

        grid-template-columns:1fr;

    }

}

/*==================================================
BODY PORTAL
SINGLE PRODUCT
PART 4
TABS
==================================================*/


/*==================================================
SECTION
==================================================*/

.bp-tabs-section{

    margin-top:90px;

}


/*==================================================
WOOCOMMERCE TABS
==================================================*/

.woocommerce-tabs{

    margin-top:70px;

}

.woocommerce-tabs ul.tabs{

    display:flex;

    justify-content:center;

    gap:50px;

    padding:0;

    margin:0 0 55px;

    list-style:none;

    border:none;

    background:none;

}

.woocommerce-tabs ul.tabs::before,
.woocommerce-tabs ul.tabs::after{

    display:none;

}

.woocommerce-tabs ul.tabs li{

    margin:0;

    padding:0;

    border:none;

    background:none;

}

.woocommerce-tabs ul.tabs li::before,
.woocommerce-tabs ul.tabs li::after{

    display:none;

}

.woocommerce-tabs ul.tabs li a{

    position:relative;

    padding-bottom:14px;

    color:#888;

    font-size:15px;

    font-weight:600;

    letter-spacing:2px;

    text-transform:uppercase;

    transition:.35s;

}

.woocommerce-tabs ul.tabs li a:hover{

    color:#111;

}

.woocommerce-tabs ul.tabs li.active a{

    color:#111;

}

.woocommerce-tabs ul.tabs li.active a::after{

    content:"";

    position:absolute;

    left:0;

    bottom:0;

    width:100%;

    height:2px;

    background:#111;

}


/*==================================================
TAB CONTENT
==================================================*/

.woocommerce-Tabs-panel{

    max-width:980px;

    margin:auto;

    padding:0;

    border:none;

    box-shadow:none;

    animation:fadeUp .45s ease;

}

@keyframes fadeUp{

    from{

        opacity:0;

        transform:translateY(20px);

    }

    to{

        opacity:1;

        transform:translateY(0);

    }

}


/*==================================================
CONTENT
==================================================*/

.woocommerce-Tabs-panel p{

    color:#666;

    font-size:17px;

    line-height:1.9;

    margin-bottom:22px;

}

.woocommerce-Tabs-panel h2{

    margin-bottom:24px;

    color:#111;

    font-size:30px;

    font-weight:600;

}


/*==================================================
TABLE
==================================================*/

.woocommerce-product-attributes{

    width:100%;

    border-collapse:collapse;

    margin-top:20px;

}

.woocommerce-product-attributes th{

    width:220px;

    padding:20px;

    background:#F8F6F2;

    color:#111;

    text-align:left;

    font-weight:600;

}

.woocommerce-product-attributes td{

    padding:20px;

    color:#666;

    border-bottom:1px solid #ECE7DE;

}


/*==================================================
REVIEWS
==================================================*/

#reviews{

    margin-top:20px;

}

.commentlist{

    margin:0;

    padding:0;

    list-style:none;

}

.commentlist li{

    margin-bottom:35px;

    padding-bottom:35px;

    border-bottom:1px solid #ECE7DE;

}

.comment_container{

    display:flex;

    gap:24px;

}

.comment-text{

    flex:1;

}

.comment-text p.meta{

    margin-bottom:10px;

}

.comment-text .star-rating{

    margin-bottom:14px;

}

.comment-text p{

    color:#666;

    line-height:1.9;

}


/*==================================================
REVIEW FORM
==================================================*/

.comment-respond{

    margin-top:50px;

    padding:35px;

    border:1px solid #ECE7DE;

    border-radius:20px;

}

.comment-respond input,
.comment-respond textarea{

    width:100%;

    margin-top:8px;

    margin-bottom:18px;

    padding:14px 16px;

    border:1px solid #DDD;

    border-radius:10px;

    font-size:15px;

}

.comment-respond input:focus,
.comment-respond textarea:focus{

    outline:none;

    border-color:#111;

}

.comment-form input[type="submit"]{

    width:auto;

    padding:14px 36px;

    border:none;

    border-radius:999px;

    background:#111;

    color:#fff;

    cursor:pointer;

    transition:.3s;

}

.comment-form input[type="submit"]:hover{

    background:#222;

}


/*==================================================
RESPONSIVE
==================================================*/

@media(max-width:768px){

    .woocommerce-tabs ul.tabs{

        gap:20px;

        flex-wrap:wrap;

        justify-content:flex-start;

    }

    .woocommerce-tabs ul.tabs li a{

        font-size:13px;

    }

    .woocommerce-product-attributes th{

        width:120px;

    }

    .comment_container{

        flex-direction:column;

    }

}



/*==================================================
BODY PORTAL
SINGLE PRODUCT
PART 5
RELATED PRODUCTS
MOBILE CART
ANIMATIONS
==================================================*/


/*==================================================
RELATED PRODUCTS
==================================================*/

.bp-related{

    margin-top:110px;

}

.bp-related-title{

    text-align:center;

    font-size:36px;

    font-weight:600;

    margin-bottom:55px;

    color:#111;

}

.bp-related-grid{

    display:grid;

    grid-template-columns:repeat(4,1fr);

    gap:28px;

}


/*==================================================
RELATED CARD
==================================================*/

.bp-related-card{

    background:#fff;

    border-radius:20px;

    overflow:hidden;

    transition:.35s;

}

.bp-related-card:hover{

    transform:translateY(-8px);

    box-shadow:0 20px 45px rgba(0,0,0,.08);

}

.bp-related-image{

    overflow:hidden;

    background:#FAF8F4;

}

.bp-related-image img{

    width:100%;

    transition:.45s;

}

.bp-related-card:hover img{

    transform:scale(1.06);

}

.bp-related-content{

    padding:20px;

}

.bp-related-name{

    font-size:17px;

    font-weight:600;

    color:#111;

    margin-bottom:10px;

}

.bp-related-price{

    color:#111;

    font-weight:700;

    font-size:20px;

}


/*==================================================
STICKY MOBILE CART
==================================================*/

.bp-mobile-cart{

    position:fixed;

    left:0;

    right:0;

    bottom:-120px;

    padding:18px;

    background:#fff;

    box-shadow:0 -8px 25px rgba(0,0,0,.08);

    transition:.35s;

    z-index:999;

}

.bp-mobile-cart.show{

    bottom:0;

}

.bp-mobile-cart button{

    width:100%;

    height:56px;

    border:none;

    border-radius:999px;

    background:#111;

    color:#fff;

    font-size:15px;

    font-weight:600;

    letter-spacing:2px;

    cursor:pointer;

}


/*==================================================
GLOBAL ANIMATIONS
==================================================*/

.bp-summary,
.bp-gallery{

    animation:bpFadeUp .6s ease;

}

@keyframes bpFadeUp{

    from{

        opacity:0;

        transform:translateY(35px);

    }

    to{

        opacity:1;

        transform:translateY(0);

    }

}

.bp-trust-card,
.bp-feature,
.bp-related-card{

    transition:.35s;

}

.bp-feature:hover{

    transform:translateX(8px);

}

button{

    transition:.3s;

}

button:active{

    transform:scale(.98);

}


/*==================================================
SCROLLBAR
==================================================*/

::-webkit-scrollbar{

    width:8px;

}

::-webkit-scrollbar-thumb{

    background:#C8C0B4;

    border-radius:20px;

}

::-webkit-scrollbar-track{

    background:#F7F5F1;

}


/*==================================================
FINAL RESPONSIVE
==================================================*/

@media(max-width:1200px){

    .bp-related-grid{

        grid-template-columns:repeat(3,1fr);

    }

}

@media(max-width:991px){

    .bp-related-grid{

        grid-template-columns:repeat(2,1fr);

    }

}

@media(max-width:768px){

    .bp-related{

        margin-top:70px;

    }

    .bp-related-title{

        font-size:28px;

    }

    .bp-related-grid{

        grid-template-columns:1fr;

    }

    .bp-mobile-cart{

        display:block;

    }

}

@media(min-width:769px){

    .bp-mobile-cart{

        display:none;

    }

}




/*==================================================
PAGE WRAPPER
==================================================*/

.bp-left-column{

display:block;

align-self:start;

}

@media(min-width:1200px){

.bp-left-column{

position:sticky;

top:110px;

height:fit-content;

}

}


.bp-right-column{

display:flex;

flex-direction:column;

gap:24px;

align-self:start;

}

.bp-product-tabs{

    margin-top:90px;

}

.bp-related-wrapper{

    margin-top:100px;

}





/*==================================================
PRODUCT INFO
==================================================*/

.bp-product-info{

    margin-top:40px;

    border:1px solid var(--bp-border);

    border-radius:20px;

    overflow:hidden;

}

.bp-info-item{

    display:flex;

    justify-content:space-between;

    padding:18px 22px;

    border-bottom:1px solid var(--bp-border);

}

.bp-info-item:last-child{

    border-bottom:none;

}

.bp-info-label{

    color:#777;

    font-weight:500;

}

.bp-info-value{

    font-weight:600;

    color:#111;

}



/*==================================================
WHY BODY PORTAL
==================================================*/

.bp-why{

    margin-top:45px;

}

.bp-why h3{

    margin-bottom:22px;

    font-size:24px;

}

.bp-why ul{

    padding:0;

    margin:0;

    list-style:none;

}

.bp-why li{

    padding:14px 0;

    border-bottom:1px solid #ECE7DE;

}

.bp-why li:before{

    content:"✓";

    color:#111;

    font-weight:bold;

    margin-right:10px;

}



/*==================================================
DELIVERY CARD
==================================================*/

.bp-delivery-card{

    margin-top:45px;

    padding:28px;

    background:#F8F6F2;

    border-radius:22px;

}

.bp-delivery-row{

    display:flex;

    gap:18px;

    align-items:center;

    margin-bottom:20px;

}

.bp-delivery-row:last-child{

    margin-bottom:0;

}

.bp-delivery-row span{

    font-size:22px;

}

.bp-delivery-row strong{

    display:block;

}

.bp-delivery-row small{

    color:#777;

}


/*==================================================
BODY PORTAL TABS
==================================================*/

.bp-tabs-section{

    margin-top:90px;

}

.bp-tabs-wrapper{

    max-width:1200px;

    margin:auto;

}

.bp-tabs-nav{

    display:flex;

    justify-content:center;

    gap:40px;

    margin:0 0 50px;

    padding:0;

    list-style:none;

    border-bottom:1px solid #ECE7DE;

}

.bp-tab-link{

    padding:20px 0;

    cursor:pointer;

    font-size:14px;

    font-weight:600;

    letter-spacing:2px;

    text-transform:uppercase;

    color:#888;

    position:relative;

    transition:.3s;

}

.bp-tab-link:hover{

    color:#111;

}

.bp-tab-link.active{

    color:#111;

}

.bp-tab-link.active::after{

    content:"";

    position:absolute;

    left:0;

    bottom:-1px;

    width:100%;

    height:2px;

    background:#111;

}

.bp-tab-panel{

    display:none;

    animation:bpFade .35s ease;

}

.bp-tab-panel.active{

    display:block;

}

@keyframes bpFade{

    from{

        opacity:0;

        transform:translateY(20px);

    }

    to{

        opacity:1;

        transform:translateY(0);

    }

}

.bp-tab-panel h2{

    font-size:30px;

    margin-bottom:25px;

}

.bp-tab-panel p{

    color:#666;

    line-height:1.9;

}

.bp-tab-panel table{

    width:100%;

    border-collapse:collapse;

}

.bp-tab-panel table th{

    width:220px;

    padding:18px;

    background:#F8F6F2;

    text-align:left;

}

.bp-tab-panel table td{

    padding:18px;

    border-bottom:1px solid #ECE7DE;

}



/*==================================================
RELATED PRODUCTS
==================================================*/

.bp-related-products{

    margin-top:110px;

}

.bp-related-header{

    text-align:center;

    margin-bottom:50px;

}

.bp-related-header span{

    display:block;

    letter-spacing:3px;

    font-size:13px;

    color:#999;

    margin-bottom:12px;

}

.bp-related-header h2{

    font-size:38px;

    font-weight:600;

}

.bp-related-grid{

    display:grid;

    grid-template-columns:repeat(4,1fr);

    gap:30px;

}

.bp-related-card{

    background:#fff;

    border-radius:20px;

    overflow:hidden;

    transition:.35s;

}

.bp-related-card:hover{

    transform:translateY(-8px);

    box-shadow:0 25px 60px rgba(0,0,0,.08);

}

.bp-related-image{

    display:block;

    overflow:hidden;

    background:#F8F6F2;

}

.bp-related-image img{

    width:100%;

    transition:.4s;

}

.bp-related-card:hover img{

    transform:scale(1.08);

}

.bp-related-content{

    padding:24px;

}

.bp-related-category{

    font-size:12px;

    letter-spacing:2px;

    text-transform:uppercase;

    color:#999;

    margin-bottom:10px;

}

.bp-related-title{

    font-size:18px;

    margin-bottom:12px;

    line-height:1.5;

}

.bp-related-title a{

    color:#111;

    text-decoration:none;

}

.bp-related-price{

    margin-bottom:20px;

    font-size:22px;

    font-weight:700;

}

.bp-related-card .button{

    width:100%;

    border-radius:999px;

    background:#111;

    color:#fff;

    text-align:center;

    padding:15px;

    text-transform:uppercase;

    letter-spacing:2px;

    transition:.3s;

}

.bp-related-card .button:hover{

    background:#222;

}

@media(max-width:992px){

    .bp-related-grid{

        grid-template-columns:repeat(2,1fr);

    }

}

@media(max-width:767px){

    .bp-related-grid{

        grid-template-columns:1fr;

    }

}

/*=========================================
LEFT COLUMN TABS
=========================================*/

.bp-gallery-tabs{

margin-top:50px;

width:100%;

}

.bp-gallery-tabs .bp-tabs{

margin-top:0;

}


/*=========================================
PREMIUM PRODUCT TABS
=========================================*/

.bp-tabs{

margin-top:70px;

}

.bp-tabs-nav{

display:flex;

justify-content:center;

gap:40px;

flex-wrap:wrap;

margin-bottom:40px;

border-bottom:1px solid #ECE7DF;

}

.bp-tab-button{

background:none;

border:none;

padding:18px 0;

font-size:15px;

font-weight:600;

letter-spacing:1px;

text-transform:uppercase;

color:#777;

cursor:pointer;

position:relative;

transition:.3s;

}

.bp-tab-button:hover{

color:#111;

}

.bp-tab-button::after{

content:"";

position:absolute;

left:0;

bottom:-1px;

width:100%;

height:2px;

background:#111;

transform:scaleX(0);

transition:.3s;

}

.bp-tab-button.active{

color:#111;

}

.bp-tab-button.active::after{

transform:scaleX(1);

}

.bp-tab-content{

display:none;

animation:bpFade .35s;

line-height:1.9;

font-size:16px;

color:#555;

}

.bp-tab-content.active{

display:block;

}

@keyframes bpFade{

from{

opacity:0;

transform:translateY(10px);

}

to{

opacity:1;

transform:translateY(0);

}

}





/*=========================================
SPEC TABLE
=========================================*/

.bp-spec-table{

width:100%;

border-collapse:collapse;

background:#fff;

border:1px solid #ECE7DF;

border-radius:18px;

overflow:hidden;

}

.bp-spec-table tr{

border-bottom:1px solid #F1F1F1;

}

.bp-spec-table tr:last-child{

border-bottom:none;

}

.bp-spec-table th{

width:240px;

padding:20px;

background:#FAF8F4;

text-align:left;

font-weight:600;

color:#111;

}

.bp-spec-table td{

padding:20px;

color:#666;

}





/*=========================================
RESPONSIVE
=========================================*/

@media(max-width:768px){

.bp-tabs-nav{

justify-content:flex-start;

overflow-x:auto;

gap:25px;

padding-bottom:10px;

}

.bp-tab-button{

white-space:nowrap;

font-size:13px;

}

.bp-spec-table th{

width:140px;

padding:14px;

}

.bp-spec-table td{

padding:14px;

}

}


/*=========================================
RELATED PRODUCTS
=========================================*/

.bp-related{

margin-top:100px;

}

.bp-section-heading{

text-align:center;

margin-bottom:60px;

}

.bp-section-heading span{

font-size:13px;

letter-spacing:3px;

text-transform:uppercase;

color:#B58A45;

font-weight:600;

}

.bp-section-heading h2{

margin:14px 0;

font-size:40px;

font-weight:700;

color:#111;

}

.bp-section-heading p{

max-width:620px;

margin:auto;

font-size:16px;

color:#777;

line-height:1.8;

}

.bp-related-grid{

display:grid;

grid-template-columns:repeat(4,1fr);

gap:28px;

}

.bp-related-card{

background:#fff;

border-radius:20px;

overflow:hidden;

transition:.35s;

border:1px solid #ECE7DF;

}

.bp-related-card:hover{

transform:translateY(-8px);

box-shadow:0 18px 45px rgba(0,0,0,.08);

}

.bp-related-image{

background:#F8F5F0;

overflow:hidden;

}

.bp-related-image img{

width:100%;

display:block;

transition:.5s;

aspect-ratio:1/1;

object-fit:cover;

}

.bp-related-card:hover img{

transform:scale(1.06);

}

.bp-related-category{

margin:22px 24px 8px;

font-size:12px;

letter-spacing:2px;

text-transform:uppercase;

color:#B58A45;

font-weight:600;

}

.bp-related-card h3{

margin:0 24px 16px;

font-size:20px;

line-height:1.4;

}

.bp-related-card h3 a{

color:#111;

text-decoration:none;

}

.bp-related-price{

margin:0 24px 22px;

font-size:22px;

font-weight:700;

}

.bp-related-card .button{

margin:0 24px 24px;

width:calc(100% - 48px);

border-radius:999px;

height:52px;

display:flex;

align-items:center;

justify-content:center;

background:#111;

color:#fff;

font-weight:600;

text-transform:uppercase;

letter-spacing:1px;

}

.bp-related-card .button:hover{

background:#333;

}

@media(max-width:992px){

.bp-related-grid{

grid-template-columns:repeat(2,1fr);

}

}

@media(max-width:640px){

.bp-related-grid{

grid-template-columns:1fr;

}

.bp-section-heading h2{

font-size:30px;

}

}

/*=========================================
COMMON CARDS
=========================================*/

.bp-product-details-card,
.bp-love-card,
.bp-delivery-card,
.bp-help-card{
margin-top:0;
padding:28px;

background:#fff;

border:1px solid #ECE7DF;

border-radius:18px;

box-shadow:0 10px 30px rgba(0,0,0,.04);

}

.bp-card-heading{

margin-bottom:24px;

padding-bottom:14px;

border-bottom:1px solid #EFE9DF;

}

.bp-card-heading h3{

margin:0;

font-size:22px;

font-weight:700;

color:#111;

}





/*=========================================
PRODUCT DETAILS
=========================================*/

.bp-product-specs{

display:flex;

flex-direction:column;

gap:16px;

}

.bp-spec-row{

display:flex;

justify-content:space-between;

align-items:flex-start;

gap:20px;

padding-bottom:14px;

border-bottom:1px dashed #EFE9DF;

}

.bp-spec-row:last-child{

border-bottom:none;

padding-bottom:0;

}

.bp-spec-title{

font-size:14px;

font-weight:600;

color:#777;

text-transform:uppercase;

letter-spacing:1px;

}

.bp-spec-value{

font-size:15px;

font-weight:600;

color:#111;

text-align:right;

}





/*=========================================
LOVE LIST
=========================================*/

.bp-love-list{

margin:0;

padding:0;

list-style:none;

}

.bp-love-list li{

position:relative;

padding-left:28px;

margin-bottom:18px;

font-size:15px;

line-height:1.8;

}

.bp-love-list li::before{

content:"✓";

position:absolute;

left:0;

top:0;

font-weight:700;

color:#B58A45;

}





/*=========================================
DELIVERY
=========================================*/

.bp-delivery-grid{

display:grid;

grid-template-columns:repeat(2,1fr);

gap:16px;

}

.bp-delivery-item{

padding:16px;

border:1px solid #EFE9DF;

border-radius:12px;

font-size:15px;

font-weight:500;

background:#FCFBF8;

transition:.3s;

}

.bp-delivery-item:hover{

border-color:#B58A45;

transform:translateY(-2px);

}





/*=========================================
HELP
=========================================*/

.bp-help-item{

padding:14px 0;

font-size:15px;

border-bottom:1px solid #EFE9DF;

}

.bp-help-item:last-child{

border-bottom:none;

}





/*=========================================
RESPONSIVE
=========================================*/

@media(max-width:767px){

.bp-product-details-card,
.bp-love-card,
.bp-delivery-card,
.bp-help-card{

padding:22px;

}

.bp-delivery-grid{

grid-template-columns:1fr;

}

.bp-spec-row{

flex-direction:column;

gap:8px;

}

.bp-spec-value{

text-align:left;

}

}


/*==================================================
BODY PORTAL
PREMIUM POLISH
PART 4
==================================================*/


/*=========================================
SECTION SPACING
=========================================*/

.bp-summary > *{

margin-bottom:32px;

}

.bp-summary > *:last-child{

margin-bottom:0;

}





/*=========================================
BREADCRUMB
=========================================*/

.bp-breadcrumb{

margin-bottom:18px;

}

.bp-breadcrumb,

.bp-breadcrumb a,

.bp-breadcrumb span{

font-size:12px;

color:#888;

line-height:1.6;

}

.bp-breadcrumb a:hover{

color:#B58A45;

}





/*=========================================
CATEGORY
=========================================*/

.bp-category{

display:flex;

align-items:center;

gap:8px;

font-size:13px;

font-weight:500;

color:#666;

text-transform:uppercase;

letter-spacing:1px;

}

.bp-category span{

color:#B58A45;

font-weight:700;

}





/*=========================================
TITLE
=========================================*/

.bp-product-title{

margin:10px 0;

font-size:44px;

font-weight:700;

line-height:1.15;

color:#111;

}





/*=========================================
INSPIRED BY
=========================================*/

.bp-inspired-by{

font-size:18px;

color:#777;

line-height:1.8;

}

.bp-inspired-by strong{

color:#111;

font-weight:600;

}





/*=========================================
RATING
=========================================*/

.bp-rating-row{

display:flex;

align-items:center;

gap:12px;

flex-wrap:wrap;

}

.bp-rating-row .star-rating{

margin:0;

font-size:16px;

}

.bp-review-count{

font-size:14px;

color:#777;

}





/*=========================================
PRICE
=========================================*/

.bp-price{

margin-top:10px;

}

.bp-price .price{

display:flex;

align-items:center;

gap:14px;

flex-wrap:wrap;

}

.bp-price ins{

font-size:34px;

font-weight:700;

text-decoration:none;

color:#111;

}

.bp-price del{

font-size:18px;

color:#999;

}





/*=========================================
FRAGRANCE NOTES
=========================================*/

/*.bp-fragrance-notes{*/

/*display:flex;*/

/*flex-wrap:wrap;*/

/*gap:12px;*/

/*}*/

/*.bp-fragrance-notes span{*/

/*position:relative;*/

/*padding-left:18px;*/

/*font-size:15px;*/

/*color:#555;*/

/*}*/

/*.bp-fragrance-notes span::before{*/

/*content:"";*/

/*position:absolute;*/

/*left:0;*/

/*top:8px;*/

/*width:7px;*/

/*height:7px;*/

/*border-radius:50%;*/

/*background:#B58A45;*/

/*}*/





/*=========================================
STOCK
=========================================*/

.bp-stock-status{

display:flex;

align-items:center;

gap:10px;

}

.bp-stock-dot{

width:10px;

height:10px;

border-radius:50%;

}

.bp-stock-dot.in-stock{

background:#28A745;

}

.bp-stock-dot.out-stock{

background:#D62828;

}

.bp-stock-text{

font-size:15px;

font-weight:600;

}

.bp-stock-text.in-stock{

color:#28A745;

}

.bp-stock-text.out-stock{

color:#D62828;

}





/*=========================================
RELATED SECTION
=========================================*/

.bp-related{

margin-top:70px;

}

.bp-section-heading{

margin-bottom:45px;

text-align:center;

}

.bp-section-heading span{

display:block;

font-size:13px;

letter-spacing:3px;

text-transform:uppercase;

color:#B58A45;

margin-bottom:10px;

}

.bp-section-heading h2{

margin:0;

font-size:38px;

font-weight:700;

}

.bp-section-heading p{

max-width:650px;

margin:18px auto 0;

color:#777;

line-height:1.8;

}





/*=========================================
CARD SPACING
=========================================*/

.bp-product-details-card,

.bp-love-card,

.bp-delivery-card,

.bp-help-card{

transition:.35s;

}

.bp-product-details-card:hover,

.bp-love-card:hover,

.bp-delivery-card:hover,

.bp-help-card:hover{

transform:translateY(-4px);

box-shadow:0 18px 45px rgba(0,0,0,.06);

}





/*=========================================
DESKTOP
=========================================*/

@media(min-width:1200px){

.bp-right-column{

padding-left:30px;

}

}





/*=========================================
TABLET
=========================================*/

@media(max-width:991px){

.bp-product-title{

font-size:36px;

}

.bp-price ins{

font-size:28px;

}

}





/*=========================================
MOBILE
=========================================*/

@media(max-width:767px){

.bp-summary>*{

margin-bottom:26px;

}

.bp-product-title{

font-size:30px;

}

.bp-inspired-by{

font-size:16px;

}

.bp-price ins{

font-size:28px;

}

.bp-price del{

font-size:16px;

}

.bp-section-heading h2{

font-size:28px;

}

}





/*=========================================
SMALL MOBILE
=========================================*/

@media(max-width:480px){

.bp-product-title{

font-size:26px;

line-height:1.3;

}

.bp-category{

font-size:11px;

}

.bp-fragrance-notes{

gap:10px;

}

.bp-fragrance-notes span{

font-size:14px;

}

.bp-related{

margin-top:50px;

}

}





/* Desktop */
.bp-product-layout{

display:grid;

grid-template-columns:minmax(0,58%) minmax(360px,42%);

gap:64px;

align-items:start;

position:relative;

}

/* Mobile */

@media(max-width:991px){

.bp-product-layout{

display:flex;

flex-direction:column;

gap:34px;

}

.bp-gallery{

order:1;

}

.bp-summary{

order:2;

}

.bp-gallery-tabs{

order:3;

}

}