/*
-------------
	OTHER
-------------
*/
.blockOverlay { background: white !important; opacity: 0.7 !important; z-index: 99 !important; }


/*
-----------------------
	SYSTEM MESSAGES
-----------------------
*/
.woocommerce-info, 
.woocommerce-error, 
.woocommerce-message { margin-left: 0 !important; margin-bottom: 20px; padding: 10px 20px; font-size: 16px; color: var(--color-body-text); position: relative; }

.woocommerce-info.smaller, 
.woocommerce-error.smaller, 
.woocommerce-message.smaller { font-size: 15px; line-height: 18px; }

ul.woocommerce-info li, 
ul.woocommerce-error li, 
ul.woocommerce-message li, 
ul.woocommerce-message li { margin-left: 20px; padding-left: 0 !important; list-style-type: square !important; }

.woocommerce-info li:before, 
.woocommerce-error li:before, 
.woocommerce-message li:before, 
.woocommerce-message li:before { display: none !important; }

.woocommerce-error { background: #fbcdcc; border-left: 5px solid #f1655C; }
.woocommerce-error.small { padding: 10px; font-size: 15px; font-weight: 700; }

.woocommerce-info, 
.woocommerce-message { background: #d7e6c8; border-left: 5px solid var(--color-green); }

.woocommerce-info a, 
.woocommerce-message a { text-decoration: underline; color: #000; }

.woocommerce-info .button, 
.woocommerce-message .button { height: 30px; right: 20px; top: 10px; padding: 0 10px; font-size: 15px; text-decoration: none !important; color: white !important; line-height: 30px; background: #000 !important; position: absolute; }



/*
-------------
	FORMS
-------------
*/
.form-row.woocommerce-invalid-required-field input { border-color: #d91828 !important; }

/* Columns */
.u-columns { width: 100%; border: 1px solid #444; display: table; }
.u-columns .col-1,
.u-columns .col-2 { width: 50%; padding: 20px; vertical-align: top; display: table-cell; }
.u-columns .col-2 { border-left: 1px solid #444; }

.woocommerce-privacy-policy-text { font-size: 15px; line-height: 20px; }

/* Hide some fields in CHECKOUT page */
#billing_country_field { display: none !important; }


/*
---------------
	RESULTS
---------------
*/
.woocommerce-result-count { font-weight: 700; line-height: 50px; float: left; }
.woocommerce-ordering { height: 50px; margin-bottom: 20px; float: right; }
.woocommerce-ordering select { padding-left: 10px; border: 1px solid #adb0b0; }


/*
--------------------
	PRODUCT LIST
--------------------	
*/
ul.products { margin-left: -10px !important; margin-right: -10px; font-size: 0; clear: both; }
ul.products li { width: 33.3333333333%; margin-bottom: 20px; padding-left: 10px !important; padding-right: 10px !important; text-align: center; vertical-align: top; display: inline-block; position: relative; }
ul.products li:before { display: none !important; }

body.home ul.products li , 
body.single-product ul.products li { width: 25%; }

/* On sale */
ul.products li .onsale { width: 72px; height: 72px; left: 0; top: 0; text-indent: -9999px; background: url(../images/icons/product_onsale.png) no-repeat center; position: absolute; z-index: 2; }

/* Thumbnail */
ul.products li .thumbnail { display: block; position: relative; overflow: hidden; }
ul.products li .thumbnail img { width: 100%; height: auto; display: block; position: relative; z-index: 1; transform: scale(1) translateZ(0); transition: all 1s cubic-bezier(0.19, 1, 0.22, 1); }
ul.products li .thumbnail:hover img { -ms-transform: scale(1.05) translateZ(0); -webkit-transform: scale(1.05) translateZ(0); transform: scale(1.05) translateZ(0); }

/* Entry */
ul.products li .entry { padding: 30px; background: #f7f7f7; }

/* Title */
ul.products li .entry h3 { height: 40px; margin-bottom: 0 !important; font-size: 18px !important; font-weight: normal !important; line-height: 20px !important; overflow: hidden; }
ul.products li .entry h3 a { font-size: 18px; text-decoration: none !important; color: #27282d !important; line-height: 20px; display: block; }

ul.products li .price { height: 50px; font-size: 23px; color: #27282d; text-align: center; line-height: 17px; display: block; }
ul.products li .price del { font-size: 17px; font-weight: normal; text-decoration: line-through; color: #999; display: block; }

/* Buttons */
ul.products li a.add_to_cart_button { width: 200px; padding: 0 20px 0 45px; background-image: url(../images/icon_cart.svg); background-repeat: no-repeat; background-position: 18px center; background-size: auto 20px; overflow: hidden; }
ul.products li a.add_to_cart_button.loading { text-indent: -9999px; color: white !important; background-color: #27282d; background-image: url(../images/button_loader.gif); background-position: center; }
ul.products li a.info_button { width: 40px; height: 40px; color: #fff !important; text-decoration: none !important; line-height: 35px; text-indent: -9999px; background: #6cad17 url(../images/icon_info.svg) no-repeat center; background-size: auto 20px; -webkit-border-radius: 3px; -moz-border-radius: 3px; border-radius: 3px; cursor: pointer; display: inline-block; }
ul.products li a.info_button:hover { background-color: #333; }


/*
------------------
	PAGINATION
------------------
*/
.woocommerce-pagination { border: 1px solid #ddd; }
.woocommerce-pagination ul { height: 50px; margin-bottom: 0 !important; font-size: 0; text-align: center; }
.woocommerce-pagination ul li { height: 100%; margin-left: 0 !important; padding-left: 0 !important; vertical-align: top; border-right: 1px solid #ddd; display: inline-block; }
.woocommerce-pagination ul li:first-child { border-left: 1px solid #ddd; }
.woocommerce-pagination ul li:before { display: none; !important; }
.woocommerce-pagination ul li a, 
.woocommerce-pagination ul li span { width: 50px; height: 100%; font-size: 17px; font-weight: 700; text-decoration: none !important; line-height: 50px; display: block; }
.woocommerce-pagination ul li a:hover { background: #faf5ef; }
.woocommerce-pagination ul li span { color: white; background: var(--color-primary); }


/*
-----------------------
	SINGLE PRODUCT
-----------------------
*/
.product { position: relative; }
.product .col_image { padding-left: 50px; }

/* On sale */
.product .onsale { width: 50px; height: 50px; left: 20px; top: 20px; font-size: 0; text-indent: -9999px; background: #fa601a url(../images/icon_percent.svg) no-repeat center; background-size: auto 25px; display: block; position: absolute; z-index: 2; -webkit-border-radius: 50%; -moz-border-radius: 50%; border-radius: 50%; }

/* Images */
.product .images { margin-bottom: 30px; position: relative; z-index: 1; overflow: hidden; }
.product .images img { width: auto; max-width: 100%; height: auto; }
.product .images .woocommerce-product-gallery__image a { margin-bottom: 30px; display: block; }
.product .images .woocommerce-product-gallery__image img { width: 100% !important; max-width: 600px; height: auto; margin: auto; display: block; }

/* Summary */
.product .summary { margin: auto; }
.product .summary h2 { width: 80%; margin: 0 auto 10px !important; font-size: 50px !important; color: #27282d; }
.product .summary .posted_in { margin-bottom: 15px; font-weight: 700; color: #27282d; }
.product .summary .main_description { margin-bottom: 20px; font-size: 15px; line-height: 25px; }

/* Price */
.product .summary .price { margin-bottom: 20px; font-size: 20px; }

/* Variations */
.product .summary table.variations { width: 100%; text-align: center; display: block; }
.product .summary table.variations tbody { display: block; }
.product .summary table.variations tbody tr { display: block; }
.product .summary table.variations tbody tr td { display: block; }
.product .summary table.variations tbody tr td.label { font-size: 16px; font-weight: 700; color: #000; }

/* Add to cart */
.product .summary .cart { margin-bottom: 30px; font-size: 0; }

.product .summary .cart .quantity { width: 180px; height: 60px; padding: 10px 0; font-size: 0; vertical-align: top; background: white; border: 1px solid #ddd; display: inline-block; }
.product .summary .cart .quantity input.qty { width: 33.3333333333%; height: 100%; vertical-align: top; text-align: center; border-left: 1px solid #ddd; border-right: 1px solid #ddd; display: inline-block; }
.product .summary .cart .qty_btn { width: 33.3333333333%; height: 100%; vertical-align: top; background: none; display: inline-block; cursor: pointer; }

.product .summary .single_add_to_cart_button { width: 180px; height: 60px; margin-left: 20px; padding: 0; vertical-align: top; line-height: 60px; display: inline-block; }

/* Shipping info */
.product .summary .shipping_info { color: #27282d; letter-spacing: 2px; border-bottom: 1px solid var(--color-primary); }

/* Related products */
.related.products { padding-top: 30px; border-top: 4px double #ddd; }


/*
------------------
	SHOP TABLE
------------------
*/
table.shop_table { width: 100%; margin-bottom: 20px; border-spacing: 0; border-collapse: collapse; }

/* tFoot */
table.shop_table tfoot th, 
table.shop_table tfoot td { padding: 0 10px; }


/*
--------------
	CART
--------------
*/
table.shop_table .product-name { text-align: left; }
table.shop_table .product-price { text-align: center; line-height: 20px; }
table.shop_table .product-quantity { width: 170px; text-align: center; }
table.shop_table .product-subtotal { text-align: right; }

table.shop_table thead tr th { padding-bottom: 10px; font-size: 13px; font-weight: 700; text-transform: uppercase; color: #27282d; letter-spacing: 2px; border-bottom: 1px solid #ddd; }

table.shop_table tbody tr td { padding: 20px 0; font-size: 17px; vertical-align: middle; color: #27282d; border-left: none !important; border-right: none !important; border-bottom: 1px solid #ddd; }
table.shop_table tbody tr td.product-thumbnail { text-align: center; }
table.shop_table tbody tr td.product-thumbnail img { width: auto; max-height: 70px; vertical-align: middle; display: inline-block; }

table.shop_table tbody tr td.product-name { font-weight: 700; color: #27282d; }
table.shop_table tbody tr td.product-name a { font-size: 16px; font-weight: 700; text-decoration: none !important; color: #27282d; }

/* Quantity */
table.shop_table tbody tr td.product-quantity { padding-top: 30px; }
table.shop_table tbody tr td.product-quantity label { display: none; }
table.shop_table tbody tr td.product-quantity input.update_cart { font-size: 13px; font-weight: 700; color: #999; background: none; cursor: pointer; }
table.shop_table tbody tr td.product-quantity input.update_cart:hover { color: #27282d; }
table.shop_table tbody tr td.product-quantity .quantity { width: 180px; height: 60px; padding: 10px 0; font-size: 0; background: white; border: 1px solid #ddd; display: block; }
table.shop_table tbody tr td.product-quantity .quantity .qty_btn { width: 33.3333333333%; height: 100%; vertical-align: top; background: none; display: inline-block; cursor: pointer; }
table.shop_table tbody tr td.product-quantity .quantity input.qty { width: 33.3333333333%; height: 100%; vertical-align: top; text-align: center; border-left: 1px solid #ddd; border-right: 1px solid #ddd; display: inline-block; }

/* Price */
table.shop_table tbody tr td.product-price { font-weight: 700; color: #1f2123; }
table.shop_table tbody tr td.product-price del { font-size: 14px; font-weight: normal; text-decoration: line-through; color: #999; display: block; }

/* Subtotal */
table.shop_table tbody tr td.product-subtotal { font-weight: 700; }

/* Remove product */
table.shop_table tbody tr td.product-remove { width: 50px; text-align: center; }
table.shop_table tbody tr td.product-remove a { color: #999; }
table.shop_table tbody tr td.product-remove a:hover { color: #27282d; }

/* Coupon */
table.shop_table tbody tr td.actions { vertical-align: middle; border-top: 1px solid #ddd; border-bottom: none; }
table.shop_table tbody tr td.actions .coupon { font-size: 0; }
table.shop_table tbody tr td.actions .coupon .coupon_text { width: 50%; font-size: 17px; vertical-align: top; line-height: 23px; display: inline-block; }
table.shop_table tbody tr td.actions .coupon .coupon_text h3 { margin-bottom: 0 !important; font-size: 25px; color: var(--color-primary); }
table.shop_table tbody tr td.actions .coupon .coupon_text img { width: auto; height: 50px; margin-right: 20px; vertical-align: middle; display: inline-block; }
table.shop_table tbody tr td.actions .coupon .coupon_text .text { vertical-align: middle; display: inline-block; }
table.shop_table tbody tr td.actions .coupon .coupon_wrapper { width: 50%; vertical-align: top; text-align: right; display: inline-block; }
table.shop_table tbody tr td.actions .coupon .coupon_wrapper input[type=text] { width: 200px; height: 50px; margin-right: 10px; padding-left: 10px; vertical-align: top; border: 1px solid #ddd; }
table.shop_table tbody tr td.actions .coupon .coupon_wrapper button { height: 50px !important; vertical-align: top; line-height: 50px; }

/* Cart collaterals */
.cart-collaterals .cart_totals { padding: 30px; background: var(--color-primary); }
.cart-collaterals .cart_totals h2 { display: none; }
.cart-collaterals .cart_totals table.shop_table { margin-bottom: 0 !important; font-size: 17px; text-align: center; }
.cart-collaterals .cart_totals table.shop_table tbody tr th { width: 50%; padding: 10px; font-weight: 600; border-top: 1px solid #000; border-bottom: 3px solid #000; }
.cart-collaterals .cart_totals table.shop_table tbody tr td { width: 50%; padding: 10px; border-top: 1px solid #000; border-bottom: 3px solid #000; }
.cart-collaterals .cart_totals table.shop_table tbody tr.order-total th,
.cart-collaterals .cart_totals table.shop_table tbody tr.order-total td { border-bottom-width: 1px; }

.cart-collaterals .cart_totals ul#shipping_method { margin-left: 0 !important; margin-bottom: 0 !important; }
.cart-collaterals .cart_totals ul#shipping_method li { margin-bottom: 10px; padding-left: 0 !important; font-size: 16px; color: #000; line-height: 1; list-style: none; }
.cart-collaterals .cart_totals ul#shipping_method li:last-child { margin-bottom: 0 !important; }
.cart-collaterals .cart_totals ul#shipping_method li:before { display: none !important; }
.cart-collaterals .cart_totals ul#shipping_method li input[type="radio"]:checked { background: #000; }
.cart-collaterals .cart_totals ul#shipping_method li input[type="radio"]:checked:before { background: white; }

.cart-collaterals .cart_totals .woocommerce-shipping-destination { margin-top: 20px; font-size: 15px; line-height: 18px; }

.cart-collaterals .cart_totals .wc-proceed-to-checkout { padding: 30px 0 0; border-bottom: none; }
.cart-collaterals .cart_totals .wc-proceed-to-checkout a.button { width: 100%; padding: 0; text-align: center; color: white; background-color: #27282d !important; display: block; }
.cart-collaterals .cart_totals .wc-proceed-to-checkout a.button:hover { background-color: #000 !important; }


/*
----------------
	CHECKOUT
----------------
*/
form.checkout_coupon { margin-bottom: 30px; }
form.checkout_coupon p { margin-bottom: 0 !important; }

/* Table */
table.shop_table.woocommerce-checkout-review-order-table tbody td.product-name { font-size: 16px; }
table.shop_table.woocommerce-checkout-review-order-table tbody td.product-total { text-align: center; }

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-bottom: 1px solid #ddd; }
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: center; }

table.shop_table.woocommerce-checkout-review-order-table tfoot tr.shipping td { width: 350px; }
table.shop_table.woocommerce-checkout-review-order-table tfoot tr.shipping ul { margin-bottom: 0 !important; text-align: left; }
table.shop_table.woocommerce-checkout-review-order-table tfoot tr.shipping ul li { margin: 5px 0 !important; padding-left: 0 !important; list-style: none !important; cursor: pointer; }
table.shop_table.woocommerce-checkout-review-order-table tfoot tr.shipping ul li:before { display: none !important; }

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; }

/* Payment methods */
.woocommerce-checkout-payment ul li { margin-left: 0 !important; padding-left: 0 !important; }
.woocommerce-checkout-payment ul li:before { display: none !important; }
.woocommerce-checkout-payment ul li label { font-size: 18px; font-weight: 700; }
.woocommerce-checkout-payment ul li.payment_method_paypal a, 
.woocommerce-checkout-payment ul li.payment_method_paypal img { display: none; }

form.checkout #customer_details { margin-bottom: 30px; }

/* Woocommerce info */
form.checkout ul.payment_methods { margin-left: 0 !important; padding: 20px; background: #27282d; }
form.checkout ul.payment_methods li { margin-bottom: 15px; padding: 0 !important; list-style: none !important; }
form.checkout ul.payment_methods li:last-child { margin-bottom: 0; }
form.checkout ul.payment_methods li p { margin-bottom: 0 !important; color: #ccc; }
form.checkout ul.payment_methods li label { color: white; cursor: pointer; }
form.checkout ul.payment_methods li.payment_method_barion a { display: block; }


/*
----------------------
	THANK YOU PAGE
----------------------
*/
body.woocommerce-checkout.woocommerce-order-received #content h1 { margin-bottom: 10px; text-align: center; }
body.woocommerce-checkout.woocommerce-order-received ul.woocommerce-thankyou-order-details { margin-left: 0 !important; padding: 20px; font-size: 0; border: 1px solid #ddd; }
body.woocommerce-checkout.woocommerce-order-received ul.woocommerce-thankyou-order-details li { padding-left: 0 !important; }
body.woocommerce-checkout.woocommerce-order-received ul.woocommerce-thankyou-order-details li:before { display: none !important; }
body.woocommerce-checkout.woocommerce-order-received ul.woocommerce-thankyou-order-details li .name { width: 50%; font-size: 16px; vertical-align: top; display: inline-block; }
body.woocommerce-checkout.woocommerce-order-received ul.woocommerce-thankyou-order-details li .value { width: 50%; font-size: 16px; vertical-align: top; display: inline-block; }
body.woocommerce-checkout.woocommerce-order-received ul.woocommerce-thankyou-order-details li.woocommerce-order-overview__order .value { font-size: 18px; font-weight: 700; }

/* Addreses */
body.woocommerce-checkout.woocommerce-order-received .woocommerce-customer-details .col { width: 48%; padding: 20px; border: 1px solid #ddd; }
body.woocommerce-checkout.woocommerce-order-received .woocommerce-customer-details .col p:last-child { margin-bottom: 0 !important; }
body.woocommerce-checkout.woocommerce-order-received .woocommerce-customer-details .col address { line-height: 20px; }



/*
-----------------
	MY ACCOUNT
-----------------
*/
.woocommerce-MyAccount-navigation ul { margin-left: 0 !important; margin-bottom: 30px; font-size: 0; border-bottom: 3px solid var(--color-primary); }
.woocommerce-MyAccount-navigation ul li { width: 20%; margin-left: 0 !important; padding-left: 0 !important; vertical-align: top; display: inline-block; }
.woocommerce-MyAccount-navigation ul li:before { display: none !important; }
.woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--downloads { display: none !important; }
.woocommerce-MyAccount-navigation ul li a { height: 50px; font-size: 17px; font-weight: 700; text-align: center; text-decoration: none !important; color: white; line-height: 50px; display: block; }
.woocommerce-MyAccount-navigation ul li a:hover { background: rgba(255,255,255,0.1); }
.woocommerce-MyAccount-navigation ul li.is-active a { background: var(--color-primary); }


/*
----------------
	SIDEBAR
----------------
*/

/* Product categories */
#sidebar ul.product-categories li { margin-bottom: 10px; padding-bottom: 10px; border-bottom: 1px solid #eee; display: block; }
#sidebar ul.product-categories li:last-child { margin-bottom: 0; padding-bottom: 0; border-bottom: none; }
#sidebar ul.product-categories li a { font-weight: 700; }
#sidebar ul.product-categories li span { color: #999; }

/* Product list widget */
#sidebar ul.product_list_widget li { min-height: 50px; margin-bottom: 15px; padding-left: 70px; padding-bottom: 10px; border-bottom: 1px solid #eee; position: relative; }
#sidebar ul.product_list_widget li a { font-size: 15px; font-weight: 700; color: var(--color-primary); line-height: 18px; display: block; }
#sidebar ul.product_list_widget li a:hover { color: #000; text-decoration: underline; }
#sidebar ul.product_list_widget li img { width: 60px; height: 60px; left: 0; top: 0; padding: 2px; border: 1px solid #eee; position: absolute; }
#sidebar ul.product_list_widget li del { font-size: 14px; color: #999; text-decoration: line-through; display: block; }
#sidebar ul.product_list_widget li ins { font-size: 15px; font-weight: 700; display: block; }


/*
----------------------
	CHAINED SELECT
----------------------
*/
.select2-container .select2-selection--single { height: 50px; border: none !important; border-radius: 0 !important; }
.select2-container--default .select2-selection--single .select2-selection__arrow { top: 11px; }
.select2-container--default .select2-selection--single .select2-selection__rendered { line-height: 50px; }


/*
------------------
	RWD DESIGN
------------------
*/
@media only screen and (max-width: 1200px) { 

	/* PRODUCT LIST */
	ul.products li { width: 50%; }
	body.home ul.products li { width: 33.3333333333%; }
	body.single-product ul.products li { width: 33.3333333333%; }
	
	/* CART: Cart collaterals */
	.cart-collaterals .cart_totals { width: 100%; float: none; }
}

@media only screen and (max-width: 960px) { 

	/* PRODUCT LIST */
	ul.products li { width: 33.3333333333%; }
	body.home ul.products li { width: 50%; }
	body.single-product ul.products li { width: 50%; }
	
	/* PRODUCT LIST: Product categories */
	ul.products li.product-category { width: 33.3333333333%; }
	
	/* SINGLE PRODUCT */
	.product .row.row_single_product { display: block; }
	.product .row.row_single_product .col { width: 100%; display: block; }
	.product .row.row_single_product .col.col_summary { margin-bottom: 50px; }
	.product .row.row_single_product .col.col_summary .summary { max-width: 600px; margin-left: auto; margin-right: auto; }
	.product .row.row_single_product .col.col_image { padding-left: 0; }
	
	/* CART */
	table.shop_table .product-subtotal { width: 90px; }
	
	table.shop_table tbody .product-name a { font-size: 16px; }
	table.shop_table tbody .product-name a.thumbnail { margin-right: 0; margin-bottom: 10px; display: block; }
	table.shop_table tbody .product-name a.thumbnail img { max-width: 50px; max-height: 50px; }
	
	/* CART: Coupon */
	table.shop_table tbody tr td.actions { height: auto; padding: 20px; }
	table.shop_table tbody tr td.actions .coupon { display: block; }
	table.shop_table tbody tr td.actions .coupon .coupon_text { width: 100%; margin-bottom: 20px; text-align: center; display: block; }
	table.shop_table tbody tr td.actions .coupon .coupon_text img { margin-left: auto; margin-right: auto; display: block; }
	table.shop_table tbody tr td.actions .coupon .coupon_wrapper { width: 100%; text-align: center; display: block; }
	table.shop_table tbody tr td.actions .coupon .coupon_wrapper input[type=text] { width: 200px; height: 50px; margin-right: 10px; padding-left: 10px; border: 1px solid #ddd; }
	table.shop_table tbody tr td.actions .coupon .coupon_wrapper input[type=submit] { height: 50px; line-height: 50px; }
	
	/* CART: Cart collaterals */
	.cart-collaterals .cart_totals { width: 100%; float: none; }
	
	/* MY ACCOUNT */
	.woocommerce-MyAccount-navigation ul { height: auto; background: #faf5ef; border-bottom: none; }
	.woocommerce-MyAccount-navigation ul li { display: block; }
	.woocommerce-MyAccount-navigation ul li a { margin-right: 0; }
	
	.u-columns .form-row { width: 100% !important; float: none !important; }
}

@media only screen and (max-width: 768px) { 

	/* PRODUCT LIST */
	ul.products li { width: 50%; }

	/* SINGLE PRODUCT */
	.product .summary h2 { font-size: 7vw !important; }
	
	/* CART */
	table.shop_table .product-quantity { width: 120px; padding: 0 10px; }
	
	table.shop_table tbody .product-quantity .quantity input[type=number] { width: 100%; margin-bottom: 5px; display: block; }
	table.shop_table tbody .product-quantity .remove { margin-left: 3px; }
	table.shop_table tbody .product-quantity .update_cart { margin: 0; margin-right: 3px; }
	
	/* MY ACCOUNT */
	.u-columns { border: none; display: block; }
	.u-columns .u-column1, 
	.u-columns .u-column2 { width: 100%; padding: 20px 0; display: block; }
	.u-columns .u-column1 { padding-top: 0; }
	.u-columns .u-column2 { border-top: 1px solid #ddd; border-left: none; }
	
	/* THANK YOU PAGE */
	.woocommerce-customer-details .addresses { display: block; }
	.woocommerce-customer-details .addresses .col-1, 
	.woocommerce-customer-details .addresses .col-2 { width: 100%; display: block; }
}

@media only screen and (max-width: 640px) { 

	/* FORMS */
	.form-row.form-row-first, 
	.form-row.form-row-last { width: 100%; float: none; clear: both; }
	
	form.checkout_coupon .form-row.form-row-first { margin-bottom: 10px !important; }
	form.checkout_coupon .form-row.form-row-last .button { width: 100%; display: block; }

	/* RESULTS */
	p.woocommerce-result-count { width: 100%; margin-bottom: 10px !important; line-height: normal; float: none; }
	form.woocommerce-ordering { width: 100%; float: none; }
	form.woocommerce-ordering select { width: 100%; }
	
	/* PRODUCT LIST: Title */
	ul.products li .entry h3 { height: 60px; line-height: 18px !important; }
	ul.products li .entry h3 a { font-size: 18px; }
	
	/* PRODUCT LIST: Buttons */
	ul.products li .add_to_cart_and_info_buttons { padding-bottom: 45px; }
	ul.products li .add_to_cart_and_info_buttons a.info_button { width: 100%; left: 0; bottom: 0; position: absolute; }
	
	/* PRODUCT LIST: Product categories */
	ul.products li.product-category { width: 50%; }
	
	/* SINGLE PRODUCT: Summary */
	.product .summary h2 { font-size: 8vw !important; }
	
	/* CART + MY ACCOUNT */	
	table.shop_table.shop_table_responsive { font-size: 0; }
	table.shop_table.shop_table_responsive thead { display: none !important; }
	table.shop_table.shop_table_responsive tbody tr { display: block; }
	table.shop_table.shop_table_responsive tbody th { display: none !important; }
	table.shop_table.shop_table_responsive tbody td { width: 100%; padding: 10px 0 !important; font-size: 16px; text-align: left !important; border: none !important; border-bottom: 1px solid #ddd !important; display: block; }
	
	table.shop_table.cart.shop_table_responsive tbody tr { margin-bottom: 20px; padding: 10px; border: 1px solid #ddd; }
	table.shop_table.cart.shop_table_responsive tbody td:last-child { border-bottom: none !important; }
	
	table.shop_table tbody tr td.actions { border-bottom: none !important; }
	
	table.shop_table.shop_table_responsive tbody td.product-thumbnail { border-bottom: none !important; } 
	table.shop_table.shop_table_responsive tbody td.product-price, 
	table.shop_table.shop_table_responsive tbody td.product-quantity, 
	table.shop_table.shop_table_responsive tbody td.product-subtotal, 
	table.shop_table.shop_table_responsive tbody td.product-remove { width: 100%; display: block; }
	table.shop_table tbody tr td.product-quantity .quantity { margin: 0; margin-right: 10px; }
	
	table.shop_table.shop_table_responsive tbody td::before { font-weight: 700; display: block; content: attr(data-title) ": "; }
	
	table.shop_table.shop_table_responsive tbody td.actions::before, 
	table.shop_table.shop_table_responsive tbody td.product-thumbnail::before, 
	table.shop_table.shop_table_responsive tbody td.product-remove::before { display: none; }
	
	table.shop_table.shop_table_responsive tbody td .button { margin: 2px 0; }
	
	.cart-collaterals .cart_totals table.shop_table tbody tr td { width: 100%; }
	
	/* CHECKOUT: Table */
	table.shop_table.woocommerce-checkout-review-order-table thead th.product-total { text-align: right; }
	table.shop_table.woocommerce-checkout-review-order-table tbody td.product-total { text-align: right; }

	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.order-total th { text-align: left; }
}

@media only screen and (max-width: 480px) { 

	/* SYSTEM MESSAGES */
	.woocommerce-info a.showcoupon { display: block; }

	/* PRODUCT LIST */
	ul.products { margin-left: 0 !important; margin-right: 0; }
	ul.products li { width: 100%; padding-left: 0 !important; padding-right: 0 !important; display: block; }
	
	body.home ul.products li { width: 100%; }
	body.single-product ul.products li { width: 100%; }
	
	/* PRODUCT LIST: Title */
	ul.products li .entry h3 { height: auto; line-height: 20px !important; }
	ul.products li .entry h3 a { font-size: 20px; }
	
	/* PRODUCT LIST: Product categories */
	ul.products li.product-category { width: 100%; }
	
	/* SINGLE PRODUCT: Summary */
	.product .summary h2 { width: 100%; font-size: 9vw !important; }
	
	/* SINGLE PRODUCT: Add to cart */
	.product .summary .cart .quantity { width: 100%; margin-right: 0; display: block; }
	.product .summary .single_add_to_cart_button { width: 100%; margin-left: 0; margin-top: 10px; display: block; }
	
	/* CART: Coupon */
	table.shop_table tbody tr td.actions .coupon .coupon_wrapper input { width: 100% !important; margin-right: 0; text-align: center; }
	table.shop_table tbody tr td.actions .coupon .coupon_wrapper button { width: 100% !important; margin-top: 10px; }
	
	/* CART: Cart collaterals */
	.cart-collaterals .cart_totals { padding: 10px; }
	.cart-collaterals .cart_totals table.shop_table tbody tr td { width: 100%; text-align: center !important; }
	
	/* CHECKOUT */
	.woocommerce-checkout-payment .button { width: 100%; display: block; }
}
