/* Product details v2 — Herbinn-style PDP (backend unchanged) */
body.gp-product-details-v2 #gp-minicart-drawer,
body.gp-product-details-v2 .gp-minicart{
    display:none !important;
    visibility:hidden !important;
}
html.has-cms-layout-header body.gp-product-details-v2 {
    overflow-x: clip !important;
    overflow-y: auto !important;
    background: #fff;
    position: static !important;
    top: auto !important;
    transform: none !important;
}
body.gp-product-details-v2 .home-shell,
body.gp-product-details-v2 .pdv-page-shell,
body.gp-product-details-v2 .pdv-main-shell,
body.gp-product-details-v2 .pdv-wrap {
    overflow: visible;
    max-width: 100%;
}
html.has-cms-layout-header body.gp-product-details-v2 .gp-cms-page-header-assigned--primary {
    position: sticky !important;
    top: env(safe-area-inset-top, 0px) !important;
    left: auto;
    right: auto;
    width: 100% !important;
    z-index: 1100 !important;
}
/* Block legacy scrolly/noscroll from forcing header out of sticky (cms-storefront-layout.css) */
html.has-cms-layout-header body.gp-product-details-v2.scrolly .gp-cms-page-header-assigned--primary,
html.has-cms-layout-header body.gp-product-details-v2.noscroll .gp-cms-page-header-assigned--primary,
html.has-cms-layout-header body.gp-product-details-v2.scrolly header,
html.has-cms-layout-header body.gp-product-details-v2.noscroll header {
    position: sticky !important;
    top: env(safe-area-inset-top, 0px) !important;
    left: auto !important;
    right: auto !important;
    width: 100% !important;
}
/* PDP v2: no animated header resize on scroll */
html.has-cms-layout-header body.gp-product-details-v2 .cms-ws-header__bar,
html.has-cms-layout-header body.gp-product-details-v2 .cms-ws-header__inner,
html.has-cms-layout-header body.gp-product-details-v2 .cms-ws-header__inner--zones,
html.has-cms-layout-header body.gp-product-details-v2 .cms-ws-header__button,
html.has-cms-layout-header body.gp-product-details-v2 img.cms-ws-header__logo {
    transition: none !important;
}
body.gp-product-details-v2 .gp-main,
body.gp-product-details-v2 .pdv-main-shell {
    flex: 1;
    padding: 40px 0 0;
    background: #fff;
}
@media (max-width: 768px) {
    body.gp-product-details-v2 .gp-main,
    body.gp-product-details-v2 .pdv-main-shell {
        padding-top: 20px;
    }
}
.pdv-wrap{
    max-width:1240px;
    margin:0 auto;
    padding:32px 40px 56px;
    font-family:Inter,system-ui,sans-serif;
}
.pdv-back{
    display:inline-flex;
    align-items:center;
    gap:6px;
    margin-bottom:32px;
    color:#1a5d3d;
    font-size:14px;
    font-weight:600;
    text-decoration:none;
}
.pdv-main{
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr);
    gap:72px;
    align-items:start;
}
.pdv-gallery-card{
    /* background:#f5f6f7; */
    border:0;
    border-radius:24px;
    padding:28px;
}
.pdv-mainimg{
    min-height:400px;
    background:transparent;
    border-radius:16px;
    display:flex;
    align-items:center;
    justify-content:center;
    overflow:hidden;
}
.pdv-mainimg img{
    width:100%;
    max-width:100%;
    max-height:480px;
    object-fit:contain;
}
.pdv-summary{
    padding:0;
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    width:100%;
    max-width:none;
}
.pdv-cat{
    display:inline-flex;
    padding:7px 16px;
    border-radius:999px;
    background:#e8f5e9;
    color:#1a5d3d;
    font-size:11px;
    font-weight:700;
    letter-spacing:.1em;
    text-transform:uppercase;
    margin-bottom:20px;
}
.pdv-title{
    margin:0 0 20px;
    font-size:clamp(2rem,2.8vw,2.5rem);
    font-weight:800;
    line-height:1.1;
    color:#111827;
    letter-spacing:-.02em;
    text-transform:uppercase;
    width:fit-content;
    max-width:100%;
}
.pdv-softgel-meta{
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    gap:10px;
    margin:0 0 18px;
    width:100%;
}
.pdv-softgel-moq{
    display:inline-flex;
    padding:7px 16px;
    border-radius:999px;
    background:#e8f5e9;
    color:#1a5d3d;
    font-size:12px;
    font-weight:700;
    letter-spacing:.06em;
    text-transform:uppercase;
}
.pdv-softgel-price{
    margin:0;
    color:#1a5d3d;
    font-size:13px;
    font-weight:600;
    letter-spacing:.05em;
    text-transform:uppercase;
    line-height:1.4;
}
.pdv-softgel-price strong{
    font-size:22px;
    font-weight:800;
    letter-spacing:-.01em;
    text-transform:none;
    margin:0 .15em;
}
.pdv-softgel-price-label{
    margin-right:.35em;
}
.pdv-softgel-price-suffix{
    font-size:14px;
    font-weight:600;
    text-transform:lowercase;
    letter-spacing:.02em;
}
.pdv-desc{
    margin:0 0 28px;
    padding:0;
    border-radius:0;
    background:transparent;
    color:#6b7280;
    font-size:17px;
    line-height:1.65;
    max-width:100%;
}
.pdv-action-stack{
    width:fit-content;
    max-width:100%;
}
.pdv-inquire{
    display:block;
    width:100%;
    max-width:100%;
    padding:18px 32px;
    border:0;
    border-radius:50px;
    background:#ef7d31;
    color:#fff;
    font-size:19px;
    font-weight:700;
    font-family:inherit;
    text-align:center;
    text-decoration:none;
    cursor:pointer;
    transition:background .2s,transform .2s;
    box-sizing:border-box;
}
.pdv-inquire:hover{
    background:#d96a22;
    color:#fff;
    transform:translateY(-1px);
}
.pdv-trust{
    display:flex;
    align-items:center;
    justify-content:flex-start;
    width:100%;
    margin-top:24px;
    padding-top:20px;
    border-top:1px solid #e5e7eb;
    box-sizing:border-box;
}
.pdv-trust-item{
    display:inline-flex;
    align-items:center;
    gap:8px;
    color:#1f2937;
    font-size:15px;
    font-weight:500;
    white-space:nowrap;
}
.pdv-trust-item--right{
    padding-left:25% !important;
}
.pdv-trust-icon{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:auto;
    height:auto;
    color:#1a5d3d;
    flex-shrink:0;
}
.pdv-trust-icon svg{display:block}
.pdv-related{margin-top:64px;padding-top:24px;border-top:1px solid #e5e7eb}
.pdv-related-title{
    margin:0 0 32px;
    font-size:1.75rem;
    font-weight:800;
    color:#111827;
    text-align:center;
}
.pdv-related-carousel-wrap{
    position:relative;
    padding:0 52px;
}
.pdv-related-carousel-wrap--no-arrows{
    padding:0;
}
.pdv-related-carousel-host{
    overflow:hidden;
    width:100%;
}
.pdv-related-carousel-host .gp-component.dynamic-product-grid{
    margin:0;
}
.pdv-related-carousel-host .gp-product-grid-head{display:none !important}
.pdv-related-carousel-host .gp-product-cat{display:none !important}
.pdv-related-carousel-host .gp-product-grid{
    display:flex;
    flex-wrap:nowrap;
    align-items:flex-start;
    gap:22px;
    width:100%;
    margin-top:0;
    overflow-x:auto;
    overflow-y:hidden;
    scroll-snap-type:x mandatory;
    scroll-behavior:smooth;
    padding:4px 0 16px;
    scrollbar-width:none;
    -ms-overflow-style:none;
    box-sizing:border-box;
}
.pdv-related-carousel-host .gp-product-grid::-webkit-scrollbar{display:none}
.pdv-related-carousel-host .gp-product-grid > .gp-product-card{
    flex:0 0 calc((100% - 44px) / 3);
    width:calc((100% - 44px) / 3);
    min-width:0;
    max-width:none;
    min-height:0 !important;
    height:auto;
    scroll-snap-align:start;
    overflow:hidden;
    align-self:flex-start;
    box-sizing:border-box;
}
.pdv-related-carousel-host .gp-product-info{
    flex:0 1 auto;
    padding:12px 16px 16px;
}
.pdv-related-carousel-host .gp-product-desc{
    flex:0 0 auto;
    margin:0 0 12px;
}
.pdv-related-carousel-host .gp-product-img-wrap{
    width:100%;
    height:220px;
    margin:0;
    border-radius:12px 12px 0 0;
}
.pdv-related-carousel-host .gp-product-img-link,
.pdv-related-carousel-host .gp-product-img{
    width:100%;
    height:100%;
    display:block;
}
.pdv-related-carousel-host .gp-product-img{
    padding:0;
    object-fit:cover;
}
.pdv-related .gp-product-card .gp-view-details-link{
    align-self:flex-start;
    justify-content:flex-start;
    margin-top:0 !important;
    padding-top:0 !important;
}
.pdv-carousel-btn{
    position:absolute;
    top:38%;
    transform:translateY(-50%);
    width:42px;
    height:42px;
    border-radius:50%;
    border:none;
    background:#fff;
    box-shadow:0 4px 14px rgba(15,23,42,.12);
    cursor:pointer;
    display:flex;
    align-items:center;
    justify-content:center;
    color:#1a5d3d;
    z-index:5;
    transition:background .2s,color .2s,opacity .2s;
}
.pdv-carousel-btn:hover{
    background:#1a5d3d;
    color:#fff;
}
.pdv-carousel-btn--prev{left:0}
.pdv-carousel-btn--next{right:0}
.pdv-related-carousel-wrap.is-at-start .pdv-carousel-btn--prev,
.pdv-related-carousel-wrap.is-at-end .pdv-carousel-btn--next{
    opacity:0;
    pointer-events:none;
    visibility:hidden;
}
@media(max-width:1024px){
    .pdv-related-carousel-host .gp-product-grid > .gp-product-card{
        flex:0 0 calc((100% - 22px) / 2);
        width:calc((100% - 22px) / 2);
    }
}
@media(max-width:768px){
    .pdv-related-carousel-wrap{padding:0 40px}
    .pdv-related-carousel-host .gp-product-grid > .gp-product-card{
        flex:0 0 100%;
        width:100%;
    }
    .pdv-carousel-btn{width:36px;height:36px}
    .pdv-carousel-btn svg{width:16px;height:16px}
}
@media(max-width:900px){
    .pdv-wrap{padding:24px 20px 48px}
    .pdv-main{grid-template-columns:1fr;gap:32px}
    .pdv-gallery-card{padding:20px;border-radius:20px}
    .pdv-mainimg{min-height:300px}
    .pdv-title{font-size:1.875rem;margin-bottom:16px}
    .pdv-desc{font-size:16px;margin-bottom:24px}
    .pdv-inquire{padding:16px 28px;font-size:16px}
    .pdv-trust{margin-top:20px;padding-top:18px}
    .pdv-trust-item{font-size:14px}
}
