/*
Blog
========
*/
@media (min-width: 993px) {
	.blog .site-content,
	.archive .site-content {
		padding-bottom: 3rem;
	}
}
/* -- Heading -- */
.blog header.entry-header.title h1.hidden {
	display: none;
}
.blog header.entry-header.title h1 {
    margin-bottom: 2rem;
}
/* -- Images -- */
.post .wp-post-image {
	margin-bottom: 1.618em;
}
/* -- Archives Title -- */
.post .entry-header h2 {
	margin: 0 0 0.35rem;
}
.post .entry-header h2 a {
	color: #111;
}
@media (max-width: 768px) {
	.post .entry-header h2 {
		font-size: 24px;
	}
}
/* -- Archives Date -- */
.post .entry-header .posted-on {
	display: block;
	margin-bottom: 0.5rem;
	color: #555;
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}
.updated:not(.published) {
	display: none;
}
/* -- Archives Content -- */
article.post .entry-content {
	font-size: clamp(0.875rem, 0.8115rem + 0.2033vw, 0.9375rem); /* 14-15 */
}
article.post .entry-content p:last-child {
	margin-bottom: 0;
}
/* -- Articles -- */
.site-main:not(.grid) article.post {
	margin: 0 0 2.25rem;
	padding-bottom: 2rem;
	border-bottom: 1px solid #eee;
}
/* -- More Link -- */
.entry-content a.more-link {
  color: #111;
  font-weight: 600;
}
/* -- Flow -- */
@media (min-width: 993px) {
	.site-main.flow article.post {
		display: flex;
		align-items: center;
		padding-bottom: 2.5rem;
		margin-bottom: 2.5rem;
	}
	.site-main.flow .post-thumbnail {
		width: 48%;
	}
}
.site-main.flow article h2 {
	font-size: 24px;
	line-height: 1.3;
	letter-spacing: 0;
}
.site-main.flow .blog-loop-content-wrapper {
	flex: 1;
	padding: 0 3em;
}
.site-main.flow article:not(.has-post-thumbnail) .blog-loop-content-wrapper {
	padding: 0;
}
@media (max-width: 992px) {
	.site-main.flow .blog-loop-content-wrapper {
		padding: 2em 0 0
	}
}
/* -- Grid -- */
.site-main.grid {
	display: grid;
	gap: 3rem;
	padding-bottom: 1em;
}
@media (min-width: 769px) {
	.site-main.grid.grid-2 {
		grid-template-columns: repeat(2, 1fr);
	}
	.site-main.grid.grid-3 {
		grid-template-columns: repeat(3, 1fr);
	}
	.site-main.grid .page-header,
	.site-main.grid .navigation.pagination {
		grid-column: span 2;
	}
	.site-main.grid.grid-3 .page-header,
	.site-main.grid.grid-3 .navigation.pagination {
		grid-column: span 3;
	}
}
.site-main.grid article.post a.post-thumbnail {
	margin-bottom: 1.618em;
}
.site-main.grid .page-header {
	margin-bottom: -2rem;
}
@media (max-width: 768px) {
	.site-main.grid.grid-2,
	.site-main.grid.grid-3 {
    	grid-template-columns: repeat(1, 1fr);
    	-moz-column-gap: 0;
    	     column-gap: 0;
	}
	.site-main.grid .page-header,
	.site-main.grid .navigation.pagination {
		grid-column: span 1;
	}
}
/* -- Image Link Style -- */
.flow article.post img.wp-post-image,
.grid article.post img.wp-post-image {
	margin: 0;
	transition: all 0.3s;
	transform: translateZ(0);
	-webkit-backface-visibility: hidden;
	display: block;
}
.flow article.post a.post-thumbnail,
.grid article.post a.post-thumbnail {
	display: block;
	overflow: hidden;
	position: relative;
}
.flow article.post a.post-thumbnail:before,
.grid article.post a.post-thumbnail:before {
	position: absolute;
	z-index: 2;
	opacity: 0;
	transition: all 0.25s;
	left: 50%;
	top: 50%;
 	transform: translate(-50%, -50%);
	width: 40px;
	height: 40px;
	content: "";
	background: #fff;
}
.flow article.post a.post-thumbnail:after,
.grid article.post a.post-thumbnail:after {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	opacity: 0;
	background-color: rgba(0, 0, 0, 0.35);
	content: "";
	transition: all 0.25s;
}
.flow article.post:hover a.post-thumbnail:before,
.grid article.post:hover a.post-thumbnail:before {
	left: calc(50% + 20px);
	opacity: 1;
}
.flow article.post:hover a.post-thumbnail:after,
.grid article.post:hover a.post-thumbnail:after {
	opacity: 1;
}
.flow article.post:hover img.wp-post-image,
.grid article.post:hover img.wp-post-image {
	transform: scale(1.04, 1.04)
}
/* -- Single Post -- */
.single-post .post .entry-header {
	margin-bottom: 1.56rem;
}
.single-post .entry-header h1 {
	margin-bottom: 0.5rem;
}
@media (min-width: 993px) {
	.single-post .wp-block-image {
		margin-top: 3em;
		margin-bottom: 3em;
	}
}
.single-post .wp-block-image {
	margin-top: 1.5em;
	margin-bottom: 1.5em;
}
@media (max-width: 768px) {
	.single-post .entry-header h1 {
		font-size: 30px;
	}
	.single-post .entry-content {
		font-size: 15px;
	}
}
/* -- Taxonomy Description -- */
.page-header {
	margin-bottom: 1.5rem;
}
.page-header h1 + .taxonomy-description {
	margin-top: -0.5rem;
}
.taxonomy-description {
	margin-bottom: 2em;
	font-size: clamp(0.875rem, 0.8115rem + 0.2033vw, 0.9375rem); /* 14-15 */
}
/* -- WooCommerce -- */
.single-post .entry-content .woocommerce {
	margin: 1.5rem 0 2.5rem 0;
}
.single-post .entry-content .woocommerce li.product p.product__categories a {
    text-decoration: none;
}
@media (min-width: 993px) {
	.single-post .entry-content .woocommerce:has(+ h2) {
		margin-bottom: 0;
	}
}
@media only screen and (min-width: 769px) {
	.single-post ul.products.columns-1 {
		float: right;
		max-width: 300px;
		margin-left: 50px;
		padding-left: 20px;
		border-left: 1px solid #e2e2e2;
	}
}
.cat-links,
.tags-links {
	display: inline;
	margin: 0 8px;
	color: #111;
}
.post-meta {
	padding-top: 1em;
	padding-bottom: 1em;
	border-top: 1px solid rgba(0, 0, 0, 0.05);
	border-bottom: 1px solid rgba(0, 0, 0, 0.05);
	font-size: clamp(0.8125rem, 0.749rem + 0.2033vw, 0.875rem); /* 13-14 */
	text-align: center;
}
.post-meta .label {
	display: inline;
	margin-right: 0.5rem;
}
.post-meta a {
	color: #555;
	text-decoration: underline;
  	text-underline-offset: 0.12em;
  	text-decoration-thickness: 0.75px;
}
.post-meta a:hover {
	color: #111;
}
/* -- Author -- */
.vcard.author {
	overflow: hidden;
	padding-top: 2em;
	padding-bottom: 2em;
}
.author .avatar {
	float: left;
	width: 80px;
	border-radius: 50%;
	margin-top: 0.25rem;
}
.author-details {
	float: right;
	width: calc(100% - 110px);
	color: #555;
	font-size: clamp(0.875rem, 0.8115rem + 0.2033vw, 0.9375rem); /* 14-15 */
}
.author-details a.fn {
	display: block;
	margin-bottom: 0.25rem;
	color: #222;
	font-size: clamp(1rem, 0.873rem + 0.4065vw, 1.125rem); /* 16-18 */
	font-weight: 600;
}
/* -- Previous and Next -- */
.shoptimizer-posts-prev-next {
	margin-top: 2rem;
	background: #f8f8f8;
	padding: 1.5rem;
}
.shoptimizer-posts-prev-next > div + div {
    margin-top: 1rem;
}
@media (min-width: 993px) {
	.shoptimizer-posts-prev-next {
		display: flex;
		justify-content: space-between;
		padding: 0;
	}
	.shoptimizer-posts-prev-next .previous-post,
	.shoptimizer-posts-prev-next .next-post {
		width: 50%;
		padding: 1.5rem;
	}
	.shoptimizer-posts-prev-next .next-post {
		text-align: right;
	}
	.shoptimizer-posts-prev-next > div + div {
		margin: 0;
	}
}
.shoptimizer-posts-prev-next .title {
	margin-bottom: 3px;
	font-size: 11px;
	text-transform: uppercase;
	color: #666;
	letter-spacing: 0.03em;
}
.shoptimizer-posts-prev-next .previous-post,
.shoptimizer-posts-prev-next .next-post {
	
}
.shoptimizer-posts-prev-next .previous-post:only-child,
.shoptimizer-posts-prev-next .next-post:only-child {
	width: 100%;
	border: none;
}
.shoptimizer-posts-prev-next .previous-post {
	border-right: 2px solid #fff;
}
.shoptimizer-posts-prev-next a {
	color: #444;
    line-height: 1.4em;
    display: block;
    font-size: 14px;
}
.shoptimizer-posts-prev-next a:hover {
	color: #111;
}
/* -- Single Post Layout 2: Gutenberg -- */
.single-post.left-post-sidebar.post-l2 .content-area,
.single-post.right-post-sidebar.post-l2 .content-area {
	float: none;
	margin-right: auto;
	margin-left: auto;
	padding-top: 2.5em;
}
.single-post.post-l2 #secondary {
	display: none;
}
/* -- Single Post - Add to cart shortcode -- */
.entry-content p.woocommerce.add_to_cart_inline {
	padding: 1.15rem !important;
    border: 1px solid #eee !important;
}
.entry-content p.woocommerce.add_to_cart_inline del {
	margin-right: 3px;
	opacity: 0.6;
	font-size: 0.85em;
}
.entry-content p.woocommerce.add_to_cart_inline a.button {
	margin-left: 10px;
	border-radius: 2px;
	font-size: 14px;
	transition: 0.2s all;
}
.entry-content p.woocommerce.add_to_cart_inline a.button:hover {
	color: #fff;
}
.entry-content p.woocommerce.add_to_cart_inline a.added_to_cart {
	margin-left: 1rem;
	color: #333;
	font-size: 13px;
}/*
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;
    }
  }/* 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;
}