/* ======================================================================
   TMB CO Theme — Single product page
   Loaded only on product pages (functions.php → tmb_co_enqueue_styles).
   Order: tmb-core → tmb-universal-styling → tmb-product → tmb-app-shell.
   ====================================================================== */

/* ----------------------------------------------------------------------
   TMB / Crawford Outdoor — Single Product
------------------------------------------------------------------------ */

/* ----------------------------------------------------------------------
   TMB / Crawford Outdoor — Single Product
------------------------------------------------------------------------ */

.tmb-single-product-page {
  padding: clamp(18px, 3vw, 32px) 0 clamp(48px, 6vw, 88px);
}

.tmb-product-gallery {
  min-width: 0;
}

.tmb-product-gallery__main {
  position: relative;
  min-height: 420px;
  aspect-ratio: 1 / .84;
  overflow: hidden;
}

.tmb-product-gallery__main-picture {
  display: block;
  width: 100%;
  height: 100%;
}

.tmb-product-gallery__main-picture > img,
.tmb-product-gallery__main > img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.tmb-product-sale-badge,
.tmb-product-render-notice {
  position: absolute;
  z-index: 5;
}

.tmb-product-sale-badge {
  top: 12px;
  left: 12px;
  background: var(--tmb-primary);
  color: var(--tmb-text-inverse);
  border-color: color-mix(in srgb, var(--tmb-primary) 82%, white);
}

.tmb-product-render-notice {
  top: 12px;
  right: 12px;
  max-width: min(320px, calc(100% - 24px));
  background: rgba(255,255,255,.88);
  color: #0f172a;
}

.tmb-product-gallery__nav {
  position: absolute;
  left: 12px;
  right: 12px;
  bottom: 12px;
  z-index: 6;
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr) 44px;
  gap: 10px;
  align-items: center;
  pointer-events: none;
}

.tmb-product-gallery__button,
.tmb-product-gallery__thumbs {
  pointer-events: auto;
}

.tmb-product-gallery__button {
  width: 44px;
  height: 44px;
  min-height: 44px;
  padding: 0;
}

.tmb-product-gallery__thumbs {
  display: flex;
  align-items: center;
  gap: 10px;
  overflow-x: auto;
  padding: 6px 8px;
  border-radius: var(--tmb-radius-pill);
  border: 1px solid rgba(255,255,255,.55);
  background: rgba(255,255,255,.72);
  backdrop-filter: blur(var(--tmb-ui-blur));
  -webkit-backdrop-filter: blur(var(--tmb-ui-blur));
  box-shadow: var(--tmb-ui-shadow-soft);
  scrollbar-width: thin;
}

.tmb-product-gallery__thumb {
  appearance: none;
  flex: 0 0 auto;
  width: 44px;
  height: 44px;
  padding: 0;
  border-radius: var(--tmb-radius-pill);
  border: 1px solid rgba(255,255,255,.72);
  background: rgba(255,255,255,.72);
  overflow: hidden;
  cursor: pointer;
  transition:
    transform var(--tmb-duration-fast) var(--tmb-ease),
    border-color var(--tmb-duration-fast) var(--tmb-ease),
    box-shadow var(--tmb-duration-fast) var(--tmb-ease);
}

.tmb-product-gallery__thumb:hover,
.tmb-product-gallery__thumb.is-active {
  transform: translateY(-1px);
  border-color: color-mix(in srgb, var(--tmb-primary) 34%, white);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--tmb-primary) 10%, transparent);
}

.tmb-product-gallery__thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* Product page title moved above gallery/summary */

.tmb-product-page-head {
  max-width: min(900px, 100%);
}

/* Warranty callout now lives directly below the sample comparison bar */

.tmb-product-summary {
  display: grid;
  gap: 14px;
}

.woocommerce div.product .tmb-product-summary .product_title {
  color: var(--tmb-text);
  font-family: var(--tmb-font-heading);
  letter-spacing: -.03em;
}

.woocommerce div.product .tmb-product-summary p.price,
.woocommerce div.product .tmb-product-summary span.price {
  color: var(--tmb-text);
  font-size: 1.25rem;
  font-weight: 900;
  margin: 0;
}

.tmb-product-summary form.cart {
  display: grid;
  gap: 12px;
  margin: 0;
}

.tmb-product-summary .quantity .qty {
  min-height: 44px;
  border-radius: var(--tmb-radius-pill);
}

.tmb-product-summary button.single_add_to_cart_button,
.tmb-product-sticky-dock button.single_add_to_cart_button {
  appearance: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 46px;
  padding: 10px 18px;
  border-radius: var(--tmb-radius-pill);
  border: 1px solid var(--tmb-primary);
  background: var(--tmb-primary);
  color: var(--tmb-text-inverse);
  font-weight: 800;
  box-shadow: var(--tmb-ui-shadow-soft);
}

.tmb-product-summary .product_meta {
  margin-top: 4px;
  padding-top: 14px;
  border-top: 1px solid var(--tmb-ui-border);
  color: var(--tmb-text-muted);
  font-size: .92rem;
  line-height: 1.6;
}

.tmb-product-summary .product_meta a {
  color: var(--tmb-primary);
  font-weight: 800;
  text-decoration: none;
}

.tmb-product-overlay {
  position: fixed;
  inset: 0;
  z-index: 999999;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 18px;
  background: rgba(2, 10, 25, .56);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}

.tmb-product-overlay.is-open {
  display: flex;
}

.tmb-product-overlay__card {
  width: min(620px, calc(100vw - 36px));
  max-height: calc(100dvh - 36px);
  overflow: auto;
}

.tmb-product-overlay__head {
  padding-bottom: 12px;
  border-bottom: 1px solid var(--tmb-ui-border);
}

@media (max-width: 899px) {
  body.tmb-has-product-sticky-dock {
    padding-bottom: calc(94px + env(safe-area-inset-bottom, 0px));
  }
  .tmb-product-gallery__nav {
    left: 8px;
    right: 8px;
    bottom: 8px;
    grid-template-columns: 38px minmax(0, 1fr) 38px;
    gap: 8px;
  }
  .tmb-product-gallery__button {
    width: 38px;
    height: 38px;
    min-height: 38px;
  }
  .tmb-product-gallery__thumbs {
    gap: 7px;
    padding: 5px 7px;
  }
  .tmb-product-gallery__thumb {
    width: 38px;
    height: 38px;
  }
  .tmb-product-render-notice {
    top: 8px;
    right: 8px;
    max-width: calc(100% - 16px);
    font-size: .76rem;
    padding: 6px 9px;
  }
  .tmb-product-sticky-dock {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 9999;
    border-radius: var(--tmb-radius-lg) var(--tmb-radius-lg) 0 0;
    padding: 12px 14px calc(12px + env(safe-area-inset-bottom, 0px));
  }
  .tmb-product-sticky-dock form.variations_form {
    margin: 0 !important;
  }
  .tmb-product-sticky-dock .woocommerce-variation-price,
  .tmb-product-sticky-dock .woocommerce-variation-availability,
  .tmb-product-sticky-dock .woocommerce-variation-description {
    display: none !important;
  }
}

/* TMB Single Product — Ultra-small gallery height cap */

/* ----------------------------------------------------------------------
   TMB Single Product — Summary Layout Fix
   Prevent WooCommerce .summary float/width rules and collapsed shortdesc issues.
------------------------------------------------------------------------ */

.woocommerce div.product .tmb-product-top__grid,
.tmb-product-top__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(380px, .95fr);
  gap: clamp(18px, 3vw, 32px);
  align-items: start;
  width: 100%;
}

.woocommerce div.product .tmb-product-gallery,
.woocommerce div.product .tmb-product-summary {
  float: none !important;
  width: 100% !important;
  max-width: none !important;
  clear: none !important;
}

.woocommerce div.product .tmb-product-summary {
  align-self: start;
  display: grid;
  gap: 14px;
  padding: clamp(18px, 2.4vw, 28px);
}

.woocommerce div.product .tmb-product-summary .product_title {
  font-size: clamp(2rem, 3.1vw, 2.9rem);
  line-height: 1.05;
  margin: 0 0 8px;
}

.woocommerce div.product .tmb-product-summary .woocommerce-product-details__short-description {
  position: static !important;
  max-height: none !important;
  overflow: visible !important;
  margin: 0 0 18px;
}

.woocommerce div.product .tmb-product-summary .woocommerce-product-details__short-description::after {
  display: none !important;
}

.woocommerce div.product .tmb-product-summary .co-var-atc {
  margin-top: 0;
}

.woocommerce div.product .tmb-product-summary .co-var-atc .variations td.value select:first-of-type {
  padding-right: 210px;
}

.woocommerce div.product .tmb-product-summary .product_meta,
.woocommerce div.product .tmb-product-summary .co-product-meta {
  margin-top: 22px;
  padding-top: 18px;
  border-top: 1px solid var(--tmb-ui-border);
  display: grid;
  gap: 7px;
}

@media (max-width: 980px) {
  .woocommerce div.product .tmb-product-top__grid,
  .tmb-product-top__grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 520px) {
  .woocommerce div.product .tmb-product-summary .co-var-atc .variations td.value select:first-of-type {
    padding-right: 170px;
  }
}

/* ----------------------------------------------------------------------
   WooCommerce Add To Cart — TMB Universal Layer
   ---------------------------------------------------------------------- */

.tmb-atc,.tmb-atc-form,.tmb-var-atc {
  display:grid;
  gap:12px;
  margin-top:10px;
}

.tmb-atc-row {
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  gap:10px;
  align-items:center;
}

.tmb-qty,.co-qty {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:6px;
  border-radius:var(--tmb-radius-pill);
  background:var(--tmb-ui-surface);
  border:1px solid var(--tmb-ui-border);
  box-shadow:var(--tmb-ui-shadow-soft);
}

.tmb-qty-btn,.co-qty-btn {
  width:38px;
  height:38px;
  min-height:38px;
  padding:0;
  border-radius:var(--tmb-radius-pill);
}

.tmb-qty .qty,.co-qty .qty {
  width:64px;
  height:38px;
  min-height:38px;
  border-radius:var(--tmb-radius-pill);
  text-align:center;
  font-weight:900;
  padding:0 10px;
}

.tmb-atc-btn,.co-atc-btn {
  width:100%;
  min-height:46px;
  border-radius:var(--tmb-radius-pill)!important;
}

.tmb-var-atc .variations {
  width:100%!important;
  border:0!important;
  margin:0!important;
}

.tmb-var-atc .variations tbody,.tmb-var-atc .variations tr {
  display:block;
}

.tmb-var-atc .variations th.label {
  display:none!important;
}

.tmb-var-atc .variations td.value {
  display:grid;
  gap:10px;
  padding:0!important;
  position:relative;
}

.tmb-var-atc .variations select {
  min-height:46px;
  font-weight:800;
}

.tmb-var-atc .variations td.value select:first-of-type {
  padding-right:210px;
}

.tmb-var-atc .single_variation_wrap {
  display:grid;
  gap:10px;
}

.tmb-var-atc .woocommerce-variation-description,.tmb-var-atc .woocommerce-variation-availability {
  display:none!important;
}

.tmb-var-atc .woocommerce-variation-price .price {
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:44px;
  padding:10px 12px;
  border-radius:var(--tmb-radius-sm);
  border:1px solid var(--tmb-ui-border);
  background:var(--tmb-ui-surface);
  font-weight:900;
  color:var(--tmb-text);
}

.tmb-var-atc .woocommerce-variation-add-to-cart .quantity {
  display:none!important;
}

.tmb-qtybar,.co-qtybar {
  display:grid;
  grid-template-columns:54px 1fr 54px;
  height:48px;
  border:1px solid var(--tmb-ui-border);
  background:var(--tmb-ui-surface);
  border-radius:var(--tmb-radius-sm);
  overflow:hidden;
}

.tmb-qtybtn,.co-qtybtn {
  border:0;
  background:transparent;
  color:var(--tmb-text);
  font-weight:900;
  font-size:20px;
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:center;
}

.tmb-qtycenter,.co-qtycenter {
  display:grid;
  place-items:center;
  position:relative;
}

.tmb-qtycenter .qty,.co-qtycenter .qty {
  width:100%;
  height:48px;
  border:0;
  background:transparent;
  text-align:center;
  font-weight:900;
  box-shadow:none;
}

.tmb-cta-center,.co-cta-center {
  position:absolute;
  inset:0;
  border:0;
  background:transparent;
  color:var(--tmb-text);
  font-weight:900;
  cursor:pointer;
  opacity:0;
  pointer-events:none;
}

.tmb-qtybar.co-idle .tmb-cta-center,.co-qtybar.co-idle .co-cta-center {
  opacity:1;
  pointer-events:auto;
}

.tmb-qtybar.co-idle .qty,.co-qtybar.co-idle .qty {
  opacity:0;
  pointer-events:none;
}

.tmb-hide-native-atc,.co-hide-native-atc {
  position:absolute!important;
  left:-9999px!important;
  top:-9999px!important;
  width:1px!important;
  height:1px!important;
  overflow:hidden!important;
}

@media (max-width:980px) {
  .tmb-atc-row {
    grid-template-columns:1fr;
  }
  .tmb-var-atc .variations td.value select:first-of-type {
    padding-right:196px;
  }
}

/* ----------------------------------------------------------------------
   Product Specs / Warranty / Meta
   ---------------------------------------------------------------------- */

.tmb-product-specs-docs__inner {
  align-items:start;
}

.tmb-product-meta>span {
  display:block;
  margin:6px 0;
  color:var(--tmb-text-muted);
}

.tmb-product-meta .sku,.tmb-product-meta .upc {
  color:var(--tmb-text);
  font-weight:800;
}

.tmb-product-warranty {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  text-decoration:none!important;
  color:inherit;
}

.tmb-product-warranty__badges {
  position:relative;
  width:150px;
  height:118px;
  flex:0 0 auto;
}

.tmb-product-warranty__badge {
  position:absolute;
  width:96px;
  height:96px;
  object-fit:contain;
  filter:drop-shadow(0 12px 18px rgba(0,0,0,.22));
  transition:transform var(--tmb-duration-fast) var(--tmb-ease),left var(--tmb-duration-fast) var(--tmb-ease),top var(--tmb-duration-fast) var(--tmb-ease);
}

.tmb-product-warranty__badge--commercial {
  left:18px;
  top:12px;
  transform:rotate(8deg);
}

.tmb-product-warranty__badge--residential {
  left:0;
  top:0;
  z-index:2;
  transform:rotate(-8deg);
}

.tmb-product-warranty:hover .tmb-product-warranty__badge--residential {
  left:-8px;
  top:-6px;
  transform:rotate(-12deg);
}

.tmb-product-warranty:hover .tmb-product-warranty__badge--commercial {
  left:54px;
  top:28px;
  transform:rotate(14deg);
}

@media (max-width: 899px) {
  .tmb-product-warranty {
    display:grid;
    justify-items:center;
    text-align:center;
  }
  .tmb-product-warranty__badge--commercial {
    display:none;
  }
  .tmb-product-warranty__badges {
    width:120px;
    height:120px;
  }
  .tmb-product-warranty__badge--residential {
    position:static;
    width:110px;
    height:110px;
  }
}

/* Migrated from Woo template: single-product/co-specs-docs.php */

.co-specs-docs {
  width: 100%;
  margin-top: 18px;
}

.co-specs-docs__inner {
  max-width: var(--tmb-content-max, 1200px);
  margin: 0 auto;
  padding: 0 var(--tmb-content-gutter, 18px);
  display: grid;
  grid-template-columns: 1.05fr .95fr;
  gap: 18px;
}

.co-specs-table {
  width: 100%;
  border-collapse: collapse;
}

.co-specs-table th,
	.co-specs-table td {
  padding: 10px 10px;
  border-bottom: 1px solid var(--tmb-ui-border, rgba(5,46,69,.10));
  vertical-align: top;
}

.co-specs-table tr:last-child th,
	.co-specs-table tr:last-child td {
  border-bottom: 0;
}

.co-specs-table th {
  width: 55%;
  text-align: left;
  font-size: 13px;
  font-weight: 900;
  color: var(--tmb-primary);
}

.co-specs-table td {
  text-align: right;
  font-size: 13px;
  font-weight: 800;
  color: rgba(11,18,32,.78);
  white-space: nowrap;
}

@media (max-width: 899px) {
  .co-specs-docs__inner {
    grid-template-columns: 1fr;
    padding: 0 16px;
  }
}

/* Migrated from Woo template: single-product/meta.php */

/* Single Product meta — stack SKU / UPC / Category / Collection */

.single-product .product_meta.co-product-meta > span {
  display:block;
  margin: 6px 0;
  color: var(--tmb-text-muted);
}

.single-product .product_meta.co-product-meta > span:first-child {
  margin-top: 0;
}

.single-product .product_meta.co-product-meta > span .sku,
.single-product .product_meta.co-product-meta > span .upc {
  color: var(--tmb-text);
  font-weight: 800;
}

/* Migrated from Woo template: single-product/add-to-cart/variable.php */

/* ==========================================================
   CO VARIABLE ATC — Glassy + Light + Minimal
========================================================== */

.co-atc-row {
  display: none !important;
}

.co-var-atc {
  --co-gap: 10px;
  --co-pill-radius: 14px;
  --co-pill-bg: rgba(255,255,255,.92);
  --co-pill-border: var(--tmb-ui-border, rgba(5,46,69,.12));
  display: grid;
  gap: var(--co-gap);
  margin-top: 10px;
}

/* Keep Woo markup stable */

.co-var-atc .variations {
  width: 100% !important;
  max-width: 100% !important;
  border: 0;
  border-collapse: collapse;
  table-layout: fixed !important;
}

.co-var-atc .variations tbody,
.co-var-atc .variations tr {
  display: block;
}

.co-var-atc .variations th.label {
  display: none !important;
}

.co-var-atc .variations td.value {
  padding: 0;
  margin: 0;
  width: 100%;
  max-width: 100%;
  display: grid;
  gap: var(--co-gap);
  position: relative;
}

/* Select pills */

.co-var-atc .variations td.value select {
  height: 44px;
  border-radius: var(--co-pill-radius);
  border: 1px solid var(--co-pill-border);
  background: var(--co-pill-bg);
  color: var(--tmb-primary);
  font-weight: 850;
  padding: 0 14px;
  width: 100%;
  min-width: 0 !important;
  cursor: pointer;
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  background-image:
		linear-gradient(45deg, transparent 50%, rgba(5,46,69,.55) 50%),
		linear-gradient(135deg, rgba(5,46,69,.55) 50%, transparent 50%);
  background-position:
		calc(100% - 18px) 50%,
		calc(100% - 12px) 50%;
  background-size: 6px 6px, 6px 6px;
  background-repeat: no-repeat;
  padding-right: 34px;
}

.co-var-atc .variations td.value select:focus-visible {
  outline: none;
  box-shadow: 0 0 0 3px var(--tmb-focus, rgba(17,153,187,.35));
}

/* ==========================================================
   Action pills: Clear + Swap
========================================================== */

.co-var-atc .co-variation-actions {
  position: absolute;
  top: 6px;
  right: 8px;
  z-index: 9;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  flex-wrap: nowrap;
}

.co-var-atc .reset_variations {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 32px;
  padding: 0 12px;
  border-radius: 999px;
  border: 1px solid var(--co-pill-border);
  background: var(--co-pill-bg);
  color: rgba(5,46,69,.82);
  font-weight: 950;
  font-size: 12px;
  letter-spacing: .2px;
  line-height: 1;
  text-decoration: none;
  cursor: pointer;
  white-space: nowrap;
}

.co-var-atc .reset_variations:hover {
  color: var(--tmb-primary);
  text-decoration: none;
}

.co-var-atc .reset_variations:active {
  transform: translateY(1px);
}

/* Give the FIRST select room so action pills don’t overlap */

.co-var-atc .variations td.value select:first-of-type {
  padding-right: 210px;
}

/* Wrap */

.co-var-atc .single_variation_wrap {
  display: grid;
  gap: var(--co-gap);
}

/* Hide noisy content; keep price */

.co-var-atc .woocommerce-variation-description,
.co-var-atc .woocommerce-variation-availability {
  display: none !important;
}

/* Dynamic variation price */

.co-var-atc .single_variation {
  margin: 0;
}

.co-var-atc .woocommerce-variation-price {
  display: block !important;
  margin: 0;
}

.co-var-atc .woocommerce-variation-price .price {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 10px 12px;
  border-radius: var(--co-pill-radius);
  border: 1px solid var(--co-pill-border);
  background: var(--co-pill-bg);
  color: var(--tmb-primary);
  font-weight: 950;
  line-height: 1;
  width: 100%;
  justify-content: center;
}

/* Kill native qty UI */

.co-var-atc .woocommerce-variation-add-to-cart .quantity {
  display: none !important;
}

.co-var-atc :is(.plus,.minus,.qty-button,.quantity-button,.quantity-nav,.quantity-nav__button) {
  display: none !important;
}

@media (max-width: 850px) {
  .co-atc-row {
    display:none!important;
  }
  .co-var-atc .woocommerce-variation-add-to-cart :is(.plus,.minus,.quantity-nav,.quantity-nav__button,.qty-button,.quantity-button) {
    display:none!important;
  }
  .co-var-atc .variations td.value select:first-of-type {
    padding-right: 196px;
  }
  .co-var-atc .co-variation-actions {
    gap: 4px;
  }
  .co-var-atc .reset_variations {
    padding: 0 10px;
    font-size: 11px;
  }
}

/* Ensure add-to-cart wrapper doesn’t add margins */

.co-var-atc .woocommerce-variation-add-to-cart {
  margin: 0;
}

/* Qty bar */

.co-qtybar {
  position: relative;
  display: grid;
  grid-template-columns: 54px 1fr 54px;
  align-items: stretch;
  width: 100%;
  height: 48px;
  border: 1px solid var(--co-pill-border);
  background: var(--co-pill-bg);
  border-radius: var(--co-pill-radius);
  overflow: hidden;
}

.co-qtybar > * {
  position: relative;
}

.co-qtybar > *:not(:last-child)::after {
  content:"";
  position:absolute;
  top: 10px;
  bottom: 10px;
  right: 0;
  width: 1px;
  background: rgba(5,46,69,.10);
}

.co-qtybtn {
  border: 0;
  background: transparent;
  color: var(--tmb-primary);
  font-weight: 950;
  font-size: 20px;
  cursor: pointer;
  user-select: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 48px;
  width: 54px;
}

.co-qtybtn:active {
  transform: translateY(1px);
}

.co-qtycenter {
  display: grid;
  place-items: center;
  height: 48px;
  width: 100%;
  position: relative;
}

.co-qtycenter .qty {
  width: 100%;
  height: 48px;
  border: 0;
  background: transparent;
  color: var(--tmb-primary);
  font-weight: 950;
  text-align: center;
  outline: none;
  padding: 0 10px;
  opacity: 1;
  transition: opacity .18s ease;
}

.co-cta-center {
  position: absolute;
  inset: 0;
  border: 0;
  background: transparent;
  color: var(--tmb-primary);
  font-weight: 950;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  pointer-events: none;
  transition: opacity .18s ease;
}

.co-qtybar.co-idle .co-cta-center {
  opacity: 1;
  pointer-events: auto;
}

.co-qtybar.co-idle .co-qtycenter .qty {
  opacity: 0;
  pointer-events: none;
}

.co-hide-native-atc {
  position: absolute !important;
  left: -9999px !important;
  top: -9999px !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
}

@media (min-width: 1024px) {
  .co-var-atc {
    --co-gap: 12px;
  }
}

/* Migrated from Woo template: single-product/add-to-cart/simple.php */

/* ============================================
	   CO ADD TO CART (Simple Product)
	============================================ */

.co-atc-form {
  display: grid;
  gap: 10px;
}

/* Row: qty + button */

/* Pill stepper shell */

/* +/- buttons */

/* Number input */

/* Primary CTA button (subtle lime border, glass) */

/* Full-width on small screens */

/* Migrated from Woo template: single-product/add-to-cart/variation-add-to-cart-button.php */

/* ============================================
   CO VARIATION ADD TO CART (Qty + Button)
   Minimal, glassy, consistent with CO
============================================ */

.co-atc {
  display: grid;
  gap: 10px;
  margin-top: 10px;
}

/* Row: qty + button */

.co-atc-row {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 10px;
  align-items: center;
}

/* Pill stepper shell */

.co-qty {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 6px;
  border-radius: 999px;
  background: rgba(255,255,255,.78);
  border: 1px solid var(--tmb-ui-border, rgba(5,46,69,.12));
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  box-shadow: 0 8px 18px rgba(2,10,25,.06);
}

/* +/- buttons */

.co-qty-btn {
  width: 38px;
  height: 38px;
  border-radius: 999px;
  border: 1px solid var(--tmb-ui-border, rgba(5,46,69,.12));
  background: rgba(255,255,255,.88);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--tmb-primary);
  cursor: pointer;
  transition: transform .15s ease, border-color .15s ease, background .15s ease;
  user-select: none;
}

.co-qty-btn:hover {
  transform: translateY(-1px);
  border-color: rgba(17,153,187,.22);
  background: rgba(255,255,255,.96);
}

.co-qty-btn:focus-visible {
  outline: none;
  box-shadow: 0 0 0 3px var(--tmb-focus, rgba(17,153,187,.35));
}

/* Number input */

.co-qty .qty {
  width: 64px;
  height: 38px;
  border-radius: 999px;
  border: 1px solid var(--tmb-ui-border, rgba(5,46,69,.12));
  background: rgba(255,255,255,.96);
  color: var(--tmb-primary);
  font-weight: 950;
  text-align: center;
  padding: 0 10px;
  -moz-appearance: textfield;
}

.co-qty .qty::-webkit-outer-spin-button,
.co-qty .qty::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

.co-qty .qty:focus-visible {
  outline: none;
  box-shadow: 0 0 0 3px var(--tmb-focus, rgba(17,153,187,.35));
}

/* Primary CTA button (subtle lime border, glass) */

.co-atc-btn {
  height: 42px;
  padding: 0 18px;
  border-radius: 999px;
  border: 1px solid rgba(161,215,0,.45);
  background: rgba(255,255,255,.88);
  color: var(--tmb-primary);
  font-weight: 950;
  cursor: pointer;
  box-shadow: 0 8px 18px rgba(2,10,25,.06);
  transition: transform .15s ease, border-color .15s ease, background .15s ease;
  width: 100%;
}

.co-atc-btn:hover {
  transform: translateY(-1px);
  border-color: rgba(161,215,0,.65);
  background: rgba(255,255,255,.96);
}

.co-atc-btn:focus-visible {
  outline: none;
  box-shadow: 0 0 0 3px var(--tmb-focus, rgba(17,153,187,.35));
}

/* Default Woo wrapper cleanup */

.woocommerce-variation-add-to-cart.variations_button {
  margin: 0;
}

/* Mobile */

@media (max-width: 980px) {
  .co-atc-row {
    grid-template-columns: 1fr;
  }
  .co-qty {
    justify-content: center;
  }
}

/* ----------------------------------------------------------------------
   TMB Single Product — Mobile Refinement
   Purpose: tighter mobile gutters and a taller contained product image frame.
------------------------------------------------------------------------ */

@media (max-width: 899px) {
  .tmb-single-product-page {
    --tmb-content-gutter: 10px;
    padding-top: 12px;
  }
  .tmb-single-product-page .tmb-container {
    width: min(100% - 20px, var(--tmb-content-max));
  }
  .tmb-product-top__grid {
    gap: 14px;
  }
  .tmb-product-gallery__main {
    min-height: 0;
    height: auto;
    aspect-ratio: 1 / .92;
    max-height: 360px;
    border-radius: var(--tmb-radius-lg);
    margin-left: 0;
    margin-right: 0;
  }
  .tmb-product-gallery__main-picture,
  .tmb-product-gallery__main-picture > img,
  .tmb-product-gallery__main > img {
    width: 100%;
    height: 100%;
  }
  .tmb-product-gallery__main-picture > img,
  .tmb-product-gallery__main > img {
    object-fit: cover;
    display: block;
  }
}

@media (max-width: 420px) {
  .tmb-product-gallery__main {
    max-height: 335px;
    aspect-ratio: 1 / .88;
  }
}

/* ----------------------------------------------------------------------
   TMB Single Product — Mobile Tap Zoom Lock
   Purpose:
   - Prevent accidental double-tap zoom while users tap gallery controls,
     swatches, quantity controls, selects, and add-to-cart actions.
   - Scoped to product pages only so normal site browsing remains untouched.
   - Keeps inputs at 16px+ to avoid iOS auto-zoom on focus.
------------------------------------------------------------------------ */

@media (max-width: 899px) {
  body.single-product,
  body.single-product .tmb-single-product-page,
  body.single-product .tmb-product-gallery,
  body.single-product .tmb-product-summary,
  body.single-product .tmb-product-sticky-dock {
    touch-action: manipulation;
  }
  body.single-product .tmb-single-product-page a,
  body.single-product .tmb-single-product-page button,
  body.single-product .tmb-single-product-page input,
  body.single-product .tmb-single-product-page select,
  body.single-product .tmb-single-product-page textarea,
  body.single-product .tmb-product-sticky-dock a,
  body.single-product .tmb-product-sticky-dock button,
  body.single-product .tmb-product-sticky-dock input,
  body.single-product .tmb-product-sticky-dock select,
  body.single-product .tmb-product-sticky-dock textarea {
    touch-action: manipulation;
    -webkit-tap-highlight-color: rgba(15,39,64,.08);
  }
  body.single-product .tmb-product-gallery__main,
  body.single-product .tmb-product-gallery__main-picture,
  body.single-product .tmb-product-gallery__main img,
  body.single-product .tmb-product-gallery__thumb,
  body.single-product .tmb-product-gallery__button,
  body.single-product .co-var-atc .reset_variations,
  body.single-product .co-qtybtn,
  body.single-product .co-cta-center,
  body.single-product .single_add_to_cart_button {
    touch-action: manipulation;
    -webkit-user-select: none;
    user-select: none;
    -webkit-touch-callout: none;
  }
  body.single-product .tmb-single-product-page input,
  body.single-product .tmb-single-product-page select,
  body.single-product .tmb-single-product-page textarea,
  body.single-product .tmb-product-sticky-dock input,
  body.single-product .tmb-product-sticky-dock select,
  body.single-product .tmb-product-sticky-dock textarea {
    font-size: 16px !important;
  }
}

/* ----------------------------------------------------------------------
   TMB Product Visualizer — Carousel Slide Layer Mode
   The visualizer is treated as one gallery slide. Standard product images
   remain normal slides; selected attribute terms render only when the
   visualizer thumbnail/slide is active.
------------------------------------------------------------------------ */

.tmb-product-gallery__main[data-tmb-product-visualizer-main] {
  background: #ffffff;
}

.tmb-product-visualizer-stage {
  position: absolute;
  inset: 0;
  z-index: 3;
  display: none;
  align-items: stretch;
  justify-content: stretch;
  background: #ffffff;
  pointer-events: none;
}

.tmb-product-gallery__main.is-tmb-visualizer-active {
  background: #ffffff !important;
}

.tmb-product-gallery__main.is-tmb-visualizer-active .tmb-product-gallery__main-picture,
.tmb-product-gallery__main.is-tmb-visualizer-active > img[data-tmb-product-gallery-main-img],
.tmb-product-gallery__main.is-tmb-visualizer-active [data-tmb-product-gallery-main-img] {
  opacity: 0 !important;
  visibility: hidden !important;
}

.tmb-product-gallery__main.is-tmb-visualizer-active .tmb-product-visualizer-stage {
  display: block;
}

.tmb-product-visualizer-stage__background,
.tmb-product-visualizer-stage__layer {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  max-width: none;
  max-height: none;
  object-fit: contain;
  object-position: center center;
  padding: 0;
  margin: 0;
}

.tmb-product-visualizer-stage__background {
  z-index: 1;
}

.tmb-product-visualizer-stage__layer {
  z-index: 2;
}

.tmb-product-gallery__main.is-tmb-visualizer-active .tmb-product-render-notice,
.tmb-product-gallery__main.is-tmb-visualizer-active .tmb-product-sale-badge,
.tmb-product-gallery__main.is-tmb-visualizer-active .tmb-product-gallery__nav {
  z-index: 8;
}

.tmb-product-gallery__thumb--visualizer {
  position: relative;
  background: #ffffff;
}

.tmb-product-gallery__visualizer-thumb-stage {
  position: relative;
  display: block;
  width: 100%;
  height: 100%;
  overflow: hidden;
  background: #ffffff;
}

.tmb-product-gallery__visualizer-thumb-stage .tmb-product-visualizer-stage__background,
.tmb-product-gallery__visualizer-thumb-stage .tmb-product-visualizer-stage__layer {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center center;
  padding: 0;
}

/* ----------------------------------------------------------------------
   TMB Product Visualizer — Final Gallery Image Parity Override
   Purpose:
   - Make the composed visualizer slide use the same sizing/positioning model
     as the normal product gallery image.
   - Remove manual vertical offsets; the background and term layers should
     recycle the gallery frame dimensions instead of being nudged by transform.
------------------------------------------------------------------------ */

body.single-product .tmb-product-gallery__main.is-tmb-visualizer-active .tmb-product-visualizer-stage {
  position:absolute !important;
  display:block !important;
  overflow:hidden !important;
  background:#fff !important;
}

body.single-product .tmb-product-gallery__main.is-tmb-visualizer-active .tmb-product-visualizer-stage__background,
body.single-product .tmb-product-gallery__main.is-tmb-visualizer-active .tmb-product-visualizer-stage__layer {
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  max-width:none !important;
  max-height:none !important;
  display:block !important;
  padding:0 !important;
  margin:0 !important;
  transform:none !important;
  transform-origin:center center !important;
}

body.single-product .tmb-product-gallery__visualizer-thumb-stage .tmb-product-visualizer-stage__background,
body.single-product .tmb-product-gallery__visualizer-thumb-stage .tmb-product-visualizer-stage__layer {
  padding:0 !important;
  margin:0 !important;
  transform:none !important;
}

/* Thumb tray category tray: match Brands tray exactly */

/* Single product mobile dock: keep variation/add-to-cart controls above the footer thumb tray. */

@media (max-width: 899px) {
  body.single-product.tmb-has-product-sticky-dock {
    padding-bottom:calc(var(--tmb-mobile-thumb-tray-offset, 78px) + 132px + env(safe-area-inset-bottom, 0px))!important;
  }
  body.single-product .tmb-product-sticky-dock {
    left:max(10px, env(safe-area-inset-left, 0px))!important;
    right:max(10px, env(safe-area-inset-right, 0px))!important;
    bottom:calc(var(--tmb-mobile-thumb-tray-offset, 78px) + 8px)!important;
    width:auto!important;
    max-width:740px!important;
    margin:0 auto!important;
    z-index:950!important;
    border-radius:22px!important;
    padding:10px 12px!important;
  }
  body.single-product .tmb-product-sticky-dock form.variations_form {
    margin:0!important;
  }
}

/* Single Product: TMB Products heading + minimal CRM-style product layout */

body.single-product .tmb-product-page-heading {
  display:grid;
  gap:6px;
  margin:0 0 clamp(14px,2vw,22px);
  padding:0 0 clamp(14px,2vw,18px);
  border-bottom:1px solid var(--tmb-ui-border);
}

body.single-product .tmb-product-page-heading h1 {
  margin:0;
  color:var(--tmb-text);
  font-family:var(--tmb-font-heading);
  font-size:clamp(2rem,4vw,4.25rem);
  line-height:.95;
  letter-spacing:-.055em;
  font-weight:950;
}

body.single-product .tmb-product-page-heading p {
  margin:0;
  max-width:760px;
  color:var(--tmb-text-muted);
  font-size:clamp(1rem,1.45vw,1.25rem);
  line-height:1.35;
  font-weight:700;
}

body.single-product .tmb-product-top__grid {
  gap:clamp(18px,3vw,42px);
}

body.single-product .tmb-product-summary,
body.single-product .tmb-product-gallery {
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}

body.single-product .tmb-product-summary {
  padding:0!important;
  border-radius:0!important;
}

body.single-product .tmb-product-gallery__main,
body.single-product .tmb-media-shell.tmb-product-gallery__main {
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}

body.single-product .tmb-product-gallery__thumbs {
  border:0!important;
  box-shadow:none!important;
  background:rgba(255,255,255,.68)!important;
}

body.single-product .tmb-product-gallery__button,
body.single-product .tmb-product-gallery__thumb {
  box-shadow:none!important;
}

body.single-product .tmb-product-summary button.single_add_to_cart_button,
body.single-product .tmb-product-sticky-dock button.single_add_to_cart_button {
  box-shadow:none!important;
}

body.single-product .co-specs-docs {
  margin-top:clamp(18px,3vw,36px)!important;
  padding-top:clamp(18px,3vw,28px)!important;
  border-top:1px solid var(--tmb-ui-border)!important;
}

body.single-product .co-specs-docs__inner {
  padding-inline:0!important;
}

body.single-product .co-specs-head,
body.single-product .co-video-head {
  padding:0 0 12px!important;
  border-bottom:1px solid var(--tmb-ui-border)!important;
}

body.single-product .co-accordion {
  padding:0!important;
}

body.single-product .co-accordion-item {
  border:0!important;
  border-bottom:1px solid var(--tmb-ui-border)!important;
  border-radius:0!important;
  background:transparent!important;
}

body.single-product .co-accordion-trigger {
  padding-inline:0!important;
}

body.single-product .co-accordion-panel {
  padding-inline:0!important;
}

body.single-product .tmb-product-sticky-dock {
  border:0!important;
  box-shadow:none!important;
  background:rgba(255,255,255,.96)!important;
  backdrop-filter:blur(16px)!important;
  -webkit-backdrop-filter:blur(16px)!important;
}

@media (max-width: 899px) {
  body.single-product .tmb-product-page-heading {
    margin-bottom:12px;
    padding-bottom:12px;
  }
  body.single-product .tmb-product-page-heading h1 {
    font-size:clamp(2rem,11vw,3.35rem);
  }
  body.single-product .tmb-product-page-heading p {
    font-size:1rem;
  }
  body.single-product .co-specs-docs__inner {
    grid-template-columns:1fr!important;
  }
}

/* Single product title replacement: TMB Products Header/Sub-Header */

body.single-product .tmb-product-page-heading__title {
  display:block;
  margin:0;
  color:var(--tmb-text);
  font-family:var(--tmb-font-heading);
  font-size:clamp(2.1rem,4.4vw,4.6rem);
  line-height:.94;
  letter-spacing:-.055em;
  font-weight:950;
}

body.single-product .tmb-product-page-heading__subheader {
  display:block;
  margin:6px 0 0;
  max-width:820px;
  color:var(--tmb-text-muted);
  font-size:clamp(1.05rem,1.45vw,1.35rem);
  line-height:1.28;
  font-weight:700;
}

body.single-product .tmb-product-summary .product_title,
body.single-product .summary .product_title {
  display:none!important;
}

@media (max-width: 899px) {
  body.single-product .tmb-product-page-heading__title {
    font-size:clamp(2rem,11vw,3.4rem);
  }
  body.single-product .tmb-product-page-heading__subheader {
    font-size:1rem;
  }
}

/* Single product anchored TMB Products sections */

body.single-product .tmb-product-detail-sections {
  margin-top:clamp(12px,2.4vw,28px);
}

body.single-product .tmb-product-detail-section {
  gap:clamp(12px,2vw,18px);
  padding:clamp(18px,3vw,34px) 0;
  border-bottom:1px solid var(--tmb-ui-border);
  scroll-margin-top:calc(var(--tmb-product-header-h, 86px) + 20px);
}

body.single-product .tmb-product-detail-section:first-child {
  padding-top:0;
}

body.single-product .tmb-product-detail-rows {
  display:grid;
  margin:0;
}

body.single-product .tmb-product-detail-rows div {
  display:grid;
  grid-template-columns:minmax(120px,.8fr) minmax(0,1fr);
  gap:14px;
  align-items:center;
  min-height:42px;
  padding:10px 0;
  border-bottom:1px solid color-mix(in srgb, var(--tmb-ui-border) 70%, transparent);
}

body.single-product .tmb-product-detail-rows div:last-child {
  border-bottom:0;
}

body.single-product .tmb-product-detail-rows dt {
  margin:0;
  color:var(--tmb-text-muted);
  font-size:12px;
  font-weight:850;
  letter-spacing:.08em;
  text-transform:uppercase;
}

body.single-product .tmb-product-detail-rows dd {
  margin:0;
  color:var(--tmb-text);
  font-size:15px;
  font-weight:800;
  text-align:right;
}

body.single-product .tmb-product-detail-content {
  color:var(--tmb-text);
  max-width:100%;
}

body.single-product .tmb-product-detail-content > :first-child {
  margin-top:0;
}

body.single-product .tmb-product-detail-content > :last-child {
  margin-bottom:0;
}

body.single-product .co-specs-docs {
  display:none!important;
}

@media (max-width: 899px) {
  body.single-product .tmb-product-detail-section {
    padding:20px 0;
    scroll-margin-top:calc(var(--tmb-product-header-h, 72px) + 12px);
  }
  body.single-product .tmb-product-detail-rows div {
    grid-template-columns:1fr auto;
    min-height:38px;
    gap:10px;
  }
  body.single-product .tmb-product-detail-rows dd {
    font-size:14px;
  }
}

/* Single Product: anchored accordion sections */

body.single-product .tmb-product-detail-sections .tmb-container {
  padding-inline:0;
}

body.single-product .tmb-product-accordion-section {
  border:0;
  border-bottom:1px solid var(--tmb-ui-border);
  padding:0;
  margin:0;
  scroll-margin-top:calc(var(--tmb-product-header-h, 86px) + 22px);
}

body.single-product .tmb-product-accordion-section:first-child {
  border-top:1px solid var(--tmb-ui-border);
}

body.single-product .tmb-product-accordion-summary {
  list-style:none;
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  min-height:68px;
  padding:18px 0;
  color:var(--tmb-text);
  font-family:var(--tmb-font-heading);
  font-size:clamp(1.35rem,1.8vw,1.85rem);
  font-weight:900;
  line-height:1.1;
  letter-spacing:-.035em;
}

body.single-product .tmb-product-accordion-summary::-webkit-details-marker {
  display:none;
}

body.single-product .tmb-product-accordion-summary i {
  position:relative;
  flex:0 0 24px;
  width:24px;
  height:24px;
  border-radius:999px;
}

body.single-product .tmb-product-accordion-summary i:before,
body.single-product .tmb-product-accordion-summary i:after {
  content:"";
  position:absolute;
  left:50%;
  top:50%;
  width:14px;
  height:2px;
  border-radius:999px;
  background:currentColor;
  transform:translate(-50%,-50%);
  transition:transform .18s ease, opacity .18s ease;
}

body.single-product .tmb-product-accordion-summary i:after {
  transform:translate(-50%,-50%) rotate(90deg);
}

body.single-product .tmb-product-accordion-section[open] .tmb-product-accordion-summary i:after {
  opacity:0;
  transform:translate(-50%,-50%) rotate(0deg);
}

body.single-product .tmb-product-accordion-panel {
  padding:0 0 clamp(20px,3vw,34px);
}

body.single-product .tmb-product-detail-block {
  display:grid;
  margin:0 0 clamp(18px,2.5vw,28px);
}

body.single-product .tmb-product-detail-block:last-child {
  margin-bottom:0;
}

body.single-product .tmb-product-detail-block h3 {
  margin:0;
  color:var(--tmb-text-muted);
  font-size:12px;
  font-weight:900;
  letter-spacing:.1em;
  text-transform:uppercase;
}

body.single-product .tmb-product-link-list {
  display:grid;
  margin:0;
}

body.single-product .tmb-product-link-row {
  display:grid;
  grid-template-columns:minmax(130px,.8fr) minmax(0,1fr);
  gap:14px;
  align-items:center;
  min-height:48px;
  padding:12px 0;
  border-bottom:1px solid color-mix(in srgb, var(--tmb-ui-border) 70%, transparent);
  color:var(--tmb-text);
  text-decoration:none;
}

body.single-product .tmb-product-link-row:last-child {
  border-bottom:0;
}

body.single-product .tmb-product-link-row span {
  color:var(--tmb-text-muted);
  font-size:12px;
  font-weight:850;
  letter-spacing:.08em;
  text-transform:uppercase;
}

body.single-product .tmb-product-link-row strong {
  justify-self:end;
  color:var(--tmb-primary);
  font-size:15px;
  font-weight:900;
}

body.single-product .tmb-product-link-row.is-disabled strong {
  color:var(--tmb-text-muted);
}

body.single-product .tmb-product-link-row:not(.is-disabled):hover strong,
body.single-product .tmb-product-link-row:not(.is-disabled):focus-visible strong {
  color:var(--tmb-text);
}

body.single-product .tmb-product-detail-section {
  display:none;
}

@media (max-width: 899px) {
  body.single-product .tmb-product-accordion-summary {
    min-height:54px;
    padding:14px 0;
    font-size:clamp(1.2rem,5.2vw,1.45rem);
  }
  body.single-product .tmb-product-accordion-section {
    scroll-margin-top:calc(var(--tmb-product-header-h, 72px) + 14px);
  }
  body.single-product .tmb-product-link-row {
    grid-template-columns:1fr auto;
    min-height:42px;
    gap:10px;
  }
  body.single-product .tmb-product-link-row strong {
    font-size:14px;
  }
}

/* Product page add-to-cart tray: reveal purchase controls from the mobile thumb tray. */

.tmb-product-atc-tray {
  display:none;
}

@media (max-width: 899px) {
  body.single-product.tmb-has-product-atc-tray,
  body.single-product {
    padding-bottom:calc(var(--tmb-mobile-thumb-tray-offset, 78px) + var(--tmb-product-atc-tray-height) + env(safe-area-inset-bottom, 0px))!important;
  }
  body.single-product .tmb-product-atc-tray {
    border-bottom:1px solid rgba(255,255,255,.12);
  }
  body.single-product .tmb-product-atc-tray[hidden] {
    display:none!important;
  }
  body.single-product .tmb-footer.tmb-thumb-tray.is-product-atc-open .tmb-product-atc-tray {
    opacity:1;
    pointer-events:auto;
    transform:translateY(0);
  }
  body.single-product .tmb-product-atc-tray__inner {
    grid-template-rows:auto minmax(0,1fr);
    gap:10px;
  }
  body.single-product .tmb-footer.tmb-thumb-tray.is-product-atc-pinned .tmb-thumb-tray__product-atc-toggle {
    display:none!important;
  }
  body.single-product .tmb-product-atc-tray .tmb-product-sticky-dock,
  body.single-product .tmb-product-atc-tray .tmb-product-sticky-dock--tray {
    position:static!important;
    inset:auto!important;
    left:auto!important;
    right:auto!important;
    bottom:auto!important;
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    box-shadow:none!important;
    backdrop-filter:none!important;
    -webkit-backdrop-filter:none!important;
    -webkit-overflow-scrolling:touch;
  }
  body.single-product .tmb-product-atc-tray .tmb-product-sticky-dock form.variations_form,
  body.single-product .tmb-product-atc-tray .tmb-product-sticky-dock form.cart {
    display:grid;
    margin:0!important;
    padding:0!important;
  }
  body.single-product .tmb-product-atc-tray .co-var-atc .variations td.value {
    display:grid;
  }
  body.single-product .tmb-product-atc-tray .co-var-atc .woocommerce-variation-price .price,
  body.single-product .tmb-product-atc-tray .co-var-atc .woocommerce-variation-availability,
  body.single-product .tmb-product-atc-tray .co-var-atc .woocommerce-variation-description {
    color:#fff!important;
  }
  body.single-product .tmb-thumb-tray__product-atc-toggle {
    display:none!important;
  }
  body.single-product .tmb-thumb-tray__product-atc-toggle.is-active span[aria-hidden="true"] {
    background:#fff!important;
  }
}

/* Product add-to-cart tray refinement: compact quarter-screen panel with scroll tuck behavior. */

@media (max-width: 899px) {
  body.single-product .tmb-footer.tmb-thumb-tray.is-product-atc-open,
  body.single-product.tmb-co-app-shell .tmb-footer.tmb-thumb-tray.is-product-atc-open {
    max-height:calc(var(--tmb-mobile-thumb-tray-offset, 78px) + env(safe-area-inset-bottom,0px))!important;
    overflow:visible!important;
    box-shadow:0 -16px 34px rgba(15,23,32,.22)!important;
  }
  body.single-product .tmb-product-atc-tray {
    position:absolute!important;
    left:0!important;
    right:0!important;
    bottom:calc(var(--tmb-mobile-thumb-tray-offset, 78px) - 2px)!important;
    display:block!important;
    width:100%!important;
    flex:none!important;
    padding:10px max(12px, env(safe-area-inset-left)) 10px max(12px, env(safe-area-inset-right))!important;
    border:0!important;
    border-radius:20px 20px 0 0!important;
    opacity:1!important;
    pointer-events:auto!important;
    transform:translateY(0)!important;
    transition:transform .26s cubic-bezier(.2,.8,.2,1), box-shadow .22s ease!important;
    will-change:transform;
  }
  body.single-product .tmb-product-atc-tray__inner {
    display:block!important;
    width:min(100%,720px)!important;
    margin:0 auto!important;
  }
  body.single-product .tmb-product-atc-tray .tmb-product-sticky-dock form.variations_form,
  body.single-product .tmb-product-atc-tray .tmb-product-sticky-dock form.cart {
    gap:7px!important;
    color:#111827!important;
  }
  body.single-product .tmb-product-atc-tray .co-var-atc .variations,
  body.single-product .tmb-product-atc-tray .co-var-atc .variations tbody,
  body.single-product .tmb-product-atc-tray .co-var-atc .variations tr,
  body.single-product .tmb-product-atc-tray .co-var-atc .variations td,
  body.single-product .tmb-product-atc-tray .co-var-atc .variations th {
    color:#111827!important;
  }
  body.single-product .tmb-product-atc-tray .co-var-atc .variations td.value {
    gap:6px!important;
  }
  body.single-product .tmb-product-atc-tray .co-var-atc .variations td.value select {
    min-height:40px!important;
  }
  body.single-product .tmb-product-atc-tray .co-var-atc .reset_variations,
  body.single-product .tmb-product-atc-tray a.reset_variations {
    text-underline-offset:2px;
  }
  body.single-product .tmb-product-atc-tray .co-qtybar {
    min-height:40px!important;
  }
  body.single-product .tmb-product-atc-tray button.single_add_to_cart_button {
    min-height:42px!important;
  }
}

/* Product tray polish: primary-color section nav + content-sized add-to-cart panel. */

@media (max-width: 899px) {
  body.single-product {
    --tmb-product-atc-tray-height:190px;
  }
  body.single-product .tmb-product-atc-tray {
    height:var(--tmb-product-atc-tray-height, 190px)!important;
    max-height:min(58svh, 520px)!important;
    min-height:0!important;
    z-index:6!important;
    overflow:visible!important;
  }
  body.single-product .tmb-product-atc-tray__inner {
    height:auto!important;
    min-height:0!important;
  }
  body.single-product .tmb-product-atc-tray .tmb-product-sticky-dock,
  body.single-product .tmb-product-atc-tray .tmb-product-sticky-dock--tray {
    height:auto!important;
    max-height:min(56svh, 500px)!important;
    overflow:visible!important;
  }
  body.single-product .tmb-product-atc-tray .tmb-product-sticky-dock form.variations_form,
  body.single-product .tmb-product-atc-tray .tmb-product-sticky-dock form.cart {
    height:auto!important;
  }
}

/* Product footer tray final polish: match ATC panel to footer color and keep dynamic section buttons clean. */

@media (max-width: 899px) {
  body.single-product .tmb-product-atc-tray,
  body.single-product.tmb-co-app-shell .tmb-product-atc-tray {
    background:var(--tmb-brand-surface, var(--tmb-primary))!important;
    color:#fff!important;
  }
  body.single-product .tmb-product-atc-tray {
    border-top:1px solid rgba(255,255,255,.12)!important;
    box-shadow:0 -14px 32px rgba(15,23,42,.22)!important;
  }
  body.single-product .tmb-product-atc-tray,
  body.single-product .tmb-product-atc-tray .tmb-product-sticky-dock,
  body.single-product .tmb-product-atc-tray .tmb-product-sticky-dock--tray,
  body.single-product .tmb-product-atc-tray form,
  body.single-product .tmb-product-atc-tray table,
  body.single-product .tmb-product-atc-tray tbody,
  body.single-product .tmb-product-atc-tray tr,
  body.single-product .tmb-product-atc-tray th,
  body.single-product .tmb-product-atc-tray td,
  body.single-product .tmb-product-atc-tray label,
  body.single-product .tmb-product-atc-tray .label,
  body.single-product .tmb-product-atc-tray .price,
  body.single-product .tmb-product-atc-tray .woocommerce-Price-amount,
  body.single-product .tmb-product-atc-tray .woocommerce-variation-price,
  body.single-product .tmb-product-atc-tray .woocommerce-variation-price .price,
  body.single-product .tmb-product-atc-tray .woocommerce-variation-availability,
  body.single-product .tmb-product-atc-tray .woocommerce-variation-description,
  body.single-product .tmb-product-atc-tray .reset_variations,
  body.single-product .tmb-product-atc-tray a.reset_variations,
  body.single-product .tmb-product-atc-tray .co-qtybtn,
  body.single-product .tmb-product-atc-tray .co-qtybar,
  body.single-product .tmb-product-atc-tray .co-qtybar input {
    color:#fff!important;
  }
  body.single-product .tmb-product-atc-tray select option {
    color:var(--tmb-text, #111827)!important;
    background:#fff!important;
  }
  body.single-product .tmb-product-atc-tray .co-qtybar {
    border:1px solid rgba(255,255,255,.18)!important;
  }
  body.single-product .tmb-product-atc-tray .co-qtybar > *:not(:last-child)::after {
    background:rgba(255,255,255,.16)!important;
  }
}

/* Product page thumb tray/ATC final polish: clean active state, primary text fields, full tuck. */

@media (max-width: 899px) {
  body.single-product {
    --tmb-product-atc-tray-peek:0px!important;
  }
  body.single-product .tmb-product-atc-tray .co-var-atc .variations td.value select,
  body.single-product .tmb-product-atc-tray select {
    color:var(--tmb-brand-surface, var(--tmb-primary, #243342))!important;
    background:#fff!important;
    background-color:#fff!important;
    background-image:none!important;
    border:1px solid rgba(15,23,42,.10)!important;
    box-shadow:none!important;
    -webkit-appearance:none!important;
    appearance:none!important;
  }
  body.single-product .tmb-product-atc-tray .co-var-atc .variations td.value select:first-of-type {
    padding-right:92px!important;
  }
  body.single-product .tmb-product-atc-tray .co-var-atc .reset_variations,
  body.single-product .tmb-product-atc-tray a.reset_variations {
    color:var(--tmb-brand-surface, var(--tmb-primary, #243342))!important;
    background:#fff!important;
    border:1px solid rgba(15,23,42,.10)!important;
    text-decoration:none!important;
  }
  body.single-product .tmb-product-atc-tray .price,
  body.single-product .tmb-product-atc-tray .woocommerce-Price-amount,
  body.single-product .tmb-product-atc-tray .woocommerce-variation-price,
  body.single-product .tmb-product-atc-tray .woocommerce-variation-price .price,
  body.single-product .tmb-product-atc-tray .co-var-atc .woocommerce-variation-price .price {
    color:var(--tmb-brand-surface, var(--tmb-primary, #243342))!important;
  }
  body.single-product .tmb-product-atc-tray .co-var-atc .woocommerce-variation-price .price {
    background:#fff!important;
    border:1px solid rgba(15,23,42,.10)!important;
  }
  body.single-product.tmb-product-atc-collapsed .tmb-product-atc-tray,
  body.single-product .tmb-footer.tmb-thumb-tray.is-product-atc-collapsed .tmb-product-atc-tray {
    z-index:-1!important;
    opacity:0!important;
    pointer-events:none!important;
    transform:translateY(calc(var(--tmb-product-atc-tray-height, 190px) + 18px))!important;
    box-shadow:none!important;
  }
}

/* Product page tray parity: match standard app thumb-tray states and keep ATC qty/action text white. */

@media (max-width: 899px) {
  body.single-product .tmb-product-atc-tray .co-qtybar,
  body.single-product .tmb-product-atc-tray .tmb-qtybar {
    color:#fff!important;
  }
  body.single-product .tmb-product-atc-tray .co-cta-center,
  body.single-product .tmb-product-atc-tray .tmb-cta-center,
  body.single-product .tmb-product-atc-tray .co-qtycenter,
  body.single-product .tmb-product-atc-tray .tmb-qtycenter,
  body.single-product .tmb-product-atc-tray .co-qtycenter .qty,
  body.single-product .tmb-product-atc-tray .tmb-qtycenter .qty,
  body.single-product .tmb-product-atc-tray .co-qtybar input.qty,
  body.single-product .tmb-product-atc-tray .tmb-qtybar input.qty,
  body.single-product .tmb-product-atc-tray .co-qtybtn,
  body.single-product .tmb-product-atc-tray .tmb-qtybtn,
  body.single-product .tmb-product-atc-tray .co-qty-btn,
  body.single-product .tmb-product-atc-tray .tmb-qty-btn,
  body.single-product .tmb-product-atc-tray .co-qty .qty,
  body.single-product .tmb-product-atc-tray .tmb-qty .qty,
  body.single-product .tmb-product-atc-tray .single_add_to_cart_button,
  body.single-product .tmb-product-atc-tray button.single_add_to_cart_button,
  body.single-product .tmb-product-atc-tray .co-atc-btn,
  body.single-product .tmb-product-atc-tray .tmb-atc-btn {
    color:#fff!important;
    -webkit-text-fill-color:#fff!important;
  }
  body.single-product .tmb-product-atc-tray button.single_add_to_cart_button,
  body.single-product .tmb-product-atc-tray button.single_add_to_cart_button:not(.disabled):not(:disabled),
  body.single-product .tmb-product-atc-tray .single_add_to_cart_button,
  body.single-product .tmb-product-atc-tray .co-atc-btn,
  body.single-product .tmb-product-atc-tray .tmb-atc-btn {
    background:rgba(255,255,255,.12)!important;
    border:1px solid rgba(255,255,255,.18)!important;
    color:#fff!important;
    -webkit-text-fill-color:#fff!important;
  }
  body.single-product .tmb-product-atc-tray .co-qtybar input.qty::placeholder,
  body.single-product .tmb-product-atc-tray .tmb-qtybar input.qty::placeholder,
  body.single-product .tmb-product-atc-tray .co-qty .qty::placeholder,
  body.single-product .tmb-product-atc-tray .tmb-qty .qty::placeholder {
    color:rgba(255,255,255,.72)!important;
    -webkit-text-fill-color:rgba(255,255,255,.72)!important;
  }
}

/* Product ATC qty fix: keep the quantity field from flashing white after +/- taps. */

@media (max-width: 899px) {
  body.single-product .tmb-product-atc-tray .co-qtybar,
  body.single-product .tmb-product-atc-tray .tmb-qtybar,
  body.single-product .tmb-product-atc-tray .co-qtycenter,
  body.single-product .tmb-product-atc-tray .tmb-qtycenter {
    background:rgba(255,255,255,.12)!important;
    background-color:rgba(255,255,255,.12)!important;
  }
  body.single-product .tmb-product-atc-tray .co-qtycenter .qty,
  body.single-product .tmb-product-atc-tray .tmb-qtycenter .qty,
  body.single-product .tmb-product-atc-tray .co-qtybar input.qty,
  body.single-product .tmb-product-atc-tray .tmb-qtybar input.qty,
  body.single-product .tmb-product-atc-tray .quantity input.qty,
  body.single-product .tmb-product-atc-tray input[type="number"].qty,
  body.single-product .tmb-product-atc-tray input[type="number"].qty:focus,
  body.single-product .tmb-product-atc-tray input[type="number"].qty:active,
  body.single-product .tmb-product-atc-tray input[type="number"].qty:hover {
    background:transparent!important;
    background-color:transparent!important;
    background-image:none!important;
    border:0!important;
    box-shadow:none!important;
    outline:0!important;
    color:#fff!important;
    -webkit-text-fill-color:#fff!important;
    caret-color:#fff!important;
    appearance:textfield!important;
    -moz-appearance:textfield!important;
  }
  body.single-product .tmb-product-atc-tray input.qty:-webkit-autofill,
  body.single-product .tmb-product-atc-tray input.qty:-webkit-autofill:hover,
  body.single-product .tmb-product-atc-tray input.qty:-webkit-autofill:focus {
    -webkit-text-fill-color:#fff!important;
    -webkit-box-shadow:0 0 0 1000px transparent inset!important;
    transition:background-color 9999s ease-out 0s!important;
  }
}

/* Product ATC qty/CTA swap: when quantity is visible, hide Add to Cart text completely. */

@media (max-width: 899px) {
  body.single-product .tmb-product-atc-tray .co-qtybar:not(.co-idle) .co-cta-center,
  body.single-product .tmb-product-atc-tray .tmb-qtybar:not(.co-idle) .tmb-cta-center {
    opacity:0!important;
    visibility:hidden!important;
    pointer-events:none!important;
  }
  body.single-product .tmb-product-atc-tray .co-qtybar:not(.co-idle) .co-qtycenter .qty,
  body.single-product .tmb-product-atc-tray .tmb-qtybar:not(.co-idle) .tmb-qtycenter .qty,
  body.single-product .tmb-product-atc-tray .co-qtybar:not(.co-idle) input.qty,
  body.single-product .tmb-product-atc-tray .tmb-qtybar:not(.co-idle) input.qty {
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
  }
  body.single-product .tmb-product-atc-tray .co-qtybar.co-idle .co-cta-center,
  body.single-product .tmb-product-atc-tray .tmb-qtybar.co-idle .tmb-cta-center {
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
  }
  body.single-product .tmb-product-atc-tray .co-qtybar.co-idle .co-qtycenter .qty,
  body.single-product .tmb-product-atc-tray .tmb-qtybar.co-idle .tmb-qtycenter .qty,
  body.single-product .tmb-product-atc-tray .co-qtybar.co-idle input.qty,
  body.single-product .tmb-product-atc-tray .tmb-qtybar.co-idle input.qty {
    opacity:0!important;
    visibility:hidden!important;
    pointer-events:none!important;
  }
}

/* Single product trade pricing matrix */

body.single-product .tmb-product-pricing-matrix {
  width:100%;
  margin:0 0 14px;
  padding:0;
  color:var(--tmb-text);
}

body.single-product .tmb-product-pricing-matrix__table {
  width:100%;
  border-collapse:collapse;
  margin:0;
  table-layout:fixed;
  background:transparent;
}

body.single-product .tmb-product-pricing-matrix__table tr {
  border-bottom:1px solid color-mix(in srgb, var(--tmb-ui-border, rgba(5,46,69,.14)) 72%, transparent);
}

body.single-product .tmb-product-pricing-matrix__table tr:first-child {
  border-top:1px solid color-mix(in srgb, var(--tmb-ui-border, rgba(5,46,69,.14)) 72%, transparent);
}

body.single-product .tmb-product-pricing-matrix__table th,
body.single-product .tmb-product-pricing-matrix__table td {
  padding:10px 0;
  vertical-align:middle;
  background:transparent!important;
  border:0!important;
}

body.single-product .tmb-product-pricing-matrix__table th {
  width:38%;
  color:var(--tmb-text-muted);
  font-size:12px;
  font-weight:900;
  line-height:1;
  letter-spacing:.08em;
  text-align:left;
  text-transform:uppercase;
}

body.single-product .tmb-product-pricing-matrix__table td {
  color:var(--tmb-primary);
  font-size:clamp(1rem,1.6vw,1.14rem);
  font-weight:950;
  line-height:1.1;
  text-align:right;
  white-space:nowrap;
}

body.single-product .tmb-tier-price-offer {
  display:inline-flex;
  align-items:baseline;
  justify-content:flex-end;
  gap:9px;
  max-width:100%;
}

body.single-product .tmb-tier-price-offer__dealer {
  color:color-mix(in srgb, var(--tmb-text-muted, #64748b) 62%, transparent);
  font-size:.84em;
  font-weight:800;
  text-decoration-thickness:1px;
  text-decoration-color:currentColor;
}

body.single-product .tmb-tier-price-offer__promo {
  color:var(--tmb-primary);
  font-weight:950;
}

body.single-product .tmb-product-pricing-matrix__table tr[data-tmb-pricing-tier-row^="promo_"] th {
  color:var(--tmb-primary);
  font-size:11px;
}

body.single-product .tmb-product-pricing-matrix__table tr[data-tmb-pricing-tier-row^="promo_"] td {
  color:var(--tmb-primary);
}

body.single-product .tmb-product-pricing-matrix__note {
  margin:8px 0 0;
  color:var(--tmb-text-muted);
  font-size:12px;
  font-weight:700;
  line-height:1.35;
}

@media (max-width: 899px) {
  body.single-product .tmb-product-pricing-matrix {
    margin-bottom:10px;
  }
  body.single-product .tmb-product-pricing-matrix__table th,
  body.single-product .tmb-product-pricing-matrix__table td {
    padding:9px 0;
  }
  body.single-product .tmb-product-pricing-matrix__table td {
    font-size:1rem;
  }
}

/* Product bundle add-ons: optional linked-product tray inside add-to-cart. */

.tmb-product-bundle {
  width:100%;
}

.tmb-product-bundle__toggle {
  appearance:none;
  -webkit-appearance:none;
  width:100%;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  min-height:48px;
  padding:10px 14px;
  border:1px solid rgba(15,23,42,.10);
  border-radius:16px;
  background:rgba(15,23,42,.035);
  color:var(--tmb-text,#111827);
  font:inherit;
  text-align:left;
  cursor:pointer;
}

.tmb-product-bundle__toggle strong,
.tmb-product-bundle__toggle small {
  display:block;
  line-height:1.15;
}

.tmb-product-bundle__toggle strong {
  font-size:.78rem;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.025em;
}

.tmb-product-bundle__toggle small {
  margin-top:3px;
  font-size:.72rem;
  font-weight:800;
  opacity:.72;
}

.tmb-product-bundle__toggle i {
  width:9px;
  height:9px;
  border-right:2px solid currentColor;
  border-bottom:2px solid currentColor;
  transform:rotate(45deg) translateY(-2px);
  transition:transform .18s ease;
  flex:0 0 auto;
}

.tmb-product-bundle.is-open .tmb-product-bundle__toggle i {
  transform:rotate(225deg) translateY(-1px);
}

.tmb-product-bundle__tray {
  margin-top:8px;
  padding:8px;
  border:1px solid rgba(15,23,42,.10);
  border-radius:18px;
  background:#fff;
}

.tmb-product-bundle__list {
  display:grid;
  gap:7px;
}

.tmb-product-bundle__row {
  display:grid;
  align-items:center;
  gap:10px;
  min-height:62px;
  padding:7px 8px;
  border:1px solid transparent;
  border-radius:14px;
  background:rgba(15,23,42,.035);
  color:var(--tmb-text,#111827);
  cursor:pointer;
}

.tmb-product-bundle__row:has(input:checked) {
  border-color:rgba(15,23,42,.16);
  background:rgba(15,23,42,.065);
}

.tmb-product-bundle__row.is-disabled {
  opacity:.56;
  cursor:not-allowed;
}

.tmb-product-bundle__check {
  display:grid;
  place-items:center;
  width:28px;
  height:28px;
}

.tmb-product-bundle__check input {
  position:absolute;
  opacity:0;
  pointer-events:none;
}

.tmb-product-bundle__check span {
  width:21px;
  height:21px;
  border-radius:7px;
  border:2px solid currentColor;
  display:block;
  position:relative;
  opacity:.58;
}

.tmb-product-bundle__check input:checked + span {
  opacity:1;
  background:currentColor;
}

.tmb-product-bundle__check input:checked + span::after {
  content:'';
  position:absolute;
  left:6px;
  top:2px;
  width:5px;
  height:10px;
  border-right:2px solid #fff;
  border-bottom:2px solid #fff;
  transform:rotate(45deg);
}

.tmb-product-bundle__media {
  width:48px;
  height:48px;
  display:block;
  border-radius:12px;
  overflow:hidden;
  background:#fff;
}

.tmb-product-bundle__media img {
  width:100%;
  height:100%;
  object-fit:contain;
  display:block;
}

.tmb-product-bundle__copy {
  min-width:0;
}

.tmb-product-bundle__copy strong,
.tmb-product-bundle__copy small {
  display:block;
  overflow:hidden;
  text-overflow:ellipsis;
}

.tmb-product-bundle__copy strong {
  font-size:.82rem;
  font-weight:900;
  line-height:1.14;
  white-space:nowrap;
}

.tmb-product-bundle__copy small {
  margin-top:3px;
  font-size:.72rem;
  line-height:1.2;
  font-weight:750;
  opacity:.72;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
}

@media (max-width: 899px) {
  body.single-product .tmb-product-atc-tray .tmb-product-bundle {
    margin-bottom:7px!important;
  }
  body.single-product .tmb-product-atc-tray .tmb-product-bundle__toggle {
    min-height:40px!important;
    padding:8px 11px!important;
    border:1px solid rgba(255,255,255,.18)!important;
    background:rgba(255,255,255,.12)!important;
    color:#fff!important;
  }
  body.single-product .tmb-product-atc-tray .tmb-product-bundle__toggle strong {
    font-size:.68rem!important;
  }
  body.single-product .tmb-product-atc-tray .tmb-product-bundle__toggle small {
    font-size:.66rem!important;
  }
  body.single-product .tmb-product-atc-tray .tmb-product-bundle__tray {
    max-height:min(32svh, 260px)!important;
    overflow:auto!important;
    padding:7px!important;
    border:1px solid rgba(255,255,255,.18)!important;
    background:rgba(255,255,255,.10)!important;
    border-radius:16px!important;
  }
  body.single-product .tmb-product-atc-tray .tmb-product-bundle__row {
    min-height:56px!important;
    padding:6px!important;
    gap:8px!important;
    background:#fff!important;
    color:var(--tmb-brand-surface, var(--tmb-primary,#243342))!important;
    border-color:rgba(15,23,42,.08)!important;
  }
  body.single-product .tmb-product-atc-tray .tmb-product-bundle__row:has(input:checked) {
    background:#fff!important;
    border-color:rgba(15,23,42,.20)!important;
  }
  body.single-product .tmb-product-atc-tray .tmb-product-bundle__media {
    width:44px!important;
    height:44px!important;
    background:rgba(15,23,42,.04)!important;
  }
  body.single-product .tmb-product-atc-tray .tmb-product-bundle__copy strong {
    font-size:.75rem!important;
  }
  body.single-product .tmb-product-atc-tray .tmb-product-bundle__copy small {
    font-size:.66rem!important;
  }
}

/* Product bundle refinement: inline Bundle button beside the first variation selector. */

.tmb-variation-selector-row {
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:8px;
  width:100%;
  min-width:0;
}

.tmb-variation-selector-row__select {
  display:block;
  min-width:0;
}

.co-var-atc .variations td.value .tmb-variation-selector-row select,
.co-var-atc .variations td.value .tmb-variation-selector-row select:first-of-type,
body.single-product .tmb-product-atc-tray .co-var-atc .variations td.value .tmb-variation-selector-row select:first-of-type {
  width:100%!important;
  padding-right:34px!important;
}

.co-var-atc .variations td.value .tmb-variation-selector-row.has-bundle-toggle + select,
.co-var-atc .variations td.value .tmb-variation-selector-row.has-bundle-toggle ~ select {
  width:100%!important;
}

.co-var-atc .variations td.value .tmb-variation-selector-row.has-bundle-toggle ~ .co-variation-actions {
  position:static;
  justify-content:flex-end;
  width:100%;
}

.tmb-product-bundle__toggle--inline {
  width:auto;
  min-width:94px;
  height:44px;
  min-height:44px;
  padding:0 14px;
  justify-content:center;
  text-align:center;
  white-space:nowrap;
}

.tmb-product-bundle__toggle--inline span,
.tmb-product-bundle__toggle--inline strong {
  display:block;
}

.tmb-product-bundle__toggle--inline i,
.tmb-product-bundle__toggle--inline small {
  display:none;
}

.tmb-product-bundle__toggle.is-active,
.tmb-product-bundle.is-open .tmb-product-bundle__toggle {
  border-color:rgba(15,23,42,.22);
  background:var(--tmb-brand-surface, var(--tmb-primary,#243342));
  color:#fff;
  box-shadow:0 8px 18px rgba(15,23,42,.16);
}

.tmb-product-bundle__row {
  grid-template-columns:28px 48px minmax(0,1fr) auto;
}

.tmb-product-bundle__price {
  justify-self:end;
  text-align:right;
  white-space:nowrap;
  font-size:.78rem;
  line-height:1.1;
  font-weight:950;
  color:inherit;
}

.tmb-product-bundle__price .price,
.tmb-product-bundle__price .woocommerce-Price-amount {
  color:inherit;
  font-weight:950;
}

@media (max-width: 899px) {
  body.single-product .tmb-product-atc-tray .tmb-variation-selector-row {
    grid-template-columns:minmax(0,1fr) 92px;
    gap:7px;
  }
  body.single-product .tmb-product-atc-tray .tmb-product-bundle__toggle--inline {
    min-width:0!important;
    width:92px!important;
    height:40px!important;
    min-height:40px!important;
    padding:0 10px!important;
    border:1px solid rgba(15,23,42,.10)!important;
    border-radius:14px!important;
    background:#fff!important;
    color:var(--tmb-brand-surface, var(--tmb-primary,#243342))!important;
    box-shadow:none!important;
  }
  body.single-product .tmb-product-atc-tray .tmb-product-bundle__toggle--inline strong {
    font-size:.72rem!important;
    letter-spacing:.03em!important;
  }
  body.single-product .tmb-product-atc-tray .tmb-product-bundle__toggle--inline.is-active {
    background:rgba(255,255,255,.16)!important;
    color:#fff!important;
    border-color:rgba(255,255,255,.28)!important;
    box-shadow:inset 0 0 0 1px rgba(255,255,255,.10)!important;
  }
  body.single-product .tmb-product-atc-tray .tmb-product-bundle__row {
    grid-template-columns:26px 44px minmax(0,1fr) auto!important;
  }
  body.single-product .tmb-product-atc-tray .tmb-product-bundle__price {
    max-width:76px;
    font-size:.7rem!important;
    color:var(--tmb-brand-surface, var(--tmb-primary,#243342))!important;
  }
  body.single-product .tmb-product-atc-tray .tmb-product-bundle__price .price,
  body.single-product .tmb-product-atc-tray .tmb-product-bundle__price .woocommerce-Price-amount {
    color:inherit!important;
  }
}

.tmb-product-bundle__row.is-checked {
  border-color:rgba(15,23,42,.16);
  background:rgba(15,23,42,.065);
}

@media (max-width: 899px) {
  body.single-product .tmb-product-atc-tray .tmb-product-bundle__row.is-checked {
    background:#fff!important;
    border-color:rgba(15,23,42,.20)!important;
  }
}

/* Product price toggle for logged-in non-customer users. Normal price stays visible; compact control reveals tier matrix. */

body.single-product .tmb-product-price-toggle-wrap {
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:6px;
  width:100%;
  margin:0 0 14px;
}

body.single-product .tmb-product-price-toggle-wrap__main {
  min-width:0;
}

body.single-product .tmb-product-price-toggle-wrap__main .price {
  margin:0!important;
}

body.single-product .tmb-product-price-toggle {
  appearance:none;
  display:inline-flex;
  align-items:center;
  gap:6px;
  margin:0;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  color:var(--tmb-primary, #052e45);
  box-shadow:none;
  font-size:12px;
  line-height:1.2;
  font-weight:800;
  letter-spacing:.02em;
  text-transform:uppercase;
  cursor:pointer;
}

body.single-product .tmb-product-price-toggle__icon {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:17px;
  height:17px;
  border-radius:999px;
  color:currentColor;
}

body.single-product .tmb-product-price-toggle svg {
  width:15px;
  height:15px;
}

body.single-product .tmb-product-price-toggle__label {
  border-bottom:1px solid currentColor;
}

body.single-product .tmb-product-price-toggle:hover,
body.single-product .tmb-product-price-toggle:focus-visible,
body.single-product .tmb-product-price-toggle.is-active {
  color:var(--tmb-primary-hover, var(--tmb-primary, #052e45));
  outline:none;
}

body.single-product .tmb-product-price-toggle:focus-visible .tmb-product-price-toggle__label {
  outline:2px solid currentColor;
  outline-offset:3px;
}

body.single-product .tmb-product-price-toggle-wrap .tmb-product-pricing-matrix {
  width:100%;
  margin:4px 0 0;
}

body.single-product .tmb-product-price-toggle-wrap.is-tier-pricing .tmb-product-price-toggle__label {
  border-bottom-color:transparent;
}

/* Bundle tray spacing fix: closed bundle tray should not create an empty gap below attributes. */

.tmb-product-bundle {
  margin:0;
}

.tmb-product-bundle.is-open {
  margin:0 0 10px;
}

.co-var-atc .variations td.value.has-bundle-toggle,
body.single-product .tmb-product-atc-tray .co-var-atc .variations td.value.has-bundle-toggle {
  gap:6px!important;
}

.co-var-atc .variations td.value.has-bundle-toggle .tmb-variation-selector-row + select,
body.single-product .tmb-product-atc-tray .co-var-atc .variations td.value.has-bundle-toggle .tmb-variation-selector-row + select {
  margin-top:0!important;
}

@media (max-width: 899px) {
  body.single-product .tmb-product-atc-tray .co-var-atc .variations td.value.has-bundle-toggle .co-variation-actions {
    display:none!important;
  }
  body.single-product .tmb-product-atc-tray .tmb-product-bundle {
    margin:0!important;
  }
  body.single-product .tmb-product-atc-tray .tmb-product-bundle.is-open {
    margin:0 0 7px!important;
  }
}

body.single-product .tmb-bundle-price-hidden {
  display:none!important;
}

/* Bundle-aware add-to-cart price: when linked items are selected, show the full bundle total times quantity. */

.tmb-bundle-total-price,
.woocommerce-variation-price .price.is-bundle-total {
  display:flex!important;
  align-items:center;
  justify-content:center;
  gap:8px;
}

.tmb-bundle-total-price__label {
  display:inline-flex;
  align-items:center;
  font-size:11px;
  line-height:1;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
  opacity:.64;
}

.woocommerce-variation-price .price.is-bundle-total .woocommerce-Price-amount,
.tmb-bundle-total-price.is-bundle-total .woocommerce-Price-amount,
.tmb-bundle-total-price .woocommerce-Price-amount {
  font-weight:950;
}

@media (max-width: 899px) {
  body.single-product .tmb-product-atc-tray .tmb-bundle-total-price,
  body.single-product .tmb-product-atc-tray .woocommerce-variation-price .price.is-bundle-total {
    min-height:38px!important;
    padding:8px 10px!important;
    border:1px solid rgba(15,23,42,.10)!important;
    border-radius:12px!important;
    background:#fff!important;
    color:var(--tmb-brand-surface, var(--tmb-primary, #243342))!important;
  }
  body.single-product .tmb-product-atc-tray .tmb-bundle-total-price__label {
    color:inherit!important;
  }
}

/* Bundle products use one managed add-to-cart price. Hide WooCommerce's native variation price
   so selecting a variant does not create a duplicate price above the tray total. */

body.single-product form.variations_form.is-tmb-bundle-managed-pricing .single_variation .woocommerce-variation-price,
body.single-product form.variations_form.is-tmb-bundle-managed-pricing .single_variation .woocommerce-variation-price .price {
  display:none!important;
}

/* Order total refinement: always show qty-aware total, with a small per-each courtesy line. */

.tmb-bundle-total-price.is-order-total,
.tmb-bundle-total-price.is-bundle-total,
.woocommerce-variation-price .price.is-bundle-total {
  display:flex!important;
  align-items:center;
  justify-content:center;
  gap:10px;
}

.tmb-bundle-total-price__stack {
  display:inline-flex;
  flex-direction:column;
  align-items:flex-start;
  line-height:1.05;
}

.tmb-bundle-total-price__each {
  display:block;
  margin-top:4px;
  font-size:11px;
  line-height:1;
  font-weight:800;
  letter-spacing:.03em;
  opacity:.58;
  text-transform:uppercase;
}

@media (max-width: 899px) {
  body.single-product .tmb-product-atc-tray .tmb-bundle-total-price.is-order-total,
  body.single-product .tmb-product-atc-tray .tmb-bundle-total-price.is-bundle-total {
    min-height:46px!important;
  }
  body.single-product .tmb-product-atc-tray .tmb-bundle-total-price__stack {
    align-items:flex-start;
  }
  body.single-product .tmb-product-atc-tray .tmb-bundle-total-price__each {
    font-size:10px;
  }
}

/* Product inventory: total current + inbound with optional warehouse breakdown. */

.tmb-product-inventory {
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:6px;
  width:100%;
  margin:10px 0 18px;
  color:var(--tmb-text, var(--tmb-primary, #052e45));
}

.tmb-product-inventory__summary {
  display:flex;
  align-items:baseline;
  flex-wrap:wrap;
  gap:6px;
  margin:0;
  color:var(--tmb-text, var(--tmb-primary, #052e45));
  font-size:1.25rem;
  line-height:1.2;
  font-weight:900;
  letter-spacing:0;
}

.tmb-product-inventory__label,
.tmb-product-inventory__summary strong {
  color:inherit;
  font-size:1em;
  line-height:inherit;
  font-weight:900;
  text-transform:none;
  letter-spacing:inherit;
}

.tmb-product-inventory__inbound {
  color:var(--tmb-text-muted, rgba(36,51,66,.68));
  font-size:.78em;
  font-weight:900;
  letter-spacing:.02em;
  text-transform:uppercase;
}

.tmb-product-inventory__toggle {
  appearance:none;
  display:inline-flex;
  align-items:center;
  gap:6px;
  margin:0;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  color:var(--tmb-primary, #052e45);
  box-shadow:none;
  font-size:12px;
  line-height:1.2;
  font-weight:800;
  letter-spacing:.02em;
  text-transform:uppercase;
  cursor:pointer;
}

.tmb-product-inventory__toggle:hover,
.tmb-product-inventory__toggle:focus-visible,
.tmb-product-inventory__toggle.is-active {
  color:var(--tmb-primary-hover, var(--tmb-primary, #052e45));
  outline:none;
}

.tmb-product-inventory__toggle-icon {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:17px;
  height:17px;
  border-radius:999px;
  color:currentColor;
}

.tmb-product-inventory__toggle-icon svg {
  width:15px;
  height:15px;
  display:block;
}

.tmb-product-inventory__toggle span[data-tmb-inventory-toggle-label] {
  border-bottom:1px solid currentColor;
}

.tmb-product-inventory__toggle.is-active span[data-tmb-inventory-toggle-label] {
  border-bottom-color:transparent;
}

.tmb-product-inventory__matrix {
  width:100%;
  max-width:none;
  margin:4px 0 0;
  padding:0;
  border:0;
  border-radius:0;
  overflow:visible;
  background:transparent;
  box-shadow:none;
  color:var(--tmb-text, var(--tmb-primary, #052e45));
}

.tmb-product-inventory__table {
  width:100%;
  margin:0;
  border-collapse:collapse;
  table-layout:fixed;
  background:transparent;
  font-size:13px;
  line-height:1.25;
}

.tmb-product-inventory__table tr {
  border-bottom:1px solid color-mix(in srgb, var(--tmb-ui-border, rgba(5,46,69,.14)) 72%, transparent);
}

.tmb-product-inventory__table thead tr:first-child {
  border-top:1px solid color-mix(in srgb, var(--tmb-ui-border, rgba(5,46,69,.14)) 72%, transparent);
}

.tmb-product-inventory__table th,
.tmb-product-inventory__table td {
  padding:10px 0;
  border:0!important;
  background:transparent!important;
  vertical-align:middle;
}

.tmb-product-inventory__table thead th,
.tmb-product-inventory__table tbody th,
.tmb-product-inventory__table tfoot th {
  color:var(--tmb-text-muted, rgba(36,51,66,.68));
  font-size:12px;
  font-weight:900;
  line-height:1;
  letter-spacing:.08em;
  text-align:left;
  text-transform:uppercase;
}

.tmb-product-inventory__table tbody th {
  color:var(--tmb-text, var(--tmb-primary, #052e45));
  letter-spacing:0;
  text-transform:none;
}

.tmb-product-inventory__table tbody td,
.tmb-product-inventory__table tfoot td {
  color:var(--tmb-primary, #052e45);
  font-size:clamp(1rem,1.6vw,1.14rem);
  font-weight:950;
  line-height:1.1;
  text-align:right;
  white-space:nowrap;
}

.tmb-product-inventory__table thead th:nth-child(2),
.tmb-product-inventory__table thead th:nth-child(3) {
  text-align:right;
}

.tmb-product-inventory__table tfoot th {
  color:var(--tmb-text-muted, rgba(36,51,66,.68));
}

.tmb-product-inventory__table tfoot tr {
  border-bottom:1px solid color-mix(in srgb, var(--tmb-ui-border, rgba(5,46,69,.14)) 72%, transparent);
}

@media (max-width: 899px) {
  body.single-product .tmb-product-price-toggle-wrap .tmb-product-inventory {
    margin:8px 0 14px;
    gap:5px;
  }
  .tmb-product-inventory__summary {
    gap:5px;
    font-size:1.25rem;
  }
  .tmb-product-inventory__inbound {
    font-size:.72em;
  }
  .tmb-product-inventory__toggle {
    font-size:11px;
  }
  .tmb-product-inventory__table th,
  .tmb-product-inventory__table td {
    padding:9px 0;
  }
  .tmb-product-inventory__table tbody td,
  .tmb-product-inventory__table tfoot td {
    font-size:1rem;
  }
}

/* Simple product add-to-cart parity with custom variable product qty bar */

.co-simple-atc .woocommerce-simple-add-to-cart {
  margin:0;
  display:grid;
  gap:10px;
}

.co-simple-atc .co-qtycenter .quantity {
  width:100%;
  height:100%;
  margin:0!important;
  display:grid!important;
  place-items:center;
  background:transparent!important;
  border:0!important;
}

.co-simple-atc .co-qtycenter .quantity .screen-reader-text {
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  padding:0!important;
  margin:-1px!important;
  overflow:hidden!important;
  clip:rect(0,0,0,0)!important;
  white-space:nowrap!important;
  border:0!important;
}

.co-simple-atc .co-qtycenter input.qty {
  width:100%!important;
  height:48px!important;
  border:0!important;
  background:transparent!important;
  color:var(--tmb-primary);
  font-weight:950;
  text-align:center;
  outline:none!important;
  padding:0 10px!important;
  box-shadow:none!important;
  appearance:textfield;
  -moz-appearance:textfield;
}

.co-simple-atc .co-qtycenter input.qty::-webkit-outer-spin-button,
.co-simple-atc .co-qtycenter input.qty::-webkit-inner-spin-button {
  -webkit-appearance:none;
  margin:0;
}

/* Main single-product dealer offer: standard dealer cost + active promotional cost. */

body.single-product .tmb-main-promo-offer {
  display:flex;
  align-items:baseline;
  flex-wrap:wrap;
  gap:10px;
}

body.single-product .tmb-main-promo-offer__dealer {
  color:color-mix(in srgb, var(--tmb-text-muted, #64748b) 58%, transparent);
  font-size:.76em;
  font-weight:750;
  text-decoration-thickness:1px;
  text-decoration-color:currentColor;
}

body.single-product .tmb-main-promo-offer__promo {
  color:inherit;
  font:inherit;
}

/* TMB product ordering increments */

body.single-product .tmb-order-increment {
  display:flex;
  align-items:flex-end;
  gap:12px;
  margin:0 0 12px;
}

body.single-product .tmb-order-increment__field {
  display:flex;
  flex-direction:column;
  gap:5px;
  margin:0;
}

body.single-product .tmb-order-increment__field>span {
  font-size:12px;
  font-weight:700;
  letter-spacing:.02em;
  color:var(--co-muted,#667085);
}

body.single-product .tmb-order-increment select {
  min-width:170px;
  height:42px;
  border:1px solid var(--co-border,#d7dce2);
  border-radius:10px;
  background:#fff;
  padding:0 34px 0 12px;
  font:inherit;
  font-weight:700;
  color:var(--co-navy,#0d2942);
}

body.single-product .tmb-order-increment__qty-unit {
  display:none!important;
}

body.single-product .tmb-qtycenter {
  position:relative;
}

body.single-product .tmb-qty-readout {
  display:block;
  width:100%;
  margin:7px 0 0;
  text-align:center;
  font-size:12px;
  font-weight:800;
  line-height:1.25;
  color:var(--co-muted,#667085);
  white-space:nowrap;
}

@media(max-width:600px) {
  body.single-product .tmb-order-increment {
    margin-bottom:9px;
  }
  body.single-product .tmb-order-increment__field {
    width:100%;
  }
  body.single-product .tmb-order-increment select {
    width:100%;
  }
}

/* v2.9.44 packaging specs thumbnails */

.tmb-pack-spec-desc {
  margin:.25rem 0 1rem;
  color:var(--tmb-muted,#5f6873);
}

@media(min-width:700px) {
  .tmb-product-package-list {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:16px;
  }
}

/* v2.9.45 compact product / packaging specification cards */

body.single-product .tmb-product-detail-block {
  gap:12px;
}

body.single-product .tmb-product-package-list {
  display:grid;
  grid-template-columns:1fr!important;
  gap:12px;
}

body.single-product .tmb-spec-card {
  display:grid;
  grid-template-columns:112px minmax(0,1fr);
  gap:20px;
  align-items:start;
  padding:16px;
  border:1px solid color-mix(in srgb,var(--tmb-ui-border) 78%,transparent);
  border-radius:14px;
  background:color-mix(in srgb,var(--tmb-surface,#fff) 96%,var(--tmb-text) 4%);
}

body.single-product .tmb-spec-card__thumb {
  width:112px;
  aspect-ratio:1;
  border:1px solid color-mix(in srgb,var(--tmb-ui-border) 78%,transparent);
  border-radius:10px;
  overflow:hidden;
  background:#fff;
}

body.single-product .tmb-spec-card__thumb img {
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
}

body.single-product .tmb-spec-card__body {
  min-width:0;
}

body.single-product .tmb-spec-card__body h4 {
  margin:0 0 6px;
  color:var(--tmb-text);
  font-size:13px;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}

body.single-product .tmb-spec-card .tmb-pack-spec-desc {
  margin:0 0 8px;
  font-size:13px;
  line-height:1.45;
  color:var(--tmb-text-muted);
}

body.single-product .tmb-spec-card .tmb-product-detail-rows {
  grid-template-columns:repeat(2,minmax(0,1fr));
  column-gap:24px;
}

body.single-product .tmb-spec-card .tmb-product-detail-rows div {
  grid-template-columns:minmax(72px,.75fr) minmax(0,1fr);
  min-height:36px;
  padding:7px 0;
}

body.single-product .tmb-spec-card .tmb-product-detail-rows dt {
  font-size:11px;
}

body.single-product .tmb-spec-card .tmb-product-detail-rows dd {
  font-size:14px;
}

@media(max-width:700px) {
  body.single-product .tmb-spec-card {
    grid-template-columns:84px minmax(0,1fr);
    gap:14px;
    padding:12px;
  }
  body.single-product .tmb-spec-card__thumb {
    width:84px;
  }
  body.single-product .tmb-spec-card .tmb-product-detail-rows {
    grid-template-columns:1fr;
  }
}

@media(max-width:440px) {
  body.single-product .tmb-spec-card {
    grid-template-columns:1fr;
  }
  body.single-product .tmb-spec-card__thumb {
    width:96px;
  }
}

/* 2.9.46 — Spec cards gracefully collapse when no thumbnail is available. */

body.single-product .tmb-spec-card:not(:has(.tmb-spec-card__thumb)) {
  grid-template-columns:minmax(0,1fr);
}

body.single-product .tmb-spec-card:not(:has(.tmb-spec-card__thumb)) .tmb-spec-card__body {
  width:100%;
  max-width:none;
}

body.single-product .tmb-spec-card:not(:has(.tmb-spec-card__thumb)) .tmb-product-detail-rows {
  width:100%;
  grid-template-columns:repeat(2,minmax(0,1fr));
  column-gap:28px;
}

@media(max-width:700px) {
  body.single-product .tmb-spec-card:not(:has(.tmb-spec-card__thumb)) .tmb-product-detail-rows {
    grid-template-columns:1fr;
  }
}

/* 2.9.48: Packaging SKU beside card label */

body.single-product .tmb-spec-card__body h4 {
  display:flex;
  align-items:baseline;
  flex-wrap:wrap;
  gap:7px;
}

body.single-product .tmb-spec-card__sku {
  font-size:11px;
  font-weight:700;
  letter-spacing:.04em;
  text-transform:none;
  color:var(--tmb-text-muted);
  opacity:.78;
}

body.single-product .tmb-spec-card__sku::before {
  content:"·";
  margin-right:7px;
  opacity:.6;
}

/* Single Product: associated merchandising — match compact package/case specification cards */

body.single-product .tmb-product-merchandising-list {
  padding:4px 0 8px;
}

body.single-product .tmb-merchandising-spec-card__title {
  color:var(--tmb-text);
  text-decoration:none;
}

body.single-product .tmb-merchandising-spec-card__title:hover {
  text-decoration:underline;
}

body.single-product .tmb-merchandising-spec-card .tmb-spec-card__thumb {
  display:block;
}

body.single-product .tmb-merchandising-spec-card .tmb-spec-card__thumb img {
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
}

/* Dealer order merchandising prompt — intentionally separate from bundle UI. */

.tmb-merch-order-modal[hidden] {
  display:none!important;
}

.tmb-merch-order-modal {
  position:fixed;
  inset:0;
  z-index:999999;
  display:grid;
  place-items:center;
  padding:20px;
}

.tmb-merch-order-modal__backdrop {
  position:absolute;
  inset:0;
  background:rgba(8,20,32,.58);
  backdrop-filter:blur(2px);
}

.tmb-merch-order-modal__dialog {
  position:relative;
  width:min(520px,100%);
  max-height:min(720px,90vh);
  overflow:auto;
  background:#fff;
  border-radius:16px;
  padding:26px;
  box-shadow:0 24px 70px rgba(0,0,0,.24);
}

.tmb-merch-order-modal__close {
  position:absolute;
  right:14px;
  top:12px;
  border:0;
  background:transparent;
  font-size:28px;
  line-height:1;
  cursor:pointer;
}

.tmb-merch-order-modal__eyebrow {
  text-transform:uppercase;
  letter-spacing:.08em;
  font-size:11px;
  font-weight:800;
  opacity:.6;
}

.tmb-merch-order-modal__dialog h3 {
  margin:5px 32px 6px 0;
  font-size:24px;
}

.tmb-merch-order-modal__dialog>p {
  margin:0 0 18px;
  opacity:.72;
}

.tmb-merch-order-modal__items {
  border-top:1px solid rgba(15,39,64,.12);
}

.tmb-merch-order-modal__item {
  display:grid;
  grid-template-columns:48px 1fr auto;
  gap:12px;
  align-items:center;
  padding:11px 0;
  border-bottom:1px solid rgba(15,39,64,.12);
}

.tmb-merch-order-modal__thumb {
  width:48px;
  height:48px;
  border-radius:7px;
  overflow:hidden;
  background:#f5f6f7;
  display:grid;
  place-items:center;
}

.tmb-merch-order-modal__thumb img {
  width:100%;
  height:100%;
  object-fit:contain;
}

.tmb-merch-order-modal__item strong,.tmb-merch-order-modal__item small {
  display:block;
}

.tmb-merch-order-modal__item small {
  margin-top:2px;
  opacity:.6;
  font-size:11px;
}

.tmb-merch-order-modal__item b {
  font-size:13px;
}

.tmb-merch-order-modal__actions {
  display:flex;
  justify-content:flex-end;
  gap:10px;
  margin-top:20px;
}

.tmb-merch-order-modal__yes {
  font-weight:800;
}

@media(max-width:520px) {
  .tmb-merch-order-modal {
    align-items:end;
    padding:10px;
  }
  .tmb-merch-order-modal__dialog {
    border-radius:16px 16px 10px 10px;
    padding:22px 18px;
  }
  .tmb-merch-order-modal__actions {
    display:grid;
    grid-template-columns:1fr;
  }
  .tmb-merch-order-modal__actions .tmb-btn {
    width:100%;
  }
}

/* v2.9.55 — My Account navigation aligned exactly to the ICS auto-reveal sidebar */

/* v2.9.56 — My Account shell: exact ICS rail + full-width workspace */

/* v2.9.57 — real icons in the ICS-style My Account rail */

/* v2.9.59 — constrain dashboard-tile image assets to the ICS rail icon size. */

/* TMB Single Product — Expanded contained gallery canvas — 2.9.61 */

body.single-product .tmb-product-gallery__main,
body.single-product .tmb-media-shell.tmb-product-gallery__main {
  min-height:clamp(500px,52vw,680px);
  height:auto;
  aspect-ratio:1 / 1;
  display:flex;
  align-items:center;
  justify-content:center;
  box-sizing:border-box;
}

body.single-product .tmb-product-gallery__main-picture {
  width:100%;
  height:100%;
  display:flex;
  align-items:center;
  justify-content:center;
}

body.single-product .tmb-product-gallery__main-picture > img,
body.single-product .tmb-product-gallery__main > img {
  width:100%;
  height:100%;
  max-width:100%;
  max-height:100%;
  object-fit:contain!important;
  object-position:center center;
}

@media (max-width: 780px) {
  body.single-product .tmb-product-gallery__main,
  body.single-product .tmb-media-shell.tmb-product-gallery__main {
    min-height:clamp(390px,112vw,520px);
    max-height:none;
    aspect-ratio:1 / 1;
  }
}

@media (max-width: 420px) {
  body.single-product .tmb-product-gallery__main,
  body.single-product .tmb-media-shell.tmb-product-gallery__main {
    min-height:390px;
    max-height:none;
    aspect-ratio:1 / 1;
  }
}

/* TMB Single Product — Visualizer contained gallery parity — 2.9.62
   Keep the composed visualizer inside the same padded canvas as standard
   gallery images. The visualizer stage is absolutely positioned, so it must
   explicitly honor the gallery's containment padding. */

body.single-product .tmb-product-gallery__main,
body.single-product .tmb-media-shell.tmb-product-gallery__main {
  --tmb-product-gallery-contain-pad:clamp(20px,3vw,42px);
  padding:var(--tmb-product-gallery-contain-pad);
}

body.single-product .tmb-product-gallery__main.is-tmb-visualizer-active .tmb-product-visualizer-stage {
  inset:var(--tmb-product-gallery-contain-pad) !important;
  width:auto !important;
  height:auto !important;
}

body.single-product .tmb-product-gallery__main.is-tmb-visualizer-active .tmb-product-visualizer-stage__background,
body.single-product .tmb-product-gallery__main.is-tmb-visualizer-active .tmb-product-visualizer-stage__layer {
  object-fit:contain !important;
  object-position:center center !important;
}

/* Keep the visualizer thumbnail composed the same way: never crop layers. */

body.single-product .tmb-product-gallery__visualizer-thumb-stage .tmb-product-visualizer-stage__background,
body.single-product .tmb-product-gallery__visualizer-thumb-stage .tmb-product-visualizer-stage__layer {
  object-fit:contain !important;
  object-position:center center !important;
}

@media (max-width:780px) {
  body.single-product .tmb-product-gallery__main,
  body.single-product .tmb-media-shell.tmb-product-gallery__main {
    --tmb-product-gallery-contain-pad:18px;
    padding:var(--tmb-product-gallery-contain-pad);
  }
}

@media (max-width:420px) {
  body.single-product .tmb-product-gallery__main,
  body.single-product .tmb-media-shell.tmb-product-gallery__main {
    --tmb-product-gallery-contain-pad:14px;
    padding:var(--tmb-product-gallery-contain-pad);
  }
}

/* TMB Single Product — Visualizer stacking + summary breathing room — 2.9.63
   Keep the product media/visualizer above adjacent summary content if their
   painted bounds ever meet, while adding a modest desktop gutter between the
   gallery and purchasing controls. */

@media (min-width:981px) {
  body.single-product .tmb-product-top__grid {
    column-gap:clamp(38px,4vw,58px) !important;
  }
}

body.single-product .tmb-product-gallery {
  position:relative;
  z-index:3;
  isolation:isolate;
}

body.single-product .tmb-product-summary {
  position:relative;
  z-index:1;
}

body.single-product .tmb-product-gallery__main {
  position:relative;
  z-index:2;
}

body.single-product .tmb-product-gallery__main.is-tmb-visualizer-active .tmb-product-visualizer-stage {
  z-index:4 !important;
}

body.single-product .tmb-product-gallery__main.is-tmb-visualizer-active .tmb-product-gallery__nav,
body.single-product .tmb-product-gallery__main.is-tmb-visualizer-active .tmb-product-render-notice,
body.single-product .tmb-product-gallery__main.is-tmb-visualizer-active .tmb-product-sale-badge {
  z-index:8 !important;
}

/* TMB Single Product — Desktop gallery hard containment — 2.9.64
   Keep the media carousel/visualizer inside the left grid track. */

@media (min-width:981px) {
  body.single-product .tmb-product-top__grid {
    grid-template-columns:minmax(0,1.05fr) minmax(380px,.95fr) !important;
    overflow:visible;
  }
  body.single-product .tmb-product-gallery,
  body.single-product .tmb-product-summary {
    min-width:0 !important;
    max-width:100% !important;
  }
  body.single-product .tmb-product-gallery {
    width:100% !important;
    overflow:hidden !important;
    contain:layout paint;
  }
  body.single-product .tmb-product-gallery__main,
  body.single-product .tmb-media-shell.tmb-product-gallery__main {
    box-sizing:border-box !important;
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    overflow:hidden !important;
  }
  body.single-product .tmb-product-gallery__main-picture,
  body.single-product .tmb-product-gallery__main-picture > img,
  body.single-product .tmb-product-gallery__main > img,
  body.single-product .tmb-product-visualizer-stage,
  body.single-product .tmb-product-gallery__nav {
    max-width:100% !important;
  }
  body.single-product .tmb-product-gallery__nav {
    box-sizing:border-box !important;
  }
}


/* ======================================================================
   3.2.5 — Product page refinements
   ====================================================================== */

/* Respect the hidden attribute on rows the templates toggle
   (empty UPC, single-unit quantity readout). */
body.single-product .upc_wrapper[hidden],
body.single-product .tmb-qty-readout[hidden] {
  display:none !important;
}

/* Gallery: aspect-ratio + min-height made the canvas wider than its
   column on phones (390px inside 350px). Size from the width instead. */
@media (max-width: 899px) {
  body.single-product .tmb-product-gallery__main,
  body.single-product .tmb-media-shell.tmb-product-gallery__main {
    width:100%;
    min-width:0;
    min-height:0;
    max-width:100%;
    max-height:620px;
    aspect-ratio:1 / 1;
  }
}

/* Quantity bar — one look for simple and variable products.
   The centre cell stacks the quantity field and the add-to-cart button
   in one grid area; .is-idle decides which one is visible. */
body.single-product .tmb-qtybar {
  border-radius:14px;
  overflow:hidden;
}
body.single-product .tmb-qtybar .tmb-qtycenter {
  display:grid;
  grid-template-columns:minmax(0,1fr);
  grid-template-areas:"cell";
  align-items:stretch;
}
body.single-product .tmb-qtybar .tmb-qtycenter > * {
  grid-area:cell;
}
body.single-product .tmb-qtybar .tmb-qtycenter .quantity {
  display:grid !important;
  margin:0;
  min-width:0;
}
body.single-product .tmb-qtybar .tmb-qtycenter .quantity .screen-reader-text {
  position:absolute !important;
  width:1px;
  height:1px;
  overflow:hidden;
  clip:rect(0 0 0 0);
  white-space:nowrap;
}
body.single-product .tmb-qtybar .tmb-qtycenter input.qty {
  display:block;
  width:100%;
  height:100%;
  min-height:0;
  margin:0;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  color:inherit;
  font:inherit;
  font-weight:900;
  text-align:center;
}
body.single-product .tmb-qtybar.is-idle .tmb-qtycenter .quantity,
body.single-product .tmb-qtybar:not(.is-idle) .tmb-cta-center {
  visibility:hidden;
  pointer-events:none;
}
body.single-product .tmb-qtybar.is-idle .tmb-cta-center,
body.single-product .tmb-qtybar:not(.is-idle) .tmb-qtycenter .quantity {
  visibility:visible;
}
body.single-product .tmb-qtybar .tmb-cta-center.is-disabled {
  opacity:.55;
}

@media (min-width: 900px) {
  body.single-product .tmb-qtybar {
    background:rgba(255,255,255,.92);
    border:1px solid rgba(15,23,42,.1);
  }
  body.single-product .tmb-qtybar .tmb-qtycenter input.qty {
    color:var(--tmb-text);
  }
}
