/* Woocommerce CSS */
.woocommerce nav.woocommerce-pagination ul {
  display: flex;
  justify-content:center;
  gap: 10px;
  width: 100%;
  text-align: center;
}

@media (max-width: 991px) {
  .woocommerce nav.woocommerce-pagination{
	  margin-bottom:30px;
  }
}

.woocommerce nav.woocommerce-pagination ul,
.woocommerce nav.woocommerce-pagination ul li{
	border:none!important;
}

.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li a:focus,
.woocommerce nav.woocommerce-pagination ul li a:visited,
.woocommerce nav.woocommerce-pagination ul li a:active, 
.woocommerce nav.woocommerce-pagination ul li span {
	display: inline-block;
	width: 40px;
	height: 40px;
	padding: 0;
	text-align: center;
	line-height:40px;
	font-size: 14px;
	text-decoration:none;
	font-weight: 600;
	border-radius: var(--vesper-border-radius-sm);
	border: 1px solid var(--vesper-border-color);
	color: var(--vesper-primary-color);
	background-color: var(--vesper-secondary-color);
	user-select:none;
}

.woocommerce nav.woocommerce-pagination ul li span.current {
	color: var(--vesper-secondary-color);
	background: var(--vesper-primary-color);
}

.woocommerce nav.woocommerce-pagination ul li a:hover{
    color: var(--vesper-secondary-color);
    background: var(--vesper-primary-color);
}

.woocommerce-error, .woocommerce-info, .woocommerce-message{
	margin-bottom:20px!important;
	padding:18px 32px 18px 64px;
	border-top-color: var(--vesper-primary-color)!important;
}

.woocommerce-error li{
	margin-left:35px!important;
}

.woocommerce-error::before, .woocommerce-info::before, .woocommerce-message::before{
	color: var(--vesper-primary-color)!important;
}

.woocommerce-message a.button,
.woocommerce-info a.button{
	position: relative;
    display: inline-flex;
    justify-content: center;
    align-items: center;
	height:40px;
    border-radius: var(--vesper-border-radius-sm);
	padding: 12px 16px;
	font-size:16px;
	font-weight:600;
	box-shadow: none;
    text-decoration: none;
    transition: all 0.125s ease;
	line-height:1;
	cursor:pointer;
	color: var(--vesper-secondary-color);
	background: var(--vesper-primary-color);
	border:1px solid var(--vesper-primary-color);
}

.woocommerce-message a.button:hover,
.woocommerce-info a.button:hover{
	color: var(--vesper-secondary-color);
	background: var(--vesper-primary-hover);
}

.woocommerce form .form-row .input-text, .woocommerce-page form .form-row .input-text{
	height: 40px;
    padding: 0 8px;
    border-radius: var(--vesper-border-radius-sm);
}

.woocommerce form .form-row textarea.input-text, .woocommerce-page form .form-row textarea.input-text{
	height:160px;
}

.select2-container--default .select2-selection--single{
	display: flex;
    align-items: center;
	height:40px;
	padding:0;
	border: 1px solid var(--vesper-border-color);
    border-radius: var(--vesper-border-radius-sm);
}

.select2-container--default .select2-selection--single .select2-selection__arrow{
	height:40px;
}


/*Cart Form*/
.vesper-cart-wrapper{
	display:flex;
	flex-direction:column;
}

.vesper-cart-content{
	display:flex;
	gap:20px;
	margin:0;
	border-radius: var(--vesper-border-radius-md);
	background-color: var(--vesper-lightgray-color); 
}

@media (max-width: 991px) {
  .vesper-cart-content{
    flex-direction: column;
  }
  .vesper-cart-content .vesper-cart-form,
  .vesper-cart-content .vesper-cart-total {
	  width:100%;
  }
}

.vesper-cart-form{
	width:70%;
	margin:0;
	padding: 0;
}

.vesper-cart-table-wrapper{
	border: 1px solid var(--vesper-border-color);
    border-radius: var(--vesper-border-radius-md);
	overflow-x:auto;
}

.vesper-cart-table{
	border: none;
    margin: 0;
    text-align: left;
    width: 100%;
}

.vesper-cart-table thead{
	color: var(--vesper-heading-color);
	background: var(--vesper-smoke-color);
}

.vesper-cart-table tr{
	border-bottom: 1px solid var(--vesper-border-color);
}

.vesper-cart-table tr.vesper-cart-item:last-child {
    border-bottom: none;
}

.vesper-cart-table tr th{
	padding: 10px;
}

.vesper-cart-table tr td{
	padding: 10px 5px;
	max-width: 150px;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.vesper-cart-table .product-quantity input{
	color:var(--vesper-text-color);
}

.vesper-cart-actions{
	display:flex;
	align-items:center;
	justify-content:space-between;
	width: 100%;
	margin-top:20px;
}

.vesper-update-cart-button{
	min-width:105px;
}

@media (max-width: 767px) {
  .vesper-cart-actions{
    flex-direction: column;
  }
  
  .vesper-update-cart-button{
	 margin-left: auto;
  }
}


.vesper-cart-remove-button,
.vesper-cart-remove-button:focus,
.vesper-cart-remove-button:active,
.vesper-cart-remove-button:visited{
    display: flex;
    align-items: center;
    justify-content: center;
	margin:0 auto;
    padding: 10px;
    font-size: 24px;
    font-weight: normal;
	text-decoration:none;
}

.vesper-cart-remove-button:hover{
	text-decoration:none;
}

.vesper-cart-table .product-thumbnail > a > img{
	min-width:48px;
	width:64px;
	height:auto;
	border-radius: var(--vesper-border-radius-sm);
}

.vesper-cart-coupon-code{
	height:40px;
	padding: 0 85px 0 8px;
	border: 1px solid var(--vesper-border-color);
	border-radius: var(--vesper-border-radius-sm);
}

@media (max-width: 767px) {
	.vesper-apply-coupon-button{
		width:75px!important;
	}
	.vesper-cart-coupon-code{
		width:100%;
	}
	.vesper-apply-coupon-button{
		width:75px!important;
	}
	.vesper-cart-actions .vesper-cart-coupon{
		margin-bottom:20px;
		width: 100%;
	}
}

.vesper-cart-actions .vesper-cart-coupon{
	position:relative;
	display:flex;
	align-items:center;
	float:left;
}

/* Cart Total*/
.vesper-cart-total {
	width:30%;
	height:fit-content;
	padding:20px;
	border-radius: var(--vesper-border-radius-md);
	background-color: var(--vesper-smoke-color); 
}

.vesper-cart-total .cart_totals{
	width:100%;
	padding:20px;
	border-radius: var(--vesper-border-radius-sm);
	background-color: var(--vesper-white-color); 
}

.vesper-cart-total .cart_totals h2{
	font-size:32px;
	margin-bottom:0;
}

.vesper-cart-totals-table{
	width:100%;
}

.vesper-cart-total .cart_totals th{
	color: var(--vesper-heading-color);
}

.vesper-cart-totals-table tr td{
	padding:5px 0;
	text-align:right;
	font-weight:bolder;
	background-color: transparent !important;
}

.vesper-cart-total .wc-proceed-to-checkout{
	padding-top:10px;
}


.vesper-track-order{
	margin-bottom:20px;
}

.vesper-orders-page-link i{
	margin-left:10px;
}

.vesper-orders-page-link,
.vesper-update-cart-button,
.vesper-order-checkout-button,
.vesper-place-order-button,
.vesper-orders-page-link:focus,
.vesper-update-cart-button:focus,
.vesper-order-checkout-button:focus,
.vesper-place-order-button:focus,
.vesper-orders-page-link:active,
.vesper-update-cart-button:active,
.vesper-order-checkout-button:active,
.vesper-place-order-button:active,
.vesper-orders-page-link:visited,
.vesper-update-cart-button:visited,
.vesper-order-checkout-button:visited,
.vesper-place-order-button:visited{
	position: relative;
    display: inline-flex;
    justify-content: center;
    align-items: center;
	height:40px;
	padding: 12px 16px;
	font-size:16px;
	font-weight:600;
	box-shadow: none;
    text-decoration: none;
    transition: all 0.125s ease;
	line-height:1;
	cursor:pointer;
	border-radius: var(--vesper-border-radius-sm);
	color: var(--vesper-secondary-color);
	background: var(--vesper-primary-color);
}

.vesper-orders-page-link:hover,
.vesper-update-cart-button:hover,
.vesper-order-checkout-button:hover,
.vesper-place-order-button:hover{
	text-decoration: none;
	background:var(--vesper-primary-hover);
}

@media only screen and (max-width: 768px) {
    .woocommerce #payment #place_order, 
    .woocommerce-page #payment #place_order {
		margin-bottom: 0;
		width:unset;
        float: right;
        box-sizing: border-box;
    }
}

.vesper-order-review-actions,
.vesper-order-cart-actions{
	display:flex;
	align-items:center;
	justify-content:space-between;
	height:40px;
}

.vesper-order-cart-actions{
	margin:10px 0;
}

.vesper-order-review-back,
.vesper-order-cart-back{
	font-size:18px;
}

.vesper-apply-coupon-button{
	position: absolute;
	right:0;
    display: inline-flex;
    justify-content: center;
    align-items: center;
	height:40px;
    border-radius: 0 var(--vesper-border-radius-sm) var(--vesper-border-radius-sm) 0;
	padding: 12px 16px;
	font-size:16px;
	font-weight:600;
	box-shadow: none;
    text-decoration: none;
    transition: all 0.125s ease;
	line-height:1;
	cursor:pointer;
	color: var(--vesper-secondary-color);
	background: var(--vesper-primary-color);
}

.vesper-apply-coupon-button:hover{
	text-decoration: none;
	background:var(--vesper-primary-hover);
}


/* Checkout Form */
.vesper-checkout-coupon-form{
	position: relative;
    display: flex;
    align-items: center;
    margin-bottom: 20px;
}

.vesper-checkout-coupon-code{
	height:40px;
	width:100%;
	padding: 0 85px 0 8px;
	border: 1px solid var(--vesper-border-color);
	border-radius: var(--vesper-border-radius-sm);
}


.vesper-checkout-before .showcoupon{
	text-decoration:underline;
}

.woocommerce-additional-fields{
	margin-top:20px;
}

.vesper-checkout-form-order h3,
.woocommerce-billing-fields h3,
.woocommerce-additional-fields h3{
	font-size:32px;
	margin-bottom:0;
}

.vesper-checkout-form{
	display: flex;
	flex-wrap:wrap;
    gap: 20px;
    margin: 0;
}

.vesper-checkout-form .woocommerce-NoticeGroup-checkout{
	width:100%;
	margin:0;
} 

.vesper-checkout-form .woocommerce-NoticeGroup-checkout .woocommerce-error{
	margin-bottom:30px;
}

.vesper-checkout-form-details{
	width: calc(50% - 10px); 
    margin: 0;
    padding: 35px;
    border: 1px solid var(--vesper-border-color);
    border-radius: var(--vesper-border-radius-md);
}

.vesper-checkout-form-order{
	width: calc(50% - 10px); 
	padding:35px;
    height: fit-content;
    border-radius: var(--vesper-border-radius-md);
    background-color: var(--vesper-smoke-color);
}

@media (max-width: 991px) {
	.vesper-checkout-form{
		flex-direction:column;
	}
	
	.vesper-checkout-form-details,
	.vesper-checkout-form-order{
		width:100%;
	}
}

.vesper-checkout-form-order .woocommerce-checkout-review-order-table{
	width:100%;
	margin-bottom:10px;
}

.vesper-checkout-form-order .woocommerce-checkout-review-order-table th{
	color : var(--vesper-heading-color);
}

.vesper-checkout-form-order .woocommerce-checkout-review-order-table .product-total,
.vesper-checkout-form-order .woocommerce-checkout-review-order-table .cart-subtotal td,
.vesper-checkout-form-order .woocommerce-checkout-review-order-table .order-total td{
	text-align:right;
}

.vesper-checkout-form-order .woocommerce-checkout-review-order-table .cart-subtotal td,
.vesper-checkout-form-order .woocommerce-checkout-review-order-table .order-total td{
	font-weight:bolder;
}

.vesper-checkout-form-details #order_comments_field{
	margin-bottom:0;
}

.woocommerce-checkout #payment{
	background:none;
}
.woocommerce-checkout #payment div.form-row{
	padding-bottom:0;
	margin-bottom:20px;
	border-radius: var(--vesper-border-radius-md);
	background:var(--vesper-white-color);
	font-size:14px;
}
.woocommerce-checkout #payment div.form-row.vesper-place-order-form-row{
	margin:0;
	padding: 0;
	background:none;
}

#add_payment_method #payment ul.payment_methods, .woocommerce-cart #payment ul.payment_methods, .woocommerce-checkout #payment ul.payment_methods{
	padding:0;
	border-bottom:none;
}

/* Thank you page */
.vesper-thankyou-order-received{
	text-align:center;
}

.vesper-thankyou-icon{
	padding:20px;
	color: var(--vesper-secondary-color);
	background: var(--vesper-primary-color);
	border-radius:50%;
	font-size:64px;
}

.vesper-thankyou-text{
	font-weight:600;
	margin-top:20px;
}


ul.vesper-order-details-summary{
	list-style: none;
    margin: 0;
	margin-bottom:20px;
    padding: 0;
    text-align: left;
}

ul.vesper-order-details-summary span{
	display: inline-block;
    min-width: 75px;
	font-weight:bolder;
	color: var(--vesper-heading-color);
}

.vesper-order-summary-status{
	text-transform:capitalize;
}

.vesper-order-related-downloads{
	margin-bottom:-20px;
}

.vesper-order-related-downloads h2{
	font-size: 32px;
	margin:30px 0 20px 0;
}

/* My Account page */
.vesper-myaccount-content mark{
	background:transparent;
	font-weight:600;
	color:var(--vesper-heading-color);
}

.vesper-myaccount-wrapper {
	display: flex;
    gap: 20px;
    margin: 0;
}


.vesper-myaccount-nav{
	width: 30%; 
	padding:20px;
    height: fit-content;
    border-radius: var(--vesper-border-radius-md);
    background-color: var(--vesper-smoke-color);
}

.vesper-myaccount-nav li.is-active a{
	font-weight:bolder;
	color: var(--vesper-heading-color);
}

.vesper-myaccount-nav li a{
	text-decoration:none;
}

.vesper-myaccount-content{
	width: 70%; 
    margin: 0;
    padding: 35px;
    border: 1px solid var(--vesper-border-color);
    border-radius: var(--vesper-border-radius-md);
}



@media (max-width: 991px) {
	.vesper-myaccount-wrapper{
		flex-direction:column;
	}
	
	.vesper-myaccount-nav,
	.vesper-myaccount-content{
		width:100%;
	}
	
}

.vesper-myaccount-nav ul{
	list-style: none;
    padding: 20px;
    margin: 0;
	border-radius: var(--vesper-border-radius-sm);
	background-color: var(--vesper-white-color);
}

.vesper-myaccount-orders-table-wrapper{
	overflow-x: auto;
	margin-bottom:20px;
}

.vesper-myaccount-orders-table{
	border: 1px solid var(--vesper-border-color);
    margin: 0;
    text-align: left;
    width: 100%;
    border-collapse: collapse;
    border-radius: var(--vesper-border-radius-sm);
}

.vesper-myaccount-orders-table tr{
	border-bottom: 1px solid var(--vesper-border-color);
}

.vesper-myaccount-orders-table thead{
	color: var(--vesper-heading-color);
	background: var(--vesper-smoke-color);
}

.vesper-myaccount-orders-table th, 
.vesper-myaccount-orders-table td{
	padding: 5px 10px;
}

.vesper-myaccount-orders-table  tr td{
	max-width: 150px;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.vesper-order-details-title{
	font-size: 32px;
    margin-bottom: 0;
}

.vesper-order-downloads-table-wrapper,
.vesper-order-details-table-wrapper{
	overflow-x: auto;
	margin-bottom:20px;
}

.vesper-order-downloads-table,
.vesper-order-details-table{
	border: 1px solid var(--vesper-border-color);
    margin: 0;
    text-align: left;
    width: 100%;
    border-collapse: collapse;
    border-radius: var(--vesper-border-radius-sm);
}

.vesper-order-downloads-table tbody tr,
.vesper-order-details-table tbody tr {
    border-bottom: 1px solid var(--vesper-border-color);
}


.vesper-order-downloads-table thead,
.vesper-order-details-table thead, 
.vesper-order-details-table tfoot {
	color: var(--vesper-heading-color);
    background: var(--vesper-smoke-color);
}

.vesper-order-details-table tfoot td,
.woocommerce-checkout-review-order-table tfoot tr td{
	color: var(--vesper-text-color);
	font-weight:bolder;
	text-align:right;
}

.woocommerce-checkout-review-order-table tfoot tr td{
	
}

.vesper-order-downloads-table thead,
.vesper-order-details-table  thead{
	background: var(--vesper-smoke-color);
}

.vesper-order-downloads-table th, 
.vesper-order-downloads-table td,
 .vesper-order-details-table th, 
.vesper-order-details-table td{
	padding: 5px 10px;
}

.vesper-order-downloads-table  tr td,
.vesper-order-details-table  tr td{
	max-width: 150px;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}


.vesper-order-details-table tr td.product-total{
	text-align:right;
}

.vesper-order-downloads-file{
	display:flex;
	gap:5px;
}

.vesper-order-downloads-icon{
	font-size:24px;
}

.vesper-order-downloads-name {
    display: block; 
    width: 125px; 
    white-space: nowrap; 
    overflow: hidden; 
    text-overflow: ellipsis; 
}

.vesper-order-again{
	display:flex;
	align-items:center;
	justify-content:space-between;
}

.woocommerce div.product form.cart .button,
.vesper-order-again-button,
.vesper-order-again-button:focus,
.vesper-order-again-button:active,
.vesper-order-again-button:visited{
	position: relative;
    display: inline-flex;
    justify-content: center;
    align-items: center;
	height:40px;
    border-radius: var(--vesper-border-radius-sm);
	padding: 12px 16px;
	font-size:16px;
	font-weight:600;
	box-shadow: none;
    text-decoration: none;
    transition: all 0.125s ease;
	line-height:1;
	cursor:pointer;
	color: var(--vesper-secondary-color);
	background: var(--vesper-primary-color);
}

.woocommerce div.product form.cart .button:hover,
.vesper-order-again-button:hover{
	text-decoration: none;
	color: var(--vesper-secondary-color);
	background: var(--vesper-primary-hover);
}

/* My Account Addresses */
.vesper-myaccount-address-title h3{
	font-size:32px;
	margin-bottom:0;
}

.vesper-myaccount-address-title{
	display:flex;
	align-items:center;
	justify-content:space-between;
}

.vesper-myaccount-addresses, .vesper-myaccount-address{
	width:100%;
}

.vesper-save-addresses{
	display: flex;
	align-items: center;
	justify-content: space-between;

}

.vesper-save-addresses-button{
	margin-bottom:0;
}

.vesper-save-myaccount-address,
.vesper-save-myaccount-details{
	position: relative;
    display: inline-flex;
    justify-content: center;
    align-items: center;
	float:right;
	height:40px;
    border-radius: var(--vesper-border-radius-sm);
	padding: 12px 16px;
	font-size:16px;
	font-weight:600;
	box-shadow: none;
    text-decoration: none;
    transition: all 0.125s ease;
	line-height:1;
	cursor:pointer;
	color: var(--vesper-secondary-color);
	background: var(--vesper-primary-color);
	border:1px solid var(--vesper-primary-color);
}

.vesper-save-myaccount-address:hover,
.vesper-save-myaccount-details:hover{
	text-decoration: none;
	color: var(--vesper-primary-color);
	background: var(--vesper-transparent-color);
	border: 1px solid var(--vesper-primary-color);
}

/* Shop Archive / Product CSS */
.vesper-product-count{
	display:flex;
	align-items:center;
	float:left;
	height:40px;
    margin: 0;
	font-size:16px;
}

.vesper-product-orderby{
	float:right;
	height:40px;
    margin: 0 0 20px 0;
}

.vesper-product-title{
	display: block;
    width: 100%;
    overflow: hidden;
    border-radius: var(--vesper-border-radius-sm) var(--vesper-border-radius-sm) 0 0;
}

.vesper-product-price{
	display: block;
	font-size:16px;
	height:20px;
}

.vesper-single-product-price{
	color:var(--vesper-heading-color);
	font-size:24px;
}

.vesper-product-price ins,
.vesper-single-product-price ins {
	text-decoration:none;
	font-weight:600;
}


.vesper-product-onsale{
    position: absolute;
    top: -15px;
    right: -20px;
    display: flex;
    align-items: center;
    justify-content: center;
	width:45px;
	height:45px;
    margin: 0;
    padding: 0;
    font-size: 12px;
    font-weight: bolder;
    line-height:1;
	text-transform:uppercase;
    border-radius: 50%;
    background-color: var(--vesper-primary-color);
    color: var(--vesper-secondary-color);
    z-index: 9;
	user-select:none;
}

@media (max-width: 991px) {
	.vesper-product-onsale{
		top: -10px;
		right: -10px;
		width:40px;
		height:40px;
	}
}

.woocommerce span.onsale{
	position: absolute;
    top: -24px;
    left: -20px;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 50px;
    height: 50px;
    margin: 0;
    padding: 0;
    font-size: 14px;
    font-weight: bolder;
    line-height:1;
	text-transform:uppercase;
    border-radius: 50%;
    background-color: var(--vesper-primary-color);
    color: var(--vesper-secondary-color);
    z-index: 9;
    user-select:none;
}

.woocommerce ul.products li.product .star-rating{
	display: block;
	position: absolute;
    float: none;
    top: 7px;
    left: 10px;
    margin: 0;
	padding:0;
	width: 5.4em;
	height: 1em;
	font-size: .857em;
    line-height: 1;
    font-family: WooCommerce;
	overflow: hidden;
}

.woocommerce .star-rating::before{
	content:"";
}

.woocommerce .star-rating span::before{
	color:var(--vesper-primary-color);
}

.woocommerce .star-rating span,
.woocommerce .star-rating::before{
	color:inherit;
}

.vesper-product-rating{
	line-height: 2;
    display: block;
	margin-bottom: 20px;
}

.vesper-product-rating .star-rating{
	margin: 8px 4px 0 0;
	float:left;
}

.vesper-product-rating a{
	text-decoration:none;
	color:var(--vesper-heading-color);
}

.woocommerce .products ul li, .woocommerce ul.products li{
	text-align:center;
}

.woocommerce ul.products li.product a{
	display:block;
	width:100%;
	overflow:hidden;
	border-radius: var(--vesper-border-radius-sm) var(--vesper-border-radius-sm) 0 0;
}

.vesper-product-title:hover h2{
	color:var(--vesper-primary-color);
	transition:color 0.125s ease;
}

.vesper-product-li a:hover img {
    transform: scale(1.1);
    transition: transform 0.325s ease;
}


.vesper-product-li a img{
	margin:0!important;
	padding:0;
}

.woocommerce div.product div.images img{
	border-radius:var(--vesper-border-radius-sm);
}

.woocommerce div.product div.images.woocommerce-product-gallery{
	margin-bottom:30px;
}

.woocommerce div.product div.images .flex-control-thumbs{
	margin:20px 0;
	border-radius:var(--vesper-border-radius-sm);
}

.woocommerce div.product div.images .flex-control-thumbs li img{
	opacity:0.3;
}

.woocommerce div.product div.images .flex-control-thumbs li img,
.woocommerce div.product div.images .flex-control-thumbs li img.flex-active, 
.woocommerce div.product div.images .flex-control-thumbs li img:hover{
	border-radius:0;
}

.woocommerce div.product form.cart .variations tr{
	display: flex;
    flex-direction: column;
}

.woocommerce div.product form.cart .variations label,
.woocommerce div.product form.cart .reset_variations{
	font-size:16px;
	font-weight:normal;
}

.woocommerce ul.products, .woocommerce-page ul.products{
	margin:0;
}

.woocommerce ul.products li.product .woocommerce-loop-product__title{
	display:flex;
	align-items:center;
	justify-content:center;
	width:100%;
	height:40px;
	margin:0;
	padding:0;
	padding-top:12px;
	font-size:16px;
	overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}




@media (max-width: 576px) {
	.woocommerce ul.products li.product, .woocommerce-page ul.products li.product{
		width:100%!important;
	}
}


.woocommerce ul.products li.product .button{
	position: relative;
    display: inline-flex;
    justify-content: center;
    align-items: center;
	width:100%;
	height:40px;
	margin-top:0px;
    border-radius: 0 0 var(--vesper-border-radius-sm) var(--vesper-border-radius-sm);
	font-size:16px;
	font-weight:600;
	box-shadow: none;
    text-decoration: none;
    transition: all 0.125s ease;
	line-height:1;
	cursor:pointer;
	color: var(--vesper-secondary-color);
	background: var(--vesper-primary-color);
}

.woocommerce ul.products li.product .button:hover{
	text-decoration: none;
	color: var(--vesper-secondary-color);
	background: var(--vesper-primary-hover);
}

.woocommerce ul.products li.product .button.loading{
	opacity:0.7;
	pointer-events:none;
	padding-right:16px;
}

.woocommerce ul.products li.product .button.loading::after{
	content:"";
	display: block;
	position: absolute;
    top: calc(50% - 10px);
    right: 16px;
	vertical-align: top;
    width: 20px;
    height: 20px;
    border: 2px solid transparent;
    border-radius: 50%;
    border-right-color: rgba(255, 255, 255, 1);
	animation: spin 1s linear infinite;
}

.woocommerce a.added_to_cart,
.woocommerce ul.products li.product .button.added::after{
	display:none!important;
}


.woocommerce div.product .woocommerce-tabs ul.tabs{
	display: flex;
    gap: 10px;
    padding: 0;
    margin: 20px 0 0 0;
}

@media (max-width: 576px) {
	.woocommerce div.product .woocommerce-tabs ul.tabs{
		flex-direction:column;
	}
}

.woocommerce div.product .woocommerce-tabs ul.tabs li{
	min-width:100px;
	height:40px;
	border:none;
	background:none;
	margin:0;
	padding:0;
	color:unset;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li.active a,
.woocommerce div.product .woocommerce-tabs ul.tabs li a:hover{
	position: relative;
    display: inline-block;
    justify-content: center;
    align-items: center;
	width:100%;
	height:40px;
    border-radius: var(--vesper-border-radius-sm);
	padding: 12px 16px;
	font-size:16px;
	font-weight:600;
	box-shadow: none;
    text-decoration: none;
    transition: all 0.125s ease;
	line-height:1;
	cursor:pointer;
	color: var(--vesper-secondary-color);
	background: var(--vesper-primary-color);
	border: 1px solid var(--vesper-primary-color);
}

.woocommerce div.product .woocommerce-tabs ul.tabs li a{
	position: relative;
    display: inline-block;
    justify-content: center;
    align-items: center;
	width:100%;
	height:40px;
    border-radius: var(--vesper-border-radius-sm);
	padding: 12px 16px;
	font-size:16px;
	font-weight:600;
	box-shadow: none;
    text-decoration: none;
    transition: all 0.125s ease;
	line-height:1;
	cursor:pointer;
	color: var(--vesper-primary-color);
	background: var(--vesper-transparent-color);
	border: 1px solid var(--vesper-primary-color);
	overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
	
}

.woocommerce div.product .woocommerce-tabs ul.tabs li::after, 
.woocommerce div.product .woocommerce-tabs ul.tabs li::before,
.woocommerce div.product .woocommerce-tabs ul.tabs::before{
	display:none!important;
}

.woocommerce div.product .woocommerce-tabs .panel{
	margin-top:16px;
}

.woocommerce div.product .woocommerce-tabs .panel h2{
	margin-bottom: 10px;
}

.woocommerce div.product .woocommerce-tabs .panel h2,
.vesper-related-products h2{
	font-size:27px;
}

.vesper-related-products{
	margin-bottom:-20px;
}

.woocommerce table.shop_attributes td{
	font-style:normal;
}

.vesper-product-comment{
	display: flex;
    align-items: center;
    justify-content: space-between;
}

@media (max-width: 576px) {
  .vesper-product-comment {
    flex-direction:column;
	align-items:flex-start;
	margin-bottom:10px;
  }
}

.woocommerce-Reviews-title span{
	background:none;
}

.woocommerce #reviews #comments ol.commentlist{
	padding:0;
}

.woocommerce #reviews #comments ol.commentlist li .comment-text,
.woocommerce #reviews #comments ol.commentlist li .comment-text p.meta{
	margin:0;
}

.woocommerce #reviews #comments ol.commentlist li .comment-text p.meta{
	color: var(--vesper-heading-color);
}

.woocommerce #review_form #respond .form-submit input{
	
}

.woocommerce #review_form #respond .form-submit input{
	position: relative;
    display: inline-flex;
    justify-content: center;
    align-items: center;
	height:40px;
    border-radius: var(--vesper-border-radius-sm);
	padding: 12px 16px;
	font-size:16px;
	font-weight:600;
	box-shadow: none;
    text-decoration: none!important;
    transition: all 0.125s ease;
	line-height:1;
	cursor:pointer;
	color: var(--vesper-secondary-color);
	background: var(--vesper-primary-color);
	border:1px solid var(--vesper-primary-color);
}

.woocommerce #review_form #respond .form-submit input:hover{
	color: var(--vesper-primary-color);
	background: transparent;
	border: 1px solid var(--vesper-primary-color);
}

.woo-quantity input[type=number]::-webkit-inner-spin-button,
.woo-quantity input[type=number]::-webkit-outer-spin-button
{
  -webkit-appearance: none;
  margin: 0;
}

.woo-quantity input[type=number]
{
  -moz-appearance: textfield;
}

.woo-quantity input{
    width: 40px;
    height: 40px;
    line-height: 1;
    display: block;
    padding: 0;
    margin: 0;
    border-radius: 0;
    border: 1px solid var(--vesper-border-color);
    color: var(--vesper-black-color);
    text-align: center;
}

.quantity-nav{
	display: flex;
	position: relative;
    height: 40px;
}

.quantity-button{
	display: flex;
    align-items: center;
    justify-content: center;
    width: 30px;
    font-size:24px;
	border: 1px solid var(--vesper-border-color);
	color: var(--vesper-text-color);
	cursor: pointer;
	-webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    -o-user-select: none;
    user-select: none;
}

.quantity-button:hover{
	background: var(--vesper-smoke-color);
	transition: background-color 0.125s ease;
}

.quantity-button.quantity-down{
	border-radius: var(--vesper-border-radius-sm) 0 0 var(--vesper-border-radius-sm);
	border-right: none;
}

.quantity-button.quantity-up{
	border-radius: 0 var(--vesper-border-radius-sm) var(--vesper-border-radius-sm) 0;
	border-left: none;
}


.woocommerce div.product form.cart .woo-quantity{
	position: relative;
    display: block;
    float: left;
    height: 40px;
    margin-right: 10px;
}

.woocommerce-grouped-product-list.group_table{
	margin-bottom:12px;
}

.woocommerce button.button.disabled{
	opacity:0.3!important;
	pointer-events:none;
}

/* Woocommerce widgets */
.vesper-sidebar .tagcloud a{
	display: inline-block;
	margin: 0 5px 10px 0;
	padding: 4px 16px;
	border: 1px solid var(--vesper-text-color);
	font-weight: 400;
	font-size: 16px!important;
	border-radius: 50px;
	text-decoration: none;
}

.vesper-sidebar .tagcloud a:hover{
	color: var(--vesper-secondary-color);
    background: var(--vesper-primary-color);
    border-color: var(--vesper-primary-color);
}

.vesper-sidebar ul.cart_list li img, 
.vesper-sidebar ul.product_list_widget li img{
	width:48px;
	border-radius: var(--vesper-border-radius-sm);
	margin: 0 12px 0 0;
	float:left;
}

.woocommerce .woocommerce-widget-layered-nav-list .woocommerce-widget-layered-nav-list__item span{
	color: var(--vesper-heading-color);
}

.woocommerce .widget_rating_filter ul li a{
	display: flex;
    align-items: center;
	color: var(--vesper-heading-color);
}

.woocommerce .widget_rating_filter ul li .star-rating{
	font-size: 18px;
    margin-bottom: 4px;
}

.woocommerce .widget_rating_filter ul li.chosen a::before,
.woocommerce .woocommerce-widget-layered-nav-list .woocommerce-widget-layered-nav-list__item--chosen a::before{
	font-size:18px;
	margin:0 10px 0 0;
	color:inherit;
}


.woocommerce .woocommerce-widget-layered-nav-list .woocommerce-widget-layered-nav-list__item{
	display: flex;
    align-items: center;
}

.woocommerce .woocommerce-widget-layered-nav-list .woocommerce-widget-layered-nav-list__item a, 
.woocommerce .woocommerce-widget-layered-nav-list .woocommerce-widget-layered-nav-list__item span{
	display: inline-flex;
    align-items: center;
    margin-right: 5px;
}


.woocommerce-widget-layered-nav-list__item a:hover + .count {
    color:  var(--vesper-primary-color);
}

.woocommerce .widget_price_filter .price_slider_wrapper .ui-widget-content{
	margin:0 0 20px 0;
	background-color: var(--vesper-smoke-color);
}

.woocommerce .widget_price_filter .ui-slider .ui-slider-handle,
.woocommerce .widget_price_filter .ui-slider .ui-slider-range{
	background-color: var(--vesper-primary-color);
}

.woocommerce .widget_price_filter .price_slider_amount{
	display: flex;
	flex-direction:column-reverse;
    align-items: center;
    justify-content: center;
    width: 100%;
    line-height:1;
    font-size: 16px;
}

.woocommerce .widget_price_filter .price_slider_amount .price_label{
	margin-bottom:5px;
}

.woocommerce .widget_shopping_cart .buttons a,
.woocommerce.widget_shopping_cart .buttons a{
	margin:0;
}

.woocommerce .widget_shopping_cart .buttons a, 
.woocommerce.widget_shopping_cart .buttons a,
.woocommerce .widget_price_filter .price_slider_amount .button{
	position: relative;
    display: inline-flex;
    justify-content: center;
    align-items: center;
	min-width:105px;
	height:40px;
	margin-top:10px;
    border-radius: var(--vesper-border-radius-sm);
	padding: 12px 16px;
	font-size:16px;
	font-weight:600;
	box-shadow: none;
    text-decoration: none;
    transition: all 0.125s ease;
	line-height:1;
	cursor:pointer;
	color: var(--vesper-secondary-color);
	background: var(--vesper-primary-color);
}

.woocommerce .widget_shopping_cart .buttons a:hover, 
.woocommerce.widget_shopping_cart .buttons a:hover{
	text-decoration: none;
	color: var(--vesper-secondary-color);
	background: var(--vesper-primary-hover);
}


.woocommerce .widget_price_filter .price_slider_amount .button:hover{
	text-decoration: none;
	color: var(--vesper-secondary-color);
	background: var(--vesper-primary-hover);
}

.woocommerce-mini-cart__buttons.buttons{
	display: flex;
	align-items:center;
    justify-content: center;
	gap:20px;
	margin-bottom:0;
}

@media (max-width: 576px) {
  .woocommerce-mini-cart__buttons.buttons {
    flex-direction: column !important;
	gap:0;
  }
}

.woocommerce .widget_shopping_cart .total, 
.woocommerce.widget_shopping_cart .total{
	display: flex;
    justify-content: space-between;
    color: var(--vesper-heading-color);
    margin: 10px 0;
    font-size: 16px;
    padding: 10px 0;
    border-top: 1px solid var(--vesper-border-color);
    border-bottom: 1px solid var(--vesper-border-color);
}

.woocommerce .widget_shopping_cart .cart_list li, 
.woocommerce.widget_shopping_cart .cart_list li{
	padding:8px 0;
}

.woocommerce .widget_shopping_cart .cart_list li a:not(.remove), 
.woocommerce.widget_shopping_cart .cart_list li a:not(.remove){ 
	height:48px;
	width: calc(100% - 30px);
	margin:0;
	overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.woocommerce .widget_shopping_cart .cart_list li .quantity,
.woocommerce.widget_shopping_cart .cart_list li .quantity{
	position:absolute;
	left:62px;
	bottom:4px;
}

.woocommerce .widget_shopping_cart .cart_list li a.remove, 
.woocommerce.widget_shopping_cart .cart_list li a.remove{
	display: flex;
    align-items: center;
    justify-content: center;
	left: unset;
    right: 0;
	top: calc(50% - 10px);
    width: 25px;
    height: 25px;
	margin:0;
    padding: 0;
    font-weight: 400;
    text-transform: none;
    font-size: 32px;
	border:2px solid var(--vesper-text-color);
    color: var(--vesper-text-color) !important;
    background: transparent;
}

.woocommerce.widget_shopping_cart .cart_list li a.remove:hover{
	color: var(--vesper-primary-color) !important;
	border:2px solid var(--vesper-primary-color);
}

.woocommerce.widget_shopping_cart .cart_list li a.remove:hover + a{
	color: var(--vesper-primary-color);
}


.woocommerce-product-search{
	position:relative;
}

.woocommerce-product-search button[type=submit]{
	position: absolute;
    top: 0;
    right: 0;
	width:90px;
    height: 50px;
    border-radius: 0 var(--vesper-border-radius-sm) var(--vesper-border-radius-sm) 0;
	font-weight:600;
	color: var(--vesper-secondary-color);
    background: var(--vesper-primary-color);
}

.woocommerce-product-search button[type=submit]:hover{
	color: var(--vesper-secondary-color);
	background:var(--vesper-primary-hover);
}

.woocommerce-product-search .search-field{
	width: 100%;
    height: 50px;
    padding: 0 100px 0 10px;
    border-radius: var(--vesper-border-radius-sm);
    border: 1px solid var(--vesper-primary-color);
    color: var(--vesper-black-color);
    background: var(--vesper-white-color);
}

.woocommerce .blockUI.blockOverlay{
	display:none;
	border-radius: var(--vesper-border-radius-sm);
	opacity:0.3!important;
	cursor:default!important;
	background:var(--vesper-primary-color)!important;
}

.woocommerce .blockUI.blockOverlay::before{
	display:none!important;
}

/* Woo Products Slider CSS */
.woo-products-slider-wrapper .section-text{
    display: flex;
    align-items: center;
    justify-content: space-between;
	margin-bottom: 20px;
}

.woo-products-slider-wrapper .section-text h2{
	margin-bottom:0;
}

@media (max-width: 480px) {
	.woo-products-slider-button{
		/*display:none;*/
	}
}

.woo-products-slider{
	margin: 0 -20px;
    padding: 0;
}

.woo-products-slider .vesper-product-li {
    margin: 20px 20px 0 20px;
    padding: 0;
    position: relative;
	text-align: center;
}

@media (max-width: 576px) {
	.woo-products-slider .vesper-product-li{
		margin: 15px 15px 0 15px;
	}
}

.woo-products-slider .vesper-product-thumbnail{
	display: block;
    width: 100%;
    overflow: hidden;
    border-radius: var(--vesper-border-radius-sm) var(--vesper-border-radius-sm) 0 0;
	text-decoration: none;
}

.woo-products-slider .vesper-product-thumbnail img {
    width: 100%;
    height: auto;
    display: block;
    margin: 0;
	padding:0;
    box-shadow: none;
}

.woo-products-slider .vesper-product-thumbnail:hover img {
    transform: scale(1.1);
    transition: transform 0.325s ease;
}

.woo-products-slider .vesper-product-title{
	text-decoration:none;
}

.woo-products-slider .vesper-product-title h2{
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 40px;
	margin: 0;
	padding: 0;
	padding-top:12px;
	font-size: 16px;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.woo-products-slider .vesper-product-title:hover h2{
	color:var(--vesper-primary-color);
	transition:color 0.125s ease;
}


.woo-products-slider .star-rating{
	display: block;
	position: absolute;
    float: none;
    top: 7px;
    left: 10px;
    margin: 0;
	padding:0;
	width: 5.4em;
	height: 1em;
	font-size: .857em;
    line-height: 1;
    font-family: WooCommerce;
	overflow: hidden;
}

.woo-products-slider .star-rating::before {
    content: "";
    color: inherit;
    float: left;
    top: 0;
    left: 0;
    position: absolute;
}

.woo-products-slider .star-rating span {
    overflow: hidden;
    float: left;
    top: 0;
    left: 0;
	margin:0;
	padding:0;
    position: absolute;
    padding-top: 1.5em;
}

.woo-products-slider .star-rating span::before {
    content: "SSSSS";
    top: 0;
    position: absolute;
    left: 0;
	color: var(--vesper-primary-color);
}

.woo-products-slider .added_to_cart{
	display:none;
}

.woo-products-slider .vesper-product-add-to-cart {
	position: relative;
    display: inline-flex;
    justify-content: center;
    align-items: center;
	width:100%;
	height:40px;
	margin-top:0px;
    border-radius: 0 0 var(--vesper-border-radius-sm) var(--vesper-border-radius-sm);
	font-size:16px;
	font-weight:600;
	box-shadow: none;
    text-decoration: none;
    transition: all 0.125s ease;
	line-height:1;
	cursor:pointer;
	color: var(--vesper-secondary-color);
	background: var(--vesper-primary-color);
}

.woo-products-slider .vesper-product-add-to-cart:hover{
	text-decoration: none;
	color: var(--vesper-secondary-color);
	background: var(--vesper-primary-hover);
}

.woo-products-slider .vesper-product-add-to-cart.loading{
	opacity: 0.7;
    pointer-events: none;
}

.woo-products-slider .vesper-product-add-to-cart.loading::after{
	content:"";
	display: block;
	position: absolute;
    top: calc(50% - 10px);
    right: 16px;
	vertical-align: top;
    width: 20px;
    height: 20px;
    border: 2px solid transparent;
    border-radius: 50%;
    border-right-color: rgba(255, 255, 255, 1);
	animation: spin 1s linear infinite;
}

.woo-products-slider.hide-info .vesper-product-title,
.woo-products-slider.hide-info .vesper-product-price{
	display:none;
}

.woo-products-slider.out_of_stock .vesper-product-add-to-cart,
.woo-products-slider.out_of_stock .vesper-product-price{
	display:none;
}

.woo-products-slider.out_of_stock .vesper-product-thumbnail{
	border-radius: var(--vesper-border-radius-sm);
}

.woo-products-slider .slick-prev,
.woo-products-slider .slick-next{
    top: calc(50% - 20px);
    width: 30px;
    height: 30px;
    background: var(--vesper-primary-color);
	z-index: 1;
}

.woo-products-slider.hide-info .slick-prev,
.woo-products-slider.hide-info .slick-next{
	top: 50%;
}

.woo-products-slider .slick-prev{
	left:5px;
}
.woo-products-slider .slick-next{
	right:5px;
}

@media (max-width: 576px) {
	.woo-products-slider .slick-prev{
		left:0;
	}
	.woo-products-slider .slick-next{
		right:0;
	}
}

.woo-products-slider .slick-arrow:before{
	display: flex;
    height: 100%;
    width: 100%;
    justify-content: center;
    align-items: center;
    padding-bottom: 4px;
	color:var(--vesper-secondary-color);
	font-size:16px;
}

/* Woo Shop Archive CSS */
.woo-shop-archive-wrapper .section-text{
    display: flex;
    align-items: center;
    justify-content: space-between;
	margin-bottom: 20px;
}

.woo-shop-archive-wrapper .section-text h2{
	margin-bottom:0;
}

@media (max-width: 480px) {
	.woo-shop-archive-button{
		/*display:none;*/
	}
}

.woo-shop-archive{
	margin: 0 -20px;
    padding: 0;
	display:table;
}

.woo-shop-archive .vesper-product-li {
    margin: 20px;
    padding: 0;
    position: relative;
	text-align: center;
	list-style:none;
	float:left;
	width: calc(25% - 40px);
}

.vesper-load-more:hover{
	opacity:0.7;
}

.vesper-load-more i {
	display:flex;
	align-items:center;
	justify-content:center;
	width:100%;
	padding:37% 0;
    font-size: 72px;
    font-weight: 400;
    color: var(--vesper-heading-color);
	border-radius:var(--vesper-border-radius-sm);
	cursor:pointer;
	
}

.vesper-load-more span{
	display:flex;
	align-items:center;
	justify-content:center;
	width:100%;
	padding:50%;
	font-size:20px;
	font-weight:bold;
}

.vesper-load-more.vesper-loading-more{
	pointer-events:none;
	opacity:0.7;
}

@media (max-width: 767px) {
	.woo-shop-archive .vesper-product-li{
		width: calc(50% - 40px);
	}
	
	.vesper-load-more i{
		font-size:64px;
	}
}

@media (max-width: 576px) {
	
	.woo-shop-archive .vesper-product-li{
		width: calc(100% - 40px);
	}
	
	.woo-shop-archive .vesper-product-li{
		margin: 15px 15px 0 15px;
	}
	

	.vesper-load-more i{
		font-size:48px;
	}
	
	.vesper-load-more i,
	.vesper-load-more span{
		padding: 0px;
        height: 150px;
	} 
	
}

.woo-shop-archive .vesper-product-thumbnail{
	display: block;
    width: 100%;
    overflow: hidden;
    border-radius: var(--vesper-border-radius-sm) var(--vesper-border-radius-sm) 0 0;
	text-decoration: none;
}

.woo-shop-archive .vesper-product-thumbnail img {
    width: 100%;
    height: auto;
    display: block;
    margin: 0;
	padding:0;
    box-shadow: none;
}

.woo-shop-archive .vesper-product-thumbnail:hover img {
    transform: scale(1.1);
    transition: transform 0.325s ease;
}

.woo-shop-archive .vesper-product-title{
	text-decoration:none;
}

.woo-shop-archive .vesper-product-title h2{
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 40px;
	margin: 0;
	padding: 0;
	padding-top:12px;
	font-size: 16px;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.woo-shop-archive .vesper-product-title:hover h2{
	color:var(--vesper-primary-color);
	transition:color 0.125s ease;
}


.woo-shop-archive .star-rating{
	display: block;
	position: absolute;
    float: none;
    top: 7px;
    left: 10px;
    margin: 0;
	padding:0;
	width: 5.4em;
	height: 1em;
	font-size: .857em;
    line-height: 1;
    font-family: WooCommerce;
	overflow: hidden;
}

.woo-shop-archive .star-rating::before {
    content: "";
    color: inherit;
    float: left;
    top: 0;
    left: 0;
    position: absolute;
}

.woo-shop-archive .star-rating span {
    overflow: hidden;
    float: left;
    top: 0;
    left: 0;
	margin:0;
	padding:0;
    position: absolute;
    padding-top: 1.5em;
}

.woo-shop-archive .star-rating span::before {
    content: "SSSSS";
    top: 0;
    position: absolute;
    left: 0;
	color: var(--vesper-primary-color);
}

.woo-shop-archive .added_to_cart{
	display:none;
}

.woo-shop-archive .vesper-product-add-to-cart {
	position: relative;
    display: inline-flex;
    justify-content: center;
    align-items: center;
	width:100%;
	height:40px;
	margin-top:0px;
    border-radius: 0 0 var(--vesper-border-radius-sm) var(--vesper-border-radius-sm);
	font-size:16px;
	font-weight:600;
	box-shadow: none;
    text-decoration: none;
    transition: all 0.125s ease;
	line-height:1;
	cursor:pointer;
	color: var(--vesper-secondary-color);
	background: var(--vesper-primary-color);
}

.woo-shop-archive .vesper-product-add-to-cart:hover{
	text-decoration: none;
	color: var(--vesper-secondary-color);
	background: var(--vesper-primary-hover);
}

.woo-shop-archive .vesper-product-add-to-cart.loading{
	opacity: 0.7;
    pointer-events: none;
}

.woo-shop-archive .vesper-product-add-to-cart.loading::after{
	content:"";
	display: block;
	position: absolute;
    top: calc(50% - 10px);
    right: 16px;
	vertical-align: top;
    width: 20px;
    height: 20px;
    border: 2px solid transparent;
    border-radius: 50%;
    border-right-color: rgba(255, 255, 255, 1);
	animation: spin 1s linear infinite;
}

.woo-shop-archive.hide-info .vesper-product-title,
.woo-shop-archive.hide-info .vesper-product-price{
	display:none;
}