.woocommerce-variation-add-to-cart,form.cart{
    flex-wrap:wrap!important
}
.wapf{
    width:100%
}
.wapf-hide{
    display:none!important
}
.wapf img{
    max-width:100%
}
.wapf-wrapper{
    margin:0 0 20px -5px;
    width:100%
}
.wapf-field-group,.wapf-section{
    display:flex;
    flex-wrap:wrap
}
.wapf-field-container{
    padding:0 5px 15px 5px;
    box-sizing:border-box
}
.wapf-cloner{
    margin-top:15px
}
.wapf-section .wapf-cloner{
    margin:0 0 15px 5px
}
.wapf-clone-title{
    margin:15px 0;
    padding-left:5px;
    width:100%
}
.wapf-field-label{
    display:flex;
    align-items:center
}
.wapf-field-label label{
    margin:0
}
.label-above .wapf-field-label{
    margin-bottom:10px
}
.wapf-field-description{
    font-size:85%;
    opacity:.8;
    padding:5px 0 0 0;
    margin:0
}
.wapf-field-input label[for]{
    cursor:pointer
}
.wapf input[type=email],.wapf input[type=number],.wapf input[type=text],.wapf input[type=url],.wapf select,.wapf textarea{
    width:100%;
    box-sizing:border-box
}
.wapf input[type=checkbox],.wapf input[type=radio]{
    float:left;
    margin-top:5px
}
.wapf-input-label{
    font-weight:400
}
.wapf-label-text{
    padding-left:10px
}
.wapf-pricing-hint{
    opacity:.7
}
.wapf-checkable{
    clear:both
}
.wapf-swatch{
    box-sizing:border-box;
    cursor:pointer;
    position:relative
}
.wapf-swatch input[type=checkbox],.wapf-swatch input[type=radio]{
    position:absolute;
    opacity:0;
    pointer-events:none
}
.wapf--circle{
    border-radius:50%
}
.wapf--rounded{
    border-radius:4px
}
.wapf-swatch-wrapper{
    display:flex;
    flex-wrap:wrap
}
.wapf-swatch--image{
    border:2px solid transparent;
    text-align:center;
    transition:all .1s
}
.wapf-swatch--image.wapf-checked{
    border-color:#353c4e
}
.wapf-swatch--image img{
    vertical-align:bottom
}
.wapf-swatch-label{
    text-align:center;
    padding:4px
}
@supports (display:grid){
    .wapf-field-container .wapf-swatch--image{
        width:100%
    }
}
.wapf-image-swatch-wrapper{
    display:grid;
    grid-template-columns:repeat(var(--wapf-cols),1fr);
    grid-auto-rows:auto;
    grid-gap:10px
}
@media all and (max-width:900px){
    .wapf-image-swatch-wrapper{
        grid-template-columns:repeat(var(--wapf-cols-t),1fr)
    }
}
@media all and (max-width:768px){
    .wapf-image-swatch-wrapper{
        grid-template-columns:repeat(var(--wapf-cols-m),1fr)
    }
}
.wapf-swatch--color{
    margin:0 15px 15px 0;
    position:relative;
    transition:all .1s
}
.wapf-swatch--color .wapf-color{
    margin:auto
}
.wapf-swatch--color.wapf-checked .wapf-color{
    border:3px solid #fff;
    color:#353c4e;
    box-shadow:0 0 0 2px
}
.wapf-swatch--text{
    padding:7px 11px;
    margin:0 15px 15px 0;
    border-radius:4px;
    border:1px solid #ccc
}
.wapf-swatch--text:hover{
    border-color:#353c4e
}
.wapf-swatch--text.wapf-checked{
    border-color:#353c4e;
    background:#353c4e;
    color:#fff
}
.wapf-field-calc{
    display:flex;
    flex-flow:wrap
}
.wapf-field-calc .wapf-field-label{
    flex:1;
    order:-1
}
.wapf-field-calc .wapf-field-input{
    padding-left:15px
}
.wapf-total{
    margin:0;
    padding:0
}
.wttw{
    z-index:999999;
    position:absolute;
    max-width:200px;
    opacity:0;
    transition:opacity .2s;
    visibility:hidden;
    left:-100%
}
.rtl .wttw{
    left:100%
}
.wapf-ttp{
    padding:4px 9px;
    font-size:.9rem;
    border-radius:4px;
    color:#fff;
    background:#353c4e
}
.wapf-ttp:after{
    content:'';
    z-index:-1;
    position:absolute;
    width:8px;
    height:8px;
    background:#353c4e;
    transform-origin:center;
    transform:rotate(45deg)
}
.tt-v{
    visibility:visible;
    display:block;
    opacity:1
}
.tt-t .wapf-ttp:after{
    bottom:-4px;
    left:50%;
    margin-left:-4px
}
.tt-b .wapf-ttp:after{
    top:-4px;
    left:50%;
    margin-left:-4px
}
.tt-l .wapf-ttp:after{
    top:50%;
    right:-4px;
    margin-top:-4px
}
.tt-r .wapf-ttp:after{
    top:50%;
    left:-4px;
    margin-top:-4px
}
.wapf-tt-icon{
    margin-left:5px;
    padding:0 5px;
    fill:currentColor;
    display:flex;
    cursor:pointer
}
.tt-img{
    max-width:300px;
    text-align:center
}
.tt-img img{
    margin-bottom:5px
}