.product-card-options {
  margin: 10px 0;
}

.product-card-options-group + .product-card-options-group {
  margin-top: 6px;
}

.product-card-options-list, .product-card__colors {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: center;
}

.product-card-option-btn, .product-card__swatch {
  min-width: 56px;
  padding: 6px 12px;
  font-size: 1.2rem;
  border: 1px solid var(--card-option-border, #cec8c0);
  border-radius: var(--card-option-radius, 999px);
  background: var(--card-option-bg, #fff);
  color: var(--card-option-text, #2b2420);
  cursor: pointer;
  transition: background-color .15s ease, color .15s ease, border-color .15s ease;
}

.product-card-option-btn:hover, .product-card__swatch:hover {
  border-color: var(--card-option-active-border, #5b3f52);
  background: var(--card-option-active-bg, #5b3f52);
  color: var(--card-option-active-text, #faf5ee);
  opacity: 0.85;
}

.product-card-option-btn.is-selected, .product-card__swatch.is-selected {
  border-color: var(--card-option-active-border, #5b3f52);
  background: var(--card-option-active-bg, #5b3f52);
  color: var(--card-option-active-text, #faf5ee);
}

/* ---------- Color / image swatches (circles) ---------- */
.product-card__swatch {
  position: relative;
  width: 26px;
  height: 26px;
  min-width: 26px;
  padding: 0;
  border-radius: 50%;
  border: 1px solid var(--card-option-border, #cec8c0);
  background: var(--swatch, #ccc);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  box-shadow: inset 0 0 0 2px #fff;
  opacity: 1;
}

.product-card__swatch--light {
  border-color: #bdbdbd;
}

.product-card__swatch:hover {
  background: var(--swatch, #ccc);
  background-size: cover;
  background-position: center;
  border-color: var(--card-option-active-border, #5b3f52);
  opacity: 1;
}

.product-card__swatch--image:hover {
  background-color: transparent;
}

.product-card__swatch.is-selected,
.product-card__swatch.is-selected:hover {
  background: var(--swatch, #ccc);
  background-size: cover;
  background-position: center;
  border-color: var(--card-option-active-border, #5b3f52);
  box-shadow: inset 0 0 0 2px #fff, 0 0 0 1.5px var(--card-option-active-border, #5b3f52);
}

.product-card__swatch--image,
.product-card__swatch--image.is-selected,
.product-card__swatch--image:hover {
  background-color: transparent;
}

.product-card__swatch-label {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
}
