/* Plantjai Product Commerce v8 — one restrained WooCommerce PDP surface. */

body.single-product {
  --pj-canvas: #f7f6f2;
  --pj-paper: #fffefa;
  --pj-ink: #202426;
  --pj-graphite: #3b4042;
  --pj-muted: #666b6d;
  --pj-metal: #b9bdbe;
  --pj-line: rgba(17, 20, 17, .2);
  --pj-line-soft: rgba(17, 20, 17, .12);
  --pj-deep-green: #173d2b;
  --pj-acid: #c9ff3d;
  --pj-font: "Noto Sans TC", "PingFang TC", "Helvetica Neue", Arial, sans-serif;
  --pj-font-mono: "IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, monospace;
  /* This surface runs one sans and one mono. Montserrat and Playfair are retired here. */
  --pj-font-heading: var(--pj-font);
  --pj-font-sans: var(--pj-font);
  --pj-font-serif: var(--pj-font);
  /* Absolute scale only. The document root is 14px, so any rem here is silently
     multiplied by .875 and produces values like 21.7px / 15.12px / 12.32px. */
  --pj-fs-h1: clamp(30px, 2.8vw, 40px);
  --pj-fs-latin: 13px;
  --pj-fs-price: clamp(26px, 2.1vw, 30px);
  --pj-fs-price-del: 17px;
  --pj-fs-body: 17px;
  --pj-fs-h2: clamp(21px, 1.75vw, 25px);
  --pj-fs-h3: 19px;
  --pj-fs-h4: 17px;
  --pj-fs-label: 14px;
  --pj-fs-meta: 13px;
  --pj-fs-btn: 15px;
  --pj-lh-body: 1.85;
  --pj-ls-cjk: .02em;
  --pj-ls-mono: .16em;
  --pj-s1: 8px;
  --pj-s2: 16px;
  --pj-s3: 24px;
  --pj-s4: 32px;
  --pj-s5: 48px;
  background: var(--pj-canvas);
}

body.single-product .main-page-wrapper,
body.single-product .wd-page-content { background: var(--pj-canvas) !important; }

/* Breadcrumbs and adjacent-product controls retain WoodMart's native behavior. */
body.single-product .single-breadcrumbs-wrapper {
  border-color: var(--pj-line-soft) !important;
  background: transparent !important;
  box-shadow: none !important;
}
body.single-product .single-breadcrumbs-wrapper,
body.single-product .single-breadcrumbs-wrapper :is(a, .wd-delimiter, .wd-last, [aria-current="page"]),
body.single-product .wd-products-nav :is(a, .wd-products-nav-icon) { color: var(--pj-muted) !important; }
body.single-product .single-breadcrumbs-wrapper a:hover,
body.single-product .single-breadcrumbs-wrapper a:focus-visible,
body.single-product .wd-products-nav .wd-product-nav-btn:hover,
body.single-product .wd-products-nav .wd-product-nav-btn:focus-visible { color: var(--pj-ink) !important; }
body.single-product .single-breadcrumbs-wrapper > .wd-grid-f.container { align-items: center; column-gap: 20px; }
body.single-product .single-breadcrumbs-wrapper .wd-products-nav { display: flex; flex: 0 0 auto; align-items: center; gap: 8px; margin-inline-start: auto; }
body.single-product .wd-products-nav .wd-product-nav-btn {
  display: inline-flex; box-sizing: border-box; align-items: center; justify-content: center;
  width: 44px !important; min-width: 44px !important; height: 44px !important; min-height: 44px !important;
  padding: 0 !important; touch-action: manipulation;
}
body.single-product .wd-products-nav .wd-btn-prev::after,
body.single-product .wd-products-nav .wd-btn-next::after { display: none !important; content: none !important; }
body.single-product .wd-products-nav .wd-dropdown { box-sizing: border-box; min-width: 260px; padding: 12px; }
body.single-product .wd-products-nav .wd-dropdown .wd-product-nav-thumb,
body.single-product .wd-products-nav .wd-dropdown .wd-product-nav-thumb img { width: 64px; height: 64px; object-fit: contain; }
body.single-product .wd-products-nav .wd-dropdown .wd-product-nav-desc { display: flex; flex-direction: column; gap: 4px; padding-inline-start: 12px; }
body.single-product .wd-products-nav .wd-product-nav-desc > a,
body.single-product .wd-products-nav .wd-dropdown :is(.wd-entities-title, .price, .price ins) { color: var(--pj-ink) !important; font: 500 15px/1.5 var(--pj-font) !important; }

/* Purchase summary: thin metallic frame, no shadow or decorative green text. */
body.single-product .product-image-summary-wrap { gap: clamp(24px, 4vw, 64px); border: 0 !important; background: transparent !important; }
body.single-product .summary {
  position: relative; box-sizing: border-box; padding: 0 !important;
  border: 0 !important; border-radius: 0 !important;
  background: transparent !important; box-shadow: none !important;
}
/* One short accent mark instead of a boxed card with a full-width rule on top. */
body.single-product .summary::before { position: absolute; inset: 0 auto auto 0; width: 24px; height: 2px; background: var(--pj-acid); content: ""; pointer-events: none; }
body.single-product .summary .summary-inner { display: flex; flex-direction: column; align-items: stretch; padding-top: var(--pj-s3); }
/* The specimen leads; the purchase column is the quieter half. WoodMart ships a
   12-column grid here, so the split is set as an explicit two-column template —
   a `gap` alone would be multiplied across all eleven gutters. */
@media (min-width: 993px) {
  body.single-product .product-image-summary-inner {
    display: grid !important; grid-template-columns: 57fr 43fr !important;
    column-gap: clamp(40px, 5vw, 72px) !important; row-gap: 0 !important; align-items: start;
  }
  body.single-product .product-image-summary-inner > .product-images,
  body.single-product .product-image-summary-inner > .summary {
    grid-column: auto !important; width: auto !important; max-width: none !important; min-width: 0;
  }
}
body.single-product .summary .summary-inner > h1.product_title { order: -3; }
body.single-product .summary .summary-inner > .pj-single-taxonomy { order: -2; }
body.single-product .summary .summary-inner > .price { order: -1; }
/* The native description stays before cart controls; only the added overview follows them. */
body.single-product .summary .summary-inner > .pj-premium-pdp-overview { order: 1; }
body.single-product .summary :is(h1.product_title, h1.product_title .pj-product-title__zh) {
  margin: 0 0 var(--pj-s1) !important; padding: 0 !important; border: 0 !important; color: var(--pj-ink) !important;
  font: 400 var(--pj-fs-h1)/1.25 var(--pj-font) !important; letter-spacing: .01em !important; text-wrap: balance;
}
body.single-product .summary h1.pj-product-title { display: flex; flex-direction: column; align-items: flex-start; }
body.single-product .summary h1.pj-product-title > span { order: 0; }
body.single-product .summary h1.product_title > .pj-product-title__en:only-child { color: inherit !important; font: inherit !important; }
body.single-product .summary .pj-single-taxonomy { margin: 0 0 var(--pj-s3) !important; padding: 0 !important; border: 0 !important; }
body.single-product .summary :is(.pj-product-title__en, .pj-latin-name--single) { margin: 0 !important; color: var(--pj-muted) !important; font: 400 var(--pj-fs-latin)/1.5 var(--pj-font-mono) !important; letter-spacing: .08em !important; text-transform: uppercase; }

body.single-product .summary .price {
  display: flex !important; flex-wrap: wrap; align-items: baseline; gap: 5px 10px; min-height: 38px;
  margin: 0 0 var(--pj-s3) !important; color: var(--pj-muted) !important;
  font: 400 var(--pj-fs-meta)/1.3 var(--pj-font) !important; letter-spacing: var(--pj-ls-cjk) !important;
}
body.single-product .summary .price :where(del, ins) { display: inline-flex; align-items: baseline; white-space: nowrap; }
body.single-product .summary .price ins { color: var(--pj-ink) !important; text-decoration: none !important; }
body.single-product .summary .price del { color: var(--pj-muted) !important; opacity: 1 !important; text-decoration-color: currentColor !important; text-decoration-thickness: 1px !important; }
/* Descendant, not child: a variable product wraps the amount in .pj-price-from, so the
   old child selector never matched and the legacy rem rule won at 15.12px on phones. */
body.single-product .summary .summary-inner .price .amount,
body.single-product .summary .summary-inner .price ins .amount {
  color: var(--pj-ink) !important; font-family: var(--pj-font-mono) !important;
  font-size: var(--pj-fs-price) !important; font-weight: 500 !important; line-height: 1.15 !important;
  letter-spacing: .01em !important; font-variant-numeric: lining-nums tabular-nums;
}
body.single-product .summary .summary-inner .price del .amount { color: var(--pj-muted) !important; font-size: var(--pj-fs-price-del) !important; font-weight: 400 !important; }
body.single-product .summary .price .pj-price-from { display: inline-flex !important; align-items: baseline; gap: 7px; color: var(--pj-muted) !important; font-size: var(--pj-fs-meta) !important; font-weight: 400 !important; }

/* Product copy stays scoped to the PDP description and native tab panel. */
body.single-product :is(.woocommerce-product-details__short-description, .woocommerce-Tabs-panel--description) { color: var(--pj-graphite); font-family: var(--pj-font) !important; }
body.single-product .summary .woocommerce-product-details__short-description { max-width: 62ch; margin-block: 20px 24px !important; }
/* :where() carries zero specificity, so the legacy child stylesheet beat these and the
   lede rendered at 13px while the same prose in the tab rendered at 17px. Spelled out. */
body.single-product .summary .summary-inner .woocommerce-product-details__short-description p,
body.single-product .summary .summary-inner .woocommerce-product-details__short-description li,
body.single-product .woocommerce-tabs .woocommerce-Tabs-panel--description p,
body.single-product .woocommerce-tabs .woocommerce-Tabs-panel--description li {
  margin: 0 0 1.15em !important; color: var(--pj-graphite) !important;
  font: 400 var(--pj-fs-body)/var(--pj-lh-body) var(--pj-font) !important; letter-spacing: var(--pj-ls-cjk) !important;
}
body.single-product .woocommerce-tabs .woocommerce-Tabs-panel--description :is(h2, h3, h4),
body.single-product .summary .summary-inner .woocommerce-product-details__short-description :is(h2, h3, h4) {
  color: var(--pj-ink) !important; font-family: var(--pj-font) !important; letter-spacing: .01em !important;
}
body.single-product .woocommerce-tabs .woocommerce-Tabs-panel--description h2,
body.single-product .summary .summary-inner .woocommerce-product-details__short-description h2 { margin: 1.9em 0 .6em !important; font-size: var(--pj-fs-h2) !important; font-weight: 500 !important; line-height: 1.4 !important; }
body.single-product .woocommerce-tabs .woocommerce-Tabs-panel--description h3,
body.single-product .summary .summary-inner .woocommerce-product-details__short-description h3 { margin: 1.6em 0 .55em !important; font-size: var(--pj-fs-h3) !important; font-weight: 500 !important; line-height: 1.45 !important; }
body.single-product .woocommerce-tabs .woocommerce-Tabs-panel--description h4,
body.single-product .summary .summary-inner .woocommerce-product-details__short-description h4 { margin: 1.5em 0 .5em !important; font-size: var(--pj-fs-h4) !important; font-weight: 600 !important; line-height: 1.55 !important; letter-spacing: var(--pj-ls-cjk) !important; }
body.single-product :is(.woocommerce-product-details__short-description, .woocommerce-Tabs-panel--description) :where(ul, ol) { margin: .8em 0 1.35em !important; padding-left: 1.35em !important; }
body.single-product :is(.woocommerce-product-details__short-description, .woocommerce-Tabs-panel--description) ul { list-style: disc outside !important; }
body.single-product :is(.woocommerce-product-details__short-description, .woocommerce-Tabs-panel--description) ol { list-style: decimal outside !important; }
body.single-product :is(.woocommerce-product-details__short-description, .woocommerce-Tabs-panel--description) li { padding-left: .18em !important; }
body.single-product :is(.woocommerce-product-details__short-description, .woocommerce-Tabs-panel--description) li::before { display: none !important; content: none !important; }
body.single-product :is(.woocommerce-product-details__short-description, .woocommerce-Tabs-panel--description) li::marker { color: var(--pj-ink); }
body.single-product .woocommerce-Tabs-panel--description :is(strong, b) { color: var(--pj-ink); font-weight: 600; }
body.single-product .woocommerce-Tabs-panel--description a { color: var(--pj-ink) !important; text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; }
/* The care-guide card is emitted with inline styles, so these have to shout. */
body.single-product .woocommerce-Tabs-panel--description .pj-product-care-link {
  margin: var(--pj-s4) 0 !important; padding: 0 !important;
  border: 0 !important; border-inline-start: 2px solid var(--pj-acid) !important; border-radius: 0 !important;
  background: transparent !important;
}
body.single-product .woocommerce-Tabs-panel--description .pj-product-care-link a {
  display: flex !important; align-items: center; min-height: 48px; padding: 0 0 0 16px !important;
  color: var(--pj-ink) !important; font: 500 var(--pj-fs-h4)/1.5 var(--pj-font) !important;
  letter-spacing: var(--pj-ls-cjk) !important; text-decoration: none !important;
}

/* Native variation and cart controls remain the commerce truth. */
body.single-product .summary form.cart:not(.variations_form),
body.single-product .summary .woocommerce-variation-add-to-cart { display: flex; flex-wrap: wrap; align-items: stretch; gap: 10px; }
body.single-product .summary form.cart { margin-block: 24px !important; }
body.single-product .summary form.variations_form { margin-top: 0 !important; }
body.single-product .summary table.variations { margin-bottom: 14px !important; }
body.single-product .summary form.variations_form table.variations th.label { display: block !important; margin: 0 0 var(--pj-s1) !important; color: var(--pj-ink) !important; font: 500 var(--pj-fs-label)/1.5 var(--pj-font) !important; letter-spacing: .04em !important; }
body.single-product .summary .pj-var-opt {
  min-height: 44px !important; padding: 10px 16px !important;
  border: 1px solid var(--pj-metal) !important; border-radius: 0 !important; background: var(--pj-paper) !important;
  color: var(--pj-ink) !important; font: 400 15px/1.4 var(--pj-font) !important;
  letter-spacing: var(--pj-ls-cjk) !important; text-transform: none !important;
}
body.single-product .summary .pj-var-opt[aria-pressed="true"] { border-color: var(--pj-ink) !important; background: var(--pj-ink) !important; color: var(--pj-paper) !important; }
body.single-product .summary form.variations_form table.variations td.value { display: flex !important; flex-wrap: wrap; align-items: center; gap: 8px 14px; }
body.single-product .summary form.variations_form table.variations :is(select, .select2-selection) {
  width: min(100%, 320px) !important; max-width: 100% !important; min-height: 48px !important; padding-inline: 14px 36px !important;
  border: 1px solid var(--pj-metal) !important; border-radius: 0 !important; background: var(--pj-paper) !important; color: var(--pj-ink) !important; box-shadow: none !important;
  font: 400 16px/1.5 var(--pj-font) !important; letter-spacing: .01em !important;
}
body.single-product .summary form.variations_form .wd-reset-var { position: static !important; margin: 0 !important; }
body.single-product .summary .reset_variations { display: inline-flex !important; align-items: center; min-height: 44px; color: var(--pj-graphite) !important; font: 400 var(--pj-fs-meta)/1.5 var(--pj-font) !important; letter-spacing: var(--pj-ls-cjk) !important; text-transform: none !important; text-underline-offset: 3px; }
body.single-product .summary .quantity { display: grid !important; box-sizing: border-box; grid-template-columns: 42px 48px 42px; width: 132px !important; min-width: 132px; height: 50px !important; border: 1px solid var(--pj-metal) !important; background: var(--pj-paper); }
body.single-product .summary .quantity :where(.minus, .plus, input[type="button"], button) { width: 42px !important; min-width: 42px !important; height: 48px !important; padding: 0 !important; border: 0 !important; background: #f0efe8 !important; color: var(--pj-ink) !important; font-size: 20px !important; }
body.single-product .summary .quantity .qty { width: 48px !important; min-width: 48px !important; height: 48px !important; padding: 0 4px !important; border: 0 !important; border-inline: 1px solid var(--pj-line-soft) !important; background: var(--pj-paper) !important; color: var(--pj-ink) !important; font-size: 15px !important; font-weight: 600 !important; text-align: center; }
body.single-product .summary .single_add_to_cart_button,
body.single-product .summary .woocommerce-variation-add-to-cart .single_add_to_cart_button {
  flex: 1 1 auto !important; min-width: 190px; min-height: 48px !important; padding: 10px 22px !important;
  border: 1px solid var(--pj-acid) !important; border-radius: 0 !important; background: var(--pj-ink) !important; color: var(--pj-paper) !important; box-shadow: none !important;
  font: 500 var(--pj-fs-btn)/1.5 var(--pj-font) !important; letter-spacing: .04em !important; text-shadow: none !important; text-transform: none !important;
}
body.single-product .summary .single_add_to_cart_button:hover,
body.single-product .summary .single_add_to_cart_button:active { background: var(--pj-deep-green) !important; color: var(--pj-paper) !important; }
body.single-product .summary form.cart :is(a.pj-wa-link, a[href*="wa.me"]) {
  order: 20; width: 100%; min-height: 48px !important; margin-top: 0 !important; padding: 11px 20px !important;
  border: 1px solid var(--pj-metal) !important; border-radius: 0 !important; background: transparent !important; color: var(--pj-ink) !important; box-shadow: none !important;
  font: 500 var(--pj-fs-btn)/1.5 var(--pj-font) !important; letter-spacing: .04em !important; text-align: center; text-transform: none !important;
}
body.single-product .summary .single_variation,
body.single-product .summary .woocommerce-variation-availability { margin: 0 0 12px !important; }
body.single-product .summary :is(.stock, .woocommerce-variation-availability) { color: var(--pj-graphite); line-height: 1.6 !important; }
/* Hide only the duplicated variation price after the synchronized price resolves. */
body.single-product .summary-inner:has(> .price.pj-price-resolved) .woocommerce-variation-price { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }

/* Details use WoodMart's native tabs on desktop and accordion on mobile. */
body.single-product :is(.woocommerce-tabs, .wd-accordion.wd-style-tabs) { margin: 48px 0 !important; padding: 0 !important; border: 0 !important; border-radius: 0 !important; background: transparent !important; box-shadow: none !important; }
body.single-product .woocommerce-tabs .wd-nav-tabs { display: flex !important; justify-content: flex-start; width: 100%; gap: 32px; margin: 0 0 32px !important; border-bottom: 1px solid var(--pj-line) !important; }
body.single-product .woocommerce-tabs .wd-nav-tabs > li { margin: 0 !important; }
body.single-product .woocommerce-tabs .wd-nav-tabs .wd-nav-link { display: flex; align-items: center; min-height: 48px; padding: 0 !important; color: var(--pj-muted) !important; font: 500 var(--pj-fs-h4)/1.5 var(--pj-font) !important; letter-spacing: var(--pj-ls-cjk) !important; }
body.single-product .woocommerce-tabs .wd-nav-tabs :is(li, .wd-nav-link, .wd-tabs-title)::before,
body.single-product .woocommerce-tabs .wd-nav-tabs :is(li, .wd-nav-link, .wd-tabs-title)::after { display: none !important; }
body.single-product .woocommerce-tabs .wd-nav-tabs .active .wd-nav-link { border-bottom: 2px solid var(--pj-acid) !important; color: var(--pj-ink) !important; }
body.single-product .woocommerce-tabs .wc-tab-inner { max-width: 44em !important; padding: 0 !important; }
body.single-product .woocommerce-tabs .wc-tab-inner > :is(h2, h3, h4):first-child { margin-top: 0 !important; }
body.single-product .woocommerce-tabs .wd-scroll-content { overflow: visible; max-height: none; }
body.single-product .woocommerce-tabs .shop_attributes { width: 100%; margin: 0; }
body.single-product .woocommerce-tabs .shop_attributes :is(th, td) { padding: 14px 12px !important; }
body.single-product .woocommerce-tabs .wd-accordion-title { min-height: 48px; padding-block: 14px !important; border-bottom: 1px solid var(--pj-line) !important; }
body.single-product .woocommerce-tabs :is(.wd-tabs-title, .wd-accordion-title-text, .wd-nav-link) { color: var(--pj-graphite) !important; font: 500 16px/1.5 var(--pj-font) !important; letter-spacing: .01em !important; text-transform: none !important; }
body.single-product .woocommerce-tabs :is(.wd-active > .wd-accordion-title-text, .active .wd-tabs-title) { color: var(--pj-ink) !important; }
body.single-product .woocommerce-tabs .wd-accordion-content .wc-tab-inner { padding-block: 8px 24px !important; }

/* Gallery keeps the full specimen visible instead of forcing an image crop. */
body.single-product .woocommerce-product-gallery .wd-gallery-images .woocommerce-product-gallery__image { width: 100%; margin: 0; border: 1px solid var(--pj-line-soft); border-radius: 0; background: #f0efe8; aspect-ratio: 4 / 5; }
body.single-product .woocommerce-product-gallery .wd-gallery-images .woocommerce-product-gallery__image a { display: flex; align-items: center; justify-content: center; width: 100%; height: 100%; }
body.single-product .woocommerce-product-gallery .wd-gallery-images img { width: 100% !important; height: 100% !important; object-fit: contain !important; }
body.single-product .woocommerce-product-gallery .wd-gallery-thumb { margin-top: 12px; }
body.single-product .woocommerce-product-gallery .wd-gallery-thumb img { border: 1px solid var(--pj-line-soft); border-radius: 0; background: #f0efe8; aspect-ratio: 1; object-fit: contain; }
body.single-product .woocommerce-product-gallery .wd-thumb-active { opacity: 1 !important; outline: 2px solid var(--pj-acid); outline-offset: -2px; }
body.single-product .woocommerce-product-gallery:not(.wd-has-thumb) :is(.wd-gallery-thumb, .wd-nav-arrows, .wd-nav-pagin-wrap) { display: none !important; }
body.single-product .woocommerce-product-gallery .wd-nav-arrows { z-index: 2; }

/* Existing factual and store-visit modules use the same quiet metal treatment. */
body.single-product :is(.pj-premium-pdp-overview, .pj-store-visit) { border: 1px solid var(--pj-line) !important; border-radius: 0 !important; background: var(--pj-paper) !important; box-shadow: none !important; color: var(--pj-ink) !important; }
body.single-product .pj-premium-pdp-context { margin: 0 0 var(--pj-s3) !important; padding: var(--pj-s3) 0 0 !important; border: 0 !important; border-top: 1px solid var(--pj-line) !important; background: transparent !important; color: var(--pj-ink) !important; box-shadow: none !important; }
body.single-product .pj-premium-pdp-context__title { margin: 0 0 var(--pj-s2) !important; padding-bottom: 12px; border-bottom: 1px solid var(--pj-line-soft); color: var(--pj-ink) !important; font: 500 var(--pj-fs-h3)/1.35 var(--pj-font) !important; letter-spacing: .01em !important; }
body.single-product .pj-premium-pdp-context__grid { gap: 14px 20px !important; }
body.single-product .pj-premium-pdp-context__item dt { color: var(--pj-muted) !important; font: 400 14px/1.6 var(--pj-font) !important; letter-spacing: .04em !important; }
body.single-product .pj-premium-pdp-context__item dd { color: var(--pj-ink) !important; font: 400 15px/1.7 var(--pj-font) !important; letter-spacing: var(--pj-ls-cjk) !important; }
body.single-product .pj-premium-pdp-context__item dd a { color: var(--pj-ink) !important; text-decoration-thickness: 1px; text-underline-offset: 3px; }
body.single-product .pj-premium-pdp-overview { margin: 28px 0 0 !important; padding: 18px 20px !important; border-inline-start: 3px solid var(--pj-acid) !important; }
body.single-product .pj-premium-pdp-overview__content { max-width: 70ch; }
body.single-product .pj-premium-pdp-overview__content :where(p, li) { color: var(--pj-graphite) !important; }
body.single-product .summary .pj-care-spec { overflow: visible; padding: var(--pj-s4) 0 0 !important; border: 0 !important; border-top: 1px solid var(--pj-line) !important; background: transparent !important; }
body.single-product .summary .pj-care-spec__title { display: flex !important; flex-direction: column; gap: 7px; margin: 0 0 var(--pj-s2) !important; padding: 0 !important; background: transparent !important; color: var(--pj-ink) !important; font-family: var(--pj-font) !important; font-size: var(--pj-fs-h3) !important; font-weight: 500 !important; line-height: 1.35 !important; letter-spacing: .01em !important; }
body.single-product .summary .pj-care-spec .pj-care-spec__kicker { display: block !important; color: var(--pj-muted) !important; font: 500 11px/1.4 var(--pj-font-mono) !important; letter-spacing: var(--pj-ls-mono) !important; text-transform: uppercase; }
body.single-product .summary .pj-care-spec .pj-care-spec__icon { display: none !important; }
body.single-product .summary .pj-care-spec :is(.pj-care-spec__row, .pj-care-spec__note) { border-color: var(--pj-line-soft) !important; }
body.single-product .summary .pj-care-spec :is(.pj-care-spec__row dt, .pj-care-spec__icon, .pj-care-spec__row dd, .pj-care-spec__note) { color: var(--pj-ink) !important; }
body.single-product .summary .pj-care-spec__row dt { color: var(--pj-muted) !important; font: 400 14px/1.6 var(--pj-font) !important; letter-spacing: .04em !important; text-transform: none !important; }
body.single-product .summary .pj-care-spec__row dd { color: var(--pj-ink) !important; font: 400 15px/1.7 var(--pj-font) !important; letter-spacing: var(--pj-ls-cjk) !important; }

/* Small print stays readable and every link stays a 44px target. */
body.single-product .summary .pj-care-spec .pj-care-spec__note {
  margin: var(--pj-s2) 0 0 !important; padding-top: var(--pj-s2) !important;
  color: var(--pj-muted) !important; font: 400 var(--pj-fs-meta)/1.7 var(--pj-font) !important; letter-spacing: var(--pj-ls-cjk) !important;
}
body.single-product .summary .pj-care-guide-link { display: flex !important; flex-wrap: wrap; align-items: center; gap: 4px 10px; margin: var(--pj-s2) 0 0 !important; }
body.single-product .summary .pj-care-guide-link a { display: inline-flex; align-items: center; min-height: 44px; color: var(--pj-ink) !important; font: 500 15px/1.5 var(--pj-font) !important; letter-spacing: var(--pj-ls-cjk) !important; text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 4px; }
body.single-product .summary .pj-care-guide-link .pj-care-guide-link__sep { color: var(--pj-metal) !important; font-size: 15px !important; }
body.single-product .summary .wd-wishlist-btn { margin: var(--pj-s2) 0 0 !important; }
body.single-product .summary .wd-wishlist-btn > a { display: inline-flex !important; align-items: center; gap: 8px; min-height: 44px; }
body.single-product .summary .wd-wishlist-btn .wd-action-text { color: var(--pj-graphite) !important; font: 400 var(--pj-fs-meta)/1.5 var(--pj-font) !important; letter-spacing: var(--pj-ls-cjk) !important; text-transform: none !important; }
body.single-product .pj-store-visit {
  --pj-sv-ink: var(--pj-ink);
  --pj-sv-muted: var(--pj-muted);
  --pj-sv-gold: var(--pj-acid);
  --pj-sv-gold-dim: var(--pj-deep-green);
  --pj-sv-line: var(--pj-line-soft);
  --pj-sv-panel: var(--pj-paper);
  border-top: 3px solid var(--pj-acid) !important;
}
body.single-product .pj-store-visit::before { display: none; }
body.single-product .pj-store-visit :is(.pj-store-visit__kicker, .pj-store-visit__title, .pj-store-visit__lede, .pj-store-visit__hl-num, .pj-store-visit__fact dt, .pj-store-visit__fact dd, .pj-store-visit__fact-sub) { color: var(--pj-ink) !important; }
body.single-product .pj-store-visit__promo { background: var(--pj-acid) !important; color: var(--pj-ink) !important; }
body.single-product .pj-store-visit__highlights { background: var(--pj-line-soft); }
body.single-product .pj-store-visit__highlights > li,
body.single-product .pj-store-visit__panel { border-color: var(--pj-line-soft); background: var(--pj-paper); }
body.single-product .pj-store-visit__fact { border-color: var(--pj-line-soft); }
body.single-product .pj-store-visit__btn { min-height: 50px; padding-inline: 20px; font: 500 var(--pj-fs-btn)/1.4 var(--pj-font) !important; letter-spacing: .04em !important; text-transform: none !important; }
body.single-product .pj-store-visit :is(.pj-store-visit__btn--primary, .pj-store-visit__btn--wa, .pj-store-visit__btn[href*="google.com/maps"], .pj-store-visit__btn[href*="maps.app.goo.gl"], .pj-store-visit__btn[href*="wa.me"]) { border-color: var(--pj-acid) !important; background: var(--pj-ink) !important; color: var(--pj-paper) !important; }
body.single-product .pj-store-visit :is(.pj-store-visit__btn--primary, .pj-store-visit__btn--wa, .pj-store-visit__btn[href*="google.com/maps"], .pj-store-visit__btn[href*="maps.app.goo.gl"], .pj-store-visit__btn[href*="wa.me"]):hover { background: var(--pj-deep-green) !important; }
body.single-product .pj-store-visit__btn--ghost { border-color: var(--pj-metal) !important; background: transparent !important; color: var(--pj-ink) !important; }

/* White Fusion remains opt-in, with no site-wide specimen treatment. */
body.pj-specimen-page--white-fusion .pj-wf-observation,
body.pj-specimen-page--white-fusion .pj-wf-field { border: 1px solid var(--pj-line); border-inline-start: 3px solid var(--pj-acid); background: var(--pj-paper); color: var(--pj-ink); }
body.pj-specimen-page--white-fusion .pj-wf-field__grid { background: var(--pj-line-soft); }
body.pj-specimen-page--white-fusion .pj-wf-field__grid li,
body.pj-specimen-page--white-fusion .pj-wf-field__actions a { background: var(--pj-paper); color: var(--pj-ink) !important; }

/* Keep the existing related-product metadata rows aligned without changing card markup. */
body.single-product .related-products > .wd-products { display: grid !important; grid-template-rows: repeat(6, auto) !important; grid-auto-flow: row !important; row-gap: 0 !important; align-items: stretch !important; }
body.single-product .related-products > .wd-products > .wd-product { display: grid !important; grid-row: span 6 !important; grid-template-rows: subgrid !important; row-gap: 0 !important; align-self: stretch !important; min-width: 0 !important; }
body.single-product .related-products > .wd-products > .wd-product > .wd-product-wrapper { display: grid !important; grid-row: 1 / -1 !important; grid-template-rows: subgrid !important; row-gap: 0 !important; min-width: 0 !important; }
body.single-product .related-products .wd-product-wrapper > .wd-product-thumb { grid-row: 1 !important; }
body.single-product .related-products .wd-product-wrapper > .wd-entities-title { grid-row: 2 !important; max-height: none !important; margin: 12px 12px 8px !important; overflow: visible !important; color: var(--pj-ink) !important; font: 500 16px/1.6 var(--pj-font) !important; }
body.single-product .related-products .wd-product-wrapper > .wd-entities-title a { display: block !important; overflow: visible !important; color: inherit !important; font: inherit !important; line-height: inherit !important; overflow-wrap: anywhere; white-space: normal !important; text-overflow: clip !important; text-wrap: balance; }
body.single-product .related-products .wd-product-wrapper > .pj-latin-name { display: block !important; grid-row: 3 !important; margin: 0 12px 8px !important; color: var(--pj-muted) !important; font-size: 12px !important; line-height: 1.5 !important; letter-spacing: .03em !important; }
body.single-product .related-products .wd-product-wrapper > .pj-spec-pills--loop { grid-row: 4 !important; }
body.single-product .related-products .wd-product-wrapper > .price { grid-row: 5 !important; color: var(--pj-ink) !important; font: 400 14px/1.5 var(--pj-font) !important; }
body.single-product .related-products .wd-product-wrapper > .wd-add-btn { grid-row: 6 !important; min-height: 44px !important; width: 100% !important; }
body.single-product .pj-delivery-summary { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; padding-block: 0 24px; margin-bottom: 24px; border-bottom: 1px solid var(--pj-line); }
body.single-product .pj-delivery-summary dt { color: var(--pj-muted); font-size: 14px; }
body.single-product .pj-delivery-summary dd { margin: 8px 0 0; }
body.single-product .pj-premium-pdp-sticky { border-top: 2px solid var(--pj-acid) !important; background: var(--pj-ink) !important; color: var(--pj-paper) !important; box-shadow: none !important; }
body.single-product .pj-premium-pdp-sticky :is(.pj-premium-pdp-sticky__name, .pj-premium-pdp-sticky__price) { color: var(--pj-paper) !important; }
body.single-product .pj-premium-pdp-sticky__button { border-color: var(--pj-acid) !important; background: var(--pj-ink) !important; color: var(--pj-paper) !important; box-shadow: none !important; }
/* Purchase controls already provide these facts; keep the remaining context only. */
body.single-product .summary-inner:has(> .price .amount) .pj-premium-pdp-context__item--price,
body.single-product .summary-inner:has(form.cart .pj-wa-link) .pj-premium-pdp-context__item--whatsapp { display: none !important; }
body.single-product :where(a, button, select, input):focus-visible { outline: 2px solid var(--pj-deep-green) !important; outline-offset: 3px; }

@media (min-width: 1025px) {
  body.single-product .related-products > .wd-products { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; }
  body.single-product .whb-header .whb-general-header .whb-flex-row.whb-general-header-inner { grid-template-columns: minmax(160px, max-content) minmax(0, 1fr) max-content !important; }
  body.single-product .whb-header .whb-general-header .wd-nav-main { column-gap: 6px !important; }
  body.single-product .whb-header .whb-general-header .wd-nav-main > li { flex: 0 0 auto !important; padding-inline: 2px !important; }
  body.single-product .whb-header .whb-general-header .wd-nav-main > li > a { padding-inline: 6px !important; }
  body.single-product .whb-header .whb-general-header .wd-nav-main .nav-link-text { font-size: 12px !important; letter-spacing: .04em !important; white-space: nowrap !important; }
}
@media (min-width: 1025px) and (max-width: 1279px) {
  body.single-product .whb-header .whb-general-header .container { padding-inline: 16px !important; }
  body.single-product .whb-header .whb-general-header .whb-flex-row { column-gap: 8px !important; }
  body.single-product .whb-header .whb-general-header .whb-col-center .site-logo img { max-width: 160px !important; }
  body.single-product .whb-header .whb-general-header .wd-header-search .wd-tools-text,
  body.single-product .whb-header .whb-general-header .wd-header-wishlist .wd-tools-text,
  body.single-product .whb-header .whb-general-header .wd-header-cart .wd-tools-text { display: none !important; }
  body.single-product .whb-header .whb-general-header .wd-nav-main { column-gap: 2px !important; }
  body.single-product .whb-header .whb-general-header .wd-nav-main > li > a { padding-inline: 4px !important; }
  body.single-product .whb-header .whb-general-header .wd-nav-main .nav-link-text { font-size: 11px !important; }
}
@media (max-width: 1024px) {
  body.single-product .single-breadcrumbs-wrapper > .wd-grid-f.container { flex-wrap: wrap; row-gap: 10px; }
  body.single-product .single-breadcrumbs-wrapper .rank-math-breadcrumb { flex: 1 1 auto; min-width: 0; }
  body.single-product :is(.woocommerce-tabs, .wd-accordion.wd-style-tabs) { margin-block: 32px !important; }
  body.single-product .woocommerce-tabs .wc-tab-inner { max-width: none !important; }
}
@media (max-width: 767px) {
  body.single-product .wd-content-layout.content-layout-wrapper { padding-inline: 20px !important; }
  body.single-product .single-product-page > .container,
  body.single-product .product-image-summary-wrap,
  body.single-product .product-image-summary-inner { padding-inline: 0 !important; }
  body.single-product .summary { padding: 22px 18px 24px !important; }
  body.single-product .summary::before { inset-inline: 8px; }
  /* Retune the scale once; every element reads it from the token. */
  body.single-product {
    --pj-fs-h1: 30px;
    --pj-fs-price: 26px;
    --pj-fs-price-del: 16px;
    --pj-fs-body: 16px;
    --pj-fs-h2: 21px;
    --pj-fs-h3: 18px;
    --pj-fs-h4: 16px;
    --pj-lh-body: 1.8;
  }
  body.single-product .summary form.variations_form table.variations :is(select, .select2-selection) { flex: 1 1 220px; }
  body.single-product .pj-delivery-summary { grid-template-columns: 1fr; gap: 16px; }
  body.single-product .related-products > .wd-products { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  body.single-product .pj-store-visit__btn { width: 100%; }
  body.single-product .pj-premium-pdp-context { padding: 14px 13px 15px !important; }
  body.single-product .pj-premium-pdp-context__grid { gap: 11px 12px !important; }
  body.single-product .pj-premium-pdp-context__item dd { font-size: 13px !important; }
  body.single-product .pj-premium-pdp-overview { padding: 16px 15px !important; }
  body.single-product .pj-premium-pdp-sticky__button { min-height: 44px !important; }
  /* Keep the real title and live price before the gallery; no duplicate DOM. */
  body.single-product .product-image-summary-inner { display: flex !important; flex-direction: column; gap: 16px !important; }
  body.single-product .product-image-summary-inner .summary,
  body.single-product .product-image-summary-inner .summary-inner { display: contents !important; }
  body.single-product .summary::before { display: none; }
  body.single-product .summary .summary-inner > h1.product_title { order: -4; margin: 0 !important; }
  body.single-product .summary .summary-inner > .price { order: -3; margin: 0 !important; }
  body.single-product .product-images { order: -2; width: 100%; min-width: 0; margin: 0 !important; }
  body.single-product .summary .summary-inner > .pj-single-taxonomy { order: -1; margin: 0 !important; }
  body.single-product .summary .summary-inner > * { min-width: 0; }
  body.single-product .woocommerce-product-gallery .wd-gallery-images .woocommerce-product-gallery__image { aspect-ratio: 1; }
  body.single-product .single-breadcrumbs-wrapper { padding-block: 12px !important; margin-bottom: 16px !important; }
}
@media (prefers-reduced-motion: reduce) {
  body.single-product :where(a, button, select) { scroll-behavior: auto !important; transition: none !important; }
}
