/* Plantjai Product Commerce v7 — the single product-page surface. */

/*
 * Plantjai Fresh Specimen v4
 * Global light product canvas, blue-and-white care data, readable product copy.
 * Page-specific FIELD NOTE content remains opt-in by product ID.
 */
body.single-product {
  --pj-product-canvas: #eef5ef;
  --pj-product-paper: #fffefa;
  --pj-product-ink: #183021;
  --pj-product-muted: #617067;
  --pj-product-green: #2e6a45;
  --pj-product-blue: #315dff;
  --pj-product-blue-soft: #eef1ff;
  --pj-product-line: rgba(24, 48, 33, .15);
}

body.single-product .main-page-wrapper,
body.single-product .wd-page-content {
  background:
    radial-gradient(circle at 88% 2%, rgba(49, 93, 255, .07), transparent 24%),
    radial-gradient(circle at 8% 34%, rgba(46, 106, 69, .055), transparent 28%),
    linear-gradient(180deg, #f8faf5 0%, var(--pj-product-canvas) 100%) !important;
}

/* Breadcrumb and previous/next navigation: no dark slab. */
body.single-product .single-breadcrumbs-wrapper {
  border-color: var(--pj-product-line) !important;
  background: transparent !important;
  box-shadow: none !important;
}

body.single-product .single-breadcrumbs-wrapper,
body.single-product .single-breadcrumbs-wrapper a,
body.single-product .single-breadcrumbs-wrapper .wd-delimiter {
  color: var(--pj-product-muted) !important;
}

body.single-product .single-breadcrumbs-wrapper a:hover,
body.single-product .single-breadcrumbs-wrapper a:focus-visible {
  color: var(--pj-product-blue) !important;
}

body.single-product .single-breadcrumbs-wrapper .wd-last,
body.single-product .single-breadcrumbs-wrapper [aria-current="page"] {
  color: var(--pj-product-green) !important;
}

body.single-product .wd-products-nav a,
body.single-product .wd-products-nav .wd-products-nav-icon {
  color: var(--pj-product-blue) !important;
}

body.single-product .product-image-summary-wrap,
body.single-product .woocommerce-tabs,
body.single-product .wd-accordion.wd-style-tabs,
body.single-product .related.products,
body.single-product .upsells.products {
  border-color: var(--pj-product-line) !important;
  background: rgba(255, 254, 250, .94) !important;
}

/* CARE SPEC: instrument blue header, white data surface. */
body.single-product .summary .pj-care-spec {
  overflow: hidden;
  padding: 0 16px 14px;
  border: 1px solid rgba(49, 93, 255, .26) !important;
  border-top: 4px solid var(--pj-product-blue) !important;
  background: #fff !important;
}

body.single-product .summary .pj-care-spec__title {
  margin: 0 -16px 14px !important;
  padding: 13px 16px 12px;
  background: var(--pj-product-blue);
  color: #fff !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  letter-spacing: .08em !important;
}

body.single-product .summary .pj-care-spec__kicker {
  color: rgba(255, 255, 255, .75) !important;
}

body.single-product .summary .pj-care-spec__row {
  border-color: rgba(49, 93, 255, .14) !important;
}

body.single-product .summary .pj-care-spec__row dt,
body.single-product .summary .pj-care-spec__icon {
  color: var(--pj-product-blue) !important;
}

body.single-product .summary .pj-care-spec__row dd {
  color: var(--pj-product-ink) !important;
}

body.single-product .summary .pj-care-spec__note {
  border-color: rgba(49, 93, 255, .2) !important;
  color: var(--pj-product-muted) !important;
}

/* Product description typography shared by every product page. */
body.single-product .summary .woocommerce-product-details__short-description,
body.single-product .woocommerce-Tabs-panel--description {
  color: var(--pj-product-ink);
  font-family: "Noto Sans TC", "PingFang TC", "Helvetica Neue", Arial, sans-serif !important;
}

body.single-product .summary .woocommerce-product-details__short-description {
  max-width: 62ch;
}

body.single-product .summary .woocommerce-product-details__short-description p {
  margin: 0 0 1em !important;
  color: #425548 !important;
  font-size: 15px !important;
  font-weight: 400 !important;
  letter-spacing: .015em !important;
  line-height: 1.8 !important;
}

/* SEO hook line: name + Latin + one selling point (first paragraph). */
body.single-product .summary .woocommerce-product-details__short-description > p:first-of-type {
  margin-bottom: 1.15em !important;
  color: var(--pj-product-ink) !important;
  font-size: 16px !important;
  font-weight: 500 !important;
  letter-spacing: .01em !important;
  line-height: 1.65 !important;
}

body.single-product .summary .woocommerce-product-details__short-description > p:first-of-type strong {
  color: var(--pj-product-ink) !important;
  font-weight: 700 !important;
}

body.single-product .summary .woocommerce-product-details__short-description em {
  color: #3a4d42 !important;
  font-style: italic;
}

body.single-product .summary .woocommerce-product-details__short-description .pj-product-care-link {
  margin: 1.15em 0 0 !important;
  padding: 12px 14px !important;
  border: 1px solid #e4e0d6 !important;
  border-radius: 2px !important;
  background: #faf9f6 !important;
}

body.single-product .summary .woocommerce-product-details__short-description .pj-product-care-link a {
  color: #163828 !important;
  font-weight: 600 !important;
  text-decoration: none !important;
}

body.single-product .summary .woocommerce-product-details__short-description .pj-product-care-link small {
  display: block;
  margin-top: .35em;
  color: #6a756c !important;
  font-size: 12px !important;
  line-height: 1.45 !important;
}

body.single-product .summary .woocommerce-product-details__short-description :where(h2, h3, h4) {
  margin: 1.35em 0 .55em !important;
  color: var(--pj-product-ink) !important;
  font-family: "Noto Sans TC", "PingFang TC", sans-serif !important;
  font-weight: 700 !important;
  letter-spacing: -.025em !important;
  line-height: 1.25 !important;
}

body.single-product .summary .woocommerce-product-details__short-description h2 {
  font-size: 22px !important;
}

body.single-product .summary .woocommerce-product-details__short-description :where(h3, h4) {
  font-size: 17px !important;
}

body.single-product .woocommerce-Tabs-panel--description > :where(div, section),
body.single-product .woocommerce-Tabs-panel--description .wc-tab-inner {
  max-width: 780px;
}

body.single-product .woocommerce-Tabs-panel--description :where(p, li) {
  color: #384a3e !important;
  font-size: 16px !important;
  font-weight: 400 !important;
  letter-spacing: .018em !important;
  line-height: 1.85 !important;
}

body.single-product .woocommerce-Tabs-panel--description :where(h2, h3, h4) {
  color: var(--pj-product-ink) !important;
  font-family: "Noto Sans TC", "PingFang TC", sans-serif !important;
  font-weight: 700 !important;
  letter-spacing: -.035em !important;
  line-height: 1.2 !important;
}

body.single-product .woocommerce-Tabs-panel--description h2 {
  margin: 1.8em 0 .65em !important;
  padding-left: 14px;
  border-left: 4px solid var(--pj-product-blue);
  font-size: clamp(24px, 3vw, 32px) !important;
}

body.single-product .woocommerce-Tabs-panel--description h3 {
  margin: 1.5em 0 .55em !important;
  color: var(--pj-product-green) !important;
  font-size: 21px !important;
}

body.single-product .woocommerce-Tabs-panel--description h4 {
  margin: 1.35em 0 .5em !important;
  font-size: 17px !important;
}

body.single-product :where(
  .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 :where(
  .woocommerce-product-details__short-description,
  .woocommerce-Tabs-panel--description
) ul {
  list-style: disc outside !important;
}

body.single-product :where(
  .woocommerce-product-details__short-description,
  .woocommerce-Tabs-panel--description
) ol {
  list-style: decimal outside !important;
}

body.single-product :where(
  .woocommerce-product-details__short-description,
  .woocommerce-Tabs-panel--description
) li {
  margin: 0 0 .48em !important;
  padding-left: .18em;
}

body.single-product :where(
  .woocommerce-product-details__short-description,
  .woocommerce-Tabs-panel--description
) li::before {
  display: none !important;
  content: none !important;
}

body.single-product :where(
  .woocommerce-product-details__short-description,
  .woocommerce-Tabs-panel--description
) li::marker {
  color: var(--pj-product-blue);
  font-weight: 700;
}

body.single-product .woocommerce-Tabs-panel--description :where(strong, b) {
  color: var(--pj-product-ink);
  font-weight: 700;
}

body.single-product .woocommerce-Tabs-panel--description a {
  color: var(--pj-product-blue) !important;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
}

body.single-product .woocommerce-Tabs-panel--description :where([lang="la"], em) {
  letter-spacing: .01em;
}

/* White Fusion FIELD NOTE: light editorial module. */
body.pj-specimen-page--white-fusion .pj-wf-observation {
  border: 1px solid rgba(49, 93, 255, .2);
  border-left: 4px solid var(--pj-product-blue);
  background: var(--pj-product-blue-soft);
}

body.pj-specimen-page--white-fusion .pj-wf-field {
  border-color: var(--pj-product-line);
  background:
    linear-gradient(135deg, rgba(223, 245, 227, .72), rgba(255, 254, 250, .98));
  color: var(--pj-product-ink);
}

body.pj-specimen-page--white-fusion .pj-wf-field__kicker {
  color: var(--pj-product-blue);
}

body.pj-specimen-page--white-fusion .pj-wf-field__head h2 {
  color: var(--pj-product-ink) !important;
}

body.pj-specimen-page--white-fusion .pj-wf-field__head > p:last-child {
  color: var(--pj-product-muted);
}

body.pj-specimen-page--white-fusion .pj-wf-field__grid {
  background: var(--pj-product-line);
}

body.pj-specimen-page--white-fusion .pj-wf-field__grid li {
  background: rgba(255, 255, 255, .9);
}

body.pj-specimen-page--white-fusion .pj-wf-field__grid span {
  color: var(--pj-product-blue);
}

body.pj-specimen-page--white-fusion .pj-wf-field__grid h3 {
  color: var(--pj-product-ink) !important;
}

body.pj-specimen-page--white-fusion .pj-wf-field__grid p {
  color: var(--pj-product-muted);
}

body.pj-specimen-page--white-fusion .pj-wf-field__actions a {
  border-color: var(--pj-product-line);
  background: rgba(255, 255, 255, .66);
  color: var(--pj-product-ink) !important;
}

body.pj-specimen-page--white-fusion .pj-wf-field__actions a:hover {
  border-color: var(--pj-product-blue);
  color: var(--pj-product-blue) !important;
}

body.pj-specimen-page--white-fusion .pj-wf-field__actions .pj-wf-field__primary,
body.pj-specimen-page--white-fusion .pj-wf-field__actions .pj-wf-field__primary:hover {
  border-color: var(--pj-product-blue);
  background: var(--pj-product-blue);
  color: #fff !important;
}

@media (max-width: 767px) {
  body.single-product .summary .woocommerce-product-details__short-description p {
    font-size: 14.5px !important;
    line-height: 1.78 !important;
  }

  body.single-product .woocommerce-Tabs-panel--description :where(p, li) {
    font-size: 15px !important;
    line-height: 1.82 !important;
  }

  body.single-product .woocommerce-Tabs-panel--description h2 {
    font-size: 23px !important;
  }

  body.single-product .woocommerce-Tabs-panel--description h3 {
    font-size: 19px !important;
  }
}

/*
 * Plantjai Light Store Visit v5
 * Default store CTA on product pages. The dark v3 treatment remains available
 * for collector, laboratory and story surfaces.
 */
body.single-product .pj-store-visit {
  --pj-sv-ink: #183021;
  --pj-sv-muted: #617067;
  --pj-sv-accent: #2e6a45;
  --pj-sv-blue: #315dff;
  --pj-sv-line: rgba(24, 48, 33, .15);
  --pj-sv-panel: rgba(255, 255, 255, .82);

  border: 1px solid var(--pj-sv-line);
  border-top: 4px solid var(--pj-sv-blue);
  background:
    linear-gradient(135deg, rgba(223, 245, 227, .82), rgba(255, 254, 250, .96));
  color: var(--pj-sv-ink);
}

body.single-product .pj-store-visit::before {
  background:
    radial-gradient(circle at 100% 0%, rgba(49, 93, 255, .1), transparent 34%),
    radial-gradient(circle at 0% 100%, rgba(46, 106, 69, .08), transparent 38%);
}

body.single-product .pj-store-visit__kicker {
  color: var(--pj-sv-blue) !important;
}

body.single-product .pj-store-visit__title {
  color: var(--pj-sv-ink) !important;
}

body.single-product .pj-store-visit__lede {
  color: var(--pj-sv-muted) !important;
}

body.single-product .pj-store-visit__promo {
  background: #c9ff3d;
  color: #0b0d0c;
}

body.single-product .pj-store-visit__highlights {
  background: var(--pj-sv-line);
}

body.single-product .pj-store-visit__highlights > li {
  background: rgba(255, 255, 255, .88);
  color: var(--pj-sv-ink) !important;
}

body.single-product .pj-store-visit__hl-num,
body.single-product .pj-store-visit__fact dt {
  color: var(--pj-sv-blue) !important;
}

body.single-product .pj-store-visit__panel {
  border-color: var(--pj-sv-line);
  background: var(--pj-sv-panel);
}

body.single-product .pj-store-visit__fact {
  border-color: var(--pj-sv-line);
}

body.single-product .pj-store-visit__fact dd {
  color: var(--pj-sv-ink) !important;
}

body.single-product .pj-store-visit__fact-sub {
  color: var(--pj-sv-muted) !important;
}

body.single-product .pj-store-visit__btn--primary,
body.single-product .pj-store-visit__btn--primary:hover {
  border-color: var(--pj-sv-accent) !important;
  background: var(--pj-sv-accent) !important;
  color: #fff !important;
}

body.single-product .pj-store-visit__btn--wa,
body.single-product .pj-store-visit__btn--wa:hover {
  border-color: var(--pj-sv-blue) !important;
  background: var(--pj-sv-blue) !important;
  color: #fff !important;
}

body.single-product .pj-store-visit__btn--ghost {
  border-color: var(--pj-sv-line) !important;
  background: rgba(255, 255, 255, .56) !important;
  color: var(--pj-sv-ink) !important;
}

body.single-product .pj-store-visit__btn--ghost:hover {
  border-color: var(--pj-sv-ink) !important;
  background: #fff !important;
  color: var(--pj-sv-ink) !important;
}

body.single-product .pj-store-visit :where(a, button):focus-visible {
  outline-color: var(--pj-sv-blue);
}

/*
 * Plantjai Product Commerce v6
 * Shared product controls: sale prices, quantity, variations,
 * black-and-white store CTA, and black CARE SPEC frame.
 */

/* Store visit: white instrument card, no gradient. */
body.single-product .pj-store-visit {
  border: 1px solid rgba(11, 13, 12, .28);
  border-top: 4px solid #0b0d0c;
  background: #fffefa;
  box-shadow: inset 0 0 0 1px rgba(49, 93, 255, .06);
}

body.single-product .pj-store-visit::before {
  display: none;
}

body.single-product .pj-store-visit__highlights {
  background: rgba(11, 13, 12, .16);
}

body.single-product .pj-store-visit__highlights > li {
  background: #fff;
}

body.single-product .pj-store-visit__panel {
  border-color: rgba(11, 13, 12, .18);
  background: #f7f8f2;
}

body.single-product .pj-store-visit__fact {
  border-color: rgba(11, 13, 12, .13);
}

body.single-product .pj-store-visit__btn {
  min-height: 50px;
  padding-inline: 18px;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: .045em !important;
}

body.single-product .pj-store-visit__btn--primary,
body.single-product .pj-store-visit__btn--primary:hover,
body.single-product .pj-store-visit__btn--wa,
body.single-product .pj-store-visit__btn--wa:hover,
body.single-product .pj-store-visit__btn[href*="google.com/maps"],
body.single-product .pj-store-visit__btn[href*="maps.app.goo.gl"],
body.single-product .pj-store-visit__btn[href*="wa.me"] {
  border-color: #0b0d0c !important;
  background: #0b0d0c !important;
  color: #fff !important;
}

body.single-product .pj-store-visit__btn--primary:hover,
body.single-product .pj-store-visit__btn--wa:hover,
body.single-product .pj-store-visit__btn[href*="google.com/maps"]:hover,
body.single-product .pj-store-visit__btn[href*="maps.app.goo.gl"]:hover,
body.single-product .pj-store-visit__btn[href*="wa.me"]:hover {
  border-color: #315dff !important;
  background: #315dff !important;
}

/* CARE SPEC: black frame/header; blue data labels remain. */
body.single-product .summary .pj-care-spec {
  border-color: #0b0d0c !important;
  border-top-color: #0b0d0c !important;
}

body.single-product .summary .pj-care-spec__title {
  background: #0b0d0c;
}

body.single-product .summary .pj-care-spec__row,
body.single-product .summary .pj-care-spec__note {
  border-color: rgba(11, 13, 12, .14) !important;
}

/* Price hierarchy: never let regular and sale prices run together. */
body.single-product .summary .price {
  display: flex !important;
  flex-wrap: wrap;
  gap: 5px 12px;
  align-items: baseline;
  margin: 0 0 16px !important;
  color: #0b0d0c !important;
  line-height: 1.15 !important;
}

body.single-product .summary .price :where(del, ins) {
  display: inline-flex;
  align-items: baseline;
  white-space: nowrap;
}

body.single-product .summary .price del {
  color: #687169 !important;
  opacity: 1 !important;
  text-decoration-color: #687169 !important;
  text-decoration-line: line-through !important;
  text-decoration-thickness: 2px !important;
}

body.single-product .summary .price ins {
  color: #0b0d0c !important;
  text-decoration: none !important;
}

body.single-product .summary .price > .amount,
body.single-product .summary .price ins .amount {
  color: #0b0d0c !important;
  font-size: clamp(25px, 2.3vw, 32px) !important;
  font-weight: 700 !important;
  letter-spacing: -.025em !important;
}

body.single-product .summary .price del .amount {
  color: #687169 !important;
  font-size: clamp(18px, 1.65vw, 23px) !important;
  font-weight: 500 !important;
  letter-spacing: -.01em !important;
}

/* Stable cart controls across simple and variable products. */
body.single-product .summary form.cart:not(.variations_form),
body.single-product .summary .woocommerce-variation-add-to-cart {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: stretch;
}

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 rgba(11, 13, 12, .28) !important;
  background: #fff;
}

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: #f4f2ec !important;
  color: #0b0d0c !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 rgba(11, 13, 12, .16) !important;
  background: #fff !important;
  color: #0b0d0c !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  text-align: center;
}

body.single-product .summary .single_add_to_cart_button {
  min-width: 190px;
  min-height: 48px !important;
  padding: 10px 22px !important;
}

body.single-product .summary table.variations {
  margin-bottom: 14px !important;
}

body.single-product .summary table.variations :where(select, .select2-selection) {
  min-height: 48px !important;
  border-color: rgba(11, 13, 12, .22) !important;
  background: #fff !important;
}

body.single-product .summary .reset_variations {
  color: #315dff !important;
  font-size: 12px !important;
  text-underline-offset: 3px;
}

body.single-product .summary :where(.stock, .woocommerce-variation-availability) {
  margin-block: 10px !important;
  line-height: 1.6 !important;
}

body.single-product .summary :where(
  .quantity .minus,
  .quantity .plus,
  .quantity .qty,
  .single_add_to_cart_button,
  table.variations select
):focus-visible {
  position: relative;
  z-index: 2;
  outline: 3px solid #315dff !important;
  outline-offset: 2px;
}

@media (max-width: 767px) {
  body.single-product .summary .price {
    gap: 4px 10px;
  }

  body.single-product .summary .price > .amount,
  body.single-product .summary .price ins .amount {
    font-size: 26px !important;
  }

  body.single-product .summary .price del .amount {
    font-size: 18px !important;
  }

  body.single-product .summary .single_add_to_cart_button {
    flex: 1 1 auto;
  }

  body.single-product .pj-store-visit__btn {
    width: 100%;
    font-size: 12.5px !important;
  }
}

/* Product reading and native controls, 2026-09: one responsive presentation. */
body.single-product {
  --pj-font-heading: 'Noto Sans TC', 'PingFang TC', sans-serif;
  --pj-font-body: 'Noto Sans TC', 'PingFang TC', sans-serif;
  --pj-font-sans: var(--pj-font-body);
  --pj-font-mono: 'SFMono-Regular', 'Menlo', monospace;
}
body.single-product .summary h1.product_title,
body.single-product .summary h1.product_title .pj-product-title__zh {
  font-family: var(--pj-font-body) !important;
  font-size: 32px !important;
  font-weight: 500 !important;
  line-height: 1.45 !important;
  letter-spacing: .01em !important;
}
body.single-product .summary .woocommerce-product-details__short-description,
body.single-product .woocommerce-tabs .wc-tab-inner {
  max-width: 36em;
  font-family: var(--pj-font-body) !important;
  font-size: 17px !important;
  font-weight: 400;
  line-height: 1.85 !important;
  letter-spacing: .01em !important;
  color: #34443b;
}
body.single-product .summary .woocommerce-product-details__short-description p,
body.single-product .woocommerce-tabs .wc-tab-inner :is(p, li, td, th) {
  font-family: inherit !important;
  font-size: inherit !important;
  line-height: 1.85 !important;
  letter-spacing: .01em !important;
  color: #34443b !important;
}
body.single-product .summary .woocommerce-product-details__short-description p,
body.single-product .summary .woocommerce-product-details__short-description > p:first-of-type {
  font-weight: 400 !important;
  margin: 0 0 1.2em !important;
}
body.single-product .woocommerce-tabs .wc-tab-inner p { margin: 0 0 1.2em !important; }
body.single-product .woocommerce-tabs .wc-tab-inner li { margin-bottom: .65em; }
body.single-product .woocommerce-tabs .wc-tab-inner :is(h2, h3, h4) {
  font-family: var(--pj-font-body) !important;
  font-size: 24px !important;
  font-weight: 500 !important;
  line-height: 1.5 !important;
  letter-spacing: .01em !important;
  color: #203b2d !important;
  margin: 1.8em 0 .8em !important;
  padding: 0 !important;
  border: 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 {
  margin-block: 48px !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}
body.single-product .woocommerce-tabs .wd-nav-tabs {
  justify-content: flex-start;
  gap: 32px;
  border-bottom: 1px solid #d8dfd8;
  margin-bottom: 32px !important;
}
body.single-product .woocommerce-tabs .wd-nav-tabs-wrapper { text-align: left; }
body.single-product .woocommerce-tabs :is(.wd-tabs-title, .wd-accordion-title-text, .wd-nav-link) {
  font-family: var(--pj-font-body) !important;
  font-size: 16px !important;
  line-height: 1.5 !important;
  letter-spacing: .01em !important;
  font-weight: 500 !important;
  text-transform: none !important;
  color: #34443b !important;
}
body.single-product .woocommerce-tabs .wd-accordion-title {
  min-height: 48px;
  padding-block: 14px !important;
  border-bottom: 1px solid #d8dfd8;
}
body.single-product .woocommerce-tabs .wd-active > .wd-accordion-title-text,
body.single-product .woocommerce-tabs .active .wd-tabs-title { color: #172f22 !important; }
body.single-product .woocommerce-tabs .wc-tab-inner { padding-block: 8px 24px !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 .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 #d8dfd8;
}
body.single-product .pj-delivery-summary dt { font-size: 14px; color: #55655a; }
body.single-product .pj-delivery-summary dd { margin: 8px 0 0; }
body.single-product .summary .single_add_to_cart_button,
body.single-product .summary a.pj-wa-link,
body.single-product .summary form.cart a[href*="wa.me"] {
  flex: 0 1 auto !important;
  min-height: 48px !important;
  height: auto !important;
  min-width: 0 !important;
  padding: 11px 20px !important;
  font-family: var(--pj-font-body) !important;
  font-size: 15px !important;
  font-weight: 500 !important;
  line-height: 1.5 !important;
  letter-spacing: .01em !important;
  white-space: normal;
  box-shadow: none !important;
}
body.single-product .summary .single_add_to_cart_button { flex: 1 1 auto !important; background: #193d2a !important; }
body.single-product .summary form.cart { margin-block: 24px !important; }
body.single-product .summary .woocommerce-variation-add-to-cart { gap: 12px; }
body.single-product .summary form.cart a[href*="wa.me"] {
  order: 20;
  width: 100%;
  margin-top: 0 !important;
  text-align: center;
  text-transform: none !important;
  background: transparent !important;
  color: #193d2a !important;
  border: 1px solid #587260;
}
body.single-product .summary .price :is(span, bdi) { font-family: var(--pj-font-body) !important; }
body.single-product .summary a.pj-wa-link svg { width: 18px; height: 18px; }
body.single-product .summary .nta-woo-products-button:has(~ .pj-wa-link) { display: none; }

/* Reserve a stable stage; never crop the plant to fill a square. */
body.single-product .woocommerce-product-gallery .wd-gallery-images .woocommerce-product-gallery__image {
  aspect-ratio: 4 / 5;
  width: 100%;
  margin: 0;
  background: #f5f6f2;
}
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 {
  aspect-ratio: 1;
  object-fit: contain;
  background: #f5f6f2;
}
body.single-product .woocommerce-product-gallery .wd-thumb-active { opacity: 1 !important; outline: 2px solid #31583c; 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; }
body.single-product :is(.woocommerce-tabs, .woocommerce-product-gallery) :focus-visible { outline: 2px solid #31583c !important; outline-offset: 3px; }
@media (min-width: 1025px) {
  body.single-product .woocommerce-tabs .wd-nav-tabs .wd-nav-link { min-height: 48px; }
}
@media (max-width: 1024px) {
  body.single-product .woocommerce-tabs { margin-block: 32px !important; }
  body.single-product .woocommerce-tabs .wc-tab-inner { padding-block: 20px !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 { padding-inline: 0; }
  body.single-product .product-image-summary-wrap { padding: 0 !important; border: 0 !important; box-shadow: none !important; }
  body.single-product .product-image-summary-inner { padding-inline: 0 !important; }
  body.single-product .summary h1.product_title,
  body.single-product .summary h1.product_title .pj-product-title__zh { font-size: 24px !important; }
  body.single-product .summary .woocommerce-product-details__short-description,
  body.single-product .woocommerce-tabs .wc-tab-inner { font-size: 16px !important; }
  body.single-product .woocommerce-tabs .wc-tab-inner :is(h2,h3,h4) { font-size: 20px !important; }
  body.single-product .pj-delivery-summary { grid-template-columns: 1fr; gap: 16px; }
  body.single-product .summary .single_add_to_cart_button { flex: 1 1 auto !important; }
}

body.single-product .summary .single_add_to_cart_button:hover { background: #285539 !important; color: #fff !important; }
/* The old specimen label was clipped into Woodmart's one-line product title. */
body.single-product .related-products .wd-entities-title::before { content: none !important; }
body.single-product .related-products .wd-entities-title {
  max-height: none !important;
  margin: 12px 8px 8px !important;
  font: 500 16px/1.6 "Noto Sans TC", sans-serif !important;
  letter-spacing: .01em !important;
  text-transform: none !important;
}
body.single-product .related-products .price { font-family: "Noto Sans TC", sans-serif !important; letter-spacing: .01em !important; }

/*
 * Align the native Woodmart related-product cards.
 * The live cards expose these as direct children of .product-wrapper, so the
 * shared six-row grid reserves optional metadata without adding fake content.
 */
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;
  margin-bottom: 20px !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;
  align-self: stretch !important;
  height: 100% !important;
  min-width: 0 !important;
}

body.single-product .related-products > .wd-products > .wd-product > .wd-product-wrapper > * {
  grid-column: 1 !important;
  order: initial !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;
  font: 500 16px/1.6 "Noto Sans TC", sans-serif !important;
  margin: 12px 12px 8px !important;
  max-height: none !important;
  overflow: visible !important;
  white-space: normal !important;
  text-overflow: clip !important;
}

body.single-product .related-products .wd-product-wrapper > .wd-entities-title a {
  display: block !important;
  max-height: none !important;
  overflow: visible !important;
  white-space: normal !important;
  overflow-wrap: anywhere;
  text-wrap: balance;
}

body.single-product .related-products .wd-product-wrapper > .pj-latin-name {
  grid-row: 3 !important;
}

body.single-product .related-products .wd-product-wrapper > .pj-spec-pills--loop {
  grid-row: 4 !important;
  min-width: 0 !important;
}

body.single-product .related-products .wd-product-wrapper > .price {
  grid-row: 5 !important;
  align-self: stretch !important;
  order: initial !important;
}

body.single-product .related-products .wd-product-wrapper > .wd-add-btn {
  grid-row: 6 !important;
  height: auto !important;
  min-height: 44px !important;
  align-self: stretch !important;
  width: 100% !important;
}

@media (min-width: 1025px) {
  body.single-product .related-products > .wd-products {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 767px) {
  body.single-product .related-products > .wd-products {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

/* Native adjacent-product controls and compact product-page header. */

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 {
	align-items: center;
	display: flex;
	flex: 0 0 auto;
	gap: 8px;
	margin-inline-start: auto;
}

body.single-product .wd-products-nav .wd-product-nav-btn {
	align-items: center;
	box-sizing: border-box;
	color: #31583c !important;
	display: inline-flex;
	height: 44px !important;
	justify-content: center;
	min-height: 44px !important;
	min-width: 44px !important;
	padding: 0 !important;
	touch-action: manipulation;
	width: 44px !important;
}

body.single-product .wd-products-nav .wd-product-nav-btn:hover,
body.single-product .wd-products-nav .wd-product-nav-btn:focus-visible {
	color: #203b2d !important;
}

body.single-product .wd-products-nav .wd-btn-prev::after,
body.single-product .wd-products-nav .wd-btn-next::after {
	content: none !important;
	display: none !important;
}

body.single-product .wd-products-nav .wd-btn-next::before {
	order: 0 !important;
}

body.single-product .wd-products-nav a:focus-visible {
	outline: 2px solid #31583c;
	outline-offset: 2px;
}

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 {
	flex: 0 0 64px;
	height: 64px;
	width: 64px;
}

body.single-product .wd-products-nav .wd-dropdown .wd-product-nav-thumb img {
	height: 64px;
	object-fit: contain;
	width: 64px;
}

body.single-product .wd-products-nav .wd-dropdown .wd-product-nav-desc {
	display: flex;
	flex-direction: column;
	padding: 0 0 0 12px;
	gap: 4px;
}

body.single-product .wd-products-nav .wd-dropdown .wd-entities-title,
body.single-product .wd-products-nav .wd-dropdown .price {
	color: #203b2d;
	line-height: 1.4;
}

body.single-product .wd-products-nav .wd-dropdown .price {
	margin: 0;
}

body.single-product .wd-products-nav .wd-dropdown .price ins {
	color: #31583c;
}

@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;
	}
}

/* Keep the existing native mobile breakpoint. Tighten only the crowded desktop band. */
@media (min-width: 1025px) {
	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;
	}
}

@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 .whb-col-right {
	gap: 0 !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: 4px !important;
	}

	body.single-product .whb-header .whb-general-header .wd-nav-main > li {
	padding-inline: 2px !important;
	}

	body.single-product .whb-header .whb-general-header .wd-nav-main > li > a {
	font-size: 10px !important;
	letter-spacing: 0.02em;
	padding-inline: 4px !important;
	}
}

body.single-product .related-products .wd-product-wrapper > .pj-latin-name { display: block !important; margin: 0 12px 8px !important; font-size: 12px !important; line-height: 1.5 !important; letter-spacing: .03em !important; }
body.single-product .related-products .wd-product-wrapper > .wd-add-btn > a { min-height: 44px !important; }

body.single-product .related-products .wd-product-wrapper > .wd-entities-title a { font: inherit !important; line-height: inherit !important; }
body.single-product .wd-products-nav .wd-product-nav-desc > a { color: #203b2d !important; font: 500 15px/1.5 "Noto Sans TC", sans-serif !important; }
@media (min-width: 1025px) {
  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 { white-space: nowrap !important; font-size: 12px !important; letter-spacing: .04em !important; }
}
@media (min-width: 1025px) and (max-width: 1279px) {
  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; }
}

/* Purchase summary: quiet typography and one resolved variation price. */
body.single-product .summary .summary-inner h1.product_title,
body.single-product .summary .summary-inner h1.product_title .pj-product-title__zh {
  font-size: 28px !important;
  font-weight: 500 !important;
  line-height: 1.4 !important;
  letter-spacing: .015em !important;
  text-wrap: balance;
  border: 0 !important;
  padding: 0 !important;
  margin: 0 0 10px !important;
}
body.single-product .summary .summary-inner .pj-single-taxonomy {
  margin: 0 0 22px !important;
  padding: 0 !important;
  border: 0 !important;
}
body.single-product .summary .summary-inner .pj-latin-name--single {
  font: italic 400 14px/1.6 "Noto Sans TC", sans-serif !important;
  letter-spacing: .025em !important;
  color: #637268 !important;
  margin: 0 !important;
  border: 0 !important;
}
body.single-product .summary .summary-inner .woocommerce-product-details__short-description {
  margin-block: 20px 24px !important;
  text-align: start !important;
  word-spacing: normal !important;
  text-wrap: pretty;
}
body.single-product .summary .summary-inner .woocommerce-product-details__short-description strong {
  font-weight: 500 !important;
}
body.single-product .summary .summary-inner > .price {
  margin: 0 0 22px !important;
  min-height: 38px;
}
body.single-product .summary .summary-inner > .price .price { margin: 0 !important; }
body.single-product .summary .summary-inner > .price .amount {
  font-size: 28px !important;
  font-weight: 600 !important;
  line-height: 1.3 !important;
  letter-spacing: -.015em !important;
  font-variant-numeric: lining-nums tabular-nums;
}
body.single-product .summary .summary-inner > .price del .amount { font-size: 19px !important; font-weight: 400 !important; }
body.single-product .summary form.variations_form { margin-top: 0 !important; }
body.single-product .summary form.variations_form table.variations th.label {
  display: block !important;
  margin: 0 0 8px !important;
  font: 500 14px/1.5 "Noto Sans TC", sans-serif !important;
  color: #34443b !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 select {
  width: min(100%, 320px) !important;
  max-width: 100% !important;
  height: 48px !important;
  padding-inline: 14px 36px !important;
  border: 1px solid #aab9ae !important;
  border-radius: 3px;
  font: 400 16px/1.5 "Noto Sans TC", sans-serif !important;
  letter-spacing: .01em !important;
  box-shadow: none !important;
}
body.single-product .summary form.variations_form .wd-reset-var { position: static !important; margin: 0 !important; }
body.single-product .summary form.variations_form .reset_variations {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  color: #52675a !important;
  font-size: 13px !important;
  letter-spacing: .01em !important;
}
body.single-product .summary form.variations_form select:focus-visible {
  outline: 2px solid #31583c !important;
  outline-offset: 3px;
}
/* Hide the duplicate only after purchase sync; retain Woo's live announcement. */
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;
}
body.single-product .summary .single_variation,
body.single-product .summary .woocommerce-variation-availability { margin: 0 0 12px !important; }
body.single-product .summary .single_variation .stock {
  margin: 0 !important;
  font: 400 14px/1.6 "Noto Sans TC", sans-serif !important;
  letter-spacing: .01em !important;
}
@media (max-width: 767px) {
  body.single-product .summary .summary-inner h1.product_title,
  body.single-product .summary .summary-inner h1.product_title .pj-product-title__zh { font-size: 25px !important; }
  body.single-product .summary .summary-inner > .price .amount { font-size: 26px !important; }
  body.single-product .summary .summary-inner > .price del .amount { font-size: 18px !important; }
  body.single-product .summary form.variations_form table.variations select { flex: 1 1 220px; }
}

/* Purchase controls already provide these; keep size, availability and delivery context. */
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 .summary .summary-inner h1.product_title { gap: 6px; }
body.single-product .summary .summary-inner h1.product_title > span { margin: 0 !important; }
body.single-product .summary .summary-inner .pj-product-title__en {
  order: 3;
  font: 400 14px/1.6 "Noto Sans TC", sans-serif !important;
  letter-spacing: .025em !important;
  text-transform: none;
  color: #637268 !important;
}
body.single-product .summary .summary-inner .pj-product-title:not(:has(.pj-product-title__zh)) .pj-product-title__en {
  font: inherit !important;
  letter-spacing: inherit !important;
  color: inherit !important;
}

/* PDP details: one quiet reading surface, aligned with the purchase card. */
body.single-product .woocommerce-tabs,
body.single-product .wd-accordion.wd-style-tabs {
  margin: 32px 0 40px !important;
  padding: 30px 34px 36px !important;
  border: 1px solid rgba(24, 48, 33, .14) !important;
  border-radius: 4px !important;
  background: rgba(255, 254, 250, .96) !important;
  box-shadow: 0 8px 28px rgba(26, 46, 26, .04) !important;
}

body.single-product .woocommerce-tabs .wd-nav-tabs {
  display: flex !important;
  width: 100%;
  gap: 0;
  margin: 0 0 30px !important;
  border-bottom: 1px solid #d5ded6;
}

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 18px !important;
  color: #637268 !important;
  font: 500 16px/1.5 "Noto Sans TC", "PingFang TC", sans-serif !important;
  letter-spacing: .01em !important;
}

body.single-product .woocommerce-tabs .wd-nav-tabs > li:first-child .wd-nav-link { padding-left: 0 !important; }
body.single-product .woocommerce-tabs .wd-nav-tabs .active .wd-nav-link { color: #203b2d !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: 3px solid #31583c !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) {
  font-size: 22px !important;
  font-weight: 500 !important;
  line-height: 1.45 !important;
  letter-spacing: .015em !important;
  margin: 1.6em 0 .7em !important;
}

body.single-product .woocommerce-tabs .wc-tab-inner :is(h2, h3, h4):first-child { margin-top: 0 !important; }
body.single-product .woocommerce-tabs .wc-tab-inner p { margin: 0 0 1.1em !important; }

body.single-product .woocommerce-tabs .wc-tab-inner :is(ul, ol) {
  display: grid;
  gap: 10px;
  margin: .35em 0 1.5em !important;
  padding: 0 !important;
  list-style: none !important;
}

body.single-product .woocommerce-tabs .wc-tab-inner li {
  position: relative;
  margin: 0 !important;
  padding-left: 20px !important;
}

body.single-product .woocommerce-tabs .wc-tab-inner li::before {
  position: absolute;
  top: 0;
  left: 0;
  width: 6px;
  height: 6px;
  margin-top: .7em;
  border-radius: 50%;
  background: #31583c;
  content: "" !important;
}

body.single-product .woocommerce-tabs .wc-tab-inner strong { font-weight: 600 !important; }

@media (max-width: 1024px) {
  body.single-product .woocommerce-tabs,
  body.single-product .wd-accordion.wd-style-tabs {
    margin: 28px 0 32px !important;
    padding: 0 20px 6px !important;
  }

  body.single-product .woocommerce-tabs .wd-accordion-title {
    min-height: 56px;
    padding: 16px 0 !important;
    border-color: #d5ded6 !important;
  }

  body.single-product .woocommerce-tabs .wd-accordion-title-text {
    font: 500 16px/1.5 "Noto Sans TC", "PingFang TC", sans-serif !important;
    letter-spacing: .01em !important;
  }

  body.single-product .woocommerce-tabs .wc-tab-inner { max-width: none !important; padding: 4px 0 26px !important; }
}

@media (max-width: 767px) {
  body.single-product .woocommerce-tabs .wc-tab-inner :is(h2, h3, h4) { font-size: 20px !important; }
}
