/* Give the actual inner colour elements a square box, not a text line-height. */
body.single-product div.product form.variations_form .variable-items-wrapper { display:flex; flex-wrap:wrap; align-items:center; gap:10px; margin:0; padding:0; }
body.single-product div.product form.variations_form .variable-items-wrapper .color-variable-item { display:grid!important; place-items:center; flex:0 0 44px; width:44px!important; height:44px!important; min-width:44px; min-height:44px; margin:0; padding:5px!important; border-radius:50%; box-sizing:border-box; }
body.single-product div.product form.variations_form .color-variable-item .variable-item-contents { display:block!important; flex:none; width:32px!important; height:32px!important; min-height:32px; padding:0!important; border-radius:inherit; }
body.single-product div.product form.variations_form .color-variable-item .variable-item-span-color { display:block!important; flex:none; width:32px!important; height:32px!important; min-width:32px; min-height:32px; padding:0!important; margin:0!important; border-radius:inherit; box-sizing:border-box; box-shadow:inset 0 0 0 1px #00000014; }
body.single-product div.product form.variations_form .cfvsw-color-option .cfvsw-swatch-inner { flex:0 0 32px!important; aspect-ratio:1; max-height:none!important; line-height:1!important; }
.vz-thumbnail-controls { display:flex; justify-content:flex-end; gap:8px; margin-top:8px; }
.vz-thumbnail-controls[hidden] { display:none; }
.vz-thumbnail-controls button { display:grid; place-items:center; width:42px; height:42px; padding:0; border:1px solid var(--vz-line); border-radius:50%; background:#fff; color:var(--vz-charcoal); font-size:22px; line-height:1; cursor:pointer; }
.vz-thumbnail-controls button:hover { border-color:var(--vz-red); color:var(--vz-red); }.vz-thumbnail-controls button:disabled { opacity:.35; cursor:default; }
body.single-product div.product div.images { min-width:0; }
body.single-product div.product div.images .flex-control-thumbs { max-width:100%!important; touch-action:pan-x pan-y; }
@media(max-width:700px) {
 html body.single-product div.product .summary form.cart::before,
 html body.single-product div.product .summary form.cart::after,
 html body.single-product div.product .summary .woocommerce-variation-add-to-cart::before,
 html body.single-product div.product .summary .woocommerce-variation-add-to-cart::after { display:none!important; content:none!important; }
 html body.single-product div.product .summary form.cart:not(.variations_form):not(.grouped_form),
 html body.single-product div.product .summary form.cart.variations_form .woocommerce-variation-add-to-cart {
  display:grid!important; grid-template-columns:110px minmax(0,1fr)!important; gap:8px!important; align-items:center!important; width:100%; min-width:0;
 }
 html body.single-product div.product .summary form.cart .quantity.vz-quantity,
 html body.single-product div.product .summary form.cart.variations_form .quantity.vz-quantity {
  width:110px!important; min-width:110px!important; max-width:110px!important; flex-basis:110px!important; height:48px!important;
 }
 html body.single-product div.product .summary form.cart .quantity.vz-quantity > .vz-quantity__button { width:32px!important; min-width:32px!important; max-width:32px!important; flex-basis:32px!important; height:46px!important; }
 html body.single-product div.product .summary form.cart .quantity.vz-quantity > input.qty { width:44px!important; min-width:0!important; max-width:44px!important; flex:1 1 44px!important; height:46px!important; font-size:16px!important; }
 html body.single-product div.product .summary form.cart button.single_add_to_cart_button.button,
 html body.single-product div.product .summary form.cart button.single_add_to_cart_button.alt {
  width:100%!important; min-width:0!important; min-height:48px!important; padding:10px 8px!important; font-size:12px!important; gap:6px!important; white-space:normal; box-sizing:border-box;
 }
 html body.single-product div.product .summary form.cart button.single_add_to_cart_button::before { width:16px!important; height:16px!important; flex:0 0 16px!important; margin:0!important; }
 html body.single-product div.product :is(.related,.upsells) { width:100%!important; min-width:0; padding:18px 0!important; margin-inline:0!important; box-sizing:border-box; }
 html body.single-product div.product :is(.related,.upsells) ul.products { display:grid!important; grid-template-columns:repeat(2,minmax(0,1fr))!important; gap:12px!important; width:100%!important; margin:0!important; padding:0!important; }
 html body.single-product div.product :is(.related,.upsells) ul.products::before,
 html body.single-product div.product :is(.related,.upsells) ul.products::after { display:none!important; }
 html body.single-product div.product :is(.related,.upsells) ul.products li.product { float:none!important; width:100%!important; max-width:none!important; min-width:0!important; margin:0!important; padding:10px!important; box-sizing:border-box; }
 html body.single-product div.product :is(.related,.upsells) .woocommerce-loop-product__title { font-size:14px!important; line-height:1.45!important; overflow-wrap:anywhere; }
 html body.single-product div.product :is(.related,.upsells) li.product .button { min-width:0!important; width:100%!important; padding:10px 6px!important; font-size:11px!important; white-space:normal; }
 html body.single-product div.product :is(.related,.upsells) li.product .price { font-size:17px!important; }
 html body.single-product div.product :is(.related,.upsells) li.product .vz-price-ex-tax { font-size:11px!important; }
 html body.single-product div.product .woocommerce-tabs { min-width:0; padding:18px!important; }
 html body.single-product div.product table.shop_attributes { display:table!important; table-layout:fixed; width:100%!important; min-width:0!important; max-width:100%!important; }
 html body.single-product div.product table.shop_attributes :is(th,td) { width:50%!important; min-width:0!important; padding:10px 8px!important; white-space:normal!important; overflow-wrap:anywhere; word-break:normal; font-size:13px!important; line-height:1.5; }
 html body.single-product div.product table.shop_attributes :is(p,a) { white-space:normal!important; overflow-wrap:anywhere; }
}
