/* DigiSphereX Variation Swatches â€” plugin-faithful styles
 *
 * Reimplements the styling of the "Variation Swatches for WooCommerce"
 * plugin so the theme renders identical swatches once the plugin is gone.
 * Class names, CSS variables (--wvs-tick / --wvs-cross / item sizes) and the
 * body-class scope (.woo-variation-swatches) match the plugin's stylesheet.
 */

[data-wvstooltip],
.wvs-has-image-tooltip {
  --font-size: 14px;
  --arrow-width: 5px;
  --arrow-distance: 10px;
  --arrow-position: calc(var(--arrow-distance) * -1);
  --tip-redius: 3px;
  --tip-min-width: 100px;
  --tip-min-height: 100px;
  --tip-height: 30px;
  --tip-breakpoint-start: 53vw;
  --tip-distance: calc(var(--arrow-distance) + var(--tip-height));
  --tip-position: calc(var(--tip-distance) * -1);
  --image-tip-min-height: calc(var(--tip-min-height) + var(--tip-height));
  --image-tip-max-height: calc(var(--tooltip-height) + var(--tip-height));
  --image-tip-width-dynamic: clamp(var(--tip-min-width), var(--tip-breakpoint-start), var(--tooltip-width));
  --image-tip-height-dynamic: clamp(var(--tip-min-height), var(--tip-breakpoint-start), var(--tooltip-height));
  --image-tip-ratio: calc(var(--tooltip-height) / var(--tooltip-width));
  --image-tip-position: calc(100% + var(--arrow-distance));
  --horizontal-position: 0px;
  position: relative;
  cursor: pointer;
  outline: none;
}

[data-wvstooltip]:before,
[data-wvstooltip]:after,
.wvs-has-image-tooltip:before,
.wvs-has-image-tooltip:after {
  visibility: hidden;
  opacity: 0;
  pointer-events: none;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  position: absolute;
  z-index: 999;
  -webkit-transform: translateZ(0);
          transform: translateZ(0);
  -webkit-transition: opacity 500ms ease-in-out;
  transition: opacity 500ms ease-in-out;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

[data-wvstooltip]:before,
.wvs-has-image-tooltip:before {
  -webkit-box-shadow: 0 0 5px 1px rgba(0, 0, 0, 0.3);
          box-shadow: 0 0 5px 1px rgba(0, 0, 0, 0.3);
  border-radius: var(--tip-redius);
  background-color: var(--wvs-tooltip-background-color, #333333);
  color: var(--wvs-tooltip-text-color, #FFFFFF);
  height: var(--tip-height);
  line-height: var(--tip-height);
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  min-width: var(--tip-min-width);
  padding-inline: 10px;
  -webkit-transform: translateX(var(--horizontal-position));
      -ms-transform: translateX(var(--horizontal-position));
          transform: translateX(var(--horizontal-position));
  top: auto;
  bottom: var(--image-tip-position);
  font-size: var(--font-size);
}

[data-wvstooltip]:before {
  content: attr(data-wvstooltip) " " attr(data-wvstooltip-out-of-stock);
}

.wvs-has-image-tooltip:before {
  content: attr(data-title);
  background-image: var(--tooltip-background);
  background-repeat: no-repeat;
  min-width: var(--image-tip-width-dynamic);
  height: calc(var(--image-tip-height-dynamic) + var(--tip-height));
  background-size: contain;
  background-position: center top;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  -ms-flex-line-pack: center;
      align-content: center;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
}

[data-wvstooltip]:after,
.wvs-has-image-tooltip:after {
  width: 0;
  border: var(--arrow-width) solid transparent;
  border-top-color: var(--wvs-tooltip-background-color, #333333);
  content: " ";
  font-size: 0;
  line-height: 0;
  top: var(--arrow-position);
  bottom: auto;
}

[data-wvstooltip]:hover:before,
[data-wvstooltip]:hover:after,
.wvs-has-image-tooltip:hover:before,
.wvs-has-image-tooltip:hover:after {
  visibility: visible;
  opacity: 1;
}

.wvs-tooltip-position-bottom[data-wvstooltip]:after, .wvs-tooltip-position-bottom.wvs-has-image-tooltip:after {
  border-top-color: transparent;
  border-bottom-color: var(--wvs-tooltip-background-color, #333333);
  top: auto;
  bottom: var(--arrow-position);
}
.wvs-tooltip-position-bottom[data-wvstooltip]:before, .wvs-tooltip-position-bottom.wvs-has-image-tooltip:before {
  bottom: auto;
  top: calc(var(--tip-position) * -1);
}

.woo-variation-swatches .woo-variation-raw-select {
  display: none !important;
}
.woo-variation-swatches .woo-variation-raw-select:before, .woo-variation-swatches .woo-variation-raw-select:after {
  display: none !important;
}
.woo-variation-swatches .variations td.value > span:before, .woo-variation-swatches .variations td.value > span:after {
  display: none !important;
}

.woo-variation-swatches .variable-items-wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  margin: 0;
  padding: 0;
  list-style: none;
}

.woo-variation-swatches .variable-items-wrapper.radio-variable-items-wrapper {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}
.woo-variation-swatches .variable-items-wrapper.radio-variable-items-wrapper .radio-variable-item {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  list-style: none;
  cursor: pointer;
  padding: 0 5px;
}
.woo-variation-swatches .variable-items-wrapper.radio-variable-items-wrapper .radio-variable-item label, .woo-variation-swatches .variable-items-wrapper.radio-variable-items-wrapper .radio-variable-item input {
  cursor: pointer;
  vertical-align: middle;
}
.woo-variation-swatches .variable-items-wrapper.radio-variable-items-wrapper .radio-variable-item input {
  width: 20px;
  height: 20px;
}
.woo-variation-swatches .variable-items-wrapper.radio-variable-items-wrapper .radio-variable-item input + span {
  margin-inline: 10px;
}
.woo-variation-swatches .variable-items-wrapper.radio-variable-items-wrapper .radio-variable-item .variable-item-radio-value-wrapper {
  display: inline-block;
}
.woo-variation-swatches .variable-items-wrapper.radio-variable-items-wrapper .radio-variable-item .variable-item-radio-value-wrapper img {
  width: 40px;
  display: inline-block;
  margin: 0;
  padding: 0;
  vertical-align: middle;
}
.woo-variation-swatches .variable-items-wrapper.radio-variable-items-wrapper .radio-variable-item .variable-item-radio-value-wrapper .out-of-stock {
  display: inline-block;
  margin: 0;
  padding: 0;
}
.woo-variation-swatches .variable-items-wrapper.radio-variable-items-wrapper .radio-variable-item label {
  width: auto;
  display: inline-block;
  padding: 2px 0;
}
.woo-variation-swatches .variable-items-wrapper.radio-variable-items-wrapper .radio-variable-item.disabled, .woo-variation-swatches .variable-items-wrapper.radio-variable-items-wrapper .radio-variable-item.disabled:hover {
  -webkit-box-shadow: none;
          box-shadow: none;
}
.woo-variation-swatches .variable-items-wrapper.radio-variable-items-wrapper .radio-variable-item.disabled label, .woo-variation-swatches .variable-items-wrapper.radio-variable-items-wrapper .radio-variable-item.disabled input, .woo-variation-swatches .variable-items-wrapper.radio-variable-items-wrapper .radio-variable-item.disabled:hover label, .woo-variation-swatches .variable-items-wrapper.radio-variable-items-wrapper .radio-variable-item.disabled:hover input {
  cursor: not-allowed;
  opacity: 0.5;
}
.woo-variation-swatches .variable-items-wrapper.radio-variable-items-wrapper .radio-variable-item.disabled .variable-item-radio-value, .woo-variation-swatches .variable-items-wrapper.radio-variable-items-wrapper .radio-variable-item.disabled:hover .variable-item-radio-value {
  text-decoration: line-through;
}
.woo-variation-swatches .variable-items-wrapper.radio-variable-items-wrapper .radio-variable-item.disabled::before, .woo-variation-swatches .variable-items-wrapper.radio-variable-items-wrapper .radio-variable-item.disabled::after, .woo-variation-swatches .variable-items-wrapper.radio-variable-items-wrapper .radio-variable-item.disabled:hover::before, .woo-variation-swatches .variable-items-wrapper.radio-variable-items-wrapper .radio-variable-item.disabled:hover::after {
  display: none;
}
.woo-variation-swatches .variable-items-wrapper.radio-variable-items-wrapper .radio-variable-item.no-stock label, .woo-variation-swatches .variable-items-wrapper.radio-variable-items-wrapper .radio-variable-item.no-stock input, .woo-variation-swatches .variable-items-wrapper.radio-variable-items-wrapper .radio-variable-item.no-stock:hover label, .woo-variation-swatches .variable-items-wrapper.radio-variable-items-wrapper .radio-variable-item.no-stock:hover input {
  text-decoration: line-through;
  opacity: 0.6;
}

.woo-variation-swatches .variable-items-wrapper .variable-item {
  margin: 0;
  padding: 0;
  list-style: none;
  -webkit-transition: all 200ms ease;
  transition: all 200ms ease;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  outline: none;
}
.woo-variation-swatches .variable-items-wrapper .variable-item .variable-item-contents {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: relative;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 100%;
  height: 100%;
}
.woo-variation-swatches .variable-items-wrapper .variable-item.variation-disabled {
  display: none !important;
}
.woo-variation-swatches .variable-items-wrapper .variable-item img {
  margin: 0;
  padding: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
}
.woo-variation-swatches .variable-items-wrapper .variable-item > span {
  pointer-events: none;
}
.woo-variation-swatches .variable-items-wrapper .variable-item:not(.radio-variable-item) {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  cursor: pointer;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background-color: var(--wvs-item-background-color, #FFFFFF);
  color: var(--wvs-item-text-color, #000000);
  -webkit-box-shadow: var(--wvs-item-box-shadow, 0 0 0 1px #A8A8A8);
          box-shadow: var(--wvs-item-box-shadow, 0 0 0 1px #A8A8A8);
  padding: 2px;
  margin: 4px;
  width: var(--wvs-single-product-item-width, 30px);
  height: var(--wvs-single-product-item-height, 30px);
}
.woo-variation-swatches .variable-items-wrapper .variable-item:not(.radio-variable-item):last-child {
  margin-right: 0;
}
.woo-variation-swatches .variable-items-wrapper .variable-item:not(.radio-variable-item).no-stock img, .woo-variation-swatches .variable-items-wrapper .variable-item:not(.radio-variable-item).no-stock span, .woo-variation-swatches .variable-items-wrapper .variable-item:not(.radio-variable-item).no-stock .variable-item-contents {
  opacity: 0.6;
}
.woo-variation-swatches .variable-items-wrapper .variable-item:not(.radio-variable-item).no-stock .variable-item-contents::before {
  position: absolute;
  content: " ";
  display: block;
  background-image: var(--wvs-cross);
  background-repeat: no-repeat;
  background-position: center center;
  height: 100%;
  width: 100%;
}
.woo-variation-swatches .variable-items-wrapper .variable-item:not(.radio-variable-item):hover {
  -webkit-box-shadow: var(--wvs-hover-item-box-shadow, 0 0 0 3px #dddddd);
          box-shadow: var(--wvs-hover-item-box-shadow, 0 0 0 3px #dddddd);
  background-color: var(--wvs-hover-item-background-color, #FFFFFF);
  color: var(--wvs-hover-item-text-color, #000000);
}
.woo-variation-swatches .variable-items-wrapper .variable-item:not(.radio-variable-item):focus {
  -webkit-box-shadow: var(--wvs-hover-item-box-shadow, 0 0 0 3px #dddddd);
          box-shadow: var(--wvs-hover-item-box-shadow, 0 0 0 3px #dddddd);
}
.woo-variation-swatches .variable-items-wrapper .variable-item:not(.radio-variable-item).selected, .woo-variation-swatches .variable-items-wrapper .variable-item:not(.radio-variable-item).selected:hover {
  -webkit-box-shadow: var(--wvs-selected-item-box-shadow, 0 0 0 2px #000);
          box-shadow: var(--wvs-selected-item-box-shadow, 0 0 0 2px #000);
  color: var(--wvs-selected-item-text-color, #000000);
}
.woo-variation-swatches .variable-items-wrapper .variable-item:not(.radio-variable-item).disabled, .woo-variation-swatches .variable-items-wrapper .variable-item:not(.radio-variable-item).disabled:hover {
  position: relative;
}
.woo-variation-swatches .variable-items-wrapper .variable-item:not(.radio-variable-item).disabled img, .woo-variation-swatches .variable-items-wrapper .variable-item:not(.radio-variable-item).disabled span, .woo-variation-swatches .variable-items-wrapper .variable-item:not(.radio-variable-item).disabled .variable-item-contents, .woo-variation-swatches .variable-items-wrapper .variable-item:not(.radio-variable-item).disabled:hover img, .woo-variation-swatches .variable-items-wrapper .variable-item:not(.radio-variable-item).disabled:hover span, .woo-variation-swatches .variable-items-wrapper .variable-item:not(.radio-variable-item).disabled:hover .variable-item-contents {
  opacity: 0.6;
}
.woo-variation-swatches .variable-items-wrapper .variable-item:not(.radio-variable-item).disabled .variable-item-contents::before, .woo-variation-swatches .variable-items-wrapper .variable-item:not(.radio-variable-item).disabled:hover .variable-item-contents::before {
  position: absolute;
  content: " ";
  display: block;
  background-image: var(--wvs-cross);
  background-repeat: no-repeat;
  background-position: center center;
  height: 100%;
  width: 100%;
}
.woo-variation-swatches .variable-items-wrapper .variable-item:not(.radio-variable-item).color-variable-item.selected:not(.no-stock) .variable-item-contents::before, .woo-variation-swatches .variable-items-wrapper .variable-item:not(.radio-variable-item).image-variable-item.selected:not(.no-stock) .variable-item-contents::before {
  position: absolute;
  content: " ";
  display: block;
  background-image: var(--wvs-tick);
  background-repeat: no-repeat;
  background-position: center center;
  background-size: 60%;
  height: 100%;
  width: 100%;
}
.woo-variation-swatches .variable-items-wrapper .variable-item:not(.radio-variable-item).color-variable-item .variable-item-span-color, .woo-variation-swatches .variable-items-wrapper .variable-item:not(.radio-variable-item).image-variable-item .variable-item-span-color {
  width: 100%;
  height: 100%;
  display: block;
}
.woo-variation-swatches .variable-items-wrapper .variable-item:not(.radio-variable-item).button-variable-item {
  text-align: center;
  font-size: var(--wvs-single-product-item-font-size, 16px);
}
.woo-variation-swatches .variable-items-wrapper .variable-item:not(.radio-variable-item).button-variable-item.selected:not(.no-stock) {
  background-color: var(--wvs-selected-item-background-color, #FFFFFF);
  color: var(--wvs-selected-item-text-color, #000000);
}

.woo-variation-swatches .wvs-style-rounded.variable-items-wrapper .variable-item:not(.radio-variable-item) {
  border-radius: 100%;
}
.woo-variation-swatches .wvs-style-rounded.variable-items-wrapper .variable-item:not(.radio-variable-item) .variable-item-span, .woo-variation-swatches .wvs-style-rounded.variable-items-wrapper .variable-item:not(.radio-variable-item) img {
  border-radius: 100%;
  overflow: hidden;
  line-height: 1;
  margin: 0;
}
.woo-variation-swatches .wvs-style-rounded.variable-items-wrapper .variable-item.radio-variable-item img {
  border-radius: 100%;
}
.woo-variation-swatches .wvs-style-squared.variable-items-wrapper .variable-item:not(.radio-variable-item) {
  border-radius: 2px;
}
.woo-variation-swatches .wvs-style-squared.variable-items-wrapper .variable-item:not(.radio-variable-item).button-variable-item {
  width: auto;
  min-width: var(--wvs-single-product-item-width);
}
.woo-variation-swatches .wvs-style-squared.variable-items-wrapper .variable-item:not(.radio-variable-item).button-variable-item .variable-item-span {
  padding: 0 5px;
}
.woo-variation-swatches .wvs-style-squared.variable-items-wrapper .variable-item:not(.radio-variable-item).color-variable-item span::after {
  border-radius: 0;
}
.woo-variation-swatches .wvs-style-squared.variable-items-wrapper .variable-item.radio-variable-item img {
  border-radius: 5px;
}

.woo-variation-swatches.wvs-behavior-blur .variable-items-wrapper .variable-item:not(.radio-variable-item).disabled .variable-item-contents::before, .woo-variation-swatches.wvs-behavior-blur .variable-items-wrapper .variable-item:not(.radio-variable-item).disabled:hover .variable-item-contents::before {
  background: none;
}
.woo-variation-swatches.wvs-behavior-blur .variable-items-wrapper .radio-variable-item.disabled label, .woo-variation-swatches.wvs-behavior-blur .variable-items-wrapper .radio-variable-item.disabled input, .woo-variation-swatches.wvs-behavior-blur .variable-items-wrapper .radio-variable-item.disabled:hover label, .woo-variation-swatches.wvs-behavior-blur .variable-items-wrapper .radio-variable-item.disabled:hover input {
  cursor: not-allowed;
  text-decoration: line-through;
  opacity: 0.5;
}
.woo-variation-swatches.wvs-behavior-blur .variable-items-wrapper .radio-variable-item.disabled::before, .woo-variation-swatches.wvs-behavior-blur .variable-items-wrapper .radio-variable-item.disabled::after, .woo-variation-swatches.wvs-behavior-blur .variable-items-wrapper .radio-variable-item.disabled:hover::before, .woo-variation-swatches.wvs-behavior-blur .variable-items-wrapper .radio-variable-item.disabled:hover::after {
  display: none;
}
.woo-variation-swatches.wvs-behavior-blur-no-cross .variable-items-wrapper .variable-item:not(.radio-variable-item).disabled .variable-item-contents::before, .woo-variation-swatches.wvs-behavior-blur-no-cross .variable-items-wrapper .variable-item:not(.radio-variable-item).disabled:hover .variable-item-contents::before, .woo-variation-swatches.wvs-behavior-blur-no-cross .variable-items-wrapper .variable-item:not(.radio-variable-item).no-stock .variable-item-contents::before, .woo-variation-swatches.wvs-behavior-blur-no-cross .variable-items-wrapper .variable-item:not(.radio-variable-item).no-stock:hover .variable-item-contents::before {
  background-image: none;
}
.woo-variation-swatches.wvs-behavior-blur-no-cross .variable-items-wrapper .radio-variable-item.disabled, .woo-variation-swatches.wvs-behavior-blur-no-cross .variable-items-wrapper .radio-variable-item.disabled:hover {
  overflow: hidden;
}
.woo-variation-swatches.wvs-behavior-blur-no-cross .variable-items-wrapper .radio-variable-item.disabled label, .woo-variation-swatches.wvs-behavior-blur-no-cross .variable-items-wrapper .radio-variable-item.disabled input, .woo-variation-swatches.wvs-behavior-blur-no-cross .variable-items-wrapper .radio-variable-item.disabled:hover label, .woo-variation-swatches.wvs-behavior-blur-no-cross .variable-items-wrapper .radio-variable-item.disabled:hover input {
  pointer-events: none;
  opacity: 0.3;
}
.woo-variation-swatches.wvs-behavior-hide .variable-items-wrapper .variable-item.disabled.radio-variable-item {
  width: auto !important;
}
.woo-variation-swatches.wvs-behavior-hide .variable-items-wrapper .variable-item.disabled {
  opacity: 0;
  visibility: hidden;
  -webkit-transform: scale(0);
      -ms-transform: scale(0);
          transform: scale(0);
  -webkit-transform-origin: center;
      -ms-transform-origin: center;
          transform-origin: center;
  font-size: 0;
  width: 0 !important;
  height: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  min-width: 0 !important;
  min-height: 0 !important;
}
.woo-variation-swatches.wvs-behavior-hide .variable-items-wrapper .variable-item.no-stock .variable-item-contents::before {
  background-image: none;
}

.woo-variation-swatches.rtl .variable-items-wrapper .variable-item {
  text-align: right;
}
.woo-variation-swatches.rtl .variable-items-wrapper .variable-item:not(.radio-variable-item) {
  margin: 4px 0 4px 8px;
}
.woo-variation-swatches.rtl .variable-items-wrapper.radio-variable-wrapper .radio-variable-item input {
  margin-right: 0;
  margin-left: 5px;
}

.woo-variation-swatches.wvs-show-label .variations th, .woo-variation-swatches.wvs-show-label .variations td {
  display: block;
  width: auto !important;
  text-align: start;
}
.woo-variation-swatches.wvs-show-label .variations th label, .woo-variation-swatches.wvs-show-label .variations th .woo-selected-variation-item-name, .woo-variation-swatches.wvs-show-label .variations td label, .woo-variation-swatches.wvs-show-label .variations td .woo-selected-variation-item-name {
  display: inline-block;
  margin: 0 2px;
}
.woo-variation-swatches.wvs-show-label .variations th .woo-selected-variation-item-name, .woo-variation-swatches.wvs-show-label .variations td .woo-selected-variation-item-name {
  font-weight: 600;
}