.ipa-swatches,.ipa-archive-swatches{display:flex;flex-wrap:wrap;gap:var(--ipa-swatch-gap);margin:0 0 12px}.ipa-archive-swatches-wrap{margin-top:8px}.ipa-swatch,.ipa-archive-swatch{position:relative;display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:var(--ipa-swatch-padding);border:var(--ipa-swatch-border-size) solid var(--ipa-swatch-border);border-radius:var(--ipa-swatch-radius);background:var(--ipa-swatch-bg);color:var(--ipa-swatch-text);cursor:pointer;transition:.2s ease;text-decoration:none}.ipa-swatch{min-width:var(--ipa-swatch-width);min-height:var(--ipa-swatch-height)}.ipa-archive-swatch{width:var(--ipa-archive-swatch-width);min-height:var(--ipa-archive-swatch-height);padding:6px}.ipa-swatch:hover,.ipa-archive-swatch:hover{background:var(--ipa-swatch-hover-bg);color:var(--ipa-swatch-hover-text);border-color:var(--ipa-swatch-hover-border)}.ipa-swatch.is-selected{background:var(--ipa-swatch-selected-bg);color:var(--ipa-swatch-selected-text);border:var(--ipa-swatch-selected-border-size) solid var(--ipa-swatch-selected-border)}.ipa-swatch.is-disabled,.ipa-archive-swatch.is-disabled{opacity:.45;cursor:not-allowed}.ipa-swatch-image,.ipa-swatch-color{display:block;width:var(--ipa-swatch-image-size);height:var(--ipa-swatch-image-size)}.ipa-archive-swatch .ipa-swatch-image,.ipa-archive-swatch .ipa-swatch-color{width:24px;height:24px}.ipa-swatch-image img{width:100%;height:100%;object-fit:cover;border-radius:calc(var(--ipa-swatch-radius) - 2px)}.ipa-swatch-color{border-radius:999px;border:1px solid rgba(0,0,0,.12)}.ipa-swatch-text{font-size:var(--ipa-swatch-font-size);line-height:1.2;text-align:center}.ipa-archive-swatch .ipa-swatch-text{font-size:var(--ipa-archive-font-size)}.ipa-swatch-tooltip{position:absolute;left:50%;bottom:calc(100% + 8px);transform:translateX(-50%);background:var(--ipa-tooltip-bg);color:var(--ipa-tooltip-text);font-size:var(--ipa-tooltip-font-size);line-height:1.2;padding:6px 8px;border-radius:6px;white-space:nowrap;opacity:0;visibility:hidden;pointer-events:none;z-index:20}.ipa-swatch:hover .ipa-swatch-tooltip,.ipa-archive-swatch:hover .ipa-swatch-tooltip{opacity:1;visibility:visible}.variations_form.ipa-swatches-ready table.variations select{position:absolute !important;left:-9999px !important;pointer-events:none !important;opacity:0 !important;width:1px !important;height:1px !important}.ipa-swatches-shape-square .ipa-swatch-image img{border-radius:0}@media (max-width:767px){.ipa-swatch{min-width:68px;min-height:68px}}
.variations_form.ipa-swatches-ready table.variations .woocommerce-select{
  position:absolute !important;
  left:-9999px !important;
  width:1px !important;
  height:1px !important;
  overflow:hidden !important;
  opacity:0 !important;
  pointer-events:none !important;
}

.ipa-swatch{
  position:relative;
}
.ipa-swatch-check{
  position:absolute;
  top:6px;
  right:6px;
  width:18px;
  height:18px;
  border-radius:999px;
  background:#2e7d32;
  color:#fff;
  font-size:12px;
  line-height:18px;
  text-align:center;
  font-weight:700;
  opacity:0;
  transform:scale(.85);
  transition:opacity .2s ease, transform .2s ease;
  pointer-events:none;
}
.ipa-swatch.is-selected .ipa-swatch-check{
  opacity:1;
  transform:scale(1);
}
.ipa-variation-description{
  margin-top:12px;
  padding:10px 12px;
  border:1px solid rgba(0,0,0,.12);
  border-radius:8px;
}

.ipa-archive-swatches-wrap{
  margin-top:10px;
  display:block;
  width:100%;
}
.ipa-archive-swatches{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:8px;
}
.ipa-archive-swatch{
  text-decoration:none !important;
}
.ipa-archive-swatch .ipa-swatch-text{
  font-size:12px;
}
.ipa-archive-swatch .ipa-swatch-image img{
  width:32px;
  height:32px;
  object-fit:cover;
  display:block;
}
.ipa-archive-swatch .ipa-swatch-color{
  width:32px;
  height:32px;
  border-radius:999px;
  display:block;
}

.ipa-archive-swatches-wrap{
  margin-top:10px;
}
.w-grid-item .ipa-archive-swatches-wrap,
.product .ipa-archive-swatches-wrap{
  clear:both;
}
.woocommerce ul.products li.product .ipa-archive-swatches,
.w-grid-item .ipa-archive-swatches{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  justify-content:flex-start;
}
.woocommerce ul.products li.product .ipa-archive-swatch,
.w-grid-item .ipa-archive-swatch{
  text-decoration:none !important;
}


.ipa-swatch.is-selected,
.ipa-archive-swatch.is-selected{
  box-shadow:0 0 0 2px #2e7d32 inset;
}
.ipa-swatch.is-selected::after,
.ipa-archive-swatch.is-selected::after{
  content:"✓";
  position:absolute;
  top:4px;
  right:4px;
  width:18px;
  height:18px;
  border-radius:999px;
  background:#2e7d32;
  color:#fff;
  font-size:12px;
  line-height:18px;
  text-align:center;
  font-weight:700;
  z-index:9;
}
.w-grid-item .ipa-archive-swatches-wrap,
li.product .ipa-archive-swatches-wrap{
  display:block !important;
  width:100%;
  margin-top:10px;
}
.w-grid-item .ipa-archive-swatches,
li.product .ipa-archive-swatches{
  display:flex !important;
  flex-wrap:wrap;
  gap:8px;
}



.ipa-swatch,
.ipa-archive-swatch{
  position:relative;
}
.ipa-swatch-check{
  position:absolute;
  top:4px;
  right:4px;
  width:18px;
  height:18px;
  border-radius:999px;
  background:#2e7d32;
  color:#fff;
  font-size:12px;
  line-height:18px;
  text-align:center;
  font-weight:700;
  opacity:0;
  transform:scale(.85);
  transition:opacity .2s ease, transform .2s ease;
  z-index:3;
  pointer-events:none;
}
.ipa-swatch.is-selected .ipa-swatch-check,
.ipa-archive-swatch.is-selected .ipa-swatch-check{
  opacity:1;
  transform:scale(1);
}
.ipa-swatch.is-selected,
.ipa-archive-swatch.is-selected{
  box-shadow:0 0 0 2px #2e7d32 inset !important;
}
.ipa-archive-swatches-wrap{
  display:block;
  width:100%;
  margin:8px 0 12px;
}
.w-grid-item .ipa-archive-swatches-wrap,
article.w-grid-item .ipa-archive-swatches-wrap,
li.product .ipa-archive-swatches-wrap{
  display:block !important;
}



.ipa-variation-table-wrap{
  margin-top:18px;
  overflow-x:auto;
}
.ipa-variation-table{
  width:100%;
  border-collapse:collapse;
  border-spacing:0;
}
.ipa-variation-table th,
.ipa-variation-table td{
  border:1px solid #e3e3e3;
  padding:12px;
  vertical-align:middle;
  text-align:left;
}
.ipa-variation-table th{
  background:#f7f7f7;
  font-weight:600;
}
.ipa-variation-table .ipa-cell-thumb img{
  width:72px;
  height:auto;
  display:block;
}
.ipa-variation-table .ipa-cell-description p:last-child{
  margin-bottom:0;
}
.ipa-variation-table .quantity input{
  width:72px;
}
.ipa-variation-table-button{
  white-space:nowrap;
}
.single-product.ipa-display-mode-table form.variations_form.cart .variations,
.single-product.ipa-display-mode-table form.variations_form.cart .reset_variations,
.single-product.ipa-display-mode-table form.variations_form.cart .single_variation_wrap{
  display:none !important;
}



.ipa-variation-table-wrap{
  margin-top:18px;
  overflow-x:auto;
}
.ipa-variation-table{
  width:100%;
  border-collapse:collapse;
}
.ipa-variation-table th,
.ipa-variation-table td{
  border:1px solid rgba(0,0,0,.12);
  padding:12px 10px;
  vertical-align:middle;
}
.ipa-variation-table .quantity input.qty{
  width:72px;
}
body.ipa-display-mode-table .variations_form .ipa-swatches,
body.ipa-display-mode-table .variations_form table.variations,
body.ipa-display-mode-table .variations_form .reset_variations{
  display:none !important;
}



.single-product .ipa-variation-table-wrap{
  display:block !important;
}
.single-product.ipa-display-mode-both .ipa-variation-table-wrap,
.single-product.ipa-display-mode-table .ipa-variation-table-wrap{
  display:block !important;
}



.ipa-variation-table-wrap{display:block !important;margin:18px 0;overflow-x:auto;}
.ipa-variation-table{width:100%;border-collapse:collapse;background:#fff;}
.ipa-variation-table th,.ipa-variation-table td{border:1px solid rgba(0,0,0,.12);padding:10px;vertical-align:middle;}
.ipa-variation-table img{max-width:80px;height:auto;display:block;}
.ipa-variation-table .qty{width:72px;}
body.ipa-display-mode-table .variations_form table.variations,
body.ipa-display-mode-table .variations_form .ipa-swatches,
body.ipa-display-mode-table .variations_form .reset_variations{display:none !important;}


.single-product div.product > .ipa-variation-table-wrap,
.single-product .woocommerce-tabs + .ipa-variation-table-wrap{
  margin-top:24px;
  clear:both;
}
.single-product .summary .ipa-variation-table-wrap{
  margin-top:24px;
}


.single-product div.product .ipa-variation-table-wrap + .ipa-variation-table-wrap{
  display:none !important;
}


body.ipa-display-mode-table .single_variation_wrap .woocommerce-variation-add-to-cart,
body.ipa-display-mode-table .single_variation_wrap .quantity,
body.ipa-display-mode-table .single_variation_wrap .single_add_to_cart_button,
body.ipa-display-mode-both .single_variation_wrap .woocommerce-variation-add-to-cart,
body.ipa-display-mode-both .single_variation_wrap .quantity,
body.ipa-display-mode-both .single_variation_wrap .single_add_to_cart_button{
  display:none !important;
}


.single-product div.product.ipa-has-variation-table .single_variation_wrap .woocommerce-variation-add-to-cart,
.single-product div.product.ipa-has-variation-table .single_variation_wrap .quantity,
.single-product div.product.ipa-has-variation-table .single_variation_wrap .single_add_to_cart_button{
  display:none !important;
}


.ipa-archive-purchase{
  display:flex;
  align-items:center;
  gap:8px;
  margin:8px 0 10px;
  flex-wrap:wrap;
}
.ipa-archive-purchase .ipa-archive-qty{
  width:72px;
}
.ipa-archive-purchase-message{
  font-size:12px;
}
.ipa-archive-add-to-cart[disabled]{
  opacity:.55;
  cursor:not-allowed;
}


.ipa-swatch-text{
  display:block;
}
.ipa-swatch-price{
  display:block;
  margin-top:2px;
  font-size:12px;
  line-height:1.2;
  opacity:.9;
}
.ipa-swatch-price .woocommerce-Price-amount{
  font-weight:600;
}
