/*
    FlatLayers WooCommerce Style
*/

/* SHOP & ARCHIVE PAGES */
.woocommerce .woocommerce-breadcrumb {
    font-size: 0.875rem;
    margin: 0 0 8px 0;
    color: var(--fl-box-color);
}
.woocommerce .woocommerce-breadcrumb a { color: var(--fl-box-color); }

.woocommerce .fl-box div.avatar img { max-width: 108px; }

.fl-box .page-title {
    margin-bottom: 0;
    text-transform: uppercase;
    color: var(--fl-box-color);
}

.woocommerce #fl-content {
    display: flex;
    flex-flow: row wrap;
}
.woocommerce .woocommerce-result-count,
.woocommerce .woocommerce-ordering {    
    align-self: flex-end;
    font-size: .875rem;
    margin: 0 0 32px;
}

.woocommerce .woocommerce-result-count,
.woocommerce-page .woocommerce-result-count {
    flex: 1;
    padding-bottom: 4px;
    border-bottom: 2px solid rgba(128,128,128,.1);
}

.woocommerce .woocommerce-ordering select { border-bottom-left-radius: 0; }
.woocommerce ul.products li.product .button { display: table; }
.woocommerce ul.products li.product a { text-align: center; }
.woocommerce span.onsale {
    background-color: var(--fl-accent-color);
    font-family: var(--fl-headings-font);
    line-height: 1;
    font-size: 0.875rem;
    padding: 8px;
    min-height: auto;
    min-width: auto;
    font-weight: 400;
    border-radius: 4px;
    top: 16px;
    left: 16px;
}

.woocommerce ul.products li.product .onsale { margin: 16px 16px 0 0; }

.woocommerce ul.products li.product .woocommerce-loop-category__title,
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products li.product h3 {
    padding: 0 0 0.75em;
    border: none;
}

.woocommerce .star-rating {
    color: #ffba00;
    float: none;
}

.woocommerce .products .star-rating { margin: 0 auto 1em auto; }

.woocommerce ul.products li.product .price {
    color: var(--fl-body-color);
    margin-bottom: 0;
}

.woocommerce ul.products li.product .price del { margin-right: 8px; }

.woocommerce ul.products li.product .price ins { text-decoration: none; }


.woocommerce #respond input#submit,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button {
    text-align: center;
    font-size: .8em;
    font-family: var(--fl-headings-font);    
    font-weight: var(--fl-headings-font-weight);
    border-radius: 40px;
    padding: 8px 16px;
    color: #ffffff;
    background-color: var(--fl-button-background);
    display: table;
    margin: 0 auto;
    line-height: 1.7;
}

.woocommerce #respond input#submit:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover {
    background-color: var(--fl-accent-color);
    color: #ffffff;
}

.woocommerce a.added_to_cart {
    position: absolute;
    width: 100px;
    padding: 0;
    margin-top: 8px;
    left: calc(50% - 50px);
    text-align: center;
    font-size: .85em;
    border-radius: 4px;
    font-weight: var(--fl-headings-font-weight);
}

.woocommerce .products ul,
.woocommerce ul.products { width: 100%; }

.woocommerce-notices-wrapper,
.woocommerce-info { width: 100%; }

.woocommerce-error,
.woocommerce-info,
.woocommerce-message {
    background: rgba(128,128,128,.1);
    color: var(--fl-body-color);
}

.woocommerce-info { border-top-color: var(--fl-accent-color); }
.woocommerce-info:before { color: var(--fl-accent-color); }

.fl-post-content ul.woocommerce-error,
.fl-post-content ul.woocommerce-info,
.fl-post-content ul.woocommerce-message {
    list-style: none;
    margin-left: 0;
    margin-right: 0;
}

.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 {
    padding: 4px 8px;
    margin-left: 8px;
}

/* SHOP PAGINATION */
.woocommerce nav.woocommerce-pagination { width: 100%; }
.woocommerce nav.woocommerce-pagination ul { border: none; }

.woocommerce nav.woocommerce-pagination ul li {
    float: none;
    border: none;
}

.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span {
    display: inline-block;
    padding: 0;
    width: 40px;
    line-height: 40px;
    border-radius: 50%;
    font-size: 0.875rem;
    font-family: var(--fl-headings-font);
    font-weight: 400;
    color: var(--fl-body-color);
}

.woocommerce nav.woocommerce-pagination ul li a:focus,
.woocommerce nav.woocommerce-pagination ul li a:hover {
    background: rgba(128,128,128,0.1);
    color: var(--fl-body-color);
}
.woocommerce nav.woocommerce-pagination ul li span.current {
    color: #ffffff;
    background: var(--fl-accent-color);
}


/* SINGLE PAGE */
.woocommerce div.product {overflow: hidden;}
.woocommerce div.product .woocommerce-breadcrumb { margin-top: 40px; }
.woocommerce div.product .product_title { margin: 16px 0; }

.woocommerce div.product .woocommerce-product-rating { margin-bottom: 16px; }

.woocommerce div.product p.price,
.woocommerce div.product span.price {
    color: var(--fl-body-color);
    margin-bottom: 16px;
}

.woocommerce div.product p.price ins,
.woocommerce div.product span.price ins { text-decoration: none; }

.woocommerce-product-details__short-description p { margin-bottom: 2em; }

.woocommerce div.product p.price del,
.woocommerce div.product span.price del { margin-right: 8px; }

.woocommerce div.product form.cart .variations { margin-bottom: 0; }

.woocommerce div.product form.cart .variations td,
.woocommerce div.product form.cart .variations th { vertical-align: baseline; }

.woocommerce div.product form.cart .reset_variations {
    font-weight: var(--fl-headings-font-weight);
    font-size: 0.9em;
    padding: 4px 0;
}

.woocommerce-variation-price { margin-bottom: 16px; }

.woocommerce div.product p.stock {
    font-weight: var(--fl-headings-font-weight);
    font-size: 1em;
}

.product_meta .sku_wrapper,
.product_meta .posted_in,
.product_meta .tagged_as {
    display: block;
    font-weight: var(--fl-headings-font-weight);
    font-size: 0.85rem;
    margin-bottom: 8px;
}

.woocommerce div.product form.cart div.quantity {
    width: 30%;
    margin-right: 4%;
}
.woocommerce .quantity .qty {
    width: 100%;
    border-radius: 40px;
    line-height: 2;
}
.woocommerce div.product form.cart .button {
    min-width: 66%;
    line-height: 2;
}

.woocommerce div.product form.cart .group_table td.woocommerce-grouped-product-list-item__label { font-weight: var(--fl-headings-font-weight); }
.woocommerce div.product form.cart .group_table td { vertical-align: baseline; }
.woocommerce div.product form.cart.grouped_form table div.quantity { width: 100%; }
.woocommerce div.product form.cart.grouped_form .button { width: 100%; }

.woocommerce #respond input#submit.alt,
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt { background-color: var(--fl-button-background); }

.woocommerce #respond input#submit.alt:hover,
.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover,
.woocommerce input.button.alt:hover { background-color: var(--fl-accent-color); }

.woocommerce #respond input#submit.alt.disabled,
.woocommerce #respond input#submit.alt.disabled:hover,
.woocommerce #respond input#submit.alt:disabled,
.woocommerce #respond input#submit.alt:disabled:hover,
.woocommerce #respond input#submit.alt:disabled[disabled],
.woocommerce #respond input#submit.alt:disabled[disabled]:hover,
.woocommerce a.button.alt.disabled, .woocommerce a.button.alt.disabled:hover,
.woocommerce a.button.alt:disabled, .woocommerce a.button.alt:disabled:hover,
.woocommerce a.button.alt:disabled[disabled], .woocommerce a.button.alt:disabled[disabled]:hover,
.woocommerce button.button.alt.disabled, .woocommerce button.button.alt.disabled:hover,
.woocommerce button.button.alt:disabled, .woocommerce button.button.alt:disabled:hover,
.woocommerce button.button.alt:disabled[disabled], .woocommerce button.button.alt:disabled[disabled]:hover,
.woocommerce input.button.alt.disabled, .woocommerce input.button.alt.disabled:hover,
.woocommerce input.button.alt:disabled, .woocommerce input.button.alt:disabled:hover,
.woocommerce input.button.alt:disabled[disabled],
.woocommerce input.button.alt:disabled[disabled]:hover { background-color: var(--fl-button-background); }

.woocommerce div.product div.images .flex-control-thumbs {
    display: flex;
    column-gap: 16px;
    margin-top: 16px;
}


.woocommerce div.product .woocommerce-tabs ul.tabs {
    padding: 0;
    white-space: nowrap;
    overflow-x: auto;
    border-bottom: 2px solid rgba(128,128,128,.1);
}

.woocommerce div.product .woocommerce-tabs ul.tabs::-webkit-scrollbar { display: none; }

.woocommerce div.product .woocommerce-tabs ul.tabs li.active { background: rgba(128,128,128,.1); }

.woocommerce div.product .woocommerce-tabs ul.tabs:before { display: none; }

.woocommerce div.product .woocommerce-tabs ul.tabs li {
    border: none;
    border-radius: 0;
    background-color: transparent;
    margin: 0;
    padding: 0;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li a {
    padding: 16px;
    font-size: .875rem;
    line-height: 1;
    color: var(--fl-body-color);
}

.woocommerce div.product .woocommerce-tabs ul.tabs li:after,
.woocommerce div.product .woocommerce-tabs ul.tabs li:before { display: none; }

.woocommerce div.product .woocommerce-tabs ul.tabs li.active:before { box-shadow: none; }

.woocommerce div.product .woocommerce-tabs .panel h2 { font-size: 1.3rem; }

.woocommerce table.shop_attributes th,
.woocommerce table.shop_attributes td { border: 1px solid rgba(128,128,128,.1); }

.woocommerce table.shop_attributes { border: none; }
.woocommerce table.shop_attributes td p { padding: 8px; }

.woocommerce #reviews #comments ol.commentlist li .comment-text {
    border: 2px solid rgba(128,128,128,.1);
    border-radius: 0;
}

.woocommerce #review_form #respond {
    padding: 24px;
    border: 2px solid rgba(128,128,128,.1);
}
.woocommerce #review_form #respond p { margin: 0; }

.woocommerce #reviews #comments ol.commentlist li img.avatar {
    padding: 0;
    border: 2px solid rgba(128,128,128,.1);
    width: 40px;
}

.woocommerce #review_form #reply-title {
    display: block;
    font-size: 1.3rem;
    margin-bottom: 16px;
    font-weight: var(--fl-headings-font-weight);
    color: var(--fl-headings-color);
}


.woocommerce #review_form .comment-form-rating label {
    display: inline-block;
    font-weight: var(--fl-headings-font-weight);
    font-size: 1.1rem;
    margin-right: 16px;
}

.woocommerce #review_form #respond .stars {
    display: inline-block;
    width: auto;
    margin: 0;
    font-size: 0;
    line-height: 1;
}

.woocommerce p.stars a {
    color: #ffba00;
    font-size: 2rem;
}

.woocommerce .related.products ul.products li.product,
.woocommerce-page .related.products ul.products li.product {
    margin: 0 2% 32px 0;
    width: 23.5%;
}
.woocommerce .related.products ul.products li.product.last,
.woocommerce .related.products ul.products li.product.last { margin-right: 0; }

.woocommerce .related.products { margin-top: 48px; }

.woocommerce .upsells,
.woocommerce .related { margin-bottom: -2.992em; }

.woocommerce .upsells h2,
.woocommerce .related.products h2,
.woocommerce .cross-sells h2 {
    font-size: 1.3rem;
    display: block;
    margin-bottom: 16px;
}

.single-product #fl-content {
    display: block;
    margin-top: 0;
}

/* CART + CHECKOUT + MY ACCOUNT PAGES */
.woocommerce table.shop_table { border-radius: 0; }

.woocommerce-page .fl-post-content {
    border-top: none;
    padding-top: 0;
}

#add_payment_method .cart-collaterals .cart_totals table,
.woocommerce-cart .cart-collaterals .cart_totals table,
.woocommerce-checkout .cart-collaterals .cart_totals table { border-collapse: collapse; }

#add_payment_method table.cart td.actions .coupon .input-text,
.woocommerce-cart table.cart td.actions .coupon .input-text,
.woocommerce-checkout table.cart td.actions .coupon .input-text {
    border: 2px solid rgba(128,128,128,.1);
    border-radius: 40px;
    padding: 8px;
}

.woocommerce #content table.cart td.actions .input-text,
.woocommerce table.cart td.actions .input-text,
.woocommerce-page #content table.cart td.actions .input-text,
.woocommerce-page table.cart td.actions .input-text { width: 150px; }


.woocommerce .cart .button,
.woocommerce .cart input.button,
.woocommerce .cart .button:disabled[disabled],
.woocommerce .cart input.button:disabled[disabled] { display: inline-block; }

#add_payment_method .wc-proceed-to-checkout a.checkout-button,
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button,
.woocommerce-checkout .wc-proceed-to-checkout a.checkout-button {
    padding: 16px 8px;
    font-size: 1em;
}

#add_payment_method #payment,
.woocommerce-cart #payment,
.woocommerce-checkout #payment {
    border-radius: 0;
    background: transparent;
    border: 2px solid rgba(128,128,128,.1);
}

#add_payment_method #payment div.payment_box,
.woocommerce-cart #payment div.payment_box,
.woocommerce-checkout #payment div.payment_box {
    border-radius: 0;
    background-color: rgba(128,128,128,.1);
    color: var(--fl-body-color);
}

#add_payment_method #payment div.payment_box:before,
.woocommerce-cart #payment div.payment_box:before,
.woocommerce-checkout #payment div.payment_box:before {
    border: 1em solid rgba(128,128,128,.1);
    border-right-color: transparent;
    border-left-color: transparent;
    border-top-color: transparent;
    top: -1em;
}

.woocommerce ul#shipping_method li label { cursor: pointer; }
.woocommerce ul#shipping_method li input { margin: 0 0.4375em 0 0; }

#add_payment_method #payment ul.payment_methods li label,
.woocommerce-cart #payment ul.payment_methods li label,
.woocommerce-checkout #payment ul.payment_methods li label {
    display: inline;
    font-weight: var(--fl-headings-font-weight);
    cursor: pointer;
}

.woocommerce form.checkout_coupon,
.woocommerce form.login,
.woocommerce form.register {
    border: 2px solid rgba(128,128,128,.1);
    padding: 24px;
    border-radius: 0;
}

.woocommerce form .form-row {
    padding: 0;
    margin: 0 0 16px;
}

.woocommerce form .form-row label { font-weight: var(--fl-headings-font-weight); }

.woocommerce form .form-row .input-checkbox {
    display: inline-block;
    vertical-align: middle !important;
}

.woocommerce form.checkout_coupon p {
    display: block;
    width: 100%;
}
.woocommerce form.checkout_coupon p.form-row { margin-bottom: 16px; }
.woocommerce form.checkout_coupon p.form-row-last { margin-bottom: 0; }
.woocommerce form.checkout_coupon p.form-row button { width: 100%; }

.woocommerce #payment #place_order,
.woocommerce-page #payment #place_order {
    padding: 12px 24px;
    font-size: 1rem;
}

.woocommerce form.login p:last-child,
.woocommerce form.register p:last-child { margin-bottom: 0; }

.woocommerce button.button.woocommerce-form-register__submit { margin-top: 16px; }

.woocommerce .woocommerce-form-login .woocommerce-form-login__rememberme {
    cursor: pointer;
    padding: 4px 0;
}

.woocommerce .woocommerce-form-login .woocommerce-form-login__submit {
    background: var(--fl-button-background);
    color: #ffffff;
}

.woocommerce-account .woocommerce-MyAccount-navigation,
.woocommerce-account .woocommerce-MyAccount-content {
    float: none;
    width: 100%;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul {
    list-style: none;
    margin: 0;
    white-space: nowrap;
    overflow-x: auto;
    border-bottom: 2px solid rgba(128,128,128,.1);
    margin-bottom: 24px;
}
.woocommerce-account .woocommerce-MyAccount-navigation ul::-webkit-scrollbar { display: none; }

.woocommerce-account .woocommerce-MyAccount-navigation ul li { display: inline-block; }

.woocommerce-account .woocommerce-MyAccount-navigation ul li a {
    padding: 16px;
    display: block;
    font-size: 0.875rem;
    font-weight: var(--fl-headings-font-weight);
    line-height: 1;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active a {
    background: rgba(128,128,128,.1);
    color: var(--fl-body-color);
}
.woocommerce-account .addresses address { margin-bottom: 24px; }

.woocommerce-account .addresses .title h3 { padding-top: 0; }

.woocommerce .woocommerce-customer-details address {
    background: rgba(128,128,128,.1);
    padding: 24px 24px 24px 64px;
    border: none;
    border-radius: 0;
}


/* Legacy Widgets */
.woocommerce .widget_shopping_cart .buttons a,
.woocommerce.widget_shopping_cart .buttons a {
    width: 48%;
    margin-right: 4%;
    padding: 8px 0;
    display: inline-block;
    font-size: .85em;
}

.woocommerce .widget_shopping_cart .total,
.woocommerce.widget_shopping_cart .total {
    padding: 8px 0 0 0;
    margin: 0 0 8px 0;
    border-top: 4px solid rgba(128,128,128,.1);
}

.woocommerce .widget_shopping_cart .buttons a:last-child,
.woocommerce.widget_shopping_cart .buttons a:last-child { margin-right: 0; }

.woocommerce ul.cart_list li img,
.woocommerce ul.product_list_widget li img { width: 48px; }

.woocommerce .widget_price_filter .ui-slider {
    margin-top: 24px;
    margin-bottom: 24px;
}

.woocommerce .widget_price_filter .ui-slider-horizontal { height: 0.4em; }

.woocommerce .widget_price_filter .ui-slider .ui-slider-range,
.woocommerce .widget_price_filter .ui-slider .ui-slider-handle { background-color: var(--fl-accent-color); }

.woocommerce .widget_price_filter .price_slider_wrapper .ui-widget-content { background-color: rgba(128,128,128,.1); }
.woocommerce .widget_price_filter .price_slider_amount .button {
    padding: 4px 16px;
    font-size: 1em;
}

.wc-block-components-sort-select { margin-bottom: 8px; }
.wc-block-components-sort-select__select { padding: 4px; }
.wc-block-components-review-list-item__info { margin-bottom: 8px; }

.wc-block-components-review-list-item__product+.wc-block-components-review-list-item__author,
.wc-block-components-review-list-item__product+.wc-block-components-review-list-item__author+.wc-block-components-review-list-item__published-date { font-size: .8rem; }

.editor-styles-wrapper .wc-block-components-review-list-item__item,
.wc-block-components-review-list-item__item { margin-bottom: 0; }

.wc-block-featured-category,
.wc-block-featured-product { margin: 0; }

.wc-block-grid__product-rating .star-rating span:before,
.wc-block-grid__product-rating .wc-block-grid__product-rating__stars span:before { color: #ffba00; }

.wc-block-grid__product-onsale {
    position: absolute;
    top: 24px;
    right: 16px;
    text-transform: none;
    background-color: var(--fl-accent-color);
    border: none;
    color: #ffffff;
    line-height: 1;
    padding: 8px;
    min-height: auto;
    min-width: auto;
    font-weight: 400;
    border-radius: 4px;
}

.wc-block-product-categories__dropdown { width: 100%; }

.select2-container .select2-selection--single {
    background-color: var(--fl-input-background);
    margin: 0 !important;
    height: auto !important;
    border-radius: 4px;
    border: none;
}
.select2-container--default .select2-selection--single .select2-selection__rendered {
    color: var(--fl-body-color);
    line-height: 32px;
}
.select2-container--default .select2-selection--single .select2-selection__arrow { height: 33px; }

.select2-container--default .select2-search--dropdown .select2-search__field { border:2px solid rgba(128,128,128,.1); }

.select2-dropdown {
    border: none;
    background-color: var(--fl-input-background);
    color: var(--fl-body-color);
}

.woocommerce .woocommerce-widget-layered-nav-list .woocommerce-widget-layered-nav-list__item { padding: 8px 0; }

.woocommerce-product-search {
    display: flex;
    flex-flow: row wrap;
}
.woocommerce-product-search input { flex: 1; }

/* Media Quires */
@media only screen and (max-width: 768px) {
    .woocommerce .related.products ul.products li.product,
    .woocommerce-page .related.products ul.products li.product {
        margin: 0 0 32px 0;
        width: 48%;
    }

    .woocommerce div.product .woocommerce-breadcrumb { margin-top: 0; }
}

@media only screen and (max-width: 576px) {

    .woocommerce-page table.cart td.actions .coupon .input-text+.button { padding: 8px 0; }

    .woocommerce #review_form #respond { padding: 16px; }

    .woocommerce form.checkout_coupon,
    .woocommerce form.login,
    .woocommerce form.register { padding: 16px; }

    .woocommerce form.login p,
    .woocommerce form.register p { margin-bottom: 8px; }

    .woocommerce form.checkout_coupon .form-row,
    .woocommerce form.login .form-row,
    .woocommerce form.register .form-row { width: 100%; }

    .woocommerce form.checkout_coupon .form-row button,
    .woocommerce form.login .form-row button,
    .woocommerce form.register .form-row button { width: 100%; }

}