/* ==========================================================================
   M חשמל — Single Product Page (Stage 18). Design System v1.1 tokens only.
   Layout: breadcrumbs → hero [gallery | summary/purchase] → section nav + sections → upsells / related.
   Mobile-first. Woo keeps the engine (gallery, add-to-cart form, variations, reviews); this file skins it.
   Specificity notes: woocommerce-layout/general.css use `.woocommerce div.product …` (0,2,2–0,3,2);
   overrides below are scoped under `.np-product-page__product` so they win without !important.
   ========================================================================== */

/* ---------- Page shell ---------- */
main.site-main.np-product-page, body:not([class*="elementor-page-"]) main.site-main.np-product-page { max-width: none; margin-inline: 0; padding-inline: 0; width: 100%; }
.np-product-page { padding-block: var(--np-space-3) var(--np-space-8); background: var(--np-color-bg-surface); }
.np-product-page > .woocommerce-notices-wrapper { max-width: calc(var(--np-container-wide) + 2 * var(--np-gutter)); margin-inline: auto; padding-inline: var(--np-gutter); box-sizing: border-box; }
.np-product-page__top { margin-bottom: var(--np-space-3); }

/* Breadcrumbs (same component as the archive; np-archive.css is not loaded here) */
.np-breadcrumbs__list { display: flex; flex-wrap: wrap; align-items: center; gap: var(--np-space-1); list-style: none; margin: 0; padding: 0; font-size: var(--np-font-body-small-size); line-height: var(--np-font-body-small-lh); color: var(--np-color-text-muted); }
.np-breadcrumbs__item a { color: var(--np-color-text-secondary); text-decoration: none; }
.np-breadcrumbs__item a:hover { color: var(--np-color-brand-primary); text-decoration: underline; }
.np-breadcrumbs__item a:focus-visible { outline: var(--np-focus-ring); outline-offset: 2px; border-radius: 2px; }
.np-breadcrumbs__item--current { color: var(--np-color-neutral-900); font-weight: 600; }
.np-breadcrumbs__sep { display: inline-flex; color: var(--np-color-neutral-400); }
@media (max-width: 767px) {
  /* long trails: one scrollable line instead of 3–4 wrapped rows */
  .np-breadcrumbs__list { flex-wrap: nowrap; overflow-x: auto; white-space: nowrap; scrollbar-width: none; }
  .np-breadcrumbs__list::-webkit-scrollbar { display: none; }
}

/* ---------- Hero: gallery | summary ---------- */
.np-product-page__hero { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--np-space-5); align-items: start; }
@media (min-width: 768px) and (max-width: 1024px) { .np-product-page__hero { gap: var(--np-space-6); } }
@media (min-width: 1025px) {
  .np-product-page__hero { grid-template-columns: minmax(0, 55fr) minmax(0, 45fr); gap: var(--np-space-7); }
}

/* ---------- Gallery (Woo native: FlexSlider + zoom + PhotoSwipe) ---------- */
.np-product-page__gallery { position: relative; min-width: 0; }
.woocommerce .np-product-page__product div.images.woocommerce-product-gallery,
.woocommerce-page .np-product-page__product div.images.woocommerce-product-gallery { float: none; width: 100%; margin: 0; position: relative; }
.np-product-page__product .woocommerce-product-gallery { opacity: 1 !important; /* Woo sets inline opacity:0 until JS init; avoid a blank LCP on slow JS */ }
.np-product-page__product .woocommerce-product-gallery .flex-viewport,
.np-product-page__product .woocommerce-product-gallery > .woocommerce-product-gallery__wrapper {
  border: 1px solid var(--np-color-border); border-radius: var(--np-radius-lg); background: var(--np-color-neutral-0); overflow: hidden;
}
.np-product-page__product .woocommerce-product-gallery__wrapper { margin: 0; }
.np-product-page__product .woocommerce-product-gallery__image { aspect-ratio: 1 / 1; display: flex !important; align-items: center; justify-content: center; background: var(--np-color-neutral-0); }
.np-product-page__product .woocommerce-product-gallery__image > a { display: flex; width: 100%; height: 100%; align-items: center; justify-content: center; padding: var(--np-space-5); box-sizing: border-box; }
.np-product-page__product .woocommerce-product-gallery__image img,
.woocommerce .np-product-page__product div.images img { width: 100%; height: 100%; object-fit: contain; box-shadow: none; }
.np-product-page__product .woocommerce-product-gallery__image a:focus-visible { outline: var(--np-focus-ring); outline-offset: -4px; }
.np-product-page__product .woocommerce-product-gallery__image--placeholder img { opacity: .6; }
/* placeholder (no image) keeps the 1:1 stage */
.np-product-page__product .woocommerce-product-gallery__image--placeholder { border: 1px solid var(--np-color-border); border-radius: var(--np-radius-lg); }

/* Thumbnails */
.woocommerce .np-product-page__product div.images .flex-control-thumbs {
  display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: var(--np-space-2); margin: var(--np-space-3) 0 0; padding: 0; list-style: none; overflow: visible;
}
.woocommerce .np-product-page__product div.images .flex-control-thumbs li { width: auto; float: none; margin: 0; }
.woocommerce .np-product-page__product div.images .flex-control-thumbs li img {
  aspect-ratio: 1 / 1; object-fit: contain; padding: var(--np-space-1); box-sizing: border-box; background: var(--np-color-neutral-0);
  border: 1px solid var(--np-color-border); border-radius: var(--np-radius-md); opacity: 1; cursor: pointer;
  transition: border-color var(--np-motion-fast) var(--np-ease);
}
.woocommerce .np-product-page__product div.images .flex-control-thumbs li img:hover { border-color: var(--np-color-border-strong); }
.woocommerce .np-product-page__product div.images .flex-control-thumbs li img.flex-active { border-color: var(--np-color-brand-primary); box-shadow: inset 0 0 0 1px var(--np-color-brand-primary); }
.woocommerce .np-product-page__product div.images .flex-control-thumbs li img:focus-visible { outline: var(--np-focus-ring); outline-offset: 2px; }
@media (max-width: 767px) {
  .woocommerce .np-product-page__product div.images .flex-control-thumbs { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; padding-bottom: 2px; }
  .woocommerce .np-product-page__product div.images .flex-control-thumbs::-webkit-scrollbar { display: none; }
  .woocommerce .np-product-page__product div.images .flex-control-thumbs li { flex: 0 0 64px; scroll-snap-align: start; }
}

/* Arrows (FlexSlider direction nav) */
.np-product-page__product .woocommerce-product-gallery .flex-direction-nav { list-style: none; margin: 0; padding: 0; }
.np-product-page__product .woocommerce-product-gallery .flex-direction-nav a {
  position: absolute; top: calc(50% - 22px); z-index: var(--np-z-raised); display: flex; align-items: center; justify-content: center;
  width: var(--np-touch); height: var(--np-touch); overflow: hidden; text-indent: -9999px; color: var(--np-color-neutral-800);
  background: var(--np-color-bg-surface); border: 1px solid var(--np-color-border); border-radius: var(--np-radius-pill); box-shadow: var(--np-shadow-sm);
  transition: opacity var(--np-motion-fast) var(--np-ease);
}
.np-product-page__product .woocommerce-product-gallery .flex-direction-nav a::before {
  content: ""; width: 20px; height: 20px; text-indent: 0; background: currentColor;
  -webkit-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='m9 18 6-6-6-6'/></svg>") center/contain no-repeat;
          mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='m9 18 6-6-6-6'/></svg>") center/contain no-repeat;
}
/* RTL: "previous" sits on the right and points right */
.np-product-page__product .woocommerce-product-gallery .flex-direction-nav .flex-prev { inset-inline-start: var(--np-space-3); }
.np-product-page__product .woocommerce-product-gallery .flex-direction-nav .flex-next { inset-inline-end: var(--np-space-3); }
[dir="ltr"] .np-product-page__product .woocommerce-product-gallery .flex-direction-nav .flex-prev::before { transform: scaleX(-1); }
[dir="rtl"] .np-product-page__product .woocommerce-product-gallery .flex-direction-nav .flex-next::before, .rtl .np-product-page__product .woocommerce-product-gallery .flex-direction-nav .flex-next::before { transform: scaleX(-1); }
.np-product-page__product .woocommerce-product-gallery .flex-direction-nav a.flex-disabled { opacity: 0; pointer-events: none; }
.np-product-page__product .woocommerce-product-gallery .flex-direction-nav a:focus-visible { outline: var(--np-focus-ring); outline-offset: 2px; }
@media (hover: hover) and (min-width: 1025px) {
  .np-product-page__product .woocommerce-product-gallery .flex-direction-nav a { opacity: 0; }
  .np-product-page__product .woocommerce-product-gallery:hover .flex-direction-nav a:not(.flex-disabled),
  .np-product-page__product .woocommerce-product-gallery .flex-direction-nav a:focus-visible { opacity: 1; }
}

/* Zoom / lightbox trigger */
.woocommerce .np-product-page__product div.images .woocommerce-product-gallery__trigger {
  position: absolute; top: var(--np-space-3); inset-inline-end: var(--np-space-3); left: auto; right: auto; z-index: var(--np-z-raised);
  display: flex; align-items: center; justify-content: center; width: var(--np-touch); height: var(--np-touch); text-indent: 0; font-size: 0;
  color: var(--np-color-neutral-800); background: var(--np-color-bg-surface); border: 1px solid var(--np-color-border); border-radius: var(--np-radius-pill); box-shadow: var(--np-shadow-sm);
}
.rtl.woocommerce .np-product-page__product div.images .woocommerce-product-gallery__trigger { left: var(--np-space-3); right: auto; }
.woocommerce .np-product-page__product div.images .woocommerce-product-gallery__trigger::before,
.woocommerce .np-product-page__product div.images .woocommerce-product-gallery__trigger::after { display: none; }
.woocommerce .np-product-page__product div.images .woocommerce-product-gallery__trigger .np-icon { display: block; }
.woocommerce .np-product-page__product div.images .woocommerce-product-gallery__trigger:focus-visible { outline: var(--np-focus-ring); outline-offset: 2px; }
.np-product-page__product .zoomImg { background: var(--np-color-neutral-0); }

/* Commercial badges overlay (sale / new / discount) */
.np-product-gallery__badges { position: absolute; top: var(--np-space-3); inset-inline-start: var(--np-space-3); z-index: calc(var(--np-z-raised) + 1); display: flex; flex-direction: column; align-items: flex-start; gap: var(--np-space-1); pointer-events: none; }

/* ---------- Summary / purchase panel ---------- */
.np-product-page__summary { min-width: 0; }
.np-product-summary { display: flex; flex-direction: column; gap: var(--np-space-3); }
@media (min-width: 1025px) {
  .np-product-page__summary.is-sticky { position: sticky; top: calc(var(--np-page-sticky-top, 0px) + var(--np-space-4)); transition: top var(--np-motion-normal) var(--np-ease); }
}
.np-product-brand { font-size: var(--np-font-body-small-size); line-height: var(--np-font-body-small-lh); font-weight: 600; color: var(--np-color-text-secondary); }
.np-product-brand a { color: var(--np-color-brand-primary); text-decoration: none; }
.np-product-brand a:hover { text-decoration: underline; }
.np-product-brand a:focus-visible { outline: var(--np-focus-ring); outline-offset: 2px; border-radius: 2px; }
.np-product-page__product h1.np-product-title, .woocommerce .np-product-page__product .product_title.np-product-title {
  margin: 0; padding: 0; clear: none; font-size: var(--np-font-h1-size); font-weight: var(--np-font-h1-weight); line-height: var(--np-font-h1-lh); color: var(--np-color-neutral-900); overflow-wrap: anywhere;
}
@media (max-width: 767px) {
  .np-product-page__product h1.np-product-title, .woocommerce .np-product-page__product .product_title.np-product-title { font-size: var(--np-font-h2-size); line-height: var(--np-font-h2-lh); }
}
.np-product-model { display: flex; flex-wrap: wrap; gap: var(--np-space-1) var(--np-space-4); font-size: var(--np-font-body-small-size); line-height: var(--np-font-body-small-lh); color: var(--np-color-text-muted); }
.np-product-model__value { color: var(--np-color-text-secondary); font-weight: 600; direction: ltr; unicode-bidi: isolate; }
.np-product-rating { display: flex; align-items: center; gap: var(--np-space-2); font-size: var(--np-font-body-small-size); }
.woocommerce .np-product-rating .star-rating { float: none; margin: 0; color: var(--np-color-warning); }
.np-product-rating__link { color: var(--np-color-text-secondary); text-decoration: underline; min-height: var(--np-touch); display: inline-flex; align-items: center; }
.np-product-rating__link:focus-visible { outline: var(--np-focus-ring); outline-offset: 2px; }
.np-product-badges { display: flex; flex-wrap: wrap; gap: var(--np-space-2); }
.np-product-badges .np-badge { height: 28px; padding-inline: var(--np-space-3); }
.np-product-short-desc { font-size: var(--np-font-body-size); line-height: var(--np-font-body-lh); color: var(--np-color-text-secondary); }
.np-product-short-desc > :last-child { margin-bottom: 0; }
.np-product-short-desc ul { margin: 0; padding-inline-start: var(--np-space-5); }

/* Purchase box */
.np-product-purchase {
  display: flex; flex-direction: column; gap: var(--np-space-3); margin-top: var(--np-space-1);
  padding: var(--np-space-4); border: 1px solid var(--np-color-border); border-radius: var(--np-radius-lg); background: var(--np-color-bg-surface);
}
@media (min-width: 768px) { .np-product-purchase { padding: var(--np-space-5); } }
.np-product-price { align-items: center; row-gap: var(--np-space-1); }
.np-product-page__product .np-product-price .np-price__current,
.woocommerce .np-product-page__product .np-product-price .price { font-size: var(--np-font-price-large-size); font-weight: var(--np-font-price-large-weight); line-height: var(--np-font-price-large-lh); color: var(--np-color-price); margin: 0; }
.np-product-page__product .np-product-price .np-price__old { font-size: var(--np-font-body-size); }
.np-product-page__product .np-price del { color: var(--np-color-old-price); font-weight: 400; font-size: .6em; opacity: 1; text-decoration: line-through; margin-inline-end: var(--np-space-2); }
.np-product-page__product .np-price ins { text-decoration: none; background: none; color: inherit; font-weight: inherit; }
.np-product-page__product .np-price .woocommerce-Price-amount { white-space: nowrap; }
.np-product-price__discount { align-self: center; }
.np-product-stock { font-size: var(--np-font-body-size); }
.np-product-warranty { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: var(--np-space-1); }
.np-product-warranty__item { display: flex; align-items: flex-start; gap: var(--np-space-2); font-size: var(--np-font-body-small-size); line-height: var(--np-font-body-small-lh); color: var(--np-color-text-secondary); }
.np-product-warranty__item .np-icon { flex: none; color: var(--np-color-text-muted); margin-top: 1px; }
.np-product-warranty__item.is-strong { color: var(--np-color-neutral-900); font-weight: 600; }
.np-product-warranty__item.is-strong .np-icon { color: var(--np-color-success); }

/* Add-to-cart form (Woo markup) */
.np-product-cart { margin: 0; }
.np-product-page__product:not(.product-type-variable) .np-product-cart > p.stock { display: none; } /* stock shown once, above */
.woocommerce .np-product-page__product .np-product-cart form.cart { display: flex; flex-wrap: wrap; align-items: stretch; gap: var(--np-space-3); margin: 0; }
.woocommerce .np-product-page__product .np-product-cart form.cart::before, .woocommerce .np-product-page__product .np-product-cart form.cart::after { display: none; }
.woocommerce .np-product-page__product .np-product-cart form.variations_form { flex-direction: column; }
.woocommerce .np-product-page__product .np-product-cart .woocommerce-variation-add-to-cart { display: flex; flex-wrap: wrap; gap: var(--np-space-3); align-items: stretch; }

/* Quantity: Woo's div.quantity becomes the DS [-][input][+] control */
.woocommerce .np-product-page__product .np-product-cart form.cart div.quantity {
  float: none; margin: 0; display: inline-flex; align-items: stretch; height: var(--np-field-height); flex: none;
  border: 1px solid var(--np-color-border); border-radius: var(--np-radius-md); overflow: hidden; background: var(--np-color-bg-surface);
}
.woocommerce .np-product-page__product .np-product-cart div.quantity.hidden { display: none; }
.woocommerce .np-product-page__product .np-product-cart div.quantity .np-qty__btn { height: 100%; min-height: var(--np-touch); }
.woocommerce .np-product-page__product .np-product-cart div.quantity .np-qty__btn:disabled { color: var(--np-color-neutral-400); cursor: not-allowed; background: transparent; }
.woocommerce .np-product-page__product .np-product-cart div.quantity input.qty.np-qty__input:not([type="button"]):not([type="submit"]) { width: 52px; height: 100%; }
.woocommerce .np-product-page__product .np-product-cart div.quantity .screen-reader-text { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

/* Add to cart button = DS primary (beats Woo `.woocommerce button.button.alt` and Elementor kit button styles) */
.woocommerce .np-product-page__product .np-product-cart form.cart button.single_add_to_cart_button.button,
.woocommerce .np-product-page__product .np-product-cart form.cart button.single_add_to_cart_button.button.alt {
  flex: 1 1 200px; float: none; display: inline-flex; align-items: center; justify-content: center; gap: var(--np-space-2);
  min-height: var(--np-field-height); margin: 0; padding: 0 var(--np-space-5);
  font-family: var(--np-font-family); font-size: var(--np-font-button-size); font-weight: var(--np-font-button-weight); line-height: var(--np-font-button-lh);
  color: var(--np-color-text-inverse); background: var(--np-color-brand-primary); border: 1px solid transparent; border-radius: var(--np-radius-md);
  text-transform: none; letter-spacing: normal; box-shadow: none; position: relative; cursor: pointer;
  transition: background-color var(--np-motion-fast) var(--np-ease);
}
.woocommerce .np-product-page__product .np-product-cart form.cart button.single_add_to_cart_button.button:hover { background: var(--np-color-brand-primary-hover); color: var(--np-color-text-inverse); }
.woocommerce .np-product-page__product .np-product-cart form.cart button.single_add_to_cart_button.button:focus-visible { outline: var(--np-focus-ring); outline-offset: 2px; }
.woocommerce .np-product-page__product .np-product-cart form.cart button.single_add_to_cart_button.button.disabled,
.woocommerce .np-product-page__product .np-product-cart form.cart button.single_add_to_cart_button.button:disabled {
  background: var(--np-color-neutral-200); color: var(--np-color-neutral-600); opacity: 1; cursor: not-allowed;
}
.woocommerce .np-product-page__product .np-product-cart form.cart button.single_add_to_cart_button.is-loading { color: transparent; pointer-events: none; }
.woocommerce .np-product-page__product .np-product-cart form.cart button.single_add_to_cart_button.is-loading::after {
  content: ""; position: absolute; inset: 0; margin: auto; width: 18px; height: 18px;
  border: 2px solid var(--np-color-text-inverse); border-inline-end-color: transparent; border-radius: 50%; animation: np-spin .8s linear infinite;
}
@media (max-width: 767px) {
  .woocommerce .np-product-page__product .np-product-cart form.cart button.single_add_to_cart_button.button { flex-basis: 0; min-width: 0; }
}

/* Variations (Woo table → stacked fields) */
.woocommerce .np-product-page__product .np-product-cart table.variations { width: 100%; margin: 0; border: 0; border-collapse: collapse; table-layout: auto; }
.woocommerce .np-product-page__product .np-product-cart table.variations tbody,
.woocommerce .np-product-page__product .np-product-cart table.variations tr { display: flex; flex-direction: column; gap: var(--np-space-2); }
.woocommerce .np-product-page__product .np-product-cart table.variations tbody { gap: var(--np-space-3); }
.woocommerce .np-product-page__product .np-product-cart table.variations th,
.woocommerce .np-product-page__product .np-product-cart table.variations td { display: block; padding: 0; border: 0; background: none; text-align: start; line-height: var(--np-font-label-lh); }
.woocommerce .np-product-page__product .np-product-cart table.variations th.label label { margin: 0; font-size: var(--np-font-label-size); font-weight: var(--np-font-label-weight); color: var(--np-color-text); }
.woocommerce .np-product-page__product .np-product-cart table.variations td.value { display: flex; flex-wrap: wrap; align-items: center; gap: var(--np-space-2); }
.woocommerce .np-product-page__product .np-product-cart table.variations select {
  flex: 1 1 220px; min-width: 0; width: 100%; max-width: 100%; min-height: var(--np-field-height); margin: 0; padding-block: 0; padding-inline: var(--np-space-4) var(--np-space-7);
  font-family: var(--np-font-family); font-size: var(--np-font-body-size); color: var(--np-color-text);
  background: var(--np-color-bg-surface) url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23475569' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='m6 9 6 6 6-6'/></svg>") no-repeat left var(--np-space-3) center / 20px;
  border: 1px solid var(--np-color-border); border-radius: var(--np-radius-md); -webkit-appearance: none; appearance: none;
}
[dir="ltr"] .woocommerce .np-product-page__product .np-product-cart table.variations select { background-position: right var(--np-space-3) center; }
.woocommerce .np-product-page__product .np-product-cart table.variations select:focus-visible { outline: var(--np-focus-ring); outline-offset: 2px; }
.woocommerce .np-product-page__product .np-product-cart .reset_variations { display: inline-flex; align-items: center; min-height: var(--np-touch); font-size: var(--np-font-body-small-size); color: var(--np-color-brand-primary); text-decoration: underline; margin: 0; }
.woocommerce .np-product-page__product .np-product-cart .single_variation_wrap { display: flex; flex-direction: column; gap: var(--np-space-3); }
.woocommerce .np-product-page__product .np-product-cart .woocommerce-variation { display: flex; flex-direction: column; gap: var(--np-space-2); }
.woocommerce .np-product-page__product .np-product-cart .woocommerce-variation:empty, .woocommerce .np-product-page__product .np-product-cart .woocommerce-variation[style*="none"] { display: none; }
.woocommerce .np-product-page__product .np-product-cart .woocommerce-variation-price .price { font-size: var(--np-font-price-regular-size); font-weight: var(--np-font-price-regular-weight); color: var(--np-color-price); margin: 0; }
.woocommerce .np-product-page__product .np-product-cart .woocommerce-variation-price .price del { color: var(--np-color-old-price); font-weight: 400; font-size: .75em; margin-inline-end: var(--np-space-2); }
.woocommerce .np-product-page__product .np-product-cart .woocommerce-variation-price .price ins { text-decoration: none; }
.woocommerce .np-product-page__product .np-product-cart .woocommerce-variation-description p { margin: 0; font-size: var(--np-font-body-small-size); color: var(--np-color-text-secondary); }
.woocommerce .np-product-page__product .np-product-cart p.stock { margin: 0; font-size: var(--np-font-body-small-size); font-weight: 600; }
.woocommerce .np-product-page__product .np-product-cart p.stock.in-stock { color: var(--np-color-success); }
.woocommerce .np-product-page__product .np-product-cart p.stock.out-of-stock { color: var(--np-color-error); }
.woocommerce .np-product-page__product .np-product-cart p.stock.available-on-backorder { color: var(--np-color-info); }
/* Grouped products */
.woocommerce .np-product-page__product .np-product-cart table.group_table { width: 100%; border-collapse: collapse; margin: 0; }
.woocommerce .np-product-page__product .np-product-cart table.group_table td { padding: var(--np-space-2) 0; border-bottom: 1px solid var(--np-color-border); vertical-align: middle; }

/* Actions (wishlist / compare) */
.np-product-actions { display: flex; flex-wrap: wrap; gap: var(--np-space-1) var(--np-space-3); }
.np-product-actions:empty { display: none; }
.np-product-actions .np-product-actions__btn { min-height: var(--np-touch); color: var(--np-color-text-secondary); --_fg: var(--np-color-text-secondary); }
.np-product-actions .np-product-actions__btn:hover { --_fg: var(--np-color-brand-primary); }
.np-product-actions .np-product-actions__btn[aria-pressed="true"] { --_fg: var(--np-color-brand-primary); }
.np-product-branches { font-size: var(--np-font-body-small-size); color: var(--np-color-text-secondary); }

/* Delivery lines + trust items (editable content) */
.np-product-delivery, .np-product-trust { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: var(--np-space-2); }
.np-product-delivery li, .np-product-trust li { display: flex; align-items: flex-start; gap: var(--np-space-2); font-size: var(--np-font-body-small-size); line-height: var(--np-font-body-small-lh); color: var(--np-color-text-secondary); }
.np-product-delivery .np-icon, .np-product-trust .np-icon { flex: none; color: var(--np-color-brand-primary); }
.np-product-trust { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--np-space-3); padding-top: var(--np-space-3); border-top: 1px solid var(--np-color-border); }

/* ---------- Below the fold: nav + sections ---------- */
.np-product-page__details { margin-top: var(--np-space-7); }
@media (min-width: 1025px) { .np-product-page__details { margin-top: var(--np-space-8); } }
.np-product-page__nav {
  position: sticky; top: var(--np-page-sticky-top, 0px); z-index: calc(var(--np-z-sticky) - 1);
  background: var(--np-color-bg-surface); border-bottom: 1px solid var(--np-color-border); margin-bottom: var(--np-space-5);
  transition: top var(--np-motion-normal) var(--np-ease);
}
.np-product-page__nav-list { display: flex; gap: var(--np-space-1); margin: 0; padding: 0; list-style: none; overflow-x: auto; scrollbar-width: none; }
.np-product-page__nav-list::-webkit-scrollbar { display: none; }
.np-product-page__nav-link {
  display: inline-flex; align-items: center; min-height: 48px; padding-inline: var(--np-space-3); white-space: nowrap;
  font-size: var(--np-font-body-size); font-weight: 600; color: var(--np-color-text-secondary); text-decoration: none;
  border-bottom: 2px solid transparent; margin-bottom: -1px;
}
.np-product-page__nav-link:hover { color: var(--np-color-brand-primary); }
.np-product-page__nav-link[aria-current="true"] { color: var(--np-color-brand-primary); border-bottom-color: var(--np-color-brand-primary); }
.np-product-page__nav-link:focus-visible { outline: var(--np-focus-ring); outline-offset: -2px; }
@media (max-width: 767px) { .np-product-page__nav { display: none; } } /* mobile: accordions are the navigation */

.np-product-page__sections { display: flex; flex-direction: column; gap: var(--np-space-7); max-width: 1100px; }
.np-product-section { scroll-margin-top: calc(var(--np-page-sticky-top, 0px) + 64px); min-width: 0; }
.np-product-section__title { margin: 0 0 var(--np-space-4); font-size: var(--np-font-h3-size); font-weight: var(--np-font-h3-weight); line-height: var(--np-font-h3-lh); color: var(--np-color-neutral-900); }
.np-product-section__body { min-width: 0; }

@media (max-width: 767px) {
  .np-product-page__sections { gap: 0; border-top: 1px solid var(--np-color-border); }
  .np-product-section { border-bottom: 1px solid var(--np-color-border); scroll-margin-top: calc(var(--np-page-sticky-top, 0px) + var(--np-space-2)); }
  .np-product-section__title { margin: 0; font-size: var(--np-font-h4-size); line-height: var(--np-font-h4-lh); }
  .np-product-section__toggle {
    display: flex; align-items: center; justify-content: space-between; gap: var(--np-space-3); width: 100%; min-height: 56px; padding: var(--np-space-3) 0; margin: 0;
    font: inherit; color: inherit; text-align: start; background: transparent; border: 0; border-radius: 0; cursor: pointer;
  }
  .np-product-section__toggle:hover, .np-product-section__toggle:focus { background: transparent; color: inherit; }
  .np-product-section__toggle:focus-visible { outline: var(--np-focus-ring); outline-offset: -2px; }
  .np-product-section__chevron { flex: none; color: var(--np-color-text-muted); transition: transform var(--np-motion-normal) var(--np-ease); }
  .np-product-section__toggle[aria-expanded="true"] .np-product-section__chevron { transform: rotate(180deg); }
  .np-product-section__body { padding-bottom: var(--np-space-5); }
}

/* Highlights */
.np-product-highlights { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--np-space-3); margin: 0; padding: 0; list-style: none; }
@media (min-width: 768px) { .np-product-highlights { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.np-product-highlights__item { display: flex; flex-direction: column; gap: 2px; padding: var(--np-space-3) var(--np-space-4); background: var(--np-color-bg-subtle); border-radius: var(--np-radius-md); min-width: 0; }
.np-product-highlights__label { font-size: var(--np-font-caption-size); line-height: var(--np-font-caption-lh); color: var(--np-color-text-muted); }
.np-product-highlights__value { font-size: var(--np-font-body-size); line-height: 1.35; font-weight: 600; color: var(--np-color-neutral-900); font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }

/* Technical specifications (np_render_product_specifications) */
.np-specs { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--np-space-5); }
@media (min-width: 1025px) { .np-specs { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--np-space-5) var(--np-space-6); align-items: start; } .np-specs__group--wide, .np-specs__more, .np-specs__toggle { grid-column: 1 / -1; } }
.np-specs__more { display: contents; }
.np-specs__more[hidden] { display: none; }
.np-specs__group { min-width: 0; }
.np-specs__title { margin: 0 0 var(--np-space-2); font-size: var(--np-font-h4-size); font-weight: var(--np-font-h4-weight); line-height: var(--np-font-h4-lh); color: var(--np-color-neutral-900); }
.np-specs__rows { margin: 0; border-top: 1px solid var(--np-color-border); }
@media (min-width: 1025px) { .np-specs__group--wide .np-specs__rows { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: var(--np-space-6); } }
.np-specs__row { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 3fr); gap: var(--np-space-3); padding: var(--np-space-2) 0; border-bottom: 1px solid var(--np-color-border); align-items: baseline; }
.np-specs__row--list { align-items: start; }
.np-specs__label { margin: 0; font-size: var(--np-font-body-small-size); line-height: var(--np-font-body-small-lh); color: var(--np-color-text-secondary); font-weight: 400; }
.np-specs__value { margin: 0; font-size: var(--np-font-body-small-size); line-height: var(--np-font-body-small-lh); color: var(--np-color-neutral-900); font-weight: 600; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
@media (max-width: 380px) { .np-specs__row { grid-template-columns: minmax(0, 1fr); gap: 2px; } }
.np-specs__chips { display: flex; flex-wrap: wrap; gap: var(--np-space-1); margin: 0; padding: 0; list-style: none; }
.np-specs__chips li { display: inline-flex; align-items: center; min-height: 24px; padding: 2px var(--np-space-2); background: var(--np-color-bg-subtle); border-radius: var(--np-radius-pill); font-size: var(--np-font-caption-size); line-height: 1.3; font-weight: 600; color: var(--np-color-text); }
.np-specs__list { margin: 0; padding-inline-start: var(--np-space-4); display: flex; flex-direction: column; gap: 2px; font-weight: 400; }
.np-specs__group--highlight { padding: var(--np-space-4); background: var(--np-color-bg-subtle); border-radius: var(--np-radius-lg); }
.np-specs__group--highlight .np-specs__rows { border-top-color: var(--np-color-border-strong); }
.np-specs__group--highlight .np-specs__row { border-bottom-color: var(--np-color-border-strong); }
.np-specs__callout { display: flex; align-items: flex-start; gap: var(--np-space-2); margin: 0 0 var(--np-space-3); font-size: var(--np-font-body-small-size); line-height: var(--np-font-body-small-lh); color: var(--np-color-text); }
.np-specs__callout .np-icon { flex: none; color: var(--np-color-warning); }
.np-specs__toggle { justify-self: start; }

/* Description (editor content) */
.np-product-description { max-width: 800px; font-size: var(--np-font-body-size); line-height: var(--np-font-body-lh); color: var(--np-color-text); overflow-wrap: anywhere; }
.np-product-description > :first-child { margin-top: 0; }
.np-product-description > :last-child { margin-bottom: 0; }
.np-product-description h2, .np-product-description h3 { font-size: var(--np-font-h4-size); line-height: var(--np-font-h4-lh); margin: var(--np-space-5) 0 var(--np-space-2); color: var(--np-color-neutral-900); }
.np-product-description img, .np-product-description video, .np-product-description iframe { max-width: 100%; height: auto; border-radius: var(--np-radius-md); }
.np-product-description table { width: 100%; border-collapse: collapse; display: block; overflow-x: auto; }

/* Delivery & warranty info */
.np-product-info { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--np-space-5); }
@media (min-width: 768px) { .np-product-info { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.np-product-info__block { min-width: 0; }
.np-product-info__title { margin: 0 0 var(--np-space-2); font-size: var(--np-font-h4-size); font-weight: var(--np-font-h4-weight); line-height: var(--np-font-h4-lh); color: var(--np-color-neutral-900); }
.np-product-info__text { font-size: var(--np-font-body-small-size); line-height: var(--np-font-body-small-lh); color: var(--np-color-text-secondary); margin: var(--np-space-2) 0 0; }
.np-product-info__text p:last-child { margin-bottom: 0; }

/* Reviews (Woo comments template) */
.woocommerce .np-product-reviews #reviews h2.woocommerce-Reviews-title { display: none; } /* section h2 already names it */
.woocommerce .np-product-reviews #reviews #comments ol.commentlist { padding: 0; margin: 0 0 var(--np-space-5); }
.woocommerce .np-product-reviews #reviews #comments ol.commentlist li .comment-text { border-color: var(--np-color-border); border-radius: var(--np-radius-md); }
.woocommerce .np-product-reviews .star-rating, .woocommerce .np-product-reviews p.stars a { color: var(--np-color-warning); }
.woocommerce .np-product-reviews #review_form #respond textarea, .woocommerce .np-product-reviews #review_form #respond input:not([type="submit"]):not([type="checkbox"]) { border: 1px solid var(--np-color-border); border-radius: var(--np-radius-md); padding: var(--np-space-3); font: inherit; max-width: 100%; box-sizing: border-box; }
.woocommerce .np-product-reviews #review_form #respond .form-submit input[type="submit"] { min-height: var(--np-touch); padding: 0 var(--np-space-5); background: var(--np-color-brand-primary); color: var(--np-color-text-inverse); border: 0; border-radius: var(--np-radius-md); font-weight: var(--np-font-button-weight); cursor: pointer; }
.woocommerce .np-product-reviews #review_form #respond .form-submit input[type="submit"]:focus-visible { outline: var(--np-focus-ring); outline-offset: 2px; }
.woocommerce .np-product-reviews .woocommerce-noreviews { color: var(--np-color-text-secondary); }

/* ---------- Upsells / related (NP Product Card grid) ---------- */
.np-product-page__more { display: flex; flex-direction: column; gap: var(--np-space-7); margin-top: var(--np-space-8); }
.np-product-page__more > div:empty { display: none; }
.woocommerce .np-product-page__more section.related, .woocommerce .np-product-page__more section.upsells { clear: none; padding: 0; margin: 0; }
.woocommerce .np-product-page__more section.related > h2, .woocommerce .np-product-page__more section.upsells > h2 {
  margin: 0 0 var(--np-space-4); font-size: var(--np-font-h3-size); font-weight: var(--np-font-h3-weight); line-height: var(--np-font-h3-lh); color: var(--np-color-neutral-900);
}
@media (min-width: 1025px) { .woocommerce .np-product-page__more ul.products.np-products { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
@media (max-width: 767px) {
  /* 2-up swipe row instead of a long stacked list */
  .woocommerce .np-product-page__more ul.products.np-products { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; gap: var(--np-space-3); padding-bottom: var(--np-space-2); scrollbar-width: thin; }
  .woocommerce .np-product-page__more ul.products.np-products > li { flex: 0 0 calc((100% - var(--np-space-3)) / 1.6); scroll-snap-align: start; }
}

/* ---------- Mobile sticky purchase bar ---------- */
.np-mobile-purchase-bar {
  position: fixed; inset-inline: 0; bottom: 0; z-index: calc(var(--np-z-sticky) + 1);
  display: flex; align-items: center; justify-content: space-between; gap: var(--np-space-3);
  padding: var(--np-space-2) var(--np-gutter) calc(var(--np-space-2) + env(safe-area-inset-bottom, 0px));
  background: var(--np-color-bg-surface); border-top: 1px solid var(--np-color-border); box-shadow: 0 -4px 16px rgba(15, 23, 42, .08);
  transform: translateY(0); transition: transform var(--np-motion-normal) var(--np-ease);
}
.np-mobile-purchase-bar[hidden] { display: none; }
.np-mobile-purchase-bar__price { min-width: 0; flex-wrap: nowrap; overflow: hidden; }
.np-mobile-purchase-bar__price .np-price__current, .np-mobile-purchase-bar__price > .woocommerce-Price-amount, .np-mobile-purchase-bar__price ins { font-size: var(--np-font-price-regular-size); font-weight: var(--np-font-price-regular-weight); color: var(--np-color-price); white-space: nowrap; text-decoration: none; }
.np-mobile-purchase-bar__price del, .np-mobile-purchase-bar__price .np-price__old { font-size: var(--np-font-caption-size); color: var(--np-color-old-price); white-space: nowrap; }
.np-mobile-purchase-bar__price .np-price__installments, .np-mobile-purchase-bar__price .np-price__prefix { display: none; }
.np-mobile-purchase-bar__cta.np-btn { flex: none; min-height: var(--np-touch); }
@media (min-width: 1025px) { .np-mobile-purchase-bar { display: none !important; } }
body.np-has-mobile-bar { padding-bottom: calc(64px + env(safe-area-inset-bottom, 0px)); }
body.np-nav-open .np-mobile-purchase-bar, body.np-filter-open .np-mobile-purchase-bar { display: none; }
@media (prefers-reduced-motion: no-preference) {
  .np-mobile-purchase-bar.is-visible { animation: np-bar-in var(--np-motion-normal) var(--np-ease); }
  @keyframes np-bar-in { from { transform: translateY(100%); } to { transform: translateY(0); } }
}

/* ---------- Reduced motion ---------- */
@media (prefers-reduced-motion: reduce) {
  .np-product-page__product *, .np-mobile-purchase-bar { transition: none !important; animation: none !important; scroll-behavior: auto !important; }
}
