/**
 * Version: 3.49.0
 */

/* Category chips */
.cafestore-subcategory-chips-wrapper {
	margin-bottom: 24px;
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
	padding-bottom: 10px;
	scrollbar-width: thin;
	scrollbar-color: #ED1944 #f1f1f1;
}

.cafestore-subcategory-chips-wrapper::-webkit-scrollbar {
	height: 6px;
}

.cafestore-subcategory-chips-wrapper::-webkit-scrollbar-track {
	background: #f1f1f1;
	border-radius: 10px;
}

.cafestore-subcategory-chips-wrapper::-webkit-scrollbar-thumb {
	background: #ED1944;
	border-radius: 10px;
}

.cafestore-subcategory-chips {
	display: flex;
	align-items: center;
	justify-content: flex-start;
	gap: 8px;
	list-style: none;
	width: max-content;
	min-width: 100%;
	padding: 0;
	margin: 0;
}

.cafestore-chip {
	flex: 0 0 auto;
	background: #f8f8f8;
	border: 1px solid #eee;
	border-radius: 999px;
	transition: all .25s ease;
}

.cafestore-chip a {
	display: block;
	padding: 8px 16px;
	color: #333;
	font-size: 14px;
	font-weight: 500;
	text-decoration: none;
	white-space: nowrap;
}

.cafestore-chip.current-cat {
	background: #ED1944;
	border-color: #ED1944;
}

.cafestore-chip.current-cat a {
	color: #fff;
}

.cafestore-chip.cafestore-chip-back {
	background: #fff1f3;
	border-color: #ffd0d8;
}

.cafestore-chip.cafestore-chip-back a {
	color: #ED1944;
	font-weight: 700;
}

/* Hide default WooCommerce archive elements */
.woocommerce .woocommerce-result-count,
.woocommerce .woocommerce-ordering,
.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product a.button,
.woocommerce ul.products li.product .added_to_cart {
	display: none !important;
}


/* Crawl fallback for Infinite Scroll: sequential real links stay in the HTML without
   becoming a second visible navigation for users. */
.woocommerce nav.woocommerce-pagination,
.woocommerce-page nav.woocommerce-pagination {
	position:absolute !important;
	width:1px !important;
	height:1px !important;
	padding:0 !important;
	margin:-1px !important;
	overflow:hidden !important;
	clip:rect(0,0,0,0) !important;
	white-space:nowrap !important;
	border:0 !important;
}
.woocommerce nav.woocommerce-pagination:focus-within,
.woocommerce-page nav.woocommerce-pagination:focus-within {
	position:static !important; width:auto !important; height:auto !important; margin:12px 0 !important;
	overflow:visible !important; clip:auto !important; white-space:normal !important;
}



/* Infinite scroll */
.cafestore-infinite-loader {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	padding: 30px 0;
	text-align: center;
	color: #555;
	font-size: 14px;
}

.cafestore-loading-text {
	font-weight: 500;
}

.cafestore-infinite-status {
	margin: 8px 0 24px;
	text-align: center;
	font-size: 14px;
	font-weight: 500;
	color: #555;
}

.cafestore-infinite-status.is-error {
	color: #b42318;
}

.cafestore-infinite-status.is-success {
	color: #027a48;
}

.cafestore-infinite-status.is-empty {
	color: #667085;
}

.cafestore-spinner {
	display: inline-block;
	width: 28px;
	height: 28px;
	border: 3px solid #f3f3f3;
	border-top-color: #ED1944;
	border-radius: 50%;
	animation: cafestore-spin .7s linear infinite;
}

@keyframes cafestore-spin {
	to {
		transform: rotate(360deg);
	}
}

/* Category description */
.cafestore-category-description {
	margin: 50px 0;
	padding: 28px;
	background: #fff;
	border-radius: 14px;
	border: 1px solid #ececec;
	box-shadow: 0 3px 15px rgba(0, 0, 0, .05);
}

.cafestore-category-description-inner {
	max-height: 240px;
	overflow: hidden;
	position: relative;
	transition: max-height .4s ease;
	line-height: 2.2;
}

.cafestore-category-description-inner::after {
	content: "";
	position: absolute;
	inset-inline: 0;
	inset-block-end: 0;
	height: 80px;
	background: linear-gradient(to top, #fff, transparent);
}

.cafestore-category-description.open .cafestore-category-description-inner {
	max-height: 10000px;
}

.cafestore-category-description.open .cafestore-category-description-inner::after {
	display: none;
}

.cafestore-category-more {
	margin-top: 20px;
	background: #ED1944;
	color: #fff;
	border: none;
	padding: 10px 22px;
	border-radius: 8px;
	cursor: pointer;
	font-size: 14px;
	font-weight: 700;
}

.cafestore-category-description h2,
.cafestore-category-description h3,
.cafestore-category-description h4 {
	margin-top: 30px;
	margin-bottom: 15px;
}

.cafestore-category-description p {
	line-height: 2.3;
}

.cafestore-category-description ul {
	padding-right: 25px;
}

.cafestore-category-description a {
	color: #ED1944;
	text-decoration: none;
}

.cafestore-category-description a:hover {
	text-decoration: underline;
}

/* Separate WooCommerce tabs */
.cfs-separate-tabs {
	margin-top: 24px;
}

.cfs-separate-tab {
	margin-bottom: 24px;
	padding: 20px;
	border: 1px solid #e5e5e5;
	border-radius: 12px;
	background: #fff;
	box-shadow: 0 1px 3px rgba(0, 0, 0, .05);
}

.cfs-tab-title {
	margin: 0 0 16px;
	font-size: 20px;
	line-height: 1.6;
}

.cfs-tab-content > :last-child {
	margin-bottom: 0;
}

.cfs-tab-content table.shop_attributes {
	margin: 0;
	border-collapse: collapse;
	width: 100%;
}

.cfs-tab-content table.shop_attributes th,
.cfs-tab-content table.shop_attributes td {
	padding: 12px 14px;
	border: 1px solid #eee;
	text-align: right;
	vertical-align: top;
}

/* Back to top */
.cfs-back-to-top {
	position: fixed;
	inset-inline-end: 24px;
	inset-block-end: 72px;
	z-index: 9999;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: #ED1944;
	color: #fff;
	font-size: 24px;
	line-height: 1;
	cursor: pointer;
	box-shadow: 0 6px 18px rgba(0, 0, 0, .18);
	opacity: 0;
	visibility: hidden;
	transform: translateY(12px);
	transition: opacity .2s ease, visibility .2s ease, transform .2s ease, background-color .2s ease;
}

.cfs-back-to-top.is-visible {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
}

.cfs-back-to-top:hover,
.cfs-back-to-top:focus-visible {
	background: #c9143a;
}

.cfs-back-to-top:focus-visible {
	outline: 3px solid rgba(237, 25, 68, .25);
	outline-offset: 3px;
}

@media (max-width: 767px) {
	.cfs-back-to-top {
		inset-inline-end: 16px;
		inset-block-end: 72px;
		width: 40px;
		height: 40px;
		font-size: 21px;
	}
}

@media (hover: hover) {
	.cafestore-chip:hover {
		transform: translateY(-2px);
		box-shadow: 0 4px 12px rgba(0, 0, 0, .08);
	}
}

/* CafeStore Unified shared design system */
:root {
  --csu-primary: #ff585f;
  --csu-primary-dark: #e84850;
  --csu-text: #222;
  --csu-muted: #6b7280;
  --csu-bg: #fff;
  --csu-surface: #f8f9fb;
  --csu-border: #e7e9ee;
  --csu-radius-sm: 8px;
  --csu-radius-md: 12px;
  --csu-radius-lg: 18px;
  --csu-shadow: 0 8px 28px rgba(20, 25, 35, .08);
}
.csu-ui, .cfs-home, .csmm-overlay, .cafestore-subcategory-chips-wrapper, .cafestore-category-description, .cafestore-infinite-loader, .cafestore-infinite-status { font-family: inherit; }
.cfs-btn, .csmm-trigger { background: var(--csu-primary); border-color: var(--csu-primary); }
.cfs-btn:hover, .csmm-trigger:hover { background: var(--csu-primary-dark); }
.csmm-trigger { border-radius: var(--csu-radius-sm); }
.csmm-overlay { z-index: 99990; }
.csmm-panel { box-shadow: var(--csu-shadow); }
.cafestore-subcategory-chips { gap: 8px; }
.cafestore-subcategory-chips .cafestore-chip a { border-radius: 999px; }
.cafestore-category-description { border-color: var(--csu-border); border-radius: var(--csu-radius-md); }
.cafestore-infinite-loader, .cafestore-infinite-status { border-radius: var(--csu-radius-md); }
.cfs-back-to-top { background: var(--csu-primary); }

/* CafeStore catalog cards: search-engine UI, not a shopping cart UI. */
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product {
	border: 1px solid #eceef2;
	border-radius: 14px;
	padding: 12px;
	background: #fff;
	box-shadow: 0 2px 10px rgba(20,25,35,.04);
	transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease;
}
.woocommerce ul.products li.product:hover,
.woocommerce-page ul.products li.product:hover {
	transform: translateY(-2px);
	border-color: #e1e4e9;
	box-shadow: 0 8px 24px rgba(20,25,35,.08);
}
.woocommerce ul.products li.product .button.add_to_cart_button,
.woocommerce ul.products li.product .button.ajax_add_to_cart,
.woocommerce ul.products li.product a.added_to_cart,
.woocommerce ul.products li.product .quantity {
	display: none !important;
}
.woocommerce ul.products li.product .woocommerce-loop-product__title {
	font-size: 14px;
	line-height: 1.8;
	font-weight: 650;
	margin: 8px 0 6px;
}
.woocommerce ul.products li.product .price {
	font-size: 14px;
	font-weight: 700;
	margin: 0;
}
.csu-catalog-product .woocommerce-product-details__short-description {
	line-height: 1.9;
}
.cafestore-product-category-context{margin:0 0 10px;font-size:.9rem;line-height:1.6}.cafestore-product-category-context a{text-decoration:none}.cafestore-product-category-context a:hover{text-decoration:underline}


/* 3.14.3 — archive heading/chips layout: title stays above horizontal categories */
body.tax-product_cat .cafestore-subcategory-chips-wrapper{position:relative!important;top:auto!important;bottom:auto!important;transform:none!important;margin:0 0 14px!important;padding-bottom:8px!important;z-index:3!important}
body.tax-product_cat .cafestore-subcategory-chips{position:relative!important}
@media(max-width:767px){
 body.tax-product_cat .cafestore-subcategory-chips-wrapper{margin-bottom:12px!important;padding-bottom:7px!important}
}

/* 3.22.0 archive flow hardening: chips stay in normal document flow under the H1. */
body.tax-product_cat .cafestore-subcategory-chips-wrapper,body.post-type-archive-product .cafestore-subcategory-chips-wrapper{display:block!important;position:static!important;float:none!important;clear:both!important;transform:none!important;inset:auto!important;margin:0 0 14px!important;padding:0 0 8px!important;z-index:auto!important}
body.tax-product_cat .cafestore-subcategory-chips,body.post-type-archive-product .cafestore-subcategory-chips{display:flex!important;position:static!important;transform:none!important;margin:0!important}


/* 3.49.0 archive integrity: never let an empty loop item reserve a grid cell. */
ul.products, .woocommerce ul.products, .woocommerce-page ul.products {
  direction: rtl !important;
  grid-auto-flow: row !important;
  align-items: start !important;
}
ul.products > li.product:empty,
.woocommerce ul.products > li.product:empty,
.woocommerce-page ul.products > li.product:empty {
  display: none !important;
}
ul.products > li.product > .csu-product-card {
  min-height: 0 !important;
}
/* Google-crawlable pagination remains in the DOM while Infinite Scroll stays the primary UX. */
.cafestore-crawl-pagination{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.cafestore-crawl-pagination a:focus{position:static!important;width:auto!important;height:auto!important;margin:0!important;overflow:visible!important;clip:auto!important;white-space:normal!important}

/* 3.55 semantic archive/product internal navigation */
.cafestore-category-description{margin-top:18px;padding:16px;background:#fff;border:1px solid #e7ebf0;border-radius:14px}.cafestore-category-description h2{margin:0 0 9px;font-size:19px;line-height:1.55;font-weight:850}.cafestore-category-description-inner{font-size:14px;line-height:2}.csu-seo-internal-links,.csu-seo-archive-parent{margin-top:18px;padding:14px 16px;background:#fff;border:1px solid #e7ebf0;border-radius:14px;font-size:13px}.csu-seo-internal-links h2{margin:0 0 9px;font-size:18px;line-height:1.5}.csu-seo-internal-links__items{display:flex;flex-wrap:wrap;gap:7px;align-items:center}.csu-seo-internal-links a,.csu-seo-archive-parent a{color:#ed1944;font-weight:750}@media(max-width:767px){.cafestore-category-description{padding:12px}.cafestore-category-description h2{font-size:17px}.cafestore-category-description-inner{font-size:13px}.csu-seo-internal-links h2{font-size:16px}}

/* 3.55 semantic archive/product internal navigation */
.cafestore-category-description{margin-top:18px;padding:16px;background:#fff;border:1px solid #e7ebf0;border-radius:14px}.cafestore-category-description h2{margin:0 0 9px;font-size:19px;line-height:1.55;font-weight:850}.cafestore-category-description-inner{font-size:14px;line-height:2}.csu-seo-internal-links,.csu-seo-archive-parent{margin-top:18px;padding:14px 16px;background:#fff;border:1px solid #e7ebf0;border-radius:14px;font-size:13px}.csu-seo-internal-links h2{margin:0 0 9px;font-size:18px;line-height:1.5}.csu-seo-internal-links__items{display:flex;flex-wrap:wrap;gap:7px;align-items:center}.csu-seo-internal-links a,.csu-seo-archive-parent a{color:#ed1944;font-weight:750}@media(max-width:767px){.cafestore-category-description{padding:12px}.cafestore-category-description h2{font-size:17px}.cafestore-category-description-inner{font-size:13px}.csu-seo-internal-links h2{font-size:16px}}

/* 3.70.0 — professional catalog-first homepage. */
.cfs-home{max-width:1200px;margin:0 auto;padding-bottom:36px}
.cfs-hero--catalog{position:relative;overflow:hidden;max-width:none;margin:0 0 20px;padding:46px 28px 34px;border:1px solid #eceef2;border-radius:24px;background:linear-gradient(135deg,#fff 0%,#fff7f8 58%,#fff 100%);box-shadow:0 12px 38px rgba(20,25,35,.05)}
.cfs-hero--catalog:after{content:"";position:absolute;inset:auto -80px -120px auto;width:280px;height:280px;border-radius:50%;background:rgba(237,25,68,.055);pointer-events:none}
.cfs-hero-badge{display:inline-flex;align-items:center;gap:7px;padding:7px 12px;border:1px solid #f1d6db;border-radius:999px;background:#fff;color:#c31337;font-size:12px;font-weight:800;margin-bottom:14px}
.cfs-hero-badge span{width:7px;height:7px;border-radius:50%;background:#ed1944;display:inline-block}
.cfs-hero--catalog .cfs-title{max-width:780px;margin:0 auto 12px;font-size:clamp(28px,4vw,44px)!important;font-weight:900!important}
.cfs-hero--catalog .cfs-description{max-width:760px;margin-bottom:22px;font-size:15px}
.cfs-hero-actions{display:flex;justify-content:center;gap:9px;flex-wrap:wrap}
.cfs-btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 18px;border-radius:12px;text-decoration:none;font-weight:800;font-size:13px}
.cfs-btn--primary{background:#ed1944;color:#fff;box-shadow:0 6px 18px rgba(237,25,68,.18)}
.cfs-btn--ghost{background:#fff;color:#343a43;border:1px solid #e1e4e9}
.cfs-hero-points{display:flex;justify-content:center;gap:18px;flex-wrap:wrap;margin-top:20px;color:#68717c;font-size:12px}
.cfs-hero-points span{display:inline-flex;align-items:center;gap:6px}.cfs-hero-points b{color:#ed1944;font-size:16px}
.cfs-product-section{margin:18px 0;padding:20px 18px;background:#fff;border:1px solid #e8ebef;border-radius:20px;box-shadow:0 7px 25px rgba(20,25,35,.035)}
.cfs-product-section--sale{background:linear-gradient(180deg,#fffafa 0%,#fff 100%)}
.cfs-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:15px;margin-bottom:14px}.cfs-section-head h2{margin:2px 0 0;font-size:22px;line-height:1.5;font-weight:900}.cfs-section-head a{color:#ed1944;text-decoration:none;font-size:12px;font-weight:800;white-space:nowrap}.cfs-section-kicker{display:block;color:#8a9099;font-size:11px;font-weight:700}
.cfs-product-scroller{display:flex;gap:12px;overflow-x:auto;overscroll-behavior-inline:contain;scroll-snap-type:x proximity;padding:2px 2px 12px;scrollbar-width:thin;direction:rtl}.cfs-product-scroller:focus-visible{outline:2px solid #ed1944;outline-offset:4px;border-radius:10px}.cfs-product-slide{flex:0 0 225px;scroll-snap-align:start}.cfs-product-slide .csu-product-card{height:100%}
@media(max-width:767px){.cfs-home{padding-inline:0}.cfs-hero--catalog{border-radius:18px;padding:32px 16px 25px;margin-bottom:14px}.cfs-hero--catalog .cfs-title{font-size:27px!important}.cfs-hero--catalog .cfs-description{font-size:13px;line-height:2}.cfs-hero-points{gap:9px 15px}.cfs-product-section{padding:15px 11px;border-radius:16px}.cfs-section-head h2{font-size:19px}.cfs-product-slide{flex-basis:190px}}
