/* Unity Swatches — brand-themeable via --uw-* vars (override in your site CSS) */
.uw-hidden-select { position: absolute !important; opacity: 0; pointer-events: none; width: 1px; height: 1px; margin: 0; padding: 0; border: 0; }

.uw-sw { display: flex; flex-wrap: wrap; gap: 8px; margin: 4px 0 6px; }

/* colour chips */
.uw-sw-color .uw-chip {
  width: 34px; height: 34px; border-radius: 50%; padding: 0; cursor: pointer;
  border: 0;
  box-shadow: 0 0 0 1px rgba(8,22,28,.15);
  background-repeat: no-repeat;
  background-size: 100% 100%;
  transition: transform .15s ease, box-shadow .15s ease;
}
.uw-sw-color .uw-chip:hover { transform: translateY(-1px); }
.uw-sw-color .uw-chip.is-on { box-shadow: 0 0 0 2px #F5F5F0, 0 0 0 4px var(--uw-ink, #08161C); }
.uw-sw-color .uw-chip.uw-disabled { opacity: .3; cursor: not-allowed; position: relative; }
.uw-sw-color .uw-chip.uw-disabled::after {
  content: ""; position: absolute; inset: 0; border-radius: 50%;
  background: linear-gradient(45deg, transparent 44%, rgba(8,22,28,.55) 44%, rgba(8,22,28,.55) 56%, transparent 56%);
}

/* size / other buttons */
.uw-sw-btn .uw-pilld {
  min-width: 46px; padding: 9px 12px; border-radius: 10px; cursor: pointer;
  border: 1px solid rgba(8,22,28,.15); background: transparent;
  font-family: 'IBM Plex Mono', monospace; font-size: 13px; line-height: 1; color: var(--uw-ink, #08161C);
  transition: all .15s ease;
}
.uw-sw-btn .uw-pilld:hover { border-color: var(--uw-teal, #0FE0C4); }
.uw-sw-btn .uw-pilld.is-on {
  background: var(--uw-teal, #0FE0C4); color: var(--uw-ink, #08161C);
  border-color: var(--uw-teal, #0FE0C4); font-weight: 600;
}
.uw-sw-btn .uw-pilld.uw-disabled { opacity: .35; text-decoration: line-through; cursor: not-allowed; }

/* 1.6.3 — label line: [selected value] [Clear] on the right */
.uw-sel-meta { display: inline-flex; align-items: baseline; gap: 12px; margin-left: auto; }
table.variations th.label .uw-clear {
  display: none; padding: 0; margin: 0; border: 0; background: none; box-shadow: none; cursor: pointer;
  font-family: 'IBM Plex Mono', monospace; font-size: 11px; line-height: 1; font-weight: 400;
  text-transform: uppercase; letter-spacing: 1.44px; color: #5A6B72; opacity: .75;
  text-decoration: underline; text-decoration-color: rgba(90,107,114,.35); text-underline-offset: 3px;
  transition: opacity .15s ease, color .15s ease;
}
table.variations th.label .uw-clear.is-visible { display: inline-block; }
table.variations th.label .uw-clear:hover,
table.variations th.label .uw-clear:focus-visible { opacity: 1; color: var(--uw-ink, #08161C); outline: 0; }
/* WooCommerce's own global "Clear" link is replaced by the per-row one (kept in DOM for Woo's JS) */
.uw-has-swatches table.variations .reset_variations { display: none !important; }

/* 1.6.3 — "in-stock only" toggle row (inherits the table's label/row spacing) */
.uw-st-row td.value { line-height: 0; }
.uw-st-switch { display: flex; width: max-content; align-items: center; position: relative; margin: 4px 0 6px; padding: 0; cursor: pointer; }
.uw-st-switch input { position: absolute; opacity: 0; width: 0; height: 0; margin: 0; }
.uw-st-track { position: relative; display: block; width: 34px; height: 20px; border-radius: 20px; background: #C4CFCB; transition: background .2s ease; }
.uw-st-track::after {
  content: ""; position: absolute; top: 3px; left: 3px; width: 14px; height: 14px; border-radius: 50%;
  background: #fff; box-shadow: 0 1px 2px rgba(8,22,28,.3); transition: transform .2s ease;
}
.uw-st-switch input:checked ~ .uw-st-track { background: var(--uw-teal, #0FE0C4); }
.uw-st-switch input:checked ~ .uw-st-track::after { transform: translateX(14px); }
.uw-st-switch input:focus-visible ~ .uw-st-track { outline: 2px solid var(--uw-teal, #0FE0C4); outline-offset: 2px; }
.uw-sw .uw-st-hidden { display: none !important; }
