/* ==========================================================
   VBC Framework
   Single Product Page (PDP)
   Version: 1.0.0
========================================================== */

.vbc-product-page{
    padding:0 0 0;
    background:var(--vbc-color-background);
}

.vbc-product-page--trust{
    padding:0 0 56px;
}

/* ==========================================================
   Layout
========================================================== */

.vbc-product-page__layout{

    display:grid;

    grid-template-columns:minmax(0, 520px) 1fr;

    gap:48px;

    align-items:end;

    margin-bottom:32px;

}

/* ==========================================================
   Gallery
========================================================== */

.vbc-product-page__gallery{

    position:sticky;

    top:30px;

}

.vbc-simple-gallery{
    display:flex;
    flex-direction:column;
    max-width:520px;
}

.vbc-simple-gallery__main{
    position:relative;
    max-width:100%;
    flex:none;
    aspect-ratio:1;
    background:var(--vbc-color-surface);
    border:1px solid var(--vbc-color-border);
    overflow:hidden;
}

.vbc-simple-gallery__main img{
    width:100%;
    height:100%;
    object-fit:contain;
    padding:30px;
}

.vbc-simple-gallery__thumbs{
    display:grid;
    grid-template-columns:repeat(5,1fr);
    gap:14px;
    max-width:100%;
    margin-top:18px;
}

.vbc-simple-gallery__thumb{
    aspect-ratio:1;
    padding:0;
    background:var(--vbc-color-surface);
    border:1px solid var(--vbc-color-border);
    overflow:hidden;
    cursor:pointer;
    transition:.25s;
}

.vbc-simple-gallery__thumb img{
    width:100%;
    height:100%;
    object-fit:contain;
}

.vbc-simple-gallery__thumb.is-active,
.vbc-simple-gallery__thumb:hover{
    border-color:var(--vbc-color-primary);
}

.woocommerce-product-gallery{

    width:100%;

    opacity:1 !important;

}

.woocommerce-product-gallery__wrapper{

    background:#fff;

    border:1px solid var(--vbc-color-border);

    border-radius:0;

    overflow:hidden;

}

.woocommerce-product-gallery__image{

    padding:30px;

    background:#fafafa;

}

.flex-control-thumbs{

    display:grid;

    grid-template-columns:repeat(5,1fr);

    gap:14px;

    margin-top:18px !important;

}

.flex-control-thumbs li{

    border:1px solid var(--vbc-color-border);

    border-radius:0;

    overflow:hidden;

    cursor:pointer;

    transition:.25s;

}

.flex-control-thumbs li:hover{

    border-color:var(--vbc-color-primary);

}

/* ==========================================================
   Summary
========================================================== */

.vbc-product-page__summary{

    display:flex;

    flex-direction:column;

}

.vbc-product-page__sku{

    margin-bottom:10px;

    color:var(--vbc-color-muted);

    font-size:14px;

    text-transform:uppercase;

    letter-spacing:.08em;

}

.vbc-product-page__title{

    margin-bottom:14px;

}

.vbc-product-page__title h1,
.vbc-product-page__title .product_title{

    margin:0;

    font-size:34px;

    line-height:1.15;

    color:var(--vbc-color-heading);

}

.vbc-product-page__price{

    display:inline-flex;

    align-items:center;

    align-self:flex-start;

    margin-bottom:16px;

    color:var(--vbc-color-primary);

    font-weight:700;

    letter-spacing:.02em;

}

.vbc-product-page__price .price{

    font-size:42px;

}

.vbc-product-page__price del{

    color:var(--vbc-color-muted);

    margin-right:12px;

    font-size:24px;

}

.vbc-product-page__price ins{

    text-decoration:none;

}

.vbc-product-page__rating{

    display:flex;

    align-items:center;

    gap:14px;

    margin-bottom:28px;

}

.vbc-product-page__excerpt{

    margin-bottom:16px;

    color:var(--vbc-color-body);

    font-size:17px;

    line-height:1.9;

}

/* ==========================================================
   Cart
========================================================== */

.vbc-product-page__cart{

    margin-bottom:0;

}

.vbc-product-page__cart form.cart{

    display:flex;

    gap:16px;

    align-items:center;

    flex-wrap:wrap;

}

.vbc-product-page__cart .quantity.vbc-qty-stepper-wrapper{

    display:flex;

    align-items:center;

    height:52px;

    border:1px solid var(--vbc-color-border);

    border-radius:0;

    overflow:hidden;

}

.vbc-product-page__cart .quantity input{

    width:56px;

    height:100%;

    border:none;

    text-align:center;

    -moz-appearance:textfield;

}

.vbc-product-page__cart .quantity input::-webkit-inner-spin-button,
.vbc-product-page__cart .quantity input::-webkit-outer-spin-button{

    -webkit-appearance:none;

    margin:0;

}

.vbc-qty-stepper{

    width:38px;

    height:100%;

    border:none;

    background:var(--vbc-color-surface);

    color:var(--vbc-color-heading);

    font-size:18px;

    line-height:1;

    cursor:pointer;

    transition:var(--vbc-transition-fast);

}

.vbc-qty-stepper:hover{

    background:var(--vbc-color-border);

}

.vbc-product-page__cart .single_add_to_cart_button{

    height:54px;

    padding:0 34px;

    background:var(--vbc-color-primary);

    border:none;

    border-radius:0;

    color:#fff;

    font-size:15px;

    font-weight:700;

    transition:.25s;

}

.vbc-product-page__cart .single_add_to_cart_button:hover{

    background:var(--vbc-color-accent);

}

/* ==========================================================
   Meta
========================================================== */

.vbc-product-page__meta{

    display:flex;

    flex-direction:column;

    gap:18px;

    padding-top:30px;

    border-top:1px solid var(--vbc-color-border);

}

.vbc-product-page__meta strong{

    display:block;

    margin-bottom:6px;

    color:var(--vbc-color-heading);

}

/* ==========================================================
   Tabs
========================================================== */

.vbc-product-page__tabs{

    margin-top:0;

    margin-bottom:0;

}

.woocommerce-tabs ul.tabs{

    display:flex;

    gap:12px;

    margin-bottom:40px !important;

    border:none;

}

.woocommerce-tabs ul.tabs::before{

    display:none;

}

.woocommerce-tabs ul.tabs li{

    border:none !important;

    background:#f4f4f4 !important;

    border-radius:0 !important;

}

.woocommerce-tabs ul.tabs li a{

    padding:14px 24px;

}

.woocommerce-tabs ul.tabs li.active{

    background:var(--vbc-color-primary) !important;

}

.woocommerce-tabs ul.tabs li.active a{

    color:#fff !important;

}

.woocommerce-Tabs-panel{

    padding:40px;

    background:#fff;

    border:1px solid var(--vbc-color-border);

    border-radius:0;

}

/* ==========================================================
   Related Products
========================================================== */

.vbc-product-page__related{

    margin-top:0;

}

/* ==========================================================
   Responsive
========================================================== */

@media (max-width:1100px){

    .vbc-product-page__layout{

        grid-template-columns:1fr;

    }

    .vbc-product-page__gallery{

        position:relative;

        top:auto;

        height:auto;

    }

    .vbc-simple-gallery{
        height:auto;
        max-width:100%;
    }

    .vbc-simple-gallery__main{
        flex:none;
        aspect-ratio:1;
    }

}

@media (max-width:768px){

    .vbc-product-page{

        padding:0 0 0;

    }

    .vbc-product-page__title h1,
    .vbc-product-page__title .product_title{

        font-size:28px;

    }

    .vbc-product-page__price .price{

        font-size:32px;

    }

    .vbc-product-page__cart form.cart{

        flex-direction:column;

        align-items:stretch;

    }

    .vbc-product-page__cart .quantity.vbc-qty-stepper-wrapper{

        align-self:flex-start;

    }

    .vbc-product-page__cart .quantity input{

        width:56px;

    }

    .vbc-product-page__cart .single_add_to_cart_button{

        width:100%;

    }

    .woocommerce-tabs ul.tabs{

        flex-wrap:wrap;

    }

    .woocommerce-Tabs-panel{

        padding:24px;

    }

}
/* ==========================================================
   Badge
========================================================== */

.vbc-badge{

    display:inline-block;

    margin-bottom:16px;

    padding:6px 16px;

    border-radius:0;

    font-size:12px;

    font-weight:700;

    letter-spacing:.08em;

    text-transform:uppercase;

}

.vbc-badge--bestseller{

    background:var(--vbc-color-accent);

    color:#fff;

}

/* ==========================================================
   Feature List
========================================================== */

.vbc-product-page__features{

    display:flex;

    flex-direction:column;

    gap:8px;

    margin:0 0 18px;

    padding:0;

    list-style:none;

}

.vbc-product-page__features li{

    display:flex;

    align-items:center;

    gap:10px;

    color:var(--vbc-color-body);

    font-size:15px;

}

.vbc-product-page__features .vbc-icon-check{

    width:18px;

    height:18px;

    flex-shrink:0;

    background-color:var(--vbc-color-accent);

}

/* ==========================================================
   Buy Now / Wishlist
========================================================== */

.vbc-product-page__buy-now{

    display:inline-flex;

}

.vbc-product-page__buy-now .vbc-btn--dark{

    height:54px;

    padding:0 34px;

    background:var(--vbc-color-heading);

    border:none;

    border-radius:0;

    color:#fff;

    font-size:15px;

    font-weight:700;

    cursor:pointer;

    transition:.25s;

}

.vbc-product-page__buy-now .vbc-btn--dark:hover{

    background:var(--vbc-color-primary);

}

.vbc-product-page__wishlist{

    display:inline-flex;

    align-items:center;

    gap:8px;

    margin-top:18px;

    color:var(--vbc-color-body);

    font-size:14px;

    font-weight:600;

    text-decoration:none;

}

.vbc-product-page__wishlist .vbc-icon-heart{

    width:16px;

    height:16px;

    background-color:currentColor;

}

.vbc-product-page__wishlist:hover{

    color:var(--vbc-color-primary);

}

/* ==========================================================
   Trust Row
========================================================== */

.vbc-product-page__trust{

    display:grid;

    grid-template-columns:repeat(4,1fr);

    gap:20px;

    margin-bottom:20px;

}

.vbc-product-page__trust > span{

    position:relative;

    display:flex;

    flex-direction:column;

    align-items:center;

    text-align:center;

    gap:8px;

    padding:26px 14px;

    background:var(--vbc-color-surface);

    border:1px solid var(--vbc-color-border);

    color:var(--vbc-color-body);

}

.vbc-product-page__trust [class^="vbc-icon-"]{

    width:22px;

    height:22px;

    flex-shrink:0;

    background-color:var(--vbc-color-accent);

}

.vbc-product-page__trust h4{

    font-family:var(--vbc-font-heading);

    font-size:14px;

    font-weight:700;

    letter-spacing:.02em;

    text-transform:uppercase;

    color:var(--vbc-color-heading);

    margin:2px 0 0;

}

.vbc-product-page__trust p{

    margin:0;

    font-size:12px;

    color:var(--vbc-color-body);

    letter-spacing:.02em;

}

@media (max-width:767px){

    .vbc-product-page__trust{

        grid-template-columns:1fr 1fr;

    }

}

.vbc-product-page__write-review{

    margin-left:10px;

    color:var(--vbc-color-primary);

    font-size:13px;

    font-weight:600;

    text-decoration:underline;

}

.vbc-product-page__rating{

    display:flex;

    align-items:center;

    flex-wrap:wrap;

    gap:6px;

}

/* ==========================================================
   Reviews Section
========================================================== */

.vbc-product-page__reviews{

    padding:90px 0;

    background:#fafafa;

}

.vbc-review-summary{

    display:grid;

    grid-template-columns:260px 1fr;

    gap:60px;

    align-items:center;

    margin-bottom:56px;

    padding:40px;

    background:#fff;

    border:1px solid var(--vbc-color-border);

    border-radius:0;

}

.vbc-review-summary__score{

    display:flex;

    flex-direction:column;

    align-items:center;

    gap:10px;

    text-align:center;

    border-right:1px solid var(--vbc-color-border);

}

.vbc-review-summary__score strong{

    font-size:56px;

    line-height:1;

    color:var(--vbc-color-heading);

}

.vbc-review-summary__score span{

    color:var(--vbc-color-muted);

    font-size:14px;

}

.vbc-review-summary__bars{

    display:flex;

    flex-direction:column;

    gap:10px;

}

.vbc-review-bar{

    display:grid;

    grid-template-columns:44px 1fr 40px;

    align-items:center;

    gap:14px;

}

.vbc-review-bar__label{

    color:var(--vbc-color-muted);

    font-size:13px;

    font-weight:600;

    white-space:nowrap;

}

.vbc-review-bar__track{

    display:block;

    height:8px;

    background:#eee;

    border-radius:0;

    overflow:hidden;

}

.vbc-review-bar__fill{

    display:block;

    height:100%;

    background:var(--vbc-color-accent);

    border-radius:0;

}

.vbc-review-bar__percent{

    color:var(--vbc-color-muted);

    font-size:13px;

    text-align:right;

}

.vbc-product-page__review-form{

    max-width:640px;

    margin:56px auto 0;

    padding:40px;

    background:#fff;

    border:1px solid var(--vbc-color-border);

    border-radius:0;

}

.vbc-product-page__review-form .comment-reply-title{

    display:block;

    margin-bottom:20px;

    font-size:22px;

    color:var(--vbc-color-heading);

}

.vbc-product-page__review-form textarea,
.vbc-product-page__review-form input[type="text"],
.vbc-product-page__review-form input[type="email"]{

    width:100%;

    margin-bottom:16px;

    padding:14px 16px;

    border:1px solid var(--vbc-color-border);

    border-radius:0;

    font-family:inherit;

}

.vbc-product-page__review-form .form-submit input{

    height:50px;

    padding:0 30px;

    background:var(--vbc-color-primary);

    border:none;

    border-radius:0;

    color:#fff;

    font-weight:700;

    cursor:pointer;

}

/* ==========================================================
   Responsive: Summary Additions
========================================================== */

@media (max-width:768px){

    .vbc-review-summary{

        grid-template-columns:1fr;

        padding:28px;

    }

    .vbc-review-summary__score{

        border-right:none;

        padding-bottom:24px;

        border-bottom:1px solid var(--vbc-color-border);

    }

    .vbc-product-page__review-form{

        padding:24px;

    }

}