/*
---------------
	DEFAULT
---------------
*/
.cart-collaterals h2, 
li.product-category h2, 
table.shop_table thead tr { font-family: 'Dosis', sans-serif; } 

.woocommerce-product-gallery__image a { -webkit-transition: all 0.2s ease-out; -moz-transition: all 0.2s ease-out; -o-transition: all 0.2s ease-out; transition: all 0.2s ease-out; } 

/* Tax label */
.tax_label { display: none !important; }


/*
----------------
	MESSAGES
----------------
*/
.woocommerce-info { margin-bottom: 20px; padding: 20px; font-weight: 700; background: var(--color-light-green); border: 1px solid var(--color-green); display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; position: relative; overflow: hidden; border-radius: 3px; }
.woocommerce-info.cart-empty { justify-content: center; }

.wc-block-components-notice-banner { margin-bottom: 20px; padding: 15px !important; font-size: 15px; font-weight: 700; background: var(--color-light-green); border: 1px solid var(--color-green); position: relative; border-radius: 3px; }
.wc-block-components-notice-banner.is-success { border-color: var(--color-green) !important; }
.wc-block-components-notice-banner .wc-block-components-notice-banner__content { width: calc(100% - 24px); }
.wc-block-components-notice-banner svg { width: 24px; height: 24px; left: 15px; top: 15px; background: var(--color-green); position: absolute; border-radius: 50%; display: none; }
.wc-block-components-notice-banner svg path { fill: white; }

.woocommerce-message { margin-bottom: 20px; padding: 20px 20px 20px 80px; font-weight: 700; background: #edfdf2; border: 1px solid var(--color-green); display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; position: relative; overflow: hidden; -webkit-border-radius: 3px; -moz-border-radius: 3px; border-radius: 3px; }
.woocommerce-message:before { width: 60px; height: 100%; left: 0; top: 0; background: var(--color-green) url(../images/icon_info_white.svg) no-repeat center; background-size: 20px auto; position: absolute; content: ''; }
.woocommerce-message .button { height: 40px; line-height: 40px; background: #b2693c; order: 2; }
.woocommerce-message .button:hover { background: #333; }

/* Error */
.woocommerce-error { margin-bottom: 20px; margin-left: 0 !important; padding: 20px; font-weight: 700; background: #faefed; border: 1px solid #911439; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; position: relative; overflow: hidden; -webkit-border-radius: 3px; -moz-border-radius: 3px; border-radius: 3px; }
.woocommerce-error li { width: 100%; margin-left: 20px; padding-left: 0 !important; list-style: disc; }
.woocommerce-error li:before { display: none !important; }

body.woocommerce-checkout .woocommerce-error { margin-top: 20px; }


/*
-------------------------------
	RESULT COUNT & ORDERING
-------------------------------
*/
p.woocommerce-result-count { margin-bottom: 20px !important; font-weight: 700; line-height: 40px; float: left; }
select.orderby { height: 40px; margin-bottom: 20px; background: #faf6f6; border: 1px solid var(--color-light-brown); float: right; }


/*
----------------
	PRODUCTS
----------------
*/
ul.products { margin-left: -10px !important; margin-right: -10px !important; display: flex; flex-wrap: wrap; clear: both; list-style: none !important; }

ul.products li:not(.product-category) { width: calc(20% - 20px); margin: 20px 10px 0; padding-left: 0 !important; padding-bottom: 80px; background: #faf6f6; border: 1px solid var(--color-light-brown); outline: 4px solid transparent; position: relative; }
ul.products li:not(.product-category):nth-child(-n+5) { margin-top: 0; }
ul.products li:not(.product-category):hover { outline-color: var(--color-brown-a10); }
ul.products li:not(.product-category):before { display: none !important; }

#container.has_sidebar ul.products li:not(.product-category) { width: calc(25% - 20px); }
#container.has_sidebar ul.products li:not(.product-category):nth-child(5) { margin-top: 20px; }

/* Stock status */
ul.products li:not(.product-category) .labels { left: 0; top: 10px; position: absolute; z-index: 2; }
ul.products li:not(.product-category) .labels .label { height: 30px; margin-bottom: 5px; padding: 0 10px; font-size: 13px; font-weight: 700; text-transform: uppercase; color: white; line-height: 14px; display: inline-flex; align-items: center; }
ul.products li:not(.product-category) .labels .label.new {  background: var(--color-green); }
ul.products li:not(.product-category) .labels .label.onsale {  background: #10ac84; }
ul.products li:not(.product-category) .labels .label.outofstock { height: 30px; padding: 0 10px; font-size: 13px; font-weight: 700; color: white; line-height: 31px; background: #d80d2c; }
ul.products li:not(.product-category) .labels .label.freeshipping { height: 30px; padding: 0 10px; font-size: 13px; font-weight: 700; color: #000; line-height: 31px; background: #ffc402; }

/* Thumbnail */
ul.products li:not(.product-category) .thumbnail { min-height: 140px; max-height: 190px; background: white; display: block; position: relative; }
ul.products li:not(.product-category) .thumbnail:before { padding-top: 90%; display: block; content: ''; }
ul.products li:not(.product-category) .thumbnail img { width: auto; max-width: 90%; height: auto; max-height: 90%; left: 50%; top: 50%; margin: auto; display: block; position: absolute; -webkit-transform: translate(-50%,-50%); -ms-transform: translate(-50%,-50%); transform: translate(-50%,-50%); }

/* Entry */
ul.products li:not(.product-category) .entry { padding: 20px; border-top: 1px solid var(--color-light-brown); }
ul.products li:not(.product-category) .entry h3 { margin-bottom: 5px !important; }
ul.products li:not(.product-category) .entry h3 a { font-size: 17px; font-weight: 700; text-decoration: none !important; color: #333 !important; line-height: 110%; display: block; }

ul.products li:not(.product-category) .entry .posted_in { margin-bottom: 10px; }
ul.products li:not(.product-category) .entry .posted_in a { font-size: 15px; text-decoration: underline; color: #b2693c !important; line-height: 16px; display: inline-block; }
ul.products li:not(.product-category) .entry .posted_in a:hover { color: #333 !important; }

/* Buttons */
ul.products li:not(.product-category) .price__action_button { left: 10px; bottom: 10px; right: 10px; position: absolute; }
ul.products li:not(.product-category) .price__action_button .price { height: 30px; font-size: 20px; font-weight: 700; text-align: center; color: #000; }
ul.products li:not(.product-category) .price__action_button .button { text-align: center; display: block; }

/* Product category */
ul.products li.product-category { width: calc(25% - 20px) !important; height: 60px; margin: 20px 10px 0 !important; padding: 0 !important; text-align: left; border: 1px solid var(--color-light-brown); overflow: hidden; border-radius: 3px; }
ul.products li.product-category:hover { border-color: var(--color-brown); }
ul.products li.product-category:nth-child(-n+4) { margin-top: 0 !important; }
ul.products li.product-category a { height: 100%; text-decoration: none !important; display: block; position: relative; }
ul.products li.product-category a img { width: 46px; height: auto; left: 8px; top: 50%; display: block; position: absolute; -webkit-transform: translateY(-50%); -ms-transform: translateY(-50%); transform: translateY(-50%); }
ul.products li.product-category h2 { height: 100%; margin-bottom: 0 !important; padding: 5px 45px 5px 65px; font-size: 14px !important; font-weight: 700; display: flex; align-items: center; }
ul.products li.product-category h2 mark { right: 10px; font-size: 12px; color: #999; background: transparent !important; position: absolute; }

ul.products li.product-category:hover { -moz-box-shadow: none !important; -webkit-box-shadow: none !important; box-shadow: none !important; }

/* Term description */
.term-description { padding: 20px; background: #faf6f6; border-radius: 10px; }


/*
------------------
	PAGINATION
------------------
*/
.woocommerce-pagination { display: block !important; }
.woocommerce-pagination ul { margin-left: 0 !important; margin-bottom: 0 !important; padding: 10px; text-align: center; background: #faf6f6; display: flex; flex-wrap: wrap; justify-content: center; list-style: none !important; }
.woocommerce-pagination ul li { padding-left: 0 !important; }
.woocommerce-pagination ul li:before { display: none !important; }
.woocommerce-pagination ul li a, 
.woocommerce-pagination ul li span { width: 40px; height: 40px; text-align: center; line-height: 40px; display: block; }
.woocommerce-pagination ul li a { text-decoration: none !important; }
.woocommerce-pagination ul li a:hover { text-decoration: underline !important; color: #000; }
.woocommerce-pagination ul li span { font-weight: 700; color: white; background: #b2693c; }


/*
---------------
	PRODUCT
---------------
*/
div.product { display: flex; flex-wrap: wrap; }

/* Images */
div.product .woocommerce-product-gallery { width: 50%; padding: 50px; font-size: 0; text-align: center; }

div.product .woocommerce-product-gallery__image:first-child { margin-bottom: 30px; }
div.product .woocommerce-product-gallery__image a { display: inline-block; }
div.product .woocommerce-product-gallery__image img { max-width: 100%; height: auto; display: block; }

div.product .woocommerce-product-gallery__image:nth-child(n+2) { width: 25%; padding: 0 10px; vertical-align: top; display: inline-block; }
div.product .woocommerce-product-gallery__image:nth-child(n+2) a { padding: 10px; display: block; border: 3px solid var(--color-light-brown); -webkit-border-radius: 3px; -moz-border-radius: 3px; border-radius: 3px; }
div.product .woocommerce-product-gallery__image:nth-child(n+2) a:hover { border-color: #b2693c; }

/* Summary */
div.product .summary { width: 50%; position: relative; }

/* Title */
div.product .summary .product_title { font-size: 40px !important; }

/* Price */
div.product .summary .price { font-size: 30px; font-weight: 700; color: #000; line-height: 1; }

/* Cart */
div.product .summary form.cart { margin-bottom: 30px; background: var(--color-light-brown-2); border: 1px solid var(--color-light-brown); display: flex; flex-wrap: wrap; align-items: center; border-radius: 10px; } 
div.product .summary form.cart.sticky { width: calc(100% - 40px); left: 20px; bottom: 0; position: fixed; z-index: 100; } 
div.product .summary form.cart .quantity { width: 170px; padding: 10px; }
div.product .summary form.cart .quantity button { width: 28px; height: 28px; background: var(--color-light-brown); cursor: pointer; -webkit-border-radius: 50%; -moz-border-radius: 50%; border-radius: 50%; }
div.product .summary form.cart .quantity button:hover { color: white; background: #b2693c; }

div.product .summary form.cart .quantity input[type=number] { width: 64px; height: 50px; margin: 0 10px; text-align: center; border: 3px solid var(--color-light-brown); -webkit-border-radius: 25px; -moz-border-radius: 25px; border-radius: 25px; }

/* Meta */
div.product .summary .product_meta { margin-bottom: 20px; }
div.product .summary .product_meta .sku_wrapper { font-weight: 700; display: block; }
div.product .summary .product_meta .sku_wrapper span { font-weight: 400; }
div.product .summary .product_meta .posted_in { font-weight: 700; display: block; }
div.product .summary .product_meta .posted_in a { font-weight: 400; }

/* Tabs */
div.product .wc-tabs-wrapper { width: 100%; margin-bottom: 50px; }
div.product .wc-tabs-wrapper ul.tabs { margin-left: 0 !important; margin-bottom: 0 !important; padding: 10px; background: var(--color-light-brown-2); border: 1px solid var(--color-light-brown); display: flex; list-style: none !important; }
div.product .wc-tabs-wrapper ul.tabs li { margin-right: 10px; padding-left: 0 !important; }
div.product .wc-tabs-wrapper ul.tabs li a { height: 40px; padding: 0 20px; font-size: 16px; font-weight: 700; text-decoration: none !important; color: var(--color-dark) !important; display: flex; justify-content: center; align-items: center; border-radius: 3px; }
div.product .wc-tabs-wrapper ul.tabs li a:hover { background: white; }
div.product .wc-tabs-wrapper ul.tabs li.active a { color: white !important; background: var(--color-green); }

div.product .woocommerce-tabs .panel { padding-top: 20px; }


/*
------------------------
	RELATED PRODUCTS
------------------------
*/
.related.products { margin-top: 30px; }


/*
---------------------
	FREE SHIPPING
---------------------
*/
.free_shipping_wrap { margin-bottom: 20px; text-align: center; }
.free_shipping_wrap .free_shipping_status { padding: 10px; color: #000; background: #fff9e9; border: 1px solid #c28b06; -webkit-border-radius: 3px; -moz-border-radius: 3px; border-radius: 3px; }


/*
------------------
	SHOP TABLE
------------------
*/
table.shop_table { width: 100%; margin-bottom: 30px; border-collapse: collapse; table-layout: fixed; }
table.shop_table thead tr { text-transform: uppercase; }
table.shop_table thead tr th { padding: 10px; font-size: 16px; font-weight: 700; color: #919191; line-height: 1; }
table.shop_table thead tr th.product-remove span { display: none; }
table.shop_table thead tr th.product-thumbnail span { display: none; }
table.shop_table thead tr th.product-name { text-align: left; }


/*
------------
	CART
------------
*/

/* Vars */
table.shop_table.cart .product-remove { width: 50px; }
table.shop_table.cart .product-thumbnail { width: 120px; }
table.shop_table.cart .product-price { width: 20%; text-align: center; }
table.shop_table.cart .product-quantity { width: 170px; text-align: center; }
table.shop_table.cart .product-subtotal { width: 120px; text-align: right; }

/* tbody */
table.shop_table.cart tbody tr td { border-top: 1px solid var(--color-light-brown); }

table.shop_table.cart tbody tr td.product-remove { padding: 10px; }
table.shop_table.cart tbody tr td.product-remove a { width: 30px; height: 30px; text-align: center; text-decoration: none !important; color: white !important; line-height: 30px; background: #911439; display: block; -webkit-border-radius: 50%; -moz-border-radius: 50%; border-radius: 50%; }
table.shop_table.cart tbody tr td.product-remove a:hover { background-color: #333; }

table.shop_table.cart tbody tr td.product-thumbnail { padding: 10px; }
table.shop_table.cart tbody tr td.product-thumbnail a { display: block; }
table.shop_table.cart tbody tr td.product-thumbnail a img { width: auto; max-width: 100px; height: auto; max-height: 100px; display: block; }

table.shop_table.cart tbody tr td.product-name { padding: 10px; }
table.shop_table.cart tbody tr td.product-name a { line-height: 20px; display: inline-block; }

table.shop_table.cart tbody tr td.product-price { padding: 10px; }

table.shop_table.cart tbody tr td.product-quantity { padding: 10px; }
table.shop_table.cart tbody tr td.product-quantity button { width: 28px; height: 28px; background: var(--color-light-brown); cursor: pointer; -webkit-border-radius: 50%; -moz-border-radius: 50%; border-radius: 50%; }
table.shop_table.cart tbody tr td.product-quantity button:hover { color: white; background: #b2693c; }

table.shop_table.cart tbody tr td.product-quantity input[type=number] { width: 64px; height: 50px; margin: 0 10px; text-align: center; border: 3px solid var(--color-light-brown); -webkit-border-radius: 25px; -moz-border-radius: 25px; border-radius: 25px; }

table.shop_table.cart tbody tr td.product-subtotal { padding: 10px;font-weight: 700; }
table.shop_table.cart tbody tr td.product-subtotal small { font-size: 14px; font-weight: 400; color: #999; line-height: 1; display: block; }

table.shop_table.cart tbody tr td.actions { padding: 10px; text-align: right; }
table.shop_table.cart tbody tr td.actions .coupon { width: calc(100% - 170px); display: flex; float: left; }
table.shop_table.cart tbody tr td.actions .coupon label { display: none; }
table.shop_table.cart tbody tr td.actions .coupon input[type=text] { width: 170px; height: 50px; margin-right: 10px; padding-left: 15px; border: 1px solid var(--color-light-brown); }
table.shop_table.cart tbody tr td.actions .coupon input[type=text]:focus { border-color: white; outline: 2px solid var(--color-light-brown); border-radius: 1px; }

table.shop_table.cart tbody tr td.actions button[name=update_cart] { width: 170px; padding: 0; float: right; }

/* Cart collaterals */
.cart-collaterals { background: #faf6f6; }
.cart-collaterals h2 { margin-bottom: 0 !important; padding: 20px 30px; font-size: 30px !important; }

.cart-collaterals table { margin-bottom: 0 !important; } 
.cart-collaterals table tbody tr th, 
.cart-collaterals table tbody tr td { padding: 15px 30px; font-weight: 400; border-top: 1px solid var(--color-light-brown); }
.cart-collaterals table tbody tr th { width: 200px; text-align: left; }
.cart-collaterals table tbody tr td {  }
.cart-collaterals table tbody tr td label { cursor: pointer; }

.cart-collaterals ul.woocommerce-shipping-methods { margin-bottom: 0 !important; margin-left: 0 !important; }
.cart-collaterals ul.woocommerce-shipping-methods li { padding-left: 0 !important; list-style: none; }
.cart-collaterals ul.woocommerce-shipping-methods li:before { display: none !important; }
.cart-collaterals ul.woocommerce-shipping-methods li > span { display: block; }
.cart-collaterals .woocommerce-shipping-destination { display: none !important; }

.cart-collaterals .wc-proceed-to-checkout { padding: 20px 30px; border-top: 1px solid var(--color-light-brown); }


/*
----------------
	CHECKOUT
----------------
*/
.checkout { display: flex; flex-wrap: wrap; }

/* Customer details */
.checkout #customer_details { width: calc(100% - 400px); padding: 50px 50px 50px 0; background: #faf6f6; position: relative; z-index: 1; }
.checkout #customer_details:before { width: 50px; height: 100%; left: -50px; top: 0; background: #faf6f6; position: absolute; content: ''; z-index: -1; }

.checkout #billing_country_field, 
.checkout #shipping_country_field { display: none; }

/* Order review */
.checkout #order_review { width: 400px; padding: 50px 0 50px 50px; }
.checkout #order_review .button { width: 100%; display: block; }

/* Coupon */
.checkout .woocommerce-form-coupon-toggle { display: none !important; }
.checkout label[for=coupon_code] { display: none !important; }

/* Table */
table.shop_table.woocommerce-checkout-review-order-table thead tr th { padding: 10px 0; }
table.shop_table.woocommerce-checkout-review-order-table thead tr th:last-child { text-align: right; }

table.shop_table.woocommerce-checkout-review-order-table tbody tr td { padding: 10px 0; font-size: 16px; line-height: 20px; border-top: 1px solid var(--color-light-brown); }
table.shop_table.woocommerce-checkout-review-order-table tbody tr td:last-child { text-align: right; }

table.shop_table.woocommerce-checkout-review-order-table tfoot tr th, 
table.shop_table.woocommerce-checkout-review-order-table tfoot tr td { padding: 10px 0; border-top: 1px solid var(--color-light-brown); }
table.shop_table.woocommerce-checkout-review-order-table tfoot tr th { text-align: left; }
table.shop_table.woocommerce-checkout-review-order-table tfoot tr td { text-align: right; }
table.shop_table.woocommerce-checkout-review-order-table tfoot tr.cart-subtotal th, 
table.shop_table.woocommerce-checkout-review-order-table tfoot tr.cart-subtotal td { border-top-width: 3px; }

table.shop_table.woocommerce-checkout-review-order-table tfoot tr.shipping td { text-align: left; }

table.shop_table.woocommerce-checkout-review-order-table tfoot tr.order-total th, 
table.shop_table.woocommerce-checkout-review-order-table tfoot tr.order-total td { font-size: 20px; }

table.shop_table.woocommerce-checkout-review-order-table ul.woocommerce-shipping-methods { margin-left: 0 !important; margin-bottom: 0 !important; }
table.shop_table.woocommerce-checkout-review-order-table ul.woocommerce-shipping-methods li { margin-bottom: 5px; padding-left: 0 !important; list-style: none; }
table.shop_table.woocommerce-checkout-review-order-table ul.woocommerce-shipping-methods li:last-child { margin-bottom: 0; }
table.shop_table.woocommerce-checkout-review-order-table ul.woocommerce-shipping-methods li:before { display: none !important; }
table.shop_table.woocommerce-checkout-review-order-table ul.woocommerce-shipping-methods li label { font-size: 16px; line-height: 20px; cursor: pointer; }

/* Payment methods */
ul.payment_methods { margin-bottom: 20px; margin-left: 0 !important; background: #faf6f6; border: 1px solid var(--color-light-brown); }
ul.payment_methods li { padding: 20px !important; border-bottom: 1px solid var(--color-light-brown); list-style: none; }
ul.payment_methods li:last-child { border-bottom: none; }
ul.payment_methods li:before { display: none !important; }
ul.payment_methods li label { font-weight: 700; cursor: pointer; }
ul.payment_methods li div { margin-top: 10px; }
ul.payment_methods li div p { margin-bottom: 0 !important; font-size: 15px; line-height: 18px; }


/*
---------------
	ACCOUNT 
---------------
*/

/* Customer login */
#customer_login { display: flex; flex-wrap: wrap; }
#customer_login .col-1 { width: 50%; padding-right: 50px; }
#customer_login .col-2 { width: 50%; padding-left: 50px; border-left: 1px solid var(--color-light-brown); position: relative; }
#customer_login .col-2:after { width: 50px; height: 100%; right: -50px; top: 0; background: #faf6f6; position: absolute; content: ''; }

form.woocommerce-form-register .woocommerce-privacy-policy-text { margin-bottom: 20px; font-size: 14px; line-height: 20px; }

/* My account navigation */
.woocommerce-MyAccount-navigation { margin-bottom: 30px; }
.woocommerce-MyAccount-navigation ul { margin-left: 0 !important; margin-bottom: 0 !important; padding: 10px; font-size: 0; background: #faf6f6; border: 1px solid var(--color-light-brown);}
.woocommerce-MyAccount-navigation ul li { margin-right: 10px; padding-left: 0 !important; vertical-align: top; display: inline-block; }
.woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--downloads { display: none !important; }
.woocommerce-MyAccount-navigation ul li:before { display: none !important; }
.woocommerce-MyAccount-navigation ul li a { height: 40px; padding: 0 20px; font-size: 16px; font-weight: 700; text-decoration: none !important; color: #333 !important; line-height: 40px; display: block; -webkit-border-radius: 3px; -moz-border-radius: 3px; border-radius: 3px; }
.woocommerce-MyAccount-navigation ul li a:hover { background: white; }
.woocommerce-MyAccount-navigation ul li.is-active a { color: white !important; background: var(--color-green); }

/* My account content */
.woocommerce-MyAccount-content fieldset { margin-bottom: 20px; padding: 20px 30px; background: #faf6f6; border: 3px solid var(--color-light-brown); }
.woocommerce-MyAccount-content fieldset legend { margin-bottom: 20px; padding: 0 10px; font-size: 25px; font-weight: 700; color: #b2693c; line-height: 1; }

/* Addresses */
.addresses { border: 3px solid var(--color-light-brown); display: flex; flex-wrap: wrap; }
.addresses .col-1 { width: 50%; padding: 30px; }
.addresses .col-2 { width: 50%; padding: 30px; border-left: 1px solid var(--color-light-brown); }

.addresses a.edit { margin-bottom: 20px; font-weight: 700; display: inline-block; }


/*
------------
	FORM
------------
*/
.form-row { margin-bottom: 20px; }
.form-row.notes { margin-bottom: 0 !important; }
.form-row.form-row-first { width: calc(50% - 10px); float: left; }
.form-row.form-row-last { width: calc(50% - 10px); float: right; }
.form-row.form-row-wide { clear: both; }

.form-row br { display: none; }
.form-row label { margin-bottom: 5px; font-weight: 700; color: #333; line-height: 20px; display: block; }

.form-row textarea, 
.form-row input[type=tel], 
.form-row input[type=text], 
.form-row input[type=email], 
.form-row input[type=password] { width: 100%; height: 50px; padding-left: 15px; border: 1px solid var(--color-light-brown); }

.form-row textarea:focus, 
.form-row input[type=tel]:focus, 
.form-row input[type=text]:focus, 
.form-row input[type=email]:focus, 
.form-row input[type=password]:focus { border-color: white; outline: 2px solid var(--color-light-brown); -webkit-border-radius: 1px; -moz-border-radius: 1px; border-radius: 1px; }

.form-row textarea { min-height: 150px; padding: 15px; resize: vertical; }

.wpcf7 p { margin-bottom: 0 !important; }

/* Contact page template */
body.page-template-contact .form-row textarea, 
body.page-template-contact .form-row input[type=tel], 
body.page-template-contact .form-row input[type=text], 
body.page-template-contact .form-row input[type=email] { background: #faf6f6; }


/*
---------------
	SIDEBAR
---------------
*/
#sidebar .widget.widget_products ul li { margin-bottom: 20px; padding-bottom: 20px; padding-left: 80px; border-bottom: 1px solid var(--color-light-brown); position: relative; }
#sidebar .widget.widget_products ul li a { font-size: 15px; font-weight: 700; color: var(--color-green); line-height: 16px; display: block; }
#sidebar .widget.widget_products ul li a:hover { color: #333; }
#sidebar .widget.widget_products ul li img { width: 60px; height: auto; left: 0; top: 0; display: block; position: absolute; }


/*
-----------
	RWD
-----------
*/
@media only screen and (max-width: 1280px) { 

	/* CATEGORIES */
	ul.products { margin-left: -10px !important; margin-right: -10px !important; }
	ul.products li.product-category { width: calc(16.6666666666% - 20px); }
	
	/* PRODUCTS */
	ul.products { margin-left: -10px; margin-right: -10px; }
	ul.products li:not(.product-category) { width: calc(20% - 20px); margin-left: 10px; margin-right: 10px; }
	
	#container.has_sidebar ul.products li:not(.product-category) { width: calc(33.3333333333% - 20px); }
	
	/* PRODUCT: Images */
	div.product .woocommerce-product-gallery { padding-left: 0; }

	/* PRODUCT: Summary */
	div.product .summary { padding-right: 0; }	
}

@media only screen and (max-width: 960px) { 

	/* CATEGORIES */
	ul.products li.product-category { width: calc(20% - 20px); }
	ul.products li.product-category:nth-child(6) { margin-top: 0; }
	
	/* PRODUCTS */
	ul.products li:not(.product-category) { width: calc(25% - 20px) !important; }
	ul.products li:not(.product-category):nth-child(5) { margin-top: 30px; }
	
	/* PRODUCT: Images */
	div.product .woocommerce-product-gallery { width: 100%; max-width: 480px; margin: auto; padding: 0 30px 30px; }

	/* PRODUCT: Summary */
	div.product .summary { width: 100%; padding: 30px 0; }
	div.product .summary:after { display: none; }
	
	/* CHECKOUT: Customer details */
	.checkout #customer_details { width: calc(100% + 40px); margin-left: -20px; margin-right: -20px; padding: 30px 20px; }
	.checkout #customer_details:before { display: none; }

	/* CHECKOUT: Order review */
	.checkout #order_review { width: 100%; padding: 30px 0; }
	
	/* ACCOUNT: Customer login */
	#customer_login .col-1 { width: 100%; padding: 0 0 30px; }
	#customer_login .col-2 { width: 100%; padding: 30px 0 0; border-left: none; border-top: 1px solid var(--color-light-brown); }
}

@media only screen and (max-width: 768px) { 

	/* PRODUCTS */
	ul.products li:not(.product-category) { width: calc(33.3333333333% - 20px) !important; }
	ul.products li:not(.product-category):nth-child(4) { margin-top: 30px; }
	
	/* SHOP TABLE */
	table.shop_table.shop_table_responsive thead { display: none; }
	table.shop_table.shop_table_responsive tbody td::before { font-weight: 700; display: block; content: attr(data-title) ": "; }
	
	/* CART */
	table.shop_table.cart tbody { display: block; }
	table.shop_table.cart tbody tr { margin-bottom: 30px; border: 3px solid var(--color-light-brown); display: flex; flex-wrap: wrap; position: relative; }
	table.shop_table.cart tbody tr td { display: block; }

	table.shop_table.cart tbody tr td.product-remove { right: 0; top: 20px; padding: 0; text-align: center; border-top: none !important; position: absolute; }
	table.shop_table.cart tbody tr td.product-remove::before { display: none; }

	table.shop_table.cart tbody tr td.product-thumbnail { width: 100%; border-top: none; }
	table.shop_table.cart tbody tr td.product-thumbnail::before { display: none; }

	table.shop_table.cart tbody tr td.product-name { width: calc(100% - 120px); }
	
	table.shop_table.cart tbody tr td.product-price { width: 120px; text-align: right; }

	table.shop_table.cart tbody tr td.product-quantity { width: calc(100% - 120px); text-align: left; }
	table.shop_table.cart tbody tr td.product-quantity::before { display: none; }

	table.shop_table.cart tbody tr:last-child { border: none !important; }
	table.shop_table.cart tbody tr td.actions { width: 100%; padding: 0 !important; border: none !important; }
	table.shop_table.cart tbody tr td.actions::before { display: none; }
	table.shop_table.cart tbody tr td.actions .coupon { width: 100%; margin-bottom: 20px; padding: 10px; background: var(--color-brown-a10); justify-content: space-between; }
	table.shop_table.cart tbody tr td.actions .coupon input[type=text] { width: calc(50% - 10px); margin-right: 0; }
	table.shop_table.cart tbody tr td.actions .coupon .button { width: calc(50% - 10px); }
	
	table.shop_table.cart tbody tr td.actions button[name=update_cart] { width: 100%; float: none; }
	
	/* CART: Cart collaterals */
	.cart-collaterals h2 { padding: 20px; text-align: left; }

	.cart-collaterals table { display: block; } 
	.cart-collaterals table tbody { display: block; }
	.cart-collaterals table tbody tr { display: block; }
	.cart-collaterals table tbody tr th { display: none; }
	.cart-collaterals table tbody tr td { width: 100%; padding: 20px; text-align: left; display: block; }
	.cart-collaterals table tbody tr td::before { font-size: 16px; color: #000; }
	
	.cart-collaterals .wc-proceed-to-checkout { padding: 20px; }
	
	/* ACCOUNT: My account navigation */
	.woocommerce-MyAccount-navigation ul li { margin-right: 0; margin-bottom: 10px; display: block; }
	.woocommerce-MyAccount-navigation ul li:last-child { margin-bottom: 0; }
	
	/* ACCOUNT: Addresses */
	.addresses .col-1 { width: 100%; padding: 20px; }
	.addresses .col-2 { width: 100%; padding: 20px; border-left: none; border-top: 1px solid var(--color-light-brown); }
}

@media only screen and (max-width: 640px) { 

	/* RESULT COUNT & ORDERING */
	p.woocommerce-result-count { float: none; }
	select.orderby { width: 100%; float: none; }

	/* PRODUCTS */
	ul.products li:not(.product-category) { width: calc(50% - 20px) !important; }
	ul.products li:not(.product-category):nth-child(3) { margin-top: 30px; }
	
	/* PRODUCT: Tabs */
	div.product .wc-tabs-wrapper ul.tabs { padding: 5px 10px; }
	div.product .wc-tabs-wrapper ul.tabs li { width: 100%; margin: 5px 0; }
	
	/* FORM */
	.form-row.form-row-first, 
	.form-row.form-row-last { width: 100%; float: none; }
}

@media only screen and (max-width: 480px) { 

	/* MESSAGES */
	.woocommerce-message { padding: 15px; font-size: 16px; line-height: 20px; }
	.woocommerce-message:before { display: none; }
	.woocommerce-message .button { margin-top: 10px; }

	/* CATEGORIES */
	ul.products li.product-category a h2 { font-size: 16px; }
	
	/* PRODUCTS: Entry */
	ul.products li:not(.product-category) .entry { padding: 10px 10px 70px; }
	ul.products li:not(.product-category) .entry h3 a { font-size: 18px; }
	
	/* PRODUCT: Title */
	div.product .summary .product_title { font-size: 30px !important; }
	
	/* PRODUCT: Cart */
	div.product .summary form.cart { padding: 10px; } 
	div.product .summary form.cart .quantity { width: 100%; padding: 0 0 10px; text-align: center; }
	div.product .summary form.cart .button { width: 100%; display: block; }
	
	/* CART */
	table.shop_table.cart tbody tr td.actions .coupon input[type=text] { width: 100%; margin-bottom: 10px; }
	table.shop_table.cart tbody tr td.actions .coupon .button { width: 100%; }
	
	/* CART: Cart collaterals */
	.cart-collaterals .wc-proceed-to-checkout { text-align: center; }
	.cart-collaterals .wc-proceed-to-checkout .button { width: 100%; }
}

@media only screen and (max-width: 375px) { 

	/* PRODUCTS: Thumbnail */
	ul.products li:not(.product-category) .thumbnail img { max-width: calc(100% - 20px); max-height: 90%; }
}

@media only screen and (max-width: 320px) { 

	/* PRODUCTS: Entry */
	ul.products li:not(.product-category) .entry h3 a { font-size: 16px; }
	
	/* CART: tbody */
	table.shop_table.cart tbody tr td.product-quantity input[type=number] { width: 60px; margin: 0 5px; }
}
