/*
 ************************************************************
 * WOOCOMMERCE
 ************************************************************
 * ----------------------------------------------------------
 * GLOBAL
 * ----------------------------------------------------------
 * 
 * ELEMENTS
 */

#top.woocommerce-page select
{
	width: 100%;
}

/* 
 * PRICE
 */

#top .price,
#top .price span,
#top del,
#top ins
{
	line-height: 32px;
	font-weight: 600;
	font-size: 24px;
}

#top .single_variation_wrap .price,
#top .single_variation_wrap .price span
{
	font-size: 36px;
}

#top .woocommerce-variation-price
{
	text-align: center;
}

/* 
 * VARIATIONS
 */

#top .variations
{
	background-color: var(--color-lightgray-1);
}

#top .variations label,
#top .variations th .woo-selected-variation-item-name
{
	font-weight: 600;
	font-size: 15px;
}

#top .variations td,
#top .variations th
{
	padding: 4px 0;
	vertical-align: middle;
}

#top .variations th.label
{
	width: 240px;
	padding: 0;
	padding-top: 16px;
	text-align: center;
	text-transform: none;
}

#top .variations tr:last-child th.label
{
	padding-top: 0;
}

#top .variations td
{
	padding-bottom: 24px;
}

#top .variations .variable-item:not(.radio-variable-item).selected
{
	-webkit-box-shadow: var(--wvs-selected-item-box-shadow,0 0 0 2px var(--color-cvi-2));
	        box-shadow: var(--wvs-selected-item-box-shadow,0 0 0 2px var(--color-cvi-2));
}

#top .variations .variable-item-span
{
	padding: 0 16px;
	color: var(--color-cvi-2);
}

/* 
 * LAYOUT
 */

#top .variations_form,
#top .variations_form > div,
#top .single_variation_wrap,
#top .woocommerce-variation-add-to-cart,
#top .template-shop div.product div.summary
{
	display: flex;
	flex-direction: column;
	grid-gap: 40px;
	padding-bottom: 0px;
}

#top .single_variation_wrap,
#top .variations_form > table
{
	margin: 0;
}

#top .variations_form
{
	padding: 0;
	border: none;
	border-radius: 0;
	background-color: transparent;
}

#top .woocommerce-variation-add-to-cart
{
	align-items: center;
}

#top .woocommerce-variation-add-to-cart .button
{
	max-width: 320px;
	padding-top: 32px;
	padding-bottom: 32px;
}

/*
 * ----------------------------------------------------------
 * DROPDOWN-CART
 * ----------------------------------------------------------
 * 
 * WRAP
 */

.html_visible_cart #top .cart_dropdown
{
	border: none;
}

#top .av-cart-counter,
#top .dropdown_widget .avia-arrow
{
	display: none;
}

#top .dropdown_widget .widget_shopping_cart_content
{
	padding: 16px;
	border: none;
	box-shadow: 0px 2px 1px rgba(0,0,0,.1);
}

#top .dropdown_widget .widget_shopping_cart_content
{
	background-color: var(--color-white);
}

/* 
 * LIST
 */

#top .dropdown_widget ul.product_list_widget li,
#top .dropdown_widget ul.product_list_widget li:hover
{
	background-color: var(--color-white);
}

#top .dropdown_widget ul.product_list_widget li
{
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding-right: 24px;
	border-color: var(--color-lightgray-2);	
}

#top .dropdown_widget ul.product_list_widget li a,
#top .dropdown_widget ul.product_list_widget li .quantity
{
	font-weight: 400;
	font-size: 14px;
	color: var(--color-cvi-2);
}

#top .dropdown_widget ul.product_list_widget li a:not(.remove)
{
	pointer-events: none;
}

#top .dropdown_widget ul.product_list_widget li a.remove
{
	display: flex;
	justify-content: center;
	align-items: center;
	width: 32px;
	height: 32px !important;
	top: 0;
	right: 0;
	text-indent: 0;
	font-size: 24px;
	border: none;
	background: none;
	color: var(--color-cvi-1);
}

#top .dropdown_widget ul.product_list_widget img,
#top .dropdown_widget ul.product_list_widget dl
{
	display: none;
}

/* 
 * TOTAL
 */

#top .dropdown_widget .total
{
	padding-top: 20px;
	text-align: center;
	font-weight: 600;
	font-size: 24px;
	color: var(--color-cvi-1);
}

#top .dropdown_widget .total strong
{
	display: none;
}

/* 
 * BUTTONS
 */

#top .dropdown_widget .buttons
{
	display: flex;
	flex-direction: column;
	align-items: center;
	border: none;
	background: none !important;
	color: var(--color-cvi-1);
}

#top .dropdown_widget .buttons .button
{
	width: 100%;
	padding: 12px 32px;
}

#top .dropdown_widget .buttons .button:not(.button.checkout)
{
	display: none;
}

#top .header_color .dropdown_widget .buttons .button
{
	background-color: var(--color-cvi-1);
	color: var(--color-white);
}

/*
 * ----------------------------------------------------------
 * PRODUCTS
 * ----------------------------------------------------------
 * 
 * COLUMNS
 */

#top .products.columns-2
{
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	grid-gap: 40px;
}

@media only screen and (max-width: 1079px)
{
	.responsive #top .products.columns-2
	{
		grid-template-columns: repeat(1, minmax(0, 1fr));
		grid-gap: 32px;
	}
}

/*
 * BLOCKS
 */

#top .products .thumbnail_container
{
	width: 240px;
}

#top .products .inner_product_header
{
	width: calc(100% - 260px);
	padding: 0;
	text-align: left;
}

/*
 * PRODUCT
 */

#top .products .product
{
	width: 100% !important;
	margin: 0 !important;
	background-color: var(--color-lightgray-1);
}

#top .products .product h2
{
	font-family: var(--font-body);
	font-weight: 300 !important;
	font-size: 22px;
	text-transform: none;
	padding: 0;
	width: 70%;
}

#top .products .product span.price
{
	display: block;
	margin-top: 10px;
}

#top .products .product a
{
	display: flex;
	align-items: center;
	padding: 20px;
}

@media only screen and (max-width: 767px)
{
	.responsive #top .products .product a
	{
		flex-direction: column;
		padding-bottom: 40px;
	}
	.responsive #top .products .product a > div
	{
		width: 100%;
		text-align: center;
	}
	.responsive #top .products .product a h2
	{
		margin: 0 auto;
	}
}

@media only screen and (min-width: 768px)
{
	.responsive #top .products .product a
	{
		grid-gap: 20px;
	}
}

#top .products .product .inner_product
{
	transition: all 0.3s ease;
}

#top .products .product:hover .inner_product
{
	padding: 10px;
	margin: -10px;
	box-shadow: 0 8px 16px rgba(0,0,0,0.1);
}

/*
 * ----------------------------------------------------------
 * TEMPLATE
 * ----------------------------------------------------------
 * 
 * CONTAINER
 */

#top #wrap_all .template-shop .container
{
	width: 100%;
	max-width: 100%;
	margin: 0;
	padding: 0;
}

/*
 * ----------------------------------------------------------
 * SEARCH
 * ----------------------------------------------------------
 * 
 * HIDE
 */

#search-fail > *:not(.woocommerce-no-products-found):not(.widget_wpc_filters_widget)
{
	display: none;
}

#search-fail .woocommerce-no-products-found
{
	text-align: center;
	font-weight: 300;
	font-size: 16px;
}

/*
 * ----------------------------------------------------------
 * RELATED-UPSELLS
 * ----------------------------------------------------------
 * 
 * BLOCKS
 */

#top .related.products > h2,
#top .upsells.products > h2
{
	margin-bottom: 0;
	text-align: center;
	font-size: revert;
}

#top .related.products > h2::after,
#top .upsells.products > h2::after
{
	content: '';
	display: block;
	width: 80px;
	height: 2px;
	margin: 20px auto 0 auto;
	background: var(--color-white);
}

#top .related.products .products,
#top .upsells.products .products
{
	margin-top: 50px;
}

/*
 ************************************************************
 * SINGLE-PRODUCT
 ************************************************************
 * ----------------------------------------------------------
 * GLOBAL
 * ----------------------------------------------------------
 * 
 * ELEMENTS
 */

#top.single-product h1
{
	font-family: var(--font-body);
	font-size: 36px;
	text-transform: none;
}

#top.single-product div form.cart div.quantity
{
	display: none;
}

#top.single-product .template-page .product_meta > span,
#top.single-product .reset_variations
{
	line-height: normal;
	font-weight: 300;
	font-size: 16px;
}

#top.single-product .product_meta
{
	top: 0;
	text-align: center;
}

#top.single-product .reset_variations
{
	display: none;
	bottom: -53px;
	height: auto;
}

@media only screen and (max-width: 1079px)
{
	.responsive #top.single-product .single-product-main-image
	{
		width: 100%;
		margin: 0 30px 0 0;
	}
}

/* 
 * LAYOUT
 */

#top.single-product .template-shop
{
	padding-top: 0;
}

#top.single-product .template-shop div.product div.summary > *
{
	margin: 0;
}

/*
 ************************************************************
 * CHECKOUT
 ************************************************************
 * ----------------------------------------------------------
 * GLOBAL
 * ----------------------------------------------------------
 * 
 * ELEMENTS
 */

#top.woocommerce-checkout .cart_dropdown,
#top.woocommerce-checkout #customer_details .form-row label,
#top.woocommerce-checkout #order_review .variation dt,
#top.woocommerce-checkout #order_review .variation dd:not(:last-child),
#top.woocommerce-checkout #order_review .shop_table thead,
#top.woocommerce-checkout #order_review .shop_table tfoot th,
#top.woocommerce-checkout #order_review .shop_table .product-total,
#top.woocommerce-checkout #order_review .shop_table .cart-subtotal
{
	display: none;
}

#top.woocommerce-checkout .form-row
{
	margin: 0;
	padding: 0;
}

#top.woocommerce-checkout h3
{
	text-transform: uppercase;
	margin-bottom: 20px;
}

#top.woocommerce-checkout #order_review .variation img
{
	width: 400px;
	height: auto;
}

@media only screen and (min-width: 481px) and (max-width: 989px)
{
	.responsive #top.woocommerce-checkout #order_review .variation img
	{
		max-width: 200px;
	}
}

@media only screen and (max-width: 989px)
{
	.responsive #top.woocommerce-checkout #order_review .variation img
	{
		margin-top: 16px;
	}
}

@media only screen and (max-width: 480px)
{
	.responsive #top.woocommerce-checkout #order_review .variation img
	{
		max-width: 100%;
	}
}

/*
 * ----------------------------------------------------------
 * CUSTOMER DETAILS
 * ----------------------------------------------------------
 * 
 * COLS
 */

@media only screen and (max-width: 767px)
{
	.responsive #top.woocommerce-checkout #customer_details .col-1,
	.responsive #top.woocommerce-checkout #customer_details .col-2,
	.responsive #top.woocommerce-checkout #customer_details .cart-collaterals .shipping_calculator
	{
		width: 100%;
		margin-bottom: 20px;
	}
}

/* 
 * ROWS
 */

#top.woocommerce-checkout #customer_details .form-row
{
	padding: 0;
	margin-bottom: 16px;
}

#top.woocommerce-checkout #customer_details .form-row-first,
#top.woocommerce-checkout #customer_details .form-row-last
{
	width: calc(50% - 8px);
}

/* 
 * INPUT
 */

#top.woocommerce-checkout #customer_details .form-row input.input-text,
#top.woocommerce-checkout #customer_details .form-row textarea,
#top.woocommerce-checkout #customer_details .form-row input.input-text,
#top.woocommerce-checkout #customer_details .form-row textarea
{
	font-family: var(--font-body);
	font-weight: 300;
	font-size: 16px;
	padding: 12px;
	border: none;
}

/*
 * ----------------------------------------------------------
 * ORDER REVIEW
 * ----------------------------------------------------------
 * 
 * TABLE
 */

#top.woocommerce-checkout #order_review .shop_table,
#top.woocommerce-checkout #order_review .shop_table td,
#top.woocommerce-checkout #order_review .shop_table td small
{
	font-weight: 300;
	border: none;
	background: none;
}

#top.woocommerce-checkout #order_review .shop_table td
{
	padding: 16px;
	font-size: 18px;
}

#top.woocommerce-checkout #order_review .shop_table tbody
{
	display: flex;
	flex-direction: column;
	grid-gap: 16px;
}

/* 
 * TOTAL
 */

#top.woocommerce-checkout #order_review .order-total td
{
	font-weight: 400;
	font-size: 40px;
}

#top.woocommerce-checkout #order_review .order-total small
{
	font-size: 14px;
	display: block;
	clear: both;
}

/* 
 * CART ITEM
 */

#top.woocommerce-checkout #order_review .cart_item
{
	background-color: var(--color-lightgray-1);
}

#top.woocommerce-checkout #order_review .cart_item td.product-name
{
	display: flex;
}

@media only screen and (max-width: 767px)
{
	.responsive #top.woocommerce-checkout #order_review .cart_item td.product-name
	{
		flex-direction: column;
	}
}

#top.woocommerce-checkout #order_review .cart_item td.product-name .product-quantity
{
	flex-grow: 1;
}

#top.woocommerce-checkout #order_review .cart_item td.product-name dl.variation dd
{
	margin: 0;
}

/*
 * ----------------------------------------------------------
 * PAYMENT
 * ----------------------------------------------------------
 * 
 * TABLE
 */

#top.woocommerce-checkout #payment,
#top.woocommerce-checkout #payment #place_order,
#top.woocommerce-checkout #payment .place-order
{
	margin-top: 32px;
}

#top.woocommerce-checkout #payment
{
	border-radius: 0;
	border: none;
	background: none;
}

#top.woocommerce-checkout #payment label
{
	font-weight: 600;
}

#top.woocommerce-checkout #payment .woocommerce-privacy-policy-text p
{
	font-family: var(--font-body);
	font-size: 14px;
}

#top.woocommerce-checkout #payment #place_order
{
	padding: 24px 48px;
	line-height: 18px;
	font-size: 18px;
}

@media only screen and (max-width: 480px)
{
	.responsive #top.woocommerce-checkout #payment #place_order
	{
		width: 100%;
	}
}

#top.woocommerce-checkout #payment .place-order
{
	margin-bottom: 0;
}

#top.woocommerce-checkout #payment .place-order .form-row
{
	margin-top: 20px;
}

#top.woocommerce-checkout #payment .place-order,
#top.woocommerce-checkout #payment ul.payment_methods
{
	padding: 0 !important;
}

#top.woocommerce-checkout #payment ul.payment_methods
{
	border-top-width: 1px;
	border-top-style: solid;
}

#top.woocommerce-checkout #payment ul.payment_methods li
{
	background: none;
}

#top.woocommerce-checkout #payment div.payment_box .form-row,
#top.woocommerce-checkout #payment div.payment_box p
{
	line-height: 1.6;
}

/*
 ************************************************************
 * PLUGIN
 ************************************************************
 * ----------------------------------------------------------
 * SWATCHES
 * ----------------------------------------------------------
 * 
 * ELEMENTS
 */

#top.woo-variation-swatches .variable-items-wrapper
{
	justify-content: center;
}