.vi-wpvs-variation-wrap-wrap {
    max-width: 100%;
    padding-left: 8px;
}

.vi-wpvs-hidden {
    display: none !important;
    visibility: hidden !important;
}

.vi-wpvs-select-attribute {
    display: none !important;
    visibility: hidden;
}

select option.vi-wpvs-option-disabled {
    display: none;
    visibility: hidden;
}

.vi-wpvs-variation-wrap {
    max-width: 100%;
    display: inline-flex;
    flex-wrap: wrap;
    text-align: center;
    justify-content: flex-start;
}

.vi-wpvs-variation-wrap .vi-wpvs-option-wrap {
    width: auto;
    height: auto;
    align-items: center;
    display: flex;
    margin: 5px 12px 8px 0;
    cursor: pointer;
    position: relative;
    transition: all 30ms ease-in-out;
}

.vi-wpvs-variation-wrap:not(.vi-wpvs-variation-wrap-select) .vi-wpvs-option-wrap.vi-wpvs-option-wrap-out-of-stock-attribute > *:not(.vi-wpvs-option-tooltip),
.vi-wpvs-variation-wrap.vi-wpvs-variation-wrap-select .vi-wpvs-option-wrap.vi-wpvs-option-wrap-out-of-stock-attribute .vi-wpvs-option,
.vi-wpvs-variation-wrap:not(.vi-wpvs-variation-wrap-select) .vi-wpvs-option-wrap.vi-wpvs-option-wrap-out-of-stock > *:not(.vi-wpvs-option-tooltip),
.vi-wpvs-variation-wrap.vi-wpvs-variation-wrap-select .vi-wpvs-option-wrap.vi-wpvs-option-wrap-out-of-stock .vi-wpvs-option {
    opacity: .5;
}

.vi-wpvs-variation-wrap.vi-wpvs-variation-wrap-loop .vi-wpvs-option-wrap {
    margin: 0 8px 8px 0;
}

.vi-wpvs-variation-wrap.vi-wpvs-variation-wrap-button .vi-wpvs-option-wrap {
    padding: 0 5px;
}

.vi-wpvs-variation-wrap .vi-wpvs-option-wrap .vi-wpvs-option {
    margin: auto;
    max-width: 100%;
    max-height: 100%;
    overflow: hidden;
    display: flex;
    align-items: center;
    line-height: normal;
    -ms-transform: translateZ(0);
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
}

.vi-wpvs-variation-wrap .vi-wpvs-option-wrap.vi-wpvs-option-wrap-out-of-stock,
.vi-wpvs-variation-wrap .vi-wpvs-option-wrap.vi-wpvs-option-wrap-out-of-stock-attribute,
.vi-wpvs-variation-wrap .vi-wpvs-option-wrap.vi-wpvs-option-wrap-disable {
    overflow: hidden;
    border-color: rgba(192, 185, 200, 0.26);
    z-index: 1;
}

.vi-wpvs-variation-wrap .vi-wpvs-option-wrap.vi-wpvs-option-wrap-disable {
    cursor: not-allowed;
}

.vi-wpvs-variation-wrap .vi-wpvs-option-wrap.vi-wpvs-option-wrap-selected {
    z-index: 2;
}

.vi-wpvs-variation-wrap .vi-wpvs-option-wrap.vi-wpvs-option-wrap-out-of-stock::before,
.vi-wpvs-variation-wrap .vi-wpvs-option-wrap.vi-wpvs-option-wrap-out-of-stock::after,
.vi-wpvs-variation-wrap .vi-wpvs-option-wrap.vi-wpvs-option-wrap-out-of-stock-attribute::before,
.vi-wpvs-variation-wrap .vi-wpvs-option-wrap.vi-wpvs-option-wrap-out-of-stock-attribute::after,
.vi-wpvs-variation-wrap .vi-wpvs-option-wrap.vi-wpvs-option-wrap-disable::before,
.vi-wpvs-variation-wrap .vi-wpvs-option-wrap.vi-wpvs-option-wrap-disable::after {
    display: none;
    position: absolute;
    left: 0;
    width: 100%;
    height: 1px;
    z-index: 2;
    content: '';
    background: #ff3136;
}

.vi-wpvs-variation-wrap .vi-wpvs-option-wrap.vi-wpvs-option-wrap-out-of-stock::before,
.vi-wpvs-variation-wrap .vi-wpvs-option-wrap.vi-wpvs-option-wrap-out-of-stock-attribute::before,
.vi-wpvs-variation-wrap .vi-wpvs-option-wrap.vi-wpvs-option-wrap-disable::before {
    transform: rotate(-45deg);
}

.vi-wpvs-variation-wrap .vi-wpvs-option-wrap.vi-wpvs-option-wrap-out-of-stock::after,
.vi-wpvs-variation-wrap .vi-wpvs-option-wrap.vi-wpvs-option-wrap-out-of-stock-attribute::after,
.vi-wpvs-variation-wrap .vi-wpvs-option-wrap.vi-wpvs-option-wrap-disable::after {
    transform: rotate(45deg);
}

.vi-wpvs-variation-wrap.vi-wpvs-variation-wrap-radio .vi-wpvs-option-wrap label.vi-wpvs-option,
.woocommerce div.product form.cart .variations label.vi-wpvs-option {
    margin: 0;
    cursor: pointer;
}

.vi-wpvs-variation-wrap.vi-wpvs-variation-wrap-radio .vi-wpvs-option-wrap input {
    cursor: pointer;
    margin: auto 5px auto auto;
}

.vi-wpvs-variation-wrap .vi-wpvs-option-wrap:last-child {
    margin-right: 0;
}

.vi-wpvs-variation-wrap .vi-wpvs-option-wrap .vi-wpvs-option.vi-wpvs-option-color,
.vi-wpvs-variation-wrap .vi-wpvs-option-wrap .vi-wpvs-option.vi-wpvs-option-image {
    width: 100%;
    height: 100%;
    max-height: 100%;
    max-width: 100%;
    margin: 0 !important;
}

.vi-wpvs-variation-wrap .vi-wpvs-option-wrap:hover .vi-wpvs-option-tooltip {
    visibility: visible;
    opacity: 1;
}

.vi-wpvs-variation-wrap .vi-wpvs-option-wrap .vi-wpvs-option-tooltip {
    visibility: hidden;
    opacity: 0;
    position: absolute;
    z-index: 5;
    pointer-events: none;
    text-align: center;
    transition: all .3s linear;
}

.vi-wpvs-variation-wrap .vi-wpvs-option-wrap .vi-wpvs-option-tooltip::before,
.vi-wpvs-variation-wrap .vi-wpvs-option-wrap .vi-wpvs-option-tooltip::after {
    content: "";
    position: absolute;
    z-index: 10;
    transition: all .3ms linear;
}

/* tooltip top*/
.vi-wpvs-variation-wrap .vi-wpvs-option-wrap:hover .vi-wpvs-option-tooltip-top {
    bottom: 120%;
}

.vi-wpvs-variation-wrap .vi-wpvs-option-wrap .vi-wpvs-option-tooltip-top {
    bottom: 150%;
    left: 50%;
    transform: translate(-50%, 0);
}

.vi-wpvs-variation-wrap .vi-wpvs-option-wrap .vi-wpvs-option-tooltip-top::before,
.vi-wpvs-variation-wrap .vi-wpvs-option-wrap .vi-wpvs-option-tooltip-top::after {
    top: 100%;
    left: 50%;
}

/* tooltip bottom*/
.vi-wpvs-variation-wrap .vi-wpvs-option-wrap:hover .vi-wpvs-option-tooltip-bottom {
    top: 120%;
}

.vi-wpvs-variation-wrap .vi-wpvs-option-wrap .vi-wpvs-option-tooltip-bottom {
    top: 150%;
    left: 50%;
    transform: translate(-50%, 0);
}

.vi-wpvs-variation-wrap .vi-wpvs-option-wrap .vi-wpvs-option-tooltip-bottom::before,
.vi-wpvs-variation-wrap .vi-wpvs-option-wrap .vi-wpvs-option-tooltip-bottom::after {
    bottom: 100%;
    left: 50%;
}

/* tooltip left*/
.vi-wpvs-variation-wrap .vi-wpvs-option-wrap:hover .vi-wpvs-option-tooltip-left {
    right: 120%;
}

.vi-wpvs-variation-wrap .vi-wpvs-option-wrap .vi-wpvs-option-tooltip-left {
    top: 50%;
    right: 150%;
    transform: translate(0, -50%);
}

.vi-wpvs-variation-wrap .vi-wpvs-option-wrap .vi-wpvs-option-tooltip-left::before,
.vi-wpvs-variation-wrap .vi-wpvs-option-wrap .vi-wpvs-option-tooltip-left::after {
    top: 50%;
    left: 100%;
}

/* tooltip right*/
.vi-wpvs-variation-wrap .vi-wpvs-option-wrap:hover .vi-wpvs-option-tooltip-right {
    left: 120%;
}

.vi-wpvs-variation-wrap .vi-wpvs-option-wrap .vi-wpvs-option-tooltip-right {
    top: 50%;
    left: 150%;
    transform: translate(0, -50%);
}

.vi-wpvs-variation-wrap .vi-wpvs-option-wrap .vi-wpvs-option-tooltip-right::before,
.vi-wpvs-variation-wrap .vi-wpvs-option-wrap .vi-wpvs-option-tooltip-right::after {
    top: 50%;
    right: 100%;
}

/* variation swatches in loop product */
.vi_variation_container {
    display: flex;
    align-items: center;
    margin: unset;
}

.vi_variation_container .vi-wpvs-variation-wrap-loop.vi-wpvs-variation-wrap {
    padding-left: 0;
}

.vi_variation_container .vi-wpvs-option-wrap.vi-wpvs-product-link {
    background: #E2E2E2 !important;
    box-shadow: 0 0 0 1px #ddd !important;
}

.vi_variation_container .vi-wpvs-option-wrap.vi-wpvs-product-link .vi-wpvs-option {
    justify-content: center;
}

/* display type */
.vi-wpvs-variation-style {
    max-width: 100%;
    width: 100%;
    display: grid !important;
    border: unset !important;
    grid-auto-columns: auto;
    grid-auto-rows: auto;
    margin-bottom: 10px;
    height: auto !important;
}

.woocommerce div.product div.summary form.cart.variations_form .variations ul.vi-wpvs-variation-style,
.woocommerce-page div.product div.summary form.cart.variations_form .variations ul.vi-wpvs-variation-style {
    margin-bottom: 10px;
}

.vi-wpvs-variation-style.vi-wpvs-variation-style-vertical {
    grid-template-columns: auto;
    grid-gap: 0;
}

.woocommerce .variations_form.vi_wpvs_variation_form .vi-wpvs-variation-style td,
.woocommerce-page .variations_form.vi_wpvs_variation_form .vi-wpvs-variation-style td {
    width: 100%;
    border: unset;
}

.vi-wpvs-variation-style.vi-wpvs-variation-style-horizontal {
    grid-template-columns: 2fr 8fr;
    grid-gap: 8px;
    align-items: center;
    justify-items: stretch;
}

.vi-wpvs-variation-style .vi-wpvs-variation-style-content:not(.vi_variation_container) {
    margin: unset !important;
    background: transparent;
}

.vi-wpvs-variation-style .vi-wpvs-variation-wrap-wrap {
    padding-left: unset;
}

/* reset button css */
.variations .vi-wpvs-variation-style a.reset_variations {
    bottom: 100%;
}

/* style select*/

.vi-wpvs-variation-wrap.vi-wpvs-variation-wrap-select {
    max-width: 100%;
    width: 100%;
}

.vi-wpvs-variation-wrap .vi-wpvs-variation-wrap-select-wrap {
    border: unset;
    min-width: 160px;
    position: relative;
    max-width: 100%;
    width: 100%;
    cursor: pointer;
}

.vi-wpvs-variation-wrap .vi-wpvs-variation-wrap-select-wrap .vi-wpvs-variation-button-select {
    border: 1px solid #ccc;
    width: auto;
    text-align: left;
    position: relative;
    padding-left: 8px;
    color: #222;
}

.vi-wpvs-variation-wrap .vi-wpvs-variation-wrap-select-wrap .vi-wpvs-variation-button-select::after {
    content: '';
    color: inherit;
    border-width: 5px;
    border-style: solid;
    border-color: #222 transparent transparent transparent;
    position: absolute;
    top: 50%;
    margin-top: -3px;
    right: 10px;
}

.vi-wpvs-variation-wrap .vi-wpvs-variation-wrap-select-wrap .vi-wpvs-variation-button-select > span {
    margin-right: 20px;
}

.vi-wpvs-variation-wrap-option-available {
    z-index: 9999999999;
    position: absolute;
    visibility: visible;
}

.vi-wpvs-variation-wrap-select-top {
    bottom: 100%;
    border-bottom: unset;
}

.vi-wpvs-variation-wrap-select-bottom {
    top: 100%;
    border-top: unset;
}

.vi-wpvs-variation-wrap-option-available .vi-wpvs-variation-wrap-option {
    visibility: visible;
    width: 100%;
    left: 0;
    border: 1px solid #ccc;
    border-top: none;
    display: grid;
    grid-template-columns: auto;
    grid-auto-columns: auto;
    grid-auto-rows: auto;
    transition: visibility 300ms ease;
    max-height: 300px;
    overflow-x: hidden;
    overflow-y: visible;
}

.vi-wpvs-variation-wrap-select-wrap .vi-wpvs-variation-wrap-option::-webkit-scrollbar {
    width: 7px;
}

.vi-wpvs-variation-wrap-select-wrap .vi-wpvs-variation-wrap-option::-webkit-scrollbar-track {
    background: #f1f1f1;
    margin-top: 2px;
    margin-bottom: 2px;
}

.vi-wpvs-variation-wrap-select-wrap .vi-wpvs-variation-wrap-option::-webkit-scrollbar-thumb {
    background: #cecece;
    border-radius: 20px;
}

.vi-wpvs-variation-wrap-select-wrap .vi-wpvs-variation-wrap-option::-webkit-scrollbar-thumb:hover {
    background: #a6a6a6;
}

.vi-wpvs-variation-wrap .vi-wpvs-variation-wrap-option .vi-wpvs-option-wrap {
    width: 100%;
    margin: 0;
    justify-content: flex-start;
}

.vi-wpvs-variation-wrap .vi-wpvs-variation-wrap-option .vi-wpvs-option-wrap .vi-wpvs-option {
    margin: unset;
    width: 100%;
    height: 100%;
    line-height: normal;
    text-align: left;
}

.vi-wpvs-select-hidden {
    visibility: hidden !important;
    z-index: -1 !important;
}

.vi-wpvs-variation-wrap.vi-wpvs-variation-wrap-slider .vi-wpvs-option-wrap.vi-wpvs-option-wrap-out-of-stock::before,
.vi-wpvs-variation-wrap .vi-wpvs-option-wrap.vi-wpvs-option-wrap-out-of-stock::after,
.vi-wpvs-variation-wrap.vi-wpvs-variation-wrap-slider .vi-wpvs-option-wrap.vi-wpvs-option-wrap-out-of-stock-attribute::before,
.vi-wpvs-variation-wrap .vi-wpvs-option-wrap.vi-wpvs-option-wrap-out-of-stock-attribute::after,
.vi-wpvs-variation-wrap.vi-wpvs-variation-wrap-slider .vi-wpvs-option-wrap.vi-wpvs-option-wrap-disable::before,
.vi-wpvs-variation-wrap .vi-wpvs-option-wrap.vi-wpvs-option-wrap-disable::after {
    bottom: 50%;
}

.vi-wpvs-label-selected {
    margin-left: 10px;
}


/* rtl style*/
.vi-wpvs-variation-style.vi-wpvs-variation-style-rtl {
    direction: rtl;
}

.vi-wpvs-variation-style.vi-wpvs-variation-style-rtl .vi-wpvs-variation-wrap-wrap {
    float: right;
}

.vi-wpvs-variation-wrap.vi-wpvs-variation-wrap-rtl:not(.vi-wpvs-variation-wrap-loop) .vi-wpvs-option-wrap {
    margin: 5px 0 8px 12px !important;
}

.vi-wpvs-variation-wrap.vi-wpvs-variation-wrap-rtl .vi-wpvs-option-wrap:last-child {
    margin-left: 0 !important;
}

.vi-wpvs-variation-wrap.vi-wpvs-variation-wrap-loop.vi-wpvs-variation-wrap-rtl .vi-wpvs-option-wrap {
    margin: 0 0 8px 8px !important;
}

.vi-wpvs-variation-wrap.vi-wpvs-variation-wrap-rtl .vi-wpvs-variation-wrap-select-wrap,
.vi-wpvs-variation-wrap.vi-wpvs-variation-wrap-rtl .vi-wpvs-variation-wrap-select-wrap .vi-wpvs-variation-button-select,
.vi-wpvs-variation-wrap.vi-wpvs-variation-wrap-rtl .vi-wpvs-variation-wrap-select-wrap .vi-wpvs-variation-button-select > span,
.vi-wpvs-variation-wrap.vi-wpvs-variation-wrap-rtl .vi-wpvs-variation-wrap-select-wrap .vi-wpvs-variation-wrap-option .vi-wpvs-option-wrap,
.vi-wpvs-variation-wrap.vi-wpvs-variation-wrap-rtl .vi-wpvs-variation-wrap-select-wrap .vi-wpvs-variation-wrap-option .vi-wpvs-option-wrap .vi-wpvs-option {
    text-align: right;
    justify-content: flex-end;
}

.vi-wpvs-variation-wrap.vi-wpvs-variation-wrap-rtl .vi-wpvs-variation-wrap-select-wrap .vi-wpvs-variation-button-select::after {
    border-width: 0;
    border-color: transparent transparent transparent transparent;
}

.vi-wpvs-variation-wrap.vi-wpvs-variation-wrap-rtl .vi-wpvs-variation-wrap-select-wrap .vi-wpvs-variation-button-select::before {
    content: '';
    color: inherit;
    border-width: 5px;
    border-style: solid;
    border-color: #222 transparent transparent transparent;
    position: absolute;
    top: 50%;
    margin-top: -3px;
    left: 10px;
}

.vi-wpvs-variation-wrap.vi-wpvs-variation-wrap-rtl .vi-wpvs-variation-wrap-select-wrap .vi-wpvs-variation-button-select > span {
    margin-right: 0;
    margin-left: 20px;
}

/* compatible vs Elementor */
.woocommerce .elementor-element form.cart.vi_wpvs_variation_form .variations {
    width: 100% !important;
    max-width: 100% !important;
}

.woocommerce div.product.elementor form.cart table.variations tr.vi-wpvs-variation-style {
    display: grid !important;
}

.woocommerce div.product.elementor form.cart table.variations td.value.vi-wpvs-variation-style-content:before {
    display: none !important;
}

/* compatible vs WoodMart theme */
.vi-wpvs-variation-style-content .wd-swatches-product,
.swatches-select.swatches-on-single {
    display: none !important;
}

/* use default dropdown */
.single-product .product .variations .vi-wpvs-variation-wrap-viwpvs_default select {
    max-width: 100%;
}