.rollz-swatches { margin: 0 0 1rem; }
.rollz-swatches__list {
  list-style: none; margin: 0; padding: 0;
  display: flex; flex-wrap: wrap; gap: 8px;
}
.rollz-swatch {
  display: block; width: 36px; height: 36px; padding: 0;
  border: 2px solid #ddd; border-radius: 4px; background: #fff;
  cursor: pointer; overflow: hidden; position: relative; line-height: 0;
}
.rollz-swatch--color { background-color: var(--swatch-color, #fff); }
.rollz-swatch--photo img { width: 100%; height: 100%; object-fit: cover; display: block; }
.rollz-swatch--text {
  width: auto; min-width: 36px; padding: 0 10px;
  line-height: 32px; font-size: 13px; color: #222;
}
.rollz-swatch.is-selected { border-color: #222; box-shadow: inset 0 0 0 2px #222; }
.rollz-swatch:focus-visible { outline: 2px solid #005fcc; outline-offset: 2px; }
.rollz-swatch--disabled { opacity: .35; cursor: not-allowed; }
.rollz-swatches .screen-reader-text {
  position: absolute; width: 1px; height: 1px; overflow: hidden;
  clip: rect(1px, 1px, 1px, 1px); white-space: nowrap;
}
.rollz-swatches__selected { margin-top: 8px; font-size: 14px; font-weight: 600; color: #222; }
.rollz-swatches__selected:empty { display: none; }

/* Radio-button control */
.rollz-swatches--radio .rollz-swatches__list { gap: 10px; }
.rollz-swatch--radio {
  width: auto; height: auto; line-height: 1.2; overflow: visible;
  display: inline-flex; align-items: center; gap: 8px;
  padding: 8px 14px; border-radius: 22px;
}
.rollz-swatch--radio .rollz-radio__mark {
  flex: 0 0 auto; width: 18px; height: 18px;
  border: 2px solid #ccc; border-radius: 50%;
  display: inline-flex; align-items: center; justify-content: center;
}
.rollz-swatch--radio .rollz-radio__label { font-size: 14px; color: #222; }
.rollz-swatch--radio.is-selected { border-color: #448aa6; box-shadow: none; }
.rollz-swatch--radio.is-selected .rollz-radio__mark { border-color: #448aa6; }
.rollz-swatch--radio.is-selected .rollz-radio__mark::after {
  content: ""; display: block; width: 5px; height: 9px; margin-top: -2px;
  border: solid #448aa6; border-width: 0 2px 2px 0; transform: rotate(45deg);
}

