@font-face {
    font-family: "star";
    src: url("../fonts/star.eot");
    src: url("../fonts/star.eot?#iefix") format("embedded-opentype"),
    url("../fonts/star.woff") format("woff"),
    url("../fonts/star.ttf") format("truetype"),
    url("../fonts/star.svg#star") format("svg");
    font-weight: normal;
    font-style: normal;
}

.page-woocommerce{
    margin: 40px 0;
}

.woocommerce-notices-wrapper {
    width: 100%;
    margin: 0 auto;
}

.woocommerce-error,
.woocommerce-info,
.woocommerce-message {
    padding: 15px 20px;
    margin: 0 0 30px;
    position: relative;
    overflow: hidden;
    background-color: #fff;
    color: #515151;
    border-top: 3px solid #7f54b3;
    list-style: none outside;
    width: auto;
    word-wrap: break-word;

}

.woocommerce-info,
.woocommerce-message {
    border-top-color: var(--bic-primary-color);
}

.woocommerce-error{
    border-top-color: red;
}


.woocommerce .woocommerce-error .button,
.woocommerce .woocommerce-info .button,
.woocommerce .woocommerce-message .button,
.woocommerce-page .woocommerce-error .button,
.woocommerce-page .woocommerce-info .button,
.woocommerce-page .woocommerce-message .button {
    float: right;
}

.woocommerce-notices-wrapper a.button {
    background-color: var(--bic-primary-color) !important;
    color: #FFF !important;
    font-size: 14px !important;
    padding: 12px 30px !important;
    border-radius: 999px !important;
    text-transform: uppercase;
}

.woocommerce-notices-wrapper a.button:hover {
    opacity: .7;
}

.woocommerce-notices-wrapper a.restore-item {
    color: var(--bic-primary-color);
    font-weight: 700;
}

.woocommerce-verification-required{
    margin: 16px 0;
}

.woocommerce button.button, .woocommerce .woocommerce-Button.button, .woocommerce a.button, .woocommerce a.added_to_cart, .woocommerce-Address-title a {
    position: relative;
    overflow: hidden;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 5px 10px;
    text-align: center;
    text-decoration: none;
    font-weight: 700;
    text-transform: none;
    line-height: 1.2;
    background: var(--bic-primary-color);
    color: #fff;
    padding: 8px 20px;
    height: 46px;
    min-width: 180px;
    border-radius: var(--bic-border-radius);
    transition: background-color .3s ease,color .3s ease,border-color .3s ease;
}

.woocommerce a.added_to_cart::before{
    display: inline-block;
    position: relative;
    content: "\e932";
    font-family: "icomoon", fantasy !important;
    font-size: 16px;
    line-height: 1;
    text-align: center;
    opacity: 1;
    visibility: visible;
    transition: 150ms ease;
    color: #000;
}

.woocommerce .button:hover,
.woocommerce .button:focus {
    background: var(--bic-primary-hover-color);
    color: #fff;
}

.woocommerce a.button.loading {
    cursor: progress;
    opacity: .7;
}

.password-input{
    position: relative;
}

button.show-password-input{
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: 15px;
    padding: 0;
    background: transparent;
    display: flex;
}

button.show-password-input::before{
    content: "\e91e";
    font-family: 'icomoon', fantasy;
    display: inline-flex;
    transition: transform .3s ease;
    font-size: 14px;
    color: #000;
}

button.show-password-input.display-password::after{
    content: "/";
    font-size: 18px;
    color: #000;
    position: absolute;
    top: 50%;
    transform: translate(-50%, -50%);
    left: 50%;
}


.woocommerce-privacy-policy-link {
    color: var(--bic-primary-color);
}

.product-item-labels {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    position: absolute;
    left: -10px;
    top: 17px;
    z-index: 9;
}

.product-item-labels>span{
    border-radius: 9999px;
    color: #fff;
    font-size: 12px;
    font-weight: 700;
    display: block;
    margin-top: 0;
    padding: 2px 10px;
    text-transform: uppercase;
}
.product-single-header .product-item-labels {
    display: none;
}
.product-item-labels span.onsale {
    background-image: url('/wp-content/themes/ttasmartlock/assets/images/icons/sale.png');
    height: 35px;
    width: 35px;
    background-position: center;
    background-size: contain;
}

.widget_layered_nav_filters {
    margin-bottom: 15px;
}
form.woocommerce-ordering {
    display: flex;
    justify-content: flex-end;
    flex: 1;
    padding-left: 30px;
}
.product_detail table {
  background-color: var(--bic-primary-color);
  border-radius: 8px;
  border-radius: 8px;
  overflow: hidden;
  border: 1px solid #f0f0f0;
}

.product_detail .tr_head {
  background-color: #f9b00f;
  color: #fff;
  text-align: left;
  font-weight: bold;
  text-transform: uppercase;
}

.product_detail table td {
  padding: 5px 16px;
  border-bottom: 1px solid #f0f0f0;
}

.product_detail table tbody tr:nth-child(even) {
  background-color: #fdf7e9;
}

.product_detail tbody tr:nth-child(odd) {
  background-color: #ffffff;
}

.product_detail tbody tr:hover {
  background-color: #fff2cc;
  transition: background-color 0.3s ease;
}

.product_detail table td:first-child {
  font-weight: 600;
  border-right: 1px solid #f0f0f0;
  min-width: 140px;
}

/* Rating */

.woocommerce #review_form #respond .comment-form .comment-form-rating {
    display: flex;
    align-items: center;
    margin-bottom: 0;
}

.woocommerce #review_form #respond .comment-form .comment-form-rating > label {
    display: inline-block;
    margin-right: 15px;
    padding: 0;
}

.woocommerce #review_form #respond p.stars {
    margin: -5px 0 0;
}

.woocommerce p.stars a {
    position: relative;
    text-indent: -999em;
    display: inline-block;
    text-decoration: none;
    width: 24px;
    height: 22px;
    color: var(--bic-border-color);
}

.woocommerce p.stars a::before, .woocommerce p.stars a:hover~a::before, .woocommerce p.stars:hover a::before, .woocommerce p.stars.selected a:not(.active)::before, .woocommerce p.stars.selected a.active::before, .woocommerce p.stars.selected a.active~a::before{
    content: "\73";
    position: absolute;
    top: 0;
    left: 0;
    text-indent: 0;
    font-family: star;
    text-transform: uppercase;
    font-size: 22px;
    line-height: 1;
    white-space: nowrap;
    display: inline-block;
    vertical-align: top;
}

.woocommerce .star-rating span, .product_list_widget .star-rating span, .woocommerce p.stars:hover a, .woocommerce p.stars.selected a, .woocommerce .star-rating span:before {
    color: rgba(253,201,4,1) !important;
}

.woocommerce p.stars a:hover ~ a, .woocommerce p.stars.selected a.active ~ a{
    color: var(--bic-border-color) !important;
}

.woocommerce-product-rating{
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 7px;
}

.woocommerce-product-rating a{
    font-size: 16px;
    color: var(--bic-text-color);
    font-weight: normal;
    line-height: 1;
    text-decoration: none;
}

.star-rating, .woocommerce .star-rating{
    display: inline-block;
    margin: 1px 0 0;
    width: 100px;
    height: 16px;
    line-height: 1;
    overflow: hidden;
    font-family: star;
    position: relative;
    text-transform: uppercase;
    backface-visibility: visible;
    -webkit-backface-visibility: visible;
}

.woocommerce .star-rating::before {
    content: "sssss";
    color: var(--bic-border-color);
    float: left;
    top: 0;
    left: 0;
    position: absolute;
    white-space: nowrap;
    display: inline-block;
    vertical-align: top;
    font-size: 16px;
    letter-spacing: 4px;
}

.woocommerce .star-rating span {
    float: left;
    font-size: 0;
    z-index: 2;
}

.star-rating span, .woocommerce .star-rating span, .woocommerce .star-rating span:before{
    overflow: hidden;
    top: 0;
    left: 0;
    position: absolute;
    padding-top: 16px;
}

.woocommerce .star-rating span::before {
    content: "sssss";
    top: 0;
    position: absolute;
    left: 0;
    font-size: 16px;
    letter-spacing: 4px;
    white-space: nowrap;
    display: inline-block;
    vertical-align: top;
    padding: 0;
}

.product-rating-histogram {
    display: flex;
    align-items: center;
    margin-bottom: 3rem;
    gap: 4rem;
}

.product-rating-avg-wrap {
    color: var(--bic-link-color);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.product-rating-avg {
    font-size: 80px;
    font-weight: 700;
    line-height: normal;
}

.product-rating-count {
    margin-top: 10px;
}

.rating-histogram-wrap{
    flex: 1 1 auto;
}

.rating-histogram-wrap .rating-bar {
    color: var(--bic-link-color);
    font-size: 16px;
    line-height: 1;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    flex-direction: row;
}

.rating-histogram-wrap .rating-bar:not(:last-child){
    margin-bottom: 10px;
}

.rating-histogram-wrap .rating-bar-star {
    font-weight: 500;
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-width: 27px;
}

.rating-histogram-wrap .rating-bar-progress {
    display: flex;
    overflow: hidden;
    font-size: .75rem;
    background-color: #E9E9E9;
    margin: 0 10px;
    height: 10px;
    width: 60%;
    border-radius: 9999px;
}

.rating-histogram-wrap .rating-bar-progress-bar{
    background-color: rgba(253,201,4,1) !important;
    display: flex;
    font-size: 0;
    flex-direction: column;
    justify-content: center;
    text-align: center;
    white-space: nowrap;
    height: 10px;
    transition: width .6s ease;
}

/* Product list */

.product-list-wrap{
    row-gap: calc(var(--bic-grid-gap)*2);
}

@media (min-width: 1441px) {
    body.home .product-list-wrap .col-md-3, body.single-product .product-list-wrap .col-md-3{
        -ms-flex: 0 0 20%;
        flex: 0 0 20%;
        max-width: 20%;
    }
}

.product-filter{
    position: relative;
    z-index: 10;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    align-items: center;
    justify-content: space-between;
    border-radius: var(--bic-border-radius);
    margin: 0px 0 40px;
    padding: 10px 15px;
    background: #fff;
}

.product-filter .woocommerce-result-count{
    margin: 0;
}

.product-item{
    position: relative;
    overflow: hidden;
    height: 100%;
    display: -webkit-box;   
    display: -ms-flexbox;
    display: flex;
    flex-direction: column;
    background: #fff;
    padding: 15px;
    border: 1px solid var(--bic-border-color);
    border-radius: var(--bic-border-radius);
    transition: all .3s;
}

.product-item-g-image{
    position: relative;
    overflow: hidden;
}

.product-item-actions {
    display: flex;
    gap: 15px;
    align-items: center;
    justify-content: center;
    padding: 0 20px;
    position: absolute;
    bottom: 22px;
    width: 100%;
    opacity: 0;
    visibility: hidden;
    transform: translateY(70px);
    transition: all .3s ease-out;
}

.product-item:hover .product-item-actions{
    transform: translateY(0);
    opacity: 1;
    visibility: visible;
    z-index: 9;
}

.product-item-actions .button, .product-item-actions .added_to_cart{
    background: rgb(218, 37, 28) !important;
    color: #fff !important;
    font-size: 14px !important;
    padding: 8px 16px !important;
    height: 36px !important;
    white-space: nowrap;
}

.product-item-actions .button.added{
    display: none !important;
}

.product-item-image{
    display: block;
    position: relative;
    overflow: hidden;
    border-radius: 5px;
    margin-bottom: 0;
}

.product-item-image picture{
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
}

.product-item-image::after {
    content: "";
    display: block;
    padding-top: 100%;
}

.product-item:hover .product-item-image img{
    transform: scale(1.05);
}

.product-item-info {
    padding-top: 15px;
}

.product-item-rating{
    display: flex;
    align-items: center;
    justify-content: flex-start;
    margin-bottom: 10px;
}

.product-item-labelsbt{
    margin-bottom: 10px;
}

.product-item-labelsbt span{
    display: inline-block;
    padding: 2px 6px;
    background: #f2f2f2;
    border-radius: 4px;
    margin-right: 6px;
    margin-bottom: 4px;
    font-size: 12px;
}

.product-item-title{
    font-size: 16px;
    color: var(--bic-text-color);
    text-align: left;
    font-weight: 700;
    margin-bottom: 12px;
}

.product-item-title a{
    color: inherit;
    transition: all 500ms ease;
}

.product-item-title a{
    display: block;
    display: -webkit-box;
    max-width: 100%;
    min-height: 42px;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
}

.product-item:hover .product-item-title a{
    color: var(--bic-primary-color);
}

.product-item-price{
    margin: 10px 0 20px;
}

.product-item .product-item-price{
    margin-bottom: 0;
}

.product-item-price span.price{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    flex-direction: row-reverse;
}

.prouct-item-actions-more{
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: 10px;
}
.prouct-item-actions-more img {
    max-height: 16px;
}

.prouct-item-actions-more .button-primary{
    gap: 5px !important;
    width: 100%;
    padding: 8px 10px !important;
    height: 36px !important;
    font-size: 14px;
}

.term-description{
    position: relative;
    margin-top: 40px;
}

span.woocommerce-Price-currencySymbol{
    margin-left: 5px;
}

.price ins{
    background: none;
    color: initial;
    padding: 0;
}


del .amount, ins .amount {
    font-size: 16px;
    font-weight: 700;
}

del .amount{
    text-decoration: line-through;
    color: #ddd !important;
}

ins .amount{
    color: rgb(218,37,28);
    font-weight: bold;
}

.product-item-buy{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    align-items: center;
    justify-content: center;
}

.product-item-buy a.add_to_cart_button.added{
    display: none;
}

/* Single product */

.product-single.mg{
    margin-top: 40px;
}

.product-breadcrum .breadcrumb{
    margin-bottom: 20px;
}

.product-single-header, .product-single-content{
    background: #fff;
    padding: 15px;
    border-radius: var(--bic-border-radius);
    border: 1px solid var(--bic-border-color);
}

.woocommerce .product-single-info form.cart{
    display: flex;
    flex-flow: row wrap;
}

.woocommerce .quantity{
    display: -webkit-box;
    display: -ms-flexbox;
    display: inline-flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    border: 1px solid var(--bic-border-color);
    border-radius: var(--bic-border-radius);
}

.woocommerce .product-single-info .quantity{
    margin-right: 16px;
}

.woocommerce label.qty-label{
    display: block;
    width: 100%;
    margin-bottom: 8px;
}

.woocommerce .quantity .qty,
.woocommerce .quantity button {
    background: transparent;
    text-align: center;
    padding: 0;
    line-height: 1;
}

.woocommerce .quantity button {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 46px;
    font-weight: 700;
    color: var(--bic-text-color);
}

.woocommerce .quantity button svg{
    width: 20px;
}

.woocommerce .quantity .qty {
    -moz-appearance: textfield;
    appearance: textfield;
    width: 69px;
    color: var(--bic-text-color);
    font-weight: 700;
    border-right: 0;
    border-left: 0;
    font-size: 18px;
}

.woocommerce .quantity input[type='number'] {
    -moz-appearance: textfield;
}

.woocommerce .quantity input[type=number]::-webkit-inner-spin-button {
    -webkit-appearance: none;
}

.woocommerce .product-single-info form.cart button {
    flex: 1 0 0%;
}

.woocommerce .product-single-info form.cart button.buy-now-btn{

    background: #ff0000 !important;
    color: #fff;
    margin-top: 10px;
}

.woocommerce .product-single-info form.cart button.buy-now-btn, .woocommerce .product-single-info form.cart .zalo-btn{
    flex: 0 0 auto;
    width: 100%;
}

.woocommerce .product-single-info form.cart .zalo-btn{
    margin-top: 10px;
}

.woocommerce .buy-actions{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    flex-direction: row-reverse;
    gap: 30px;
}

.woocommerce .buy-actions button{
    width: calc(100% / 2 - 15px);
}

.woocommerce-product-gallery{
    position: relative;
}

.woocommerce-product-gallery__trigger{
    position: absolute;
    z-index: 1;
    top: 15px;
    right: 15px;
    width: auto;
}

.product-single-gallery .flex-viewport, .product-single-gallery .flex-control-thumbs img {
    transition: 300 ms ease;
}

.product-single-gallery{
    position: relative;
}

.product-single-gallery .onsale{
    top: 15px;
    left: 15px;
}

.product-single-gallery span.is-featured.onsale{
    right: 15px;
}

.flex-viewport{
    margin-bottom: 20px;
}

.flex-control-thumbs{
    list-style: none;
    padding: 0;
    margin: 0 -10px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

.flex-control-thumbs li{
    position: relative;
    cursor: pointer;
    padding: 0 10px;
    width: calc(100% / 4);
}

.flex-control-thumbs li img{
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: var(--bic-border-radius);
}

.flex-control-thumbs li img:not(.flex-active){
    opacity: .5;
}

.woocommerce-product-gallery__image img{
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: var(--bic-border-radius);

}

.product-single-info{
    max-width: 500px;
}

.product-single-info p.price{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    flex-direction: row-reverse;
    justify-content: flex-end;
    gap: 15px;
    font-size: 24px;
    font-weight: 700;
    margin: 20px 0;
}

.woocommerce-product-details__short-description{
    margin: 20px 0;
}

.woocommerce-product-details__short-description ul, .woocommerce-product-details__short-description ol{
    padding-left: 20px;
    margin: 20px 0;
}

.product-single-info del .amount, .product-single-info ins .amount{
    font-size: 24px;
}

h1.product_title.entry-title{
    font-size: 24px;
    font-weight: 700;
    margin-bottom: 10px;
}

.product_meta{
    margin-top: 30px;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.product_meta span > span, .product_meta span > a{
    color: var(--bic-primary-color);
}

.product-single__body{
    position: relative;
    margin-top: 40px;
    padding-top: 40px;
    border-top: 1px solid var(--bic-border-color);
}

.product-single-promotion {
    position: relative;
    border-radius: 10px;
    border: 1px solid var(--bic-border-color);
    border-image: initial;
    padding: 30px 15px 0px;
    margin: 30px 0px 30px 0px;
}

.product-single-promotion-header {
    position: absolute;
    top: -15px;
    left: 15px;
    color: rgb(255, 255, 255);
    text-transform: uppercase;
    background: red;
    padding: 5px 13px 5px 35px;
    border-radius: 20px;
    font-size: 14px;
    font-weight: 700;
}

.product-single-promotion-header svg {
    content: "";
    position: absolute;
    top: 6px;
    left: 12px;
}

.product-single-promotion > ul {
    counter-reset: my-counter 0;
    padding-left: 0px;
    margin: 10px 0 10px 10px;
}

.product-single-promotion > ul li {
    counter-increment: my-counter 1;
    padding-left: 30px;
    position: relative;
    padding-bottom: 10px;
    line-height: 1.5;
    list-style: none;
}

.product-single-promotion > ul li::before {
    width: 20px;
    height: 20px;
    color: rgb(255, 255, 255);
    text-align: center;
    line-height: 20px;
    font-weight: 700;
    content: counter(my-counter);
    position: absolute;
    left: 0px;
    top: 0px;
    border-radius: 50%;
    background: red;
}

.showroom {
    position: relative;
    margin-bottom: 30px;
    padding: 15px;
    border-radius: var(--bic-border-radius);
    border: 1px solid var(--bic-border-color);
}

.showroom:last-child{
    margin: 0
}

.showroom-header {
    color: red;
    font-weight: 700;
    font-size: 18px;
    text-align: center;
    margin-bottom: 10px;
    padding-bottom: 10px;
    border-bottom: 1px solid var(--bic-border-color);
}

.showroom-item:not(:last-child){
    margin-bottom: 10px;
    padding-bottom: 10px;
    border-bottom: 1px solid var(--bic-border-color);
}

.showroom-item p{
    margin-bottom: 6px
}

.showroom-item .title{
    font-weight: 700;
}

.product-single-content{
    margin-top: 40px;
}

ul.tabs.wc-tabs{
    list-style: none;
    padding: 0;
    margin-bottom: 30px;
    border-bottom: 1px solid var(--bic-border-color);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    align-items: center;
}

ul.tabs.wc-tabs li a {
    display: block;
    font-size: 18px;
    color: rgba(27, 27, 27, 0.4);
    text-decoration: none;
    font-weight: 700;
    text-transform: uppercase;
    padding-bottom: 16px;
    border-bottom: 3px solid transparent;
}

ul.tabs.wc-tabs li {
    vertical-align: top;
    padding: 0;
    margin-right: 30px;
    margin-bottom: -2px;
}

ul.tabs.wc-tabs li::before{
    display: none;
}

ul.tabs.wc-tabs li.active a, ul.tabs.wc-tabs li:hover a{
    color: var(--bic-text-color);
    border-color: var(--bic-text-color);
}

.woocommerce-accordion-item {
    position: relative;
    padding: 15px 0;
}

.woocommerce-accordion-item:first-child{
    padding-top: 0;
}

.woocommerce-accordion-item:last-child{
    padding-bottom: 0;
}


.woocommerce-accordion-item:not(:last-child){
    border-bottom: 1px solid var(--bic-border-color);
}

.woocommerce-accordion-item__nav{
    cursor: pointer;
    font-size: 18px;
    font-weight: 700;
    text-transform: uppercase;
    margin-bottom: 0;
    display: flex;
    align-items: center;
    gap: 10px;
}

.woocommerce-accordion-item__nav.active .icon-chevron-down{
    transition: all .3s;
}

.woocommerce-accordion-item__nav.active .icon-chevron-down::before{
    content: "\e930";
}

.woocommerce-accordion-item__content{
    padding-top: 16px;
}

table.woocommerce-product-attributes{
    border: 1px solid var(--bic-border-color);
    margin: 0 -1px 24px 0;
    text-align: left;
    width: 100%;
    border-collapse: collapse;
    border-radius: 0;
}

table.woocommerce-product-attributes th{
    font-weight: 700;
    padding: 10px 15px;
    white-space: nowrap;
    border-top: 1px solid var(--bic-border-color);
}

table.woocommerce-product-attributes td{
    border-top: 1px solid var(--bic-border-color);
    padding: 10px 15px;
    vertical-align: middle;
}

.woocommerce-Reviews{
    position: relative;
    overflow: hidden;
}

.woocommerce-Reviews #review_form_wrapper{
    margin-bottom: 30px;
}

@media (min-width: 768px){

    .woocommerce-Reviews #review_form_wrapper{
        width: 55%;
        float: left;
        padding-right: 30px;
        margin: 0;
    }

    .woocommerce-Reviews #comments{
        width: 45%;
        float: right;
    }

}

.woocommerce-Reviews .comment-respond{
    margin: 0;
}

.woocommerce-Reviews-title, .comment-reply-title{
    display: block;
    font-size: 16px;
    margin-bottom: 20px;
    font-weight: 700;
}

.woocommerce #reviews #comments ol.commentlist {
    margin: 0;
    width: 100%;
    background: 0 0;
    list-style: none;
}

.woocommerce #reviews ol.commentlist li:not(:last-child){
    margin-bottom: 30px;
}

.woocommerce #reviews ol.commentlist li .comment_container, .commentlist li.comment .comment-wrapper {
    display: flex;
    flex-flow: row wrap;
    align-items: center;
    gap: 15px;
    position: relative;
}

.woocommerce #reviews #comments ol.commentlist li img.avatar {
    position: static;
    padding: 0;
    margin: 0;
    border: 0;
}

.woocommerce #reviews #comments ol.commentlist li img.avatar, .commentlist li.comment .comment-wrapper .avatar img {
    width: 46px;
    height: 46px;
    border-radius: 100%;
    object-fit: cover;
}

.woocommerce #reviews #comments ol.commentlist li .comment-text {
    margin: 0;
    border: none;
    border-radius: 0;
    padding: 0;
    display: flex;
    flex-flow: row wrap;
    align-items: center;
}

.woocommerce #reviews #comments ol.commentlist li:last-child .comment-text {
    padding-bottom: 0;
}

.woocommerce #reviews ol.commentlist li .comment-text, .commentlist li.comment .comment-detail {
    flex: 1;
    color: var(--bic-text-color);
    align-self: center;
}

.woocommerce #reviews #comments ol.commentlist li .comment-text .description {
    width: 100%;
    order: -1;
    margin-bottom: 5px;
}

.woocommerce #reviews #comments ol.commentlist li .comment-text p.meta {
    text-transform: uppercase;
    font-size: 14px;
    display: inline-flex;
    gap: 5px;
    margin-bottom: 0;
    margin-right: 10px;
}

.woocommerce #reviews #comments ol.commentlist li .comment-text .star-rating {
    order: 1;
    margin-top: -3px;
    margin-left: 5px;
}

/* Cart page */

.woocommerce-cart .woocommerce, .woocommerce-checkout .woocommerce, .woocommerce-account .woocommerce {
    position: relative;
    overflow: hidden;
}

@media (min-width: 768px){

    .woocommerce-cart-form{
        width: calc(100% - 410px);
        padding-right: 30px;
        float: left;
    }

    .cart-collaterals{
        width: 410px;
        float: right;
        border-radius: 0;
    }

}

.woocommerce .cart_totals>h2 {
    font-size: 20px;
    margin-bottom: 20px;
}

/*.woocommerce form:not(.woocommerce-checkout, .variations_form, .woocommerce-ordering) {
overflow: auto;
}*/

.woocommerce table.shop_table {
    border: 1px solid var(--bic-border-color);
    margin: 0 -1px 24px 0;
    text-align: left;
    background: #fff;
    width: 100%;
    border-collapse: collapse;
    border-radius: 0;
}

.woocommerce table.shop_table a:hover {
    color: var(--bic-primary-color);
}

#add_payment_method table.cart td,
#add_payment_method table.cart th,
.woocommerce-cart table.cart td,
.woocommerce-cart table.cart th,
.woocommerce-checkout table.cart td,
.woocommerce-checkout table.cart th {
    white-space: nowrap;
    vertical-align: middle;
}

.woocommerce table.shop_table th {
    font-weight: 700;
    padding: 10px 15px;
    white-space: nowrap;
}

.woocommerce table.shop_table td {
    border-top: 1px solid var(--bic-border-color);
    padding: 10px 15px;
    vertical-align: middle;
}

.woocommerce table.shop_table td ul {
    list-style: none;
    margin: 0;
    padding: 0;
}

.woocommerce table.shop_table td.product-name img{
    width: 80px;
    height: auto;
    object-fit: cover;
    border-radius: var(--bic-border-radius);
}

.woocommerce table.shop_table td.product-name{
    border: none;
    display: flex;
    align-items: center;
    gap: 15px;
    font-weight: 700;
}

.woocommerce table.shop_table td.product-subtotal{
    font-weight: bold;
}

.woocommerce table.shop_table td.product-quantity .quantity button{
    width: 30px;
}

.woocommerce table.shop_table td.product-quantity button svg{
    width: 18px;
}

.woocommerce table.shop_table td.product-quantity .quantity .qty{
    width: 40px;
    border: none;
}

.woocommerce button.button[name="update_cart"]{
    display: none !important;
}

.woocommerce .cart_totals table.shop_table {
    border-top: none;
}

.woocommerce .cart_totals .wc-proceed-to-checkout {
    display: flex;
    flex-direction: column-reverse;
}

.woocommerce .cart_totals .checkout-button.button.alt.wc-forward {
    width: 100%;
    text-transform: uppercase;
}

.woocommerce table.shop_table .coupon {
    display: flex;
    align-items: center;
}

.woocommerce table.shop_table .coupon .input-text {
    background: #fff;
    border-right: none;
    padding: 10px 10px 10px 15px;
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
    height: 40px;
}

.woocommerce table.shop_table .coupon .button {
    min-width: auto;
    height: 40px;
    padding: 10px 15px;
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
}

.woocommerce .col2-set h3 {
    font-size: 20px;
    margin-bottom: 20px;
}

.woocommerce-billing-fields__field-wrapper,
.woocommerce-additional-fields__field-wrapper, .woocommerce-shipping-fields__field-wrapper{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin-right: -10px;
    margin-left: -10px;
}

.woocommerce-billing-fields__field-wrapper .form-row, .woocommerce-shipping-fields__field-wrapper .form-row{
    position: relative;
    flex: 0 0 auto;
    width: 50%;
    padding: 0 10px;
}

.woocommerce-additional-fields__field-wrapper .form-row{
    position: relative;
    flex: 0 0 auto;
    width: 100%;
    padding: 0 10px;
}

.woocommerce-billing-fields__field-wrapper .form-row label,
.woocommerce-additional-fields__field-wrapper .form-row label,  .woocommerce-shipping-fields__field-wrapper .form-row label{
    display: block;
    font-weight: bold;
    margin-bottom: 10px;
}

.woocommerce-billing-fields__field-wrapper .form-row input,
.woocommerce-billing-fields__field-wrapper .form-row textarea, .woocommerce-shipping-fields__field-wrapper .form-row input {
    width: 100%;
    border: 1px solid var(--bic-border-color);
    height: 42px;
    padding: 10px 15px;
    transition: 0.3s ease-out 0s;
    border-radius: 0;
}

.select2-container--default .select2-search--dropdown .select2-search__field{
    height: 32px;
    border-radius: 0;
}

.select2-dropdown, .select2-container--default .select2-search--dropdown .select2-search__field{
    border-color: var(--bic-border-color);
}

.select2-container--default .select2-results__option--highlighted[aria-selected], .select2-container--default .select2-results__option--highlighted[data-selected]{
    background: var(--bic-primary-color);
}

.woocommerce .select2-container .select2-selection--single {
    height: 42px;
    margin: 0;
    border-radius: 0;
    border: 1px solid var(--bic-border-color);
}

.woocommerce .select2-results__option--highlighted[aria-selected], .woocommerce .select2-results__option--highlighted[data-selected]{
    background-color: var(--bic-primary-color) !important;
}

.woocommerce .select2-container--default .select2-selection--single .select2-selection__rendered {
    line-height: 42px;
    padding-left: 15px;
}

.woocommerce .select2-container--default .select2-selection--single .select2-selection__arrow {
    height: 42px;
}

.woocommerce .select2-container--default .select2-selection--single .select2-selection__placeholder {
    color: var(--bic-text-color);
}

.woocommerce-additional-fields__field-wrapper .form-row input,
.woocommerce-additional-fields__field-wrapper .form-row textarea {
    width: 100%;
    border: 1px solid var(--bic-border-color);
    height: 42px;
    padding: 10px 15px;
    transition: 0.3s ease-out 0s;
    border-radius: 0;
}

.woocommerce-additional-fields__field-wrapper .form-row textarea {
    height: 120px;
}

.woocommerce h3#order_review_heading {
    font-size: 20px;
    margin: 0 0 20px;
}

.woocommerce table.shop_table tbody th,
.woocommerce table.shop_table tfoot td,
.woocommerce table.shop_table tfoot th {
    font-weight: 700;
    border-top: 1px solid var(--bic-border-color);
}

.woocommerce table.shop_table .order-total .amount {
    font-weight: bold;
    color: red;
}

#add_payment_method #payment,
.woocommerce-cart #payment,
.woocommerce-checkout #payment {
    background: #fff;
    border: 1px solid var(--bic-border-color);
    border-radius: 0;
}

#add_payment_method #payment ul.payment_methods,
.woocommerce-cart #payment ul.payment_methods,
.woocommerce-checkout #payment ul.payment_methods {
    text-align: left;
    padding: 15px;
    margin: 0;
    list-style: none;
}

#add_payment_method #payment ul.payment_methods li:not(:last-child),
.woocommerce-cart #payment ul.payment_methods li:not(:last-child),
.woocommerce-checkout #payment ul.payment_methods li:not(:last-child) {
    margin-bottom: 16px;
}

#add_payment_method #payment ul.payment_methods li,
.woocommerce-cart #payment ul.payment_methods li,
.woocommerce-checkout #payment ul.payment_methods li {
    padding: 0;
}

#add_payment_method #payment ul.payment_methods li::before, .woocommerce-cart #payment ul.payment_methods li::before, .woocommerce-checkout #payment ul.payment_methods li::before{
    display: none;
}

#add_payment_method #payment ul.payment_methods li input,
.woocommerce-cart #payment ul.payment_methods li input,
.woocommerce-checkout #payment ul.payment_methods li input {
    margin: 0 5px 0 0;
}

#add_payment_method #payment div.payment_box,
.woocommerce-cart #payment div.payment_box,
.woocommerce-checkout #payment div.payment_box {
    position: relative;
    box-sizing: border-box;
    width: 100%;
    padding: 10px 15px;
    margin: 10px 0;
    font-size: 16px;
    line-height: 1.5;
    background-color: #f6f5f8;
    color: #515151;
}

#add_payment_method #payment div.payment_box::before,
.woocommerce-cart #payment div.payment_box::before,
.woocommerce-checkout #payment div.payment_box::before {
    content: "";
    display: block;
    border: 10px solid #f6f5f8;
    border-right-color: transparent;
    border-left-color: transparent;
    border-top-color: transparent;
    position: absolute;
    top: -7px;
    left: 0;
    margin: -10px 0 0 20px;
}

.woocommerce-terms-and-conditions-wrapper {
    padding: 15px;
    padding-top: 0;
}

#add_payment_method #payment .place-order,
.woocommerce-cart #payment .place-order,
.woocommerce-checkout #payment .place-order {
    padding-bottom: 20px;
}

.woocommerce-checkout #payment .place-order .button {
    display: block;
    margin: 0 auto;
    text-transform: uppercase;
    background-color: var(--bic-primary-color);
}

.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row select:focus {
    border-color: var(--bic-primary-color);
}

p.woocommerce-notice.woocommerce-notice--success.woocommerce-thankyou-order-received {
    font-weight: bold;
    font-size: 20px;
    color: var(--bic-primary-color);
    margin-bottom: 20px;
}

ul.woocommerce-order-overview.woocommerce-thankyou-order-details.order_details {
    list-style: none;
    margin: 0;
    margin-bottom: 16px;
}

ul.woocommerce-order-overview.woocommerce-thankyou-order-details.order_details li:not(:last-child) {
    margin-bottom: 16px;
}

.woocommerce .woocommerce-order-details {
    margin-top: 40px;
}

.woocommerce .woocommerce-order-details .woocommerce-order-details__title {
    font-size: 20px;
    color: var(--bic-primary-color);
    font-weight: bold;
    margin-bottom: 10px;
}

.woocommerce .woocommerce-customer-details {
    margin-top: 40px;
}

.woocommerce .woocommerce-customer-details .woocommerce-column__title {
    font-size: 20px;
    color: var(--bic-primary-color);
    font-weight: bold;
    margin-bottom: 10px;
}

.woocommerce .woocommerce-customer-details address {
    line-height: 250%;
    font-style: normal;
}

.woocommerce-form-coupon-wrapper {
    display: block;
    margin-bottom: 20px;
}

form.checkout_coupon.woocommerce-form-coupon p {
    width: 100%;
    padding: 0;
}

form.checkout_coupon.woocommerce-form-coupon input {
    width: 100%;
    border: 1px solid var(--bic-border-color);
    height: 42px;
    font-size: 16px;
    padding: 10px 15px;
    transition: 0.3s ease-out 0s;
    border-radius: 0;
}

.woocommerce-shipping-methods {
    list-style: none;
    padding: 0;
    margin: 0;
    margin-bottom: 10px;
}

.woocommerce-shipping-methods>li:not(:last-child) {
    margin-bottom: 5px;
}

.woocommerce-shipping-methods>li {
    display: flex;
    align-items: center;
    gap: 5px;
}

.woocommerce-shipping-methods>li .amount {
    font-weight: bold;
}

p.woocommerce-shipping-destination {
    margin-top: 5px;
}

.woocommerce .cart_item .product-thumbnail{
    position: relative;
    display: inline-block;
}

.woocommerce .cart_item .product-thumbnail img{
    width: 120px;
}

.woocommerce .cart_item .product-thumbnail .product-quantity{
    position: absolute;
    top: 5px;
    left: 5px;
    width: 20px;
    height: 20px;
    text-align: center;
    line-height: 20px;
    background: var(--bic-primary-color);
    color: #fff;
    border-radius: 100%;
    font-size: 14px;
}

.woocommerce > form.checkout {
    overflow: hidden;
    width: 100%;
    margin-top: 40px;
}

@media (min-width: 768px){

    .woocommerce > form.checkout #customer_details {
        width: calc(100% - 410px);
        padding-right: 30px;
        float: left;
    }

    .woocommerce > form.checkout #order_review_heading, .woocommerce > form.checkout #order_review {
        width: 410px;
        float: right;
        border-radius: 0;
    }

}

@media (max-width: 767px){

    .woocommerce > form.checkout{
        display: flex;
        flex-wrap: wrap;
    }

    .woocommerce > form.checkout #customer_details {
        width: calc(100% - 410px);
        padding-right: 30px;
        float: left;
    }

    .woocommerce > form.checkout #order_review_heading, .woocommerce > form.checkout #order_review {
    width: 100%;
    float: right;
    border-radius: 0;
}

}

.woocommerce > form.checkout #customer_details >*{
    max-width: 100%;
    padding: 0;
}

.woocommerce > form.checkout #customer_details .woocommerce-additional-fields{
    margin-top: 40px;
}

@media (max-width: 768px){
    .woocommerce > form.checkout #customer_details {
    margin-bottom: 30px;
    width: 100%;
    padding-right: 0;
}
.woocommerce-billing-fields__field-wrapper .form-row, .woocommerce-shipping-fields__field-wrapper .form-row {
    flex: 0 0100%;
}
}

.woocommerce .checkout_coupon {
    display: flex;
    flex-flow: row wrap;
    padding: 20px;
    background: #f6f5f8;
}

.woocommerce .checkout_coupon p:not(.form-row-first):not(.form-row-last) {
    flex-basis: 100%;
}

.woocommerce .checkout_coupon .form-row-first {
    flex: 1 0 auto;
    margin: 0;
    width: auto;
}

.woocommerce .checkout_coupon .form-row-last {
    width: auto;
    min-width: 200px;
    margin-left: 15px;
    margin-bottom: 0;
}

.woocommerce .checkout_coupon .form-row-last .button{
    width: 100%;
    border-radius: 0;
    padding: 14px 20px;
    height: 42px;
}

/* Account page*/

.woocommerce-account .main .woocommerce {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

.woocommerce-MyAccount-navigation {
    width: 410px;
    float: left;
}

.woocommerce-MyAccount-navigation ul {
    list-style: none;
    margin: 0;
}

.woocommerce-MyAccount-navigation ul li:not(:last-child) {
    margin-bottom: 16px;
}

.woocommerce-MyAccount-navigation ul li>a {
    display: flex;
    align-items: center;
    position: relative;
    overflow: hidden;
    background: #f2f2f2;
    min-height: 42px;
    padding: 11px 15px;
    border-radius: var(--bic-border-radius);
    font-size: 16px;
    color: var(--bic-text-color) !important;
    text-decoration: none !important;
    font-weight: 700;
    transition: all .4s ease;
}

li.woocommerce-MyAccount-navigation-link.woocommerce-MyAccount-navigation-link--downloads {
    display: none !important;
}

.woocommerce-MyAccount-navigation ul li::before {
    display: none !important;
}

.woocommerce-MyAccount-navigation ul li.is-active>a,
.woocommerce-MyAccount-navigation ul li:hover>a {
    background: var(--bic-primary-color);
    color: #fff !important;
}

.woocommerce-MyAccount-content {
    width: calc(100% - 410px);
    padding-left: 30px;
    float: right;
}

.woocommerce-MyAccount-content a:not(.edit){
    color: var(--bic-primary-color);
}

@media (max-width: 767px){
    .woocommerce-MyAccount-navigation{
        width: 100%;
    }

    .woocommerce-MyAccount-content{
        width: 100%;
        padding-left: 0;
        margin-top: 30px;
    }
}

.woocommerce-MyAccount-content .u-columns .woocommerce-Address{
    max-width: 100%;
    padding: 0;
}

.woocommerce-MyAccount-content address {
    font-style: normal;
    margin-top: 20px;
}

.woocommerce-MyAccount-content h2,
.woocommerce-MyAccount-content h3,
.woocommerce-MyAccount-content h4,
.woocommerce-MyAccount-content h5,
.woocommerce-MyAccount-content h6 {
    font-size: 16px;
    margin-bottom: 16px;
}

.woocommerce-MyAccount-content .woocommerce-EditAccountForm,
.woocommerce-MyAccount-content .woocommerce-address-fields__field-wrapper {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin-right: -10px;
    margin-left: -10px;
}

.woocommerce-MyAccount-content .woocommerce-EditAccountForm>*,
.woocommerce-MyAccount-content .woocommerce-address-fields__field-wrapper>* {
    width: 100%;
    padding: 0 10px;
}

.woocommerce-MyAccount-content .woocommerce-EditAccountForm fieldset {
    padding: 15px 20px 20px;
    margin: 15px;
    margin-bottom: 30px;
    border-radius: var(--bic-border-radius);
}

.woocommerce-MyAccount-content .woocommerce-EditAccountForm label,
.woocommerce-MyAccount-content .woocommerce-address-fields__field-wrapper label {
    display: block;
    margin-bottom: 10px;
}

.woocommerce-MyAccount-content .woocommerce-EditAccountForm input,
.woocommerce-MyAccount-content .woocommerce-address-fields__field-wrapper input {
    width: 100%;
    border: 1px solid var(--bic-border-color);
    height: 42px;
    font-size: 16px;
    padding: 10px 15px;
    transition: 0.3s ease-in-out;
    background: transparent;
    border-radius: var(--bic-border-radius);
}

.woocommerce-MyAccount-content .woocommerce-EditAccountForm em {
    opacity: .7;
    display: block;
    margin-top: 10px;
}

.woocommerce-MyAccount-content .woocommerce-EditAccountForm legend {
    padding: 0 5px;
    margin-left: -5px;
    background: #fff;
    font-size: 16px;
}

.woocommerce-MyAccount-content .woocommerce-address-fields__field-wrapper {
    margin-bottom: 40px;
}

/* Sidebar */

.widget_woo + .widget_woo{
    margin-top: 30px;
    padding-top: 30px;
    border-top: 1px solid var(--bic-border-color);
}

.widget_product_categories ul{
    list-style: none;
    padding: 0;
    margin: 0;
}

.widget_product_categories ul li{
    display: block;
}

.widget_product_categories ul li + li{
    margin-top: 20px;
}

.widget_product_categories ul li a{
    display: inline-flex;
    align-items: center;
    position: relative;
    color: var(--bic-text-color);
    line-height: normal;
    padding-left: 30px;
}

.widget_product_categories ul li a:hover{
    color: var(--bic-primary-color);
}

.widget_product_categories ul li a::before{
    content: '';
    width: 21px;
    height: 21px;
    border: 1px solid var(--bic-border-color);
    border-radius: 5px;
    position: absolute;
    transition: 150ms ease;
    top: 0;
    left: 0;
}

.widget_product_categories ul li a::after{
    display: inline-block;
    position: absolute;
    content: "\e932";
    font-family: "icomoon", fantasy !important;
    left: 3px;
    top: 3px;
    font-size: 16px;
    line-height: 1;
    text-align: center;
    opacity: 0;
    visibility: hidden;
    transition: 150ms ease;
    color: #fff;
}

.widget_product_categories ul li a:hover::before, .widget_product_categories ul li.current-cat a::before{
    border-color: var(--bic-primary-color);
}

.widget_product_categories ul li a:hover::after, .widget_product_categories ul li.current-cat > a::after{
    opacity: 1;
    visibility: visible;
    color: var(--bic-primary-color);
}

.widget_product_categories ul li span.count{
    color: #555;
    margin-left: auto;
}

.widget_product_categories ul.children{
    margin-top: 16px;
}

.widget_product_categories > ul > li > a{
    font-weight: 700;
    text-transform: uppercase;
}

/* Widget choosen */

.widget_layered_nav_filters ul{
    display: flex;
    flex-wrap: wrap;
    gap: 15px;
    list-style-type: none;
    padding: 0;
    margin: 0;
}

.widget_layered_nav_filters ul li a{
    display: block;
    padding: 4px 8px;
    background-color: #fff;
    border-radius: 6px;
    border: 1px solid var(--bic-primary-color);
    position: relative;
    padding-right: 30px;
}

.widget_layered_nav_filters ul li a::after {
    transform: translateY(-50%);
    content: "\e93a";
    font-family: "icomoon", fantasy !important;
    position: absolute;
    text-align: center;
    line-height: 16px;
    font-size: 6px;
    color: #fff;
    right: 4px;
    top: 50%;
    height: 16px;
    width: 16px;
    cursor: pointer;
    display: block;
    z-index: 1;
    box-shadow: none;
    border-radius: 50%;
    background: red;
}

/* Widget price */

.woocommerce .widget_price_filter .price_slider {
    position: relative;
    text-align: left;
    margin-left: 5px;
    margin-right: 5px;
    margin-bottom: 10px;
}

.woocommerce .widget_price_filter .ui-slider-horizontal {
    height: 10px;
}

.woocommerce .widget_price_filter .price_slider_wrapper .ui-widget-content {
    border-radius: 10px;
    background-color: #f2f2f2;
    border: 0;
}

.woocommerce .widget_price_filter .ui-slider .ui-slider-range {
    position: absolute;
    top: 0;
    height: 100%;
    z-index: 1;
    font-size: 8px;
    display: block;
    border: 0;
    border-radius: 10px;
    background-color: var(--bic-primary-color);
}

.woocommerce .widget_price_filter .ui-slider .ui-slider-handle::after {
    position: absolute;
    width: 10px;
    height: 10px;
    background-color: #eeeeee;
    border-radius: 50%;
    content: '';
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
}

.woocommerce .widget_price_filter .ui-slider .ui-slider-handle {
    position: absolute;
    z-index: 2;
    border-radius: 1em;
    cursor: ew-resize;
    outline: 0;
    top: -3px;
    margin-left: -5px;
}

.woocommerce .widget_price_filter .ui-slider .ui-slider-handle {
    background-color: #999999;
    width: 16px;
    height: 16px;
    display: inline-block;
}

.woocommerce .widget_price_filter .price_slider_amount {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    flex-direction: column-reverse;
    text-align: center;
    font-size: 16px;
}

.woocommerce .widget_price_filter .price_label {
    font-size: 16px;
    color: #666666;
    font-weight: 700;
    margin: 10px 0;
}

/* Widget rating */

.woocommerce .widget_rating_filter ul{
    list-style: none;
    padding: 0;
    margin: 0;
}

.woocommerce .widget_rating_filter ul li + li{
    margin-top: 15px;
}

.woocommerce .widget_rating_filter ul li a{
    display: flex;
    align-items: center;
    justify-content: space-between;
    color: #555;
}

/* Widget cart */

.widget_shopping_cart{
    padding: 0 !important;
    border: none !important;
    border-radius: 0 !important;
}

.woocommerce ul.cart_list, .woocommerce ul.product_list_widget {
    list-style: none outside;
    padding: 0;
    margin: 0;
    display: flex;
    flex-flow: column wrap;
    overflow: auto;
    max-height: 310px;
    position: relative;
    flex-direction: row;
    gap: 20px;
}

.woocommerce-mini-cart-item{
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 15px;
    position: relative;
    padding: 0 0 20px;
    border-bottom: 1px solid var(--bic-border-color);
}

.woocommerce-mini-cart-item__thumbnail {
    width: 90px;
}

.woocommerce-mini-cart-item__thumbnail img{
    width: 100%;
    height: auto;
    object-fit: cover;
}

.woocommerce-mini-cart-item__content{
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
    flex: 1;
    font-size: 16px;
    gap: 6px;
}

.woocommerce-mini-cart-item__content .quantity{
    background: transparent;
    margin: 0;
}

.woocommerce-mini-cart-item__content span.amount{
    font-weight: bold;
    margin-left: 5px;
    color: var(--bic-primary-color);
}

.woocommerce-mini-cart__total {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-top: 16px;
}

.woocommerce-mini-cart__total span.amount{
    font-weight: bold;
    color: var(--bic-primary-color);
}

.woocommerce-mini-cart__buttons {
    margin-top: 16px;
}

.woocommerce-mini-cart__buttons a + a{
    margin-top: 10px;
}

.woocommerce-mini-cart__buttons a{
    width: 100%;
    padding: 12px 20px !important;
}

.woocommerce-mini-cart-item .remove i{
    font-size: 14px;
}

.woocommerce-mini-cart__empty-message{
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
}

.woocommerce-mini-cart__empty-message svg{
    margin-bottom: 10px;
}

.woocommerce-cart .dropdown-cart, .woocommerce-checkout .dropdown-cart{
    display: none !important;
}

/* Account page */

.woocommerce #customer_login, .woocommerce form.track_order, .woocommerce form.woocommerce-ResetPassword.lost_reset_password{
    position: relative;
    overflow: hidden;
}

.woocommerce #customer_login .col-1 {
    float: left;
    width: 49%;
}

.woocommerce #customer_login .col-2 {
    float: right;
    width: 49%;
}

.woocommerce #customer_login h2{
    font-size: 20px;
    margin: 0 0 20px;
}

.woocommerce #customer_login .form-row label, .woocommerce form.woocommerce-ResetPassword.lost_reset_password .form-row label{
    display: block;
    margin-bottom: 10px;
}

.woocommerce #customer_login .form-row input:not([type="checkbox"]), .woocommerce form.woocommerce-ResetPassword.lost_reset_password .form-row input{
    width: 100%;
    border: 1px solid var(--bic-border-color);
    height: 42px;
    font-size: 16px;
    padding: 10px 15px;
    transition: 0.3s ease-out 0s;
    border-radius: 0;
}

.woocommerce #customer_login .woocommerce-privacy-policy-text{
    margin-bottom: 20px;
}

.woocommerce-password-strength{
    margin-top: 10px;
    margin-bottom: 5px;
}

.woocommerce-password-strength.short{
    color: #ff9966;
}

.woocommerce-password-strength.bad{
    color: #ffcc00;
}

.woocommerce-password-strength.good{
    color: #99cc33;
}

.woocommerce-password-strength.strong{
    color: #339900;
}

small.woocommerce-password-hint{
    margin-top: 5px;
    color: red;
    font-size: 16px;
}

/* Thankpage */

.woocommerce-bacs-bank-details.show {
    padding: 15px;
    background: #fff;
    border: 1px solid var(--bic-border-color);
    border-radius: var(--bic-border-radius);
}

.wc-bacs-bank-details-heading{
    font-size: 20px;
    color: var(--bic-primary-color);
}

.wc-bacs-bank-details-account-name{
    font-size: 20px;
}

.wc-bacs-bank-details li:not(:last-child){
    margin-bottom: 20px;
}

.woocommerce-columns.addresses{
    position: relative;
    overflow: hidden;
}

.woocommerce-columns.addresses .col-1 {
    float: left;
    width: 49%;
    max-width: 49%;
}

.woocommerce-columns.addresses .col-2 {
    float: right;
    width: 49%;
    max-width: 49%;
}

/* Variable */

.woocommerce-variation-add-to-cart{
    display: flex;
    flex-flow: row wrap;
}

.variations_form th, .variations_form td{
    display: block;
    position: relative;
    text-align: left;
}

.variations_form th{
    margin-bottom: 8px;
}

ul.variable-items-wrapper{
    padding: 0;
    margin: 0;
    list-style: none;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px;
}

ul.variable-items-wrapper .variable-item{
    cursor: pointer;
    position: relative;
    padding: 5px 8px;
    border: 2px solid var(--bic-border-color);
    line-height: 1;
}

ul.variable-items-wrapper .variable-item.selected{
    border-color: var(--bic-primary-color);
}

button.reset_variations {
    margin-top: 10px;
    padding: 5px;
}

.woocommerce-variation.single_variation{
    margin: 20px 0;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.woocommerce-variation.single_variation span.price{
    color: var(--bic-primary-color);
    font-size: var(--bic-size-24);
    font-weight: 700;
}

.product-single-info .stock.in-stock{
    color: green;
}

/* Responsive */

@media (min-width: 1701px){

}

@media (min-width: 1537px) and (max-width: 1700px){

}

@media (min-width: 1401px) and (max-width: 1536px){

}
@media (max-width: 1440px){
    body.home .product-list-wrap .col-md-3:last-child, body.single-product .product-list-wrap .col-md-3:last-child{
        display: none !important;
    }
}
@media (min-width: 1200px) and (max-width: 1440px){

}

@media (min-width: 1281px) {

}

@media (max-width: 1280px) {

}

@media (min-width: 1025px) and (max-width: 1280px) {

}

@media (max-width: 1024px) {

}

@media (min-width: 768px) and (max-width: 1024px) {

}

@media (max-width: 992px) {

}

@media (max-width: 767px) {

    .woocommerce-error, .woocommerce-info, .woocommerce-message{
        padding: 10px 10px;
    }

    .product-single-info{
        margin-top: 30px;
    }

    h1.product_title.entry-title{
        font-size: 20px;
    }

    .product-filter{
        margin-bottom: 32px;
    }

    .woocommerce table.cart thead, .woocommerce table.cart th{
        display: none;
    }

    .woocommerce table.cart td{
        display: flex;
        justify-content: space-between;
        margin-bottom: 8px;
        padding-right: 15px !important;
    }

    .woocommerce table.cart tr td.product-remove{
        justify-content: flex-end;
    }

    .woocommerce table.cart tr {
        border-left: 0;
        border-right: 0;
        display: block;
        margin-bottom: 15px;
        padding-top: 15px;
        padding-bottom: 15px;
        padding-left: 15px;
    }

    .woocommerce table.cart tr td{
        padding: 0;
        border: none !important;
    }

    .woocommerce table.cart tr td.product-name{
        white-space: nowrap !important;
        justify-content: flex-start;
    }

    .woocommerce table.cart tr td:not(.product-name):before {
        content: attr(data-title);
        color: var(--bic-text-color);
        font-size: 14px;
        font-weight: 700;
        float: left;
    }

    .woocommerce table.cart tr td span{
        text-align: right;
    }

    .woocommerce table.shop_table td.product-name img{
        width: 60px;
    }

}

@media (min-width: 481px) and (max-width: 767px) {


}

@media (min-width: 0px) and (max-width: 480px) {
    .woocommerce .woocommerce-error .button, .woocommerce .woocommerce-info .button, .woocommerce .woocommerce-message .button, .woocommerce-page .woocommerce-error .button, .woocommerce-page .woocommerce-info .button, .woocommerce-page .woocommerce-message .button{
        margin-top: 10px;
    }
    .product-list-wrap{
      --bic-grid-gap: 5px;
    }
    .woocommerce .quantity button{
        width: 40px;
    }
    .woocommerce .quantity button svg{
        width: 18px;
    }
    .woocommerce .quantity .qty{
        width: 50px;
    }
    .woocommerce .quantity button, .woocommerce .quantity input{
        height: 30px !important;
    }
    .product-item{
        padding: 10px;
    }
    .product-item-actions{
        padding: 0 10px;
        bottom: 10px;
    }
    .product-item-price span.price{
        justify-content: flex-end;
    }
    .product-item-actions .button, .product-item-actions .added_to_cart{
        min-width: auto !important;
    }
    .product-single-info{
        margin-top: 10px;
    }
    .product-single-header, .product-single-content{
        padding: 10px;
    }
    .product-single-info p.price{
        font-size: 20px;
        margin: 10px 0 20px;
    }
    .product-single-info del .amount, .product-single-info ins .amount{
        font-size: 20px;
    }
    .product-single-promotion{
        padding: 20px 10px 0px;
        margin: 30px 0px 30px 0px;
    }
    .woocommerce-accordion-item{
        padding: 10px 0;
    }

    .woocommerce .col2-set h3, .woocommerce h3#order_review_heading{
        font-size: 16px;
    }

    .woocommerce-checkout #payment .place-order{
        padding-left: 15px;
        padding-right: 15px;
    }

    .woocommerce-shipping-fields{
        margin-top: 30px;
    }

    .woocommerce .checkout_coupon{
        padding: 15px;
    }

    .woocommerce .checkout_coupon .form-row-first{
        flex: 0 0 auto;
        width: calc(100% - 111px);
    }

    .woocommerce .checkout_coupon .form-row-last{
        min-width: 80px;
    }

    .product-filter{
        display: block;
    }

    form.woocommerce-ordering{
        margin-top: 10px;
        padding-left: 0;
    }
}

@media (max-width: 414px) {
    .woocommerce button.button, .woocommerce .woocommerce-Button.button, .woocommerce a.button, .woocommerce a.added_to_cart, .woocommerce-Address-title a {
    min-width: 100%;
}
.product-item-actions-more img {
    max-width: 20px;
}
.woocommerce .product-single-info .quantity{
    margin-right: 0;
    margin-bottom: 16px;
}
}

@media (max-width: 360px) {
    .product-list-wrap .col-6{
        -ms-flex: 0 0 100%;
        flex: 0 0 100%;
        max-width: 100%;
    }
}