/***********************
  HIDE NATIVE + SELECT2
***********************/
#pa_canvas-options,
#pa_leather-options,
#pa_vehicle-type,
select[name="attribute_pa_canvas-options"],
select[name="attribute_pa_leather-options"],
select[name="attribute_pa_vehicle-type"] {
  display: none !important;
}

/* Common Select2 wrappers Woo/Theme injects */
#pa_canvas-options + .select2,
#pa_canvas-options + .select2-container,
#pa_leather-options + .select2,
#pa_leather-options + .select2-container,
#pa_vehicle-type + .select2,
#pa_vehicle-type + .select2-container,
select[name="attribute_pa_canvas-options"] + .select2,
select[name="attribute_pa_canvas-options"] + .select2-container,
select[name="attribute_pa_leather-options"] + .select2,
select[name="attribute_pa_leather-options"] + .select2-container,
select[name="attribute_pa_vehicle-type"] + .select2,
select[name="attribute_pa_vehicle-type"] + .select2-container,
.select2-container[aria-labelledby*="pa_canvas-options"],
.select2-container[aria-labelledby*="pa_leather-options"],
.select2-container[aria-labelledby*="pa_vehicle-type"] {
  display: none !important;
}

/********************************
  SWATCHES (auto-inserted by JS)
********************************/
.canvas-options-wrapper {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin: 10px 0 0;
  padding-bottom: 22px; /* space for labels */
}

.canvas-option {
  width: 64px;
  height: 48px;
  border-radius: 8px;     /* 0 for sharp, 50% for circles */
  border: 2px solid #cfcfcf;
  cursor: pointer;
  transition: transform .15s ease, border-color .15s ease, box-shadow .15s ease;
  background-size: cover;
  background-position: center;
  position: relative;
  outline: none;
}

/* Label under each swatch (uses data-label) */
.canvas-option::after {
  content: attr(data-label);
  position: absolute;
  left: 0; right: 0; bottom: -18px;
  text-align: center;
  font-size: 12px;
  letter-spacing: .02em;
  color: #555;
  white-space: nowrap;
}

/* States */
.canvas-option:hover { border-color: #111; transform: scale(1.03); }
.canvas-option.active { border-color: #0073aa; box-shadow: 0 0 0 3px rgba(0,115,170,.15); }
.canvas-option:focus-visible { outline: 2px solid #0073aa; outline-offset: 2px; }
.canvas-option.is-disabled { opacity:.45; cursor:not-allowed; filter:grayscale(40%); }