/*
Modal
========
*/
dialog.shoptimizer-modal::backdrop {
  background: rgba(0, 0, 0, 0.4);
  animation: 0.2s shoptimizermodal-fadein;
}
body:has(dialog.shoptimizer-modal[open]) {
    overflow: hidden;
}
dialog.shoptimizer-modal {
  display: flex;
  flex-direction: column;
  max-inline-size: min(80vw, 60ch);
  max-block-size: min(80vh, 100%);
  max-block-size: min(80dvb, 100%);
  border: none;
  padding: 0;
  background-color: transparent;
  border-radius: 0.75rem;
  overflow: visible;
}
dialog.shoptimizer-modal .shoptimizer-modal--container {
  padding: 1.8rem;
  border-radius: 0.75rem;
  background-color: #fff;
  overflow-x: hidden;
  overflow-y: auto;
}
dialog.shoptimizer-modal[data-shoptimizermodal-padding="none"] .shoptimizer-modal--container {
  padding: 0;
}
dialog.shoptimizer-modal:not([open]) {
  pointer-events: none;
  opacity: 0;
  display: none;
}
/* -- Close Button -- */
dialog.shoptimizer-modal form[method="dialog"] {
	position: absolute;
	z-index: 1;
 	right: 20px;
	top: -10px;
}
dialog.shoptimizer-modal form[method="dialog"] button {
  position: fixed;
}
dialog.shoptimizer-modal form[method="dialog"] button span {
  color: #fff;
}
dialog.shoptimizer-modal .shoptimizer-modal--button_close {
  border-radius: 99%;
}
dialog.shoptimizer-modal .widget {
	margin: 0;
}
.shoptimizer-modal--button_close {
  border: none;
  padding: 0;
  width: 30px;
  height: 30px;
  background: #fff;
  border: 1.5px solid transparent;
  border-color: #444;
  align-items: center;
  justify-content: center;
  display: inline-flex;
}
.shoptimizer-modal--button_close svg {
  width: 16px;
  height: 16px;
  stroke: #444;
  transition: stroke 0.2s;
  cursor: pointer;
  stroke-width: 2.5;
}
.theme-shoptimizer .shoptimizer-modal .shoptimizer-modal--button_close:focus {
	outline: none;
}
.theme-shoptimizer.keyboard-active .shoptimizer-modal .shoptimizer-modal--button_close:focus-visible {
	outline: 0.2rem solid #2491ff;
	outline-offset: 0;
	border-color: transparent;
	box-shadow: none;
}
/* -- Animation -- */
dialog.shoptimizer-modal[open] {
  animation: shoptimizermodal-slideup-fadein ease 0.35s;
}
@keyframes shoptimizermodal-fadein {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes shoptimizermodal-slideup-fadein {
  0% {
      opacity:0;
      transform:  translate(0px,40px)  ;
  }
  100% {
      opacity:1;
      transform:  translate(0px,0px)  ;
  }
}
/* -- Responsive -- */
@media only screen and (max-width: 600px) {
  dialog[data-shoptimizermodal-size].shoptimizer-modal,
  dialog[data-shoptimizermodal-position].shoptimizer-modal {
    margin: auto 0 0 0;
    min-inline-size: 100%;
    max-inline-size: 100%;
  }
}
/* -- RTL -- */
.rtl dialog.shoptimizer-modal[data-shoptimizermodal-id="callBack"] form[method="dialog"] {
	left: 20px;
	right: auto;
}
/* -- Call Back -- */
.call-back-feature {
	transition: all 0.2s linear;
}
@media (min-width: 993px) {
	.call-back-feature {
		position: fixed;
		z-index: 5;
		right: 30px;
		bottom: 30px;
	}
	.call-back-feature:hover {
		transform: scale(1.03);
	}
	.sticky-b .call-back-feature {
		bottom: 85px;
	}
}
@media (min-width: 771px) and (max-width: 992px ) {
	.call-back-feature {
		display: none;
	}
}
@media (max-width: 770px) {
	.call-back-feature {
		position: inherit;
		width: 100%;
		margin-top: 1rem;
	}
	.call-back-feature button {
		width: 100%;
	}
	dialog.shoptimizer-modal[data-shoptimizermodal-id="callBack"] {
		max-inline-size: 100%;
		top: auto;
		width: calc(100% - 30px);
        margin: 15px;
	}
}
.woocommerce-demo-store .call-back-feature {
	bottom: 90px;
}
.callback-product_content {
	gap: 3px;
    display: flex;
    flex-direction: column;
}
.call-back-feature button {
	padding: 0.8em 1.3em;
	border-radius: 5px;
	color: #fff;
	background-color: #dc9814;
	font-size: 12.5px;
	font-weight: 600;
	line-height: 1.2;
	cursor: pointer;
}
.callback-product_wrapper {
	display: flex;
	align-items: center;
	margin: -30px -30px 20px -30px;
	padding: 20px 30px;
	border-bottom: 1px solid #e2e2e2;
	background: linear-gradient(180deg, rgba(255,255,255,0) 0%, rgba(240,240,240,0.5) 100%);
}
dialog.shoptimizer-modal[data-shoptimizermodal-id="callBack"] .wpforms-confirmation-container-full {
	font-size: 14px;
	padding: 10px 15px;
	margin: 0;
}
.callback-product_wrapper img {
	max-width: 70px;
	margin-right: 20px;
}
.callback-product_title {
	font-size: 14px;
	font-weight: 600;
	line-height: 1.5;
}
.callback-product_rating {
	font-size: 14px;
}
.callback-product_price {
	font-size: 13px;
}
.callback-product_price del {
	opacity: 0.5;
	font-size: 0.9em;
    margin-right: 3px;
}
/* -- Header Search -- */
dialog.shoptimizer-modal[data-shoptimizermodal-id="searchToggle"] {
	margin: 0;
	max-inline-size: 100%;
	z-index: 1000;
	display: block;
	bottom: 0;
    left: 0;
    position: fixed;
    right: 0;
    top: 0;
    transition: opacity .4s;
    z-index: 100000;
    height: 100%;
}
dialog.shoptimizer-modal[data-shoptimizermodal-id="searchToggle"] .shoptimizer-modal--container {
	padding: 0;
}
.admin-bar dialog.shoptimizer-modal[data-shoptimizermodal-id="searchToggle"] .shoptimizer-modal--container {
	padding-top: 32px;
}
dialog.shoptimizer-modal[data-shoptimizermodal-id="searchToggle"] .shoptimizer-modal--content {
	position: relative;
	padding-left: 1.8rem;
	padding-right: 1.8rem;
	max-width: 700px;
	margin: 0 auto;
}
dialog.shoptimizer-modal[data-shoptimizermodal-id="searchToggle"] form[method="dialog"] {
	position: relative;
	top: auto;
	right: auto;
	display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 1.35rem;
    font-weight: 600;
    border-bottom: 1px solid #e2e2e2;
    padding: 0.85rem 1.8rem;
    margin-bottom: 2rem;
}
dialog.shoptimizer-modal[data-shoptimizermodal-id="searchToggle"] form[method="dialog"] button {
	position: relative;
	height: 2rem;
    width: 2rem;
    border: none;
    border-radius: 0;
}
dialog.shoptimizer-modal[data-shoptimizermodal-id="searchToggle"] .shoptimizer-modal--button_close svg {
	height: 2rem;
    width: 2rem;
	stroke-width: 1.5px;
}
@media (max-width: 992px) {
	dialog.shoptimizer-modal[data-shoptimizermodal-id="searchToggle"] {
		display: none;
	}
}
dialog.shoptimizer-modal[data-shoptimizermodal-id="searchToggle"] .shoptimizer-modal--container {
	overflow: visible;
	width: 100vw;
	height: 100vh;
	border-radius: 0;
}
@media (min-width: 993px) {
    .header-4 dialog .site-search {
        display: block;
    }
}/*
Blocks
========
*/
body .is-layout-constrained > .alignwide {
    max-width: var(--wp--style--global--wide-size);
}
.has-text-align-center {
	text-align: center;
}
/* -- Shop -- */
.site .wc-block-grid__products {
	display: grid;
	gap: 30px;
	margin: 0;
}
.has-1-columns .wc-block-grid__products {
	grid-template-columns: repeat(1, 1fr);
}
.has-2-columns .wc-block-grid__products {
	grid-template-columns: repeat(2, 1fr);
}
.has-3-columns .wc-block-grid__products {
	grid-template-columns: repeat(3, 1fr);
}
.has-4-columns .wc-block-grid__products {
	grid-template-columns: repeat(4, 1fr);
}
.has-5-columns .wc-block-grid__products {
	grid-template-columns: repeat(5, 1fr);
}
.has-6-columns .wc-block-grid__products {
	grid-template-columns: repeat(6, 1fr);
}
@media (max-width: 1099px) {
	.has-2-columns .wc-block-grid__products,
	.has-3-columns .wc-block-grid__products,
	.has-4-columns .wc-block-grid__products,
	.has-5-columns .wc-block-grid__products,
	.has-6-columns .wc-block-grid__products {
	   grid-template-columns: repeat(2, 1fr);
	}
}
@media (min-width: 481px) and (max-width: 600px) {
	.site .wc-block-grid.has-1-columns .wc-block-grid__product:nth-child(odd),
	.site .wc-block-grid.has-1-columns .wc-block-grid__product:nth-child(2n),
	.site .wc-block-grid.has-2-columns .wc-block-grid__product:nth-child(odd),
	.site .wc-block-grid.has-2-columns .wc-block-grid__product:nth-child(2n),
	.site .wc-block-grid.has-3-columns .wc-block-grid__product:nth-child(odd),
	.site .wc-block-grid.has-3-columns .wc-block-grid__product:nth-child(2n),
	.site .wc-block-grid.has-4-columns .wc-block-grid__product:nth-child(odd),
	.site .wc-block-grid.has-4-columns .wc-block-grid__product:nth-child(2n),
	.site .wc-block-grid.has-5-columns .wc-block-grid__product:nth-child(odd),
	.site .wc-block-grid.has-5-columns .wc-block-grid__product:nth-child(2n),
	.site .wc-block-grid.has-6-columns .wc-block-grid__product:nth-child(odd),
	.site .wc-block-grid.has-6-columns .wc-block-grid__product:nth-child(2n) {
	    padding-left: 0;
	    padding-right: 0;
	}
	.wc-block-grid.has-1-columns .wc-block-grid__product,
	.wc-block-grid.has-2-columns .wc-block-grid__product,
	.wc-block-grid.has-3-columns .wc-block-grid__product,
	.wc-block-grid.has-4-columns .wc-block-grid__product,
	.wc-block-grid.has-5-columns .wc-block-grid__product,
	.wc-block-grid.has-6-columns .wc-block-grid__product {
		padding-bottom: 40px;
		margin: 0;
	}
}
.site .wc-block-grid.has-1-columns .wc-block-grid__product,
.site .wc-block-grid.has-2-columns .wc-block-grid__product,
.site .wc-block-grid.has-3-columns .wc-block-grid__product,
.site .wc-block-grid.has-4-columns .wc-block-grid__product,
.site .wc-block-grid.has-5-columns .wc-block-grid__product,
.site .wc-block-grid.has-6-columns .wc-block-grid__product {
	flex: 100%;
    max-width: 100%;
}
.site .wc-block-grid__product {
	position: relative;
	display: flex;
    flex-direction: column;
    text-align: left;
    margin: 0;
    border: none;
    padding-bottom: 50px;
    transition: all 0.2s;
}
@media (min-width: 993px) {
	.wc-block-grid__product:before {
	    visibility: hidden;
	    position: absolute;
	    left: 0;
	    opacity: 0;
	    background-color: #fff;
	    box-shadow: 0 0 10px rgb(0 0 0 / 10%);
	    content: "";
	    transition: all .2s;
	    width: calc(100% + 30px);
	    height: calc(100% + 30px);
	    margin-top: -15px;
	    margin-left: -15px;
	}
	.wc-block-grid__product:hover:before {
	    visibility: visible;
	    opacity: 1;
	    transition: all .2s;
	}
	.wc-block-grid__product * {
		position: relative;
	}	
	.wc-block-grid__product .wc-block-grid__product-image {
		position: relative;
	    transition: all 0.2s ease-in-out;
	}
	.wc-block-grid__product:hover .wc-block-grid__product-image {
	    transform: scale(0.982);
	}
}
.site .wc-block-grid .wc-block-grid__product .wc-block-grid__product-add-to-cart,
.site .wc-block-grid .wc-block-grid__product .wc-block-grid__product-onsale,
.site .wc-block-grid .wc-block-grid__product .wc-block-grid__product-price,
.site .wc-block-grid .wc-block-grid__product .wc-block-grid__product-rating {
	margin: 0;
}
.wc-block-grid__products .wc-block-grid__product-image img {
	width: 100%;
}
.wc-block-grid__product-link {
	color: #2c2d33;
}
.site .wc-block-grid__product .wc-block-grid__product-title {
	font-size: 15px;
	letter-spacing: 0;
	margin-bottom: 4px;
}
.wc-block-grid .wc-block-grid__product .wc-block-grid__product-price {
	color: #43454b;
	font-size: 14px;
	margin-bottom: 0.75em;
	order: 2;
	margin-bottom: 0;
}
.wc-block-grid__product .wc-block-grid__product-onsale {
	position: absolute;
	top: 10px;
    left: 10px;
    min-width: inherit;
    min-height: inherit;
    font-size: 11px;
    font-weight: normal;
    border-radius: 3px;
    padding: 3px 9px;
    opacity: 0.8;
    line-height: 15px;
    border: none;
    text-transform: none;
    pointer-events: none;
}
.wc-block-grid__product .wc-block-grid__product-rating {
	order: 1;
	margin: 0;
	margin-bottom: 4px;
}
.wc-block-grid__product .star-rating {
    height: 1.118em;
    position: relative;
    width: 5.6em;
    margin: 0 0 2px 0;
    font-size: 12px;
}
.wc-block-grid__product-add-to-cart {
	order: 3;
}
.wc-block-grid__product-add-to-cart.wp-block-button {
	position: absolute;
	z-index: 1;
	bottom: 0;
	opacity: 0;
	width: 100%;
}
.wc-block-grid__product-add-to-cart.wp-block-button a.wp-block-button__link,
.wc-block-grid__product-add-to-cart.wp-block-button .wc-block-components-product-button__button {
	display: block;
	width: 100%;
	height: 40px;
	padding: 0;
	border-radius: 4px;
	font-size: 14px;
	font-weight: 600;
	line-height: 40px;
	text-align: center;
	transition: all 0.1s;
}
.wc-block-grid__product:hover .wc-block-grid__product-add-to-cart.wp-block-button {
	opacity: 1;
}
hr.wp-block-separator {
	height: inherit;
	border-bottom: none;
}
.wp-block-cover p {
	margin: 0;
}
.wp-block-cover img {
	display: block;
}
.wp-block-columns p a,
.wp-block-columns p a:hover {
	text-decoration: underline;
    text-decoration-thickness: 0.5px;
    text-underline-offset: 0.16em;
}
.content-area hr.wp-block-separator {
	height: 1px;
}
.woocommerce-tabs .wp-block-image {
	margin: 0 0 1.5em;
}
.woocommerce-tabs .wp-block-image.aligncenter {
	margin-left: auto;
	margin-right: auto;
}
@media (max-width: 992px) {
	.woocommerce-tabs .wp-block-image {
		margin-bottom: 1rem;
	}
}
.wp-block-pullquote {
  padding: 0;
  text-align: left;
}
@media (max-width: 992px) {
	.wc-block-grid__products {
		gap: 20px;
	}
	.site .wc-block-grid__product.wc-block-grid__product {
		padding-bottom: 55px;
		box-shadow: 0 0 10px rgb(0 0 0 / 10%);
	}
	.wc-block-grid__product-add-to-cart.wp-block-button {
		opacity: 1;
	}
	.wc-block-grid__product .wc-block-grid__product-title,
	.wc-block-grid .wc-block-grid__product .wc-block-grid__product-price,
	.wc-block-grid__product .wc-block-grid__product-rating,
	.wc-block-grid__product-add-to-cart.wp-block-button {
		padding-left: 15px;
		padding-right: 15px;
	}
	.wc-block-grid .wc-block-grid__product .wc-block-grid__product-add-to-cart {
		margin-bottom: 15px;
	}
}
@media (min-width: 993px) {
	.page-template-template-fullwidth .site-main .alignwide,
	.page-template-template-fullwidth-no-heading .site-main .alignwide {
	    margin-left: calc(25% - 25vw);
	    margin-right: calc(25% - 25vw);
	    width: auto;
    	max-width: 1000%;
    	clear: both;
	}
	.page-template-template-fullwidth .site-main .alignfull,
	.page-template-template-fullwidth-no-heading .site-main .alignfull {
    	margin-left: calc(50% - 50vw);
    	margin-right: calc(50% - 50vw);
    	width: auto;
	}
}
/* -- Notice -- */
.woocommerce:has(.wc-block-components-notice-banner) {
	padding-bottom: 30px;
}
.wc-block-components-notice-banner__content .buttons-wrapper {
	margin-top: 10px;
}
/* -- Cart and Checkout -- */
.is-large.wc-block-cart,
.wp-block-woocommerce-checkout.wc-block-checkout {
	margin-top: 2em;
}
.is-large.wc-block-cart .wc-block-cart-items td.wc-block-cart-item__total:last-child {
    padding-right: 0;
}
.is-large.wc-block-cart .wc-block-cart-items td.wc-block-cart-item__image {
	padding-left: 0;
}
.wp-element-button.wc-block-components-button.wc-block-cart__submit-button,
.wp-element-button.wc-block-components-button.wc-block-components-checkout-place-order-button {
	border-radius: 6px;
	font-weight: bold;
	transition: background 0.2s ease;
}
.wc-block-components-notice-banner .message-inner {
	padding: 5px;
}
.wc-block-components-notice-banner .buttons-wrapper {
	margin-top: 10px;
}
@media (min-width: 993px) {
    .site .wc-block-components-notice-banner {
        margin-right: auto;
        margin-left: auto;
    }
    .single-product .site .wc-block-components-notice-banner { 
        margin-top: 0;
        margin-bottom: 0;
    }
}
@media (max-width: 992px) {
	.wc-block-components-notice-banner {
	        padding-right: 1em;
	        padding-left: 1em;
	}
}
.wc-block-product .wc-block-components-product-sale-badge {
	font-size: 11px;
}
li.wc-block-product.product:not(.product-category):hover img {
	transform: none;
}
ul.wc-block-product-template__responsive {
	margin-left: 0;
}
a.wc-block-grid__product-link:hover {
	color: initial;
}
/* Cart */
@container (min-width: 700px) {
    .wc-block-cart__main table.wc-block-cart-items th:last-child {
        padding-right: 0;
    }
}
.wp-block-woocommerce-cart .wp-block-woocommerce-product-collection h2.wp-block-heading {
	letter-spacing: 0;
	font-size: 20px;
}
.wp-block-woocommerce-cart .wp-block-woocommerce-product-collection h2.wp-block-post-title {
	letter-spacing: 0;
}
h2.wc-block-cart__empty-cart__title {
	font-size: 20px;
    margin-top: 2rem;
    font-weight: normal;
    letter-spacing: 0;
}
/* Checkout */
.wp-block-woocommerce-checkout .wc-block-components-title.wc-block-components-title {
    font-size: 22px;
    font-weight: bold;
	letter-spacing: 0;
}
.wp-block-woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-checkout-order-summary__title .wc-block-components-checkout-order-summary__title-text {
	font-weight: bold;
}
.wp-block-woocommerce-checkout .wp-element-button.wc-block-components-button.wc-block-components-checkout-place-order-button {
	font-size: 16px;
    padding: 14px 30px;
}
/* Reviews */
.wc-block-all-reviews {
	margin-bottom: 3rem;
}
.wc-block-sort-select, .wc-block-load-more {
	font-size: 14px;
}
.wc-block-sort-select__label {
	margin-right: 0.5rem;
}
select.wc-block-sort-select__select {
	width: auto;
	font-size: 14px;
}
.wc-block-review-list-item__author, .wc-block-review-list-item__published-date {
	font-size: 14px;
}/**
 * Reduced Motion Accessibility Styles
 *
 * This file contains CSS overrides for users who have enabled "prefers-reduced-motion"
 * in their operating system settings. This is a critical accessibility feature for
 * users with vestibular disorders, motion sensitivity, or other conditions that
 * can be triggered by animations and motion effects.
 *
 * IMPORTANT: The !important declarations are REQUIRED here because:
 * 1. Accessibility overrides must take precedence over decorative animations
 * 2. The universal selector (*) needs to override existing CSS with varying specificity
 * 3. Users with motion sensitivity rely on these overrides working reliably
 * 4. Theme components may have animations defined with different specificity levels
 *
 * These overrides ensure that all animations, transitions, and motion effects
 * are either disabled or reduced to their minimum duration for affected users.
 */

/* -- Animations, scrolling effects, transitions are reduced -- */
@media (prefers-reduced-motion: reduce) {
    *, ::before, ::after {
      animation-delay: -1ms !important;
      animation-duration: 1ms !important;
      animation-iteration-count: 1 !important;
      background-attachment: initial !important;
      scroll-behavior: auto !important;
      transition-delay: 0s !important;
      transition-duration: 0s !important;
    }
  }.fs-free-shipping-notice-and-button-wrapper{align-content:start;align-items:center;display:flex;flex-direction:row;flex-wrap:wrap;justify-content:space-between}.fs-free-shipping-notice-continue-shopping-button-wrapper,.fs-free-shipping-notice-text-and-progress-bar-wrapper{flex:0 1 auto;margin:0 .5em}.fs-free-shipping-notice-progress-bar-wrapper{align-items:center;display:flex;flex-direction:row}.fs-free-shipping-notice-progress-bar{border:1px solid #fff;border-radius:10px;height:10px;margin-left:10px;margin-right:10px;position:relative;width:100%}.fs-free-shipping-notice-progress-bar>span{background-color:#fff;border-bottom-left-radius:10px;border-top-left-radius:10px;display:block;height:100%;overflow:hidden;position:relative}.button.flexible-shipping-free-shipping-button{margin-left:0}/* 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;
}