/* NextBuy – Product Page v1.0.8
   Scoped to real single-product pages; never touches shop/categories/homepage. */
body.single-product {
  --nbp-ink:#111111; --nbp-muted:#6d747d; --nbp-edge:#e6e8ec;
  --nbp-paper:#ffffff; --nbp-panel:#f7f8f9; --nbp-radius:22px;
  --nb-accent-blue: #1E3A8A; /* Premium navy: product price, selected options and controlled accents. */
}
/* Never change Astra's container maximum width: the site-wide layout owns it. */
body.single-product .site-content .ast-container {box-sizing:border-box;}
body.single-product .site-content .ast-container :is(#primary,div.product) {min-width:0;max-width:100%;}
body.single-product div.product :is(.nbp-main-grid,.nbp-price-guide,.nbp-alternatives) {min-width:0;max-width:100%;}
body.single-product div.product {color:var(--nbp-ink);}
body.single-product div.product * {box-sizing:border-box;}
body.single-product div.product a {text-underline-offset:3px;}
body.single-product div.product :is(a,button,select,input):focus-visible {outline:3px solid #929aa5;outline-offset:3px;}

/* Astra's surrounding WooCommerce controls are not the product layout.
   Native WooCommerce functions remain available for price/cart/variation logic. */
body.single-product .ast-breadcrumbs-wrapper,
body.single-product .ast-header-breadcrumb,
body.single-product nav.woocommerce-breadcrumb,
body.single-product .woocommerce-breadcrumb { display:none!important; }
body.single-product div.product .ast-single-product-navigation,
body.single-product div.product .ast-product-navigation { display:none!important; }

/* Breadcrumb visual output is disabled by explicit user request.
   Yoast/other structured breadcrumb schema remains under SEO plugin control. */
body.single-product .nbp-breadcrumb,
body.single-product .ast-breadcrumbs-wrapper,
body.single-product .ast-header-breadcrumb,
body.single-product .woocommerce-breadcrumb,
body.single-product nav.woocommerce-breadcrumb {display:none!important;}

/* Main image + information section. */
body.single-product .nbp-purchase-anchor {display:block;height:0;overflow:hidden;scroll-margin-top:clamp(84px,10vh,148px);}
body.single-product div.product .nbp-main-grid {display:grid;grid-template-columns:minmax(0,1.03fr) minmax(0,.97fr);align-items:start;gap:clamp(20px,3.1vw,45px);margin:0 0 54px;position:relative;}
body.single-product div.product .nbp-main-grid>div.images,
body.single-product div.product .nbp-main-grid>div.summary {width:100%!important;float:none!important;clear:none!important;margin:0!important;min-width:0;}
body.single-product div.product .nbp-main-grid>div.images {align-self:start;position:relative;}
body.single-product div.product .nbp-main-grid>.onsale {position:absolute;left:14px;top:14px;z-index:5;display:inline-flex;align-items:center;justify-content:center;min-height:32px;padding:5px 12px;margin:0!important;background:#111;color:#fff;border-radius:999px;border:0;box-shadow:0 6px 18px rgba(0,0,0,.1);font-size:11px;font-weight:800;line-height:1.1;letter-spacing:.01em;}
body.single-product div.product .nbp-main-grid>div.summary {background:#fff;border:1px solid var(--nbp-edge);border-radius:var(--nbp-radius);padding:clamp(20px,2.7vw,34px);box-shadow:0 2px 4px rgba(17,17,17,.014),0 18px 45px rgba(17,17,17,.02);}

/* Spacious contained image area; no image cropping. */
body.single-product div.product .woocommerce-product-gallery {padding:clamp(14px,2.6vw,28px);border:1px solid var(--nbp-edge);border-radius:var(--nbp-radius);background:var(--nbp-panel);overflow:hidden;margin:0!important;}
body.single-product div.product .woocommerce-product-gallery .flex-viewport,
body.single-product div.product .woocommerce-product-gallery__wrapper {border-radius:16px;background:#fff;overflow:hidden;}
body.single-product div.product .woocommerce-product-gallery__image {background:#fff;}
body.single-product div.product .woocommerce-product-gallery__image a {display:block;}
/* The real gallery image must always remain fully visible. Do not style the
   full-resolution .zoomImg overlay as if it were the product preview. */
body.single-product div.product .woocommerce-product-gallery__image img:not(.zoomImg) {display:block!important;width:100%!important;max-width:100%!important;height:auto!important;max-height:530px!important;aspect-ratio:1/1;object-fit:contain!important;object-position:center!important;background:#fff;}
body.single-product div.product .woocommerce-product-gallery .zoomImg {display:none!important;visibility:hidden!important;pointer-events:none!important;}
/* FlexSlider's internal image track is several viewport widths wide.
   Never cap that moving wrapper to 100%, or every slide after the first can
   be translated outside the visible area. */
body.single-product div.product .woocommerce-product-gallery .flex-viewport {max-width:100%;}

body.single-product div.product .woocommerce-product-gallery .woocommerce-product-gallery__trigger {display:flex;align-items:center;justify-content:center;top:15px;right:15px;left:auto;width:42px;height:42px;border:1px solid #e2e6e9;border-radius:12px;background:rgba(255,255,255,.96);box-shadow:0 6px 18px rgba(0,0,0,.035);z-index:4;}
body.single-product div.product .woocommerce-product-gallery .flex-control-thumbs {display:flex;align-items:stretch;gap:10px;overflow-x:auto;overflow-y:hidden;padding:14px 1px 0;margin:0;list-style:none;scrollbar-width:thin;}
body.single-product div.product .woocommerce-product-gallery .flex-control-thumbs li {display:block;float:none!important;flex:0 0 76px;width:76px!important;height:76px;padding:0;margin:0!important;border:1px solid #e2e5e9;border-radius:12px;background:#fff;overflow:hidden;}
body.single-product div.product .woocommerce-product-gallery .flex-control-thumbs li img {display:block;width:100%;height:100%;aspect-ratio:1;object-fit:contain;padding:5px;opacity:.76;transition:opacity .16s ease;}
body.single-product div.product .woocommerce-product-gallery .flex-control-thumbs li img.flex-active,
body.single-product div.product .woocommerce-product-gallery .flex-control-thumbs li img:hover {opacity:1;}
body.single-product div.product .woocommerce-product-gallery .flex-control-thumbs li:has(img.flex-active) {border-color:#111;box-shadow:0 0 0 1px #111 inset;}

/* Product heading and real WooCommerce price. */
body.single-product div.product .nbp-category-eyebrow {margin:0 0 10px;color:#707680;font-size:11px;letter-spacing:.1em;text-transform:uppercase;font-weight:800;}
body.single-product div.product .nbp-category-eyebrow a {color:inherit!important;text-decoration:none;}
body.single-product div.product .nbp-category-eyebrow a:hover {color:#111!important;}
body.single-product div.product .summary h1.product_title {font-size:clamp(26px,2.6vw,37px)!important;line-height:1.16!important;letter-spacing:-.038em!important;font-weight:820!important;color:#111!important;margin:0 0 19px!important;padding:0!important;}
body.single-product div.product .summary .price {display:block;color:#111!important;font-size:clamp(23px,2.25vw,30px)!important;line-height:1.25!important;font-weight:830!important;letter-spacing:-.03em!important;margin:0 0 10px!important;}
body.single-product div.product .summary .price .amount {color:#111;font-size:inherit;font-weight:inherit;}
body.single-product div.product .summary .price del {color:#9299a1;opacity:1;font-size:.7em;font-weight:600;}
body.single-product div.product .summary .price ins {text-decoration:none;}
body.single-product div.product .woocommerce-product-details__short-description {font-size:14px;line-height:1.7;color:#5c636e;margin:13px 0 21px;}
body.single-product div.product .woocommerce-product-details__short-description p {margin:0 0 10px;}
body.single-product div.product .summary .woocommerce-product-rating {margin:0 0 15px;}
body.single-product .nbp-stock {display:inline-flex;align-items:center;gap:8px;margin:0 0 19px;color:#4f5964;font-size:12px;font-weight:700;line-height:1.5;}
body.single-product .nbp-stock__dot {display:inline-block;width:8px;height:8px;flex:0 0 8px;border-radius:50%;background:#a0a7b0;}
body.single-product .nbp-stock.is-available {color:#18714a;}
body.single-product .nbp-stock.is-available .nbp-stock__dot {background:#17a16e;}
body.single-product .nbp-stock.is-unavailable {color:#9b4a41;}
body.single-product .nbp-stock.is-unavailable .nbp-stock__dot {background:#c3675d;}

/* Native variation dropdowns gain accessible option-buttons via JS.
   With JS disabled, regular WooCommerce dropdowns remain visible. */
body.single-product div.product form.variations_form {display:block!important;margin:5px 0 0!important;}
body.single-product div.product form.variations_form table.variations {width:100%;border:0;display:block;margin:0 0 18px;background:transparent;}
body.single-product div.product form.variations_form table.variations tbody {display:block;}
body.single-product div.product form.variations_form table.variations tr {display:block;margin:0 0 22px;border:0;background:transparent;}
body.single-product div.product form.variations_form table.variations tr:last-child {margin-bottom:0;}
body.single-product div.product form.variations_form table.variations th,
body.single-product div.product form.variations_form table.variations td {display:block;width:100%!important;padding:0;border:0;background:transparent;text-align:left;vertical-align:top;}
body.single-product div.product form.variations_form table.variations th.label {margin:0 0 10px;}
body.single-product div.product form.variations_form table.variations th.label label {color:#151719;font-size:13px;line-height:1.45;font-weight:800;margin:0;}
body.single-product div.product form.variations_form table.variations td.value select {display:block;width:100%;height:46px;padding:9px 13px;border:1px solid #dce0e5;border-radius:11px;background:#fff;color:#252a30;font-size:13px;}
/* JS renders the accessible button group; the underlying Woo select is
   still in the DOM and remains the source of truth for variations and cart. */
/* Hide the real select ONLY when enhanced buttons exist.  The selector
   remains in the DOM for WooCommerce variation matching and checkout.
   This also covers an older cached JS asset that has rendered the buttons. */
body.single-product div.product form.variations_form select.nbp-select-enhanced,
body.single-product div.product form.variations_form table.variations td.value select.nbp-select-enhanced,
body.single-product div.product form.variations_form table.variations td.value select[data-nbp-concealed="true"],
body.single-product div.product form.variations_form table.variations td.value select:has(+ .nbp-choice-list) {
  display:none!important;
}
body.single-product .nbp-choice-list {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin:0;}
body.single-product .nbp-choice-list .nbp-choice {display:flex!important;align-items:center;justify-content:center;min-height:46px;width:100%;padding:11px 12px!important;margin:0!important;border:1px solid #d6dce5!important;border-radius:12px!important;background:#fff!important;color:#20252c!important;box-shadow:0 2px 9px rgba(15,23,42,.06)!important;font:inherit;font-size:12.5px!important;font-weight:710!important;line-height:1.3!important;letter-spacing:-.008em;text-align:center;cursor:pointer;white-space:normal;text-decoration:none!important;transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease!important;}
body.single-product .nbp-choice-list .nbp-choice:hover:not(:disabled):not([aria-pressed="true"]):not(.is-selected) {border-color:#9baecc!important;background:#fff!important;box-shadow:0 5px 16px rgba(15,23,42,.10)!important;}
body.single-product .nbp-choice-list .nbp-choice.is-selected,
body.single-product .nbp-choice-list .nbp-choice[aria-pressed="true"] {color:#20252c!important;border-color:var(--nb-accent-blue, #1E3A8A)!important;background:#fff!important;box-shadow:0 0 0 1px rgba(30,58,138,.10),0 5px 15px rgba(30,58,138,.10)!important;}
body.single-product .nbp-choice-list .nbp-choice:disabled {opacity:.4;cursor:not-allowed;text-decoration:line-through;}
body.single-product div.product form.variations_form a.reset_variations {display:inline-flex;align-self:start;margin:10px 0 0;color:#656b75!important;font-size:11px;font-weight:680;text-decoration:underline;}
body.single-product div.product .single_variation {margin:0 0 10px;}
body.single-product div.product .single_variation .woocommerce-variation-price .price {font-size:23px!important;margin:5px 0 12px!important;}
body.single-product div.product .woocommerce-variation-availability {font-size:12px;}
body.single-product div.product .woocommerce-variation-availability .stock {color:#555;}
/* NextBuy's inline .nbp-stock is the only stock label. This CSS is a
   defensive fallback for theme/template stock markup that bypasses wc_get_stock_html(). */
body.single-product div.product .summary p.stock,
body.single-product div.product .summary .woocommerce-variation-availability {display:none!important;}

/* Buy action, quantity and WhatsApp. No cart / stock behavior is overridden. */
body.single-product div.product form.cart:not(.variations_form) {display:flex;align-items:stretch;flex-wrap:wrap;gap:10px;margin:20px 0 0;}
body.single-product div.product form.variations_form .woocommerce-variation-add-to-cart,
body.single-product div.product form.variations_form .variations_button {display:flex;align-items:stretch;gap:10px;flex-wrap:wrap;margin:12px 0 0;}
body.single-product div.product form.cart .quantity {display:inline-flex;align-items:center;justify-content:center;float:none!important;width:70px;min-height:52px;margin:0!important;border:1px solid #dde1e6;border-radius:12px;overflow:hidden;background:#fff;}
body.single-product div.product form.cart .quantity input.qty {display:block;width:100%;height:50px;padding:8px 4px;border:0!important;box-shadow:none;background:#fff;color:#111;font-size:14px;font-weight:750;text-align:center;}
body.single-product div.product form.cart button.single_add_to_cart_button {display:inline-flex!important;align-items:center;justify-content:center;flex:1 1 185px;min-height:52px;margin:0!important;padding:13px 22px!important;border:1px solid #111!important;border-radius:12px!important;background:#111!important;color:#fff!important;box-shadow:none!important;font-size:14px!important;line-height:1.2!important;font-weight:780!important;letter-spacing:-.01em;transition:background .15s ease;}
body.single-product div.product form.cart button.single_add_to_cart_button:hover:not(:disabled) {background:#323232!important;border-color:#323232!important;}
body.single-product div.product form.cart button.single_add_to_cart_button:disabled {background:#b7bcc3!important;border-color:#b7bcc3!important;color:#fff!important;cursor:not-allowed;opacity:.7;}
body.single-product div.product .summary a[href*="whatsapp"],
body.single-product div.product .summary a[href*="wa.me"] {display:flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:49px;padding:11px 16px;margin-top:11px;border:1px solid #1bab5b;border-radius:12px;background:#20c866;color:#fff!important;text-align:center;text-decoration:none;font-size:13px;font-weight:780;line-height:1.3;box-shadow:none;}
body.single-product div.product .summary a[href*="whatsapp"]:hover,
body.single-product div.product .summary a[href*="wa.me"]:hover {background:#16ae58;}
body.single-product div.product .summary .product_meta {display:none;}

/* Assurance row: neutral, discreet, not a new cart control. */
body.single-product .nbp-product-meta {display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin:15px 0 0;color:#7c838e;font-size:11px;line-height:1.5;}
body.single-product .nbp-product-meta a {color:#555c68;text-decoration:underline;}
body.single-product .nbp-product-meta__sep {color:#a7adb7;}

/* Specification, overview and review content preserve native WooCommerce tabs. */
body.single-product div.product .woocommerce-tabs {padding:0!important;margin:0 0 60px!important;border:0;background:transparent;clear:both;}
body.single-product div.product .woocommerce-tabs ul.tabs {display:flex;align-items:center;gap:28px;flex-wrap:wrap;padding:0!important;margin:0 0 25px!important;border-bottom:1px solid #e3e6ea;background:none!important;overflow:visible;}
body.single-product div.product .woocommerce-tabs ul.tabs:before,
body.single-product div.product .woocommerce-tabs ul.tabs:after,
body.single-product div.product .woocommerce-tabs ul.tabs li:before,
body.single-product div.product .woocommerce-tabs ul.tabs li:after {display:none!important;border:0!important;box-shadow:none!important;}
body.single-product div.product .woocommerce-tabs ul.tabs li {display:inline-flex!important;align-items:center;margin:0!important;padding:0!important;min-height:51px;border:0!important;border-bottom:2px solid transparent!important;border-radius:0!important;background:none!important;box-shadow:none!important;}
body.single-product div.product .woocommerce-tabs ul.tabs li.active {border-bottom-color:#111!important;}
body.single-product div.product .woocommerce-tabs ul.tabs li a {display:block;padding:15px 1px!important;color:#777e88!important;font-size:14px!important;font-weight:750!important;text-decoration:none;white-space:nowrap;}
body.single-product div.product .woocommerce-tabs ul.tabs li.active a {color:#111!important;}
body.single-product div.product .woocommerce-tabs .woocommerce-Tabs-panel {padding:0!important;margin:0!important;color:#464d57;font-size:14px;line-height:1.75;}
body.single-product div.product .woocommerce-tabs .woocommerce-Tabs-panel>h2:first-child {font-size:clamp(22px,2.5vw,30px)!important;font-weight:810!important;color:#111!important;letter-spacing:-.03em!important;line-height:1.25!important;margin:0 0 17px!important;}
body.single-product div.product .woocommerce-tabs table.shop_attributes {width:100%;border-collapse:separate;border-spacing:0;border:1px solid #e4e7eb;border-radius:16px;overflow:hidden;background:#fff;}
body.single-product div.product .woocommerce-tabs table.shop_attributes tr {background:#fff!important;}
body.single-product div.product .woocommerce-tabs table.shop_attributes :is(th,td) {padding:15px 20px!important;margin:0!important;border:0!important;border-bottom:1px solid #e7e9ec!important;background:#fff!important;text-align:left;font-size:13px;line-height:1.55;font-style:normal;vertical-align:top;}
body.single-product div.product .woocommerce-tabs table.shop_attributes tr:last-child :is(th,td) {border-bottom:0!important;}
body.single-product div.product .woocommerce-tabs table.shop_attributes th {width:29%;background:#f9fafb!important;font-weight:740;color:#343a41;}
body.single-product div.product .woocommerce-tabs table.shop_attributes td {color:#3f4650;}
body.single-product div.product .woocommerce-tabs table.shop_attributes p {margin:0;}
body.single-product div.product .woocommerce-tabs table.shop_attributes a {color:#191d24;text-decoration:underline;text-decoration-color:#9aa2ad;}
body.single-product div.product .woocommerce-tabs table.shop_attributes a:hover {text-decoration-color:#111;}
body.single-product div.product #reviews {max-width:950px;}
body.single-product div.product #reviews input,
body.single-product div.product #reviews textarea {border:1px solid #dfe2e6;border-radius:9px;}
body.single-product div.product #reviews input[type="submit"] {background:#111;border:0;color:#fff;border-radius:9px;padding:13px 20px;}

/* Related products echo the homepage/catalogue's balanced 4/2-card rhythm. */
body.single-product div.product .related.products,
body.single-product div.product .upsells.products {margin:10px 0 70px;clear:both;}
body.single-product div.product :is(.related.products,.upsells.products)>h2 {margin:0 0 22px!important;color:#111!important;font-size:clamp(24px,2.5vw,32px)!important;line-height:1.12!important;font-weight:840!important;letter-spacing:-.035em!important;}
body.single-product div.product :is(.related.products,.upsells.products) ul.products {display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;align-items:stretch;margin:0!important;padding:0!important;}
body.single-product div.product :is(.related.products,.upsells.products) ul.products:before,
body.single-product div.product :is(.related.products,.upsells.products) ul.products:after {display:none!important;}
body.single-product div.product :is(.related.products,.upsells.products) ul.products li.product {display:flex!important;flex-direction:column!important;float:none!important;width:100%!important;min-width:0!important;clear:none!important;margin:0!important;padding:12px!important;border:1px solid #e7e9ed!important;border-radius:17px!important;background:#fff!important;box-shadow:none!important;text-align:left!important;overflow:hidden;transition:border-color .2s ease,box-shadow .2s ease;}
body.single-product div.product :is(.related.products,.upsells.products) ul.products li.product:hover {border-color:#cbd0d7!important;box-shadow:0 8px 25px rgba(17,17,17,.04)!important;}
body.single-product div.product :is(.related.products,.upsells.products) ul.products li.product a.woocommerce-LoopProduct-link {display:block;width:100%;text-decoration:none;}
body.single-product div.product :is(.related.products,.upsells.products) ul.products li.product a img {display:block;width:100%;aspect-ratio:1/1;object-fit:contain;border-radius:12px;background:#f7f8f9;padding:15px;margin:0 0 14px;}
body.single-product div.product :is(.related.products,.upsells.products) ul.products li.product .woocommerce-loop-product__title {display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:38px;margin:0 0 8px!important;color:#191d23!important;font-size:13px!important;font-weight:750!important;line-height:1.45!important;letter-spacing:-.01em!important;}
body.single-product div.product :is(.related.products,.upsells.products) ul.products li.product .price {display:block;margin:0 0 11px!important;color:#111!important;font-size:14px!important;font-weight:810!important;line-height:1.4!important;}
body.single-product div.product :is(.related.products,.upsells.products) ul.products li.product .price :is(.amount,bdi) {color:#111!important;font-weight:inherit;}
body.single-product div.product :is(.related.products,.upsells.products) ul.products li.product .button {display:flex;align-items:center;justify-content:center;width:100%;min-height:39px;margin:auto 0 0!important;padding:10px!important;border-radius:10px!important;background:#111!important;color:#fff!important;font-size:12px!important;font-weight:780!important;line-height:1.2!important;text-align:center;box-shadow:none!important;}
body.single-product div.product :is(.related.products,.upsells.products) ul.products li.product .button:hover {background:#303030!important;}
body.single-product div.product :is(.related.products,.upsells.products) ul.products li.product.nbp-card-unavailable {opacity:.52;filter:grayscale(1);}
body.single-product div.product :is(.related.products,.upsells.products) ul.products li.product.nbp-card-unavailable .button {background:#aeb4bc!important;color:#fff!important;}

@media (max-width: 980px) {
 body.single-product div.product .nbp-main-grid {gap:22px;grid-template-columns:minmax(0,.94fr) minmax(0,1.06fr);}
 body.single-product div.product .nbp-main-grid>div.summary {padding:20px;}
}
@media (max-width: 767px) {
 body.single-product div.product .nbp-main-grid {display:grid;grid-template-columns:minmax(0,1fr);gap:17px;margin:0 0 39px;}
 body.single-product div.product .nbp-main-grid>div.summary {padding:19px;border-radius:19px;}
 body.single-product div.product .woocommerce-product-gallery {padding:12px;border-radius:18px;}
 body.single-product div.product .woocommerce-product-gallery__image img:not(.zoomImg) {max-height:420px!important;}
 body.single-product div.product .woocommerce-product-gallery .flex-control-thumbs {gap:8px;padding-top:11px;}
 body.single-product div.product .woocommerce-product-gallery .flex-control-thumbs li {flex-basis:61px;width:61px!important;height:61px;}
 body.single-product div.product .summary h1.product_title {font-size:clamp(25px,6.5vw,31px)!important;margin:0 0 14px!important;}
 body.single-product div.product .summary .price {font-size:25px!important;}
 body.single-product .nbp-choice-list {gap:8px;}
 body.single-product .nbp-choice-list .nbp-choice {font-size:12px!important;padding:10px 8px!important;min-height:45px;}
 body.single-product div.product .woocommerce-tabs ul.tabs {gap:20px;margin-bottom:18px!important;}
 body.single-product div.product .woocommerce-tabs ul.tabs li a {font-size:12.5px!important;}
 body.single-product div.product .woocommerce-tabs table.shop_attributes :is(th,td) {padding:12px!important;font-size:12px;}
 body.single-product div.product .woocommerce-tabs table.shop_attributes th {width:34%;}
 body.single-product div.product :is(.related.products,.upsells.products) ul.products {grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}
 body.single-product div.product :is(.related.products,.upsells.products) ul.products li.product {padding:10px!important;border-radius:14px!important;}
 body.single-product div.product :is(.related.products,.upsells.products) ul.products li.product a img {padding:9px;border-radius:10px;}
 body.single-product div.product :is(.related.products,.upsells.products) ul.products li.product .woocommerce-loop-product__title {font-size:11.5px!important;}
 body.single-product div.product :is(.related.products,.upsells.products) ul.products li.product .price {font-size:12px!important;}
}
@media (max-width: 380px) {
 body.single-product div.product .nbp-choice-list {grid-template-columns:1fr;}
}
@media (prefers-reduced-motion: reduce) {
 body.single-product div.product * {transition:none!important;scroll-behavior:auto!important;}
}

/* v1.0.8: anchored gallery thumbnails and visible selected-image indication. */
body.single-product div.product .woocommerce-product-gallery .flex-control-thumbs {
  padding:0!important;margin:15px 0 0!important;gap:12px!important;
}
body.single-product div.product .woocommerce-product-gallery .flex-control-thumbs li {
  border:1.5px solid #d3d7dc!important;
}
body.single-product div.product .woocommerce-product-gallery .flex-control-thumbs li:has(img.flex-active) {
  border-color:#111!important;box-shadow:0 0 0 1px #111 inset!important;
}
/* The primary price is the only price. It becomes the exact selected variation
   in JS while WooCommerce's original variation pricing stays in the DOM. */
body.single-product div.product .summary .price {
  font-size:clamp(27px,2.6vw,34px)!important;font-weight:850!important;letter-spacing:-.036em!important;
}
body.single-product div.product .summary.nbp-price-unified .woocommerce-variation-price {
  display:none!important;
}
/* A sharper unselected border and comfortable touch targets. */
body.single-product div.product .nbp-choice-list .nbp-choice:not([aria-pressed="true"]):not(.is-selected):not(:disabled) {
  border-color:#d6dce5!important;background:#fff!important;color:#20252c!important;
}
body.single-product div.product .nbp-choice-list .nbp-choice.is-selected,
body.single-product div.product .nbp-choice-list .nbp-choice[aria-pressed="true"] {
  border-color:var(--nb-accent-blue, #1E3A8A)!important;background:#fff!important;color:#20252c!important;
  box-shadow:0 0 0 1px rgba(30,58,138,.10),0 5px 15px rgba(30,58,138,.10)!important;
}
body.single-product div.product .nbp-choice-list .nbp-choice:only-child {grid-column:1/-1;}
body.single-product div.product .nbp-choice-list.nbp-color-options .nbp-choice {
  gap:9px!important;justify-content:flex-start!important;text-align:left!important;
  padding:10px 13px!important;min-height:49px!important;
}
/* v1.0.41: visual-only premium option cards. Selection stays in native WooCommerce. */
body.single-product div.product .nbp-choice-list .nbp-choice:is(.is-selected,[aria-pressed="true"])::after {
  content:"";display:inline-block;flex:0 0 17px;width:17px;height:17px;margin-left:8px;
  border-radius:50%;background-color:var(--nb-accent-blue, #1E3A8A);
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12 4 4L19 6'/%3E%3C/svg%3E");
  background-position:center;background-repeat:no-repeat;background-size:12px 12px;
}
body.single-product div.product .nbp-choice-list.nbp-color-options .nbp-choice:is(.is-selected,[aria-pressed="true"])::after {margin-left:auto;}
body.single-product div.product .nbp-choice-list .nbp-choice:focus-visible {
  outline:2px solid var(--nb-accent-blue, #1E3A8A)!important;outline-offset:3px;
}
@media(prefers-reduced-motion:reduce){
  body.single-product div.product .nbp-choice-list .nbp-choice {transition:none!important;}
}
body.single-product div.product .nbp-choice .nbp-color-name {min-width:0;overflow-wrap:anywhere;}
body.single-product div.product .nbp-choice-list .nbp-choice:disabled {
  background:#fcfcfd!important;color:#737b84!important;border-style:dashed!important;opacity:.60;box-shadow:none!important;
}
@media (max-width:767px) {
 body.single-product div.product .woocommerce-product-gallery .flex-control-thumbs {margin-top:15px!important;gap:10px!important;}
 body.single-product div.product .nbp-choice-list.nbp-color-options .nbp-choice {padding:9px!important;gap:7px!important;}
 body.single-product div.product .summary .price {font-size:29px!important;}
}

/* v1.0.8: A compact, readable heading. Long configurations should not
   dominate the purchasing controls on either desktop or mobile. */
body.single-product div.product .summary h1.product_title {
  font-size:clamp(23px,2.0vw,28px)!important;line-height:1.28!important;
  letter-spacing:-.028em!important;font-weight:790!important;
  overflow-wrap:break-word;margin-bottom:14px!important;
}

/* Keep exactly one visible WooCommerce price, near the title. The native
   variation price markup is retained so WooCommerce and integrations work. */
body.single-product div.product .summary form.variations_form .woocommerce-variation-price,
body.single-product div.product .summary form.variations_form .single_variation .price {
  display:none!important;
}

/* Full-screen enlarge control stays anchored to the main image. */
body.single-product div.product .woocommerce-product-gallery .woocommerce-product-gallery__trigger {
  position:absolute!important;top:13px!important;right:12px!important;
  left:auto!important;margin:0!important;z-index:6!important;
}

/* v1.0.9: Gallery follows WooCommerce's natural order again.
   A fully visible main photo with anchored thumbnails immediately below. */
body.single-product div.product .nbp-main-grid .woocommerce-product-gallery {
  display:flex!important; flex-direction:column!important; gap:0!important;
  width:100%!important;min-width:0!important;position:relative!important;
  border:0!important;border-radius:0!important;background:#fff!important;
  padding:0!important;overflow:visible!important;
}
body.single-product div.product .nbp-main-grid .woocommerce-product-gallery > .flex-viewport,
body.single-product div.product .nbp-main-grid .woocommerce-product-gallery > .woocommerce-product-gallery__wrapper {
  display:block!important;order:1!important;width:100%!important;max-width:100%!important;
  min-width:0!important;margin:0!important;flex:0 0 auto!important;
  background:#fff!important;border-radius:15px!important;overflow:hidden!important;
}
body.single-product div.product .nbp-main-grid .woocommerce-product-gallery > .flex-control-thumbs {
  display:flex!important;order:2!important;flex-direction:row!important;flex-wrap:nowrap!important;
  align-items:center!important;gap:12px!important;width:100%!important;max-width:100%!important;
  height:auto!important;min-height:0!important;max-height:none!important;
  margin:15px 0 0!important;padding:2px 0 5px!important;
  overflow-x:auto!important;overflow-y:hidden!important;scrollbar-width:thin;
}
body.single-product div.product .nbp-main-grid .woocommerce-product-gallery .flex-control-thumbs li {
  display:block!important;float:none!important;flex:0 0 72px!important;
  width:72px!important;height:72px!important;max-width:72px!important;
  padding:0!important;margin:0!important;border:1px solid #dfe2e6!important;
  border-radius:12px!important;overflow:hidden!important;background:#fff!important;
}
body.single-product div.product .nbp-main-grid .woocommerce-product-gallery .flex-control-thumbs li:has(img.flex-active) {
  border-color:#111!important;box-shadow:0 0 0 1px #111 inset!important;
}
body.single-product div.product .nbp-main-grid .woocommerce-product-gallery .woocommerce-product-gallery__trigger {
  position:absolute!important;right:12px!important;top:12px!important;left:auto!important;z-index:6!important;
}
@media(max-width:767px){
  body.single-product div.product .nbp-main-grid .woocommerce-product-gallery .flex-control-thumbs li {
    flex-basis:62px!important;width:62px!important;height:62px!important;max-width:62px!important;
  }
  body.single-product div.product .nbp-main-grid .woocommerce-product-gallery > .flex-control-thumbs {gap:9px!important;margin-top:13px!important;}
}

/* v1.0.11: Native FlexSlider owns the moving slide track. Never clip its
   wrapper; doing so can blank images when moving between thumbnails.
   Keep the outer viewport as the only visual clipping boundary. */
body.single-product div.product .nbp-main-grid .woocommerce-product-gallery .woocommerce-product-gallery__wrapper {
  overflow:visible!important;border-radius:0!important;max-height:none!important;
}
/* Native FlexSlider dynamically computes an explicit width for this track;
   don't let an older 'max-width:100%' rule collapse it to one image. */
body.single-product div.product .nbp-main-grid .woocommerce-product-gallery .flex-viewport > .woocommerce-product-gallery__wrapper {
  max-width:none!important;overflow:visible!important;
}
body.single-product div.product .nbp-main-grid .woocommerce-product-gallery .flex-viewport {
  overflow:hidden!important;max-height:none!important;
  border-radius:14px!important;
}
/* Larger contained product photo. Use the current column width, no extra
   gallery height and no change to the native slide/thumbnail mechanics. */
body.single-product div.product .nbp-main-grid .woocommerce-product-gallery .woocommerce-product-gallery__image img:not(.zoomImg) {
  max-height:none!important;max-width:100%!important;width:100%!important;
  aspect-ratio:1/1!important;height:auto!important;
  object-fit:contain!important;object-position:center!important;
  transform:none!important;transform-origin:center;
}
@media(max-width:767px) {
  body.single-product div.product .nbp-main-grid .woocommerce-product-gallery .woocommerce-product-gallery__image img:not(.zoomImg) {
    transform:none!important;
  }
}

/* Secondary buying action: WhatsApp order with real product details.
   Cart remains the main black action; WhatsApp never adds items to cart. */
body.single-product div.product .summary a.nbp-whatsapp-order,
body.single-product div.product .summary a.nbp-whatsapp-order[href*="wa.me"] {
 display:flex!important;align-items:center!important;justify-content:center!important;
 flex-wrap:wrap!important;gap:9px!important;width:100%!important;
 min-height:51px!important;padding:12px 16px!important;margin:13px 0 16px!important;
 border:1px solid #168f51!important;border-radius:12px!important;
 background:#ebf9f0!important;color:#10713e!important;
 box-shadow:none!important;text-decoration:none!important;line-height:1.25!important;
 font-size:13.5px!important;font-weight:800!important;
}
body.single-product div.product .summary a.nbp-whatsapp-order:hover {
 background:#d9f4e4!important;border-color:#126e41!important;
}
body.single-product div.product .summary .nbp-wa-mark {
 display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;
}
body.single-product div.product .summary .nbp-wa-mark svg {
 width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8;
 stroke-linecap:round;stroke-linejoin:round;
}

/* v1.0.8: selector independent of Astra body classes and Woo wrapper placement. */
.nbp-main-grid {display:grid!important;grid-template-columns:minmax(0,1.03fr) minmax(0,.97fr)!important;gap:clamp(18px,3vw,44px)!important;align-items:start!important;}
.nbp-main-grid > .images, .nbp-main-grid > .summary {float:none!important;width:100%!important;max-width:100%!important;min-width:0!important;margin:0!important;}
.nbp-main-grid > .summary {background:white!important;}
.nbp-main-grid .summary h1.product_title {font-size:clamp(22px,2.1vw,29px)!important;line-height:1.26!important;font-weight:800!important;letter-spacing:-.025em!important;}
.nbp-main-grid .summary > .price {font-size:clamp(25px,2.5vw,32px)!important;font-weight:800!important;margin:11px 0!important;}
.nbp-main-grid form.variations_form .woocommerce-variation-price,
.nbp-main-grid form.variations_form .single_variation .woocommerce-variation-price,
.nbp-main-grid form.variations_form .single_variation .woocommerce-variation-price .price {display:none!important;visibility:hidden!important;}
.nbp-main-grid .summary a.nbp-whatsapp-order {max-width:100%!important;width:100%!important;min-height:48px!important;line-height:1.3!important;}
/* Keep the last purchase action clear of the summary card's bottom border. */
body.single-product div.product .nbp-main-grid > .summary {padding-bottom:clamp(25px,2.7vw,36px)!important;}
@media(max-width:767px) {body.single-product div.product .nbp-main-grid > .summary {padding-bottom:24px!important;}}
.nbp-main-grid .summary a.nbp-whatsapp-order svg {display:none!important;}
.nbp-main-grid .summary button.single_add_to_cart_button {background:#111!important;border-color:#111!important;color:#fff!important;min-height:49px!important;}
.nbp-main-grid .nbp-color-options .nbp-choice {justify-content:flex-start!important;gap:9px!important;}
.nbp-main-grid .woocommerce-product-gallery__image img:not(.zoomImg) {display:block!important;width:100%!important;height:auto!important;max-height:530px!important;object-fit:contain!important;}
.nbp-main-grid .woocommerce-product-gallery .zoomImg {display:none!important;}
.nbp-main-grid .woocommerce-product-gallery .woocommerce-product-gallery__trigger {position:absolute!important;top:12px!important;right:12px!important;left:auto!important;z-index:8!important;}
@media(max-width:767px) {.nbp-main-grid {grid-template-columns:minmax(0,1fr)!important;gap:16px!important;}}

/* v1.0.57: Desktop gallery balance. The buying panel is intentionally compact,
   so prevent large square catalogue photography from visually overpowering it.
   This only changes presentation on desktop; native Woo gallery/zoom mechanics,
   image data and all mobile sizing remain unchanged. */
@media (min-width:981px) {
 body.single-product div.product .nbp-main-grid {
   grid-template-columns:minmax(0,.90fr) minmax(0,1.10fr)!important;
   gap:clamp(24px,2.6vw,40px)!important;
 }
 body.single-product div.product .nbp-main-grid > div.images {
   width:100%!important;max-width:660px!important;justify-self:center!important;
   margin-inline:auto!important;
 }
 body.single-product div.product .nbp-main-grid .woocommerce-product-gallery > .flex-control-thumbs {
   gap:10px!important;margin-top:11px!important;padding-top:1px!important;
 }
 body.single-product div.product .nbp-main-grid .woocommerce-product-gallery .flex-control-thumbs li {
   flex-basis:64px!important;width:64px!important;height:64px!important;max-width:64px!important;
   border-radius:11px!important;
 }
}


/* v1.0.59: NextBuy savings presentation. WooCommerce still owns regular/sale
   prices and sale state; this is presentation only. */
body.single-product div.product .nbp-main-grid > .onsale.nbp-sale-badge {
  left:16px!important;
  top:16px!important;
  min-height:30px!important;
  padding:7px 11px!important;
  background:#DC2626!important;
  color:#fff!important;
  border:0!important;
  border-radius:9px!important;
  box-shadow:0 5px 16px rgba(220,38,38,.18)!important;
  font-size:11px!important;
  font-weight:850!important;
  line-height:1!important;
  letter-spacing:0!important;
  text-transform:none!important;
  white-space:nowrap!important;
}
/* Present the regular price as a calm reference instead of WooCommerce's
   heavy deletion line: "Was KSh …". The <del> semantics remain in markup. */
body.single-product div.product .nbp-main-grid > .summary > .price del {
  display:inline-flex!important;
  align-items:baseline!important;
  gap:4px!important;
  margin:0 9px 0 0!important;
  color:#7d8590!important;
  opacity:1!important;
  font-size:13px!important;
  font-weight:620!important;
  line-height:1.25!important;
  letter-spacing:0!important;
  text-decoration:none!important;
  vertical-align:middle!important;
  white-space:nowrap!important;
}
body.single-product div.product .nbp-main-grid > .summary > .price del::before {
  content:'Was';
  color:#8b939e!important;
  font-size:11px!important;
  font-weight:750!important;
  letter-spacing:.01em!important;
}
body.single-product div.product .nbp-main-grid > .summary > .price del *,
body.single-product div.product .nbp-main-grid > .summary > .price del .woocommerce-Price-amount,
body.single-product div.product .nbp-main-grid > .summary > .price del .woocommerce-Price-amount bdi,
body.single-product div.product .nbp-main-grid > .summary > .price del .woocommerce-Price-currencySymbol {
  color:inherit!important;
  font-size:inherit!important;
  font-weight:inherit!important;
  text-decoration:none!important;
}
body.single-product div.product .nbp-main-grid > .summary > .price ins {
  display:inline!important;
  text-decoration:none!important;
}
@media (max-width:600px) {
  body.single-product div.product .nbp-main-grid > .summary > .price del {
    margin-right:7px!important;
    font-size:12px!important;
  }
}

/* Brand link shares the category eyebrow, never appears orphaned at the bottom. */
body.single-product .nbp-category-eyebrow {display:flex!important;flex-wrap:wrap;align-items:center;gap:9px!important;margin:0 0 11px!important;}
body.single-product .nbp-category-eyebrow .nbp-eyebrow-sep {color:#b9bec4;}
body.single-product .nbp-category-eyebrow .nbp-brand-label {color:#717780;letter-spacing:.045em;text-transform:none;}

/* Localized, shopper-friendly configuration comparison. */
body.single-product div.product .nbp-price-guide, body.single-product div.product .nbp-alternatives {clear:both;margin:0 0 48px;}
body.single-product div.product .nbp-price-guide {border:1px solid #e2e5e9;background:#fff;border-radius:18px;overflow:hidden;box-shadow:0 7px 25px rgba(17,24,39,.025);}
body.single-product div.product .nbp-price-guide > summary {cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:22px 24px;color:#111;}
body.single-product div.product .nbp-price-guide > summary::-webkit-details-marker {display:none;}
body.single-product div.product .nbp-price-guide > summary:focus-visible {outline:2px solid #111;outline-offset:-4px;}
body.single-product div.product .nbp-price-guide > summary:after {content:'+';display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;flex:0 0 32px;border-radius:10px;background:#f3f4f6;color:#111;font-size:22px;font-weight:450;}
body.single-product div.product .nbp-price-guide[open] > summary:after {content:'−';}
body.single-product div.product .nbp-price-guide__header {display:block;min-width:0;}
body.single-product div.product .nbp-price-guide__heading {font-size:clamp(18px,2.1vw,23px)!important;line-height:1.35!important;letter-spacing:-.02em!important;font-weight:800!important;color:#111!important;margin:0!important;}
body.single-product div.product .nbp-price-guide__subheading {display:block;font-size:12px;font-weight:550;line-height:1.5;color:#69727d;margin-top:5px;}
body.single-product div.product .nbp-price-guide__body {border-top:1px solid #eaecf0;padding:0 24px 22px;}
body.single-product div.product .nbp-price-guide__intro {font-size:13px;line-height:1.65;color:#586270;margin:0;padding:17px 0 19px;max-width:960px;}
body.single-product div.product .nbp-price-guide__item {display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:22px;row-gap:12px;align-items:center;border:1px solid #e5e8ec;border-radius:13px;background:#fff;padding:17px 18px;margin:0 0 12px;transition:border-color .15s,background .15s;}
body.single-product div.product .nbp-price-guide__item.is-active {border-color:#111;background:#f8f9fa;}
body.single-product div.product .nbp-price-guide__item.is-oos {background:#fafafa;}
body.single-product div.product .nbp-price-guide__item:last-of-type {margin-bottom:0;}
body.single-product div.product .nbp-price-guide__info {min-width:0;}
body.single-product div.product .nbp-price-guide__name {display:block;font-size:15px;font-weight:770;letter-spacing:-.012em;color:#181c21;line-height:1.45;overflow-wrap:anywhere;}
body.single-product div.product .nbp-price-guide__colors {display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:10px;}
body.single-product div.product .nbp-price-guide__colors-title {font-size:11.5px;font-weight:650;color:#69717c;margin-right:2px;}
body.single-product div.product .nbp-price-guide__unavailable-colors {display:block;font-size:11px;line-height:1.5;color:#8b929c;margin-top:7px;}
body.single-product div.product .nbp-price-guide__buy {display:flex;flex-direction:column;align-items:flex-end;gap:9px;min-width:178px;}
body.single-product div.product .nbp-price-guide__price,body.single-product div.product .nbp-price-guide__price .amount {font-size:19px!important;line-height:1.25!important;font-weight:850!important;color:#121518!important;white-space:nowrap;}
body.single-product div.product .nbp-price-guide__stock {display:inline-flex;align-items:center;gap:7px;font-size:11.5px;font-weight:720;white-space:nowrap;color:#137a4c;}
body.single-product div.product .nbp-price-guide__stock:before {content:'';width:7px;height:7px;flex:0 0 7px;border-radius:50%;background:#14a66a;}
body.single-product div.product .nbp-price-guide__stock.is-oos {color:#777f89;}
body.single-product div.product .nbp-price-guide__stock.is-oos:before {background:#adb2ba;}
/* Desktop: outlined action removes the repeated ladder of black buttons. */
body.single-product div.product .nbp-price-guide__pick {display:inline-flex!important;justify-content:center!important;align-items:center!important;border:1px solid #cdd2d8!important;border-radius:9px!important;background:#fff!important;color:#111!important;box-shadow:none!important;font-size:12px!important;line-height:1.2!important;font-weight:800!important;padding:12px 18px!important;min-width:150px!important;min-height:42px!important;cursor:pointer!important;text-decoration:none!important;text-transform:none!important;white-space:nowrap;transition:background-color .18s ease,border-color .18s ease,color .18s ease!important;}
@media(min-width:768px) and (hover:hover) and (pointer:fine) {
 body.single-product div.product .nbp-price-guide__item:hover .nbp-price-guide__pick,
 body.single-product div.product .nbp-price-guide__item:focus-within .nbp-price-guide__pick {background:#111!important;color:#fff!important;border-color:#111!important;}
}
body.single-product div.product .nbp-price-guide__pick:hover {background:#111!important;color:#fff!important;border-color:#111!important;}
body.single-product div.product .nbp-price-guide__pick:focus-visible {outline:2px solid #111!important;outline-offset:3px;}

@media (hover:none) and (pointer:coarse) {
 body.single-product div.product .nbp-price-guide__pick {background:#111!important;border-color:#111!important;color:#fff!important;min-height:46px!important;}
}
@media (prefers-reduced-motion: reduce) {
 body.single-product div.product .nbp-price-guide__pick {transition:none!important;}
}
body.single-product div.product .nbp-price-guide__delivery {display:flex;align-items:center;flex-wrap:wrap;gap:8px 21px;margin:18px 1px 0;padding:16px 0 0;border-top:1px solid #eceef1;color:#55606c;font-size:12px;line-height:1.5;}
body.single-product div.product .nbp-price-guide__delivery strong {color:#252a32;font-weight:750;}
@media(max-width:767px){
 body.single-product div.product .nbp-price-guide > summary {padding:17px 16px;gap:12px;}
 body.single-product div.product .nbp-price-guide__heading {font-size:17px!important;}
 body.single-product div.product .nbp-price-guide__body {padding:0 14px 18px;}
 body.single-product div.product .nbp-price-guide__intro {padding:14px 0 17px;}
 body.single-product div.product .nbp-price-guide__item {grid-template-columns:1fr;padding:15px;gap:14px;}
 /* Mobile: price and stock get distinct lines, then a large touch CTA. */
 body.single-product div.product .nbp-price-guide__buy {align-items:flex-start!important;display:flex!important;flex-direction:column!important;min-width:0!important;gap:7px!important;width:100%!important;}
 body.single-product div.product .nbp-price-guide__price {display:block;line-height:1.35!important;white-space:normal!important;}
 body.single-product div.product .nbp-price-guide__stock {display:inline-flex;justify-self:auto;white-space:normal;}
 body.single-product div.product .nbp-price-guide__pick {width:100%!important;min-height:48px!important;margin-top:12px!important;background:#111!important;border-color:#111!important;color:#fff!important;}
 body.single-product div.product .nbp-price-guide__delivery {gap:7px 14px;}
}
/* Recommendations: one uncluttered card, using NextBuy homepage's
   neutral imagery, strong type and a quiet text CTA. Entire card is a link. */
body.single-product div.product .nbp-alternatives__head {display:flex;justify-content:space-between;align-items:baseline;gap:14px;margin-bottom:19px;}
body.single-product div.product .nbp-alternatives__head h2 {font-size:clamp(23px,2.1vw,28px)!important;line-height:1.22!important;letter-spacing:-.025em;font-weight:800!important;color:#111!important;margin:0!important;}
body.single-product div.product .nbp-alternatives__head a {font-size:12px;font-weight:700;color:#47505a!important;text-decoration:underline;white-space:nowrap;}
body.single-product div.product .nbp-alternatives__grid {display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;align-items:stretch;min-width:0;}
body.single-product div.product a.nbp-alt-card {
  min-width:0;display:flex;flex-direction:column;overflow:hidden!important;
  padding:0 0 16px!important;background:#fff!important;
  border:1px solid #e5e8ed!important;border-radius:16px!important;
  box-shadow:0 1px 4px rgba(0,0,0,.018)!important;
  text-decoration:none!important;color:#161a20!important;
  transition:border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}
@media (hover:hover) and (pointer:fine) {
  body.single-product div.product a.nbp-alt-card:hover {
    border-color:#cbd0d6!important;box-shadow:0 10px 28px rgba(0,0,0,.055)!important;transform:translateY(-2px);
  }
}
body.single-product div.product a.nbp-alt-card:focus-visible {outline:2px solid #111;outline-offset:3px;}
body.single-product div.product .nbp-alt-card__image {
  display:flex;align-items:center;justify-content:center;flex:0 0 auto;
  aspect-ratio:1/1;background:#f8f9fa!important;border:0!important;
  box-shadow:none!important;border-radius:0!important;overflow:hidden;
  padding:13px!important;margin:0 0 14px!important;
}
body.single-product div.product .nbp-alt-card__image img {
  display:block!important;width:100%!important;height:100%!important;
  object-fit:contain!important;max-height:100%!important;margin:0!important;
  mix-blend-mode:multiply;
}
body.single-product div.product .nbp-alt-card__name {
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
  min-height:42px;margin:0 14px 8px!important;
  font-size:13.2px!important;line-height:1.52!important;font-weight:730!important;
  color:#1c2026!important;letter-spacing:-.01em!important;
}
body.single-product div.product .nbp-alt-card__price {
  display:block;margin:0 14px!important;color:#111!important;
  font-size:15px!important;line-height:1.35!important;font-weight:820!important;
}
body.single-product div.product .nbp-alt-card__price .amount {font-weight:820!important;}
body.single-product div.product .nbp-alt-card__action {
  display:inline-flex;align-items:center;align-self:flex-start;
  margin:13px 14px 0!important;padding:10px 0 0!important;
  min-height:0;border:0!important;border-top:1px solid #edf0f2!important;
  border-radius:0!important;background:none!important;box-shadow:none!important;
  color:#555e68!important;font-size:11.5px;font-weight:730;
  width:calc(100% - 28px);
}
body.single-product div.product a.nbp-alt-card:hover .nbp-alt-card__action {color:#111!important;}
body.single-product div.product .nbp-alternatives__grid.is-loading {opacity:.55;pointer-events:none;transition:opacity .15s;}
/* A persistent, delicate mobile scroll position indicator supplements the
   native scrollbar, which some mobile browsers auto-hide entirely. */
body.single-product div.product .nbp-alternatives__scroll-track {
  display:none;height:3px;background:#edf0f3;border-radius:999px;
  position:relative;overflow:hidden;margin:11px 1px 0;
}
body.single-product div.product .nbp-alternatives__scroll-track[hidden] {display:none!important;}
body.single-product div.product .nbp-alternatives__scroll-thumb {
  position:absolute;left:0;top:0;height:100%;width:35%;
  background:#afb6bf;border-radius:999px;transition:width .15s ease;
}
@media (min-width:981px) and (max-width:1180px){
 body.single-product div.product .nbp-alternatives__grid {grid-template-columns:repeat(4,minmax(0,1fr));}
}
@media (min-width:768px) and (max-width:980px){
 body.single-product div.product .nbp-alternatives__grid {grid-template-columns:repeat(3,minmax(0,1fr));}
}
@media (max-width:767px){
 body.single-product div.product .nbp-alternatives__head {align-items:flex-start;gap:10px;}
 body.single-product div.product .nbp-alternatives__head h2 {font-size:22px!important;}
 body.single-product div.product .nbp-alternatives__head a {font-size:11px;margin-top:5px;}
 body.single-product div.product .nbp-alternatives__grid {
   display:grid!important;grid-template-columns:none!important;
   grid-template-rows:1fr!important;grid-auto-flow:column!important;
   grid-auto-columns:calc((100% - 12px)/2)!important;align-items:stretch;
   gap:12px!important;overflow-x:auto!important;overflow-y:hidden!important;
   padding:1px 2px 12px!important;margin:0!important;
   scroll-snap-type:x mandatory;scroll-padding-inline:2px;
   overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;
   scrollbar-width:thin;scrollbar-color:#c5cbd2 transparent;
 }
 body.single-product div.product .nbp-alternatives__grid::-webkit-scrollbar {height:3px;}
 body.single-product div.product .nbp-alternatives__grid::-webkit-scrollbar-track {background:transparent;}
 body.single-product div.product .nbp-alternatives__grid::-webkit-scrollbar-thumb {background:#c5cbd2;border-radius:999px;}
 body.single-product div.product .nbp-alternatives__grid > a.nbp-alt-card {
   min-width:0!important;width:100%!important;scroll-snap-align:start;
 }
 body.single-product div.product .nbp-alt-card__name {font-size:12px!important;line-height:1.4!important;min-height:34px!important;margin:0 10px 7px!important;}
 body.single-product div.product .nbp-alt-card__image {padding:9px!important;margin-bottom:9px!important;}
 body.single-product div.product .nbp-alt-card__price {font-size:13px!important;margin:0 10px!important;}
 body.single-product div.product .nbp-alt-card__action {font-size:10.5px!important;margin:9px 10px 0!important;width:calc(100% - 20px)!important;}
 body.single-product div.product .nbp-alternatives__scroll-track {display:block;}
}
/* Two visible alternatives at every phone width. The single horizontal row
   still scrolls and the thin progress indicator remains present. */

/* v1.0.18: The left *column* sticks inside its grid, never the
   FlexSlider track. The script below gives short purchasing panels a modest
   scroll runway so sticky does not immediately disengage. */
@media (min-width: 981px) {
  body.single-product .site-content,
  body.single-product .site-content > .ast-container,
  body.single-product .site-content #primary,
  body.single-product .site-content .ast-woocommerce-container,
  body.single-product div.product .nbp-main-grid {
    overflow: visible !important;
  }
  body.single-product div.product .nbp-main-grid {align-items:start!important;}
  body.single-product div.product .nbp-main-grid > div.images {
    position: -webkit-sticky !important;
    position: sticky !important;
    top: var(--nbp-sticky-top, 108px) !important;
    align-self: start !important;
    z-index:1;
    transform:none!important;
    will-change:auto;
  }
  /* Leave the photograph entirely visible even on shorter laptop screens. */
  body.single-product div.product .nbp-main-grid .woocommerce-product-gallery__image img:not(.zoomImg) {
    max-height:min(530px,calc(100dvh - 300px))!important;
    object-fit:contain!important;
  }
}
@media (max-width:980px) {
  body.single-product div.product .nbp-main-grid > div.images {
    position:relative!important;top:auto!important;z-index:auto;
  }
  body.single-product div.product .nbp-main-grid {min-height:0!important;}
}
/* v1.0.20: Only the headline selling price uses NextBuy breadcrumb/link blue.
   Stock indicators, configuration comparison prices, recommendation cards and
   crossed-out regular prices retain their previous palette. */
body.single-product div.product .nbp-main-grid > .summary > .price,
body.single-product div.product .nbp-main-grid > .summary > .price .woocommerce-Price-amount,
body.single-product div.product .nbp-main-grid > .summary > .price .woocommerce-Price-amount bdi,
body.single-product div.product .nbp-main-grid > .summary > .price .woocommerce-Price-currencySymbol {
  color:var(--nb-accent-blue, #1E3A8A)!important;
}
body.single-product div.product .nbp-main-grid > .summary > .price del,
body.single-product div.product .nbp-main-grid > .summary > .price del .woocommerce-Price-amount,
body.single-product div.product .nbp-main-grid > .summary > .price del .woocommerce-Price-amount bdi,
body.single-product div.product .nbp-main-grid > .summary > .price del .woocommerce-Price-currencySymbol {
  color:#9299a1!important;
}

/* v1.0.29: restore natural WooCommerce image + thumbnail layout.
   FlexSlider continues to own the moving slides and image switching. */
body.single-product div.product .nbp-main-grid .woocommerce-product-gallery {
  display:flex!important;flex-direction:column!important;gap:0!important;
  align-items:stretch!important;width:100%!important;min-width:0!important;
}
body.single-product div.product .nbp-main-grid .woocommerce-product-gallery > .flex-viewport,
body.single-product div.product .nbp-main-grid .woocommerce-product-gallery > .woocommerce-product-gallery__wrapper {
  display:block!important;order:1!important;width:100%!important;min-width:0!important;
  max-width:100%!important;margin:0!important;flex:0 0 auto!important;
}
body.single-product div.product .nbp-main-grid .woocommerce-product-gallery .flex-viewport > .woocommerce-product-gallery__wrapper {
  max-width:none!important;overflow:visible!important; /* Native slider sets the width. */
}
body.single-product div.product .nbp-main-grid .woocommerce-product-gallery > .flex-control-thumbs {
  order:2!important;display:flex!important;flex-direction:row!important;flex-wrap:nowrap!important;
  align-items:center!important;gap:11px!important;width:100%!important;max-width:100%!important;
  min-width:0!important;height:auto!important;min-height:0!important;max-height:none!important;
  margin:15px 0 0!important;padding:2px 0 7px!important;
  overflow-x:auto!important;overflow-y:hidden!important;scrollbar-width:thin;scrollbar-color:#d3d9e1 transparent;
}
body.single-product div.product .nbp-main-grid .woocommerce-product-gallery .flex-control-thumbs li {
  flex:0 0 72px!important;width:72px!important;height:72px!important;max-width:72px!important;
}
body.single-product div.product .nbp-main-grid .woocommerce-product-gallery .woocommerce-product-gallery__image img:not(.zoomImg) {
  width:100%!important;max-width:100%!important;height:auto!important;
  object-fit:contain!important;object-position:center center!important;transform:none!important;
}
@media(max-width:767px){
  body.single-product div.product .nbp-main-grid .woocommerce-product-gallery > .flex-control-thumbs {gap:9px!important;margin-top:12px!important;}
  body.single-product div.product .nbp-main-grid .woocommerce-product-gallery .flex-control-thumbs li {flex:0 0 62px!important;width:62px!important;height:62px!important;max-width:62px!important;}
}


/* v1.0.42 — desktop purchase-panel rhythm. Reduce unused vertical space without
   zoom, transforms, changes to mobile, or changes to WooCommerce variation logic. */
@media (min-width: 981px) {
  body.single-product div.product .nbp-main-grid > div.summary {
    padding:23px 24px 25px!important;
  }
  body.single-product div.product .nbp-main-grid .summary .nbp-category-eyebrow {
    font-size:10px!important;margin-bottom:7px!important;gap:7px!important;
  }
  body.single-product div.product .nbp-main-grid .summary h1.product_title {
    font-size:clamp(24px,2.1vw,28px)!important;
    line-height:1.2!important;letter-spacing:-.028em!important;
    margin:0 0 11px!important;
  }
  body.single-product div.product .nbp-main-grid .summary .nbpfeat-toprating {
    gap:6px 12px!important;margin:5px 0 11px!important;
  }
  body.single-product div.product .nbp-main-grid .summary .nbpfeat-toprating.has-existing-ratings {
    gap:8px!important;margin:7px 0 12px!important;
  }
  body.single-product div.product .nbp-main-grid .summary > .price {
    font-size:clamp(27px,2.35vw,30px)!important;
    line-height:1.23!important;margin:7px 0 8px!important;
  }
  body.single-product div.product .nbp-main-grid .summary .nbp-stock {
    margin:0 0 11px!important;
  }
  body.single-product div.product .nbp-main-grid .summary form.variations_form {
    margin:3px 0 0!important;
  }
  body.single-product div.product .nbp-main-grid .summary form.variations_form table.variations {
    margin:0 0 10px!important;
  }
  body.single-product div.product .nbp-main-grid .summary form.variations_form table.variations tr {
    margin:0 0 14px!important;
  }
  body.single-product div.product .nbp-main-grid .summary form.variations_form table.variations th.label {
    margin:0 0 7px!important;
  }
  body.single-product div.product .nbp-main-grid .summary form.variations_form table.variations th.label label {
    font-size:12px!important;line-height:1.35!important;font-weight:750!important;
  }
  body.single-product div.product .nbp-main-grid .summary .nbp-choice-list {
    gap:8px!important;
  }
  body.single-product div.product .nbp-main-grid .summary .nbp-choice-list .nbp-choice {
    min-height:43px!important;padding:9px 10px!important;
    font-size:12px!important;line-height:1.26!important;border-radius:11px!important;
  }
  body.single-product div.product .nbp-main-grid .summary .nbp-choice-list.nbp-color-options .nbp-choice {
    min-height:44px!important;padding:8px 11px!important;
  }
  body.single-product div.product .nbp-main-grid .summary .nbp-choice-list .nbp-choice:is(.is-selected,[aria-pressed="true"])::after {
    margin-left:6px;
  }
  body.single-product div.product .nbp-main-grid .summary form.variations_form a.reset_variations {
    margin-top:7px!important;
  }
  body.single-product div.product .nbp-main-grid .summary form.variations_form :is(.woocommerce-variation-add-to-cart,.variations_button) {
    margin-top:8px!important;
  }
  body.single-product div.product .nbp-main-grid .summary form.cart .quantity {
    min-height:48px;
  }
  body.single-product div.product .nbp-main-grid .summary form.cart .quantity input.qty {
    height:46px;
  }
  body.single-product div.product .nbp-main-grid .summary form.cart button.single_add_to_cart_button {
    min-height:48px!important;
  }
}


/* v1.0.43: Show only purchasable variation choices; no guessed colour swatches. */
body.single-product div.product .nbp-main-grid form.variations_form tr.nbp-variation-row-empty {display:none!important;}
body.single-product div.product .nbp-choice-list.nbp-color-options .nbp-choice {justify-content:center!important;text-align:center!important;}
body.single-product div.product .nbp-choice-list.nbp-color-options .nbp-choice .nbp-color-name {font-weight:inherit;}
body.single-product div.product .nbp-price-guide__color-names {font-size:11.5px;color:#576371;line-height:1.5;}

/* v1.0.36: one calm icon language shared by every product-page heading.
   Preserve semantic H2/H3/H4 levels and the existing section layout. */
body.single-product div.product :is(
  .nbpfeat-heading,
  .nbp-price-guide__heading,
  .nbp-alternatives__head h3,
  #tab-additional_information h3,
  .summary .nbp-warranty-inline h3
) {
  display:flex!important;
  align-items:center!important;
  column-gap:12px!important;
  color:#222222!important;
  min-width:0;
}
body.single-product div.product :is(
  .nbpfeat-heading,
  .nbp-price-guide__heading,
  .nbp-alternatives__head h3,
  #tab-additional_information h3,
  .summary .nbp-warranty-inline h3
) > .nbp-ui-svg {
  display:block!important;
  flex:0 0 18px!important;
  width:18px!important;
  height:18px!important;
  margin:0!important;
  padding:0!important;
  vertical-align:initial!important;
  color:#717985!important;
  stroke:currentColor!important;
  stroke-width:1.6!important;
  fill:none!important;
}

/* Bwonjo-inspired informational layers, redesigned for NextBuy. */
body.single-product .nbpfeat-section{clear:both;margin:0 0 34px;min-width:0;color:#141820}
body.single-product .nbpfeat-heading{font-size:clamp(21px,2vw,27px)!important;line-height:1.25!important;letter-spacing:-.025em!important;font-weight:800!important;margin:0 0 17px!important;color:#111!important}
body.single-product .nbpfeat-subtitle{color:#687487;font-size:13px;margin:-7px 0 15px}
body.single-product .nbpfeat-overview{font-size:15px;line-height:1.78;color:#364152;max-width:100%}
body.single-product .nbpfeat-overview :is(h2,h3){font-size:19px!important;line-height:1.4!important;margin:20px 0 8px!important}
body.single-product .nbpfeat-overview p{margin:0 0 12px}
body.single-product .nbpfeat-overview img{height:auto;max-width:100%}
body.single-product .nbpfeat-highlights{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
body.single-product .nbpfeat-highlights:is(.is-count-5,.is-count-6){grid-template-columns:repeat(3,minmax(0,1fr))}
@media(min-width:768px) and (max-width:1100px){body.single-product .nbpfeat-highlights{grid-template-columns:repeat(2,minmax(0,1fr))}}
body.single-product .nbpfeat-highlight{border:1px solid #e5e8ef;border-radius:14px;padding:18px;background:#fff;min-width:0}
body.single-product .nbpfeat-highlight h3{font-size:16px!important;line-height:1.4!important;font-weight:800!important;margin:0 0 9px!important;color:#1c2533!important;letter-spacing:-.012em!important}
body.single-product .nbpfeat-highlight p{font-size:13.5px;line-height:1.68;color:#536070;font-weight:450;margin:0;overflow-wrap:anywhere}
body.single-product .nbpfeat-procon{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
body.single-product .nbpfeat-procon-column{border:1px solid #e5e8ef;border-radius:15px;padding:19px;background:#fff}
/* Keep both comparison cards neutral; red is reserved for individual Cons icons. */
body.single-product .nbpfeat-procon-column.is-cons{background:#fff!important;border-color:#e5e8ef!important}
body.single-product .nbpfeat-procon-column .is-con{background:#fdebef!important;color:#b44e5b!important}
body.single-product .nbpfeat-procon-column h3{font-size:16px!important;font-weight:800!important;margin:0 0 12px!important}
body.single-product .nbpfeat-procon-column ul{list-style:none!important;margin:0!important;padding:0!important}
body.single-product .nbpfeat-procon-column li{display:flex;align-items:flex-start;gap:10px;margin:0 0 12px;font-size:14px;line-height:1.6}
body.single-product .nbpfeat-procon-column li span{display:inline-flex;width:20px;flex:0 0 20px;align-items:center;justify-content:center;border-radius:50%;font-size:13px;font-weight:900;background:#effbf4;color:#188457}
body.single-product .nbpfeat-procon-column li span.is-con{background:#fdebef;color:#b44e5b}
/* v1.0.31: low-emphasis inline package contents, with natural wrapping.
   Keep actual list semantics for accessibility and for saved box items. */
body.single-product .nbpfeat-box-section{border-top:1px solid #eef0f2;border-bottom:1px solid #eef0f2;padding:14px 0 15px;margin-bottom:25px!important}
body.single-product .nbpfeat-box-section > .nbpfeat-heading{font-size:15px!important;font-weight:700!important;line-height:1.35!important;letter-spacing:0!important;margin:0 0 7px!important;color:#303943!important}
body.single-product .nbpfeat-box{display:flex!important;flex-wrap:wrap!important;align-items:baseline!important;column-gap:0!important;row-gap:4px!important;max-width:100%!important;list-style:none!important;margin:0!important;padding:0!important}
body.single-product .nbpfeat-box li{display:inline!important;flex:0 1 auto!important;width:auto!important;min-height:0!important;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;font-size:13px!important;line-height:1.65!important;font-weight:450!important;color:#606977!important;white-space:normal!important}
body.single-product .nbpfeat-box li:before{content:none!important}
body.single-product .nbpfeat-box li:not(:last-child):after{content:'·';display:inline!important;padding:0 9px!important;color:#9ca3af;font-weight:500}
body.single-product .nbpfeat-specs .shop_attributes{width:100%;border:1px solid #e6e9ef;border-radius:12px;overflow:hidden;border-collapse:separate;border-spacing:0}
body.single-product .nbpfeat-specs .shop_attributes :is(td,th){padding:13px 16px!important;font-size:14px;border-bottom:1px solid #e8eaf0;vertical-align:top}
body.single-product .nbpfeat-specs .shop_attributes th{width:25%;background:#f8f9fb;font-weight:750}
body.single-product .nbpfeat-specs .shop_attributes tr:last-child :is(td,th){border-bottom:0}
body.single-product .nbpfeat-warranty{border:1px solid #e4e8ef;border-radius:15px;background:#fafbfc;padding:20px 22px}
body.single-product .nbpfeat-warranty strong{display:block;font-weight:850;font-size:17px}
body.single-product .nbpfeat-warranty-brand{display:block;font-size:12px;color:#687487;margin-top:5px}
body.single-product .nbpfeat-warranty p{margin:9px 0 12px;color:#465268;line-height:1.7;font-size:14px}
body.single-product .nbpfeat-textlink{font-weight:750;color:var(--nb-accent-blue, #1E3A8A)!important;font-size:13px}
body.single-product .nbpfeat-toprating{display:flex;flex-wrap:wrap;align-items:center;gap:12px 22px;margin:10px 0 4px}
body.single-product .nbpfeat-review-summary{display:inline-flex;align-items:center;gap:10px;color:#566173;text-decoration:none!important;font-size:13px;font-weight:700}
body.single-product .nbpfeat-review-summary .star-rating{margin:0!important}
body.single-product .nbpfeat-quick-rating{display:inline-flex;flex-wrap:wrap;align-items:center;gap:10px 12px;position:relative}
body.single-product .nbpfeat-quick-rating>span{font-size:13px;font-weight:760;color:#4c5866;line-height:1.2}
body.single-product .nbpfeat-stars{display:flex;align-items:center;gap:4px}
body.single-product .nbpfeat-stars button{appearance:none;border:0!important;background:transparent!important;padding:0!important;margin:0!important;color:#b9c1cb!important;-webkit-text-stroke:0!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;min-width:24px!important;width:24px!important;height:28px!important;font-size:23px!important;line-height:1!important;box-shadow:none!important;cursor:pointer!important}
body.single-product .nbpfeat-stars button:hover,body.single-product .nbpfeat-stars button.is-active{color:#f5ab28!important;-webkit-text-stroke:0!important}
body.single-product .nbpfeat-rating-guest{flex:1 1 100%;display:flex;flex-wrap:wrap;gap:10px;align-items:end;margin-top:10px}
body.single-product .nbpfeat-rating-guest[hidden]{display:none!important}
body.single-product .nbpfeat-rating-guest label{font-size:11px;display:block;flex:1 1 125px;color:#5d6672}
body.single-product .nbpfeat-rating-guest input{display:block;width:100%;max-width:225px;border:1px solid #d7dce5;border-radius:9px;padding:9px 10px;font-size:12px}
body.single-product .nbpfeat-rating-guest button.nbpfeat-rating-submit{background:#111!important;border-radius:9px!important;color:#fff!important;font-size:12px!important;padding:10px 14px!important}
body.single-product .nbpfeat-rating-status{font-size:12px;flex:1 1 100%;color:#566173}
@media(max-width:767px){body.single-product .nbpfeat-toprating{gap:8px 14px}.body.single-product .nbpfeat-quick-rating>span{width:100%;}}
body.single-product .nbpfeat-write-review{flex:1 1 100%;width:100%;max-width:380px;margin-top:8px}
body.single-product .nbpfeat-write-review[hidden]{display:none!important}
body.single-product .nbpfeat-write-review label{font-size:12px;font-weight:700}
body.single-product .nbpfeat-review-message{display:block;width:100%;margin:6px 0;border-radius:8px;border:1px solid #d7dce5;padding:9px;font-size:13px}
body.single-product button.nbpfeat-review-save{background:#111!important;border-radius:7px!important;color:#fff!important;font-size:12px!important;padding:9px 13px!important}
body.single-product .nbpfeat-reviews{border:1px solid #e6e9ef;border-radius:14px;padding:20px}
body.single-product #reviews.nbpfeat-reviews{width:100%;min-width:0}
body.single-product #reviews.nbpfeat-reviews #comments{width:100%}
body.single-product .nbpfeat-reviews .commentlist{list-style:none;margin:0;padding:0}
body.single-product .nbpfeat-reviews .commentlist li.review{list-style:none;border-bottom:1px solid #edf0f3;padding:18px 0;margin:0}
body.single-product .nbpfeat-reviews .commentlist li.review:last-child{border-bottom:0}
body.single-product .nbpfeat-reviews .comment-text{min-width:0;overflow-wrap:anywhere}
body.single-product .nbpfeat-reviews .description p{margin:8px 0;line-height:1.7}
body.single-product .nbpfeat-history{border:1px solid #e5e8ed;border-radius:15px;padding:19px 22px}
body.single-product .nbpfeat-history-context{font-size:12px;color:#687487;margin:0 0 16px}
body.single-product .nbpfeat-history-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0 0 16px}
body.single-product .nbpfeat-history-stats>div{background:#f7f9fc;border:1px solid #eaf0f8;padding:12px;border-radius:11px;min-width:0}
body.single-product .nbpfeat-history-stats span{display:block;font-size:11px;color:#687487;margin-bottom:5px}
body.single-product .nbpfeat-history-stats strong{font-size:16px;color:#121923;overflow-wrap:anywhere}
body.single-product .nbpfeat-history-chart{min-height:185px;border:1px solid #e7eaf1;background:linear-gradient(#f9fafc,#fff);border-radius:11px;overflow:hidden;padding:10px}
body.single-product .nbpfeat-history-chart svg{width:100%!important;height:165px!important;max-width:100%!important;display:block!important}
body.single-product .nbpfeat-history-note{font-size:11px;color:#6b778a;margin-top:11px}
body.single-product .nbpfeat-history-log{margin-top:13px;color:#374255;font-size:13px}
body.single-product .nbpfeat-history-log summary{cursor:pointer;font-weight:750}
body.single-product .nbpfeat-history-records>div{display:flex;justify-content:space-between;gap:10px;padding:7px 0;border-bottom:1px solid #ebeff2;font-size:12px}
body.single-product .nbpfeat-accessory-row{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x proximity;padding:3px 2px 15px;scrollbar-width:thin;scrollbar-color:#cbd3dc transparent}
body.single-product a.nbpfeat-accessory{display:flex;flex-direction:column;flex:0 0 calc(25% - 9px);min-width:175px;max-width:240px;gap:7px;border:1px solid #e6e9ed;border-radius:12px;padding:12px;text-decoration:none!important;background:#fff;color:#151922!important;scroll-snap-align:start}
body.single-product a.nbpfeat-accessory:hover{border-color:var(--nb-accent-blue, #1E3A8A)}
body.single-product .nbpfeat-accessory-image{display:flex;align-items:center;justify-content:center;height:128px}
body.single-product .nbpfeat-accessory-image img{width:100%;height:100%;object-fit:contain;max-width:100%}
body.single-product .nbpfeat-accessory strong{font-size:13px;line-height:1.45;font-weight:700;flex:1}
body.single-product .nbpfeat-accessory-price{font-size:14px;font-weight:800;color:var(--nb-accent-blue, #1E3A8A)}
@media(max-width:767px){body.single-product .nbpfeat-highlights{grid-template-columns:repeat(2,minmax(0,1fr))}body.single-product .nbpfeat-procon{grid-template-columns:1fr}body.single-product .nbpfeat-box{width:100%!important}body.single-product .nbpfeat-highlight{padding:13px}body.single-product .nbpfeat-warranty,body.single-product .nbpfeat-reviews,body.single-product .nbpfeat-history{padding:15px}body.single-product .nbpfeat-history-stats{gap:6px}body.single-product .nbpfeat-history-stats>div{padding:8px}body.single-product .nbpfeat-history-stats strong{font-size:12px}body.single-product .nbpfeat-toprating{margin-top:8px}body.single-product a.nbpfeat-accessory{flex-basis:62%;min-width:170px}}

/* v1.0.27 — no overlapping/racing rating controls, even when review counts exist. */
body.single-product div.product .summary .nbpfeat-toprating{
  display:flex!important;flex-direction:column!important;align-items:flex-start!important;
  justify-content:flex-start!important;gap:8px!important;margin:7px 0 19px!important;
  width:100%!important;max-width:100%!important;min-width:0!important;
}
body.single-product div.product .summary .nbpfeat-review-summary{
  display:flex!important;float:none!important;align-items:center!important;justify-content:flex-start!important;
  flex-wrap:wrap!important;gap:10px!important;min-height:24px!important;margin:0!important;
  color:#5d6675!important;font-size:12px!important;font-weight:650!important;
}
body.single-product div.product .summary .nbpfeat-review-summary .star-rating{
  float:none!important;display:inline-block!important;flex:0 0 auto!important;
  margin:0!important;font-size:14px!important;line-height:1!important;
}
body.single-product div.product .summary .nbpfeat-quick-rating{
  display:flex!important;align-items:center!important;justify-content:flex-start!important;
  gap:9px 14px!important;flex-wrap:wrap!important;width:100%!important;min-width:0!important;
  margin:0!important;padding:0!important;
}
body.single-product div.product .summary .nbpfeat-quick-rating > span{
  font-size:13px!important;line-height:1.3!important;font-weight:750!important;
  color:#445164!important;white-space:nowrap!important;
}
body.single-product div.product .summary .nbpfeat-stars{
  display:inline-flex!important;align-items:center!important;justify-content:flex-start!important;
  gap:5px!important;float:none!important;white-space:nowrap!important;
}
body.single-product div.product .summary .nbpfeat-stars button{
  display:inline-flex!important;align-items:center!important;justify-content:center!important;
  padding:0!important;margin:0!important;width:25px!important;min-width:25px!important;
  height:29px!important;min-height:29px!important;border:0!important;box-shadow:none!important;
  background:transparent!important;color:#b9c1cb!important;-webkit-text-stroke:0!important;
  font-family:Arial,sans-serif!important;font-size:29px!important;font-weight:400!important;
  line-height:1!important;transition:color .14s ease!important;
}
body.single-product div.product .summary .nbpfeat-stars button.is-active,
body.single-product div.product .summary .nbpfeat-stars button:hover{color:#f59a45!important}
body.single-product div.product .summary .nbpfeat-stars button:focus-visible{
  outline:2px solid var(--nb-accent-blue, #1E3A8A)!important;outline-offset:3px!important;border-radius:4px!important;
}
/* Warranty now belongs in the buying card, immediately below the SKU. */
body.single-product div.product .summary .nbp-warranty-inline{
  display:block!important;margin:17px 0 0!important;padding:15px 16px!important;
  background:#f8fafc!important;border:1px solid #e5eaf0!important;border-radius:12px!important;
  box-shadow:none!important;max-width:100%!important;overflow-wrap:anywhere!important;
}
body.single-product div.product .summary .nbp-warranty-inline h3{
  font-size:13px!important;line-height:1.35!important;font-weight:800!important;
  color:#171b22!important;letter-spacing:0!important;margin:0 0 8px!important;
}
body.single-product div.product .summary .nbp-warranty-inline .nbpfeat-warranty{
  padding:0!important;margin:0!important;border:0!important;background:transparent!important;
  box-shadow:none!important;border-radius:0!important;
}
body.single-product div.product .summary .nbp-warranty-inline .nbpfeat-warranty strong{
  display:block!important;font-size:12px!important;line-height:1.5!important;font-weight:750!important;
}
body.single-product div.product .summary .nbp-warranty-inline .nbpfeat-warranty p{
  margin:5px 0 8px!important;font-size:12px!important;line-height:1.6!important;
  color:#556170!important;
}
body.single-product div.product .summary .nbp-warranty-inline .nbpfeat-warranty-brand{
  font-size:11px!important;margin:4px 0 0!important;
}
body.single-product div.product .summary .nbp-warranty-inline .nbpfeat-textlink{
  display:inline-block!important;font-size:12px!important;line-height:1.4!important;margin:4px 0 0!important;
}
@media(max-width:767px){
  body.single-product div.product .summary .nbpfeat-toprating{gap:8px!important}
  body.single-product div.product .summary .nbpfeat-quick-rating{gap:7px 12px!important}
  body.single-product div.product .summary .nbp-warranty-inline{padding:13px!important}
}

/* Count-aware video row: no empty reserved column when a product has
   only one or two curated videos. Cards remain a restrained 16:9 ratio. */
body.single-product .nbpfeat-video-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;width:100%;max-width:1260px;align-items:start}
body.single-product .nbpfeat-video-grid.is-count-1{grid-template-columns:minmax(0,1fr);max-width:520px}
body.single-product .nbpfeat-video-grid.is-count-2{grid-template-columns:repeat(2,minmax(0,1fr));max-width:1120px}
body.single-product .nbpfeat-video-grid.is-count-3{grid-template-columns:repeat(3,minmax(0,1fr));max-width:1260px}
@media(min-width:768px) and (max-width:920px){body.single-product .nbpfeat-video-grid.is-count-3{grid-template-columns:repeat(2,minmax(0,1fr));max-width:100%}}
body.single-product .nbpfeat-video-card{border:1px solid #e4e8ee;background:#fff;border-radius:14px;overflow:hidden;min-width:0;box-shadow:0 3px 15px rgba(20,30,50,.025)}
body.single-product .nbpfeat-video-open{display:block!important;position:relative;width:100%!important;padding:0!important;margin:0!important;border:0!important;background:#16191f!important;box-shadow:none!important;border-radius:0!important;aspect-ratio:16/9;overflow:hidden;cursor:pointer}
body.single-product .nbpfeat-video-open img{display:block;width:100%!important;height:100%!important;object-fit:cover!important;margin:0!important;opacity:.9;transition:opacity .16s}
body.single-product .nbpfeat-video-open:hover img{opacity:.76}
body.single-product .nbpfeat-video-open:focus-visible{outline:3px solid var(--nb-accent-blue, #1E3A8A)!important;outline-offset:-3px!important}
body.single-product .nbpfeat-video-play{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:grid;place-items:center;width:48px;height:36px;border-radius:10px;background:rgba(17,17,17,.92);color:#fff;font-size:18px;line-height:1}
body.single-product .nbpfeat-video-label{padding:12px 14px;display:flex;align-items:center;justify-content:space-between;gap:10px}
body.single-product .nbpfeat-video-label strong{font-size:13px;font-weight:750;color:#111}
body.single-product .nbpfeat-video-label a{font-size:12px!important;font-weight:700;color:var(--nb-accent-blue, #1E3A8A)!important;text-decoration:none!important}
body.single-product .nbpfeat-video-dialog[hidden]{display:none!important}
body.single-product .nbpfeat-video-dialog{position:fixed!important;inset:0!important;z-index:100500!important;display:flex!important;align-items:center!important;justify-content:center!important;padding:28px!important}
body.single-product .nbpfeat-video-shade{position:absolute;inset:0;background:rgba(8,12,18,.89)}
body.single-product .nbpfeat-video-panel{position:relative;width:min(980px,100%);background:#000;border-radius:14px;box-shadow:0 18px 70px rgba(0,0,0,.3)}
body.single-product .nbpfeat-video-frame{aspect-ratio:16/9;width:100%;overflow:hidden;border-radius:14px;background:#000}
body.single-product .nbpfeat-video-frame iframe{width:100%;height:100%;display:block;border:0}
body.single-product button.nbpfeat-video-close{position:absolute;right:-12px;top:-14px;z-index:3;display:grid!important;place-items:center!important;width:36px!important;height:36px!important;min-width:36px!important;padding:0!important;border:1px solid #30343a!important;background:#fff!important;color:#111!important;border-radius:50%!important;cursor:pointer!important;font-size:24px!important;line-height:1!important}
/* Mobile: one focused video card at a time, swipe to the second. */
@media(max-width:767px){
  body.single-product .nbpfeat-video-grid{
    display:grid!important;grid-template-columns:none!important;grid-template-rows:1fr!important;
    grid-auto-flow:column!important;grid-auto-columns:94%!important;gap:12px!important;
    max-width:100%!important;min-width:0!important;width:100%!important;
    overflow-x:auto!important;overflow-y:hidden!important;padding:2px 2px 12px!important;
    scroll-snap-type:x mandatory;scroll-padding-inline:2px;overscroll-behavior-x:contain;
    -webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:#c5ccd5 transparent;
  }
  body.single-product .nbpfeat-video-grid > .nbpfeat-video-card{
    min-width:0!important;width:100%!important;scroll-snap-align:start;
  }
  body.single-product .nbpfeat-video-grid::-webkit-scrollbar{height:3px}
  body.single-product .nbpfeat-video-grid::-webkit-scrollbar-track{background:transparent}
  body.single-product .nbpfeat-video-grid::-webkit-scrollbar-thumb{background:#c5ccd5;border-radius:99px}
  body.single-product .nbpfeat-video-dialog{padding:18px!important}
  body.single-product button.nbpfeat-video-close{right:-8px;top:-38px}
}


/* Price history: clean retail-style graph with visible axes and real data only. */
.bpe-price-history{background:transparent}
.bpe-price-history-subtitle{
  margin:-10px 0 17px!important;
  color:#475467;
  font-size:14px;
  line-height:1.45;
}
.bpe-ph-overview{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
  margin-bottom:14px;
}
.bpe-ph-overview>div{
  min-width:0;
  padding:0 2px;
}
.bpe-ph-overview span{
  display:block;
  margin-bottom:3px;
  color:var(--bpe-muted);
  font-size:11px;
  line-height:1.3;
}
.bpe-ph-overview strong{
  display:block;
  color:var(--bpe-text);
  font-size:15px;
  line-height:1.3;
  font-weight:800;
}
.bpe-ph-overview strong.is-up{color:#a54b1f}
.bpe-ph-overview strong.is-down{color:#237a46}
.bpe-ph-card{
  overflow:hidden;
  border:1px solid #dfe4ea;
  border-radius:12px;
  background:#fff;
}
.bpe-ph-card-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
  padding:15px 17px 10px;
}
.bpe-ph-card-head>div{display:flex;flex-direction:column;gap:2px}
.bpe-ph-card-head strong{color:var(--bpe-text);font-size:13px;font-weight:800}
.bpe-ph-card-head span{color:var(--bpe-muted);font-size:11px;line-height:1.35}
.bpe-ph-range{white-space:nowrap;text-align:right}
.bpe-ph-chart-grid{
  display:grid;
  grid-template-columns:82px minmax(0,1fr);
  gap:10px;
  padding:6px 18px 18px 8px;
}
.bpe-ph-yaxis{
  height:240px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  padding:0 0 0 2px;
  color:#667085;
  font-size:10px;
  line-height:1;
  text-align:right;
  white-space:nowrap;
}
.bpe-ph-plot{
  position:relative;
  min-width:0;
  height:270px;
  color:var(--bpe-accent);
}
.bpe-ph-plot svg{
  display:block;
  width:100%;
  height:240px!important;
  overflow:visible;
}
.bpe-ph-gridline{
  stroke:#e4e8ee;
  stroke-width:1;
  vector-effect:non-scaling-stroke;
}
.bpe-ph-area{pointer-events:none}
.bpe-ph-line{
  fill:none;
  stroke:var(--bpe-accent);
  stroke-width:2.8;
  stroke-linecap:round;
  stroke-linejoin:round;
  vector-effect:non-scaling-stroke;
}
.bpe-ph-dot{
  position:absolute;
  z-index:2;
  width:10px;
  height:10px;
  border:2px solid var(--bpe-accent);
  border-radius:50%;
  background:#fff;
  box-shadow:0 0 0 2px rgba(6,117,232,.08);
  transform:translate(-50%,-50%);
}
.bpe-ph-xaxis{
  position:absolute;
  left:0;
  right:0;
  top:248px;
  height:20px;
  color:#667085;
  font-size:10px;
  line-height:1;
  pointer-events:none;
}
.bpe-ph-xaxis span{
  position:absolute;
  top:0;
  transform:translateX(-50%);
  white-space:nowrap;
}
.bpe-ph-xaxis span.is-first{transform:none}
.bpe-ph-xaxis span.is-last{transform:translateX(-100%)}
.bpe-ph-footer{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
  margin-top:10px;
  color:var(--bpe-muted);
  font-size:11px;
  line-height:1.45;
}
.bpe-ph-log{flex:0 0 auto;text-align:right}
.bpe-ph-log summary{
  cursor:pointer;
  color:var(--bpe-accent);
  font-weight:750;
  list-style:none;
}
.bpe-ph-log summary::-webkit-details-marker{display:none}
.bpe-ph-log-list{
  width:min(520px,82vw);
  margin-top:8px;
  padding:8px;
  border:1px solid var(--bpe-border);
  border-radius:10px;
  background:#fff;
  box-shadow:0 10px 28px rgba(16,24,40,.08);
  text-align:left;
}
.bpe-ph-log-row{
  display:grid;
  grid-template-columns:minmax(90px,1fr) auto auto;
  align-items:center;
  gap:12px;
  padding:7px 5px;
  border-bottom:1px solid #eef1f4;
}
.bpe-ph-log-row:last-child{border-bottom:0}
.bpe-ph-log-row time{color:#667085;font-size:10.5px}
.bpe-ph-log-row strong{color:var(--bpe-text);font-size:12px}
.bpe-ph-log-row small{color:#667085;font-size:10.5px}
.bpe-ph-log-row small.is-up{color:#a54b1f}
.bpe-ph-log-row small.is-down{color:#237a46}

/* One-point Price History baseline after the one-time reset. */
.bpe-ph-awaiting-change{
  position:absolute;
  left:50%;
  bottom:37px;
  transform:translateX(-50%);
  width:max-content;
  max-width:80%;
  padding:5px 9px;
  border-radius:999px;
  background:#f7f9fc;
  color:#667085;
  font-size:10.5px;
  line-height:1.35;
  text-align:center;
}
.bpe-price-history .bpe-ph-log summary{
  text-decoration:none!important;
}
.bpe-price-history .bpe-ph-log summary:hover{
  text-decoration:underline!important;
}


/* v1.0.32 — Bwonjo price history renderer & native Bwonjo SVG quick stars, NextBuy branding. */
body.single-product .nbpfeat-history .bpe-ph-no-data{padding:18px;border:1px solid #e4e8ee;border-radius:12px;background:#f7f8fa;font-size:13px;color:#667085}
body.single-product .nbpfeat-history :is(.bpe-ph-overview,.bpe-ph-card,.bpe-ph-footer)[hidden]{display:none!important}
body.single-product .nbpfeat-history .bpe-ph-no-data[hidden]{display:none!important}

body.single-product .nbpfeat-section.bpe-price-history {--bpe-text:#111827;--bpe-muted:#667085;--bpe-accent:var(--nb-accent-blue, #1E3A8A);--bpe-border:#e4e8ee}
body.single-product .nbpfeat-history.bpe-history-contents{border:0!important;border-radius:0!important;padding:0!important;background:transparent}
body.single-product .nbpfeat-section.bpe-price-history .bpe-price-history-subtitle{margin:0 0 17px!important}
body.single-product .nbpfeat-quick-rating.bpe-quick-rating {display:flex!important;align-items:center!important;flex-wrap:wrap!important;gap:8px!important;border:0!important;border-radius:0!important;padding:0!important;background:transparent!important;box-shadow:none!important}
body.single-product .nbpfeat-quick-rating .bpe-quick-rating-label{display:inline-block!important;font-size:14px!important;font-weight:700!important;color:#111827!important;margin:0!important;line-height:1.25!important;white-space:nowrap!important}
body.single-product .nbpfeat-quick-rating .bpe-quick-stars{display:flex!important;align-items:center!important;gap:3px!important;min-width:0!important}
body.single-product .nbpfeat-quick-rating .bpe-quick-star{appearance:none!important;border:0!important;border-radius:0!important;box-shadow:none!important;background:transparent!important;display:grid!important;place-items:center!important;padding:2px!important;margin:0!important;width:28px!important;min-width:28px!important;height:28px!important;color:#cfd5de!important;cursor:pointer!important}
body.single-product .nbpfeat-quick-rating .bpe-quick-star svg{display:block!important;width:22px!important;height:22px!important;fill:transparent!important;stroke:currentColor!important;stroke-width:1.65!important;stroke-linejoin:round!important;transition:fill .12s ease,transform .12s ease,color .12s ease}
body.single-product .nbpfeat-quick-rating .bpe-quick-star.is-active{color:#f3a71b!important}
body.single-product .nbpfeat-quick-rating .bpe-quick-star.is-active svg{fill:#f3a71b!important}
body.single-product .nbpfeat-quick-rating .bpe-quick-star:focus-visible{outline:2px solid var(--nb-accent-blue, #1E3A8A)!important;outline-offset:2px!important}
body.single-product .nbpfeat-quick-rating .bpe-quick-star:hover svg{transform:scale(1.08)}
/* Bwonjo-style inline rating grouping, but wrap naturally on a narrow purchase card. */
body.single-product div.product .summary .nbpfeat-toprating{flex-direction:row!important;align-items:center!important;justify-content:flex-start!important;gap:9px 15px!important;margin:8px 0 17px!important}
body.single-product div.product .summary .nbpfeat-quick-rating.bpe-quick-rating{width:auto!important;max-width:100%!important;flex:0 1 auto!important;gap:8px!important}
body.single-product div.product .summary .nbpfeat-review-summary{flex-direction:row!important;align-items:center!important;gap:9px!important}
body.single-product .nbpfeat-quick-rating .nbpfeat-rating-guest{flex-basis:100%;width:100%;margin:7px 0 0;max-width:480px}
body.single-product .nbpfeat-quick-rating .nbpfeat-rating-status{flex-basis:100%;width:100%}
@media(max-width:600px){body.single-product div.product .summary .nbpfeat-toprating{gap:7px 14px!important}}

body.single-product .nbpfeat-toprating{align-items:flex-start!important;gap:9px 18px!important}
body.single-product .nbpfeat-quick-rating .nbpfeat-rating-guest[hidden],body.single-product .nbpfeat-quick-rating .nbpfeat-write-review[hidden]{display:none!important}
/* Page heading hierarchy requested: H2 Highlights, H3 Specs/Pros/Videos/Alternatives, H4 box/history. */
body.single-product div.product .nbpfeat-section > h2.nbpfeat-heading{font-size:clamp(23px,2.1vw,29px)!important;font-weight:800!important}
body.single-product div.product .nbpfeat-section > h3.nbpfeat-heading{font-size:clamp(19px,1.8vw,24px)!important;font-weight:760!important}
body.single-product div.product .nbpfeat-section > h4.nbpfeat-heading{font-size:inherit!important;line-height:1.45!important;letter-spacing:normal!important;font-weight:700!important}
body.single-product div.product #nbp-price-history > h4.nbpfeat-heading{font-size:clamp(17px,1.5vw,20px)!important;font-weight:750!important;line-height:1.3!important;margin:0 0 14px!important}
body.single-product div.product .nbpfeat-box-section{display:flex;flex-direction:column;gap:8px!important;padding:15px 0 17px!important;margin-bottom:26px!important}
body.single-product div.product .nbpfeat-box-section > h4.nbpfeat-heading{font-size:inherit!important;line-height:1.4!important;margin:0!important;color:#303943!important;font-weight:700!important}
body.single-product div.product .nbpfeat-box{display:flex!important;flex-wrap:wrap!important;gap:0!important;margin:0!important;padding:0!important;line-height:inherit!important}
body.single-product div.product .nbpfeat-box li{font-size:inherit!important;line-height:inherit!important;color:inherit!important;opacity:.72;white-space:normal!important}
body.single-product div.product .nbpfeat-box li:not(:last-child):after{content:'·';padding:0 9px!important;color:#939ba6}
/* Recommended alternatives retains its design, but is semantically H3. */
body.single-product div.product .nbp-alternatives__head h3{font-size:clamp(20px,2vw,26px)!important;line-height:1.22!important;letter-spacing:-.025em!important;font-weight:770!important;color:#111!important;margin:0!important}
@media(max-width:767px){
 body.single-product .bpe-ph-overview{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 14px}
 body.single-product .bpe-ph-overview strong{font-size:14px}
 body.single-product .bpe-ph-card-head{padding:13px 12px 8px}
 body.single-product .bpe-ph-range{display:none}
 body.single-product .bpe-ph-chart-grid{grid-template-columns:66px minmax(0,1fr);gap:7px;padding:5px 10px 14px 4px}
 body.single-product .bpe-ph-yaxis{font-size:9px}
 body.single-product .bpe-ph-xaxis{font-size:9px}
 body.single-product .bpe-ph-dot{width:9px;height:9px}
 body.single-product .bpe-ph-footer{display:block}
 body.single-product .bpe-ph-log{margin-top:7px;text-align:left}
 body.single-product .bpe-ph-log-list{width:100%}
 body.single-product div.product .nbp-alternatives__head h3{font-size:21px!important}
}


/* v1.0.34 — rated products: keep existing score and new rating action on separate rows. */
body.single-product div.product .summary .nbpfeat-toprating.has-existing-ratings{
  display:flex!important;flex-direction:column!important;align-items:flex-start!important;justify-content:flex-start!important;
  gap:12px!important;margin:11px 0 21px!important;
}
body.single-product div.product .summary .nbpfeat-toprating.has-existing-ratings .nbpfeat-review-summary{
  display:inline-flex!important;align-items:center!important;gap:10px!important;width:auto!important;flex:0 0 auto!important;
}
body.single-product div.product .summary .nbpfeat-toprating.has-existing-ratings .nbpfeat-quick-rating{
  display:flex!important;flex-direction:row!important;align-items:center!important;flex-wrap:wrap!important;gap:10px!important;
  width:100%!important;max-width:100%!important;flex:0 0 auto!important;margin:0!important;
}
/* Smaller sections use matching H3 typography. */
body.single-product div.product #nbp-in-the-box > h3.nbpfeat-heading{
  font-size:clamp(19px,1.8vw,24px)!important;line-height:1.35!important;font-weight:760!important;
  color:#111!important;margin:0 0 9px!important;
}
body.single-product div.product #nbp-in-the-box{padding:15px 0 19px!important;margin-bottom:22px!important}


/* v1.0.36: consistent section-head typography, without changing visual H-level scale. */
body.single-product div.product .nbpfeat-section > .nbpfeat-heading{
  padding:5px 0!important;
  margin-bottom:17px!important;
  color:#222222!important;
}
body.single-product div.product .nbpfeat-section > h2.nbpfeat-heading{font-weight:760!important}
body.single-product div.product .nbpfeat-section > h3.nbpfeat-heading{font-weight:720!important}
body.single-product div.product .nbpfeat-section > h4.nbpfeat-heading{font-weight:680!important}
body.single-product div.product #nbp-in-the-box > h3.nbpfeat-heading{
  color:#222222!important;
  font-weight:720!important;
  padding:3px 0!important;
  margin:0 0 9px!important;
}
body.single-product div.product .nbpfeat-box-section > h4.nbpfeat-heading{
  font-weight:680!important;
  padding:2px 0!important;
  margin:0!important;
}
body.single-product div.product .nbp-alternatives__head h3{
  color:#222222!important;
  font-weight:730!important;
  line-height:1.28!important;
}
body.single-product div.product #tab-additional_information h3{
  color:#222222!important;
  font-weight:720!important;
  line-height:1.35!important;
}
body.single-product div.product .nbp-price-guide__heading{
  color:#222222!important;
  font-weight:760!important;
  line-height:1.35!important;
  overflow-wrap:anywhere;
}
/* The inline warranty remains compact inside the buying card. */
body.single-product div.product .summary .nbp-warranty-inline h3{
  color:#222222!important;
  font-weight:720!important;
}
@media(max-width:767px){
  body.single-product div.product :is(.nbpfeat-heading,.nbp-price-guide__heading,.nbp-alternatives__head h3,#tab-additional_information h3,.summary .nbp-warranty-inline h3){column-gap:10px!important}
  body.single-product div.product :is(.nbpfeat-heading,.nbp-price-guide__heading,.nbp-alternatives__head h3,#tab-additional_information h3,.summary .nbp-warranty-inline h3) > .nbp-ui-svg{flex-basis:17px!important;width:17px!important;height:17px!important}
}


/* v1.0.39: compact inactive configurations; preserve existing card design. */
body.single-product div.product .nbp-price-guide__drawer {border:1px solid #e5e8ec;border-radius:12px;margin:13px 0 14px;background:#fff;overflow:hidden;}
body.single-product div.product .nbp-price-guide__drawer > summary {list-style:none;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 17px!important;cursor:pointer;color:#444d5a;font-size:13px;font-weight:700;line-height:1.5;}
body.single-product div.product .nbp-price-guide__drawer > summary::-webkit-details-marker {display:none;}
body.single-product div.product .nbp-price-guide__drawer > summary span {font-size:12px;font-weight:600;color:#7b8490;}
body.single-product div.product .nbp-price-guide__drawer > summary:after {content:'+';margin-left:3px;font-size:17px;font-weight:500;color:#6b7280;}
body.single-product div.product .nbp-price-guide__drawer[open] > summary:after {content:'−';}
body.single-product div.product .nbp-price-guide__drawer-items {padding:0 12px 2px;border-top:1px solid #edf0f3;}
body.single-product div.product .nbp-price-guide__drawer-items > .nbp-price-guide__item:first-child {margin-top:12px;}
body.single-product div.product .nbp-price-guide__drawer--unavailable {background:#fbfbfc;border-color:#ecedf0;}
body.single-product div.product .nbp-price-guide__drawer--unavailable > summary {color:#707986;}
body.single-product div.product .nbp-price-guide__back {font-size:12px;font-weight:650;margin:10px 0 17px;}
body.single-product div.product .nbp-price-guide__back a {color:var(--nb-accent-blue, #1E3A8A);}
@media(max-width:600px){body.single-product div.product .nbp-price-guide__drawer > summary{padding:12px 13px!important}body.single-product div.product .nbp-price-guide__drawer-items{padding:0 10px 1px}}

/* v1.0.44: the primary WooCommerce price and live stock status share a line.
   Each remains its own native element so variation price and stock events work. */
body.single-product div.product .nbp-main-grid > .summary > .price {
  display:inline-block!important;
  width:auto!important;
  max-width:100%!important;
  vertical-align:middle!important;
  margin:7px 12px 12px 0!important;
  white-space:nowrap;
}
body.single-product div.product .nbp-main-grid > .summary > .nbp-stock {
  display:inline-flex!important;
  vertical-align:middle!important;
  margin:7px 0 12px!important;
  white-space:nowrap;
}

/* v1.0.45 — small, targeted presentation refinements. The chart, headings,
   saved content and product variation behavior are intentionally unchanged. */
/* Keep Price History on the same white canvas as the rest of the page;
   retain the chart's existing white bordered card. */
body.single-product div.product section#nbp-price-history.bpe-price-history {
  background:transparent!important;
  box-shadow:none!important;
  border:0!important;
  padding-left:0!important;
  padding-right:0!important;
}
/* Highlights: subtle surface depth without introducing a competing CTA. */
body.single-product div.product #nbp-highlights .nbpfeat-highlight {
  position:relative;
  overflow:hidden;
  background:linear-gradient(180deg,#fff 0%,#fcfdff 100%)!important;
  border-color:#dfe5ee!important;
  box-shadow:0 4px 14px rgba(25,39,65,.055),0 1px 2px rgba(25,39,65,.035)!important;
  transition:box-shadow .18s ease,transform .18s ease,border-color .18s ease;
}
body.single-product div.product #nbp-highlights .nbpfeat-highlight::before {
  content:'';
  position:absolute;
  top:0;
  left:18px;
  width:28px;
  height:3px;
  background:#aebed4;
  border-radius:0 0 4px 4px;
}
@media (hover:hover) and (pointer:fine) {
  body.single-product div.product #nbp-highlights .nbpfeat-highlight:hover {
    transform:translateY(-2px);
    border-color:#cdd7e5!important;
    box-shadow:0 9px 22px rgba(25,39,65,.09),0 1px 3px rgba(25,39,65,.045)!important;
  }
}
@media (prefers-reduced-motion:reduce) {
  body.single-product div.product #nbp-highlights .nbpfeat-highlight {transition:none!important}
}
/* What's in the Box: restrained text pills, not big cards or bright checkmarks. */
body.single-product div.product #nbp-in-the-box ul.nbpfeat-box {
  display:flex!important;
  align-items:flex-start!important;
  flex-wrap:wrap!important;
  gap:7px 8px!important;
  width:100%!important;
  max-width:100%!important;
  margin:0!important;
  padding:0!important;
  list-style:none!important;
}
body.single-product div.product #nbp-in-the-box ul.nbpfeat-box > li {
  display:inline-flex!important;
  flex:0 1 auto!important;
  align-items:center!important;
  width:auto!important;
  max-width:100%!important;
  min-width:0!important;
  margin:0!important;
  padding:6px 11px!important;
  border:1px solid #e6eaf0!important;
  border-radius:999px!important;
  background:#f9fafc!important;
  box-shadow:none!important;
  color:#515b69!important;
  opacity:1!important;
  font-size:12.5px!important;
  line-height:1.45!important;
  font-weight:450!important;
  overflow-wrap:anywhere!important;
  white-space:normal!important;
}
body.single-product div.product #nbp-in-the-box ul.nbpfeat-box > li::before,
body.single-product div.product #nbp-in-the-box ul.nbpfeat-box > li::after {
  content:none!important;
  display:none!important;
}
@media(max-width:480px) {
  body.single-product div.product #nbp-in-the-box ul.nbpfeat-box {gap:7px!important}
  body.single-product div.product #nbp-in-the-box ul.nbpfeat-box > li {
    padding:5px 9px!important;
    font-size:12px!important;
  }
}


/* v1.0.46 – targeted use of the shared NextBuy navy accent.
   Preserve white surfaces, charcoal headings, true colour HEX swatches,
   orange review stars, red/green states, black cart and green WhatsApp. */
body.single-product {
  --nb-accent-blue:#1E3A8A;
  --nb-accent-blue-soft:rgba(30,58,138,.065);
  --nb-accent-blue-border:rgba(30,58,138,.35);
}
/* Gallery: the active thumbnail, not the thumbnail images, identifies selection. */
body.single-product div.product .nbp-main-grid .woocommerce-product-gallery .flex-control-thumbs li:has(img.flex-active){
  border-color:var(--nb-accent-blue)!important;
  box-shadow:0 0 0 1px var(--nb-accent-blue) inset!important;
}
body.single-product div.product .nbp-main-grid .woocommerce-product-gallery .woocommerce-product-gallery__trigger:hover{
  border-color:var(--nb-accent-blue-border)!important;
  color:var(--nb-accent-blue)!important;
}
/* Variation cards keep their white surfaces and existing navy checkmarks. */
@media(hover:hover) and (pointer:fine){
  body.single-product div.product .nbp-choice-list .nbp-choice:hover:not(:disabled):not(.is-selected):not([aria-pressed="true"]){
    border-color:var(--nb-accent-blue-border)!important;
    box-shadow:0 4px 13px rgba(30,58,138,.085)!important;
  }
}
body.single-product div.product form.variations_form a.reset_variations:hover{
  color:var(--nb-accent-blue)!important;
}
/* Native specifications tab: show a clear active state without colouring headings. */
body.single-product div.product .woocommerce-tabs ul.tabs li.active{
  border-bottom-color:var(--nb-accent-blue)!important;
}
body.single-product div.product .woocommerce-tabs ul.tabs li.active a{
  color:var(--nb-accent-blue)!important;
}
body.single-product div.product .woocommerce-tabs table.shop_attributes a{
  color:var(--nb-accent-blue)!important;
  text-decoration-color:rgba(30,58,138,.36)!important;
}
body.single-product div.product .woocommerce-tabs table.shop_attributes a:hover{
  text-decoration-color:var(--nb-accent-blue)!important;
}
/* Prices & Availability: subtle selected-configuration identity and link focus.
   Other prices stay neutral so the hero's headline price retains priority. */
body.single-product div.product .nbp-price-guide__item.is-active{
  border-color:var(--nb-accent-blue-border)!important;
  background:rgba(30,58,138,.024)!important;
}
body.single-product div.product .nbp-price-guide > summary:focus-visible,
body.single-product div.product .nbp-price-guide__drawer > summary:focus-visible,
body.single-product div.product .nbp-price-guide__pick:focus-visible{
  outline:2px solid var(--nb-accent-blue)!important;
  outline-offset:3px!important;
}
@media(min-width:768px) and (hover:hover) and (pointer:fine){
  body.single-product div.product .nbp-price-guide__item:hover .nbp-price-guide__pick,
  body.single-product div.product .nbp-price-guide__item:focus-within .nbp-price-guide__pick{
    background:#fff!important;
    border-color:var(--nb-accent-blue)!important;
    color:var(--nb-accent-blue)!important;
  }
  body.single-product div.product .nbp-price-guide__pick:hover{
    background:#fff!important;
    border-color:var(--nb-accent-blue)!important;
    color:var(--nb-accent-blue)!important;
  }
}
body.single-product div.product .nbp-price-guide__drawer:not(.nbp-price-guide__drawer--unavailable) > summary:hover{
  color:var(--nb-accent-blue)!important;
  background:var(--nb-accent-blue-soft)!important;
}
/* Recommendations: links use navy while cards, item names and prices stay neutral. */
body.single-product div.product .nbp-alternatives__head a,
body.single-product div.product .nbp-alt-card__action{
  color:var(--nb-accent-blue)!important;
}
body.single-product div.product a.nbp-alt-card:hover .nbp-alt-card__action{
  color:var(--nb-accent-blue)!important;
  text-decoration:underline!important;
}
body.single-product div.product a.nbp-alt-card:focus-visible{
  outline:2px solid var(--nb-accent-blue)!important;
}
@media(hover:hover) and (pointer:fine){
  body.single-product div.product a.nbp-alt-card:hover{
    border-color:var(--nb-accent-blue-border)!important;
  }
}
/* Highlights: a small restrained navy cue, never a blue card background. */
body.single-product div.product #nbp-highlights .nbpfeat-highlight::before{
  background:rgba(30,58,138,.55)!important;
}
/* The Price History line is already navy; harmonize its point halo. */
body.single-product .nbpfeat-section.bpe-price-history .bpe-ph-dot{
  box-shadow:0 0 0 2px rgba(30,58,138,.09)!important;
}
/* Secondary content navigation, without competing with purchase CTAs. */
body.single-product div.product a.nbpfeat-accessory:hover strong{
  color:var(--nb-accent-blue)!important;
}
body.single-product div.product .nbp-category-eyebrow a:hover{
  color:var(--nb-accent-blue)!important;
}

/* v1.0.47 — subtle navy treatment for non-interactive What’s in the Box pills.
   No layout, heading, product content, selectors or checkout changes. */
body.single-product div.product #nbp-in-the-box ul.nbpfeat-box > li {
  background:#f6f8fc!important;
  border-color:#dbe3f1!important;
  color:#47566e!important;
  box-shadow:0 1px 2px rgba(30,58,138,.025)!important;
}
body.single-product div.product #nbp-in-the-box ul.nbpfeat-box > li::before {
  content:''!important;
  display:inline-block!important;
  width:4px!important;
  height:4px!important;
  flex:0 0 4px!important;
  margin-right:3px!important;
  border-radius:50%!important;
  background:rgba(30,58,138,.53)!important;
}
body.single-product div.product #nbp-in-the-box ul.nbpfeat-box > li::after {
  content:none!important;
  display:none!important;
}
