/* Update 43. Loaded by the staging header only. Actual child Image 10 assets. */
html body a.nColourSwatch {
  position: relative;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  width: 44px !important;
  height: 44px !important;
  padding: 3px !important;
  margin: 0 5px 6px 0 !important;
  border: 1px solid transparent !important;
  border-radius: 50% !important;
  background: transparent !important;
  box-shadow: none !important;
  vertical-align: middle;
}
html body a.nColourSwatch ._itmspec_listitm,
html body a.nColourSwatch img {
  display: block !important;
  box-sizing: border-box;
  width: 36px !important;
  height: 36px !important;
  min-width: 0 !important;
  max-width: none !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  border-radius: 50% !important;
  object-fit: cover;
  overflow: hidden;
}
html body a.nColourSwatch._itmspec_selected,
html body a.nColourSwatch:has(._itmspec_selected) {
  border-color: #62665e !important;
}
html body a.nColourSwatch:hover { border-color: #aaa99f !important; }
html body a.nColourSwatch:focus-visible {
  outline: 2px solid #62665e !important;
  outline-offset: 2px;
}

html body #so-category-2026 .so-card-swatches {
  grid-row: 3;
  min-width: 0;
  margin: 2px 0 0;
  text-align: left;
}
html body #so-category-2026 .so-card-swatches__choices {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 2px;
}
html body #so-category-2026 button.so-card-swatches__choice {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 40px;
  width: 40px;
  height: 40px;
  min-height: 0;
  padding: 4px;
  margin: 0;
  border: 1px solid transparent;
  border-radius: 50%;
  background: transparent;
  box-shadow: none;
  color: #43463f;
  cursor: pointer;
}
html body #so-category-2026 .so-card-swatches__choice img {
  display: block;
  width: 30px;
  height: 30px;
  max-width: none;
  object-fit: cover;
  border: 0;
  border-radius: 50%;
}
html body #so-category-2026 .so-card-swatches__choice[aria-pressed="true"] { border-color: #62665e; }
html body #so-category-2026 .so-card-swatches__choice:hover { border-color: #aaa99f; }
html body #so-category-2026 .so-card-swatches__choice:focus-visible,
html body #so-category-2026 .so-card-swatches__more:focus-visible {
  outline: 2px solid #62665e;
  outline-offset: 2px;
}
html body #so-category-2026 .so-card-swatches__choice--unavailable::after {
  content: "";
  position: absolute;
  width: 34px;
  height: 1px;
  background: #43463f;
  box-shadow: 0 1px 0 #fff;
  transform: rotate(-45deg);
  pointer-events: none;
}
html body #so-category-2026 .so-card-swatches__choice:disabled { cursor: wait; opacity: .6; }
html body #so-category-2026 .so-card-swatches__more {
  min-width: 36px;
  min-height: 40px;
  padding: 0 4px;
  margin: 0;
  border: 0;
  background: transparent;
  color: #43463f;
  font: inherit;
  font-size: 13px;
  cursor: pointer;
}
html body #so-category-2026 .so-card-swatches__caption {
  min-height: 18px;
  margin: 3px 0 0;
  font: inherit;
  font-size: 13px;
  line-height: 1.4;
  color: #43463f;
  overflow-wrap: anywhere;
}
html body #so-category-2026 .so-swatches-ready .so-cat-product__details {
  grid-template-rows: 26px minmax(28px, auto) auto minmax(31px, auto) auto;
}
html body #so-category-2026 .so-swatches-ready .so-cat-product__price { grid-row: 4; }
html body #so-category-2026 .so-swatches-ready .so-cat-product__actions {
  grid-row: 5;
  padding-top: 8px !important;
}
html body #so-category-2026 .so-swatches-ready [data-so-buy-selection],
html body #so-category-2026 .so-swatches-ready .so-buy-picker,
html body #so-category-2026 .so-swatches-ready .so-buy-caret,
html body #so-category-2026 .so-swatches-ready .so-buy-control::after { display: none !important; }
html body #so-category-2026 .so-swatches-ready [data-so-cat-add],
html body #so-category-2026 .so-swatches-ready [data-so-buy-details] {
  width: 100% !important;
  padding-left: 10px !important;
  padding-right: 10px !important;
}
html body #so-category-2026 .so-swatches-ready [data-so-cat-add]:disabled { cursor: default; }
html body #so-category-2026 .so-card-swatches [hidden] { display: none !important; }

/* Labels appear immediately without changing the selected shade or row height. */
html body a.nColourSwatch .so-swatch-label,
html body #so-category-2026 .so-swatch-label {
  position: absolute;
  bottom: calc(100% + 6px);
  left: 50%;
  transform: translateX(-50%);
  z-index: 20;
  width: max-content;
  max-width: 180px;
  padding: 5px 8px;
  border-radius: 3px;
  background: #43463f;
  color: #fff;
  font: 400 12px/1.35 halyard-text, Arial, sans-serif;
  text-transform: none;
  letter-spacing: 0;
  text-align: center;
  visibility: hidden;
  opacity: 0;
  pointer-events: none;
}
html body a.nColourSwatch:hover .so-swatch-label,
html body a.nColourSwatch:focus-visible .so-swatch-label,
html body #so-category-2026 .so-card-swatches__choice:hover .so-swatch-label,
html body #so-category-2026 .so-card-swatches__choice:focus-visible .so-swatch-label {
  visibility: visible;
  opacity: 1;
}
html body #so-category-2026 .so-card-swatches__choice:first-child .so-swatch-label {
  left: 0;
  transform: none;
}

/* Use the row's existing spare spacing for swatches. Never crop product names. */
@media (min-width: 761px) {
  html body #so-category-2026 .so-swatch-row .so-cat-product__name {
    min-height: 2.6em !important;
  }
  html body #so-category-2026 .so-swatch-row .so-cat-product__details {
    padding-top: 4px;
    row-gap: 7px;
  }
  html body #so-category-2026 .so-swatch-row .so-cat-product__actions {
    min-height: 64px !important;
    padding-top: 8px !important;
    padding-bottom: 10px !important;
  }
  html body #so-category-2026 .so-swatch-row:not(.so-swatches-ready) [data-so-buy-selection] {
    /* Size-option captions retain their reserved space in mixed rows. */
    position: static;
  }
  html body #so-category-2026 .so-swatch-row:not(.so-swatches-ready) [data-so-buy-selection]:empty {
    display: none;
  }
}
/* Bring the product circles close to the Colour label and use one fine ring. */
html body #so-product-2026 .so-pdp-variations:has(a.nColourSwatch) {
  margin: 28px 0 6px;
  padding: 0;
}
html body #so-product-2026 .so-pdp-variations:has(a.nColourSwatch) [class*="col-"] {
  margin-bottom: 0;
}
html body #so-product-2026 a.nColourSwatch {
  margin-bottom: 0 !important;
  outline: none;
}
html body #so-product-2026:has(a.nColourSwatch) .so-pdp-buying .buying-options {
  margin-top: 0;
}
html body #so-product-2026 [data-so-variant-error] {
  margin: 14px 0;
  font-size: 15px;
}
html body #so-product-2026 [data-so-variant-error] a { text-decoration: underline; }
