/* True Axis Bio Toolkit 2.3.37 — consolidated corrections for approved storefront defects.
 * Targets the actual live label renderer, WooCommerce Blocks cart DOM, homepage
 * baked artwork overlays and Related Products scroll container. No content changes.
 */
:root { --tabt-v237-black:#030303; --tabt-v237-red:#D32027; --tabt-v237-separator:#bdbdbd; }

/* ONE LIVE PLACARD TEMPLATE. CSS grid locks the entire brand / product / facts /
 * footer structure to one vertical and horizontal axis, not just text alignment.
 * The renderer marks every placard with --v237 to avoid changing unrelated cards.
 */
body .tabt-live-product-label.tabt-live-product-label--v237 {
  box-sizing:border-box!important; aspect-ratio:2/3!important;
  display:grid!important; grid-template-columns:minmax(0,1fr)!important;
  grid-template-rows:21% 63% 16%!important; align-content:stretch!important;
  justify-items:stretch!important; gap:0!important;
  margin-inline:auto!important; padding:5%!important;
  background-color:var(--tabt-v237-black)!important;
  background-image:linear-gradient(180deg,rgba(0,0,0,.06),rgba(0,0,0,.34)),url('../images/product-label-brand/molecular-network.svg')!important;
  background-position:center!important; background-repeat:no-repeat!important;
  background-size:cover!important;
  border:1px solid var(--tabt-v237-red)!important;
  border-radius:17px!important;
  box-shadow:none!important; isolation:isolate!important;
  container-type:inline-size;
  overflow:hidden!important; position:relative!important;
}
/* Removes the extra inset red outline from all existing live labels. */
body .tabt-live-product-label.tabt-live-product-label--v237::before,
body .tabt-live-product-label.tabt-live-product-label--v237::after { content:none!important;display:none!important;border:0!important; }
body .tabt-live-product-label.tabt-live-product-label--v237 > .tabt-live-product-label__brand,
body .tabt-live-product-label.tabt-live-product-label--v237 > .tabt-live-product-label__center,
body .tabt-live-product-label.tabt-live-product-label--v237 > .tabt-live-product-label__compliance {
  box-sizing:border-box!important; display:grid!important;
  margin:0!important; padding:0!important; width:100%!important;
  max-width:none!important; height:100%!important; min-height:0!important;
  min-width:0!important; align-self:stretch!important; justify-self:stretch!important;
  position:relative!important; z-index:1!important;
}
body .tabt-live-product-label.tabt-live-product-label--v237 > .tabt-live-product-label__brand {
  grid-template-rows:minmax(0,3fr) minmax(0,1fr)!important;
  align-items:center!important; justify-items:center!important;
  gap:0!important; border:0!important;
}
body .tabt-live-product-label.tabt-live-product-label--v237 .tabt-live-product-label__brand::after {
  content:''!important;display:block!important;
  position:absolute!important;left:50%!important;right:auto!important;
  bottom:0!important;top:auto!important;transform:translateX(-50%)!important;
  background:var(--tabt-v237-red)!important;width:72%!important;height:1px!important;
  border:0!important;box-shadow:none!important;
}
body .tabt-live-product-label.tabt-live-product-label--v237 .tabt-live-product-label__logo {
  align-self:center!important;justify-self:center!important;
  display:block!important;width:clamp(25px,17cqi,112px)!important;
  height:auto!important;max-height:92%!important;max-width:80%!important;
  object-fit:contain!important;margin:0!important;
}
body .tabt-live-product-label.tabt-live-product-label--v237 .tabt-live-product-label__brand-name {
  align-self:center!important;justify-self:center!important;
  display:block!important;border:0!important;width:auto!important;
  max-width:96%!important;min-width:0!important;
  margin:0!important;padding:0!important;
  font-size:clamp(5px,2.8cqi,17px)!important;
  line-height:1.08!important;white-space:nowrap!important;
  text-align:center!important;
}
body .tabt-live-product-label.tabt-live-product-label--v237 > .tabt-live-product-label__center {
  grid-template-columns:minmax(0,1fr)!important;
  grid-template-rows:29% 71%!important;gap:0!important;
  align-content:stretch!important;justify-content:stretch!important;
  justify-items:stretch!important;
}
body .tabt-live-product-label.tabt-live-product-label--v237 .tabt-live-product-label__name {
  box-sizing:border-box!important;display:flex!important;
  align-items:center!important;justify-content:center!important;
  align-self:stretch!important;justify-self:center!important;
  width:100%!important;max-width:100%!important;height:100%!important;
  min-width:0!important;min-height:0!important;
  margin:0!important;padding:0 1%!important;
  overflow:hidden!important;overflow-wrap:normal!important;
  word-break:normal!important;hyphens:none!important;
  white-space:normal!important;text-wrap:balance!important;
  text-align:center!important;line-height:1.07!important;
  font-size:clamp(14px,8.2cqi,53px)!important;
}
body .tabt-live-product-label.tabt-live-product-label--v237.tabt-live-product-label--name-medium .tabt-live-product-label__name {font-size:clamp(13px,7.1cqi,46px)!important;}
body .tabt-live-product-label.tabt-live-product-label--v237.tabt-live-product-label--name-long .tabt-live-product-label__name {font-size:clamp(12px,6.0cqi,40px)!important;}
body .tabt-live-product-label.tabt-live-product-label--v237.tabt-live-product-label--name-xlong .tabt-live-product-label__name {font-size:clamp(11px,4.7cqi,32px)!important;}
body .tabt-live-product-label.tabt-live-product-label--v237 .tabt-live-product-label__facts {
  box-sizing:border-box!important;align-self:stretch!important;justify-self:stretch!important;
  display:grid!important;grid-template-columns:minmax(0,1fr)!important;
  grid-template-rows:repeat(3,minmax(0,1fr))!important;
  width:100%!important;height:100%!important;min-width:0!important;min-height:0!important;
  border:0!important;border-top:1px solid var(--tabt-v237-red)!important;
  gap:0!important;margin:0!important;padding:2% 0 0!important;
}
body .tabt-live-product-label.tabt-live-product-label--v237 .tabt-live-product-label__fact {
  box-sizing:border-box!important;display:flex!important;flex-direction:column!important;
  align-items:center!important;justify-content:center!important;
  width:100%!important;min-height:0!important;min-width:0!important;
  gap:5%!important;margin:0!important;padding:0!important;
  border:0!important;border-radius:0!important;background:transparent!important;
  box-shadow:none!important;text-align:center!important;
}
body .tabt-live-product-label.tabt-live-product-label--v237 .tabt-live-product-label__fact dt,
body .tabt-live-product-label.tabt-live-product-label--v237 .tabt-live-product-label__fact dd {
  display:block!important;box-sizing:border-box!important;
  flex:0 0 auto!important;min-width:0!important;width:100%!important;
  max-width:100%!important;margin:0!important;padding:0!important;
  text-align:center!important;justify-self:center!important;
  line-height:1.12!important;word-break:normal!important;
  overflow-wrap:normal!important;hyphens:none!important;
}
body .tabt-live-product-label.tabt-live-product-label--v237 .tabt-live-product-label__fact dt {
  color:var(--tabt-v237-red)!important;font-size:clamp(5px,2.4cqi,14px)!important;
  font-weight:800!important;text-transform:uppercase!important;
}
body .tabt-live-product-label.tabt-live-product-label--v237 .tabt-live-product-label__fact dt span {display:block!important;width:100%!important;text-align:center!important;}
body .tabt-live-product-label.tabt-live-product-label--v237 .tabt-live-product-label__fact-icon {display:none!important;}
body .tabt-live-product-label.tabt-live-product-label--v237 .tabt-live-product-label__fact dd {
  color:#eeeef0!important;font-size:clamp(6px,3.25cqi,20px)!important;
  font-weight:650!important;overflow-wrap:anywhere!important;
}
body .tabt-live-product-label.tabt-live-product-label--v237 > .tabt-live-product-label__compliance {
  display:flex!important;flex-direction:column!important;
  align-items:center!important;justify-content:center!important;
  gap:5%!important;border:0!important;
  border-top:1px solid var(--tabt-v237-red)!important;
}
body .tabt-live-product-label.tabt-live-product-label--v237 .tabt-live-product-label__compliance strong {
  display:block!important;color:#ff3038!important;
  font-size:clamp(5px,2.45cqi,14px)!important;font-weight:850!important;
  margin:0!important;padding:0!important;width:100%!important;
  text-align:center!important;line-height:1.14!important;
}
/* The clickable catalog card owns the hover shadow; only one image perimeter. */
body .tabt-catalog-product-card__link:hover > .tabt-live-product-label--v237,
body .tabt-catalog-product-card__link:focus-visible > .tabt-live-product-label--v237,
body .tabt-catalog-product-card:focus-within .tabt-live-product-label--v237 {
  border-color:#ff3038!important;
  box-shadow:0 0 9px rgba(211,32,39,.66),0 0 23px rgba(211,32,39,.40)!important;
}

/* Filled Cart hides its image cell/column in commerce-mobile.css. Avoid
 * applying any dimensions to WooCommerce's native table cells. */
/* Empty cart uses the same HTML/CSS placard — do not constrain visual to a square. */
body.woocommerce-cart .tabt-empty-cart__visual {display:block!important;aspect-ratio:2/3!important;height:auto!important;overflow:visible!important;}
body.woocommerce-cart .tabt-empty-cart__visual>.tabt-live-product-label--v237 {height:auto!important;aspect-ratio:2/3!important;}

/* A desktop cart must not inherit narrow blog-post content constraints.
 * Let WooCommerce Blocks determine its own main/sidebar breakpoint from the
 * full available content width; do not fake its internal responsive classes. */
body.woocommerce-cart #primary,
body.woocommerce-cart .site-main,
body.woocommerce-cart article.page,
body.woocommerce-cart article.page .entry-content,
body.woocommerce-cart .wp-block-woocommerce-cart,
body.woocommerce-cart .wc-block-cart {
  box-sizing:border-box!important;
  width:100%!important;max-width:none!important;min-width:0!important;
}
@media(min-width:1100px){
  body.woocommerce-cart #content > .ast-container,
  body.woocommerce-cart .site-content > .ast-container {
    width:100%!important;max-width:1560px!important;
    margin-inline:auto!important;
    padding-inline:clamp(20px,4vw,60px)!important;
  }
}
/* Uniform black; one silver line between adjoining account/cart/footer areas. */
body:is(.woocommerce-cart,.woocommerce-account) {
  --tabt-commerce-black:#030303;
  background-color:var(--tabt-v237-black)!important;
}
body:is(.woocommerce-cart,.woocommerce-account) :is(
  #page,.site,.site-content,#content,#primary,.ast-container,.site-main,
  article.page,.entry-content,.woocommerce,.wc-block-cart,.wp-block-woocommerce-cart,
  .wp-block-woocommerce-empty-cart-block,.wp-block-woocommerce-product-new,
  .wc-block-components-main,.wc-block-components-sidebar,.wc-block-cart-items,
  .wc-block-cart-items tbody,.wc-block-cart-items tr,.wc-block-cart-items td,
  .wc-block-components-totals-wrapper,.woocommerce-MyAccount-navigation,
  .woocommerce-MyAccount-navigation ul,.woocommerce-MyAccount-navigation li,
  .woocommerce-MyAccount-content,.tabt-empty-cart,.tabt-empty-cart__product,
  .site-footer,#colophon,.site-primary-footer-wrap,.site-below-footer-wrap
) {background-color:var(--tabt-v237-black)!important;background-image:none!important;}
body.woocommerce-account .woocommerce-MyAccount-navigation ul {
  border:1px solid var(--tabt-v237-separator)!important;
  border-radius:7px!important;
  overflow:hidden!important;
}
body.woocommerce-account .woocommerce-MyAccount-navigation li {
  border:0!important;border-bottom:1px solid var(--tabt-v237-separator)!important;
}
body.woocommerce-account .woocommerce-MyAccount-navigation li:last-child {border-bottom:0!important;}
body:is(.woocommerce-cart,.woocommerce-account) :is(.wc-block-cart-items,.wc-block-cart-items th,.wc-block-cart-items td,.wc-block-components-totals-wrapper) {border-color:var(--tabt-v237-separator)!important;}
body :is(.tabt-footer-compliance,.tabt-history-navigation,.site-footer,#colophon,.site-primary-footer-wrap,.site-below-footer-wrap) {border-color:var(--tabt-v237-separator)!important;}

/* v2.3.40: The reference backdrop contains stationary red card borders.
 * Keep each hotspot MASK stationary and move only its approved crop pseudo-
 * element. Moving the hotspot exposed a second red outline beneath on hover. */
@media(min-width:1025px) {
  body.true-axis-bio-toolkit-homepage .tabt-homepage--v231-exact-reference :is(
    .tabt-home-category-grid,.tabt-home-information .tabt-home-info-grid
  ) {background:#030303!important;isolation:isolate!important;overflow:visible!important;}
  body.true-axis-bio-toolkit-homepage .tabt-homepage--v231-exact-reference :is(
    .tabt-home-category-grid>a.tabt-home-category-card,
    .tabt-home-information .tabt-home-info-grid>a.tabt-home-resource-card
  ) {
    box-sizing:border-box!important;background:#030303!important;
    border:0!important;outline:0!important;border-radius:4px!important;
    overflow:visible!important;box-shadow:none!important;
    transform:none!important;filter:none!important;position:relative!important;
    transition:none!important;
  }
  body.true-axis-bio-toolkit-homepage .tabt-homepage--v231-exact-reference :is(
    .tabt-home-category-grid>a.tabt-home-category-card,
    .tabt-home-information .tabt-home-info-grid>a.tabt-home-resource-card
  )::before {
    inset:0!important;border:0!important;outline:0!important;
    border-radius:4px!important;box-shadow:none!important;
    transform:translateY(0)!important;filter:none!important;
    background-size:100% 100%!important;
    transition:transform .18s ease,box-shadow .18s ease!important;
  }
  body.true-axis-bio-toolkit-homepage .tabt-homepage--v231-exact-reference :is(
    .tabt-home-category-grid>a.tabt-home-category-card,
    .tabt-home-information .tabt-home-info-grid>a.tabt-home-resource-card
  ):is(:hover,:focus-visible) {
    transform:none!important;filter:none!important;
    box-shadow:none!important;
  }
  body.true-axis-bio-toolkit-homepage .tabt-homepage--v231-exact-reference :is(
    .tabt-home-category-grid>a.tabt-home-category-card,
    .tabt-home-information .tabt-home-info-grid>a.tabt-home-resource-card
  ):is(:hover,:focus-visible)::before {
    transform:translateY(-5px)!important;
    box-shadow:0 0 8px rgba(211,32,39,.72),0 0 24px rgba(211,32,39,.50),0 12px 30px rgba(211,32,39,.26)!important;
    filter:none!important;
  }
}
/* On tablet/mobile there is no screenshot-card overlay. Render one CSS border. */
@media(max-width:1024px) {
  body.true-axis-bio-toolkit-homepage :is(a.tabt-home-category-card,a.tabt-home-resource-card) {
    border:1px solid var(--tabt-v237-red)!important;
    box-shadow:none!important;overflow:visible!important;
  }
  body.true-axis-bio-toolkit-homepage :is(a.tabt-home-category-card,a.tabt-home-resource-card):is(:hover,:focus-visible) {
    transform:translateY(-5px)!important;
    box-shadow:0 0 9px rgba(211,32,39,.65),0 0 23px rgba(211,32,39,.40)!important;
  }
}
/* Related Products: one consistently rounded perimeter in both states.
 * Vertical breathing room is INSIDE the scroll port, so lift never gets cropped. */
body.tabt-product-template-active .tabt-related-products {overflow:visible!important;}
body.tabt-product-template-active .tabt-related-track--carousel {
  overflow-x:auto!important;overflow-y:hidden!important;
  box-sizing:border-box!important;
  padding:30px 30px 38px!important;
  scroll-padding-inline:30px!important;
}
body.tabt-product-template-active .tabt-related-card {
  box-sizing:border-box!important;
  background:#030303!important;border:1px solid #454545!important;
  border-radius:12px!important;overflow:hidden!important;
  isolation:isolate!important;box-shadow:none!important;
  transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease!important;
}
body.tabt-product-template-active .tabt-related-card:is(:hover,:focus-within) {
  border-color:#D32027!important;
  transform:translateY(-5px)!important;
  box-shadow:0 0 9px rgba(211,32,39,.68),0 0 23px rgba(211,32,39,.40)!important;
}
body.tabt-product-template-active .tabt-related-card__image {
  background:#030303!important;overflow:hidden!important;border-radius:11px 11px 0 0!important;
}
body.tabt-product-template-active .tabt-related-card__body {
  background:#030303!important;border-radius:0 0 11px 11px!important;
}
@media(max-width:640px){
  body.tabt-product-template-active .tabt-related-track--carousel {
    padding:26px 20px 34px!important;scroll-padding-inline:20px!important;
  }
}

/* v2.3.40 — red thumb/black track for storefront horizontal sliders.
 * Chromium/WebKit: horizontal only. Firefox: the listed scroll containers.
 * The vertical page scrollbar and admin screens retain their original styling.
 */
body :is(.tabt-related-track--carousel,.tabt-product-thumbnails,
  .tabt-home-category-grid--horizontal-scroll,.tabt-home-category-grid--tablet-scroll,
  .tabt-home-category-grid--mobile-scroll,.tabt-home-info-grid--tablet-scroll,
  .tabt-home-info-grid--mobile-scroll,.tabt-home-topbar,.tabt-home-disclaimer) {
  scrollbar-color:#D32027 #030303;
  scrollbar-width:thin;
}
html::-webkit-scrollbar:horizontal,
body::-webkit-scrollbar:horizontal,
body *::-webkit-scrollbar:horizontal {
  height:10px;background:#030303;
}
html::-webkit-scrollbar-track:horizontal,
body::-webkit-scrollbar-track:horizontal,
body *::-webkit-scrollbar-track:horizontal {background:#030303;}
html::-webkit-scrollbar-thumb:horizontal,
body::-webkit-scrollbar-thumb:horizontal,
body *::-webkit-scrollbar-thumb:horizontal {
  background:#D32027;border:2px solid #030303;border-radius:8px;
}
html::-webkit-scrollbar-thumb:horizontal:hover,
body::-webkit-scrollbar-thumb:horizontal:hover,
body *::-webkit-scrollbar-thumb:horizontal:hover {background:#ff3038;}
