@supports (-webkit-appearance: none) {
    details {
        list-style: none;
    }
}

ol, ul {
    margin: 0;
}
.delivery-date.loading{
    filter: blur(1px);
}
.single-product .delivery-date {
    padding-bottom: 12px;
  }
  body.single-product .shoptimizer-archive{
    background-color:#FAFAFA; 
}
  .single-product .delivery-date .free, .single-product .delivery-date .fastest {
    display: flex;
    align-items: center;
    font-size: 14px;
    line-height: 19px;
    letter-spacing: -0.56px;
  }
  .single-product .delivery-date .fastest img {
    width: 24px;
    height: 24px;
    padding: 2px 5px;
    margin-right: 4px;
  }
  .single-product .delivery-date .free {
    margin-top: 12px;
  }
  .single-product .delivery-date .free img {
    width: 24px;
    height: 24px;
    padding: 3px 1.25px;
    margin-right: 4px;
  }
  .single-product .delivery-date .date {
    font-size: 14px;
    line-height: 19px;
    font-weight: 700;
    letter-spacing: -0.56px;
    margin-left: 6px;
  }
.single-product .site-content .col-full{
    padding-right: 2.617924em;
    padding-left: 2.617924em;
    background-color: transparent !important;
}
/* body.single-product .col-full {
    max-width: 1280px !important;
    margin-left: auto !important;
    margin-right: auto !important;
} */
.single-product .summary #wishlist,
div.product form.cart .quantity,
.single_variation_wrap .woocommerce-variation-price{
    display: none !important;
}
.single-product div.product form.cart .button,
.single-product div.product #financing-accordion{
    display: block;
    margin: 0;
    width: 100%;
}
div.product table.variations tr.accordion td.value{
    opacity: 0;
    height: 0;
    /* overflow: hidden; */
    margin: 0;
    padding: 0 20px 12px;
    overflow: auto;
    transition: all .2s ease;
}
div.product table.variations tr.accordion th.label svg{
    transition: .3s linear;
    transform: rotate(0deg);
    cursor: pointer;
    position: absolute;
    top: 14px;
    right: 20px;
}
div.product form.variations_form label .ckwtl-os-label {
    margin: 2px 0 0 0!important;
}
div.product .out-of-stock-text {
    color: #DC3545;
    margin: 0;
    font-size: 12px;
    line-height: 20px;
    padding-top: 4px;
    max-width: max-content;
    min-width: min-content;
}
div.product table.variations tr.accordion.active th.label svg{
    transform: rotate(180deg);
}
div.product table.variations tr.accordion.active td.value{
    opacity: 1;
    height: auto;
    overflow: auto;
    padding: 0 20px 12px;
}
div.product table.variations .active .label{
    padding: 12px 20px 0;
}
div.product table.variations .active .value{
    padding: 12px 20px;
}
.help-block{
    position: relative;
}
.help-block .help-popup{
    transition: .3s linear;
    visibility: hidden;
    opacity: 0;
    position: absolute;
    left: 0;
    top: 0;
    z-index: 99;
}
.help-block .help-popup.active{
    visibility: visible;
    opacity: 1;
}
.custom-product-summary.loading{
    cursor: wait;
    filter: blur(1px);
}
.custom-product-summary.loading button{
    pointer-events: none;
}
.woocommerce-tabs.wc-tabs-wrapper, body.pdp-full #page .woocommerce-tabs{
    display: flex;
    flex-wrap: wrap;
    overflow: visible;
    position: relative;
    max-width: 1280px;
    margin: 0 auto;
    padding: 0 0 100px 0;
}
.woocommerce-tabs.wc-tabs-wrapper, body.pdp-full #page .woocommerce-tabs .ccs-cc-inline-section.ccs-cc-inline-windows11{
    display: none;
}
#commercegurus-pdp-gallery-wrapper{
    max-width: 100%;
    /* Single source of truth for the rounded gallery frame. Reference these vars everywhere
       so the rounding can never drift between states (pre-init, initialized, lightbox open/
       closed). Deliberately NOT gated on the JS .cg-lightbox-active class — that gating is
       what let the corners regress to square before. Guarded by `npm run test:pdp`. */
    --dx-gallery-radius: 16px;
    --dx-gallery-frame: 1.333px solid #D5D5D5;
}
/* Rounded frame on the always-present image link, in EVERY gallery state (no
   .cg-lightbox-active dependency). overflow:hidden clips the inner image to the rounded
   frame robustly, independent of the image's own radius. */
#commercegurus-pdp-gallery-wrapper .cg-main-swiper .swiper-slide-imglink{
    border-radius: var(--dx-gallery-radius);
    border: var(--dx-gallery-frame);
    overflow: hidden;
}
/* Reserve a square gallery box BEFORE swiper inits and before the image loads,
   so the box never collapses/jumps (CLS). 1:1 matches the 524x524 source.
   The :not(.swiper-container-initialized) rules stop matching the instant
   CommerceKit adds that class, so they never fight the initialized-state rules. */
#commercegurus-pdp-gallery-wrapper .cg-main-swiper,
#commercegurus-pdp-gallery-wrapper .cg-main-swiper > ul.swiper-wrapper {
    aspect-ratio: 1 / 1;
}
.swiper-container.cg-main-swiper:not(.swiper-container-initialized) .swiper-wrapper .swiper-slide {
    aspect-ratio: 1 / 1;
    height: auto;
    width: 100%;
    overflow: hidden;
    border-radius: var(--dx-gallery-radius);
}
.swiper-container.cg-main-swiper:not(.swiper-container-initialized) .swiper-wrapper .swiper-slide:not(:first-child) {
    display: none; /* hide stacked slides pre-init; swiper restores them on init */
}
#commercegurus-pdp-gallery-wrapper .cg-main-swiper .swiper-slide img.wp-post-image,
#commercegurus-pdp-gallery-wrapper .cg-main-swiper .swiper-slide > img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    border-radius: var(--dx-gallery-radius);
}
#compare-like-button{
    position: relative;
    z-index: 999;
}
div.product .summary,
div.product .images{
    float: none;
}
body.single-product del {
    text-decoration: auto;
    margin-right: 0;
    font-size: inherit;
    line-height: 40px;
}
/* body.single-product #right-summary-section del {
    flex: 0 0 100%;
    line-height: 25px;
} */
body.single-product .fa.fa-clock-o {
    display: none;
}
body.single-product{
    font-family: "Ubuntu", sans-serif !important;
    padding-bottom: 0;
}
#right-summary-section form.cart .woocommerce-error{
    margin: 21px 0 0 0;
    padding: 10px 15px;
}
/* body.single-product .site-content .col-full{
    background-color: transparent;
    max-width: 1280px;
    margin: 0 auto;
} */

body.single-product .shoptimizer-archive .product-details-wrapper{
    display: flex;
    justify-content: center;
    grid-template-columns: 1fr 2fr 1fr;
    gap: 18px;
    padding-top: 48px;
    padding-bottom: 100px;
    margin: 0 auto;
}
body.single-product .archive-header{
    background: #fff;
    border-top: 1px solid #F0F0F0;
    border-bottom: 1px solid #F0F0F0;
}

/* /////slider///// */
.swiper-container.cg-main-swiper.swiper-container-initialized .swiper-wrapper .swiper-slide{
    height: 524px;
    width: 100% !important;
    max-width: 524px;
    min-width: 524px;
}
body.single-product div.cgkit-iframe-wrap {
    padding-bottom: 100%!important;
}
body.single-product div.cgkit-iframe-wrap iframe {
    pointer-events: none;
    border-radius: var(--dx-gallery-radius);
    left: 0;
}
body.single-product #commercegurus-pdp-gallery .swiper-button-next,
body.single-product #commercegurus-pdp-gallery .swiper-button-prev{
    border-radius: 16px;
    border: 1.333px solid #D5D5D5;
    height: 110px;
    width: 22px;
    top: 45px;
}
body.single-product .swiper-button-next.swiper-button-disabled,
body.single-product .swiper-button-prev.swiper-button-disabled{
    visibility: visible;
}

/* left-summary-section///////////// */

body.single-product  #left-summary-section{
    width: 100%;
    max-width: 524px;
    position: relative;
}
body.single-product .cg-main-swiper .swiper-button-next,
body.single-product .cg-main-swiper .swiper-button-prev{
    display: none;
}
body.single-product  #left-summary-section  .cg-lightbox-active .swiper-slide img{
    max-width: 100%;
    border-radius: var(--dx-gallery-radius);
    object-fit: contain;
    height: 100% !important;
}
/* The .swiper-slide-imglink frame is now rounded unconditionally near the top of this file;
   this lightbox-state rule only keeps the stage height (and the legacy slick frame). */
body.single-product  #left-summary-section  .cg-lightbox-active .swiper-slide-imglink,
body.single-product .main-slider .slick-slide {
    border-radius: var(--dx-gallery-radius, 16px);
    border: var(--dx-gallery-frame, 1.333px solid #D5D5D5);
    height: 524px;
}
body.single-product .main-slider .slick-slide img {
    border-radius: 16px;
}
body.single-product .thumb-slider .slick-prev.slick-disabled:before,
body.single-product .thumb-slider .slick-prev:before,
body.single-product .thumb-slider .slick-next.slick-disabled:before,
body.single-product .thumb-slider .slick-next:before {
    content: '';
    display: block;
    font-size: 16px;
    line-height: 16px;
    width: 20px;
    height: 18px;
    background-color: #24211F;
    -webkit-mask-image: url("data:image/svg+xml;charset=utf8,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M15 19L8 12L15 5' stroke='%234A5568' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml;charset=utf8,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M15 19L8 12L15 5' stroke='%234A5568' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    -webkit-mask-position: center;
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-size: contain;
}
body.single-product .thumb-slider .slick-next.slick-disabled:before,
body.single-product .thumb-slider .slick-next:before {
    transform: scaleX(-1);
}
body.single-product .thumb-slider .slick-prev.slick-disabled:before,
body.single-product .thumb-slider .slick-next.slick-disabled:before {
    opacity: .4;
}
body.single-product .thumb-slider .slick-prev:before,
body.single-product .thumb-slider .slick-next:before {
    opacity: 1;
}
body.single-product .thumb-slider .slick-prev.slick-disabled,
body.single-product .thumb-slider .slick-prev,
body.single-product .thumb-slider .slick-next.slick-disabled,
body.single-product .thumb-slider .slick-next {
    border-radius: 16px;
    border: 1.333px solid #D5D5D5;
    height: 110px;
    width: 22px;
    bottom: 0;
}
body.single-product .thumb-slider {
    max-width: 474px;
    margin: 3.4rem auto 27px;
}
body.single-product .thumb-slider .slick-thumb img {
    max-width: 100%;
    border-radius: 16px;
    object-fit: contain;
}
body.single-product .thumb-slider .slick-thumb {
    display: flex;
    align-items: center;
    width: 110px !important;
    height: 110px;
    border-radius: 8px;
    border: 1.333px solid #D5D5D5;
    padding-left: 5px;
    padding-right: 5px;
    position: relative;
}
body.single-product .thumb-slider .slick-track {
    display: flex;
    align-items: center;
    gap: 7px;
    cursor: grab;
}
body.single-product .thumb-slider .slick-thumb.slick-current {
    border-bottom: 3px solid #BB3DA1 !important;
}
body.single-product .slick-dots li button {
    width: 16px;
    height: 8px;
}
/*body.single-product #commercegurus-pdp-gallery {*/
/*    display: none;*/
/*}*/
body.single-product .slick-dots {
    display: flex;
    bottom: -43px;
    align-items: center;
    justify-content: center;
    gap: 8px;
}
body.single-product .slick-dots li {
    margin: 0;
}
body.single-product .slick-dots li.slick-active {
    width: 40px;
}
body.single-product .slick-dots li button:before {
    width: 16px;
    height: 8px;
    content: '';
    border-radius: 11px;
    opacity: 0.1;
    background: var(--Main-Black, #24211F);
    transition: all .2s ease;
}
body.single-product .slick-dots li.slick-active button:before {
    opacity: 1;
    width: 40px;
    background: var(--Brand-colors-Purple, #BB3DA1);
}
body.single-product #left-summary-section  .compare-wishlist-container img,
body.single-product #left-summary-section  .custom-wishlist img{
    border-radius: 12px;
    border: 1px solid #D5D5D5;
    padding: 12px;
    width: 42px;
    height: 42px;
    background-color: #FFFFFF;
}
.single-product #commercegurus-pdp-gallery-wrapper .cg-thumb-swiper ul.swiper-wrapper {
    max-width: 465px;
    margin: auto;
}
body.single-product .woocommerce-Tabs-panel--description * {
    font-family: 'Inter', 'Ubuntu', system-ui, -apple-system, sans-serif;
}
body.single-product .woocommerce-Tabs-panel--additional_information * {
    font-family: 'Inter', 'Ubuntu', system-ui, -apple-system, sans-serif;
    margin: 0;
}
body.single-product .woocommerce-Tabs-panel--description h1,
body.single-product .woocommerce-Tabs-panel--description h2,
body.single-product .woocommerce-Tabs-panel--description h3,
body.single-product .woocommerce-Tabs-panel--description h4,
body.single-product .woocommerce-Tabs-panel--description h5,
body.single-product .woocommerce-Tabs-panel--description h6,
body.single-product .woocommerce-Tabs-panel--additional_information h1,
body.single-product .woocommerce-Tabs-panel--additional_information h2,
body.single-product .woocommerce-Tabs-panel--additional_information h3,
body.single-product .woocommerce-Tabs-panel--additional_information h4,
body.single-product .woocommerce-Tabs-panel--additional_information h5,
body.single-product .woocommerce-Tabs-panel--additional_information h6 {
    font-family: 'Ubuntu', 'Inter', system-ui, -apple-system, sans-serif;
}
body.single-product .woocommerce-Tabs-panel--description > *+* {
    margin-top: 25px;
}
body.single-product #left-summary-section  .compare-wishlist-container img:hover,
body.single-product #left-summary-section  .custom-wishlist img:hover{
    border: 1px solid #2E2E2E;
    background: linear-gradient(0deg, rgba(176, 203, 31, 0.05) 0%, rgba(176, 203, 31, 0.05) 100%), #FFF;
    box-shadow: 0px 0px 12px 0px rgba(38, 38, 38, 0.02);
}
body.single-product #left-summary-section  #compare-like-button{
    position: absolute;
    top: 16px;
    right: 16px;
    left: auto;
    cursor: pointer;
    z-index: 3;
}
body.single-product #left-summary-section  #compare-like-button .compare-wishlist-container .comparelabel,
body.single-product #left-summary-section  #compare-like-button .custom-wishlist span{
    opacity: 0; 
    transition: opacity 0.3s ease; 
    border-radius: 16px;
    background: #FFF;
    box-shadow: 0px 4px 14px 0px rgba(0, 0, 0, 0.11);
    color: #0B0B0B;
    font-size: 14px;
    font-style: normal;
    font-weight: 500;
    line-height: 20px;
    padding: 16px 20px;
    position: absolute;
    top: -84px;
    right: 0;
    width: 140px;
    display: flex;
    align-items: center;
    justify-content: center;
    pointer-events: none;
}
body.single-product #left-summary-section  #compare-like-button .custom-wishlist span {
    left: 0;
    top: -7px;
}
body.single-product #left-summary-section  #compare-like-button .compare-wishlist-container .comparelabel {
    top: -81px;
    left: -50px;
}
.single-product .specification-section .kf-item>*:last-child {
    margin: 0 0 0.5em;
}

body.single-product #left-summary-section  #compare-like-button .compare-wishlist-container:hover .comparelabel,
body.single-product #left-summary-section  #compare-like-button .custom-wishlist:hover span {
    opacity: 1;
    pointer-events: all;
}
body.single-product  #compare-like-button .compare-wishlist-container{
    display: flex;
    border-top: none;
    margin-bottom: 8px;
    margin-top: 0;
}
body.single-product .cg-lightbox-active .cg-thumb-swiper ul.swiper-wrapper {
    gap: 7px;
}
.cg-thumb-swiper .swiper-slide{
    opacity: 1 !important;
}
body.single-product .cg-thumb-swiper .swiper-wrapper .swiper-slide{
    width: 110px;
    border-radius: 8px;
    border: 1.333px solid #D5D5D5;
}
body.single-product .cg-thumb-swiper .swiper-wrapper .swiper-slide-thumb-active{
    border-bottom: 3px solid #BB3DA1 !important;
}
body.single-product .cg-thumb-swiper .swiper-wrapper .swiper-slide{
    width: 110px !important;
    height: 110px;
    border-radius: 8px;
    border: 1.333px solid #D5D5D5;
}
body.single-product #commercegurus-pdp-gallery .cg-thumb-swiper {
    padding: 24px 0;
}
body.single-product .available-coupons {
    position: relative;
    margin-top: 1rem;
}
body.single-product .available-coupons .coupon-box {
    border: 1.333px dashed #D5D5D5;
    padding: 16px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 0!important;
    border-radius: 8px!important;
}
body.single-product .available-coupons .coupon-box+.coupon-box {
    margin-top: 1rem;
}
body.single-product .available-coupons .coupon-info{
    gap: 16px;
}
body.single-product .available-coupons .coupon-info .coupon-icon{
    margin-right: 0;
    display: flex;
    align-items: center;
}
body.single-product .available-coupons .coupon-info .coupon-icon+div {
    margin-right: 50px;
}
body.single-product .available-coupons .coupon-info h4{
    font-family: 'Ubuntu';
    font-size: 16px;
    font-style: normal;
    font-weight: 500!important;
    line-height: 24px;
}
body.single-product .available-coupons .coupon-info p{
    color: #737373;
    font-size: 12px;
    font-weight: 400;
    line-height: 18.856px; 
    margin: 0 !important;
}
.coupon-badge{
    display: flex;
    align-items: center;
    justify-content: center;
    color: #FFF;
    font-size: 13.463px;
    font-weight: 500;
    line-height: 13.463px;
    position: absolute;
    right: 20px;
    width: 40px;
    height: 40px;
}
.available-coupons .coupon-badge{
    width: 45px;
    height: 45px;
}
.coupon-badge img{
    position: absolute;
    z-index: -1;
}
.available-coupons .coupon-badge img{
    width: 45px;
    height: 45px;
}
body.single-product .specification-section{
    padding: 32px 0 0 0;
    margin-top: 0;
    background: transparent;
}
body.single-product .specification-section .container{
    max-width: 100%;
    margin: 0 auto;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    gap: 11px;
}
body.single-product .specification-section h5{
    color: #737373;
    font-family: Ubuntu;
    font-size: 12px;
    font-style: normal;
    font-weight: 400;
    line-height: 18.856px;
}
body.single-product .specification-section .kf-item{
    margin: 0;
    flex-basis: auto;
    border-radius: 16px;
    border: 1px solid var(--Stroke, #F0F0F0);
    background: var(--Text-whyte, #FFF);
    box-shadow: 0px 4px 18px 0px rgba(0, 0, 0, 0.03);
    padding: 11px 11px;
    max-width: 122px;
}
body.single-product .product-details-wrapper #middle-summary-section{
    /* min-width: 413px; */
    max-width: 413px;
    width: 100%;
}

/* ///FREE GIFT///// */ 
body.single-product .product-details-wrapper #middle-summary-section section.elementor-section {
    border-radius: 8px;
    background: #EFEEE4;
    padding-bottom: 24px;
}
body.single-product .commercekit-sticky-add-to-cart.visible {
    display: none;
}
.elementor-179281 .elementor-element.elementor-element-b5456f6{
    margin: 0;
    position: absolute;
    left: 47%;
    right: 50%;
    z-index: 1;
    top: 11px;
}
.elementor-179281 .elementor-element.elementor-element-b5456f6 .elementor-heading-title{
    color: #FFF !important;
    font-size: 10px !important;
    font-style: normal;
    font-weight: 400 !important;
    line-height: 20px;
    background: #B0CB1F;
    padding: 0 8px;
    border-radius: 4px;
}
.elementor-section.elementor-section-boxed > .elementor-container{
    display: grid;
    margin: 0;
}
.elementor-column.elementor-col-50, .elementor-column[data-col="50"]{
    width: 100% !important;
}
.elementor-widget-wrap{
    display: flex;
    align-items: center;
    background-color: transparent;
}
.elementor-179281 .elementor-element.elementor-element-2052a7b:not(.elementor-motion-effects-element-type-background) > .elementor-widget-wrap, .elementor-179281 .elementor-element.elementor-element-2052a7b > .elementor-widget-wrap > .elementor-motion-effects-container > .elementor-motion-effects-layer{
    background-color: transparent !important;
    flex-wrap: nowrap;
    padding: 0;
    margin: 0;
}
.elementor-179281 .elementor-element.elementor-element-b6fabd3:not(.elementor-motion-effects-element-type-background) > .elementor-widget-wrap, .elementor-179281 .elementor-element.elementor-element-b6fabd3 > .elementor-widget-wrap > .elementor-motion-effects-container > .elementor-motion-effects-layer{
    background-color: transparent !important;
    flex-wrap: nowrap;
    padding: 0;
    margin: 0;
}
.elementor-widget:not(:last-child) {
    margin-block-end: 0;
    margin-bottom: 0;
}
.elementor-179281 .elementor-element.elementor-element-fa125da img,
.elementor-179281 .elementor-element.elementor-element-e8c2255 img{
    width: 146px;
    display: flex;
}
.elementor-179281 .elementor-element.elementor-element-fbe38b6,
.elementor-179281 .elementor-element.elementor-element-8a318a8{
    text-align: start !important;
}
.elementor-179281 .elementor-element.elementor-element-fbe38b6 h4,
.elementor-179281 .elementor-element.elementor-element-8a318a8 > .elementor-widget-container h4{
   color: var(--Text-Black, #0B0B0B);
    font-size: 16px !important;
    font-weight: 400 !important;
    line-height: 18.856px; /* 117.851% */
}

.elementor-widget:not(:last-child){
    margin-bottom: 12px;
}

/* ════════ Brand eyebrow (design .dx-brandrow) — above the H1 on all breakpoints ════════
   Rendered by droix_pdp_brand_eyebrow() only when the product has a pa_brands term, so it
   reserves no space when absent (no layout shift). */
body.single-product .dx-brandrow{
    display: flex;
    align-items: center;
    gap: 13px;
    margin: 0 0 10px;
}
body.single-product .dx-brandmark{
    display: inline-flex;
    align-items: center;
    height: 26px;
    text-decoration: none;
    cursor: pointer;
}
/* Neutral wordmark fallback; per-brand treatments keyed by term slug below (mirrors the
   design reference BRANDS map). Unknown brands fall back to this so any brand renders cleanly. */
body.single-product .dx-brandmark-word{
    font-family: 'Ubuntu', sans-serif;
    font-weight: 700;
    font-size: 18px;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #16181D;
    line-height: 1;
    white-space: nowrap;
}
body.single-product .dx-brandmark-word[data-brand="gpd"]{
    color: #1F7AE0;
    font-weight: 700;
    font-size: 22px;
    letter-spacing: -0.015em;
    text-transform: none;
}
body.single-product .dx-brandmark-word[data-brand="ayn"]{
    color: #1B1C20;
    font-weight: 300;
    font-size: 23px;
    letter-spacing: 0.02em;
    text-transform: lowercase;
}
body.single-product .dx-brandmark-word[data-brand="beambox"]{
    color: #16181D;
    font-weight: 700;
    font-size: 18px;
    letter-spacing: 0.015em;
    text-transform: none;
}
body.single-product .dx-brand-sep{
    width: 1px;
    height: 17px;
    background: #D9D9D9;
    flex: 0 0 auto;
}
body.single-product .dx-brand-link{
    display: inline-flex;
    align-items: center;
    gap: 3px;
    font-family: 'Ubuntu', sans-serif;
    font-size: 13px;
    font-weight: 500;
    color: #666666;
    text-decoration: none;
    white-space: nowrap;
}
body.single-product .dx-brand-link:hover{
    color: #74A401;
}
body.single-product .dx-brand-link .dx-brand-chevron{
    flex: 0 0 auto;
}
body.single-product .product-details-wrapper #middle-summary-section h1{
    color:#0B0B0B;
    font-family: Ubuntu;
    font-size: 32px;
    font-weight: 700;
    line-height: 40px; /* 125% */
    margin-bottom: 12px;
}
body.single-product .product-details-wrapper #middle-summary-section h3{
    color:#0B0B0B;
    font-family: Ubuntu;
    font-size: 16px;
    font-weight: 400;
    line-height: 24px;
}
body.single-product .below-title{
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-bottom: 12px;
}
body.single-product .below-title .ask-owner{
    display: flex;
    gap: 12px;
    align-items: center;
}
body.single-product .custom-product-summary .add-to-cart .delivery-info .help-block{
    display: none;
}
body.single-product .below-title .ask-owner .help-block,
body.single-product #right-summary-section .stock-container .help-block,
body.single-product #right-summary-section form .single_variation_wrap .woocommerce-variation-add-to-cart .next-day-delivery-info .help-block,
body.single-product .custom-product-summary .add-to-cart .delivery-info .help-block{
    height: 24px;
    cursor:pointer;
}
body.single-product .below-title .ask-owner .help-block .help-popup,body.single-product #right-summary-section .stock-container .help-block .help-popup,body.single-product #right-summary-section form .single_variation_wrap .woocommerce-variation-add-to-cart .next-day-delivery-info .help-block .help-popup, body.single-product .custom-product-summary .add-to-cart .delivery-info .help-block .help-popup {
    width: 320px;
    min-height: auto;
    padding: 16px 20px;
    border-radius: 16px;
    background: #FFF;
    box-shadow: 0px 4px 14px 0px rgba(0, 0, 0, 0.11);
}
body.single-product .below-title .ask-owner .help-block .help-popup,
body.single-product #right-summary-section .stock-container .help-block .help-popup,
body.single-product #right-summary-section form .single_variation_wrap .woocommerce-variation-add-to-cart .next-day-delivery-info .help-block .help-popup,
body.single-product .custom-product-summary .add-to-cart .delivery-info .help-block .help-popup,
body.single-product #right-summary-section form .next-day-delivery-info .help-block .help-popup,
.help-block .help-popup {
    width: 320px;
    min-height: auto;
    padding: 16px 20px;
    border-radius: 16px;
    background: #FFF;
    box-shadow: 0px 4px 14px 0px rgba(0, 0, 0, 0.11);
    display: block;
}
body.single-product .below-title .ask-owner .help-block .help-popup.active {
    height: auto;
}

body.single-product .help-block {
    cursor: pointer;
}
body.single-product .custom-product-summary-wrapper .help-block .help-popup {
    top: -4rem!important;
}
.custom-product-summary-wrapper .woocommerce-error{
    margin-top: 15px;
}
.custom-product-summary-wrapper .woocommerce-error .button.wc-forward{
    display: none;
}
body.single-product .below-title .ask-owner .help-block .help-popup .title,
body.single-product #right-summary-section .stock-container .help-block .help-popup .title,
body.single-product #right-summary-section form .single_variation_wrap .woocommerce-variation-add-to-cart .next-day-delivery-info .help-block .help-popup title,
body.single-product .custom-product-summary .add-to-cart .delivery-info .help-block .help-popup title,
body.single-product .woocommerce-variation-add-to-cart .help-popup .title,
.help-popup .title
{
    color: #0B0B0B;
    font-family: Ubuntu;
    font-size: 14px;
    font-weight: 500;
    line-height: 20px; /* 142.857% */
    padding-bottom: 8px;
    display: block;
}
body.single-product .below-title .ask-owner .help-block .help-popup .content,
body.single-product #right-summary-section .stock-container .help-block .help-popup .content, body.single-product #right-summary-section form .single_variation_wrap .woocommerce-variation-add-to-cart .next-day-delivery-info  .help-popup .content,
body.single-product .custom-product-summary .add-to-cart .delivery-info .help-block .help-popup .content,
body.single-product .woocommerce-variation-add-to-cart .help-popup .content,
.help-popup .content {
    color: #737373;
    font-family: Ubuntu;
    font-size: 10px;
    font-weight: 400;
    line-height: 140%; /* 14px */
    display: block;
}
body.single-product .below-title .ask-owner .help-block .help-popup svg,
body.single-product #right-summary-section .stock-container .help-block .help-popup svg,
body.single-product #right-summary-section form .single_variation_wrap .woocommerce-variation-add-to-cart .next-day-delivery-info  .help-block .help-popup svg,
body.single-product #right-summary-section form .next-day-delivery-info .help-block .help-popup svg,
body.single-product .custom-product-summary .add-to-cart .delivery-info .help-block .help-popup svg {
    position: absolute;
    right: 12px;
    top: 12px;
    width: 16px;
    height: 16px;
    cursor: pointer;
    display: block;
}
body.single-product #right-summary-section .stock-container .help-block .help-popup .title{
    font-size: 16px;
}
body.single-product #right-summary-section .stock-container .help-block .help-popup .content{
    font-size: 12px;
}
body.single-product .site-main>.related.products {
    display: none;
}
body.single-product .site-main>.related.products {
    display: none;
}
body.single-product #middle-summary-section #watching-right-now{
    display: flex;
    align-items: center;
    color: #BB3DA1;
    font-family: Ubuntu;
    font-size: 14px;
    font-weight: 400;
    line-height: 18.856px;
    margin-bottom: 24px;
}
body.single-product #middle-summary-section #watching-right-now span{
    padding-left: 3px;
}
body.single-product #middle-summary-section #watching-right-now svg{
    margin-right: 8px;
}
body.single-product #middle-summary-section .product-no-tax {
   border-radius: 8px;
    background: #EFEEE4;
    padding: 12px 20px;
    justify-content: flex-start;
    margin-bottom: 24px;
    flex-wrap: nowrap;
    max-width: 100%;
}
body.single-product #middle-summary-section .product-no-tax .left-section{
    flex-basis: 15%;
    display: flex;
    align-items: center;
    justify-content: center;
}
body.single-product #middle-summary-section .product-no-tax .right-section{
    display: grid;
    text-align: start;
    justify-content: start;
}
body.single-product #middle-summary-section .product-no-tax .right-section h5{
    color: #737373;
    font-family: Ubuntu;
    font-size: 14px;
    font-weight: 400;
    line-height: 18.856px; /* 134.686% */
    margin: 0;
}
body.single-product #middle-summary-section .product-no-tax .right-section p{
    color: var(--Text-Black, #0B0B0B);
    font-family: Ubuntu;
    font-size: 16px;
    font-weight: 400;
    line-height: 18.856px; /* 117.851% */
    margin: 0;
}
body.single-product #middle-summary-section .product-no-tax .right-section p span{
    color: #8C8C8A;
    font-family: Ubuntu;
    font-size: 12px;
    font-weight: 400;
    line-height: 18.856px;
    margin: 0;
}
body.single-product #middle-summary-section ul{
    margin: 0 0 0 13px;
}
body.single-product #middle-summary-section ul li{
    color: #0B0B0B;
    font-family: Ubuntu;
    font-size: 12px;
    font-weight: 400;
    line-height: 18.856px; /* 157.134% */
}
body.single-product #middle-summary-section ul li:not(:last-child){
    margin-bottom: 7px;
}

body.single-product #middle-summary-section .inventory-countdown-container{
    display: grid;
    padding-top: 24px;
    grid-template-columns: auto 1fr;
    justify-items: end;
}
body.single-product #middle-summary-section .inventory-countdown-container .commercekit-inventory{
    width: 100%;
    margin-bottom: 0;
    margin-top: 0;
}
body.single-product #middle-summary-section .commercekit-inventory .progress-bar span{
    background:#B0CB1F !important;
}
body.single-product #middle-summary-section .inventory-countdown-container .commercekit-inventory .title{
    color: #444;
    font-family: Inter;
    font-size: 12px;
    font-weight: 400;
    line-height: 150%;
}
body.single-product #middle-summary-section .inventory-countdown-container div p{
    color:  #B0CB1F;
    font-family: Inter;
    font-size: 16px;
    font-weight: 600;
    line-height: 120%; /* 19.2px */
    text-transform: capitalize;
    margin: 0;
    margin-bottom: 8px;
}
body.single-product #middle-summary-section .cki-variation .title{
    color: #444;
    font-family: Inter;
    font-size: 12px;
    font-weight: 400;
    line-height: 150%; /* 18px */
    }
/* Inventory bar relocated into the buy-box card on stacked (tablet/mobile)
   layouts (see single-product.js syncInventory). Match the card's content
   padding and DROIX styling so "Less than X items left" reads as part of the
   buy box rather than floating at the bottom of the middle column. */
body.single-product #right-summary-section .entry-summary .inventory-countdown-container{
    padding: 0 20px;
    margin: 0 0 16px;
}
body.single-product #right-summary-section .entry-summary .inventory-countdown-container .commercekit-inventory{
    width: 100%;
    margin: 0;
}
body.single-product #right-summary-section .entry-summary .commercekit-inventory .progress-bar span{
    background: #B0CB1F !important;
}
body.single-product #right-summary-section .entry-summary .inventory-countdown-container .commercekit-inventory .title{
    color: #444;
    font-family: Inter;
    font-size: 12px;
    font-weight: 400;
    line-height: 150%;
}
body.single-product #right-summary-section .entry-summary .inventory-countdown-container div p{
    color: #B0CB1F;
    font-family: Inter;
    font-size: 16px;
    font-weight: 600;
    line-height: 120%;
    text-transform: capitalize;
    margin: 0 0 8px;
}
#commercekit-timer.product .commercekit-timer-digit, #commercekit-timer.product .commercekit-timer-sep{
    color: #111827;
    text-align: center;
    font-family: Inter;
    font-size: 24px !important;
    font-style: normal;
    font-weight: 500;
    line-height: 120% !important;
    text-transform: uppercase;
}
#commercekit-timer.product .commercekit-timer-label{
    color: #6B7280 !important;
    text-align: center;
    font-family: Inter;
    font-size: 14px !important;
    font-weight: 400;
    line-height: 150%;
}
#commercekit-timer.product .commercekit-timer-blocks{
    border-radius: 8px;
    background: #EFEEE4;
    padding: 12px;
    width: 230px;
}
#commercekit-timer{
    margin: 0 !important;
}
#commercekit-timer.product{
    width: 100%;
}
.commercekit-timer-title{
    display: none;
}

/* ////right-summary-section////////////////// */

body.single-product #right-summary-section {
    max-width: 305px;
    width: 100%;
}
.variations .cgkit-chosen-attribute{
    color: #B0CB1F;
}
body.single-product #right-summary-section .entry-summary{
    height: auto;
    padding: 25px 0 27px;
    border-radius: 16px;
    border-top: 7px solid  #B0CB1F;
    background: #FFF;
    box-shadow: 0px 4px 14px 0px rgba(0, 0, 0, 0.03);
}
body.single-product #right-summary-section .entry-summary #custom_html-17 {
    margin: 0;
}
body.single-product #right-summary-section .stock-container{
    display: flex;
    align-items:center;
    gap:8px;
    padding: 0 64px 20px 20px;
    position: relative;
}
body.single-product #right-summary-section .stock-container img.help-icon{
    min-width: 24px;
}
body.single-product #right-summary-section .stock-container span{
    position: absolute;
    right: 12px;
    width: 41px;
    height: 40px;
    z-index: 1;
    color: #FFF;
    font-size: 12px;
    font-style: normal;
    font-weight: 500;
    line-height: 20px;
    top: -10px;
    display: flex;
    align-items: center;
    justify-content: center;
}
body.single-product #right-summary-section .stock-container .sale-badge{
    position: absolute;
    right: 12px;
    top: -10px;
    z-index: 0;
}
body.single-product #right-summary-section .stock-container p.availability{
    color: #0B0B0B;
    font-size: 12.8px; /* -20% from 16px */
    font-weight: 500;
    line-height: 16px;
    margin: 0;
}
body.single-product #right-summary-section .stock-container p.stock,
body.single-product .custom-product-summary-wrapper p .out-of-stock{
    color:#B0CB1F;
    font-size: 12.8px; /* -20% from 16px */
    font-weight: 500;
    line-height: 16px;
    margin-bottom: 0;
    max-width: 147px;
}
body.single-product #right-summary-section .stock-container p.stock.out-of-stock,
body.single-product .custom-product-summary-wrapper p .stock.out-of-stock {
    color:#DC3545!important;
}
body.single-product #right-summary-section .stock-container p.stock.change,
body.single-product .custom-product-summary-wrapper p .stock.change {
    color: #B0CB1F;
    opacity: 1!important;
}
body.single-product .gpay-button-online-api-id {
    border-radius: 16px;
}
/* Reserve space for the always-present elements single-product.js moves into the buy
   box (the "N viewing" counter and the stock/selling-fast bar), so their inner content
   loading late can't collapse-then-grow and shift the rows below. Both are always
   rendered, so a min-height reserves no empty gap. */
body.single-product #right-summary-section .entry-summary #watching-right-now.dx-watching{
    min-height: 16px;
}
body.single-product #right-summary-section .entry-summary .inventory-countdown-container.dx-fast-host{
    min-height: 32px;
}
body.single-product #right-summary-section .price{
   margin-bottom: 24px;
   padding: 0 20px;
}
/* Reserve the on-sale price height so the JS-injected was-price ".dx-was" + "Save X"
   ".dx-save" line (added a frame after first paint, see single-product.js) can't push
   the controls below it down (CLS). Gated on .dx-pdp-onsale, added server-side only when
   the buy box's first-paint price is on sale, so non-sale products keep their natural
   single-line price with no empty gap. Values measured from the rendered sale state:
   ~70–75px (2 lines, >=500px) and ~97px (3 lines, narrow mobile where the pill wraps).
   A few px of slack only ever reserves space — it never shifts. */
body.single-product #right-summary-section.dx-pdp-onsale .price{
    min-height: 62px;
}
@media (max-width: 490px){
    body.single-product #right-summary-section.dx-pdp-onsale .price{
        min-height: 83px;
    }
}
body.single-product #right-summary-section .price span.price{
    display: flex;
    flex-direction: column;
    align-items:start;
    flex: 30;
}
body.single-product #right-summary-section .price span.price.regular,
body.single-product #right-summary-section .price.regular {
    justify-content: start!important;
    align-items: center!important;
}
body.single-product #right-summary-section .price.regular>span {
    line-height: 95%!important;
}
body.single-product #right-summary-section .price.regular .amount {
    margin-right: 5px;
}
body.single-product .custom-product-summary-wrapper .amount,
body.single-product #right-summary-section .price .amount {
    white-space: nowrap;
}
body.single-product #right-summary-section .price {
    display: flex;
    /* flex-start (not space-between): on first paint there is no <del> was-price, so
       space-between shoved the "inc. TAX" suffix to the far right; when the JS later adds
       the was-price/Save line the suffix snapped left. The was-price (.price del) and Save
       pill right-align themselves via margin-left:auto / flex-end, so flex-start keeps the
       amount + suffix put in both states (no horizontal jump). */
    justify-content: flex-start;
    /* Pack wrapped lines to the top of the reserved (.dx-pdp-onsale) min-height so the single
       first-paint line sits where the final top line will be — the amount no longer jumps up
       when the second (was-price/Save) line is added. */
    align-content: flex-start;
    align-items: flex-end;
    position: relative;
}
body.single-product #right-summary-section .price>span {
    display: flex !important;
    flex-direction: row !important;
    justify-content: space-between;
    align-items: flex-end !important;
    position: relative;
}
body.single-product #right-summary-section .price del {
    order: 3;
    margin-left: auto;
}
body.single-product #right-summary-section .price .saving {
    order: 3;
    margin-left: auto;
    text-align: right;
}
body.single-product #right-summary-section .price .save {
    position: relative;
    height: auto;
    display: flex;
    color: #BB3DA1;
    font-family: Inter;
    font-size: 12px;
    font-style: normal;
    font-weight: 500;
    line-height: 120%;
    align-items: flex-end;
    justify-content: flex-end;
}
body.single-product #right-summary-section .price .regular-price,
body.single-product #right-summary-section .price .sale-price{
    display: grid;
}
body.single-product #right-summary-section .price .sale-price{
    font-family: Inter;
    font-size: 14px;
    font-weight: 500;
    line-height: 120%; /* 16.8px */
}
body.single-product #right-summary-section .price span.price ins bdi,
body.single-product #right-summary-section .price .sale-price,
body.single-product #right-summary-section .price .regular-price,
body.single-product #right-summary-section .price span.price,
body.single-product #right-summary-section .price>span,
body.single-product #right-summary-section .summary .price ins{
    color: #BB3DA1;
    font-family: Inter;
    font-size: 25.6px !important; /* -20% from 32px */
    font-weight: 600;
    line-height: 145%;
}
body.single-product #right-summary-section .price .regular-price small,
body.single-product #right-summary-section .price .sale-price small,
body.single-product #right-summary-section .price span.price small,
body.single-product #right-summary-section .price>span small,
body.single-product #right-summary-section .price>small,
body.single-product #right-summary-section .price del bdi{
    color: #737373;
    font-family: Inter;
    font-size: 14px;
    font-weight: 500;
    line-height: 120%; /* 16.8px */
}
body.single-product #right-summary-section .price ins,
body.single-product #right-summary-section .price span.price ins bdi {
    font-size: 19.2px!important; /* -20% from 24px */
    margin-right: 3px;
    line-height: 98%!important;
}
body.single-product #right-summary-section .price>small{
    margin-top: 10px;
    margin-right: 6px;
    font-size: 13px !important;
}
body.single-product #right-summary-section .price del bdi{
    text-decoration: line-through;
}
body.single-product #right-summary-section form{
    margin: 0;
}
body.single-product #right-summary-section ul.available_coupons_with_product{
    list-style: none;
}
#right-summary-section ul.wc_stripe_product_payment_methods {
    padding: 0 20px;
}
body.single-product #right-summary-section form label[for="pa_colour"],
body.single-product #right-summary-section form .accordion label[for="model"] span, body.single-product #right-summary-section form .accordion label[for="condition"] span  {
    color: #0B0B0B;
    font-family: Ubuntu;
    font-size: 14px;
    font-weight: 500;
    line-height: 20px; /* 142.857% */
}
body.single-product #right-summary-section form .label .attribute_pa_colour{
    color: #737373;
    font-family: Ubuntu;
    font-size: 14px;
    font-weight: 400;
    line-height: 20px;
}
body.single-product #right-summary-section form .summary .cgkit-attribute-swatches .cgkit-attribute-swatch.cgkit-color > button{
    cursor:pointer;
}
body.single-product #right-summary-section form .summary .value{
    margin-bottom: 12px;
}
body.single-product #right-summary-section form .cgkit-as-wrap .cgkit-attribute-swatches .cgkit-attribute-swatch.cgkit-color > button.cgkit-swatch-selected:before{
    border: 3px solid #B0CB1F;
}

body.single-product #right-summary-section form .variations tr.accordion {
    background: #fff;
}
body.single-product #right-summary-section form .variations .accordion th.label{
    display: grid;
    align-items: center;
    grid-template-columns: 1fr auto;
    padding: 12px 20px;
    cursor: pointer;
    position: relative;
}
.summary .variations label {
    width: 200px;
    max-width: 100%;
    cursor: pointer;
}
body.single-product #right-summary-section form .variations .accordion .attribute_model{
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 1;
    color:#B0CB1F;
    text-overflow: ellipsis;
    font-family: Ubuntu;
    font-size: 14px;
    font-weight: 500;
    line-height: 20px;
    cursor: pointer;
}
.cgkit-as-wrap .cgkit-attribute-swatches .cgkit-attribute-swatch.cgkit-button{
    margin: 0;
}
#ckwtl-button2,
#ckwtl-button3 {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 48px;
    border-radius: 16px;
    font-family: Ubuntu;
    font-size: 16px;
    font-weight: 500;
    line-height: 20px; /* 125% */
    max-width: 265px;
    background-color: #43454b;
    color: #FFFFFF;
    margin: 15px 20px;
    margin-left: auto !important;
    margin-right: auto !important;
}
body.single-product div.product form.cart .button.added::before {
    display: none;
    top: 0;
}
body.single-product div.product form.cart .button.added.temporarily-added::before {
    display: inline-block;
    top: 0;
}
body.single-product #right-summary-section form .variations .accordion td.value .cgkit-as-wrap .cgkit-attribute-swatches,
body.single-product #right-summary-section form .variations .active td.value .cgkit-as-wrap .cgkit-attribute-swatches{
    display: flex;
    align-items: start;
    flex-wrap: wrap;
    gap: 8px;
}
/* Text-pill swatches (Condition, Processor, Configuration, ...): equal-width auto-fit grid
   so options align to the card width and adapt to any option count. Scoped to button
   swatches via :has() so colour circles (.cgkit-color) keep their natural flex layout. */
body.single-product #right-summary-section form .variations .accordion td.value .cgkit-as-wrap .cgkit-attribute-swatches:has(.cgkit-attribute-swatch.cgkit-button),
body.single-product #right-summary-section form .variations .active td.value .cgkit-as-wrap .cgkit-attribute-swatches:has(.cgkit-attribute-swatch.cgkit-button){
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
    align-items: stretch;
    gap: 8px;
}
body.single-product #right-summary-section form .variations td.value .cgkit-as-wrap .cgkit-attribute-swatches .cgkit-attribute-swatch.cgkit-button{
    width: 100%;
}
body.single-product #right-summary-section form .variations td.value .cgkit-as-wrap .cgkit-attribute-swatches .cgkit-attribute-swatch.cgkit-button button{
    width: 100%;
    text-align: center;
    justify-content: center;
}
.cgkit-as-wrap .cgkit-attribute-swatches .cgkit-attribute-swatch.cgkit-button button{
    border-radius: 32px;
    border: 1px solid #737373;
    font-size: 12px;
    font-style: normal;
    font-weight: 400;
    line-height: 20px; /* 166.667% */
    text-transform: capitalize;
    padding: 12px 14px;
    font-family: Ubuntu;
    cursor: pointer;
}
body.single-product #right-summary-section form .variations .accordion td.value .cgkit-as-wrap .cgkit-attribute-swatches .cgkit-attribute-swatch.cgkit-button .stock_out_of_stock{
    border-radius: 32px;
    border: 1px solid #737373;
    font-size: 12px;
    font-style: normal;
    font-weight: 400;
    line-height: 20px; /* 166.667% */
    text-transform: capitalize;
}
body.single-product #right-summary-section form .variations .accordion td.value .cgkit-as-wrap .cgkit-attribute-swatches .cgkit-attribute-swatch.cgkit-button button.cgkit-swatch-selected{
    font-family: Ubuntu;
    font-size: 12px;
    font-style: normal;
    font-weight: 400;
    line-height: 20px; /* 166.667% */
    text-transform: capitalize;
    border-radius:32px;
    cursor: pointer;
}

/* Exactly two text-pill options (e.g. Processor, Condition): keep them 2-up on desktop.
   The desktop buy box is now widened to the handoff grid, so the old one-line squeeze is
   no longer needed. */
@media (min-width: 1301px) {
    /* Desktop 3-column layout matched to the design handoff
       (design-implementations/design_handoff_product_page/standalone/Product-Page-Desktop.html):
       near-equal thirds (gallery | middle | buy box) in the content rail.
       Scoped to >=1301px only so the 900-1300 tablet grid and <900 single column are untouched.
       The base .product-details-wrapper rule stays display:flex for those bands. */
    body.single-product .shoptimizer-archive .product-details-wrapper{
        display: grid;
        /* Content rail = --dx-pdp-content-width (1280px, matched to the site/header rail), 40px
           gaps. The fr tracks give about 427 / 394 / 378px at the 1280 rail. This intentionally
           replaces the previous locked 472 / fluid / 331px production split. */
        grid-template-columns: 1.04fr 0.96fr 0.92fr;
        gap: 40px;
        align-items: start;
        max-width: var(--dx-pdp-content-width, 1280px);
        margin: 0 auto;
    }
    /* let each column follow its grid track instead of the fixed 524/413/305 caps */
    body.single-product #left-summary-section,
    body.single-product .product-details-wrapper #middle-summary-section,
    body.single-product #right-summary-section{
        max-width: none;
    }
    /* Gallery is a SQUARE driven by the (now <524px, locked) gallery track — NOT a fixed 524px
       box. The base rule (~line 242) hard-pins the initialized slide to height:524px / min+max
       width:524px, and Swiper's `autoheight` then sets the wrapper to that 524px height. At the
       narrower 472px track that makes the slide/image 472x524 (portrait), so its rounded bottom/top
       corners overflow the 472x472 `overflow:hidden` .cg-main-swiper and get clipped to square.
       Force the wrapper/slide/image back to the square here (!important to beat the 524 pin and the
       autoheight inline height) so the rounded frame is preserved at any track width. */
    /* .cg-main-swiper gets a definite square height from its aspect-ratio (= the gallery track
       width). Chain height:100% down from there — wrapper -> slide -> image — so every layer is
       that same square instead of the image's natural height. !important beats the base 524px pin
       (~line 242) and Swiper's autoheight inline height on the wrapper. */
    body.single-product #commercegurus-pdp-gallery-wrapper .cg-main-swiper{
        aspect-ratio: 1 / 1;
    }
    body.single-product #commercegurus-pdp-gallery-wrapper .cg-main-swiper > ul.swiper-wrapper{
        aspect-ratio: 1 / 1;
        height: 100% !important;
    }
    body.single-product .swiper-container.cg-main-swiper.swiper-container-initialized .swiper-wrapper .swiper-slide{
        max-width: 100% !important;
        min-width: 0 !important;
        height: 100% !important;
    }
    /* the rounded `overflow:hidden` frame (.swiper-slide-imglink) and the image must be the same
       square, or the image's bottom rounded corners overflow the 472 frame and get clipped flat. */
    body.single-product #commercegurus-pdp-gallery-wrapper .cg-main-swiper .swiper-slide .swiper-slide-imglink{
        height: 100% !important;
    }
    body.single-product #commercegurus-pdp-gallery-wrapper .cg-main-swiper .swiper-slide img.wp-post-image,
    body.single-product #commercegurus-pdp-gallery-wrapper .cg-main-swiper .swiper-slide img{
        height: 100% !important;
    }

    /* ---- Buy-box card + key elements matched to the design handoff (.dx-buybox / .dx-price / .dx-cta) ---- */
    /* card: full 1.5px green border + 20px radius + design shadow-md (was top-only 7px border) */
    body.single-product #right-summary-section .entry-summary{
        border: 1.5px solid #B0CB1F;
        border-radius: 20px;
        box-shadow: 0 8px 24px rgba(17,24,39,0.06), 0 2px 6px rgba(0,0,0,0.04);
        padding: 26px 26px 24px;
        box-sizing: border-box;
    }
    body.single-product #right-summary-section .stock-container,
    body.single-product #right-summary-section .price,
    body.single-product #right-summary-section form .payment-icons,
    body.single-product #right-summary-section form .next-day-delivery-info,
    body.single-product #right-summary-section form .variations .accordion th.label,
    body.single-product #right-summary-section form .variations .active th.label,
    body.single-product #right-summary-section form .variations .active .label,
    body.single-product #right-summary-section form .variations .active td.value,
    body.single-product #right-summary-section form .variations .active .value,
    body.single-product #right-summary-section form .variations tr.accordion td.value,
    body.single-product #right-summary-section form .variations tr.accordion.active td.value,
    #right-summary-section ul.wc_stripe_product_payment_methods{
        padding-left: 0;
        padding-right: 0;
    }
    body.single-product #right-summary-section .stock-container{
        padding-top: 0;
    }
    body.single-product #right-summary-section .price{
        margin-bottom: 20px;
    }
    body.single-product #right-summary-section form .payment-icons{
        width: 100%;
    }
    body.single-product #right-summary-section #financing-accordion{
        margin-left: 0;
        margin-right: 0;
        width: 100%;
    }
    /* price: design .dx-price 42px reduced -20% -> 33.6px (keep brand purple #BB3DA1) */
    body.single-product #right-summary-section .price .sale-price,
    body.single-product #right-summary-section .price .regular-price,
    body.single-product #right-summary-section .price span.price,
    body.single-product #right-summary-section .price>span,
    body.single-product #right-summary-section .price span.price ins bdi,
    body.single-product #right-summary-section .summary .price ins{
        font-family: 'Ubuntu', 'Inter', system-ui, -apple-system, sans-serif;
        font-size: 33.6px !important; /* -20% from 42px */
        font-weight: 700;
        line-height: 1;
        letter-spacing: -0.02em;
    }
    /* was-price strikethrough: 19px reduced -20% -> 15.2px */
    body.single-product #right-summary-section .price del bdi{
        font-size: 15.2px;
    }
    /* (CTA design values applied on the canonical .single_add_to_cart_button rule below) */

    body.single-product #right-summary-section form .variations .accordion td.value .cgkit-as-wrap .cgkit-attribute-swatches:has(.cgkit-attribute-swatch.cgkit-button):has(> .cgkit-attribute-swatch:nth-child(2):last-child),
    body.single-product #right-summary-section form .variations .active td.value .cgkit-as-wrap .cgkit-attribute-swatches:has(.cgkit-attribute-swatch.cgkit-button):has(> .cgkit-attribute-swatch:nth-child(2):last-child){
        grid-template-columns: 1fr 1fr;
        gap: 10px;
    }
    body.single-product #right-summary-section form .variations td.value .cgkit-as-wrap .cgkit-attribute-swatches:has(> .cgkit-attribute-swatch:nth-child(2):last-child) .cgkit-attribute-swatch.cgkit-button button{
        font-size: 11px;
        padding: 11px 6px;
        white-space: nowrap;
        letter-spacing: -0.01em;
    }
}
body.single-product #right-summary-section form .reset_variations{
    color: #737373;
    text-align: center!important;
    font-family: Ubuntu;
    font-size: 14px;
    font-weight: 400;
    line-height: 20px; /* 142.857% */
    text-decoration-line: underline;
    display: inherit!important;
    padding-top: 12px;
}
body.single-product #right-summary-section form .next-day-delivery-info{
    display: grid;
    grid-template-columns: auto auto;
    align-items:center;
    gap: 0;
    padding: 0 20px 24px;
}
body.single-product #right-summary-section form .next-day-delivery-info p{
    color: #737373;
    font-family: Ubuntu;
    font-size: 14px;
    font-weight: 400;
    line-height: 18.856px; /* 134.686% */
    margin: 0;
}
body.single-product #right-summary-section form .payment-icons{
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-bottom: 7px;
    padding: 0 20px 7px 20px;
}
body.single-product #right-summary-section form.variations_form #ckwtl-button3{
    cursor: pointer;
    border-radius: 16px;
    width: 100% !important;
    margin: 20px 0;
    margin-left: auto !important;
    margin-right: auto !important;
    float: none;
    height: 48px;
    line-height: 48px;
}
ul.wc_stripe_product_payment_methods li[class*=payment_method_stripe_] button {
    border-radius: 16px;
}
body.single-product #right-summary-section form button.single_add_to_cart_button{
    display: flex !important;
    align-items: center;
    justify-content: center;
    gap: 8px;
    height: 48px;
    border-radius: 16px;
    font-family: Ubuntu;
    font-size: 16px;
    font-weight: 500;
    line-height: 20px; /* 125% */
    max-width: 265px;
    margin: 0 auto;
}
/* Desktop only: CTA matched to design .dx-cta (full-width 20px card gutter, 60px, Ubuntu 18/700
   + green glow). Placed after the base rule so it wins at >=1301 without touching tablet/mobile. */
@media (min-width: 1301px) {
    body.single-product #right-summary-section form button.single_add_to_cart_button{
        height: 60px;
        font-size: 18px;
        font-weight: 700;
        line-height: 1;
        max-width: none;
        width: 100%;
        margin: 0;
        box-shadow: 0 8px 20px rgba(176, 203, 31, 0.35);
    }
}
/* BNPL now lives INSIDE the buy-box card (.entry-summary) as a design .dx-bnpl
   sub-block — a light-bordered block, not a detached floating card. */
body.single-product #right-summary-section #financing-accordion{
    margin-top: 14px;
    /* Match the visible buy-box controls; the card padding already provides the desktop gutter. */
    margin-left: 0;
    margin-right: 0;
    border: 1px solid #F0F0F0;
    border-radius: 14px;
    background: #FFF;
    box-shadow: none;
    padding: 16px 16px;
    width: 100%;
    position: relative;
    z-index: 3;
    container-type: inline-size;
}
body.single-product #right-summary-section #financing-accordion.active{
    border-radius: 14px;
}
body.single-product #right-summary-section #financing-accordion .accordion-header{
    display: flex;
    align-items: center;
    justify-content: space-between;
    cursor: pointer;
}
body.single-product #right-summary-section #financing-accordion .accordion-header-items span{
    color: #0B0B0B;
    font-size: 14px;
    font-weight: 500;
    line-height: 20px; /* 142.857% */
}
body.single-product #right-summary-section #financing-accordion .accordion-header-items p{
    color: #737373;
    font-size: 12px;
    font-weight: 400;
    line-height: 20px; /* 166.667% */
    margin: 0;
}
body.single-product #right-summary-section #financing-accordion .accordion-header .accordion-header-items{
    flex: 1 1 auto;
    min-width: 0;
}
body.single-product #right-summary-section #financing-accordion .accordion-header-logos{
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 12px;
    width: 100%;
    margin-top: 10px;
}
body.single-product #right-summary-section #financing-accordion .accordion-header-logos .bnpl-header-logo{
    display: block;
    width: auto;
    flex: 0 0 auto;
    object-fit: contain;
    max-width: 100%;
    height: auto;
}
body.single-product #right-summary-section #financing-accordion .accordion-header-logos .bnpl-logo-klarna{
    height: 14px;
}
/* The affirm SVG places its wordmark in the lower half of its viewBox (the brand
   arc occupies the top), so box-centring renders the wordmark low. Nudge it up so
   the wordmark sits on the same baseline as the other logos. */
body.single-product #right-summary-section #financing-accordion .accordion-header-logos .bnpl-logo-affirm{
    height: 16px;
    transform: translateY(-3px);
}
body.single-product #right-summary-section #financing-accordion .accordion-header-logos .bnpl-logo-afterpay,
body.single-product #right-summary-section #financing-accordion .accordion-header-logos .bnpl-logo-clearpay,
body.single-product #right-summary-section #financing-accordion .accordion-header-logos .bnpl-logo-paypal{
    height: 16px;
}
@container (max-width: 330px) {
    body.single-product #right-summary-section #financing-accordion .accordion-header-logos{
        gap: 6px;
    }
    body.single-product #right-summary-section #financing-accordion .accordion-header-logos .bnpl-logo-klarna{
        height: 12px;
    }
    body.single-product #right-summary-section #financing-accordion .accordion-header-logos .bnpl-logo-affirm,
    body.single-product #right-summary-section #financing-accordion .accordion-header-logos .bnpl-logo-afterpay,
    body.single-product #right-summary-section #financing-accordion .accordion-header-logos .bnpl-logo-clearpay,
    body.single-product #right-summary-section #financing-accordion .accordion-header-logos .bnpl-logo-paypal{
        height: 14px;
    }
}
body.single-product #right-summary-section #financing-accordion svg{
    transition: .3s linear;
    transform: rotate(0deg);
}
body.single-product #right-summary-section #financing-accordion .accordion-header .rotated{
    transform: rotate(180deg);
}
body.single-product #right-summary-section #financing-accordion .accordion-content{
    /* Single light-grey panel for the BNPL message. Replaces the former
       white-bg + box-shadow "card inside the card", which produced a redundant
       second white wrapper on top of the buy-box card and the Klarna badge. */
    margin-top: 12px;
    border-radius: 12px;
    background: #F5F5F5;
    box-shadow: none;
    /* In-flow (not absolute) so opening the accordion grows its card downward
       instead of overlaying the product tabs / menu bar below it. */
    position: static;
    width: 100%;
    padding: 0 16px;
    z-index: 2;
}
body.single-product .summary .variations label strong {
    font-size: 14px;
    text-transform: capitalize;
    font-weight: 500;
    letter-spacing: 0;
}
body.single-product #right-summary-section #financing-accordion .accordion-content .accordion-item{
    display: flex;
    align-items: center;
    justify-content: start;
    height: auto;
    padding: 12px 0;
    position: relative;
}
body.single-product #right-summary-section #financing-accordion .accordion-content .accordion-item:not(:last-child){
    border-bottom: 1px solid #D5D5D5;
}
body.single-product #right-summary-section #financing-accordion .accordion-content .accordion-item picture img {
    width: auto;
}
body.single-product #right-summary-section #financing-accordion .accordion-content .accordion-item img {
    width: auto;
}
body.single-product #right-summary-section #financing-accordion .accordion-content .accordion-item picture {
    display: flex;
    align-items: center;
    padding-right: 0;
    min-width: fit-content;
}
body.single-product #right-summary-section #financing-accordion .accordion-content .accordion-item .affirm-as-low-as {
    display: block!important;
    font-size: 10px;
    margin: 0;
    padding-left: 14px;
}
body.single-product #right-summary-section #financing-accordion .accordion-content .accordion-item .affirm-as-low-as .__affirm-logo,
form.cart .ckit-chosen-attribute_semicolon,
.dx-pick-clone .ckit-chosen-attribute_semicolon {
    display: none;
}
klarna-placement {
    display: flex;
}
/* Klarna nests the real OSM parts inside an inner shadow host whose tag suffix
   rotates (klarna-placement-mcao / -hrbo / …), so `klarna-placement::part()`
   matches nothing. The descendant `*::part()` reaches the part regardless of the
   inner tag name, flattening Klarna's default white-bordered badge box so the pill
   + message blend into the grey .accordion-content panel. The pink Klarna badge is
   intentionally NOT hidden. */
#financing-accordion klarna-placement *::part(osm-container) {
    padding: 0;
    border: none;
    background: transparent;
}
square-placement {
    margin: 0;
    padding-left: 14px;
}
.accordion-item.paypal div {
    padding-left: 14px;
}
body.single-product #right-summary-section #financing-accordion .accordion-content .accordion-item img{
    width: auto;
    height: auto;
}
body.single-product #right-summary-section #financing-accordion .accordion-content .accordion-item.klarna img{
    height: 10px;
}
body.single-product #right-summary-section #financing-accordion .accordion-content .accordion-item.paypal img{
    height: 12px;
}
body.single-product #right-summary-section #financing-accordion .accordion-content .accordion-item.affirm img{
    height: 20px;
}
body.single-product #right-summary-section #financing-accordion .accordion-content .accordion-item.afterpay img{
    height: 15px;
}
body.single-product #right-summary-section #financing-accordion .accordion-content .accordion-item a{
    font-family: Inter;
    font-size: 10px;
    font-style: normal;
    font-weight: 400;
    line-height: 150%; /* 15px */
    text-decoration-line: underline;
}

body.single-product #right-summary-section #financing-accordion .accordion-content .accordion-item .payments_popup {
    display: none;
    opacity: 0;
    position: absolute;
    word-break: inherit;
    background-color: #FFFFFF;
    top: 0;
    width: 100%;
    max-width: 100%;
    height: auto;
    padding: 1rem 2.5rem 1rem 1rem;
    left: 0;
    z-index: 100;
    border: 1px solid var(--Stroke, #F0F0F0);
    border-radius: 16px;
    transition: .2s ease all;
    box-shadow: 0 4px 18px 0 rgba(0, 0, 0, .07);
}
body.single-product #right-summary-section #financing-accordion .accordion-content .accordion-item .payments_popup svg {
    position: absolute;
    width: 25px;
    height: 25px;
    right: 1rem;
    top: 1rem;
    cursor: pointer;
}
body.single-product #right-summary-section #financing-accordion .accordion-content .accordion-item .payments_popup .affirm-modal-trigger {
    font-size: 14px;
}
body.single-product #right-summary-section #financing-accordion .accordion-content .accordion-item .payments_popup>* {
    margin: 0;
    padding: 0;
}
body.single-product #right-summary-section #financing-accordion .accordion-content .accordion-item .payments_popup.active {
    display: block;
    opacity: 1;
}
body.single-product #right-summary-section #financing-accordion .accordion-content .accordion-item .__affirm-logo.__ligature__affirm_full_logo__ {
    position: relative;
    right: 0;
}

.single-product .summary square-placement{
    display: none; /*-----------?*/
}

/* /////// custom-product-summary//////// */

body.single-product .custom-product-summary-wrapper {
    display: flex;
    position: fixed;
    justify-content: center;
    z-index: 2;
    height: auto;
    width: 100%;
    max-width: 100%;
    background-color: #FFFFFF;
    bottom: 0;
    left: 0;
    opacity: 0;
    pointer-events: none;
    transform: translate3d(0, calc(100% + 18px), 0);
    transition:
        transform .34s cubic-bezier(.22,.61,.36,1),
        opacity .22s ease,
        visibility 0s linear .34s;
    visibility: hidden;
    will-change: transform;
}
body.single-product .custom-product-summary-wrapper.show {
    bottom: 0;
    left: 0;
    opacity: 1;
    pointer-events: auto;
    transform: translate3d(0, 0, 0);
    transition-delay: 0s;
    visibility: visible;
}
body.single-product.drawer-open .custom-product-summary-wrapper.show{
    opacity: 0;
    pointer-events: none;
    transform: translate3d(0, calc(100% + 18px), 0);
    visibility: hidden;
}
@media (prefers-reduced-motion: reduce) {
    body.single-product .custom-product-summary-wrapper,
    body.single-product .col-full-nav,
    body.single-product .woocommerce-tabs ul.tabs.fixed-tabs {
        transition: none;
    }
}
body.single-product .custom-product-summary {
    display: flex;
    justify-content: center;
    background: #FFF;
    padding: 10px 10px;
    bottom: -13rem;
    width: 100%;
    z-index: 100;
    transition: all .2s ease;
    border-radius: 16px;
}
body.single-product .custom-product-summary.show {
    bottom: 4.4rem;
}
body.single-product .custom-product-summary-wrapper .product-configuration {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding-right: 15px;
}
body.single-product .custom-product-summary{
    display: flex;
    justify-content: flex-start;
    max-width: 1280px;
    /* margin: 0 auto; */

}
body.single-product .custom-product-summary .product-thumbnail {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 212px;
    max-height: 149px;
    text-align: center;
    padding: 5px;
    border-radius: 16px;
    border: 1px solid #D5D5D5;
    margin-right: 24px;
    position: relative;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}
body.single-product .custom-product-summary .product-thumbnail img {
    height: auto;
    max-height: 145px;
    width: 100%;
}
body.single-product .custom-product-summary .product-details {
    margin-right: 20px;
    max-width: 250px;
}
body.single-product .custom-product-summary .product-details p strong {
    color: #0B0B0B;
    font-family: Ubuntu;
    font-size: 12px;
    font-style: normal;
    font-weight: 500;
    line-height: 20px; /* 166.667% */
}
body.single-product .custom-product-summary .add-to-cart {
    margin-left: auto;
}
body.single-product .custom-product-summary .add-to-cart .payment-icons img {
    height: 15px;
}
body.single-product .custom-product-summary .custom-product-summary-title h3{
    color: #0B0B0B;
    font-family: Ubuntu;
    font-size: 18px;
    font-weight: 700;
    line-height: normal;
    max-width: 400px;
    margin: 0;
    margin-bottom: 4px;
}
body.single-product .custom-product-summary .product-configuration p {
    color: #0B0B0B;
    font-family: Ubuntu;
    font-size: 14px;
    font-weight: 500;
    line-height: 20px; /* 142.857% */
    margin: 0;
}
body.single-product .custom-product-summary .product-configuration p span {
    color: #666666;
    font-family: Ubuntu;
    font-size: 14px;
    font-style: normal;
    font-weight: 400;
    line-height: 20px;
}
body.single-product .custom-product-summary p .in-stock {
    color: #B0CB1F;
    font-family: Ubuntu;
    font-size: 12px;
    font-style: normal;
    font-weight: 500;
    line-height: 20px; /* 166.667% */
}
body.single-product .custom-product-summary-price {
    display: flex;
    justify-content: space-between;
    gap: 12px;
}
body.single-product .custom-product-summary-price .regular-price,
body.single-product .custom-product-summary-price .sale-price  {
    display: grid;
    color: var(--Base-, #BB3DA1);
    font-family: Inter;
    font-size: 20px;
    font-weight: 600;
    line-height: 145%; /* 29px */
}
body.single-product .custom-product-summary-price .regular-price.no-sale {
    display: flex;
    font-size: 16px !important;
    align-items: baseline;
}
body.single-product .custom-product-summary-price .regular-price.no-sale bdi {
    font-size: 16px !important;
}
body.single-product .custom-product-summary-price .sale-price {
    display: flex;
    margin-bottom: 0;
    align-items: baseline;
    flex: 0 0 55%;
    color: var(--Base-, #BB3DA1);
    font-family: Inter;
    font-size: 20px;
    font-weight: 600;
    line-height: 145%;
}

body.single-product .custom-product-summary-price .regular-price{
    color: var(--Base-, #BB3DA1);
}
body.single-product .custom-product-summary-price .regular-price del {
    grid-column: 2;
}
body.single-product .custom-product-summary-price .regular-price small,
body.single-product .custom-product-summary-price .regular-price del bdi,
body.single-product .custom-product-summary-price .regular-price del .amount,
body.single-product .custom-product-summary-price .sale-price small {
    color: var(--gray-400, #9CA3AF);
    font-family: Inter;
    font-size: 12px;
    font-weight: 500;
    line-height: 120%; /* 14.4px */
}
body.single-product .custom-product-summary-price .sale-price small {
    margin-left: 5px;
}
body.single-product .custom-product-summary-price .regular-price del,
body.single-product .custom-product-summary-price .regular-price-del del{
    text-decoration: line-through;
}
body.single-product .custom-product-summary-price .regular-price del *,
body.single-product .custom-product-summary-price .regular-price-del del *{
    text-decoration: none !important;
}
body.single-product .custom-product-summary .add-to-cart {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 12px;
    max-width: 305px;
    width: 100%;
}
body.single-product .custom-product-summary .add-to-cart .payment-icons {
    display: flex;
    align-items: center;
    justify-content: space-between;
}
body.single-product .custom-product-summary .add-to-cart .add-to-cart-button .single_add_to_cart_button {
    display: flex;
    width: 100%;
    align-items: center;
    justify-content: center;
    gap: 8px;
    font-family: Ubuntu;
    font-size: 16px;
    font-weight: 500;
    line-height: 20px;
    border-radius: 16px;
    height: 38px;
}
body.single-product .custom-product-summary .add-to-cart .add-to-cart-button .single_add_to_cart_button.temporarily-added::before {
    display: inline-block;
    top: 0;
    background-color: #fff;
    position: relative;
    margin-right: 8px;
    content: "";
    display: inline-block;
    width: 20px;
    height: 20px;
    background: #fff;
    -webkit-mask-image: url("data:image/svg+xml;charset=utf8,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M9 12L11 14L15 10M21 12C21 16.9706 16.9706 21 12 21C7.02944 21 3 16.9706 3 12C3 7.02944 7.02944 3 12 3C16.9706 3 21 7.02944 21 12Z' stroke='%234A5568' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml;charset=utf8,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M9 12L11 14L15 10M21 12C21 16.9706 16.9706 21 12 21C7.02944 21 3 16.9706 3 12C3 7.02944 7.02944 3 12 3C16.9706 3 21 7.02944 21 12Z' stroke='%234A5568' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    -webkit-mask-position: center;
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-size: contain;
}
body.single-product .custom-product-summary .add-to-cart .delivery-info {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: inherit;
    background: inherit;
    margin-right: 0;
}
body.single-product .custom-product-summary .add-to-cart .delivery-info p {
    color: #737373;
    font-family: Ubuntu;
    font-size: 12px;
    font-weight: 400;
    line-height: 18.856px;
    text-decoration-line: underline;
    margin-bottom: 0;
}

/* Sticky Add to Cart bar resize and alignment overrides */
body.single-product .custom-product-summary {
    padding: 7px 10px !important;
    display: grid !important;
    grid-template-columns: auto 1fr auto !important;
    grid-template-rows: auto !important;
    align-items: center !important;
    gap: 0 15px !important;
}

body.single-product .custom-product-summary .product-thumbnail {
    padding: 3px !important;
    align-self: center !important;
}

body.single-product .custom-product-summary .product-thumbnail img {
    max-height: 102px !important;
    height: auto !important;
    width: auto !important;
    display: block !important;
}

body.single-product .custom-product-summary .product-details {
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    height: auto !important;
}

body.single-product .custom-product-summary .product-details #condition-moved {
    margin: 0 !important;
    font-size: inherit !important;
    line-height: inherit !important;
}

body.single-product .custom-product-summary .product-configuration {
    display: none !important;
}

body.single-product .custom-product-summary .add-to-cart {
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    align-items: flex-end !important;
    height: auto !important;
}

body.single-product .custom-product-summary .add-to-cart button[type="submit"] {
    padding-top: 7px !important;
    padding-bottom: 7px !important;
}

body.single-product .custom-product-summary .add-to-cart .add-to-cart-button {
    width: 100% !important;
    align-self: stretch !important;
}

body.single-product .custom-product-summary .add-to-cart .add-to-cart-button button {
    width: 100% !important;
    justify-content: center !important;
}

body.single-product .custom-product-summary .add-to-cart .payment-icons {
    gap: 8px !important;
    justify-content: center !important;
}

/* ///////-----------------//////// */
body.single-product .woocommerce-tabs ul.tabs{
    top: 0;
    display: flex;
    align-items: center;
    border-top: none;
    border-radius: 16px;
    border: 1px solid #F0F0F0 !important;
    background:  #FFF;
    box-shadow: 0px 4px 18px 0px rgba(0, 0, 0, 0.03);
    width: 100%;
    max-width: 1280px;
    gap: 6px;
    padding: 8px !important;
    margin-bottom: 32px;
    z-index: 2;
}
body.single-product .woocommerce-tabs ul.tabs li:not(.back-to-top){
    border-radius: 8px;
    border-bottom: none;
}
body.single-product .woocommerce-tabs ul.tabs li.active:not(.back-to-top){
    background: #24211F;
}
body.single-product .woocommerce-tabs ul.tabs li.active:not(.back-to-top) a{
    color: #FFF !important;
}
body.single-product .woocommerce-tabs ul.tabs li:not(.back-to-top) a {
    color: #0B0B0B;
    font-family: Ubuntu;
    font-size: 15px;
    font-weight: 500;
    line-height: normal;
    padding: 12px 22px;
    outline: none;
    white-space: nowrap;
    overflow: hidden;
}
body.single-product .related{
    padding-top: 120px;
    padding-bottom: 200px;
    max-width: 1280px;
    margin: 0 auto;
}
body.single-product .related .product-grid{
    position: relative;
}
body.single-product .related .product-grid .related-products-slider{
    overflow: hidden;
}
body.single-product .related .product-grid .swiper-wrapper{
    gap: 16px;
    margin-left: 16px;
}
body.single-product .related.products .buttons {
    position: absolute;
    right: 18px;
    top: -55px;
}
body.single-product .buttons .slider-next::after,
body.single-product .buttons .slider-prev:after{
    position: absolute;
    content:"";
    width: 24px;
    height: 24px;
}
body.single-product .buttons .slider-next::after{
    background-image: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none"%3E%3Cpath d="M8.90997 19.9201L15.43 13.4001C16.2 12.6301 16.2 11.3701 15.43 10.6001L8.90997 4.08008" stroke="%2324211F" stroke-width="1.5" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/%3E%3C/svg%3E');
}

body.single-product .buttons .slider-prev:after {
    background-image: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none"%3E%3Cpath d="M8.90997 19.9201L15.43 13.4001C16.2 12.6301 16.2 11.3701 15.43 10.6001L8.90997 4.08008" stroke="%2324211F" stroke-width="1.5" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/%3E%3C/svg%3E');
    transform: rotate(180deg);
    right: 24px;
}

body.single-product .buttons .slider-prev.disabled:after,
body.single-product .buttons .slider-next.disabled:after {
    background-image: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none"%3E%3Cpath d="M8.90997 19.9201L15.43 13.4001C16.2 12.6301 16.2 11.3701 15.43 10.6001L8.90997 4.08008" stroke="%23b0b0b0" stroke-width="1.5" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/%3E%3C/svg%3E');
}

body.single-product .related h2{
    color: #0B0B0B;
    font-family: Ubuntu;
    font-size: 24px;
    font-style: normal;
    font-weight: 500;
    line-height: 20px; /* 83.333% */
    margin-bottom: 34px;
}
body.single-product .related .swiper .swiper-slide {
    margin-left: -16px;
    gap: 16px;
    max-width: 100%;
}
body.single-product .related .swiper li.swiper-slide {
    width: 100%;
    height: 442px;
    display: grid;
    grid-template-columns: 1fr;
    align-items: end;
    padding: 16px;
    border-radius: 4px;
    border: 1px solid #D5D5D5;
    background: #FFF;
    cursor: pointer;
    text-align: start;
}
body.single-product .related .swiper li.swiper-slide .sale-badge{
    border-radius: 4px;
    background: var(--Base-, #BB3DA1);
    color: var(--white, #FFF);
    text-align: center;
    font-family: Inter;
    font-size: 13px;
    font-weight: 500;
    line-height: 150%; /* 19.5px */
    padding: 4px 8px;
    position: absolute;
    top: 16px;
    left: 16px;
}
body.single-product .related .swiper li.swiper-slide .product-image-link img{
    object-fit: contain;
    height: 174px;
}
body.single-product .related .swiper li.swiper-slide .product-details {
    overflow: hidden;
    white-space: nowrap;
}
body.single-product .related .swiper li.swiper-slide .product-details .product-brand{
    display: inline-block;
    height: 23px;
    color: var(--gray-500, #6B7280);
    font-family: Inter;
    font-size: 13px;
    font-weight: 400;
    line-height: 120%; /* 15.6px */
    text-transform: uppercase;
}
body.single-product .related .swiper li.swiper-slide .product-details h2{
    color: var(--gray-800, #1F2937);
    font-family: Inter;
    font-size: 16px;
    font-weight: 500;
    line-height: 120%; /* 19.2px */
    display: block;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
    text-overflow: ellipsis;
    margin-bottom: 4px;
}
body.single-product .related  .swiper li.swiper-slide .product-details .rating-and-stock{
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-bottom: 16px;
}
body.single-product .related  .swiper li.swiper-slide .product-details .rating-and-stock .product-stock-status{
    color: var(--Base-, #B0CB1F);
    font-family: Inter;
    font-size: 14px;
    font-weight: 400;
    line-height: 120%; /* 16.8px */
}
body.single-product .related  .swiper li.swiper-slide .product-details .product-price{
     display: grid;
     gap: 4px;
     padding-bottom: 24px;
     min-height: 66px;
}
body.single-product .related  .swiper li.swiper-slide .product-details .product-price .sale-price{
    color: var(--Base-, #BB3DA1);
    font-family: Inter;
    font-size: 16px;
    font-weight: 500;
    line-height: 120%;
    margin: 0;
}
body.single-product .related  .swiper li.swiper-slide .product-details .product-price .regular-price del{
    color: #9CA3AF;
    font-family: Inter;
    font-size: 12px;
    font-weight: 400;
    line-height: 120%; /* 14.4px */
    text-decoration:line-through;
    margin: 0;
}
body.single-product .related  .swiper li.swiper-slide .product-details .product-price .regular-price {
    color: var(--Base-, #BB3DA1);
    font-family: Inter;
    font-size: 16px;
    font-weight: 500;
    line-height: 120%;
    margin: 0;
}
body.single-product .related  .swiper li.swiper-slide .product-details a.add-to-cart-button{
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    border-radius: 16px;
    height: 48px;
    opacity: 1;
    font-family: 'Inter';
    font-size: 16px;
    font-weight: 500;
}
body.single-product .related .swiper li.swiper-slide .product-details a.add-to-cart-button img{
    width: 20px;
    margin: 0;
}
body.single-product .related-wrapper .product_meta {
    max-width: 1280px;
    margin: auto;
    padding-bottom: 1em;
}
body.single-product .related-wrapper .entry-content {
	display: none;
}
.site-main u .swiper li.swiper-slide.product:hover::before{
    opacity: 0;
}
.product-card__slide u .swiper li.swiper-slide .product:not(.product-category):hover .button{
    height: 48px;
}
.wp-block-image{
    width: auto;
    margin: 0;
}
.product-card__slide u .swiper li.swiper-slide .product:not(.product-category){
    padding-bottom: 16px;
}
body.single-product .custom-product-summary.variation.loading {
    display: none;
}
body.single-product .custom-product-summary p {
    /* margin-bottom: 5px; */
    font-size: 14px;
}
body.single-product .custom-product-summary .regular-price-del{
    position: relative;
    height: 33px;
    display: flex;
    color: #BB3DA1;
    font-family: Inter;
    font-size: 12px;
    font-style: normal;
    font-weight: 500;
    line-height: 120%;
    align-items: flex-end;
    justify-content: flex-end;
}
body.single-product .custom-product-summary .regular-price-del del{ 
    position: absolute;
    top: 0px;
    line-height: 20px;
}
body.single-product .custom-product-summary p del span {
    color: var(--Base-, #666);
    font-family: Inter;
    font-size: 12px;
    font-style: normal;
    font-weight: 400;
    line-height: 120%;
    text-decoration-line: none;
}
body.single-product .custom-product-summary .custom-product-summary-price .sale-price bdi {
    font-size: 16px;
}
body.single-product .custom-product-summary .custom-product-summary-price .regular-price {
    font-size: 12px;
    grid-gap: 3px;
    line-height: 14px;
    text-align: right;
}
body.single-product .custom-product-summary .custom-product-summary-price .regular-price.with-sale {
    display: flex;
    flex-wrap: wrap;
    font-size: 12px;
    grid-gap: 3px;
    line-height: 14px;
    text-align: left;
    margin-top: 7px;
    margin-bottom: 0;
}
body.single-product .custom-product-summary .custom-product-summary-price .regular-price.with-sale del {
    flex: 0 0 100%;
}
body.single-product .custom-product-summary .custom-product-summary-price .regular-price>* {
    line-height: 14px;
}
body.single-product .custom-product-summary .custom-product-summary-price .regular-price bdi {
    font-size: 12px;
}
body.single-product .custom-product-summary .custom-product-summary-price .regular-price del bdi {
    color: var(--Base-, #666);
}

    /* MEDIA */

body.single-product .woocommerce-tabs ul.tabs.fixed-tabs {
    position: fixed;
    /* Tabs-only reveal: the header/nav no longer floats above this bar. */
    top: calc(env(safe-area-inset-top) + 10px);
    bottom: auto;
    left: 0;
    right: 0;
    box-sizing: border-box;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 0;
    max-width: 1280px;
    width: calc(100% - 24px);
    z-index: 9999;
    opacity: 1;
    pointer-events: auto;
    transform: translate3d(0, 0, 0);
    transition:
        transform .28s cubic-bezier(.22,.61,.36,1),
        opacity .18s ease,
        visibility 0s linear 0s;
    visibility: visible;
    will-change: transform;
}
body.single-product #page .woocommerce-tabs ul.tabs .back-to-top {
    display: none;
    margin-left: auto;
    margin-right: 6px;
    border-bottom: none;
}
body.single-product #page .woocommerce-tabs ul.tabs .back-to-top.show {
    display: block;
}
body.single-product .woocommerce-tabs ul.tabs .back-to-top a {
    font-family: Ubuntu;
    padding: 12px 24px;
    outline: none;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
    display: flex;
    align-items: center;
    gap: 8px;
    color: #737373;
    font-size: 12px;
    font-weight: 400;
    line-height: 19px;
}
body.single-product .woocommerce-tabs ul.tabs .back-to-top.active a {
    color: #737373; 
}
body.single-product .woocommerce-tabs ul.tabs.fixed-tabs.show {
    bottom: 0;
}

body.single-product .woocommerce-tabs.wc-tabs-wrapper.dx-tabs-fixed {
    padding-top: var(--dx-sticky-tabs-h, 58px) !important;
}
body.single-product .woocommerce-tabs ul.tabs.fixed-tabs.dx-nav-hidden {
    opacity: 0;
    pointer-events: none;
    transform: translate3d(0, calc(-100% - 16px), 0);
    transition:
        transform .24s cubic-bezier(.22,.61,.36,1),
        opacity .16s ease,
        visibility 0s linear .24s;
    visibility: hidden;
}

/* PDP override of the same fix (see style.css): the parent CommerceKit rule
   `.theme-shoptimizer.sticky-d.single-product .col-full-nav` (specificity 0,4,1)
   beats the global style.css rule on product pages, so the off-canvas drawer still
   leaked here. Re-assert it with matching specificity, loaded after the parent. */
@media (max-width: 992px) {
    body.single-product:not(.mobile-toggled) .col-full-nav.is_stuck {
        position: fixed !important;
        left: 0 !important;
        transform: translateX(-110%) !important;
    }
}

/* Tablet (769-1300, two-column buy box): the .entry-summary loses its desktop
   26px side padding here, so the full-width .dx-bnpl-card stretches edge-to-edge
   while the Add-to-cart button / payment icons sit ~40px in. Inset the BNPL card
   to line up with the CTA group above it. */
@media (min-width: 769px) and (max-width: 1300px) {
    body.single-product #right-summary-section .dx-bnpl-card {
        width: auto !important;
        margin-left: 40px !important;
        margin-right: 40px !important;
    }
}

body.single-product #middle-summary-section .cg-accordion-item strong {
    color: #0B0B0B;
    font-weight: 500;
    text-decoration: none;
}
body.single-product #middle-summary-section .cg-accordion-item strong u {
    text-decoration: none;
}
.single-product .product-details-wrapper #middle-summary-section p img {
    margin-top: 24px;
    margin-bottom: 2px;
    border-radius: 8px;
}
.summary .cgkit-attribute-swatches .cgkit-attribute-swatch.cgkit-color span.color-div {
    width: 47px;
    height: 47px;
}
.summary .cgkit-attribute-swatches .cgkit-attribute-swatch.cgkit-color > button {
    height: 55px;
    width: 55px;
}
.summary .cgkit-attribute-swatches .cgkit-attribute-swatch {
    margin: 0 10px 10px 0;
}
#variation-gallery .main-slider .slick-next, #variation-gallery .main-slider .slick-prev {
    display: none !important;
}
body.single-product ul.tabs.mobile-tabs {
    display: none;
    align-items: center;
    flex-wrap: wrap;
    border-top: none;
    row-gap: 12px;
    border-radius: 16px;
    background: #FFF;
    width: 100%;
    margin-bottom: 0;
    margin-top: 24px;
    z-index: 1;
    list-style: none;
    padding: 0;
}
body.single-product ul.tabs.mobile-tabs span {
    display: none;
}
body.single-product ul.tabs.mobile-tabs li:not(.back-to-top) {
    border-radius: 8px;
}
body.single-product ul.tabs.mobile-tabs li.active:not(.back-to-top) {
    background: #24211F;
}
body.single-product ul.tabs.mobile-tabs li.active:not(.back-to-top) a {
    color: #FFF !important;
}
body.single-product ul.tabs.mobile-tabs li:not(.back-to-top) a {
    color: #0B0B0B;
    font-family: Ubuntu;
    font-size: 12px;
    font-weight: 500;
    line-height: 24px;
    padding: 8px 20px;
    outline: none;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
}

body.single-product .woocommerce-Tabs-panel--description ul {
    padding-left: 1rem;
}
.commercekit-inventory .progress-bar.high-stock-bar span {
    background: #B0CB1F;
}
#commercegurus-pdp-gallery-wrapper .ckit-badge_wrapper .ckit-badge {
    padding: 2px 6px;

}
#commercegurus-pdp-gallery-wrapper .ckit-badge_wrapper {
    left: 75px;
    top: 5px;
}
body.single-product form.variations_form .variations label {
    width: 100%;
    max-width: 240px;
}

body.single-product main article {
	display: none;
}

.ywtm_col_1 {
    width: 100%
}

.ywtm_col_2 {
    width: 45.8%
}

.ywtm_col_3 {
    width: 32.6%
}

.ywtm_col_4 {
    width: 24%
}
.ywtm_video_gallery_container .container_list_video {
    list-style: none
}

.ywtm_video_gallery_container .container_list_video li {
    float: left
}

.ywtm_video_gallery_container .container_list_video.container_2 li:nth-child(2n+1) {
    clear: left
}

.ywtm_video_gallery_container .container_list_video.container_2 li:nth-child(2n) {
    margin-right: 0
}

.ywtm_video_gallery_container .container_list_video.container_2 li {
    margin-right: 1%
}

.ywtm_video_gallery_container .container_list_video.container_3 li:nth-child(3n+1) {
    clear: left
}

.ywtm_video_gallery_container .container_list_video.container_3 li:nth-child(3n) {
    margin-right: 0
}

.ywtm_video_gallery_container .container_list_video.container_3 li {
    margin-right: 1%
}

.ywtm_video_gallery_container .container_list_video.container_4 li:nth-child(4n+1) {
    clear: left
}

.ywtm_video_gallery_container .container_list_video.container_4 li:nth-child(4n) {
    margin-right: 0
}

.ywtm_video_gallery_container .container_list_video.container_4 li {
    margin-right: 1%
}

body.single-product #chat-widget-container {
    bottom: 110px !important;
}

@media( min-width: 769px) {
    body.pdp-full #page .woocommerce-tabs .wp-block-columns .wp-block-column {
        display: flex;
        flex-direction: column;
    }
    body.pdp-full #page .woocommerce-tabs .wp-block-columns .wp-block-column > h3 {
        margin-top: auto;
    }
    body.pdp-full #page .woocommerce-tabs .wp-block-columns .wp-block-column > *:last-child {
        margin-bottom: auto;
    }
}

@media( max-width:1300px){
    body.single-product .shoptimizer-archive .product-details-wrapper{
        grid-template-columns: 1fr 2fr;
        padding-bottom: 0px;
        margin: 0 30px;
    }
    /* Drop the old 2-column (card | BNPL) grid that left an empty right column.
       Single-column base (<900px): centre the card at a width that matches its
       inner form, so it never floats narrow-and-left-aligned with an empty half.
       flex centring is used (not margin:auto) because lower-width blocks reset
       the card's auto margins. Wider tablets (>=900px) switch to a gallery|buy-box
       2-column layout further down. */
    body.single-product #right-summary-section{
        display: flex;
        flex-direction: column;
        align-items: center;
        margin: 0 30px;
        max-width: 100%;
        width: auto;
        padding-bottom: 32px;
    }
    body.single-product #right-summary-section .entry-summary{
        width: 100%;
        max-width: 440px;
        margin-left: 0;
        margin-right: 0;
    }
    body.single-product .product-details-wrapper #middle-summary-section{
        max-width: 100%;
    }

    body.single-product #right-summary-section #financing-accordion{
        width: 100%;
        max-width: 440px;
        margin: 24px 0 0;
        height: auto;
    }
    body.single-product #middle-summary-section .inventory-countdown-container{
        justify-items: normal;
        gap: 27px;
    }
    body.single-product #right-summary-section form .variations .accordion th.label{
        grid-template-columns: 1fr auto;
    }
    body.single-product #right-summary-section form .variations{
        max-width: 100%;
        width: 100%;
    }
    body.single-product #right-summary-section form .single_variation_wrap .woocommerce-variation-add-to-cart{
        display: flex;
        flex-direction: column;
        gap: 0;
        padding: 0 20px;
        max-width: 100%;
    }
    /* body.single-product .woocommerce-tabs.wc-tabs-wrapper, body.pdp-full #page .woocommerce-tabs {
        padding-left: 30px;
        padding-right: 30px;
    } */
    body.single-product .related-wrapper .product_meta {
        padding-left: 30px;
        padding-right: 30px;
    }
    body.single-product #right-summary-section form .payment-icons{
        padding: 8px 0 20px;
    }
    body.single-product #right-summary-section form button.single_add_to_cart_button{
        max-width: 100%;
    }
    body.single-product #right-summary-section form .next-day-delivery-info{
        order: 1;
        padding-bottom: 0;
    }
    body.single-product #right-summary-section form .next-day-delivery-info p{
        font-size: 12px;
        line-height: 12px;
    }
    body.single-product #right-summary-section form .variations tr.accordion{
        background:transparent;
    }
    body.single-product #right-summary-section form .reset_variations{
        display: flex!important;
        justify-content: center;
    }
    body.single-product #right-summary-section form .next-day-delivery-info{
        grid-template-columns: 30px auto;
        padding: 0;
    }
    /* body.single-product .archive-header .woocommerce-breadcrumb {
        padding-left: 30px;
        padding-right: 30px;
    } */
    .single-product div.product .summary form.cart {
        display: flex;
        flex-direction: column;
        gap: 10px;
        padding: 0 20px;
        max-width: 100%;
    }
}
@media( max-width:1023px){
    body.single-product .product-details-wrapper #middle-summary-section h1 {
        font-size: 28px;
        line-height: 32px;
    }
}
@media (min-width: 993px) {
    body:not(.header-4).single-product.sticky-d .col-full-nav:not(.dx-nav-floating):not(.dx-nav-hidden) {
        position: relative !important;
        z-index: 10;
        top: auto !important;
        box-shadow: none !important;
        opacity: 1;
        transform: translate3d(0, 0, 0);
        visibility: visible;
    }
}
@media (max-width: 992px) {
    body.single-product .woocommerce-tabs ul.tabs li:not(.back-to-top) a {
        overflow: inherit;
    }
    #page .woocommerce-tabs ul.tabs li.back-to-top a {
        display: flex;
        padding: 12px 24px;
    }
    .single-product .site-content .col-full{
        padding-right: 20px;
        padding-left: 20px;
    }   
}

@media( max-width:991px){
    body.single-product{
        padding-bottom: 0;
    }
    body.single-product #left-summary-section .cg-lightbox-active .swiper-slide img{
        height: 100% !important;
    }
    body.single-product .shoptimizer-archive .product-details-wrapper {
        display: block;
    }
    .single-product #commercegurus-pdp-gallery-wrapper .cg-thumb-swiper ul.swiper-wrapper {
        justify-content: center;
    }
    body.single-product #left-summary-section{
        height: 100%;
        max-width: 100%;
    }
    .swiper-container.cg-main-swiper.swiper-container-initialized .swiper-wrapper .swiper-slide{
        max-width: 100%;
    }
    body.single-product #left-summary-section .cg-lightbox-active .swiper-slide-imglink{
        height: 100%;
    }
    body.single-product #middle-summary-section .inventory-countdown-container{
        padding: 24px 0;
        grid-template-columns: auto auto;
        justify-items: center;
        gap: 10px;
    }
    body.single-product #middle-summary-section .below-title {
        justify-content: flex-start;
        gap: 50px;
    }
    body.single-product .product-details-wrapper #right-summary-section{
        display: block;
    }
    body.single-product #right-summary-section .entry-summary{
        margin-bottom: 30px;
    }
    
    body.single-product .custom-product-summary .custom-product-summary-title h3{
        font-size: 22px;
    }
    body.single-product #right-summary-section {
        grid-template-columns: auto;
        width: auto;
        gap:0;
    }
    body.single-product #right-summary-section form .variations{
        max-width: 100%;
    }
    body.single-product .custom-product-summary{
        display: grid;
        grid-template-columns: auto 1fr 1fr;
        justify-items: start;
        row-gap: 10px;
        padding: 20px 16px;
    }
    body.single-product .custom-product-summary .product-configuration{
        order: 2;
    }
    #page .woocommerce-tabs ul.tabs li:not(.back-to-top) a{
        padding: 12px 20px;
    }
    body.single-product #chat-widget-container {
        bottom: 170px !important;
    }
}
@media( max-width:768px){
    .single-product .site-content .col-full{
        padding-right: 0;
        padding-left: 0;
    }
    .custom-product-summary-wrapper .woocommerce-error{
        position: absolute;
        bottom: 44px;
        left: 0;
    }
    .swiper-container-autoheight .swiper-wrapper{
        height: 300px;
    }
    .single-product .site .archive-header .woocommerce-breadcrumb, .site-content .archive-header .woocommerce-breadcrumb{
        padding-bottom: 16px;
        padding-left: 20px;
    }
    body.single-product .shoptimizer-archive .product-details-wrapper{
        margin: 0;
        padding-top: 2rem;
        padding-right: 20px;
        padding-left: 20px;
    }
    body.single-product{
        padding-bottom: 0;
    }
    body.single-product .product-details-wrapper h1 {
        font-family: 'Ubuntu';
        font-size: 24px;
        line-height: 40px;
        font-weight: 700;
        margin-bottom: 5px;
    }
    body.single-product .below-title .ask-owner {
        gap: 2.5px;
    }
    body.single-product #left-summary-section #compare-like-button .compare-wishlist-container .comparelabel,
    body.single-product #left-summary-section #compare-like-button .custom-wishlist span {
        right: 8px;
        left: auto;
    }
    div.product table.variations .active .label {
        margin-top: 0;
    }
    div.product table.variations .active .value {
        margin-bottom: 0;
    }
    body.single-product #right-summary-section{
        padding-right: 20px;
        padding-left: 20px;
    }
    div.product table.variations .active .label,
    body.single-product #right-summary-section form .variations .accordion th.label {
        padding-top: 18px;
    }
    div.product table.variations tr.accordion.active td.value {
        padding: 8px 0 0;
    }
    body.single-product #right-summary-section form.variations_form #ckwtl-button3 {
        margin: 20px 0 0;
        width: 100% !important;
        border-radius: 16px;
        height: 48px;
        line-height: 48px;
        max-width: 100%;
    }
    /*body.single-product .wc-stripe-product-checkout-container.bottom {*/
    /*    margin-top: 0;*/
    /*}*/
    #ckwtl-button2 {
        min-width: 100%!important;
    }
    #right-summary-section ul.wc_stripe_product_payment_methods {
        padding: 0;
    }
    body #page .woocommerce-tabs .panel {
        padding-right: 20px;
        padding-left: 20px;
    }
    body #page .woocommerce-tabs .panel .wp-block-video,
    body #page .woocommerce-tabs .panel .wp-block-video video {
        height: 222px;
    }
    body.single-product #commercegurus-pdp-gallery .cg-thumb-swiper,
    body.single-product .specification-section,
    body.single-product .specification-section,
    body.single-product #left-summary-section  .available-coupons,
    body.single-product #middle-summary-section #watching-right-now{
        display: none;
    }
    /* Featured specs (key-features tiles) now show on mobile too. Scoped to .key-features so
       any other .specification-section variant stays hidden per the rule above. The 2-up tile
       grid is applied by the max-width:1300 override near the key-features styles. */
    body.single-product .specification-section.key-features{
        display: block;
    }
    body.single-product #left-summary-section{
        padding-bottom: 24px;
    }
    body.single-product .product-details-wrapper .product_title entry-title{
        font-size: 24px;
        font-weight: 700;
        line-height: 40px;
    }
    /* keep pre-init and post-init footprints identical (square) so the box never jumps */
    .swiper-container.cg-main-swiper.swiper-container-initialized .swiper-wrapper .swiper-slide, #commercegurus-pdp-gallery-wrapper{
        height: auto;
        aspect-ratio: 1 / 1;
    }
    body.single-product #left-summary-section #compare-like-button{
        right: 16px;
        top: 16px;
        left: auto;
    }
    body.single-product .custom-product-summary-price{
        display: grid;
        height: 100%;
        justify-content: start;
        align-items: center;
        gap: 0;
    }
    body.single-product .custom-product-summary-price .sale-price {
        display: flex;
        align-items: end;
        gap: 0;
        margin-bottom: 0;
        font-size: 18px;
    }
    body.single-product .custom-product-summary .regular-price-del{
        justify-content: flex-start;
        align-items: flex-end;
        height: 33px;
    }
    body.single-product .custom-product-summary .regular-price-del del{
        top: 0
    }
    body.single-product .custom-product-summary .regular-price-del bdi{
        font-size: 10px;
    }
    body.single-product .custom-product-summary-price .sale-price small{
        margin-bottom: 4px;
    }
    body.single-product .related,
    body.single-product .related-wrapper {
        padding-right: 20px;
        padding-left: 20px;
    }
    body.single-product .related .swiper .swiper-slide {
        width: 100%;
    }   
    /* body.single-product .custom-product-summary {
        grid-template-columns: auto;
        row-gap: 10px;
    } */
    body.single-product #right-summary-section .price>small{
        left: 0;
    }
    body.single-product #right-summary-section{
        margin: 0;
        padding-bottom: 0;
    }
    body.single-product #right-summary-section form {
        grid-template-columns: auto;
    }
    /* body.single-product .woocommerce-tabs ul.tabs li.active{
        padding: 8px 12px;
    } */
    #page .woocommerce-tabs ul.tabs li.active:not(.back-to-top) a{
        color: inherit;
    }
    body.single-product .custom-product-summary .product-configuration {
        order: 0;
    }
    body.single-product #right-summary-section .entry-summary{
        box-sizing: border-box;
        border: 1.5px solid #B0CB1F;
        border-radius: 20px;
        background: #FFF;
        box-shadow: 0 8px 24px rgba(17,24,39,0.06), 0 2px 6px rgba(0,0,0,0.04);
        margin: 0;
        padding: 20px 10px 22px;
    }
    #commercekit-timer.product .commercekit-timer-label{
        font-size: 11px !important;
    }
    body.single-product #middle-summary-section .inventory-countdown-container div p{
        margin-bottom: 0;
    }
    body.single-product #right-summary-section form .reset_variations{
        display: none!important;
    }
    body.single-product #right-summary-section form .single_variation_wrap{
        grid-column: 2;
        padding: 0;
    }
    body.single-product #right-summary-section .stock-container,
    body.single-product #right-summary-section .price,
    div.product table.variations .active .label,
    div.product table.variations .active .value,
    body.single-product #right-summary-section form .variations .accordion th.label,
    div.product table.variations tr.accordion.active td.value{
        padding: 12px 0;
    }
    body.single-product #right-summary-section .stock-container{
        padding-top: 0;
    }
    body.single-product #right-summary-section .stock-container .sale-badge{
        top: 23px;
        right: 0;
    }
    body.single-product #right-summary-section .stock-container span {
        top: 23px;
        right: 2px;
    }
    body.single-product #right-summary-section .summary .price ins{
        font-size: 24px !important;
    }
    body.single-product .related {
        padding-bottom: 60px;
        padding-top: 40px;
    }
    body.single-product #right-summary-section form .single_variation_wrap .woocommerce-variation-add-to-cart {
        padding: 0;
    }
    /* body.single-product .custom-product-summary.show {
        display: flex;
        flex-wrap: wrap;
        bottom: 0;
        column-gap: 20px;
    } */
    body.single-product .custom-product-summary .product-thumbnail {
        display: none;
        margin-right: 0;
        flex: 0 0 29%;
    }
    body.single-product .custom-product-summary .product-details {
        margin-right: 0;
        max-width: 100%;
        /* flex: 0 0 66%; */
    }
    body.single-product .custom-product-summary .add-to-cart {
        max-width: 100%;
    }
    body.single-product .custom-product-summary .custom-product-summary-title h3 {
        font-size: 17px;
    }
    body.single-product .custom-product-summary .product-configuration {
        display: none;
    }
    body.single-product .custom-product-summary .payment-icons {
        display: none!important;
    }
    body.single-product .woocommerce-tabs ul.tabs {
        gap: 30px;
        box-shadow:none;
        border: none;
        border-radius: none;
        background: transparent;
    }
    /* body.single-product #middle-summary-section .inventory-countdown-container{
        display: none;
    } */
    body.single-product .main-slider .slick-slide {
        height: 300px;
    }
    body.single-product .main-slider .slick-slide img {
        width: 100%;
        height: 300px;
    }
    body.single-product .thumb-slider {
        display: none;
    }
    body.single-product .slick-dots {
        bottom: 12px;
    }
    body.single-product .custom-product-summary .product-details .custom-product-summary-title {
        display: none;
    }
    body.single-product .custom-product-summary p {
        display: none;
    }
    body.single-product .custom-product-summary .add-to-cart .delivery-info {
        display: none;
    }
    body.single-product .custom-product-summary-wrapper {
        padding-top: 0;
        margin-top: 0;
        padding-bottom: 0;
        left: 0;
    }
    body.single-product .custom-product-summary {
        display: flex;
        justify-content: space-between;
        padding: 8px 20px;
    }
    body.single-product .custom-product-summary .product-details {
        flex: 0 0 50%;
        display: flex;
        align-items: start;
    }
    body.single-product .custom-product-summary .add-to-cart {
        flex: 0 0 50%;
    }
    body.single-product .custom-product-summary .add-to-cart .add-to-cart-button .single_add_to_cart_button {
        height: 48px;
        font-size: 14px;
    }
    body.single-product div.cgkit-iframe-wrap {
        padding-bottom: 87%!important;
    }
    body.single-product div.cgkit-iframe-wrap iframe {
        border-radius: 16px;
        max-height: 300px;
    }
    body.single-product form.variations_form .variations label {
        max-width: calc(100% - 45px);
    }
    body.single-product .custom-product-summary .custom-product-summary-price .regular-price {
        display: flex;
        grid-gap: 6px;
    }
    body.single-product .custom-product-summary .custom-product-summary-price .regular-price.no-sale {
        margin-bottom: 0;
    } 
    body.single-product .custom-product-summary .custom-product-summary-price .regular-price.with-sale {
        margin-top: 0;
        margin-bottom: 0;
        flex-wrap: unset;
        grid-gap: 6px;
    }
    body.single-product .custom-product-summary .custom-product-summary-price .regular-price.with-sale del {
        flex: unset;
    }
    body.single-product .custom-product-summary .custom-product-summary-price .regular-price .amount {
        font-size: 18px;
    }
    body.single-product .custom-product-summary.show {
        flex-wrap: nowrap;
        column-gap: 0;
    }
    body.single-product ul.tabs.mobile-tabs {
        display: flex;
        opacity: 1;
        flex-wrap: wrap;
    }
    body.single-product .woocommerce-tabs.wc-tabs-wrapper, body.pdp-full #page .woocommerce-tabs {
        position: inherit;
    }
    body.single-product ul.tabs.fixed-tabs {
        display: flex!important;
        position: fixed!important;
        top: calc(env(safe-area-inset-top) + 10px)!important;
        left: 12px;
        right: 12px;
        bottom: auto!important;
        box-sizing: border-box;
        width: calc(100% - 24px);
        margin: 0!important;
        z-index: 9999!important;
        align-items: center;
        flex-wrap: nowrap;
        gap: 0;
        overflow-x: auto;
        overflow-y: hidden;
        scrollbar-width: none;
        border: 1px solid #F0F0F0!important;
        border-radius: 16px;
        background: #FFF;
        box-shadow: 0 4px 18px rgba(0,0,0,.06);
        list-style: none;
        padding: 8px!important;
    }
    body.single-product ul.tabs.fixed-tabs::-webkit-scrollbar {
        display: none;
    }

    body.single-product ul.tabs.fixed-tabs span {
        display: none
    }

    body.single-product ul.tabs.fixed-tabs li {
        border-radius: 8px;
        display: inline-flex!important;
    }

    body.single-product ul.tabs.fixed-tabs li.active:not(.back-to-top) {
        background: #24211F;
    }

    body.single-product ul.tabs.fixed-tabs li.active:not(.back-to-top) a {
        color: #FFF!important
    }

    body.single-product ul.tabs.fixed-tabs li:not(.back-to-top) a {
        color: #0B0B0B;
        font-family: Ubuntu;
        font-size: 12px;
        font-weight: 500;
        line-height: 24px;
        padding: 8px 20px!important;
        outline: none;
        display: -webkit-box;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 2;
        overflow: hidden
    }
    body.single-product .woocommerce-tabs ul.tabs.wc-tabs {
        align-items: center;
        border-top: none;
        gap: 0;
        row-gap: 12px;
        border-radius: 0;
        background: #fff;
        z-index: 1;
        list-style: none;
        padding: 0 0 0 20px !important;
        border: none!important;
        overflow-x: auto;
        overflow-y: hidden;
        scrollbar-width: none;
        margin-top: 1rem;
    }
    body.single-product ul.tabs.wc-tabs span {
        display: none;
    }
    body.single-product ul.tabs.wc-tabs li:not(.back-to-top) {
        border-radius: 8px;
        max-height: 36px;
        list-style: none;
    }
    body.single-product ul.tabs.wc-tabs li.active:not(.back-to-top) {
        background: #24211F;
    }
    body.single-product ul.tabs.wc-tabs li.active:not(.back-to-top) a {
        color: #FFF !important;
    }
    body.single-product ul.tabs.wc-tabs li:not(.back-to-top) a {
        color: #0B0B0B;
        font-family: Ubuntu;
        font-size: 12px;
        font-weight: 500;
        line-height: 24px;
        padding: 6px 15px!important;
        outline: none;
        display: -webkit-box;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 2;
        white-space: nowrap;
        overflow: hidden;
    }
    body.single-product .woocommerce-tabs.wc-tabs-wrapper, body.pdp-full #page .woocommerce-tabs {
        flex-direction: column;
        flex-wrap: unset;
        padding-left: 0;
        padding-right: 0;
        padding-bottom: 0;
    }

    .ask-owner .help-block .help-popup {
        left: -200px;
    }
    .stock-container .help-block .help-popup {
        left: -100px;
    }
    body.single-product ul.tabs.fixed-tabs li a {
        padding: 6px 15px !important;
    }
    .swiper-container.cg-main-swiper.swiper-container-initialized .swiper-wrapper .swiper-slide {
        min-width: 100%;
    }
    .single-product div.product .summary form.cart {
        padding: 0;
    }
    body.single-product .related-wrapper .product_meta {
        padding-left: 0;
        padding-right: 0;
    }
    body.single-product ul.tabs.mobile-tabs li a {
        padding: 6px 12px;
    }
    body.single-product .woocommerce-Tabs-panel--description h2 {
        font-size: 23px;
    }
    body.single-product .woocommerce-Tabs-panel--description h3 {
        font-size: 20px;
    }
    body.single-product .woocommerce-Tabs-panel--description h4 {
        font-size: 18px;
    }
    body.single-product .woocommerce-Tabs-panel--description h5 {
        font-size: 17px;
    }
    body.single-product .woocommerce-Tabs-panel--description h6 {
        font-size: 15px;
    }

    div#tab-additional_information {
        padding-top: 16px;
    }
    body.single-product #commercegurus-pdp-gallery .cg-thumb-swiper {
        display: block;
        padding: 0;
        top: -2rem;
    }
    body.single-product .cg-thumb-swiper .swiper-wrapper .swiper-slide {
        width: 16px !important;
        height: 8px;
        border-radius: 8px;
        border: 1px solid #FFFFFF;
        background-color: #24211F;
        opacity: .1 !important;
        transition: all .2s ease;
    }
    body.single-product .cg-thumb-swiper .swiper-wrapper .swiper-slide .cgkit-play {
        display: none;
    }
    body.single-product .cg-thumb-swiper .swiper-wrapper .swiper-slide-thumb-active {
        border: none !important;
    }
    body.single-product #right-summary-section form .next-day-delivery-info {
        padding-top: 0.5rem;
        display: flex;
        align-items: center;
        justify-content: center;
    }
    #commercegurus-pdp-gallery-wrapper .ckit-badge_wrapper {
        left: 13px;
        top: 12px;
    }
    body.single-product .cg-thumb-swiper .swiper-wrapper .swiper-slide-thumb-active {
        background-color: #BB3DA1 !important;
        opacity: 1 !important;
        width: 40px !important;
    }
    body.single-product #left-summary-section .cg-lightbox-active .cg-thumb-swiper .swiper-slide img {
        display: none
    }
    body.single-product #commercegurus-pdp-gallery .swiper-button-next, body.single-product #commercegurus-pdp-gallery .swiper-button-prev {
        display: none;
    }
    .single-product #commercegurus-pdp-gallery-wrapper .cg-thumb-swiper ul.swiper-wrapper {
        transform: translate3d(0px, 0px, 0px) !important;
    }
    body.single-product #right-summary-section form button.single_add_to_cart_button {
        margin-top: 1rem;
    }
    body.single-product .next-day-delivery-info .help-block {
        height: 24px;
    }
    body.single-product .custom-product-summary .custom-product-summary-price .regular-price.with-sale {
        align-items: baseline;
    }
    body.single-product .custom-product-summary .custom-product-summary-price .regular-price.with-sale .amount {
        font-size: 12px;
    }
    body.single-product #right-summary-section #financing-accordion {
        height: auto;
    }
    body.single-product #right-summary-section #financing-accordion .accordion-content {
        position: initial;
        margin-left: -20px;
        width: calc(100% + 40px);
    }
    .reset_variations {
        display: none!important;
    }
    body.single-product #right-summary-section #financing-accordion.active {
        border-radius: 16px 16px 16px 16px;
        padding: 12px 20px 0;
    }

	body.single-product #merchantwidget-iframe-wrapper {
		transform: translateY(-70px);
	}
	body.single-product #chat-widget-container {
		bottom: 85px !important;
	}
    body.single-product #right-summary-section .price del {
        line-height: 60px;
        top: 6px;
        position: relative;
    }
    .theme-shoptimizer #commercegurus-pdp-gallery-wrapper.ckit-mobile-pdp-gallery-active{
        margin-left: 0 !important;
    }
    .single-product #commercegurus-pdp-gallery-wrapper .cg-thumb-swiper ul.swiper-wrapper{
        min-width: 100%;
    }
    .ywtm_col_1,.ywtm_col_2,.ywtm_col_3,.ywtm_col_4,.yit_wc_tab_manager_contact_form_container .contact_field.ywtm_col_3 {
        width: 100%
    }
}
@media( max-width:569px){
    body.single-product #right-summary-section form .single_variation_wrap{
        grid-column: auto;
    }
    #commercekit-timer.product .commercekit-timer-blocks{
        max-width: 173px;
        height: 52px;
        padding: 7px;
    }
    body.single-product #middle-summary-section .inventory-countdown-container{
        gap: 10px;
        justify-content: space-between;
    }
    #commercekit-timer.product .commercekit-timer-digit, #commercekit-timer.product .commercekit-timer-sep{
        font-size: 19px !important;
        line-height: normal !important;
    }
    .commercekit-inventory .progress-bar{
        margin-top: 3px !important;
    }
}

/* Tablet band (e.g. Pixel 10 Fold unfolded, ~800-1080px CSS px).
   The @media(max-width:1300px) block above forces a 2-column buy box
   (#right-summary-section grid-template-columns:auto auto) which leaves
   the variation selectors / payment icons / add-to-cart in the left half
   with an empty right column, and the desktop tab nav (gap:56px, no
   horizontal scroll until 768px) overflows the page. This band re-asserts
   the single-column buy box and makes the tab nav scroll. Placed at end of
   file so it wins by source order over the 1300/992/991 blocks within
   769-1100px; desktop >=1101px and the <=768px mobile layout are untouched. */
@media (min-width: 769px) and (max-width: 899px) {
    body.single-product .shoptimizer-archive .product-details-wrapper {
        display: block;
        margin: 0 30px;
    }
    body.single-product .product-details-wrapper #middle-summary-section {
        max-width: 100%;
    }
    body.single-product #right-summary-section .entry-summary {
        margin-bottom: 30px;
    }
    body.single-product #right-summary-section form .variations {
        max-width: 100%;
    }

    /* Tab nav: scroll horizontally instead of pushing the page wider.
       Higher specificity (ul.tabs.wc-tabs ... a) wins over the
       @media(max-width:992px) "overflow:inherit" rule on the tab links. */
    body.single-product .woocommerce-tabs ul.tabs.wc-tabs {
        gap: 0;
        flex-wrap: nowrap;
        overflow-x: auto;
        overflow-y: hidden;
        scrollbar-width: none;
    }
    body.single-product .woocommerce-tabs ul.tabs.wc-tabs::-webkit-scrollbar {
        display: none;
    }
    body.single-product .woocommerce-tabs ul.tabs.wc-tabs li:not(.back-to-top) a {
        white-space: nowrap;
        overflow: hidden;
        padding: 8px 16px !important;
    }
}

/* Tablet 2-column layout (769-1300px). Below 1300 the buy box was a single
   centred column, which left large empty side margins on wide tablets (the card
   is only ~420px). Here we instead place the gallery + description on the left
   and the buy box in a fixed-width right column, so the horizontal space is
   used organically (mirrors the desktop intent). Placed last so it wins over the
   <=1300 single-column base. The floor was lowered 900->769 so foldables
   (~800px CSS, e.g. Pixel Fold unfolded) and iPad portrait get the tablet
   two-column sticky buy box; the 769-899 sub-range narrows the buy box (below).
   Phones (<=768px) stay single-column full-width (handled above). */
@media (min-width: 769px) and (max-width: 1300px) {
    /* The base PDP CSS sets body{overflow-x:hidden}, which forces overflow-y:auto and turns the
       <body> into a scroll container — that breaks position:sticky for the buy box below. Swap to
       overflow-x:clip (same trick already used on <html> in style.css): it still clips the
       off-canvas side-cart's horizontal overflow but WITHOUT creating a scroll container, so the
       sticky buy box works. Scoped to the tablet range where the sticky buy box is active. */
    body.single-product {
        overflow-x: clip;
    }
    body.single-product .shoptimizer-archive .product-details-wrapper {
        display: grid;
        /* LOCKED — tablet column tracks (900-1300px). Do not change without an explicit user
           request (see AGENTS.md "Buy box / gallery / middle column widths are LOCKED"). Buy box
           is the fixed 420px right column; gallery + middle share the left column. The 769-899
           sub-range overrides this to a narrower buy box (user-approved 2026-06-07) — see the
           block immediately after this one. */
        grid-template-columns: minmax(0, 1fr) 420px;
        grid-template-areas:
            "gallery buybox"
            "middle  buybox";
        align-items: start;
        column-gap: 40px;
        margin: 0 30px;
    }
    body.single-product #left-summary-section {
        grid-area: gallery;
    }
    /* Gallery: release the base 524px slide min-width (single-product.css ~line 242) and make the
       main swiper a square that follows its grid track — same as the desktop block. Without this
       the slide stays a fixed ~524px and is clipped on the right at narrower tablet gallery
       columns (e.g. ~420px at 1024px). */
    body.single-product #commercegurus-pdp-gallery-wrapper .cg-main-swiper{
        aspect-ratio: 1 / 1;
    }
    body.single-product #commercegurus-pdp-gallery-wrapper .cg-main-swiper > ul.swiper-wrapper{
        aspect-ratio: 1 / 1;
        height: 100% !important;
    }
    body.single-product .swiper-container.cg-main-swiper.swiper-container-initialized .swiper-wrapper .swiper-slide{
        max-width: 100% !important;
        min-width: 0 !important;
        height: 100% !important;
    }
    body.single-product #commercegurus-pdp-gallery-wrapper .cg-main-swiper .swiper-slide .swiper-slide-imglink{
        height: 100% !important;
    }
    body.single-product #commercegurus-pdp-gallery-wrapper .cg-main-swiper .swiper-slide img.wp-post-image,
    body.single-product #commercegurus-pdp-gallery-wrapper .cg-main-swiper .swiper-slide img{
        height: 100% !important;
    }
    body.single-product .product-details-wrapper #middle-summary-section {
        grid-area: middle;
        max-width: 100%;
    }
    body.single-product .product-details-wrapper #right-summary-section,
    body.single-product #right-summary-section {
        grid-area: buybox;
        display: block;
        width: auto;
        max-width: 100%;
        margin: 0;
        padding-bottom: 32px;
        /* Pin the buy box as the tall left column (gallery + middle + accordions) scrolls,
           so the short right column no longer leaves dead space. The buybox grid item spans
           both rows ("gallery buybox"/"middle buybox"), giving sticky a tall track to travel.
           align-self:start stops the item stretching to the full cell height. Tablet only;
           desktop (>=1301) and mobile (<900) are unaffected. */
        position: sticky;
        top: 20px;
        align-self: start;
    }
    body.single-product #right-summary-section .entry-summary {
        max-width: 100%;
        margin: 0;
    }
    body.single-product #right-summary-section #financing-accordion {
        max-width: 100%;
        margin: 24px 0 0;
    }
}

/* 769-899px (foldables ~800px CSS e.g. Pixel Fold unfolded, + iPad portrait): narrow the buy box
   so the 420px card does not cramp the gallery/middle left column at these widths. The LOCKED
   900-1300px range keeps 420px; this sub-range was user-approved (2026-06-07). Placed after the
   main tablet block so it overrides only the column track (~350px ≈ a balanced split at ~800px).*/
@media (min-width: 769px) and (max-width: 899px) {
    body.single-product .shoptimizer-archive .product-details-wrapper {
        grid-template-columns: minmax(0, 1fr) 350px;
    }
}

@media (min-width: 769px) and (max-width: 1300px) {
    body.single-product #right-summary-section .entry-summary {
        border: 1.5px solid #B0CB1F;
        border-radius: 20px;
        background: #FFF;
        box-shadow: 0 8px 24px rgba(17,24,39,0.06), 0 2px 6px rgba(0,0,0,0.04);
    }
    body.single-product #right-summary-section #financing-accordion {
        width: calc(100% - 80px);
        max-width: calc(100% - 80px);
        margin-left: 40px;
        margin-right: 40px;
    }
}

/* ════════ Phase 2 — Breadcrumb (design .dx-crumb) ════════ */
body.single-product .archive-header{
    background: #fff;
    border-top: 1px solid #F0F0F0;
    border-bottom: 1px solid #F0F0F0;
    margin-bottom: 0;
}
body.single-product .archive-header .col-full{
    /* No extra vertical padding here: the breadcrumb element already carries its own 16px/16px
       padding, so the bar height matches droix.net (~56px). The previous 8/18 here stacked on
       top of that and made the bar ~26px too tall. */
    padding-top: 0;
    padding-bottom: 0;
    border: 0;
}
body.single-product .rankmath.woocommerce-breadcrumb,
body.single-product .rank-math-breadcrumb p{
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
    margin: 0;
    font-family: 'Inter', 'Ubuntu', sans-serif;
    font-size: 13.5px;
    color: #666;
}
body.single-product .rank-math-breadcrumb a{
    color: #666;
    text-decoration: none;
}
body.single-product .rank-math-breadcrumb a:hover{
    color: #74A401;
}
body.single-product .rank-math-breadcrumb .last{
    color: #242421;
    font-weight: 500;
}
body.single-product .rank-math-breadcrumb .separator{
    font-size: 0;
    width: 14px;
    height: 14px;
    display: inline-flex;
    align-items: center;
}
body.single-product .rank-math-breadcrumb .separator::after{
    content: "";
    width: 14px;
    height: 14px;
    background-color: #999;
    -webkit-mask: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='9 18 15 12 9 6'/%3E%3C/svg%3E") center / contain no-repeat;
    mask: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='9 18 15 12 9 6'/%3E%3C/svg%3E") center / contain no-repeat;
}

/* ════════ Phase 2 — Info accordions card (design .dx-accordions) ════════ */
body.single-product #middle-summary-section .dx-accordions{
    background: #fff;
    border: 1px solid #F0F0F0;
    border-radius: 20px;
    padding: 4px 22px;
    margin-top: 8px;
}
body.single-product #middle-summary-section .dx-accordions details{
    border-bottom: 1px solid #F0F0F0;
    padding: 0;
}
body.single-product #middle-summary-section .dx-accordions details:last-child{
    border-bottom: 0;
}
body.single-product #middle-summary-section .dx-accordions summary{
    list-style: none;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 18px 2px;
    font-family: 'Ubuntu', sans-serif;
    font-weight: 500;
    font-size: 17px;
    color: #242421;
}
body.single-product #middle-summary-section .dx-accordions summary::-webkit-details-marker{ display: none; }
body.single-product #middle-summary-section .dx-accordions summary::after{
    content: "";
    flex: 0 0 auto;
    width: 20px;
    height: 20px;
    background-color: #666;
    transition: transform .25s ease;
    -webkit-mask: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E") center / contain no-repeat;
    mask: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E") center / contain no-repeat;
}
body.single-product #middle-summary-section .dx-accordions details[open] summary::after{
    transform: rotate(180deg);
}
body.single-product #middle-summary-section .dx-accordions .cg-accordion-item,
body.single-product #middle-summary-section .dx-accordions details > *:not(summary){
    padding: 0 2px 20px;
    font-family: 'Inter', sans-serif;
    font-size: 14.5px;
    line-height: 1.6;
    color: #484848;
}
body.single-product.dx-info-accordions-in-view #chat-widget-container{
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    transition: opacity .15s ease, visibility .15s ease;
}
body.single-product #chat-widget-container{
    right: 24px !important;
}
body.single-product:not(.dx-sticky-cart-visible) #chat-widget-container{
    bottom: calc(24px + env(safe-area-inset-bottom)) !important;
}

@media (max-width: 1300px){
    body.single-product.dx-sticky-cart-visible #chat-widget-container{
        bottom: calc(var(--dx-sticky-bar-h, 0px) + 16px + env(safe-area-inset-bottom)) !important;
        z-index: 100001 !important;
    }
}

/* ════════ Phase 3 — Condition collapse + Configuration RAM/Storage cards ════════ */
/* Collapse a variation row that has only one option (e.g. single "New" condition) */
body.single-product #right-summary-section .variations tr.dx-single-collapsed td.value{
    display: none;
}
body.single-product #right-summary-section .variations tr.dx-single-collapsed .label{
    cursor: default;
}

/* Configuration group → 2-up cards (the narrow buy-box card fits 2 once the
   long names are reduced to Storage head + RAM sub). */
body.single-product #right-summary-section form .variations tr.dx-cfg-group .cgkit-as-wrap .cgkit-attribute-swatches{
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 10px !important;
}
/* Constant-spec note above the cards (design .dx-cfg-note) */
body.single-product #right-summary-section .variations tr.dx-cfg-group td.value .dx-cfg-note{
    display: inline-flex;
    align-items: center;
    gap: 7px;
    margin: 0 0 12px;
    padding: 7px 12px;
    background: #F3F8DC;
    border-radius: 12px;
    font-family: 'Inter', sans-serif;
    font-size: 12.5px;
    line-height: 1.3;
    color: #484848;
}
body.single-product #right-summary-section .variations tr.dx-cfg-group td.value .dx-cfg-note span{
    color: #242421;
    font-weight: 500;
}

/* The card button itself (override the centered pill styling for .dx-cfg2) */
body.single-product #right-summary-section form .variations tr.dx-cfg-group .cgkit-attribute-swatch.cgkit-button button.dx-cfg2{
    display: flex !important;
    flex-direction: column;
    align-items: stretch;
    justify-content: center;
    gap: 4px;
    width: 100%;
    height: auto;
    min-height: 0;
    text-align: left;
    padding: 13px 15px !important;
    border: 1.5px solid #D9D9D9 !important;
    border-radius: 12px !important;
    background: #fff !important;
    box-shadow: none !important;
    white-space: normal;
}
body.single-product #right-summary-section form .variations tr.dx-cfg-group .cgkit-attribute-swatch.cgkit-button button.dx-cfg2 .dx-cfg2-top{
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 6px;
}
.dx-cfg2 .dx-cfg2-head{ font-family: 'Ubuntu', sans-serif; font-weight: 700; font-size: 18px; line-height: 1; color: #0B0B0B; letter-spacing: -.01em; }
.dx-cfg2 .dx-cfg2-delta{ font-family: 'Ubuntu', sans-serif; font-weight: 600; font-size: 11.5px; color: #666; white-space: nowrap; }
.dx-cfg2 .dx-cfg2-sub{ font-family: 'Inter', sans-serif; font-size: 12px; font-weight: 500; color: #666; }
/* selected */
body.single-product #right-summary-section form .variations tr.dx-cfg-group .cgkit-attribute-swatch.cgkit-button button.dx-cfg2.cgkit-swatch-selected{
    background: #0b0b0b !important;
    border-color: #0b0b0b !important;
}
.dx-cfg2.cgkit-swatch-selected .dx-cfg2-head{ color: #fff; }
.dx-cfg2.cgkit-swatch-selected .dx-cfg2-delta{ color: #B0CB1F; }
.dx-cfg2.cgkit-swatch-selected .dx-cfg2-sub{ color: rgba(255,255,255,.72); }
/* disabled / coming soon */
body.single-product #right-summary-section form .variations tr.dx-cfg-group .cgkit-attribute-swatch.cgkit-disabled button.dx-cfg2,
body.single-product #right-summary-section form .variations tr.dx-cfg-group .cgkit-attribute-swatch.cgkit-button button.dx-cfg2.cgkit-as-outofstock{
    border-style: dashed !important;
    border-color: #EEEEEE !important;
    background: #FCFCFC !important;
}
.dx-cfg2.cgkit-as-outofstock .dx-cfg2-head,
.cgkit-disabled .dx-cfg2 .dx-cfg2-head,
.cgkit-disabled .dx-cfg2 .dx-cfg2-sub{ color: #AAAAAA; }
.cgkit-disabled .dx-cfg2 .dx-cfg2-delta{ color: #AAAAAA; font-weight: 500; }
/* preorder pill — selectable, distinct from out-of-stock "Coming soon" */
.dx-cfg2-badge.dx-preorder{
    display: inline-block; margin-left: 4px; padding: 1px 6px; border-radius: 999px;
    font-family: 'Inter', sans-serif; font-size: 10px; font-weight: 600; line-height: 1.4;
    color: #6a5300; background: #FBF1C9; vertical-align: middle;
}
.dx-cfg2.cgkit-swatch-selected .dx-cfg2-badge.dx-preorder{ color: #2a2a2a; background: #B0CB1F; }
/* preorder swatch (cpu / condition) marker — colour swatches are round and excluded
   so the dash doesn't render as a square box around the circle */
body.single-product #right-summary-section form .variations .cgkit-attribute-swatch:not(.cgkit-color) button.dx-swatch-preorder{
    border-style: dashed !important;
}
/* Colour swatch that is obtainable somewhere (in stock / preorder) must look selectable even
   when the current config combo doesn't exist — clicking resolves the config. Override
   CommerceKit's cgkit-disabled slash/greyed styling for these. */
body.single-product #right-summary-section .cgkit-attribute-swatch.cgkit-color > button.cgkit-disabled.dx-available{
    opacity: 1;
    cursor: pointer;
}
body.single-product #right-summary-section .cgkit-attribute-swatch.cgkit-color > button.cgkit-disabled.dx-available span.cross{
    display: none;
}
/* CPU / Condition text pills + Configuration cards: an obtainable-but-not-matching swatch
   (.dx-available) is flagged cgkit-disabled by CommerceKit because the current sibling combo
   doesn't exist, yet clicking it reconciles to the best in-stock combo (dxReconcile). Make
   these look selectable too — the colour-swatch override above only covered round swatches.
   Genuinely out-of-stock swatches (.stock_out_of_stock, no .dx-available) stay greyed. */
body.single-product #right-summary-section .cgkit-attribute-swatch > button.cgkit-disabled.dx-available{
    opacity: 1;
    cursor: pointer;
}
body.single-product #right-summary-section .cgkit-attribute-swatch > button.cgkit-disabled.dx-available span.cross{
    display: none;
}
/* Configuration cards: restore the normal (selectable) card chrome + text colours that the
   cgkit-disabled "coming soon" rules grey out. Preorder cards keep their dashed marker. */
body.single-product #right-summary-section form .variations tr.dx-cfg-group .cgkit-attribute-swatch.cgkit-disabled button.dx-cfg2.dx-available:not(.dx-swatch-preorder){
    border-style: solid !important;
    border-color: #D9D9D9 !important;
    background: #fff !important;
}
body.single-product #right-summary-section form .variations tr.dx-cfg-group .cgkit-attribute-swatch.cgkit-disabled button.dx-cfg2.dx-available.dx-swatch-preorder{
    background: #fff !important;
}
body.single-product #right-summary-section .cgkit-disabled button.dx-cfg2.dx-available .dx-cfg2-head{ color: #0B0B0B; }
body.single-product #right-summary-section .cgkit-disabled button.dx-cfg2.dx-available .dx-cfg2-sub{ color: #666; }
body.single-product #right-summary-section .cgkit-disabled button.dx-cfg2.dx-available .dx-cfg2-delta{ color: #666; font-weight: 600; }
/* iOS Safari fix: CommerceKit sets `.cgkit-attribute-swatch > button.cgkit-disabled:active{
   pointer-events:none}` (commercegurus-attribute-swatches.css). On a real touch the button enters
   :active mid-tap and goes non-interactive, so WebKit's tap->click synthesis (hit-tested at
   touchend) suppresses the click and the tap is swallowed — desktop (mouse) fires click on mouseup
   regardless, so only iPhone/iPad are affected. Our obtainable-but-not-in-combo swatches
   (.dx-available, incl. .dx-cfg2 config cards) keep .cgkit-disabled yet must stay tappable (clicking
   re-resolves via dxReconcile), so restore interactivity for them. Genuinely OOS swatches
   (.stock_out_of_stock, no .dx-available) deliberately keep CommerceKit's disabled behaviour. */
body.single-product #right-summary-section .cgkit-attribute-swatch > button.cgkit-disabled.dx-available:active{ pointer-events: auto !important; }

/* ════════ Phase 4 — Free-gift box (design .dx-giftbox) ════════ */
/* Lives under the gallery (left column), before the key-features tiles. */
body.single-product .dx-giftbox{
    background: linear-gradient(100deg, #F3F8DC, #fff 80%);
    border: 1.5px solid #B0CB1F;
    border-radius: 16px;
    padding: 14px 16px;
    display: flex;
    flex-direction: column;
    gap: 12px;
    margin: 16px 0 4px;
}
.dx-giftbox .dx-giftbox-head{ display: flex; align-items: center; gap: 10px; }
.dx-giftbox .dx-giftstrip-badge{ width: 30px; height: 30px; flex: 0 0 auto; border-radius: 9px; background: #B0CB1F; display: flex; align-items: center; justify-content: center; box-shadow: 0 8px 20px rgba(176,203,31,.35); }
.dx-giftbox .dx-giftbox-eyebrow{ font-family: 'Ubuntu', sans-serif; font-weight: 700; font-size: 12px; letter-spacing: .07em; text-transform: uppercase; color: #74A401; }
.dx-giftbox .dx-giftlist{ display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.dx-giftbox .dx-giftlist.single{ grid-template-columns: 1fr; }
.dx-giftbox .dx-giftcard{ display: flex; align-items: center; gap: 11px; background: #fff; border: 1px solid #F0F0F0; border-radius: 12px; padding: 9px 12px; min-width: 0; }
.dx-giftbox .dx-giftcard-img{ width: 42px; height: 42px; flex: 0 0 auto; border-radius: 8px; background: #F8F8F8; border: 1px solid #F0F0F0; display: flex; align-items: center; justify-content: center; overflow: hidden; }
.dx-giftbox .dx-giftcard-img img{ width: 100%; height: 100%; object-fit: contain; }
.dx-giftbox .dx-giftcard-txt{ display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.dx-giftbox .dx-giftcard-name{ font-family: 'Ubuntu', sans-serif; font-weight: 600; font-size: 13.5px; color: #242421; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.dx-giftbox .dx-giftcard-price{ display: inline-flex; align-items: center; gap: 8px; font-size: 13px; }
.dx-giftbox .dx-giftcard-price s{ color: #999; }
.dx-giftbox .dx-giftcard-price strong{ color: #74A401; font-weight: 700; letter-spacing: .04em; }

/* ════════ Group A — key-features as design .dx-tiles (3-up, under gallery) ════════ */
body.single-product .specification-section.key-features{ padding: 18px 0 0; }
body.single-product .specification-section.key-features .container{
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 12px;
}
body.single-product .specification-section.key-features .kf-item{
    max-width: none;
    width: auto;
    margin: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    text-align: center;
    padding: 18px 12px;
}
body.single-product .specification-section.key-features .kf-item img{
    width: 52px;
    height: 52px;
    object-fit: contain;
    margin: 0 0 10px;
}
body.single-product .specification-section.key-features .kf-item h5{
    font-family: 'Ubuntu', sans-serif;
    font-weight: 700;
    font-size: 13px;
    line-height: 1.25;
    color: #242421;
    margin: 0;
}
body.single-product .specification-section.key-features .kf-item p{
    font-size: 12px;
    line-height: 1.3;
    color: #737373;
    margin: 3px 0 0;
}
/* Narrow columns (tablet 900-1300 + mobile <900): drop the 3-up tiles to 2-up so the
   cards stay legible in the gallery/left column and on the single mobile column,
   matching the design reference featured-specs grid. Desktop (>=1301) keeps 3-up. */
@media (max-width: 1300px) {
    body.single-product .specification-section.key-features .container{
        grid-template-columns: repeat(2, 1fr);
    }
}

/* ════════ Group B — selling-fast bar as design .dx-fast (inside buy box, after CTA) ════════ */
/* The CommerceKit inventory bar (.inventory-countdown-container.dx-fast-host) is moved
   into the buy box after the variations form by single-product.js. Restyle to the
   design's thin label + 6px rounded track + green fill. */
body.single-product #right-summary-section .entry-summary .inventory-countdown-container.dx-fast-host{
    padding: 0;
    /* align to the buy-box card's 20px content gutter (price/CTA use the same) */
    margin: 14px 20px 4px;
}
body.single-product #right-summary-section .entry-summary .dx-fast-host .commercekit-inventory{
    width: 100%;
    margin: 0;
}
body.single-product #right-summary-section .entry-summary .dx-fast-host .cki-variation .title{
    display: block;
    font-family: 'Ubuntu', sans-serif;
    font-weight: 600;
    font-size: 13.5px;
    line-height: 1.35;
    color: #242421;
}
body.single-product #right-summary-section .entry-summary .dx-fast-host .commercekit-inventory .progress-bar{
    margin-top: 8px !important;
    height: 6px;
    border-radius: 99px;
    background: #EFEEE4;
    overflow: hidden;
}
body.single-product #right-summary-section .entry-summary .dx-fast-host .commercekit-inventory .progress-bar span{
    display: block;
    height: 100%;
    border-radius: 99px;
    background: #B0CB1F !important;
}

/* "In stock" bar attention effect: when the bar scrolls into view, scale the green fill from
   left→right (scaleX preserves CommerceKit's inline width %), then run a gentle recurring sheen
   sweep so the widget reads as live rather than static. JS adds .dx-stock-animate on the
   .progress-bar when it enters the viewport (single-product.js). Honours reduced-motion. */
@keyframes dx-stock-fill { from { transform: scaleX(0); } to { transform: scaleX(1); } }
@keyframes dx-stock-sheen {
    0%   { transform: translateX(-110%); }
    55%  { transform: translateX(360%); }
    100% { transform: translateX(360%); }
}
body.single-product #right-summary-section .entry-summary .dx-fast-host .commercekit-inventory .progress-bar.dx-stock-animate span{
    transform-origin: left center;
    animation: dx-stock-fill .9s cubic-bezier(.22,.61,.36,1) both;
}
body.single-product #right-summary-section .entry-summary .dx-fast-host .commercekit-inventory .progress-bar.dx-stock-animate{
    position: relative;
}
body.single-product #right-summary-section .entry-summary .dx-fast-host .commercekit-inventory .progress-bar.dx-stock-animate::after{
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    width: 40%;
    border-radius: 99px;
    pointer-events: none;
    background: linear-gradient(100deg, rgba(255,255,255,0) 0%, rgba(255,255,255,.55) 50%, rgba(255,255,255,0) 100%);
    transform: translateX(-110%);
    /* 1s delay lets the fill finish, then a slow sweep every 3.6s (with an off-screen pause) */
    animation: dx-stock-sheen 3.6s ease-in-out 1s infinite;
}
@media (prefers-reduced-motion: reduce){
    body.single-product #right-summary-section .entry-summary .dx-fast-host .commercekit-inventory .progress-bar.dx-stock-animate span{ animation: none; }
    body.single-product #right-summary-section .entry-summary .dx-fast-host .commercekit-inventory .progress-bar.dx-stock-animate::after{ animation: none; display: none; }
}

/* Hide CommerceKit waitlist "<value> sold out?" labels under variation attributes —
   not in the design. The module shows them with inline display:table, so override
   with !important. Buy box + sticky picker. The "Get notified" popup/Klaviyo flow
   is untouched (it uses #commercekit-waitlist-popup, not .ckwtl-os-label). */
body.single-product .ckwtl-os-label{
    display: none !important;
}

/* ════════ Phase 6 — Additional Information specs table (design .dx-addtl) ════════ */
body.single-product .woocommerce-Tabs-panel--additional_information > h2,
body.single-product #tab-additional_information > h2{
    display: none;
}
body.single-product .woocommerce-Tabs-panel--additional_information table.shop_attributes,
body.single-product #tab-additional_information table.shop_attributes{
    width: 100%;
    border-collapse: collapse;
    border: 0;
    margin: 0 0 8px;
}
body.single-product .woocommerce-Tabs-panel--additional_information table.shop_attributes tr,
body.single-product #tab-additional_information table.shop_attributes tr{
    border: 0;
}
/* group heading row (Software / Processor / Graphics / Display) */
body.single-product table.shop_attributes tr.attribute_group_row{
    background: #FAFAFA;
}
body.single-product table.shop_attributes tr.attribute_group_row th,
body.single-product table.shop_attributes tr.attribute_group_row td{
    font-family: 'Ubuntu', sans-serif;
    font-weight: 700;
    font-size: 22px;
    color: #242421;
    background: #FAFAFA !important;
    padding: 26px 0 6px;
    border: 0;
    text-align: left;
}
body.single-product table.shop_attributes tr.attribute_group_row:first-child th,
body.single-product table.shop_attributes tr.attribute_group_row:first-child td{
    padding-top: 4px;
}
/* grouped-attributes wraps the visible rows in a nested table; keep the wrapper invisible. */
body.single-product table.shop_attributes > tbody > tr.attribute_row{
    background: transparent;
}
body.single-product table.shop_attributes > tbody > tr.attribute_row > td{
    padding: 0 !important;
    border: 0;
}
body.single-product table.shop_attributes table.attribute_name_values{
    width: 100%;
    border-collapse: collapse;
    border: 0;
    margin: 0;
}
/* spec rows - zebra (design: first row grey, second row white) */
body.single-product table.shop_attributes table.attribute_name_values tr{
    background: #F0F0F0;
}
body.single-product table.shop_attributes table.attribute_name_values tr.alt{
    background: #fff;
}
body.single-product table.shop_attributes table.attribute_name_values th,
body.single-product table.shop_attributes table.attribute_name_values td{
    border: 0;
    padding: 13px 16px;
    font-family: 'Inter', sans-serif;
    font-size: 14.5px;
    vertical-align: top;
    font-style: normal;
}
body.single-product table.shop_attributes table.attribute_name_values th{
    width: 38%;
    font-weight: 700;
    color: #242421;
    text-align: left;
}
body.single-product table.shop_attributes table.attribute_name_values td{
    color: #484848;
    font-weight: 400;
}
body.single-product table.shop_attributes table.attribute_name_values tr > th,
body.single-product table.shop_attributes table.attribute_name_values tr > td{
    background: #F0F0F0 !important;
}
body.single-product table.shop_attributes table.attribute_name_values tr.alt > th,
body.single-product table.shop_attributes table.attribute_name_values tr.alt > td{
    background: #fff !important;
}
body.single-product table.shop_attributes table.attribute_name_values td a{
    color: #484848;
    text-decoration: none !important;
}
body.single-product table.shop_attributes table.attribute_name_values td a:hover{
    color: #74A401;
}

/* ════════ Phase 8 — Sticky add-to-cart picker (sheet / modal) ════════ */
.dx-pick-scrim{ position: fixed; inset: 0; background: rgba(0,0,0,.45); opacity: 0; transition: opacity .28s; z-index: 100000; }
.dx-pick-scrim.in{ opacity: 1; }
.dx-pick-sheet{ position: fixed; z-index: 100001; background: #fff; display: flex; flex-direction: column; }
.dx-pick-scrim[hidden],
.dx-pick-sheet[hidden]{
    display: none !important;
    pointer-events: none !important;
}
.dx-pick-scrim:not(.in),
.dx-pick-sheet:not(.in){
    pointer-events: none;
}
.dx-pick-scrim.in,
.dx-pick-sheet.in{
    pointer-events: auto;
}
.dx-pick-grip{ width: 42px; height: 4px; border-radius: 3px; background: #D9D9D9; margin: 10px auto 6px; flex: 0 0 auto; }
.dx-pick-head{ display: flex; align-items: center; justify-content: space-between; padding: 8px 20px 12px; flex: 0 0 auto; }
.dx-pick-head b{ font-family: 'Ubuntu', sans-serif; font-weight: 700; font-size: 17px; color: #0B0B0B; }
.dx-pick-x{ all: unset; cursor: pointer; width: 36px; height: 36px; display: flex; align-items: center; justify-content: center; border-radius: 10px; font-size: 24px; line-height: 1; color: #484848; }
.dx-pick-x:hover{ background: #F8F8F8; }
.dx-pick-body{ overflow-y: auto; padding: 4px 20px 16px; flex: 1 1 auto; }
.dx-pick-foot{ flex: 0 0 auto; border-top: 1px solid #F0F0F0; padding: 14px 20px calc(14px + env(safe-area-inset-bottom)); }
.dx-pick-add{ all: unset; box-sizing: border-box; cursor: pointer; width: 100%; height: 52px; display: flex; align-items: center; justify-content: center; gap: 8px; background: #B0CB1F; color: #fff; font-family: 'Ubuntu', sans-serif; font-weight: 700; font-size: 16px; border-radius: 14px; box-shadow: 0 8px 20px rgba(176,203,31,.35); }
.dx-pick-add:hover{ background: #74A401; }
/* mobile/tablet → bottom sheet */
@media (max-width: 1024px){
    .dx-pick-sheet{ left: 0; right: 0; bottom: 0; max-height: 88vh; border-radius: 24px 24px 0 0; transform: translateY(100%); transition: transform .32s cubic-bezier(.4,0,.2,1); box-shadow: 0 -12px 44px rgba(0,0,0,.22); }
    .dx-pick-sheet.in{ transform: translateY(0); }
}
/* desktop → centred modal */
@media (min-width: 1025px){
    .dx-pick-sheet{ left: 50%; top: 50%; width: 480px; max-width: calc(100vw - 40px); max-height: 86vh; border-radius: 20px; box-shadow: 0 20px 40px rgba(17,24,39,.18); opacity: 0; transform: translate(-50%, -46%); transition: opacity .25s, transform .25s; }
    .dx-pick-sheet.in{ opacity: 1; transform: translate(-50%, -50%); }
    .dx-pick-grip{ display: none; }
}

/* "Change" affordance on the sticky bar (the product-details block opens the picker) */
.custom-product-summary-wrapper .product-details{ cursor: pointer; }
.custom-product-summary-wrapper .product-details::after{
    content: "Change";
    display: inline-block;
    margin-top: 4px;
    color: #74A401;
    font-family: 'Inter', sans-serif;
    font-weight: 600;
    font-size: 13px;
    text-decoration: underline;
}
.custom-product-summary-wrapper .product-details:hover::after{ color: #0B0B0B; }

/* Cloned swatches inside the picker — re-scope the buy-box card styling */
.dx-pick-body table.variations{ width: 100%; border-collapse: collapse; }
.dx-pick-body table.variations tr{ display: block; margin-bottom: 16px; }
.dx-pick-body table.variations td{ display: block; border: 0; padding: 0; }
.dx-pick-body table.variations td.label{ font-family: 'Ubuntu', sans-serif; font-weight: 500; font-size: 15px; color: #242421; margin-bottom: 10px; }
.dx-pick-body table.variations tr.dx-single-collapsed{ display: none; }
.dx-pick-body .cgkit-attribute-swatches{ display: flex; flex-wrap: wrap; gap: 10px; list-style: none; margin: 0; padding: 0; }
.dx-pick-body tr.dx-cfg-group .cgkit-attribute-swatches{ display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.dx-pick-body .dx-cfg-note{ display: inline-flex; align-items: center; gap: 7px; margin: 0 0 12px; padding: 7px 12px; background: #F3F8DC; border-radius: 12px; font-size: 12.5px; color: #484848; }
.dx-pick-body .dx-cfg-note span{ color: #242421; font-weight: 500; }
.dx-pick-body .cgkit-attribute-swatch{ list-style: none; }
.dx-pick-body .cgkit-attribute-swatch.cgkit-button button{ all: unset; box-sizing: border-box; cursor: pointer; display: flex; align-items: center; justify-content: center; width: 100%; padding: 12px 16px; border: 1.5px solid #D9D9D9; border-radius: 9999px; font-size: 14.5px; font-weight: 600; color: #242421; text-align: center; }
.dx-pick-body .cgkit-attribute-swatch.cgkit-button button.cgkit-swatch-selected{ background: #0b0b0b; border-color: #0b0b0b; color: #fff; }
.dx-pick-body .cgkit-attribute-swatch.cgkit-disabled button{ border-style: dashed; border-color: #EEEEEE; color: #AAAAAA; cursor: not-allowed; }
/* Picker parity with the main buy box: a swatch that is obtainable somewhere (.dx-available) but
   flagged cgkit-disabled by CommerceKit (current sibling combo doesn't exist) must look selectable
   here too — clicking it proxies to the real swatch and dxReconcile resolves the combo. Without
   this the clone showed obtainable colours/configs greyed + crossed (read as out of stock /
   unclickable). Genuinely OOS swatches (.stock_out_of_stock, no .dx-available) stay greyed. */
.dx-pick-body .cgkit-attribute-swatch > button.cgkit-disabled.dx-available{ opacity: 1; cursor: pointer; border-style: solid; border-color: #D9D9D9; color: #242421; }
.dx-pick-body .cgkit-attribute-swatch > button.cgkit-disabled.dx-available span.cross{ display: none; }
/* Colour swatches need a .cgkit-color-specific override (mirror of the buy box's 3836/3840):
   CommerceKit's `.cgkit-attribute-swatch.cgkit-color > button.cgkit-disabled span.cross{display:block}`
   is (0,6,2) and out-specifies the generic picker rule above (0,5,2), so an obtainable colour
   (e.g. gpd-win-5 Pearl White, 1 in stock) kept its diagonal strike in the picker and read as out
   of stock. The buy box wins via its #right-summary-section ID; the picker has no ID, so add
   .cgkit-color + the body prefix to clear CommerceKit's specificity. */
body.single-product .dx-pick-body .cgkit-attribute-swatch.cgkit-color > button.cgkit-disabled.dx-available{ opacity: 1; cursor: pointer; }
body.single-product .dx-pick-body .cgkit-attribute-swatch.cgkit-color > button.cgkit-disabled.dx-available span.cross{ display: none; }
.dx-pick-body .cgkit-attribute-swatch.cgkit-button button.dx-cfg2.dx-available:not(.dx-swatch-preorder){ border-style: solid; border-color: #D9D9D9; background: #fff; }
.dx-pick-body .cgkit-attribute-swatch.cgkit-button button.dx-cfg2.dx-available.dx-swatch-preorder{ background: #fff; }
.dx-pick-body .cgkit-disabled button.dx-cfg2.dx-available .dx-cfg2-head{ color: #0B0B0B; }
.dx-pick-body .cgkit-disabled button.dx-cfg2.dx-available .dx-cfg2-sub{ color: #666; }
.dx-pick-body .cgkit-disabled button.dx-cfg2.dx-available .dx-cfg2-delta{ color: #666; font-weight: 600; }
/* iOS Safari fix (picker): every picker swatch proxies to the real buy-box swatch (real.click()),
   so all must stay tappable on touch — restore pointer-events for cgkit-disabled buttons here, and
   stop the cloned CommerceKit strike overlay from intercepting a tap on a bare span (iOS never
   synthesizes a click for a tap that lands on a non-clickable span). Mirrors the buy-box :active
   override above; the picker is rendered at wp_footer, outside .cgkit-as-wrap. */
body.single-product .dx-pick-body .cgkit-attribute-swatch > button.cgkit-disabled:active{ pointer-events: auto !important; }
body.single-product .dx-pick-body .cgkit-attribute-swatch span.cross{ pointer-events: none; }
/* colour swatches in the picker: the .color-div circle + :before ring render the swatch,
   so clear CommerceKit's default grey (#efefef) square button background and round it. */
.dx-pick-body .cgkit-attribute-swatch.cgkit-color > button.cgkit-swatch{ background: transparent; border: 0; border-radius: 50%; }
/* config cards in the picker */
.dx-pick-body .cgkit-attribute-swatch.cgkit-button button.dx-cfg2{ flex-direction: column; align-items: stretch; gap: 4px; border-radius: 12px; padding: 12px 13px; text-align: left; }
.dx-pick-body .cgkit-attribute-swatch.cgkit-button button.dx-cfg2 .dx-cfg2-top{ display: flex; align-items: baseline; justify-content: space-between; gap: 6px; }

/* ════════ Group D — sticky bar styled as design .dx-dsk-bar ════════ */
/* Bar chrome (all widths): translucent blur, top border, lifted shadow. */
body.single-product .custom-product-summary-wrapper{
    background: rgba(255,255,255,.97);
    -webkit-backdrop-filter: blur(10px);
    backdrop-filter: blur(10px);
    border-top: 1px solid #E5E5E5;
    box-shadow: 0 -6px 26px rgba(17,24,39,.09);
}
/* The Availability line is not in the design sticky bar. */
body.single-product .custom-product-summary .product-details > p{ display: none; }

/* Desktop single-row layout: [thumb · title/Change] ......... [payment · price · CTA].
   Overrides the existing "Sticky Add to Cart bar resize" !important block (~1810)
   which keeps the bar a 3-col grid but stacks the right group as a column. */
@media (min-width: 1025px){
    body.single-product .custom-product-summary{
        grid-template-columns: auto 1fr auto !important;
        padding: 12px 40px !important;
        gap: 0 24px !important;
        align-items: center !important;
        min-height: 72px;
        max-width: var(--dx-pdp-shell-width, 1480px);
        margin: 0 auto;
    }
    body.single-product .custom-product-summary .product-thumbnail{
        width: 56px !important; height: 56px !important; max-height: 56px !important; min-width: 56px;
        margin-right: 0; padding: 3px !important; border-radius: 12px; overflow: hidden;
    }
    body.single-product .custom-product-summary .product-thumbnail img{
        width: 100% !important; height: 100% !important; max-height: 100% !important; object-fit: contain;
    }
    body.single-product .custom-product-summary .custom-product-summary-title h3{
        font-size: 16px; margin: 0; max-width: 340px;
        white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
    }
    /* Right group as a single row: payment icons · price · Add
       (price moved here by dxStyleStickyBar). */
    body.single-product .custom-product-summary .add-to-cart{
        flex-direction: row !important;
        align-items: center !important;
        justify-content: flex-end !important;
        gap: 22px !important;
        max-width: none !important;
        width: auto !important;
    }
    body.single-product .custom-product-summary .add-to-cart .payment-icons{ flex: 0 0 auto; }
    body.single-product .custom-product-summary .add-to-cart .custom-product-summary-price{ margin: 0 !important; }
    body.single-product .custom-product-summary .add-to-cart .add-to-cart-button{
        width: auto !important; align-self: center !important;
    }
    body.single-product .custom-product-summary .add-to-cart .add-to-cart-button .single_add_to_cart_button{
        height: 54px !important; width: auto !important; padding: 0 28px !important; white-space: nowrap;
    }
}

/* ════════ Group F — highlights as design .dx-highlights (green-dot bullets) ════════ */
/* The product short-description highlights list is a direct <ul> child of the middle
   column (the accordion lists are nested deeper, so > ul leaves them untouched). */
body.single-product #middle-summary-section > ul{
    list-style: none;
    margin: 8px 0 16px;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 8px;
}
body.single-product #middle-summary-section > ul > li{
    position: relative;
    list-style: none;
    padding-left: 20px;
    font-size: 15px;
    line-height: 1.5;
    /* design .dx-highlights li / .dx-hl-v = secondary text #484848 (was inherited #0B0B0B) */
    color: #484848;
    font-family: 'Inter', sans-serif;
    font-weight: 400;
}
/* design .dx-hl-k = bold near-black key (e.g. "Memory:") */
body.single-product #middle-summary-section > ul > li strong,
body.single-product #middle-summary-section > ul > li b{
    color: #242421;
    font-weight: 600;
}
body.single-product #middle-summary-section > ul > li::before{
    content: "";
    position: absolute;
    left: 2px;
    top: 9px;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: #B0CB1F;
}

/* ════════ Sale badges in buy box (design .dx-was / .dx-save) ════════ */
/* Injected by single-product.js from found_variation display_price/display_regular_price,
   because the variation price_html ships without the strikethrough regular price. */
body.single-product #right-summary-section .entry-summary{
    position: relative;
}
body.single-product #right-summary-section .price{
    flex-wrap: wrap;
    column-gap: 11px;
    row-gap: 6px;
}
/* on sale: price + was on one row (left aligned, small gap), Save pill wraps below */
body.single-product #right-summary-section .price:has(.dx-was){
    justify-content: flex-start;
    align-items: flex-end;
}
body.single-product #right-summary-section .price .dx-was{
    order: 2;
    align-self: flex-end;
    font-family: 'Inter', sans-serif;
    font-size: 15.2px !important; /* -20% from 19px */
    font-weight: 500;
    line-height: 1.2;
    color: #999;
    text-decoration: line-through;
    white-space: nowrap;
    margin: 0 0 4px;
}
body.single-product #right-summary-section .price .dx-save{
    order: 4;
    align-self: center;
    margin-left: 0;
    margin-bottom: 0;
    display: inline-flex;
    align-items: center;
    font-family: 'Inter', sans-serif !important;
    font-size: 10px !important; /* -20% from 12.5px */
    font-weight: 700 !important;
    line-height: 1 !important;
    color: #fff !important;
    background: #BB3DA1;
    padding: 3px 8px; /* scaled with the -20% text */
    border-radius: 8px;
    white-space: nowrap;
}
/* "N people are viewing this right now" relocated into the buy box. */
@keyframes dx-watch-halo {
    0% { box-shadow: 0 0 0 0 rgba(187,61,161,.24); }
    70% { box-shadow: 0 0 0 8px rgba(187,61,161,0); }
    100% { box-shadow: 0 0 0 0 rgba(187,61,161,0); }
}
@keyframes dx-watch-blink {
    0%, 100% { opacity: 1; }
    50% { opacity: .45; }
}
body.single-product #right-summary-section #watching-right-now{
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    width: 100%;
    margin: 10px 0 20px;
    padding: 0;
    color: #484848;
    font-family: 'Inter', sans-serif;
    font-size: 11.55px; /* +10% from 10.5px (still sized down so "N people are viewing this right now" stays one row) */
    font-weight: 400;
    line-height: 1.4;
    text-align: center;
}
body.single-product #right-summary-section #watching-right-now svg{ display: none; }
body.single-product #right-summary-section #watching-right-now .dx-watch-dot{
    flex: 0 0 auto;
    position: relative;
    width: 16px; /* further -20% (from 20px) per request */
    height: 16px;
    border-radius: 50%;
    background: rgba(187,61,161,.14);
    animation: dx-watch-halo 2s infinite;
}
body.single-product #right-summary-section #watching-right-now .dx-watch-dot::after{
    content: "";
    position: absolute;
    inset: 4px;
    border-radius: 50%;
    background: #BB3DA1;
    animation: dx-watch-blink 1.8s ease-in-out infinite;
}
body.single-product #right-summary-section #watching-right-now .dx-watch-count{
    color: #0B0B0B;
    font-weight: 700;
}
body.single-product #right-summary-section #watching-right-now .dx-watch-text{
    color: #484848;
}

body.single-product #right-summary-section .entry-summary .dx-sale-star{
    display: none !important;
}
body.single-product #right-summary-section .stock-container .sale-badge,
body.single-product #right-summary-section .stock-container .sale-item.product-label{
    display: none !important;
}

/* Desktop PDP rails: the content rail matches the site/header rail (1280px) so the product
   grid, breadcrumb, tabs and related sections line up with the header and nav "Home". The
   fr-based grid below rescales its columns proportionally to this width. (A 1400px content
   rail made the content wider than the 1280px header and pushed the breadcrumb logo ~60px
   left of "Home".) */
body.single-product{
    --dx-pdp-site-width: 1280px;
    --dx-pdp-content-width: 1280px;
    --dx-sticky-edge: 20px;
}
@media (min-width: 1025px){
    body.single-product .col-full.topbar-wrapper,
    body.single-product .top-bar .col-full{
        box-sizing: content-box;
        width: auto !important;
        max-width: var(--dx-pdp-site-width) !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }
    body.single-product .site-header .col-full.main-header,
    body.single-product .col-full-nav #site-navigation{
        box-sizing: border-box;
        width: auto !important;
        max-width: var(--dx-pdp-site-width) !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }
    body.single-product .archive-header .col-full,
    body.single-product .shoptimizer-archive .product-details-wrapper,
    body.single-product .woocommerce-tabs.wc-tabs-wrapper,
    body.pdp-full.single-product #page .woocommerce-tabs,
    body.single-product .woocommerce-tabs ul.tabs,
    body.single-product .woocommerce-tabs ul.tabs.fixed-tabs,
    body.single-product .related,
    body.single-product .related-wrapper .product_meta{
        max-width: var(--dx-pdp-content-width) !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }
}

/* ════════ Sticky add-to-cart bar — match Sticky-Add-to-Cart.html ════════ */
body.single-product .custom-product-summary .add-to-cart .payment-icons,
body.single-product .custom-product-summary .payment-icons,
body.single-product .custom-product-summary .add-to-cart .delivery-info{
    display: none !important;
}
body.single-product .custom-product-summary-wrapper.show .product-details::after{
    content: none !important;
    display: none !important;
}
body.single-product .custom-product-summary .custom-product-summary-price small{
    display: none !important;
}
body.single-product .custom-product-summary.dx-sticky-has-sale .custom-product-summary-price .regular-price,
body.single-product .custom-product-summary.dx-sticky-has-sale .custom-product-summary-price .regular-price-del{
    order: 1;
}
body.single-product .custom-product-summary.dx-sticky-has-sale .custom-product-summary-price .sale-price{
    order: 2;
}
body.single-product .custom-product-summary .product-configuration .dx-sticky-chip{
    box-sizing: border-box;
    display: inline-flex;
    align-items: center;
    gap: 14px;
    min-width: 0;
    padding: 9px 14px 9px 11px;
    border: 1px solid #D9D9D9;
    border-radius: 18px;
    background: #FFF;
    color: #0B0B0B;
}
body.single-product .custom-product-summary .product-configuration .dx-sticky-chip-swatch{
    flex: 0 0 auto;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    border: 2px solid #fff;
    box-shadow: 0 0 0 1px #D9D9D9;
}
body.single-product .custom-product-summary .product-configuration .dx-sticky-chip-text{
    display: flex;
    flex-direction: column;
    min-width: 0;
    line-height: 1.12;
}
body.single-product .custom-product-summary .product-configuration .dx-sticky-chip-text b,
body.single-product .custom-product-summary .product-configuration .dx-sticky-chip-text i{
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-family: 'Ubuntu', sans-serif;
    font-style: normal;
}
body.single-product .custom-product-summary .product-configuration .dx-sticky-chip-text b{
    color: #0B0B0B;
    font-weight: 700;
}
body.single-product .custom-product-summary .product-configuration .dx-sticky-chip-text i{
    margin-top: 4px;
    color: #666;
    font-weight: 500;
}
body.single-product .custom-product-summary .product-configuration .dx-sticky-chip-chev{
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #666;
    line-height: 0;
}
body.single-product .custom-product-summary .product-configuration .dx-sticky-chip-chev svg{
    display: block;
    width: 16px;
    height: 16px;
}
@media (min-width: 1025px){
    body.single-product .custom-product-summary-wrapper{
        background: transparent !important;
        border-top: 0 !important;
        box-shadow: none !important;
        /* The bar is a centred 1280 pill on desktop; drop the full-width translucent
           blur so it doesn't cast a blurred halo across the viewport behind it. */
        -webkit-backdrop-filter: none !important;
        backdrop-filter: none !important;
    }
    body.single-product .custom-product-summary-wrapper.show{
        box-sizing: border-box;
        left: 0 !important;
        right: 0 !important;
        bottom: 0 !important;
        z-index: 100000;
        width: 100vw !important;
        max-width: none !important;
        padding: 12px var(--dx-sticky-edge) 14px !important;
    }
    body.single-product .custom-product-summary-wrapper.show .custom-product-summary{
        box-sizing: border-box;
        display: grid !important;
        grid-template-columns: 56px minmax(180px, max-content) minmax(240px, 520px) minmax(20px, 1fr) auto !important;
        align-items: center !important;
        gap: 0 24px !important;
        width: 100% !important;
        /* Cap the bar to the internal 1280 container (like the tabs) and centre it
           instead of spanning almost the full viewport. */
        max-width: 1280px !important;
        min-height: 72px;
        margin: 0 auto !important;
        padding: 12px 28px !important;
        background: #fff;
        border: 1px solid #E5E5E5;
        border-radius: 22px;
        box-shadow: 0 -6px 26px rgba(17,24,39,.09);
    }
    body.single-product .custom-product-summary .product-details > p,
    body.single-product .custom-product-summary .product-details::after{
        display: none !important;
    }
    body.single-product .custom-product-summary .product-thumbnail{
        grid-column: 1;
        width: 56px !important;
        height: 56px !important;
        min-width: 56px !important;
        max-height: 56px !important;
        margin: 0 !important;
        padding: 4px !important;
        border-radius: 12px;
        overflow: hidden;
    }
    body.single-product .custom-product-summary .product-thumbnail img{
        width: 100% !important;
        height: 100% !important;
        max-height: 100% !important;
        object-fit: contain;
    }
    body.single-product .custom-product-summary .product-details{
        grid-column: 2;
        min-width: 0;
        max-width: none !important;
        margin: 0 !important;
    }
    body.single-product .custom-product-summary .custom-product-summary-title h3{
        max-width: 420px;
        margin: 0;
        overflow: hidden;
        color: #0B0B0B;
        font-family: 'Ubuntu', sans-serif;
        font-size: 18px;
        font-weight: 700;
        line-height: 1.15;
        text-overflow: ellipsis;
        white-space: nowrap;
    }
    body.single-product .custom-product-summary .product-configuration{
        grid-column: 3;
        display: inline-flex !important;
        min-width: 0;
        padding-right: 0 !important;
        justify-self: start;
        cursor: pointer;
    }
    body.single-product .custom-product-summary.dx-sticky-no-selection .product-configuration,
    body.single-product .custom-product-summary .product-configuration p{
        display: none !important;
    }
    body.single-product .custom-product-summary.dx-sticky-no-selection{
        grid-template-columns: 56px minmax(180px, max-content) minmax(20px, 1fr) auto !important;
    }
    body.single-product .custom-product-summary.dx-sticky-no-selection .add-to-cart{
        grid-column: 4;
    }
    /* Fix C — no-variation products show a compact "✓ In stock" status under the name. */
    body.single-product .custom-product-summary.dx-sticky-no-selection .product-details > p{
        display: block !important;
        margin: 2px 0 0 !important;
        font-family: 'Ubuntu', sans-serif;
        font-size: 12px;
        line-height: 1;
        color: #666;
    }
    body.single-product .custom-product-summary.dx-sticky-no-selection .product-details > p strong{
        display: none;
    }
    body.single-product .custom-product-summary.dx-sticky-no-selection .product-details > p .in-stock{
        color: #5C8A00;
        font-weight: 600;
    }
    body.single-product .custom-product-summary.dx-sticky-no-selection .product-details > p .in-stock::before{
        content: "\2713 ";
        font-weight: 700;
    }
    body.single-product .custom-product-summary.dx-sticky-no-selection .product-details > p .out-of-stock{
        color: #DC3545;
        font-weight: 600;
    }
    body.single-product .custom-product-summary .product-configuration:focus-visible{
        outline: 2px solid #B0CB1F;
        outline-offset: 3px;
    }
    body.single-product .custom-product-summary .product-configuration .dx-sticky-chip{
        max-width: min(100%, 520px);
        min-height: 48px;
    }
    body.single-product .custom-product-summary .product-configuration .dx-sticky-chip-swatch{
        width: 30px;
        height: 30px;
    }
    body.single-product .custom-product-summary .product-configuration .dx-sticky-chip-text b{
        max-width: 440px;
        font-size: 16px;
    }
    body.single-product .custom-product-summary .product-configuration .dx-sticky-chip-text i{
        max-width: 440px;
        font-size: 13px;
    }
    body.single-product .custom-product-summary .product-configuration .dx-sticky-chip-chev svg{
        width: 18px;
        height: 18px;
    }
    body.single-product .custom-product-summary .add-to-cart{
        grid-column: 5;
        display: flex !important;
        flex-direction: row !important;
        align-items: center !important;
        justify-content: flex-end !important;
        gap: 28px !important;
        width: auto !important;
        max-width: none !important;
        min-width: 0;
        margin-left: 0 !important;
        justify-self: end;
    }
    body.single-product .custom-product-summary .custom-product-summary-price{
        display: inline-flex !important;
        align-items: baseline;
        justify-content: flex-end;
        gap: 12px;
        margin: 0 !important;
        white-space: nowrap;
    }
    body.single-product .custom-product-summary .custom-product-summary-price p{
        margin: 0 !important;
        line-height: 1 !important;
    }
    body.single-product .custom-product-summary .custom-product-summary-price small{
        display: none !important;
    }
    body.single-product .custom-product-summary.dx-sticky-has-sale .custom-product-summary-price .sale-price,
    body.single-product .custom-product-summary.dx-sticky-has-sale .custom-product-summary-price .sale-price bdi,
    body.single-product .custom-product-summary.dx-sticky-has-sale .custom-product-summary-price .sale-price .amount{
        color: #D80027 !important;
        font-family: 'Ubuntu', sans-serif;
        font-size: 22px !important;
        font-weight: 700 !important;
        line-height: 1 !important;
    }
    body.single-product .custom-product-summary.dx-sticky-has-sale .custom-product-summary-price .regular-price del,
    body.single-product .custom-product-summary.dx-sticky-has-sale .custom-product-summary-price .regular-price-del del{
        color: #999 !important;
        font-family: 'Ubuntu', sans-serif;
        font-size: 15px !important;
        font-weight: 500 !important;
        line-height: 1 !important;
        text-decoration: line-through !important;
    }
    body.single-product .custom-product-summary.dx-sticky-has-sale .custom-product-summary-price .regular-price del *,
    body.single-product .custom-product-summary.dx-sticky-has-sale .custom-product-summary-price .regular-price-del del *{
        color: #999 !important;
        font-family: 'Ubuntu', sans-serif;
        font-size: 15px !important;
        font-weight: 500 !important;
        line-height: 1 !important;
        text-decoration: none !important;
    }
    body.single-product .custom-product-summary.dx-sticky-no-sale .custom-product-summary-price .regular-price,
    body.single-product .custom-product-summary.dx-sticky-no-sale .custom-product-summary-price .regular-price bdi,
    body.single-product .custom-product-summary.dx-sticky-no-sale .custom-product-summary-price .regular-price .amount,
    body.single-product .custom-product-summary.dx-sticky-no-sale .custom-product-summary-price .regular-price.no-sale,
    body.single-product .custom-product-summary.dx-sticky-no-sale .custom-product-summary-price .regular-price.no-sale bdi,
    body.single-product .custom-product-summary.dx-sticky-no-sale .custom-product-summary-price .regular-price.no-sale .amount{
        color: #BB3DA1 !important;
        font-family: 'Ubuntu', sans-serif;
        font-size: 22px !important;
        font-weight: 700 !important;
        line-height: 1 !important;
    }
    body.single-product .custom-product-summary .add-to-cart .add-to-cart-button{
        width: auto !important;
        align-self: center !important;
    }
    body.single-product .custom-product-summary .add-to-cart .add-to-cart-button .single_add_to_cart_button{
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 10px !important;
        min-width: 190px;
        width: auto !important;
        height: 52px !important;
        padding: 0 30px !important;
        border-radius: 14px !important;
        font-family: 'Ubuntu', sans-serif !important;
        font-size: 18px !important;
        font-weight: 700 !important;
        line-height: 1 !important;
        white-space: nowrap;
    }
    body.single-product .custom-product-summary .add-to-cart .add-to-cart-button .single_add_to_cart_button img{
        width: 20px;
        height: 20px;
        object-fit: contain;
    }
}

@media (min-width: 1025px) and (max-width: 1300px){
    body.single-product{
        --dx-sticky-edge: 12px;
    }
    body.single-product .custom-product-summary-wrapper.show .custom-product-summary{
        grid-template-columns: 56px minmax(130px, 210px) minmax(0, 1fr) auto auto !important;
        min-height: 78px;
        padding: 10px 18px !important;
        gap: 0 16px !important;
        border-radius: 20px;
    }
    body.single-product .custom-product-summary .product-thumbnail{
        width: 56px !important;
        height: 56px !important;
        min-width: 56px !important;
        max-height: 56px !important;
    }
    body.single-product .custom-product-summary .custom-product-summary-title h3{
        max-width: 210px;
        font-size: 20px;
    }
    body.single-product .custom-product-summary:not(.dx-sticky-no-selection):not(.dx-sticky-single-spec) .product-configuration{
        width: 100%;
        max-width: 100%;
        overflow: hidden;
        justify-self: stretch;
    }
    body.single-product .custom-product-summary .product-configuration .dx-sticky-chip{
        width: 100%;
        max-width: 100%;
        min-width: 0;
        overflow: hidden;
        min-height: 52px;
        gap: 10px;
    }
    body.single-product .custom-product-summary .product-configuration .dx-sticky-chip-swatch{
        width: 30px;
        height: 30px;
    }
    body.single-product .custom-product-summary .product-configuration .dx-sticky-chip-text b{
        max-width: 100%;
        font-size: 18px;
    }
    body.single-product .custom-product-summary .product-configuration .dx-sticky-chip-text i{
        max-width: 100%;
        font-size: 14px;
    }
    body.single-product .custom-product-summary:not(.dx-sticky-no-selection):not(.dx-sticky-single-spec) .add-to-cart{
        display: contents !important;
    }
    body.single-product .custom-product-summary:not(.dx-sticky-no-selection):not(.dx-sticky-single-spec) .custom-product-summary-price{
        grid-column: 4;
        grid-row: 1;
        justify-self: end;
        align-self: center;
        gap: 12px;
    }
    body.single-product .custom-product-summary:not(.dx-sticky-no-selection):not(.dx-sticky-single-spec) .add-to-cart .add-to-cart-button{
        grid-column: 5;
        grid-row: 1;
        justify-self: end;
        align-self: center;
        width: auto !important;
    }
    body.single-product .custom-product-summary.dx-sticky-has-sale .custom-product-summary-price .sale-price,
    body.single-product .custom-product-summary.dx-sticky-has-sale .custom-product-summary-price .sale-price bdi,
    body.single-product .custom-product-summary.dx-sticky-has-sale .custom-product-summary-price .sale-price .amount,
    body.single-product .custom-product-summary.dx-sticky-no-sale .custom-product-summary-price .regular-price,
    body.single-product .custom-product-summary.dx-sticky-no-sale .custom-product-summary-price .regular-price bdi,
    body.single-product .custom-product-summary.dx-sticky-no-sale .custom-product-summary-price .regular-price .amount{
        font-size: 26px !important;
    }
    body.single-product .custom-product-summary.dx-sticky-has-sale .custom-product-summary-price .regular-price del,
    body.single-product .custom-product-summary.dx-sticky-has-sale .custom-product-summary-price .regular-price del *,
    body.single-product .custom-product-summary.dx-sticky-has-sale .custom-product-summary-price .regular-price-del del,
    body.single-product .custom-product-summary.dx-sticky-has-sale .custom-product-summary-price .regular-price-del del *{
        font-size: 17px !important;
    }
    body.single-product .custom-product-summary .add-to-cart .add-to-cart-button .single_add_to_cart_button{
        min-width: 178px;
        height: 58px !important;
        padding: 0 24px !important;
        font-size: 20px !important;
    }
}

/* Mobile sticky bar: handoff default - [chip + price] then full-width Add. */
@media (max-width: 768px){
    body.single-product #right-summary-section{
        box-sizing: border-box;
        width: 100%;
        max-width: 100%;
        margin: 0;
        padding: 0 20px 32px;
        display: block;
    }
    body.single-product #right-summary-section .entry-summary,
    body.single-product #right-summary-section #financing-accordion{
        box-sizing: border-box;
        width: 100%;
        max-width: none;
        margin-left: 0;
        margin-right: 0;
    }
    body.single-product #right-summary-section form.cart,
    body.single-product #right-summary-section form.variations_form,
    body.single-product #right-summary-section form .variations,
    body.single-product #right-summary-section .stock-container,
    body.single-product #right-summary-section .price,
    body.single-product #right-summary-section form .payment-icons,
    body.single-product #right-summary-section form button.single_add_to_cart_button{
        box-sizing: border-box;
        width: 100%;
        max-width: 100%;
    }
    body.single-product .custom-product-summary-wrapper.show{
        bottom: 0;
        z-index: 100000;
        padding: 10px 14px calc(10px + env(safe-area-inset-bottom)) !important;
    }
    body.single-product .custom-product-summary{
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) auto !important;
        grid-template-rows: auto auto !important;
        align-items: center !important;
        gap: 9px 10px !important;
        min-height: 0;
        max-width: none !important;
        padding: 0 !important;
        border-radius: 0 !important;
        background: transparent !important;
    }
    body.single-product .custom-product-summary .product-thumbnail,
    body.single-product .custom-product-summary .custom-product-summary-title,
    body.single-product .custom-product-summary .product-details > p,
    body.single-product .custom-product-summary .add-to-cart .delivery-info{
        display: none !important;
    }
    body.single-product .custom-product-summary .product-details{
        display: contents !important;
        flex: none !important;
        max-width: none !important;
    }
    body.single-product .custom-product-summary .product-configuration{
        display: inline-flex !important;
        grid-column: 1;
        grid-row: 1;
        width: 100%;
        min-width: 0 !important;
        overflow: hidden;
        padding-right: 0 !important;
    }
    body.single-product .custom-product-summary .product-configuration .dx-sticky-chip{
        width: 100%;
        min-width: 0;
        min-height: 54px;
        padding: 7px 10px 7px 8px;
        gap: 9px;
        border-radius: 14px;
        background: rgba(255,255,255,.92);
    }
    body.single-product .custom-product-summary .product-configuration .dx-sticky-chip-swatch{
        width: 26px;
        height: 26px;
    }
    body.single-product .custom-product-summary .product-configuration .dx-sticky-chip-text b{
        max-width: min(52vw, 220px);
        font-size: 14px;
    }
    body.single-product .custom-product-summary .product-configuration .dx-sticky-chip-text i{
        max-width: min(52vw, 220px);
        font-size: 12px;
    }
    body.single-product .custom-product-summary .custom-product-summary-price{
        grid-column: 2;
        grid-row: 1;
        display: inline-flex !important;
        flex-direction: column;
        flex-wrap: nowrap;
        align-items: flex-end;
        justify-content: flex-end;
        gap: 2px;
        min-width: 0;
        margin: 0 !important;
        white-space: nowrap;
    }
    body.single-product .custom-product-summary.dx-sticky-no-selection .custom-product-summary-price{
        grid-column: 1 / 3;
    }
    body.single-product .custom-product-summary-price .sale-price,
    body.single-product .custom-product-summary-price .sale-price bdi,
    body.single-product .custom-product-summary-price .sale-price .amount{
        color: #D80027 !important;
        font-size: 19px !important;
        font-weight: 700 !important;
        line-height: 1.1 !important;
    }
    body.single-product .custom-product-summary-price .regular-price del,
    body.single-product .custom-product-summary-price .regular-price-del del{
        color: #999 !important;
        font-size: 13px !important;
        font-weight: 500 !important;
        text-decoration: line-through !important;
    }
    body.single-product .custom-product-summary-price .regular-price del *,
    body.single-product .custom-product-summary-price .regular-price-del del *{
        color: #999 !important;
        font-size: 13px !important;
        font-weight: 500 !important;
        text-decoration: none !important;
    }
    body.single-product .custom-product-summary-price .regular-price.no-sale,
    body.single-product .custom-product-summary-price .regular-price.no-sale bdi,
    body.single-product .custom-product-summary-price .regular-price.no-sale .amount{
        color: #BB3DA1 !important;
        font-size: 18px !important;
        font-weight: 700 !important;
    }
    body.single-product .custom-product-summary .add-to-cart{
        grid-column: 1 / 3;
        grid-row: 2;
        display: block !important;
        width: 100% !important;
        max-width: none !important;
        min-width: 0;
    }
    body.single-product .custom-product-summary .add-to-cart .add-to-cart-button{
        width: 100% !important;
        align-self: center !important;
    }
    body.single-product .custom-product-summary .add-to-cart .add-to-cart-button .single_add_to_cart_button{
        width: 100% !important;
        height: 52px !important;
        min-height: 52px !important;
        padding: 0 18px !important;
        border-radius: 16px !important;
        gap: 9px !important;
        font-size: 16.5px !important;
        font-weight: 700 !important;
        white-space: nowrap;
    }
    body.single-product .custom-product-summary .add-to-cart .add-to-cart-button .single_add_to_cart_button::after{
        content: none !important;
        display: none !important;
    }
    body.single-product .custom-product-summary .add-to-cart .add-to-cart-button .single_add_to_cart_button img{
        width: 20px;
        height: 20px;
        object-fit: contain;
    }
    /* Fix B — single-attribute products: hug the pill and show the thumbnail. */
    body.single-product .custom-product-summary.dx-sticky-single-spec{
        grid-template-columns: 44px auto 1fr !important;
        grid-template-rows: auto auto !important;
    }
    body.single-product .custom-product-summary.dx-sticky-single-spec .product-thumbnail{
        display: block !important;
        grid-column: 1;
        grid-row: 1;
        width: 44px !important;
        height: 44px !important;
        min-width: 44px !important;
        max-height: 44px !important;
        margin: 0 !important;
        padding: 3px !important;
        border-radius: 10px;
        overflow: hidden;
    }
    body.single-product .custom-product-summary.dx-sticky-single-spec .product-thumbnail img{
        width: 100% !important;
        height: 100% !important;
        max-height: 100% !important;
        object-fit: contain;
    }
    body.single-product .custom-product-summary.dx-sticky-single-spec .product-configuration{
        grid-column: 2;
        grid-row: 1;
        width: auto !important;
    }
    body.single-product .custom-product-summary.dx-sticky-single-spec .product-configuration .dx-sticky-chip{
        width: auto !important;
    }
    body.single-product .custom-product-summary.dx-sticky-single-spec .custom-product-summary-price{
        grid-column: 3 !important;
        grid-row: 1;
    }
    body.single-product .custom-product-summary.dx-sticky-single-spec .add-to-cart{
        grid-column: 1 / -1 !important;
        grid-row: 2;
    }
    /* Fix C — no-variation products: compact single-row bar (thumb · name+price · Add). */
    body.single-product .custom-product-summary.dx-sticky-no-selection{
        grid-template-columns: 40px minmax(0, 1fr) auto !important;
        grid-template-rows: auto !important;
        gap: 0 10px !important;
        align-items: center !important;
    }
    body.single-product .custom-product-summary.dx-sticky-no-selection .product-thumbnail{
        display: block !important;
        grid-column: 1;
        grid-row: 1;
        width: 40px !important;
        height: 40px !important;
        min-width: 40px !important;
        max-height: 40px !important;
        margin: 0 !important;
        padding: 2px !important;
        border-radius: 9px;
        overflow: hidden;
    }
    body.single-product .custom-product-summary.dx-sticky-no-selection .product-thumbnail img{
        width: 100% !important;
        height: 100% !important;
        max-height: 100% !important;
        object-fit: contain;
    }
    body.single-product .custom-product-summary.dx-sticky-no-selection .product-details{
        display: flex !important;
        flex-direction: column;
        justify-content: center;
        grid-column: 2;
        grid-row: 1;
        min-width: 0;
        gap: 1px;
    }
    body.single-product .custom-product-summary.dx-sticky-no-selection .custom-product-summary-title{
        display: block !important;
        min-width: 0;
    }
    body.single-product .custom-product-summary.dx-sticky-no-selection .custom-product-summary-title h3{
        margin: 0;
        font-family: 'Ubuntu', sans-serif;
        font-size: 13px;
        font-weight: 700;
        line-height: 1.15;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
        max-width: 100%;
    }
    body.single-product .custom-product-summary.dx-sticky-no-selection .product-details > p{
        display: none !important;
    }
    body.single-product .custom-product-summary.dx-sticky-no-selection .custom-product-summary-price{
        flex-direction: row;
        flex-wrap: wrap;
        align-items: baseline;
        justify-content: flex-start;
        gap: 6px;
        margin: 0 !important;
    }
    body.single-product .custom-product-summary.dx-sticky-no-selection .add-to-cart{
        grid-column: 3 !important;
        grid-row: 1;
        display: flex !important;
        width: auto !important;
        min-width: 0;
    }
    body.single-product .custom-product-summary.dx-sticky-no-selection .add-to-cart .add-to-cart-button{
        width: auto !important;
    }
    body.single-product .custom-product-summary.dx-sticky-no-selection .add-to-cart .add-to-cart-button .single_add_to_cart_button{
        width: auto !important;
        min-width: 0;
        padding: 0 16px !important;
        height: 46px !important;
        min-height: 46px !important;
    }
}

/* Sticky add-to-cart bar — iPad-portrait / fold-tablet band. The variation pill
   (.dx-sticky-chip) is built by dxStyleStickyBar() but was only un-hidden at
   ≤768px and ≥1025px, so the 769–1024px range fell back to the base
   .product-configuration{display:none} and showed no pill (and the Add button
   clipped). Re-show the pill and lay the bar out as a single row —
   thumbnail · pill · price · button — matching Sticky-Add-to-Cart.html. Scoped to
   .custom-product-summary only; the 900–1300 two-column buy box is untouched. */
@media (min-width: 769px) and (max-width: 1024px){
    body.single-product .custom-product-summary-wrapper.show{
        left: 0 !important;
        right: 0 !important;
        bottom: 0 !important;
        width: 100% !important;
        max-width: none !important;
        padding: 12px 18px calc(12px + env(safe-area-inset-bottom)) !important;
        background: transparent !important;
        border-top: 0 !important;
        box-shadow: none !important;
        -webkit-backdrop-filter: none !important;
        backdrop-filter: none !important;
    }
    body.single-product .custom-product-summary{
        display: grid !important;
        grid-template-columns: 56px minmax(80px, 200px) minmax(0, 1fr) auto auto !important;
        align-items: center !important;
        gap: 0 18px !important;
        width: 100% !important;
        max-width: 1280px !important;
        min-height: 64px;
        margin: 0 auto !important;
        padding: 10px 20px !important;
        background: #fff !important;
        border: 1px solid #E5E5E5 !important;
        border-radius: 20px !important;
        box-shadow: 0 -6px 26px rgba(17,24,39,.09);
    }
    body.single-product .custom-product-summary .product-details{
        display: contents !important;
    }
    body.single-product .custom-product-summary .product-thumbnail{
        grid-column: 1;
        width: 56px !important;
        height: 56px !important;
        min-width: 56px !important;
        max-height: 56px !important;
        margin: 0 !important;
        padding: 4px !important;
        border-radius: 12px;
        overflow: hidden;
    }
    body.single-product .custom-product-summary .product-thumbnail img{
        width: 100% !important;
        height: 100% !important;
        max-height: 100% !important;
        object-fit: contain;
    }
    body.single-product .custom-product-summary .custom-product-summary-title{
        grid-column: 2;
        display: flex !important;
        align-items: center;
        min-width: 0;
        margin: 0 !important;
    }
    body.single-product .custom-product-summary .custom-product-summary-title h3{
        margin: 0 !important;
        font-family: 'Ubuntu', sans-serif;
        font-size: 16px !important;
        font-weight: 700 !important;
        line-height: 1.15 !important;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }
    body.single-product .custom-product-summary .product-details > p,
    body.single-product .custom-product-summary .add-to-cart .payment-icons,
    body.single-product .custom-product-summary .add-to-cart .delivery-info{
        display: none !important;
    }
    body.single-product .custom-product-summary .product-configuration{
        grid-column: 3;
        /* flex (not inline-flex) so the chip fills — and is bounded by — its grid track instead
           of content-sizing to ~350px and overflowing under the price at narrow widths. */
        display: flex !important;
        min-width: 0 !important;
        max-width: 100%;
        overflow: hidden;
        padding-right: 0 !important;
        justify-self: start;
        cursor: pointer;
    }
    body.single-product .custom-product-summary .product-configuration p{
        display: none !important;
    }
    body.single-product .custom-product-summary .product-configuration .dx-sticky-chip{
        overflow: hidden;
        width: 100%;
        max-width: 480px;
        min-width: 0;
        min-height: 48px;
        padding: 8px 14px 8px 10px;
        gap: 12px;
        border-radius: 16px;
        background: #fff;
    }
    /* Truncate the chip text to its grid track (col 3, minmax(0,1fr)) instead of a fixed 42vw —
       at narrow tablet widths (~834px) 42vw≈350px overflowed the collapsed ~188px track and the
       chip ran under the struck/sale price. max-width:100% + the base overflow:hidden/ellipsis
       keeps the chip inside its column so price + button never overlap. */
    body.single-product .custom-product-summary .product-configuration .dx-sticky-chip-text b{
        max-width: 100%;
        font-size: 15px;
    }
    body.single-product .custom-product-summary .product-configuration .dx-sticky-chip-text i{
        max-width: 100%;
        font-size: 12px;
    }
    /* Simple products / no variation selected: no pill — the empty pill column
       (col 3, 1fr) collapses to whitespace, right-aligning price + button. */
    body.single-product .custom-product-summary.dx-sticky-no-selection .product-configuration{
        display: none !important;
    }
    body.single-product .custom-product-summary .custom-product-summary-price{
        grid-column: 4;
        display: inline-flex !important;
        /* Struck regular + sale price inline on one baseline (matches the desktop
           sticky and the reference), not stacked in a column. nowrap keeps them on
           one line — the price box shrink-to-fits, so wrap would split them. */
        flex-direction: row;
        flex-wrap: nowrap;
        align-items: baseline;
        justify-content: flex-end;
        gap: 8px;
        margin: 0 !important;
        white-space: nowrap;
    }
    body.single-product .custom-product-summary .add-to-cart{
        grid-column: 5;
        grid-row: 1;
        display: flex !important;
        flex-direction: row !important;
        align-items: center !important;
        justify-content: flex-end !important;
        width: auto !important;
        max-width: none !important;
        min-width: 0;
        margin: 0 !important;
    }
    body.single-product .custom-product-summary .add-to-cart .add-to-cart-button{
        width: auto !important;
        align-self: center !important;
    }
    body.single-product .custom-product-summary .add-to-cart .add-to-cart-button .single_add_to_cart_button{
        width: auto !important;
        height: 48px !important;
        min-height: 48px !important;
        padding: 0 22px !important;
        border-radius: 16px !important;
        gap: 9px !important;
        font-size: 16px !important;
        font-weight: 700 !important;
        white-space: nowrap !important;
        justify-content: center !important;
    }
    /* Fix B — single-attribute products: hug the pill, show thumbnail, drop the title. */
    body.single-product .custom-product-summary.dx-sticky-single-spec{
        grid-template-columns: 56px auto minmax(0, 1fr) auto !important;
    }
    body.single-product .custom-product-summary.dx-sticky-single-spec .custom-product-summary-title{
        display: none !important;
    }
    body.single-product .custom-product-summary.dx-sticky-single-spec .product-thumbnail{
        grid-column: 1;
        grid-row: 1;
    }
    body.single-product .custom-product-summary.dx-sticky-single-spec .product-configuration{
        grid-column: 2;
        grid-row: 1;
        display: inline-flex !important;
        width: auto !important;
        max-width: none;
    }
    body.single-product .custom-product-summary.dx-sticky-single-spec .product-configuration .dx-sticky-chip{
        width: auto !important;
        max-width: 360px;
    }
    body.single-product .custom-product-summary.dx-sticky-single-spec .custom-product-summary-price{
        grid-column: 3;
        grid-row: 1;
        justify-self: end;
    }
    body.single-product .custom-product-summary.dx-sticky-single-spec .add-to-cart{
        grid-column: 4;
        grid-row: 1;
    }
    /* Fix C — no-variation products: thumb · name+stock · price · Add (two-row name/stock stack). */
    body.single-product .custom-product-summary.dx-sticky-no-selection{
        grid-template-columns: 56px minmax(120px, 1fr) auto auto !important;
        grid-template-rows: auto auto !important;
    }
    body.single-product .custom-product-summary.dx-sticky-no-selection .product-thumbnail{
        grid-row: 1 / 3;
        align-self: center;
    }
    body.single-product .custom-product-summary.dx-sticky-no-selection .custom-product-summary-title{
        grid-column: 2;
        grid-row: 1;
        align-self: end;
    }
    body.single-product .custom-product-summary.dx-sticky-no-selection .product-details > p{
        display: block !important;
        grid-column: 2;
        grid-row: 2;
        align-self: start;
        margin: 1px 0 0 !important;
        font-family: 'Ubuntu', sans-serif;
        font-size: 12px;
        line-height: 1;
        color: #666;
    }
    body.single-product .custom-product-summary.dx-sticky-no-selection .product-details > p strong{
        display: none;
    }
    body.single-product .custom-product-summary.dx-sticky-no-selection .product-details > p .in-stock{
        color: #5C8A00;
        font-weight: 600;
    }
    body.single-product .custom-product-summary.dx-sticky-no-selection .product-details > p .in-stock::before{
        content: "\2713 ";
        font-weight: 700;
    }
    body.single-product .custom-product-summary.dx-sticky-no-selection .product-details > p .out-of-stock{
        color: #DC3545;
        font-weight: 600;
    }
    body.single-product .custom-product-summary.dx-sticky-no-selection .custom-product-summary-price{
        grid-column: 3 !important;
        grid-row: 1 / 3;
        align-self: center;
    }
    body.single-product .custom-product-summary.dx-sticky-no-selection .add-to-cart{
        grid-column: 4 !important;
        grid-row: 1 / 3;
        align-self: center;
    }
}

@media (min-width: 769px) and (max-width: 1300px){
    body.single-product .custom-product-summary-wrapper.show .custom-product-summary:not(.dx-sticky-no-selection){
        grid-template-rows: auto !important;
    }
    body.single-product .custom-product-summary-wrapper.show .custom-product-summary:not(.dx-sticky-no-selection) .product-thumbnail,
    body.single-product .custom-product-summary-wrapper.show .custom-product-summary:not(.dx-sticky-no-selection) .custom-product-summary-title,
    body.single-product .custom-product-summary-wrapper.show .custom-product-summary:not(.dx-sticky-no-selection) .product-configuration,
    body.single-product .custom-product-summary-wrapper.show .custom-product-summary:not(.dx-sticky-no-selection) .custom-product-summary-price,
    body.single-product .custom-product-summary-wrapper.show .custom-product-summary:not(.dx-sticky-no-selection) .add-to-cart{
        grid-row: 1 !important;
        align-self: center !important;
    }
}

@media (max-width: 374px){
    body.single-product .custom-product-summary{
        grid-template-columns: minmax(0, 1fr) auto !important;
        gap: 8px 8px !important;
    }
    body.single-product .custom-product-summary .product-configuration .dx-sticky-chip-text b,
    body.single-product .custom-product-summary .product-configuration .dx-sticky-chip-text i{
        max-width: 48vw;
    }
    body.single-product .custom-product-summary .custom-product-summary-price{
        min-width: 82px;
    }
    body.single-product .custom-product-summary-price .sale-price,
    body.single-product .custom-product-summary-price .sale-price bdi,
    body.single-product .custom-product-summary-price .sale-price .amount,
    body.single-product .custom-product-summary-price .regular-price.no-sale,
    body.single-product .custom-product-summary-price .regular-price.no-sale bdi,
    body.single-product .custom-product-summary-price .regular-price.no-sale .amount{
        font-size: 18px !important;
    }
    body.single-product .custom-product-summary .add-to-cart .add-to-cart-button .single_add_to_cart_button{
        width: 100% !important;
        padding: 0 14px !important;
    }
}

/* Picker modal/sheet product row and proxied quantity control. */
.dx-pick-product{
    display: flex;
    align-items: center;
    gap: 13px;
    margin-bottom: 18px;
}
.dx-pick-product-thumb{
    flex: 0 0 auto;
    width: 58px;
    height: 58px;
    border: 1px solid #EEEEEE;
    border-radius: 12px;
    background: #F8F8F8;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}
.dx-pick-product-thumb img{
    width: 100%;
    height: 100%;
    object-fit: contain;
}
.dx-pick-product-text{
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 4px;
}
.dx-pick-product-text > span{
    display: inline-flex;
    align-items: baseline;
    gap: 8px;
}
.dx-pick-product-text p{
    margin: 0 !important;
}
.dx-pick-product-text b{
    font-family: 'Ubuntu', sans-serif;
    font-size: 18px;
    font-weight: 700;
    color: #0B0B0B;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.dx-pick-product-text .custom-product-summary-price{
    display: inline-flex;
    align-items: baseline;
    gap: 8px;
}
.dx-pick-product-text small{
    display: none !important;
}
.dx-pick-product-text .regular-price,
.dx-pick-product-text .regular-price-del{
    display: inline-flex !important;
    align-items: baseline;
    margin: 0 !important;
}
.dx-pick-product-text .regular-price,
.dx-pick-product-text .regular-price bdi,
.dx-pick-product-text .regular-price .amount{
    color: #BB3DA1 !important;
    font-size: 22px !important;
    font-weight: 700 !important;
}
.dx-pick-product-text .sale-price,
.dx-pick-product-text .sale-price bdi,
.dx-pick-product-text .sale-price .amount{
    color: #D80027 !important;
    font-size: 22px !important;
    font-weight: 700 !important;
}
.dx-pick-product-text .regular-price del bdi,
.dx-pick-product-text .regular-price-del del bdi{
    color: #999 !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    text-decoration: line-through !important;
}
.dx-pick-deposit{
    margin: 16px 0 4px;
}
.dx-pick-foot{
    display: flex;
    align-items: center;
    gap: 12px;
}
.dx-pick-qty{
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    height: 52px;
    border: 1.5px solid #D9D9D9;
    border-radius: 14px;
    overflow: hidden;
    background: #fff;
}
.dx-pick-qty button{
    all: unset;
    box-sizing: border-box;
    cursor: pointer;
    width: 42px;
    height: 52px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #242421;
    font-family: 'Ubuntu', sans-serif;
    font-size: 22px;
    font-weight: 500;
}
.dx-pick-qty span{
    min-width: 34px;
    text-align: center;
    color: #242421;
    font-family: 'Ubuntu', sans-serif;
    font-size: 18px;
    font-weight: 700;
}
.dx-pick-foot .dx-pick-add{
    flex: 1 1 auto;
}

/* PDP tabs-only reveal: final override after legacy mobile/tablet tab rules. */
body.single-product .woocommerce-tabs.wc-tabs-wrapper.dx-tabs-fixed{
    padding-top: var(--dx-sticky-tabs-h, 58px) !important;
}
body.single-product .woocommerce-tabs ul.tabs.wc-tabs.fixed-tabs{
    position: fixed !important;
    top: calc(env(safe-area-inset-top) + 10px) !important;
    bottom: auto !important;
    left: 0 !important;
    right: 0 !important;
    box-sizing: border-box;
    display: flex !important;
    align-items: center;
    flex-wrap: nowrap !important;
    gap: 6px;
    width: calc(100% - 24px) !important;
    max-width: 1280px !important;
    margin: 0 auto !important;
    padding: 8px !important;
    overflow-x: auto;
    overflow-y: hidden;
    scrollbar-width: none;
    border: 1px solid #F0F0F0 !important;
    border-radius: 16px;
    background: #fff !important;
    box-shadow: 0 4px 18px rgba(0,0,0,.06) !important;
    z-index: 9999 !important;
    opacity: 1;
    pointer-events: auto;
    transform: translate3d(0, 0, 0);
    transition:
        transform .28s cubic-bezier(.22,.61,.36,1),
        opacity .18s ease,
        visibility 0s linear 0s;
    visibility: visible;
    will-change: transform;
}
body.single-product .woocommerce-tabs ul.tabs.wc-tabs.fixed-tabs::-webkit-scrollbar{
    display: none;
}
body.single-product .woocommerce-tabs ul.tabs.wc-tabs.fixed-tabs li:not(.back-to-top){
    flex: 0 0 auto;
}
body.single-product .woocommerce-tabs ul.tabs.wc-tabs.fixed-tabs.dx-nav-hidden{
    opacity: 0;
    pointer-events: none;
    transform: translate3d(0, calc(-100% - 16px), 0);
    transition:
        transform .24s cubic-bezier(.22,.61,.36,1),
        opacity .16s ease,
        visibility 0s linear .24s;
    visibility: hidden;
}
