
/* Shoptimizer Elementor Pro Styling */
.site .elementor-products-grid ul.products.elementor-grid li.product {
	padding-left: 15px;
	padding-right: 15px;
	padding-bottom: 40px;
}

.page-template-elementor_header_footer .site-content:after {
	display: none;
}

.col-full.topbar-wrapper {
	border: none;
}

@media (min-width: 992px) {
	.col-full.main-header, .col-full-nav {
		padding-top: 0px;
		padding-bottom: 0px;
	}
}

@media (max-width: 992px) {
	.main-header, .site-branding {
		height: 0px;
	}
}

@media (min-width: 993px) {
	.elementor-products-grid ul.products {
		width: auto;
	}
	
	.elementor-element.elementor-products-grid ul.products li.product {
		width: 100%;
	}
	
	.elementor-element.elementor-products-grid ul.products li.product.ckit-hide-cta:not(.product-category) {
		padding-bottom: 0;
		margin-bottom: 30px;
	}
}

@media (max-width: 992px) {
	.elementor-element.elementor-products-grid ul.products {
		width: 100%;
	}
	
	.theme-shoptimizer.m-grid-2 .elementor-products-grid .commercekit-wishlist.mini {
		top: 15px;
		right: 30px;
	}
	
	.m-grid-2 ul.products.elementor-grid {
		padding: 0;
	}
	
	/* If using a custom Elementor Pro header, ensure that the mobile "show filters" button and the sticky tabs don't have a gap */
	body:has(div[data-elementor-type=header]) .mobile-filter, body:has(div[data-elementor-type=header]) .commercekit-atc-sticky-tabs {
		top: -1px;
	}
}

/* PLP */
@media (min-width: 993px) {
	.products.elementor-grid {
		display: grid;
	}
	
	.products.elementor-grid.columns-4 {
		grid-template-columns: repeat(4, 1fr);
	}
	
	.products.elementor-grid.columns-3 {
		grid-template-columns: repeat(3, 1fr);
	}
	
	.products.elementor-grid.columns-2 {
		grid-template-columns: repeat(2, 1fr);
	}
}

.elementor-element.elementor-products-grid ul.products li.product {
	width: 100%;
}

ul.products.elementor-grid {
	margin-left: 0;
}

body.static-cta-buttons ul.products.elementor-grid li.product:not(.product-category) {
	margin-bottom: 0px;
}

body.static-cta-buttons ul.products.elementor-grid li.product .button {
	position: relative;
}

/* Elementor Pro PDP */
.single-product .product .elementor-widget-woocommerce-product-price .price {
	float: none;
}

.single-product .elementor-add-to-cart .cart .single_add_to_cart_button {
	float: none;
	width: inherit;
	height: inherit;
	line-height: inherit;
}

/* Prevent next/prev buttons flash on transition */
.single-product .swiper-slide {
	will-change: revert;
}

@media (max-width: 991px) {
	.m-grid-1 .elementor-grid-tablet-2 .elementor-grid, .m-grid-2 .elementor-grid-tablet-2 .elementor-grid {
		grid-template-columns: repeat(2, 1fr);
	}
	
	.m-grid-1 .elementor-grid-tablet-3 .elementor-grid, .m-grid-2 .elementor-grid-tablet-3 .elementor-grid {
		grid-template-columns: repeat(3, 1fr);
	}
}

@media (max-width: 768px) {
	.m-grid-1 .elementor-grid-mobile-1 .elementor-grid, .m-grid-2 .elementor-grid-mobile-1 .elementor-grid {
		grid-template-columns: repeat(1, 1fr);
	}
	
	.m-grid-1 .elementor-grid-mobile-2 .elementor-grid, .m-grid-2 .elementor-grid-mobile-2 .elementor-grid {
		grid-template-columns: repeat(2, 1fr);
	}
}

/* Cart */
.e-cart__container .woocommerce-cart-form, .e-cart__container .cart-collaterals {
	float: none;
	width: 100%;
}

.e-cart__container .cart_totals .shop_table {
	background-color: transparent;
}

.e-cart__container .cart_totals .shop_table tr.shipping td, .e-cart__container .cart_totals .shop_table tr.shipping th {
	width: 100%;
	display: table-cell;
}

.e-cart__container .cart_totals .shop_table td, .e-cart__container .cart_totals .shop_table th {
	padding: 0;
}

.elementor-widget-woocommerce-cart .woocommerce .e-cart__container .input-text.qty {
	border: none;
	text-align: center;
}

.e-cart__container table.cart td.actions input, .e-cart__container table.cart td.actions button {
	height: inherit;
	line-height: initial;
}

.elementor-widget-woocommerce-cart .woocommerce .cart_totals .form-row, .e-cart__container .form-row label {
	text-align: left;
}

.elementor-widget-woocommerce-cart .woocommerce .e-cart__container .input-text {
	height: inherit;
}

.elementor-widget-woocommerce-cart .woocommerce table.shop_table .product-remove a {
	text-indent: 0;
}

.e-cart__container select {
	line-height: initial;
	height: auto;
}

@media (min-width: 993px) {
	.e-checkout__container .col2-set, .e-checkout__container #customer_details + #wc_checkout_add_ons, .e-checkout__container #order_review, .e-checkout__container #order_review_heading {
		float: none;
		width: 100%;
		margin-right: 0;
	}
}

@media (max-width: 768px) {
	.m-cart .e-cart__container table.cart td.product-thumbnail {
		position: relative;
		min-height: auto;
		margin: 0;
	}
	
	.m-cart .e-cart__container table.cart td:before {
		font-size: unset;
	}
	
	.elementor-widget-woocommerce-cart .woocommerce table.cart tr {
		padding: 0;
	}
}

.e-checkout__container #ship-to-different-address {
	padding: 0;
	border: none;
}

.e-checkout__container .woocommerce-checkout-review-order-table tr.shipping td, .e-checkout__container .woocommerce-checkout-review-order-table tr.shipping th {
	width: 100%;
	display: table-cell;
	text-align: inherit;
}

.e-checkout__container .woocommerce-checkout-review-order-table tr.shipping td {
	text-align: right;
}

.elementor-widget-woocommerce-checkout-page .woocommerce .e-coupon-box .form-row .input-text {
	height: inherit;
}

.woocommerce-js form .e-checkout__container .form-row {
	padding: 3px;
	margin: 0 0 6px;
}

.e-checkout__container ul#shipping_method li span.amount {
	float: none;
}

.e-checkout__container #order_review .shop_table tr.shipping th {
	border: none;
}

.e-checkout__container .woocommerce-checkout-review-order-table tfoot td, .e-checkout__container .woocommerce-checkout-review-order-table tfoot th {
	background-color: transparent;
	padding: 0;
}

.e-checkout__container #payment .payment_methods {
	border: none;
	border-radius: 0;
}

.e-checkout__container #payment .payment_methods > .wc_payment_method > label, .e-checkout__container #payment .payment_methods > .woocommerce-PaymentMethod > label {
	padding: 0;
}

.e-checkout__container #payment .payment_methods li .payment_box {
	padding: 1em;
	margin: 1em 0;
}

.e-checkout__container #payment .place-order {
	margin-top: 0;
}

.e-checkout__container #payment .payment_methods p {
	padding: 0;
}

.e-checkout__container .commercekit-order-bump-wrap {
	width: 100%;
	contain: inline-size;
}

/* -- WooCommerce Subscriptions -- */
.product-subtotal span.subscription-price {
	line-height: 1.5em;
	display: inline-block;
	min-width: 110px;
	padding-left: 15px;
}

td.product-subtotal span.subscription-price {
	max-width: 150px;
}

.product-price span.subscription-details {
	display: block;
	font-size: 12px;
	min-width: 135px;
	margin-top: -4px;
}

.first-payment-date {
	line-height: 1.1em;
}

.woocommerce-view-subscription table th, .woocommerce-view-subscription table td {
	padding-left: 0px;
	padding-bottom: 0px;
}

/* -- Germanized Plugin Styling -- */
li.product p.wc-gzd-rating-authenticity-status {
	margin-bottom: 5px;
}

li.product p.wc-gzd-additional-info {
	font-size: 12px;
	margin-top: 0;
	margin-bottom: 0;
}

li.product p.wc-gzd-additional-info:last-of-type {
	margin-bottom: 15px;
}

.products .wc-gzd-additional-info {
	position: relative;
	z-index: 10;
}

.wc-gzd-additional-info a, .entry-content .wc-gzd-additional-info a {
	text-decoration: underline;
}

.widget_shopping_cart.widget .wc-gzd-cart-info.wc-gzd-item-desc h2 {
	font-size: 12px;
	letter-spacing: 0;
	margin: 0;
}

.widget_shopping_cart.widget p.total.total-cart-tax.wc-gzd-total-mini-cart {
	border: none;
	padding-top: 0px;
	font-weight: normal;
	font-size: 13px;
	margin-bottom: 1em;
}

.widget_shopping_cart.widget p.total.wc-gzd-total-mini-cart {
	font-size: 14px;
	text-align: center;
}

.widget_shopping_cart.widget p.total.wc-gzd-total-mini-cart a {
	color: #111;
}

.site-main .cart_totals p.wc-gzd-additional-info {
	display: block;
	width: auto;
	padding-top: 0;
	border: none;
	text-align: center;
}

.entry-content .wc-gzd-additional-wrapper p {
	font-size: 14px;
	text-align: center;
}

.entry-content .product p.wc-gzd-additional-info {
	margin: 0;
	font-size: .8em;
}

.entry-content .product p.wc-gzd-additional-info:last-of-type {
	margin-bottom: 1rem;
}

.wc-gzd-product-name-left img {
	margin-right: 15px;
	max-width: 50px;
}

.site-main .wc-gzd-product-name-left, .site-main .wc-gzd-product-name-right {
	display: table-cell;
	float: none;
	vertical-align: middle;
}

.wc-gzd-checkbox-placeholder-legal {
	margin-top: 10px;
}

#order_review .wc-gzd-checkbox-placeholder p.form-row label {
	position: relative;
}

.wc-gzd-checkbox-placeholder-legal input.input-checkbox {
	position: absolute;
	margin-top: 3px;
}

.wc-gzd-checkbox-placeholder-legal .woocommerce-gzd-legal-checkbox-text {
	display: block;
	padding-left: 30px;
}

.woocommerce-checkout-review-order-table .wc-gzd-cart-item-thumbnail, .woocommerce-checkout-review-order-table .wc-gzd-cart-info {
	display: none;
}

@media (min-width: 993px) {
	#order_review_heading.wc-gzd-heading-moved {
		float: none;
		width: 100%;
	}
}
