/* ==========================================================================
   Cleaners Hub — single product summary refresh
   CSS ONLY. No markup changes. Paste at the END of your custom CSS
   (Appearance → Customise → Additional CSS, or the child theme stylesheet).

   Scoped to .product.type-product — nothing leaks to archives/cart/checkout.

   Design intent: the description stays plain and generic so it survives
   product-to-product copy changes. All the visual weight sits on the parts
   that actually close the sale — buy box, add-ons, save-more offer,
   freight/account reassurance, SDS download, specs.
   ========================================================================== */

.product.type-product {
  --chx-black:        #1e1e1e;
  --chx-fg-1:         #58595b;   /* black 80% — headings, body */
  --chx-fg-2:         #808284;   /* black 60% — meta, captions */
  --chx-fg-3:         #7e8283;   /* gunmetal — labels */
  --chx-blue:         #4bc3ee;
  --chx-blue-hover:   #2fb0dd;
  --chx-blue-press:   #1f97c2;
  --chx-blue-50:      #eaf7fd;
  --chx-blue-100:     #cdecf9;
  --chx-blue-700:     #17759a;
  --chx-hairline:     #e8eaec;
  --chx-divider:      #eef0f1;
  --chx-ease:         cubic-bezier(.2, .7, .2, 1);

  /* ---- Colour roles. Change these six blocks, not the rules below. ----
     Default: black-led. Blue appears only where something is interactive
     or is an actual offer — never as a decorative tint. */
  --chx-cta-bg:       var(--chx-blue);
  --chx-cta-bg-hover: var(--chx-blue-hover);
  --chx-cta-bg-press: var(--chx-blue-press);
  --chx-cta-fg:       var(--chx-black);
  --chx-chip-bg:      var(--chx-blue);
  --chx-chip-fg:      var(--chx-black);
  --chx-offer-bg:     #fff;
  --chx-offer-border: var(--chx-black);
  --chx-icon:         var(--chx-black);
  --chx-eyebrow:      var(--chx-black);
  --chx-marker:       var(--chx-blue);
}

/* --------------------------------------------------------------------------
   1. Breadcrumbs — quiet, sentence case, out of the way
 
-------------------------------------------------------------------------- */
.summary.price-request button.request-price-button {
  box-sizing: border-box !important;
  display: block !important;
  min-height: 60px !important;
  margin: 0 !important;
  padding: 18px 26px 18px 58px !important;   /* room for the icon */
  border: 0 !important;
  border-radius: 9999px !important;
  background-color: #4bc3ee !important;
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231e1e1e' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2' y='4' width='20' height='16' rx='2'/%3E%3Cpath d='m2 7 10 6 10-6'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: 26px center !important;
  background-size: 20px 20px !important;
  color: #1e1e1e !important;
  font-family: inherit !important;
  font-size: 18px !important;
  font-weight: 600 !important;
  line-height: 1.2 !important;
  letter-spacing: .005em !important;
  text-align: center !important;
  text-transform: none !important;
  text-decoration: none !important;
  cursor: pointer !important;
  appearance: none !important;
  -webkit-appearance: none !important;
  transition: background-color 120ms cubic-bezier(.2,.7,.2,1), transform 120ms cubic-bezier(.2,.7,.2,1) !important;
}
.summary.price-request button.request-price-button:hover { background-color: #2fb0dd !important; }
.summary.price-request button.request-price-button:active { background-color: #1f97c2 !important; transform: scale(.98) !important; }
.summary.price-request button.request-price-button:focus-visible {
  outline: none !important;
  box-shadow: 0 0 0 3px rgba(75, 195, 238, .65) !important;
}

@media (max-width: 781px) {
  .summary.price-request button.request-price-button {
    max-width: none !important;
    min-height: 54px !important;
    padding: 16px 18px 16px 48px !important;
    background-position: 20px center !important;
    font-size: 16.5px !important;
  }
}

.product.type-product .summary.price-request p.price, .product.type-product .price-request .ct-product-add-to-cart {
    display: none !important;
}

.product.type-product .summary .ct-breadcrumbs { margin: 0 0 16px; }

.product.type-product .rank-math-breadcrumb p {
  margin: 0 !important;
  font-size: 12px !important;
  line-height: 1.4 !important;
  letter-spacing: .01em !important;
  text-transform: none !important;
  color: var(--chx-fg-3) !important;
}
.product.type-product .rank-math-breadcrumb a { color: var(--chx-fg-3); text-decoration: none; }
.product.type-product .rank-math-breadcrumb a:hover { color: var(--chx-blue-700); text-decoration: underline; }
.product.type-product .rank-math-breadcrumb .separator { opacity: .45; margin: 0 2px; }
.product.type-product .rank-math-breadcrumb .last { color: var(--chx-fg-1); }

/* --------------------------------------------------------------------------
   2. Title + price — first read, maximum contrast
   -------------------------------------------------------------------------- */
.product.type-product h1.product_title {
  margin: 0 0 14px !important;
  font-size: 34px !important;
  line-height: 1.2 !important;
  font-weight: 700 !important;
  letter-spacing: -.005em !important;
  color: var(--chx-black) !important;
  text-wrap: pretty !important;
}

.product.type-product .summary p.price {
  font-variant-numeric: tabular-nums !important;
  display: flex !important;
  align-items: baseline !important;
  gap: 10px !important;
  margin: 0 0 22px !important;
  font-size: 38px !important;
  line-height: 1 !important;
  font-weight: 700 !important;
  letter-spacing: -.008em !important;
  color: var(--chx-black) !important;
}
.product.type-product .summary p.price .woocommerce-Price-currencySymbol {
  font-size: .5em !important;
  font-weight: 700 !important;
  vertical-align: .5em !important;
  margin-right: 1px !important;
}
.product.type-product .summary p.price del { font-size: .5em; font-weight: 400; color: var(--chx-fg-2); }
.product.type-product .summary p.price ins { text-decoration: none; }
.woobt-products .woobt-product {
	border-radius: 0px!important;
}
/* Stock count stays hidden, exactly as it is today. */
.product.type-product .ct-product-add-to-cart > p.stock { display: none !important; }

/* --------------------------------------------------------------------------
   3. Buy box — stock, add-ons, cart, tiers and express pay read as ONE unit
      that lifts off the page
   -------------------------------------------------------------------------- */
.product.type-product .ct-product-add-to-cart {
  background: #fff !important;
  border: 1px solid var(--chx-hairline) !important;
  border-radius: 18px !important;
  padding: 24px 26px 26px !important;
  box-shadow: none !important;
}
/* holds up whether or not this product has add-ons / tiered pricing —
   nothing below depends on those blocks existing */
.product.type-product .tpt__tiered-pricing:not(:has(.tiered-pricing-wrapper)) { display: none !important; }
/* the theme drops a float-clearing div in here — it only adds dead space now */
.product.type-product .ct-product-add-to-cart > .clear { display: none !important; }

/* --------------------------------------------------------------------------
   4. Recommended add-ons — bigger product shots, compact rows, obvious
      selected state. Same position, roughly 40% less height.
   -------------------------------------------------------------------------- */
.product.type-product .woobt-wrap { margin: 0 0 22px; }

/* micro-label: plain black uppercase, no coloured accent bar */
.product.type-product .woobt-before-text {
  margin: 0 0 14px !important;
  padding-bottom: 10px !important;
  border-bottom: 1px solid var(--chx-blue-100) !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  letter-spacing: .1em !important;
  text-transform: uppercase !important;
  color: var(--chx-black) !important;
}

.product.type-product .woobt-products {
  border: 0 !important;
  border-radius: 12px !important;
  overflow: hidden !important;
  background: #f5f7f8 !important;
}

/* the plugin's own "this item" row stays hidden — never restyle it */
.product.type-product .woobt-product:not(.woobt-product-this) {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 14px !important;
  margin: 0 !important;
  padding: 10px 14px !important;
  border-bottom: 1px solid #e4e8ea !important;
  transition: background 120ms var(--chx-ease), box-shadow 120ms var(--chx-ease) !important;
}
.product.type-product .woobt-product:last-child { border-bottom: 0; }
.product.type-product .woobt-product:not(.woobt-product-this):hover { background: rgba(255, 255, 255, .75); }
.product.type-product .woobt-product:has(.woobt-checkbox:checked) {
  background: #fff !important;
  box-shadow: inset 0 0 0 2px var(--chx-blue) !important;border-radius: 15px !important;
}

/* the plugin duplicates the title in a <label> — keep it for screen readers */
.product.type-product .woobt-choose {
  flex: 0 0 auto !important;
  display: flex !important;
  align-items: center !important;
  margin: 0 !important;
}
.product.type-product .woobt-choose label {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
  clip: rect(0 0 0 0) !important;
  clip-path: inset(50%) !important;
  white-space: nowrap !important;
}
.product.type-product .woobt-choose .checkmark { display: none; }

.product.type-product .woobt-choose input.woobt-checkbox {
  appearance: none !important;
  -webkit-appearance: none !important;
  width: 21px !important;
  height: 21px !important;
  margin: 0 !important;
  border: 1.5px solid #ccd2d7 !important;
  border-radius: 6px !important;
  background: #fff !important;
  cursor: pointer !important;
  transition: border-color 120ms var(--chx-ease), background 120ms var(--chx-ease) !important;
}
.product.type-product .woobt-choose input.woobt-checkbox:hover { border-color: var(--chx-blue); }
.product.type-product .woobt-choose input.woobt-checkbox:checked {
  background: var(--chx-blue) 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='3' stroke-linecap='round' stroke-linejoin='round'><polyline points='20 6 9 17 4 12'/></svg>") center / 13px 13px no-repeat !important;
  border-color: var(--chx-blue) !important;
}
.product.type-product .woobt-choose input.woobt-checkbox:focus-visible {
  outline: none !important;
  box-shadow: 0 0 0 3px rgba(75, 195, 238, .65) !important;
}

.product.type-product .woobt-thumb {
  flex: 0 0 80px !important;
  width: 80px !important;
  height: 80px !important;
  border: 1px solid var(--chx-hairline) !important;
  border-radius: 9px !important;
  overflow: hidden !important;
  background: #fff !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}
.product.type-product .woobt-thumb img {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  display: block !important;
}

.product.type-product .woobt-title { flex: 1 1 170px; min-width: 0; }
.product.type-product .woobt-title .woobt-title-inner a {
  font-size: 15.5px !important;
  line-height: 1.35 !important;
  color: var(--chx-black) !important;
  text-decoration: none !important;
}
.product.type-product .woobt-title .woobt-title-inner a:hover { color: var(--chx-blue-700); }
.product.type-product .woobt-availability p.stock {
  margin: 2px 0 0 !important;
  padding: 0 !important;
  background: none !important;
  font-size: 12px !important;
  color: var(--chx-fg-2) !important;
}

/* Per-row quantity: the plugin decides whether this is ever shown (it is not,
   on your pages). Visual properties only — we never touch its display. */
.product.type-product .woobt-quantity .woobt-quantity-input {
  align-items: center !important;
  height: 34px !important;
  border: 1px solid var(--chx-hairline) !important;
  border-radius: 9999px !important;
  overflow: hidden !important;
  background: #fff !important;
}
.product.type-product .woobt-quantity-input-minus,
.product.type-product .woobt-quantity-input-plus {
  width: 28px !important;
  height: 32px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  cursor: pointer !important;
  color: var(--chx-fg-1) !important;
  user-select: none !important;
}
.product.type-product .woobt-quantity-input-minus:hover,
.product.type-product .woobt-quantity-input-plus:hover { color: var(--chx-black); }
.product.type-product .woobt-quantity input.woobt-qty {
  width: 34px !important;
  height: 32px !important;
  border: 0 !important;
  background: transparent !important;
  text-align: center !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  color: var(--chx-black) !important;
  -moz-appearance: textfield !important;
}
.product.type-product .woobt-quantity input.woobt-qty::-webkit-outer-spin-button,
.product.type-product .woobt-quantity input.woobt-qty::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }

.product.type-product .woobt-price {
  flex: 0 0 auto !important;
  margin-left: auto !important;
  text-align: right !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  font-variant-numeric: tabular-nums !important;
  color: var(--chx-black) !important;
  white-space: nowrap !important;
}
.product.type-product .woobt-price .woobt-price-ori del { color: var(--chx-fg-2); font-weight: 400; }
.product.type-product .woobt-price .woobt-price-new:empty { display: none; }

/* the plugin leaves empty summary divs behind — collapse the dead space */
.product.type-product .woobt-summary > div:empty { display: none; }
.product.type-product .woobt-summary .woobt-total {
  margin-top: 14px !important;
  padding-top: 12px !important;
  border-top: 1px solid var(--chx-divider) !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  color: var(--chx-black) !important;
}
.product.type-product .woobt-summary .woobt-alert { margin-top: 8px; font-size: 13px; color: #a82727; }

/* --------------------------------------------------------------------------
   5. Add to cart — 60px, cart icon, black-on-blue (white on light blue was
      failing AA; the brand rule is black text on the blue)
   -------------------------------------------------------------------------- */
.product.type-product form.cart {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
}
.product.type-product form.cart .ct-cart-actions,
.product.type-product .ct-product-add-to-cart > .woobt-wrap,
.product.type-product .ct-product-add-to-cart > .cart {
  width: 100% !important;
  max-width: none !important;
}

.product.type-product form.cart .ct-cart-actions {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 12px !important;
}

.product.type-product form.cart .ct-cart-actions > .quantity {
  flex: 0 0 132px !important;
  height: 60px !important;
  box-sizing: border-box !important;
  margin: 0 !important;
  padding: 0 4px !important;
  border: 1.5px solid var(--chx-hairline) !important;
  border-radius: 9999px !important;
  background: #fff !important;
  transition: border-color 120ms var(--chx-ease) !important;
}
.product.type-product form.cart .ct-cart-actions > .quantity:focus-within { border-color: var(--chx-blue); }
.product.type-product form.cart .ct-cart-actions > .quantity input.qty {
  width: 100% !important;
  height: 100% !important;
  box-sizing: border-box !important;
  padding: 0 30px !important;
  border: 0 !important;
  background: transparent !important;
  text-align: center !important;
  font-size: 17px !important;
  font-weight: 600 !important;
  color: var(--chx-black) !important;
  -moz-appearance: textfield !important;
}
.product.type-product form.cart .ct-cart-actions > .quantity input.qty::-webkit-outer-spin-button,
.product.type-product form.cart .ct-cart-actions > .quantity input.qty::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.product.type-product form.cart .ct-cart-actions > .quantity .ct-increase,
.product.type-product form.cart .ct-cart-actions > .quantity .ct-decrease {
  border-radius: 9999px !important;
  color: var(--chx-fg-1) !important;
  transition: background 120ms var(--chx-ease), color 120ms var(--chx-ease) !important;
}
.product.type-product form.cart .ct-cart-actions > .quantity .ct-increase:hover,
.product.type-product form.cart .ct-cart-actions > .quantity .ct-decrease:hover {
  background: #f1f4f5 !important;
  color: var(--chx-black) !important;
}

.product.type-product form.cart button.single_add_to_cart_button {
  flex: 1 1 165px !important;
  min-width: 0 !important;
  width: auto !important;   /* plugin writes a px width inline */
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 11px !important;
  min-height: 60px !important;
  margin: 0 !important;
  padding: 0 22px !important;
  border: 0 !important;
  border-radius: 9999px !important;
  background: #000 !important;
  color: #fff !important;
  font-size: 18px !important;
  font-weight: 600 !important;
  letter-spacing: .005em !important;
  line-height: 1 !important;
  text-transform: uppercase !important;
  cursor: pointer !important;
  white-space: nowrap !important;
  transition: background 120ms var(--chx-ease), transform 120ms var(--chx-ease) !important;
}
.product.type-product form.cart button.single_add_to_cart_button::before {
  content: "" !important;
  flex: 0 0 20px !important;
  width: 20px !important;
  height: 20px !important;
  background: currentColor !important;
  -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='1.9' stroke-linecap='round' stroke-linejoin='round'><circle cx='8' cy='21' r='1'/><circle cx='19' cy='21' r='1'/><path d='M2 2h2l2.7 12.4a2 2 0 0 0 2 1.6h9.7a2 2 0 0 0 2-1.6L22 7H5.1'/></svg>") center / contain no-repeat !important;
  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='1.9' stroke-linecap='round' stroke-linejoin='round'><circle cx='8' cy='21' r='1'/><circle cx='19' cy='21' r='1'/><path d='M2 2h2l2.7 12.4a2 2 0 0 0 2 1.6h9.7a2 2 0 0 0 2-1.6L22 7H5.1'/></svg>") center / contain no-repeat !important;
}
.product.type-product form.cart button.single_add_to_cart_button:hover { background: var(--chx-cta-bg-hover); }
.product.type-product form.cart button.single_add_to_cart_button:active { background: var(--chx-cta-bg-press); transform: scale(.98); }
.product.type-product form.cart button.single_add_to_cart_button:focus-visible {
  outline: none !important;
  box-shadow: 0 0 0 3px rgba(75, 195, 238, .65) !important;
}
.product.type-product form.cart button.single_add_to_cart_button.loading { opacity: .75; }

/* --------------------------------------------------------------------------
   6. Buy more, save more — a real offer banner, blue-led, not a quiet label

      Position-agnostic: styled the same whether the block sits ABOVE the
      add-to-cart form (current position) or inside the cart row, so moving
      the hook again never breaks the sheet.
   -------------------------------------------------------------------------- */
.product.type-product .tpt__tiered-pricing {
  box-sizing: border-box !important;
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 0 22px !important;   /* sits above the cart row */
  padding: 18px 18px 16px !important;
  background: var(--chx-blue-50) !important;
  border: 1px solid var(--chx-blue-100) !important;
  border-radius: 14px !important;
}
/* fallback: if it is ever moved back inside the cart row, it still spans it */
.product.type-product form.cart .ct-cart-actions > .tpt__tiered-pricing {
  flex: 0 0 100% !important;
  margin: 4px 0 0 !important;
}

.product.type-product .tiered-pricing-wrapper h3 {
  margin: 0 0 12px !important;   /* plugin sets margin inline */
  font-size: 19px !important;
  font-weight: 600 !important;
  letter-spacing: -.006em !important;
  text-transform: none !important;
  color: var(--chx-black) !important;
}

.product.type-product .tiered-pricing-options {
  display: flex !important;
  flex-direction: column !important;
  gap: 8px !important;
}
/* The plugin decides whether the default "Buy 1" row is shown (yours hides
   it). Never force it visible — style it at low specificity so the plugin's
   own display rule always wins. */
.tiered-pricing-option--default { display: flex; }
.product.type-product .tiered-pricing-option:not(.tiered-pricing-option--default) {
  display: flex !important;
}
.product.type-product .tiered-pricing-option {
  align-items: center !important;
  gap: 12px !important;
  margin: 0 !important;
  padding: 15px 18px !important;
  border: 2px solid var(--chx-hairline) !important;
  border-radius: 12px !important;
  background: #fff !important;
  transition: border-color 120ms var(--chx-ease), background 120ms var(--chx-ease) !important;
}
.product.type-product .tiered-pricing-option:hover { border-color: var(--chx-blue); }
.product.type-product .tiered-pricing-option.tiered-pricing--active {
  border-color: var(--chx-blue) !important;
  background: #fff !important;
  box-shadow: 0 0 0 1px var(--chx-blue) inset !important;
}

.product.type-product .tiered-pricing-option__checkbox { display: flex; align-items: center; }
.product.type-product .tiered-pricing-option-checkbox {
  position: relative !important;
  flex: 0 0 19px !important;
  width: 19px !important;
  height: 19px !important;
  border: 1.5px solid #b9c1c6 !important;
  border-radius: 50% !important;
  background: #fff !important;
}
.product.type-product .tiered-pricing-option-checkbox::after {
  content: "" !important;
  position: absolute !important;
  inset: 3px !important;
  border-radius: 50% !important;
}
.product.type-product .tiered-pricing--active .tiered-pricing-option-checkbox {
  border-color: var(--chx-blue) !important;
}
.product.type-product .tiered-pricing--active .tiered-pricing-option-checkbox::after {
  background: var(--chx-blue) !important;
}

.product.type-product .tiered-pricing-option__quantity { flex: 1 1 auto; }
.product.type-product .tiered-pricing-option__quantity strong {
  font-size: 16px !important;
  font-weight: 600 !important;
  color: var(--chx-black) !important;
}
.product.type-product .tiered-pricing-option__quantity em {
  display: inline-block !important;
  margin-left: 9px !important;
  padding: 5px 13px !important;
  border-radius: 9999px !important;
  background: var(--chx-black) !important;
  color: #fff !important;
  font-size: 12.5px !important;
  font-style: normal !important;
  font-weight: 700 !important;
  letter-spacing: .05em !important;
  text-transform: uppercase !important;
  white-space: nowrap !important;
}

.product.type-product .tiered-pricing-option__pricing {
  font-variant-numeric: tabular-nums !important;
  flex: 0 0 auto !important;
  margin-left: auto !important;
  display: flex !important;
  align-items: baseline !important;
  gap: 12px !important;
}
.product.type-product .tiered-pricing-option-price { display: flex; align-items: baseline; gap: 8px; }
.product.type-product .tiered-pricing-option-price__original del {
  color: var(--chx-fg-2) !important;
  font-size: 13px !important;
  text-decoration-thickness: 1px !important;
}
.product.type-product .tiered-pricing-option-price__discounted {
  font-size: 17px !important;
  font-weight: 600 !important;
  color: var(--chx-black) !important;
}
.product.type-product .tiered-pricing-option-total {
  align-items: baseline !important;
  gap: 5px !important;
  font-size: 13px !important;
  color: var(--chx-fg-2) !important;
}
.product.type-product .tiered-pricing-option-total__discounted_total { font-weight: 400 !important; color: var(--chx-fg-1) !important; }

/* --------------------------------------------------------------------------
   7. Express checkout (Stripe smart buttons) — inert unless the plugin
      renders them. Full width, its own row under Add to cart.
   -------------------------------------------------------------------------- */
.product.type-product #fkwcs_stripe_smart_button_wrapper {
  box-sizing: border-box !important;
  flex: 0 0 100% !important;
  display: block !important;   /* plugin can write inline-block inline */
  width: 100% !important;      /* plugin writes a px width inline */
  margin: 4px 0 0 !important;
}
.product.type-product #fkwcs_stripe_smart_button_wrapper #fkwcs_stripe_smart_button { display: block !important; }
/* One rule to draw the line, one to sit the label on top of it. Pseudo-element
   flex lines broke as soon as the plugin added another child. */
.product.type-product #fkwcs-payment-request-separator {
  display: block !important;
  position: relative !important;
  width: 100% !important;
  margin: 22px 0 18px !important;
  padding: 0 !important;
  text-align: center !important;
  line-height: 1 !important;
}
.product.type-product #fkwcs-payment-request-separator::before {
  content: "" !important;
  position: absolute !important;
  left: 0 !important;
  right: 0 !important;
  top: 50% !important;
  height: 1px !important;
  background: var(--chx-divider) !important;
}
.product.type-product #fkwcs-payment-request-separator::after { content: none !important; display: none !important; }
.product.type-product #fkwcs-payment-request-separator label {
  position: relative !important;
  display: inline-block !important;
  margin: 0 !important;
  padding: 0 14px !important;
  background: #fff !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  letter-spacing: .14em !important;
  text-transform: uppercase !important;
  color: var(--chx-fg-3) !important;
}
.product.type-product .fkwcs_google_pay_wrapper,
.product.type-product .gpay-card-info-container-fill,
.product.type-product #gpay-button-online-api-id,
.product.type-product button.fkwcs_smart_buttons {
  width: 100% !important;
  min-width: 0 !important;
}
.product.type-product #gpay-button-online-api-id,
.product.type-product button.fkwcs_smart_buttons {
  height: 56px !important;
  min-height: 56px !important;
  max-height: 56px !important;
  border-radius: 9999px !important;
}

/* --------------------------------------------------------------------------
   8. Freight + accounts reassurance, and the GST note.
      These are the ONLY two rules that add text. Edit the freight threshold
      to your real number, or delete the whole section.
      Hung off the cart row itself (order: pushes them below the buttons) so
      they don't depend on the theme's float-clearing div being in the row.
   -------------------------------------------------------------------------- */
.product.type-product form.cart .ct-cart-actions::before,
.product.type-product form.cart .ct-cart-actions::after {
  flex: 0 0 100% !important;
  display: block !important;
  margin: 0 !important;
  padding-left: 26px !important;
  background-repeat: no-repeat !important;
  background-position: left 1px !important;
  background-size: 18px 18px !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  line-height: 1.45 !important;
  color: var(--chx-fg-1) !important;
}
.product.type-product form.cart .ct-cart-actions::before {
  order: 90 !important;
  margin-top: 4px !important;
  padding-top: 16px !important;
  border-top: 1px solid var(--chx-blue-100) !important;
  background-position: left 18px !important;
  content: "Free shipping on orders over $200 (VIC and NSW metro areas only). Bulk and pallet pricing on request." !important;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231e1e1e' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'><path d='M14 18V6a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2v11a1 1 0 0 0 1 1h2'/><path d='M15 18H9'/><path d='M19 18h2a1 1 0 0 0 1-1v-3.6a1 1 0 0 0-.2-.6l-3.5-4.4A1 1 0 0 0 17.5 8H14'/><circle cx='17' cy='18' r='2'/><circle cx='7' cy='18' r='2'/></svg>") !important;
}
.product.type-product form.cart .ct-cart-actions::after {
  order: 91 !important;
  content: "30-day business accounts available" !important;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231e1e1e' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'><path d='M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z'/><path d='M14 2v5h6'/><path d='M16 13H8'/><path d='M16 17H8'/></svg>") !important;
}
.product.type-product .summary p.price::after {
  content: "inc. GST" !important;
  padding: 4px 9px !important;
  border: 1px solid var(--chx-hairline) !important;
  border-radius: 6px !important;
  font-size: 11px !important;
  font-weight: 500 !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
  color: var(--chx-fg-2) !important;
}

/* --------------------------------------------------------------------------
   9. Product meta — sentence case, quiet labels, SKU as a copyable chip
   -------------------------------------------------------------------------- */
.product.type-product .ct-product-divider {
  display: block !important;
  height: 1px !important;
  background: var(--chx-divider) !important;
  margin: 32px 0 24px !important;
}

.product.type-product .product_meta {
  display: grid !important;
  gap: 8px !important;
  margin: 0 !important;
  font-size: 13px !important;
}
.product.type-product .product_meta > span {
  display: block !important;
  margin: 0 !important;
  font-size: 14.5px !important;
  line-height: 1.5 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  color: var(--chx-fg-3) !important;
}
.product.type-product .product_meta .meta-label { font-weight: 400; color: var(--chx-fg-3); }
.product.type-product .product_meta .sku {
  display: inline-block !important;
  padding: 4px 11px !important;
  border: 1px solid var(--chx-blue-100) !important;
  border-radius: 6px !important;
  background: var(--chx-blue-50) !important;
  color: var(--chx-black) !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  letter-spacing: .03em !important;
  font-variant-numeric: tabular-nums !important;
  user-select: all !important;
}
/* the SKU is the one piece of meta people actually look for — let its row
   read at full strength while the rest stays quiet */
.product.type-product .product_meta > span.sku_wrapper {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  color: var(--chx-fg-1) !important;
}
.product.type-product .product_meta > span.sku_wrapper .meta-label { color: var(--chx-fg-1) !important; }
.product.type-product .product_meta > span a {
  color: var(--chx-fg-1) !important;
  font-weight: 400 !important;
  text-decoration: none !important;
}
.product.type-product .product_meta > span a:hover { color: var(--chx-blue-700); text-decoration: underline; }

/* --------------------------------------------------------------------------
   10. Long copy — deliberately generic. Sizes, rhythm and measure only,
       so any product description renders well without per-product tuning.
       Descendant (not child) selectors, so copy nested in the editor's own
       wrappers still gets styled.
   -------------------------------------------------------------------------- */
.product.type-product .woocommerce-tabs > article {
  display: block !important;
}
.product.type-product .woocommerce-tabs .entry-content {
  padding: 0 !important;
  max-width: none !important;
}

/* panel titles: Description / Downloads / Additional information.
   The panel title is always the first heading in its panel. */
.product.type-product .woocommerce-tabs .entry-content > h2:first-of-type,
.product.type-product .woocommerce-tabs > .entry-content > h2:first-of-type {
  margin: 40px 0 20px !important;
  padding-top: 28px !important;
  border-top: 1px solid var(--chx-divider) !important;
  font-size: 22px !important;
  line-height: 1.25 !important;
  font-weight: 700 !important;
  letter-spacing: -.006em !important;
  text-transform: none !important;
  color: var(--chx-black) !important;
}
.product.type-product #tab-description > h2:first-of-type,
.product.type-product #tab-description .entry-content > h2:first-of-type {
  margin-top: 30px !important;
  padding-top: 0 !important;
  border-top: 0 !important;
}

/* headings inside the copy itself */
.product.type-product .woocommerce-tabs .entry-content h2:not(:first-of-type) {
  margin: 34px 0 12px !important;
  font-size: 20px !important;
  line-height: 1.3 !important;
  font-weight: 700 !important;
  letter-spacing: -.008em !important;
  text-transform: none !important;
  color: var(--chx-black) !important;
}
.product.type-product .woocommerce-tabs .entry-content h3,
.product.type-product .woocommerce-tabs .entry-content h4,
.product.type-product .woocommerce-tabs .entry-content h5 {
  margin: 26px 0 8px !important;
  font-size: 17px !important;
  line-height: 1.35 !important;
  font-weight: 600 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  color: var(--chx-black) !important;
}

.product.type-product .woocommerce-tabs .entry-content p {
  max-width: 72ch !important;
  margin: 0 0 16px !important;
  font-size: 17px !important;
  line-height: 1.7 !important;
  color: var(--chx-fg-1) !important;
  text-wrap: pretty !important;
}
.product.type-product .woocommerce-tabs .entry-content p:last-child { margin-bottom: 0 !important; }
.product.type-product .woocommerce-tabs .entry-content p:empty,
.product.type-product .woocommerce-tabs .entry-content p > br:only-child { display: none !important; }
.product.type-product .woocommerce-tabs .entry-content strong,
.product.type-product .woocommerce-tabs .entry-content b {
  color: var(--chx-black) !important;
  font-weight: 600 !important;
}

.product.type-product .woocommerce-tabs .entry-content ul,
.product.type-product .woocommerce-tabs .entry-content ol {
  max-width: 72ch !important;
  margin: 0 0 18px !important;
  padding-left: 22px !important;
  list-style-position: outside !important;
}
.product.type-product .woocommerce-tabs .entry-content ul { list-style-type: disc !important; }
.product.type-product .woocommerce-tabs .entry-content ul ul,
.product.type-product .woocommerce-tabs .entry-content ol ol { margin: 8px 0 0 !important; }
.product.type-product .woocommerce-tabs .entry-content li {
  margin: 0 0 9px !important;
  padding-left: 2px !important;
  font-size: 17px !important;
  line-height: 1.6 !important;
  color: var(--chx-fg-1) !important;
}
.product.type-product .woocommerce-tabs .entry-content li:last-child { margin-bottom: 0 !important; }
.product.type-product .woocommerce-tabs .entry-content li::marker { color: var(--chx-marker) !important; }
.product.type-product .woocommerce-tabs .entry-content a:not(.wcpoa_title_with_link) {
  color: var(--chx-blue-700) !important;
  text-decoration: underline !important;
  text-underline-offset: 2px !important;
}
.product.type-product .woocommerce-tabs .entry-content a:not(.wcpoa_title_with_link):hover { color: var(--chx-black) !important; }
.product.type-product .woocommerce-tabs .entry-content img {
  max-width: 100% !important;
  height: auto !important;
  border-radius: 10px !important;
}
.product.type-product .woocommerce-tabs .entry-content > *:last-child { margin-bottom: 0 !important; }

/* --------------------------------------------------------------------------
   11. Downloads — every attachment becomes a real button
   -------------------------------------------------------------------------- */
.product.type-product .attachment-restriction-msg {
  margin: 0 !important;
  padding: 0 !important;
  font-size: 14px !important;
  color: var(--chx-fg-2) !important;
}
.product.type-product .attachment-restriction-msg:empty { display: none !important; }
.product.type-product #tab-wcpoa_product_tab > *:last-child { margin-bottom: 0 !important; }

.product.type-product #tab-wcpoa_product_tab .wcpoa_attachments,
.product.type-product .woocommerce-tabs .entry-content .wcpoa_attachments {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 10px !important;
  margin: 0 !important;
  padding: 0 !important;
}
.product.type-product #tab-wcpoa_product_tab .wcpoa_attachment,
.product.type-product .woocommerce-tabs .entry-content .wcpoa_attachment {
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
}
/* the plugin wraps the title in a heading, so this has to out-specify the
   generic h3/h4 rule in section 10 — otherwise it inherits a 26px top margin
   and the button gets a big dead gap above and below it */
.product.type-product .woocommerce-tabs .entry-content .wcpoa_attachment_name,
.product.type-product .woocommerce-tabs .entry-content h2.wcpoa_attachment_name,
.product.type-product .woocommerce-tabs .entry-content h3.wcpoa_attachment_name,
.product.type-product .woocommerce-tabs .entry-content h4.wcpoa_attachment_name,
.product.type-product .woocommerce-tabs .entry-content h5.wcpoa_attachment_name {
  margin: 0 !important;
  padding: 0 !important;
  font-size: inherit !important;
  font-weight: inherit !important;
  line-height: 1 !important;
  color: inherit !important;
}
.product.type-product .wcpoa_attachment_name::before,
.product.type-product .wcpoa_attachment_name::after { display: none !important; }

.product.type-product .woocommerce-tabs .entry-content a.wcpoa_title_with_link {
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;
  min-height: 50px !important;
  padding: 0 26px !important;
  border: 1.5px solid var(--chx-black) !important;
  border-radius: 9999px !important;
  background: var(--chx-black) !important;
  color: #fff !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  line-height: 1 !important;
  white-space: nowrap !important;
  text-decoration: none !important;
  transition: background 120ms var(--chx-ease), color 120ms var(--chx-ease) !important;
}
.product.type-product .woocommerce-tabs .entry-content a.wcpoa_title_with_link::before {
  content: "" !important;
  flex: 0 0 18px !important;
  width: 18px !important;
  height: 18px !important;
  background: currentColor !important;
  -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='1.75' stroke-linecap='round' stroke-linejoin='round'><path d='M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4'/><polyline points='7 10 12 15 17 10'/><line x1='12' y1='15' x2='12' y2='3'/></svg>") center / contain no-repeat !important;
  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='1.75' stroke-linecap='round' stroke-linejoin='round'><path d='M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4'/><polyline points='7 10 12 15 17 10'/><line x1='12' y1='15' x2='12' y2='3'/></svg>") center / contain no-repeat !important;
}
.product.type-product .woocommerce-tabs .entry-content a.wcpoa_title_with_link:hover {
  background: var(--chx-blue) !important;
  border-color: var(--chx-blue) !important;
  color: var(--chx-black) !important;
  text-decoration: none !important;
}
.product.type-product .woocommerce-tabs .entry-content a.wcpoa_title_with_link:focus-visible {
  outline: none !important;
  box-shadow: 0 0 0 3px rgba(75, 195, 238, .65) !important;
}

/* --------------------------------------------------------------------------
   12. Additional information — a plain spec list, no table look, no fill
   -------------------------------------------------------------------------- */
.product.type-product table.woocommerce-product-attributes {
  display: block !important;
  width: 100% !important;
  max-width: 720px !important;
  margin: 0 !important;
  border: 0 !important;
  border-collapse: collapse !important;
  border-radius: 0 !important;
  background: none !important;
  overflow: visible !important;
}
.product.type-product table.woocommerce-product-attributes tbody { display: block !important; width: 100% !important; }
.product.type-product table.woocommerce-product-attributes tr {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: baseline !important;
  gap: 8px 24px !important;
  padding: 14px 0 !important;
  border: 0 !important;
  border-bottom: 1px solid var(--chx-divider) !important;
  background: none !important;
}
.product.type-product table.woocommerce-product-attributes tr:first-child { padding-top: 0 !important; }
.product.type-product table.woocommerce-product-attributes tr:last-child { border-bottom: 0 !important; }

.product.type-product table.woocommerce-product-attributes th {
  display: block !important;
  flex: 0 0 200px !important;
  width: auto !important;
  padding: 0 !important;
  border: 0 !important;
  background: none !important;
  font-size: 15px !important;
  font-weight: 400 !important;
  line-height: 1.5 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  text-align: left !important;
  color: var(--chx-fg-2) !important;
}
.product.type-product table.woocommerce-product-attributes td {
  display: block !important;
  flex: 1 1 220px !important;
  min-width: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: none !important;
  font-size: 16px !important;
  font-weight: 400 !important;
  font-style: normal !important;
  line-height: 1.5 !important;
  color: var(--chx-black) !important;
}
.product.type-product table.woocommerce-product-attributes td p {
  margin: 0 !important;
  max-width: none !important;
  font-size: 16px !important;
  font-weight: 400 !important;
  line-height: 1.5 !important;
  color: inherit !important;
}

/* --------------------------------------------------------------------------
   13. Mobile — every declaration carries !important so it beats the
       desktop rules above (which are all !important too)
   -------------------------------------------------------------------------- */
@media (max-width: 766px) {
	.tiered-pricing-wrapper {
		margin:0px!important;
	}
	.woobt-products .woobt-product .woobt-title {
		margin:0px!important;
	}
	.woobt-wrap-responsive .woobt-products .woobt-product > div {
		padding: 0px!important;
	}
  .product.type-product h1.product_title {
    margin: 0 0 10px !important;
    font-size: 25px !important;
    line-height: 1.25 !important;
  }
  .product.type-product .summary p.price {
    flex-wrap: wrap !important;
    gap: 8px !important;
    margin: 0 0 16px !important;
    font-size: 30px !important;
  }
  .product.type-product .summary p.price::after {
    padding: 3px 7px !important;
    font-size: 10.5px !important;
  }
  .product.type-product .summary .ct-breadcrumbs { margin: 0 0 10px !important; }
  .product.type-product .rank-math-breadcrumb p { font-size: 11.5px !important; }

  /* gallery — a square 5L bottle at full width eats half the screen */
  .product.type-product .woocommerce-product-gallery img.wp-post-image {
    width: 100% !important;
    height: auto !important;
    max-height: 42vh !important;
    object-fit: contain !important;
  }

  /* buy box */
  .product.type-product .ct-product-add-to-cart {
    padding: 14px 13px 16px !important;
    border-radius: 14px !important;
  }

  /* add-ons */
  .product.type-product .woobt-wrap { margin: 0 0 14px !important; }
  .product.type-product .woobt-before-text {
    margin: 0 0 12px !important;
    padding-bottom: 9px !important;
    font-size: 12px !important;
    letter-spacing: .07em !important;
  }
  /* explicit grid: control + thumb pinned left and vertically centred,
     title on the first row, price directly under it. No wrapping, so the
     price can never get flung onto a line of its own. */
  .product.type-product .woobt-product:not(.woobt-product-this) {
    display: grid !important;
    grid-template-columns: 22px 44px minmax(0, 1fr) !important;
    grid-template-rows: auto auto !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-items: start !important;
    column-gap: 11px !important;
    row-gap: 2px !important;
    padding: 9px 11px !important;
    text-align: left !important;
  }
  .product.type-product .woobt-product:not(.woobt-product-this) *,
  .product.type-product .woobt-title,
  .product.type-product .woobt-title .woobt-title-inner {
    text-align: left !important;
  }
  .product.type-product .woobt-choose {
    grid-column: 1 !important;
    grid-row: 1 / span 2 !important;
    align-self: center !important;
    justify-self: center !important;
  }
  .product.type-product .woobt-choose input.woobt-checkbox {
    width: 22px !important;
    height: 22px !important;
  }
  .product.type-product .woobt-thumb {
    grid-column: 2 !important;
    grid-row: 1 / span 2 !important;
    align-self: center !important;
    flex: 0 0 44px !important;
    width: 44px !important;
    height: 44px !important;
    border-radius: 8px !important;
  }
  .product.type-product .woobt-title {
    grid-column: 3 !important;
    grid-row: 1 !important;
    flex: 0 0 auto !important;
    width: 100% !important;
    min-width: 0 !important;
  }
  .product.type-product .woobt-title .woobt-title-inner a {
    display: block !important;
    font-size: 13.5px !important;
    line-height: 1.3 !important;
  }
  .product.type-product .woobt-availability p.stock {
    margin: 2px 0 0 !important;
    font-size: 11.5px !important;
  }
  .product.type-product .woobt-price {
    grid-column: 3 !important;
    grid-row: 2 !important;
    justify-self: start !important;
    margin: 0 !important;
    text-align: left !important;
    font-size: 13.5px !important;
  }
  /* if the plugin ever exposes per-row quantity, give it its own line */
  .product.type-product .woobt-quantity {
    grid-column: 3 !important;
    grid-row: 3 !important;
    margin-top: 6px !important;
  }
  .product.type-product .woobt-summary .woobt-total {
    margin-top: 12px !important;
    padding-top: 10px !important;
    font-size: 14px !important;
  }

  /* cart row: quantity + button on one line — both stay 52px tall */
  .product.type-product form.cart .ct-cart-actions { gap: 10px !important; }
  .product.type-product form.cart .ct-cart-actions > .quantity {
    flex: 0 0 100px !important;
    width: 100px !important;
    height: 52px !important;
  }
  .product.type-product form.cart .ct-cart-actions > .quantity input.qty {
    font-size: 16px !important;
    padding: 0 30px !important;
  }
  .product.type-product form.cart button.single_add_to_cart_button {
    flex: 1 1 auto !important;
    width: auto !important;
    min-height: 52px !important;
    padding: 0 16px !important;
    font-size: 16px !important;
    gap: 9px !important;
  }
  .product.type-product form.cart button.single_add_to_cart_button::before {
    flex: 0 0 18px !important;
    width: 18px !important;
    height: 18px !important;
  }

  /* freight / accounts reassurance — stack, one per line */
  .product.type-product form.cart .ct-cart-actions::before,
  .product.type-product form.cart .ct-cart-actions::after {
    padding-left: 24px !important;
    background-position: left 2px !important;
    background-size: 16px 16px !important;
    font-size: 13px !important;
  }
  .product.type-product form.cart .ct-cart-actions::before {
    margin-top: 2px !important;
    padding-top: 14px !important;
    background-position: left 16px !important;
  }

  /* buy more, save more — one compact row per tier, no stacked grid */
  .product.type-product .tpt__tiered-pricing {
    margin: 0 0 14px !important;
    padding: 12px 12px 12px !important;
    border-radius: 12px !important;
  }
  .product.type-product form.cart .ct-cart-actions > .tpt__tiered-pricing {
    margin: 2px 0 0 !important;
  }
  .product.type-product .tiered-pricing-wrapper h3 {
    margin: 0 0 9px !important;
    font-size: 15.5px !important;
  }
  .product.type-product .tiered-pricing-options { gap: 6px !important; }
  .product.type-product .tiered-pricing-option:not(.tiered-pricing-option--default) {
    display: flex !important;
  }
  .product.type-product .tiered-pricing-option {
    flex-wrap: wrap !important;
    align-items: center !important;
    column-gap: 9px !important;
    row-gap: 4px !important;
    padding: 11px 12px !important;
    border-radius: 10px !important;
    text-align: left !important;
  }
  .product.type-product .tiered-pricing-option__checkbox { flex: 0 0 auto !important; }
  .product.type-product .tiered-pricing-option__quantity { flex: 1 1 auto !important; }
  .product.type-product .tiered-pricing-option__quantity strong { font-size: 14.5px !important; }
  .product.type-product .tiered-pricing-option__quantity em {
    margin-left: 6px !important;
    padding: 3px 8px !important;
    font-size: 10.5px !important;
  }
  .product.type-product .tiered-pricing-option__pricing {
    flex: 0 0 auto !important;
    margin-left: auto !important;
    gap: 7px !important;
  }
  .product.type-product .tiered-pricing-option-price__discounted { font-size: 15px !important; }
  .product.type-product .tiered-pricing-option-price__original del { font-size: 12px !important; }
  .product.type-product .tiered-pricing-option-total { font-size: 12px !important; }

  /* express checkout — always its own full-width row on mobile */
  .product.type-product #fkwcs_stripe_smart_button_wrapper {
    flex: 0 0 100% !important;
    width: 100% !important;
    margin: 0 !important;
  }
  .product.type-product #fkwcs-payment-request-separator { margin: 14px 0 !important; }
  .product.type-product #fkwcs-payment-request-separator label { font-size: 10.5px !important; }

  /* meta */
  .product.type-product .ct-product-divider { margin: 26px 0 20px !important; }
  .product.type-product .product_meta { gap: 7px !important; }
  .product.type-product .product_meta > span { font-size: 13.5px !important; }
  .product.type-product .product_meta .sku { font-size: 14px !important; padding: 3px 10px !important; }

  /* long copy */
  .product.type-product .woocommerce-tabs .entry-content > h2:first-of-type,
  .product.type-product .woocommerce-tabs > .entry-content > h2:first-of-type {
    margin: 30px 0 14px !important;
    padding-top: 22px !important;
    font-size: 19px !important;
  }
  .product.type-product #tab-description > h2:first-of-type,
  .product.type-product #tab-description .entry-content > h2:first-of-type {
    margin-top: 24px !important;
  }
  .product.type-product .woocommerce-tabs .entry-content h2:not(:first-of-type) {
    margin: 26px 0 10px !important;
    font-size: 17.5px !important;
  }
  .product.type-product .woocommerce-tabs .entry-content h3,
  .product.type-product .woocommerce-tabs .entry-content h4,
  .product.type-product .woocommerce-tabs .entry-content h5 {
    margin: 20px 0 7px !important;
    font-size: 15.5px !important;
  }
  .product.type-product .woocommerce-tabs .entry-content p {
    margin: 0 0 14px !important;
    font-size: 16px !important;
    line-height: 1.65 !important;
  }
  .product.type-product .woocommerce-tabs .entry-content ul,
  .product.type-product .woocommerce-tabs .entry-content ol {
    margin: 0 0 14px !important;
    padding-left: 19px !important;
  }
  .product.type-product .woocommerce-tabs .entry-content li {
    margin: 0 0 8px !important;
    font-size: 16px !important;
    line-height: 1.55 !important;
  }

  /* downloads */
  .product.type-product #tab-wcpoa_product_tab .wcpoa_attachment {
    display: block !important;
    margin: 0 0 9px !important;
  }
  .product.type-product .woocommerce-tabs .entry-content a.wcpoa_title_with_link {
    display: flex !important;
    justify-content: center !important;
    width: 100% !important;
    min-height: 48px !important;
    padding: 0 18px !important;
    font-size: 14.5px !important;
    white-space: normal !important;
    text-align: center !important;
  }

  /* additional information — label above value */
  .product.type-product table.woocommerce-product-attributes tr {
    flex-direction: column !important;
    gap: 3px !important;
    padding: 12px 0 !important;
  }
  .product.type-product table.woocommerce-product-attributes th {
    flex: 0 0 auto !important;
    font-size: 13.5px !important;
  }
  .product.type-product table.woocommerce-product-attributes td,
  .product.type-product table.woocommerce-product-attributes td p {
    flex: 0 0 auto !important;
    font-size: 15.5px !important;
  }
}
