.rcew-flexi-product-widget,
.rcew-flexi-product-widget * { box-sizing: border-box; }

.rcew-flexi-product-widget {
	position: relative;
	width: 100%;
	--rcew-flexi-accent: #111827;
	--rcew-flexi-muted: #6b7280;
	--rcew-flexi-border: #e5e7eb;
	--rcew-flexi-surface: #ffffff;
}

.rcew-flexi-filter-bar {
	display: flex;
	align-items: stretch;
	width: 100%;
	gap: 10px;
	margin: 0 0 24px;
}

.rcew-flexi-search-input,
.rcew-flexi-category-select {
	min-width: 0;
	height: auto;
	min-height: 46px;
	margin: 0;
	padding: 12px 14px;
	border: 1px solid #d8dde6;
	border-radius: 8px;
	background: #fff;
	font: inherit;
	line-height: 1.2;
	box-shadow: none;
}

.rcew-flexi-search-input { flex: 1 1 320px; }
.rcew-flexi-category-select { flex: 0 1 220px; }

.rcew-flexi-button,
.rcew-flexi-add-to-cart {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	min-height: 0;
	padding: 0;
	border: 1px solid transparent;
	border-radius: 8px;
	background: var(--rcew-flexi-accent);
	color: #fff;
	font: inherit;
	font-weight: 600;
	line-height: 1.2;
	text-decoration: none;
	cursor: pointer;
	transition: background-color .2s ease, color .2s ease, border-color .2s ease, opacity .2s ease, transform .2s ease;
}

.rcew-flexi-button:hover,
.rcew-flexi-add-to-cart:hover {
	background: #374151;
	color: #fff;
	text-decoration: none;
}

.rcew-flexi-button:disabled { opacity: .6; cursor: progress; }
.rcew-flexi-search-button { flex: 0 0 auto; white-space: nowrap; visibility: visible; opacity: 1; }
.rcew-flexi-search-icon { display: inline-flex; align-items: center; justify-content: center; padding: 0; line-height: 0; }
.rcew-flexi-search-icon svg { display: block; }

.rcew-flexi-results-wrap { position: relative; min-height: 40px; }

.rcew-flexi-products {
	display: grid;
	grid-template-columns: repeat(var(--rcew-flexi-columns, 4), minmax(0, 1fr));
	column-gap: 24px;
	row-gap: 24px;
	align-items: stretch;
	width: 100%;
}

.rcew-flexi-product-card {
	position: relative;
	display: flex;
	flex-direction: column;
	width: 100%;
	min-width: 0;
	margin: 0;
	background: var(--rcew-flexi-surface);
	border: 1px solid var(--rcew-flexi-border);
	border-radius: 12px;
	overflow: hidden;
	isolation: isolate;
	transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease, background-color .25s ease;
}

.rcew-flexi-product-card[hidden] { display: none !important; }
.rcew-flexi-product-card:hover { transform: translateY(-4px); }

.rcew-flexi-product-image-wrap {
	position: relative;
	width: 100%;
	min-width: 0;
	overflow: hidden;
}

.rcew-flexi-product-image {
	display: block;
	width: 100%;
	aspect-ratio: 1 / 1;
	overflow: hidden;
	background: #f4f5f7;
}

.rcew-flexi-product-image img {
	display: block;
	width: 100%;
	height: 100%;
	margin: 0;
	object-fit: cover;
	transition: transform .4s ease, opacity .3s ease, filter .3s ease;
}

.rcew-flexi-image-effect-none:hover .rcew-flexi-product-image img { transform: none; }
.rcew-flexi-image-effect-zoom:hover .rcew-flexi-product-image img { transform: scale(1.055); }
.rcew-flexi-image-effect-zoom-out .rcew-flexi-product-image img { transform: scale(1.07); }
.rcew-flexi-image-effect-zoom-out:hover .rcew-flexi-product-image img { transform: scale(1); }
.rcew-flexi-image-effect-fade:hover .rcew-flexi-product-image img { opacity: .72; }
.rcew-flexi-image-effect-lift:hover .rcew-flexi-product-image img { transform: translateY(-8px) scale(1.025); }

.rcew-flexi-sale-badge {
	position: absolute;
	top: 12px;
	left: 12px;
	z-index: 4;
	display: inline-flex;
	align-items: center;
	padding: 5px 9px;
	border-radius: 999px;
	background: #ef4444;
	color: #fff;
	font-size: 12px;
	font-weight: 700;
	line-height: 1;
}

.rcew-flexi-view-link {
	position: absolute;
	top: 12px;
	right: 12px;
	z-index: 4;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 38px;
	height: 38px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: rgba(255,255,255,.94);
	color: #111827;
	box-shadow: 0 8px 24px rgba(17,24,39,.14);
	text-decoration: none;
	opacity: 0;
	transform: translateY(-8px);
	transition: opacity .2s ease, transform .2s ease, background-color .2s ease, color .2s ease;
}

.rcew-flexi-product-card:hover .rcew-flexi-view-link,
.rcew-flexi-view-link:focus-visible {
	opacity: 1;
	transform: translateY(0);
}

.rcew-flexi-view-link:hover { background: #111827; color: #fff; }
.rcew-flexi-view-link svg { display: block; }

.rcew-flexi-product-content {
	position: relative;
	z-index: 2;
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
	min-width: 0;
	padding: 18px;
}

.rcew-flexi-product-category {
	margin: 0 0 7px;
	color: var(--rcew-flexi-muted);
	font-size: 12px;
	line-height: 1.4;
}

.rcew-flexi-product-category a { color: inherit; text-decoration: none; }

.rcew-flexi-product-title {
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	overflow: hidden;
	margin: 0 0 9px;
	padding: 0;
	font-size: 17px;
	font-weight: 650;
	line-height: 1.35;
}

.rcew-flexi-product-title a { color: #111827; text-decoration: none; }
.rcew-flexi-product-rating { min-height: 18px; margin: 0 0 9px; }
.rcew-flexi-product-rating .star-rating { float: none; margin: 0; font-size: .82em; }
.rcew-flexi-product-description { margin: 0 0 12px; color: var(--rcew-flexi-muted); font-size: 14px; line-height: 1.55; }

.rcew-flexi-stock-status {
	margin: 0 0 10px;
	font-size: 12px;
	font-weight: 650;
	line-height: 1.3;
}

.rcew-flexi-stock-status.is-in-stock { color: #16803b; }
.rcew-flexi-stock-status.is-out-of-stock { color: #c62828; }

.rcew-flexi-product-footer {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: 12px;
	margin-top: auto;
}

.rcew-flexi-product-price {
	margin: 0;
	color: #111827;
	font-size: 17px;
	font-weight: 700;
	line-height: 1.35;
}

.rcew-flexi-product-price del { opacity: .55; font-weight: 400; }
.rcew-flexi-product-price ins { text-decoration: none; }
.rcew-flexi-product-actions { margin: 0; }
.rcew-flexi-add-to-cart { width: 100%; }

/* 01 — Classic Shop */
.rcew-flexi-card-classic { background: #fff; border-color: #e6e9ef; border-radius: 12px; }
.rcew-flexi-card-classic:hover { box-shadow: 0 14px 34px rgba(17,24,39,.1); }

/* 02 — Modern Rounded */
.rcew-flexi-card-modern {
	border: 0;
	border-radius: 22px;
	background: #fff;
	box-shadow: 0 10px 30px rgba(15,23,42,.08);
	padding: 12px;
}
.rcew-flexi-card-modern .rcew-flexi-product-image-wrap,
.rcew-flexi-card-modern .rcew-flexi-product-image { border-radius: 16px; }
.rcew-flexi-card-modern .rcew-flexi-product-content { padding: 18px 8px 8px; }
.rcew-flexi-card-modern .rcew-flexi-add-to-cart { border-radius: 999px; }
.rcew-flexi-card-modern:hover { box-shadow: 0 18px 44px rgba(15,23,42,.14); }

/* 03 — Clean Minimal */
.rcew-flexi-card-minimal {
	border: 0;
	border-radius: 0;
	background: transparent;
	overflow: visible;
}
.rcew-flexi-card-minimal:hover { transform: none; }
.rcew-flexi-card-minimal .rcew-flexi-product-image-wrap,
.rcew-flexi-card-minimal .rcew-flexi-product-image { border-radius: 10px; }
.rcew-flexi-card-minimal .rcew-flexi-product-content { padding: 14px 0 0; }
.rcew-flexi-card-minimal .rcew-flexi-product-category { text-transform: uppercase; letter-spacing: .08em; }
.rcew-flexi-card-minimal .rcew-flexi-add-to-cart {
	width: auto;
	min-height: 0;
	padding: 0;
	border: 0;
	border-bottom: 1px solid currentColor;
	border-radius: 0;
	background: transparent;
	color: #111827;
	justify-content: flex-start;
}
.rcew-flexi-card-minimal .rcew-flexi-add-to-cart:hover { background: transparent; color: #6b7280; }

/* 04 — Bold Outlined */
.rcew-flexi-card-outlined {
	border: 2px solid #111827;
	border-radius: 3px;
	background: #fff;
	box-shadow: 6px 6px 0 #111827;
	overflow: hidden;
}
.rcew-flexi-card-outlined:hover { transform: translate(-2px,-2px); box-shadow: 9px 9px 0 #111827; }
.rcew-flexi-card-outlined .rcew-flexi-product-image { border-bottom: 2px solid #111827; }
.rcew-flexi-card-outlined .rcew-flexi-sale-badge { border-radius: 2px; }
.rcew-flexi-card-outlined .rcew-flexi-add-to-cart { border-radius: 2px; }

/* 05 — Elevated Shadow */
.rcew-flexi-card-elevated {
	border: 0;
	border-radius: 16px;
	background: #fff;
	box-shadow: 0 16px 38px rgba(15,23,42,.12);
}
.rcew-flexi-card-elevated:hover { transform: translateY(-8px); box-shadow: 0 24px 52px rgba(15,23,42,.18); }
.rcew-flexi-card-elevated .rcew-flexi-product-content { padding: 22px; }
.rcew-flexi-card-elevated .rcew-flexi-add-to-cart { background: #2563eb; border-radius: 10px; }
.rcew-flexi-card-elevated .rcew-flexi-add-to-cart:hover { background: #1d4ed8; }

/* 06 — Soft Background */
.rcew-flexi-card-soft {
	border: 0;
	border-radius: 20px;
	background: #f2f5fb;
	padding: 12px;
}
.rcew-flexi-card-soft .rcew-flexi-product-image-wrap,
.rcew-flexi-card-soft .rcew-flexi-product-image { border-radius: 14px; background: #fff; }
.rcew-flexi-card-soft .rcew-flexi-product-content { padding: 18px 8px 8px; }
.rcew-flexi-card-soft .rcew-flexi-add-to-cart { background: #334155; border-radius: 12px; }
.rcew-flexi-card-soft:hover { background: #e9eef8; }

/* 07 — Dark Premium */
.rcew-flexi-card-dark {
	border: 1px solid #2c3442;
	border-radius: 16px;
	background: #111827;
	box-shadow: 0 18px 44px rgba(0,0,0,.22);
}
.rcew-flexi-card-dark .rcew-flexi-product-image { background: #1f2937; }
.rcew-flexi-card-dark .rcew-flexi-product-title a,
.rcew-flexi-card-dark .rcew-flexi-product-price { color: #fff; }
.rcew-flexi-card-dark .rcew-flexi-product-category,
.rcew-flexi-card-dark .rcew-flexi-product-category a,
.rcew-flexi-card-dark .rcew-flexi-product-description { color: #aeb8c7; }
.rcew-flexi-card-dark .rcew-flexi-add-to-cart { background: #fff; color: #111827; }
.rcew-flexi-card-dark .rcew-flexi-add-to-cart:hover { background: #dbe3ef; color: #111827; }
.rcew-flexi-card-dark .rcew-flexi-view-link { background: #111827; color: #fff; }

/* 08 — Image Overlay */
.rcew-flexi-card-overlay {
	min-height: 430px;
	border: 0;
	border-radius: 18px;
	background: #111827;
}
.rcew-flexi-card-overlay .rcew-flexi-product-image-wrap { position: absolute; inset: 0; height: 100%; }
.rcew-flexi-card-overlay .rcew-flexi-product-image { height: 100%; aspect-ratio: auto; }
.rcew-flexi-card-overlay .rcew-flexi-product-image-wrap::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
	background: linear-gradient(180deg, rgba(2,6,23,.03) 25%, rgba(2,6,23,.88) 100%);
	pointer-events: none;
}
.rcew-flexi-card-overlay .rcew-flexi-product-content {
	justify-content: flex-end;
	min-height: 430px;
	padding: 26px;
	color: #fff;
}
.rcew-flexi-card-overlay .rcew-flexi-product-title a,
.rcew-flexi-card-overlay .rcew-flexi-product-price,
.rcew-flexi-card-overlay .rcew-flexi-product-category,
.rcew-flexi-card-overlay .rcew-flexi-product-category a,
.rcew-flexi-card-overlay .rcew-flexi-product-description { color: #fff; }
.rcew-flexi-card-overlay .rcew-flexi-product-category,
.rcew-flexi-card-overlay .rcew-flexi-product-description { opacity: .82; }
.rcew-flexi-card-overlay .rcew-flexi-product-footer { margin-top: 8px; }
.rcew-flexi-card-overlay .rcew-flexi-add-to-cart { background: #fff; color: #111827; border-radius: 999px; }
.rcew-flexi-card-overlay .rcew-flexi-add-to-cart:hover { background: #e5e7eb; color: #111827; }
.rcew-flexi-card-overlay:hover { transform: translateY(-5px); box-shadow: 0 20px 48px rgba(2,6,23,.25); }

/* 09 — Hover Reveal */
.rcew-flexi-card-hover-reveal {
	border: 0;
	border-radius: 16px;
	background: #fff;
	box-shadow: 0 8px 24px rgba(15,23,42,.08);
}
.rcew-flexi-card-hover-reveal .rcew-flexi-product-content { padding: 17px; }
.rcew-flexi-card-hover-reveal .rcew-flexi-product-actions {
	max-height: 0;
	opacity: 0;
	overflow: hidden;
	transform: translateY(10px);
	transition: max-height .3s ease, opacity .25s ease, transform .25s ease;
}
.rcew-flexi-card-hover-reveal:hover .rcew-flexi-product-actions,
.rcew-flexi-card-hover-reveal:focus-within .rcew-flexi-product-actions {
	max-height: 90px;
	opacity: 1;
	transform: translateY(0);
}
.rcew-flexi-card-hover-reveal .rcew-flexi-add-to-cart { border-radius: 999px; }

/* 10 — Horizontal Card */
.rcew-flexi-card-horizontal {
	flex-direction: row;
	align-items: stretch;
	border-radius: 14px;
	background: #fff;
}
.rcew-flexi-card-horizontal .rcew-flexi-product-image-wrap { flex: 0 0 42%; width: 42%; }
.rcew-flexi-card-horizontal .rcew-flexi-product-image { height: 100%; min-height: 230px; aspect-ratio: auto; }
.rcew-flexi-card-horizontal .rcew-flexi-product-content { flex: 1 1 58%; justify-content: center; padding: 22px; }
.rcew-flexi-card-horizontal .rcew-flexi-product-footer { flex-direction: row; align-items: center; justify-content: space-between; flex-wrap: wrap; }
.rcew-flexi-card-horizontal .rcew-flexi-product-actions { margin-left: auto; }
.rcew-flexi-card-horizontal .rcew-flexi-add-to-cart { width: auto; white-space: nowrap; }
.rcew-flexi-card-horizontal:hover { box-shadow: 0 16px 34px rgba(15,23,42,.1); }

/* 11 — Compact Store */
.rcew-flexi-card-compact { border-radius: 9px; }
.rcew-flexi-card-compact .rcew-flexi-product-content { padding: 12px; }
.rcew-flexi-card-compact .rcew-flexi-product-category { margin-bottom: 4px; font-size: 11px; }
.rcew-flexi-card-compact .rcew-flexi-product-title { margin-bottom: 6px; font-size: 15px; }
.rcew-flexi-card-compact .rcew-flexi-product-rating { margin-bottom: 6px; }
.rcew-flexi-card-compact .rcew-flexi-product-footer { flex-direction: row; align-items: center; justify-content: space-between; gap: 8px; }
.rcew-flexi-card-compact .rcew-flexi-product-price { font-size: 15px; }
.rcew-flexi-card-compact .rcew-flexi-product-actions { margin-left: auto; }
.rcew-flexi-card-compact .rcew-flexi-add-to-cart { width: auto; min-height: 0; padding: 0; font-size: 12px; }
.rcew-flexi-card-compact .rcew-flexi-view-link { width: 34px; height: 34px; }

/* 12 — Editorial */
.rcew-flexi-card-editorial {
	border: 0;
	border-radius: 0;
	background: #fff;
	overflow: visible;
}
.rcew-flexi-card-editorial:hover { transform: none; }
.rcew-flexi-card-editorial .rcew-flexi-product-image-wrap { overflow: hidden; }
.rcew-flexi-card-editorial .rcew-flexi-product-content { padding: 20px 4px 0; text-align: center; }
.rcew-flexi-card-editorial .rcew-flexi-product-category { text-transform: uppercase; letter-spacing: .13em; }
.rcew-flexi-card-editorial .rcew-flexi-product-title { font-family: Georgia, "Times New Roman", serif; font-size: 21px; font-weight: 500; }
.rcew-flexi-card-editorial .rcew-flexi-product-rating .star-rating { margin-left: auto; margin-right: auto; }
.rcew-flexi-card-editorial .rcew-flexi-product-footer { align-items: center; }
.rcew-flexi-card-editorial .rcew-flexi-add-to-cart { width: auto; padding: 0; border-radius: 0; background: transparent; color: #111827; border-bottom: 1px solid #111827; }
.rcew-flexi-card-editorial .rcew-flexi-add-to-cart:hover { background: #111827; color: #fff; }


/* 06 — Conversion Pro */
.rcew-flexi-card-conversion {
	padding: 10px;
	border-color: #e3e7ee;
	border-radius: 18px;
	background: #fff;
	box-shadow: 0 6px 22px rgba(15, 23, 42, .06);
}
.rcew-flexi-card-conversion .rcew-flexi-product-image-wrap,
.rcew-flexi-card-conversion .rcew-flexi-product-image { border-radius: 13px; }
.rcew-flexi-card-conversion .rcew-flexi-product-content { padding: 17px 8px 8px; }
.rcew-flexi-card-conversion .rcew-flexi-product-category {
	display: inline-flex;
	align-self: flex-start;
	margin-bottom: 9px;
	padding: 4px 8px;
	border-radius: 999px;
	background: #f1f5f9;
	color: #475569;
	font-size: 11px;
	font-weight: 700;
}
.rcew-flexi-card-conversion .rcew-flexi-product-price { font-size: 19px; }
.rcew-flexi-card-conversion .rcew-flexi-add-to-cart { min-height: 0; border-radius: 12px; }
.rcew-flexi-card-conversion:hover { border-color: #cbd5e1; box-shadow: 0 18px 42px rgba(15, 23, 42, .12); }

/* 07 — Fashion Luxe */
.rcew-flexi-card-fashion {
	padding: 9px;
	border: 0;
	border-radius: 20px;
	background: #fbfaf8;
}
.rcew-flexi-card-fashion .rcew-flexi-product-image-wrap,
.rcew-flexi-card-fashion .rcew-flexi-product-image { border-radius: 15px; }
.rcew-flexi-card-fashion .rcew-flexi-product-image { aspect-ratio: 3 / 4; background: #f0ede8; }
.rcew-flexi-card-fashion .rcew-flexi-product-content { padding: 21px 10px 11px; text-align: center; }
.rcew-flexi-card-fashion .rcew-flexi-product-category {
	margin-bottom: 9px;
	color: #7b736a;
	font-size: 10px;
	font-weight: 700;
	letter-spacing: .15em;
	text-transform: uppercase;
}
.rcew-flexi-card-fashion .rcew-flexi-product-title { margin-bottom: 10px; font-size: 18px; font-weight: 600; }
.rcew-flexi-card-fashion .rcew-flexi-product-rating .star-rating { margin-right: auto; margin-left: auto; }
.rcew-flexi-card-fashion .rcew-flexi-product-footer { align-items: center; }
.rcew-flexi-card-fashion .rcew-flexi-product-price { font-size: 16px; }
.rcew-flexi-card-fashion .rcew-flexi-add-to-cart {
	width: auto;
	min-height: 0;
	padding: 0;
	border-radius: 999px;
	background: #171717;
}
.rcew-flexi-card-fashion .rcew-flexi-view-link { background: #171717; color: #fff; }
.rcew-flexi-card-fashion:hover { box-shadow: 0 18px 42px rgba(60, 51, 42, .12); }

/* 08 — Marketplace Pro */
.rcew-flexi-card-marketplace {
	border-color: #dfe5ec;
	border-radius: 14px;
	background: #fff;
}
.rcew-flexi-card-marketplace .rcew-flexi-product-content { padding: 15px; }
.rcew-flexi-card-marketplace .rcew-flexi-product-category { margin-bottom: 5px; font-size: 11px; }
.rcew-flexi-card-marketplace .rcew-flexi-product-title { margin-bottom: 7px; font-size: 16px; }
.rcew-flexi-card-marketplace .rcew-flexi-product-rating { margin-bottom: 9px; }
.rcew-flexi-card-marketplace .rcew-flexi-product-footer {
	flex-direction: row;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 10px;
	padding-top: 13px;
	border-top: 1px solid #edf0f4;
}
.rcew-flexi-card-marketplace .rcew-flexi-product-price { font-size: 17px; }
.rcew-flexi-card-marketplace .rcew-flexi-product-actions { margin-left: auto; }
.rcew-flexi-card-marketplace .rcew-flexi-add-to-cart {
	width: auto;
	min-height: 0;
	padding: 0;
	border-radius: 8px;
	font-size: 12px;
}
.rcew-flexi-card-marketplace:hover { border-color: #aeb9c8; box-shadow: 0 12px 28px rgba(15, 23, 42, .09); }

/* 09 — Tech Showcase */
.rcew-flexi-card-tech {
	padding: 10px;
	border-color: #d9e1ea;
	border-radius: 21px;
	background: #f8fafc;
	box-shadow: 0 8px 28px rgba(51, 65, 85, .07);
}
.rcew-flexi-card-tech .rcew-flexi-product-image-wrap,
.rcew-flexi-card-tech .rcew-flexi-product-image { border-radius: 15px; }
.rcew-flexi-card-tech .rcew-flexi-product-image {
	background: radial-gradient(circle at 50% 35%, #fff 0, #eef3f8 72%, #e6edf4 100%);
}
.rcew-flexi-card-tech .rcew-flexi-product-image img { padding: 16px; object-fit: contain; }
.rcew-flexi-card-tech .rcew-flexi-product-content { padding: 18px 8px 8px; }
.rcew-flexi-card-tech .rcew-flexi-product-category {
	color: #526579;
	font-size: 10px;
	font-weight: 750;
	letter-spacing: .12em;
	text-transform: uppercase;
}
.rcew-flexi-card-tech .rcew-flexi-product-title { font-size: 17px; }
.rcew-flexi-card-tech .rcew-flexi-add-to-cart { border-radius: 999px; background: #0f172a; }
.rcew-flexi-card-tech .rcew-flexi-sale-badge { background: #0f172a; }
.rcew-flexi-card-tech:hover { border-color: #aab8c7; box-shadow: 0 20px 45px rgba(51, 65, 85, .14); }

/* 10 — Grocery Fresh */
.rcew-flexi-card-grocery {
	padding: 10px;
	border-color: #dcebd6;
	border-radius: 18px;
	background: #f5faf2;
}
.rcew-flexi-card-grocery .rcew-flexi-product-image-wrap,
.rcew-flexi-card-grocery .rcew-flexi-product-image { border-radius: 13px; }
.rcew-flexi-card-grocery .rcew-flexi-product-image { background: #fff; }
.rcew-flexi-card-grocery .rcew-flexi-product-content { padding: 17px 8px 8px; }
.rcew-flexi-card-grocery .rcew-flexi-product-category { color: #52724a; font-weight: 650; }
.rcew-flexi-card-grocery .rcew-flexi-product-price { color: #255d31; font-size: 18px; }
.rcew-flexi-card-grocery .rcew-flexi-stock-status.is-in-stock {
	display: inline-flex;
	align-self: flex-start;
	padding: 4px 8px;
	border-radius: 999px;
	background: #e3f2dd;
	color: #2f6b38;
}
.rcew-flexi-card-grocery .rcew-flexi-sale-badge { background: #348a45; }
.rcew-flexi-card-grocery .rcew-flexi-add-to-cart { border-radius: 12px; background: #2f6b38; }
.rcew-flexi-card-grocery .rcew-flexi-add-to-cart:hover { background: #214d29; }
.rcew-flexi-card-grocery:hover { border-color: #b9d6af; box-shadow: 0 16px 36px rgba(47, 107, 56, .12); }

/* 11 — Beauty Boutique */
.rcew-flexi-card-beauty {
	padding: 10px;
	border-color: #eeddd7;
	border-radius: 24px;
	background: #fff9f7;
	box-shadow: 0 8px 28px rgba(105, 72, 63, .06);
}
.rcew-flexi-card-beauty .rcew-flexi-product-image-wrap,
.rcew-flexi-card-beauty .rcew-flexi-product-image { border-radius: 18px 18px 10px 10px; }
.rcew-flexi-card-beauty .rcew-flexi-product-image { background: #f8efec; }
.rcew-flexi-card-beauty .rcew-flexi-product-content { padding: 20px 10px 10px; text-align: center; }
.rcew-flexi-card-beauty .rcew-flexi-product-category {
	color: #9a6f63;
	font-size: 10px;
	font-weight: 700;
	letter-spacing: .13em;
	text-transform: uppercase;
}
.rcew-flexi-card-beauty .rcew-flexi-product-title { font-size: 17px; font-weight: 600; }
.rcew-flexi-card-beauty .rcew-flexi-product-rating .star-rating { margin-right: auto; margin-left: auto; }
.rcew-flexi-card-beauty .rcew-flexi-product-footer { align-items: center; }
.rcew-flexi-card-beauty .rcew-flexi-add-to-cart {
	width: auto;
	padding: 0;
	border: 1px solid #2d2523;
	border-radius: 999px;
	background: transparent;
	color: #2d2523;
}
.rcew-flexi-card-beauty .rcew-flexi-add-to-cart:hover { background: #2d2523; color: #fff; }
.rcew-flexi-card-beauty .rcew-flexi-sale-badge { background: #a96f61; }
.rcew-flexi-card-beauty:hover { box-shadow: 0 20px 44px rgba(105, 72, 63, .13); }

/* 12 — Deal Spotlight */
.rcew-flexi-card-deal {
	border: 2px solid #111827;
	border-radius: 16px;
	background: #fff;
	box-shadow: 7px 7px 0 #f6c945;
}
.rcew-flexi-card-deal .rcew-flexi-product-content { padding: 17px; }
.rcew-flexi-card-deal .rcew-flexi-sale-badge {
	top: 10px;
	left: 10px;
	border-radius: 6px;
	background: #ef3f3f;
	box-shadow: 3px 3px 0 #111827;
	font-size: 11px;
	letter-spacing: .04em;
	text-transform: uppercase;
}
.rcew-flexi-card-deal .rcew-flexi-product-footer {
	padding: 12px;
	border: 1px solid #efd98b;
	border-radius: 11px;
	background: #fff8dc;
}
.rcew-flexi-card-deal .rcew-flexi-product-price { color: #111827; font-size: 20px; }
.rcew-flexi-card-deal .rcew-flexi-add-to-cart { border-radius: 9px; background: #111827; }
.rcew-flexi-card-deal:hover { box-shadow: 10px 10px 0 #f6c945; }

/* 13 — Floating Cart */
.rcew-flexi-card-floating-cart {
	border: 0;
	border-radius: 18px;
	background: #fff;
	box-shadow: 0 10px 32px rgba(15, 23, 42, .09);
}
.rcew-flexi-card-floating-cart .rcew-flexi-product-image-wrap,
.rcew-flexi-card-floating-cart .rcew-flexi-product-image { border-radius: 18px 18px 0 0; }
.rcew-flexi-card-floating-cart .rcew-flexi-product-content { padding: 22px 18px 18px; }
.rcew-flexi-card-floating-cart .rcew-flexi-product-footer { position: relative; padding-top: 8px; }
.rcew-flexi-card-floating-cart .rcew-flexi-product-actions {
	position: absolute;
	right: 0;
	bottom: calc(100% + 9px);
	z-index: 3;
}
.rcew-flexi-card-floating-cart .rcew-flexi-add-to-cart {
	width: auto;
	min-height: 0;
	padding: 0;
	border-radius: 999px;
	background: #111827;
	box-shadow: 0 10px 24px rgba(15, 23, 42, .22);
	white-space: nowrap;
}
.rcew-flexi-card-floating-cart .rcew-flexi-product-price { padding-right: 2px; }
.rcew-flexi-card-floating-cart:hover { box-shadow: 0 22px 46px rgba(15, 23, 42, .15); }

/* 14 — Nordic Smart */
.rcew-flexi-card-nordic {
	border: 0;
	border-radius: 0;
	background: transparent;
	overflow: visible;
}
.rcew-flexi-card-nordic:hover { transform: none; }
.rcew-flexi-card-nordic .rcew-flexi-product-image-wrap,
.rcew-flexi-card-nordic .rcew-flexi-product-image { border-radius: 6px; }
.rcew-flexi-card-nordic .rcew-flexi-product-image { background: #f2f3f0; }
.rcew-flexi-card-nordic .rcew-flexi-product-content { padding: 15px 2px 0; }
.rcew-flexi-card-nordic .rcew-flexi-product-category {
	margin-bottom: 5px;
	color: #737a72;
	font-size: 10px;
	font-weight: 700;
	letter-spacing: .12em;
	text-transform: uppercase;
}
.rcew-flexi-card-nordic .rcew-flexi-product-title { margin-bottom: 8px; font-size: 16px; font-weight: 600; }
.rcew-flexi-card-nordic .rcew-flexi-product-footer {
	flex-direction: row;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 8px;
}
.rcew-flexi-card-nordic .rcew-flexi-product-actions { margin-left: auto; }
.rcew-flexi-card-nordic .rcew-flexi-add-to-cart {
	width: auto;
	min-height: 0;
	padding: 0;
	border: 0;
	border-bottom: 1px solid currentColor;
	border-radius: 0;
	background: transparent;
	color: #111827;
}
.rcew-flexi-card-nordic .rcew-flexi-add-to-cart:hover { background: transparent; color: #5d675c; }
.rcew-flexi-card-nordic .rcew-flexi-view-link { border-radius: 8px; box-shadow: none; }

/* 15 — Glass Panel */
.rcew-flexi-card-split-panel {
	padding: 10px;
	border: 0;
	border-radius: 21px;
	background: #e9eef5;
	box-shadow: 0 10px 32px rgba(51, 65, 85, .09);
	overflow: hidden;
}
.rcew-flexi-card-split-panel .rcew-flexi-product-image-wrap,
.rcew-flexi-card-split-panel .rcew-flexi-product-image { border-radius: 15px; }
.rcew-flexi-card-split-panel .rcew-flexi-product-content {
	margin: -48px 12px 2px;
	padding: 17px;
	border: 1px solid rgba(255, 255, 255, .72);
	border-radius: 15px;
	background: rgba(255, 255, 255, .9);
	box-shadow: 0 15px 34px rgba(15, 23, 42, .13);
	backdrop-filter: blur(14px);
	-webkit-backdrop-filter: blur(14px);
}
.rcew-flexi-card-split-panel .rcew-flexi-product-footer {
	flex-direction: row;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 9px;
}
.rcew-flexi-card-split-panel .rcew-flexi-product-actions { margin-left: auto; }
.rcew-flexi-card-split-panel .rcew-flexi-add-to-cart {
	width: auto;
	min-height: 0;
	padding: 0;
	border-radius: 999px;
	font-size: 12px;
}
.rcew-flexi-card-split-panel:hover { box-shadow: 0 22px 48px rgba(51, 65, 85, .16); }

.rcew-flexi-load-more { transition: background-color .2s ease, color .2s ease, border-color .2s ease, box-shadow .2s ease, transform .2s ease; }

@media (max-width: 520px) {
	.rcew-flexi-card-floating-cart .rcew-flexi-product-actions { position: static; margin-top: 2px; }
	.rcew-flexi-card-floating-cart .rcew-flexi-add-to-cart { width: 100%; }
	.rcew-flexi-card-split-panel .rcew-flexi-product-content { margin-right: 5px; margin-left: 5px; }
}

@media (prefers-reduced-motion: reduce) {
	.rcew-flexi-product-card,
	.rcew-flexi-product-image img,
	.rcew-flexi-view-link,
	.rcew-flexi-button,
	.rcew-flexi-add-to-cart { transition-duration: .01ms !important; }
	.rcew-flexi-product-card:hover,
	.rcew-flexi-load-more:hover { transform: none !important; }
}

.rcew-flexi-loader {
	position: absolute;
	inset: 0;
	z-index: 10;
	display: flex;
	align-items: flex-start;
	justify-content: center;
	padding-top: 40px;
	background: rgba(255,255,255,.72);
	backdrop-filter: blur(1px);
}

.rcew-flexi-loader[hidden] { display: none; }
.rcew-flexi-loader span {
	width: 30px;
	height: 30px;
	border: 3px solid #d1d5db;
	border-top-color: #111827;
	border-radius: 50%;
	animation: rcew-flexi-spin .7s linear infinite;
}
@keyframes rcew-flexi-spin { to { transform: rotate(360deg); } }

.rcew-flexi-no-results {
	grid-column: 1 / -1;
	width: 100%;
	padding: 36px 20px;
	border: 1px dashed #d1d5db;
	border-radius: 10px;
	text-align: center;
	color: #6b7280;
}

.rcew-flexi-load-more-wrap { display: flex; justify-content: center; margin-top: 28px; }
.rcew-flexi-load-more-wrap[hidden] { display: none; }

@media (hover: none) {
	.rcew-flexi-view-link { opacity: 1; transform: none; }
	.rcew-flexi-card-hover-reveal .rcew-flexi-product-actions { max-height: 90px; opacity: 1; transform: none; }
}

@media (max-width: 767px) {
	.rcew-flexi-filter-bar { flex-wrap: wrap; }
	.rcew-flexi-search-input { flex: 1 1 100%; width: 100%; }
	.rcew-flexi-category-select { flex: 1 1 calc(100% - 120px); min-width: 0; }
	.rcew-flexi-search-button { flex: 0 0 auto; }

	.rcew-flexi-card-horizontal { flex-direction: column; }
	.rcew-flexi-card-horizontal .rcew-flexi-product-image-wrap { flex-basis: auto; width: 100%; }
	.rcew-flexi-card-horizontal .rcew-flexi-product-image { min-height: 0; aspect-ratio: 1 / 1; }
	.rcew-flexi-card-horizontal .rcew-flexi-product-content { flex-basis: auto; }

	.rcew-flexi-card-overlay,
	.rcew-flexi-card-overlay .rcew-flexi-product-content { min-height: 360px; }
}

@media (max-width: 420px) {
	.rcew-flexi-category-select { flex: 1 1 100%; width: 100%; }
	.rcew-flexi-search-button { width: 100%; }
	.rcew-flexi-card-compact .rcew-flexi-product-footer,
	.rcew-flexi-card-horizontal .rcew-flexi-product-footer { align-items: stretch; flex-direction: column; }
	.rcew-flexi-card-compact .rcew-flexi-product-actions,
	.rcew-flexi-card-horizontal .rcew-flexi-product-actions { margin-left: 0; }
	.rcew-flexi-card-compact .rcew-flexi-add-to-cart,
	.rcew-flexi-card-horizontal .rcew-flexi-add-to-cart { width: 100%; }
}

/* ShopCraft v1.2.0 — reliable Elementor button/icon sizing. */
.rcew-flexi-search-icon,
.rcew-flexi-load-more-icon,
.rcew-flexi-product-button-icon,
.rcew-flexi-view-link-icon{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	flex:0 0 auto;
	line-height:1;
	box-sizing:border-box;
}
.rcew-flexi-search-icon i,
.rcew-flexi-search-icon svg,
.rcew-flexi-load-more-icon i,
.rcew-flexi-load-more-icon svg,
.rcew-flexi-product-button-icon i,
.rcew-flexi-product-button-icon svg,
.rcew-flexi-view-link-icon i,
.rcew-flexi-view-link-icon svg{
	display:block;
	width:1em;
	height:1em;
	margin:0;
	line-height:1;
	color:inherit;
	fill:currentColor;
	stroke:currentColor;
}
.rcew-flexi-button-label,
.rcew-flexi-product-button-label{display:inline-block;min-width:0;}
.rcew-flexi-search-button,
.rcew-flexi-load-more,
.rcew-flexi-add-to-cart{align-items:center;justify-content:center;}


/* =========================================================
   ShopCraft v1.3.0 — Elementor-style buttons and image action
   ========================================================= */
.rcew-flexi-product-widget .rcew-flexi-button,
.rcew-flexi-product-widget .rcew-flexi-add-to-cart{
 display:inline-flex !important;align-items:center !important;justify-content:center !important;box-sizing:border-box;
 height:auto;min-height:0 !important;padding: 0;gap:6px;column-gap:6px;line-height:inherit;
}
.rcew-flexi-product-widget .rcew-flexi-search-icon,
.rcew-flexi-product-widget .rcew-flexi-load-more-icon,
.rcew-flexi-product-widget .rcew-flexi-product-button-icon,
.rcew-flexi-product-widget .rcew-flexi-view-link-icon{
 display:inline-flex !important;align-items:center;justify-content:center;flex:0 0 auto;padding: 0;margin:0;line-height:1;pointer-events:none;
}
.rcew-flexi-product-widget .rcew-flexi-button-label,
.rcew-flexi-product-widget .rcew-flexi-product-button-label{display:inline-block;margin:0;padding:0;line-height:inherit;}
.rcew-flexi-product-widget .rcew-flexi-view-link{
 --rcew-flexi-view-move:0px;--rcew-flexi-view-scale:1;--rcew-flexi-view-duration:200ms;
 top:12px;right:12px;display:inline-flex !important;align-items:center;justify-content:center;
 width:auto;height:auto;min-width:0;min-height:0;padding:0 !important;margin:0;border:0;border-radius:0;
 background:transparent;color:#111827;box-shadow:none;line-height:1;opacity:1;visibility:visible;transform:none;
 transition:opacity var(--rcew-flexi-view-duration) ease,visibility var(--rcew-flexi-view-duration) ease,transform var(--rcew-flexi-view-duration) ease,background-color var(--rcew-flexi-view-duration) ease,color var(--rcew-flexi-view-duration) ease,border-color var(--rcew-flexi-view-duration) ease,box-shadow var(--rcew-flexi-view-duration) ease;
}
.rcew-flexi-product-widget .rcew-flexi-view-link:hover,
.rcew-flexi-product-widget .rcew-flexi-view-link:focus-visible{background:transparent;color:inherit;transform:translateY(calc(-1 * var(--rcew-flexi-view-move))) scale(var(--rcew-flexi-view-scale));}
.rcew-flexi-product-widget.rcew-flexi-view-visibility-hover .rcew-flexi-view-link{opacity:0;visibility:hidden;pointer-events:none;transform:translateY(-8px);}
.rcew-flexi-product-widget.rcew-flexi-view-visibility-hover .rcew-flexi-product-card:hover .rcew-flexi-view-link,
.rcew-flexi-product-widget.rcew-flexi-view-visibility-hover .rcew-flexi-view-link:focus-visible{opacity:1;visibility:visible;pointer-events:auto;transform:none;}
@media (hover:none){.rcew-flexi-product-widget.rcew-flexi-view-visibility-hover .rcew-flexi-view-link{opacity:1;visibility:visible;pointer-events:auto;transform:none;}}


/* ShopCraft v1.3.0 final zero-padding model for Flexi text buttons. */
.rcew-flexi-product-widget button,
.rcew-flexi-product-widget a.rcew-flexi-add-to-cart,
.rcew-flexi-product-widget a.rcew-flexi-view-link {
  padding: 0;
  box-sizing:border-box;
}
.rcew-flexi-search-button,
.rcew-flexi-add-to-cart,
.rcew-flexi-load-more {
  min-height:0 !important;
  height:auto;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:6px;
  column-gap:6px;
}
.rcew-flexi-view-link {
  min-width:0;
  min-height:0;
}


/* View icon anchor positioning avoids conflicting top/bottom or left/right values. */
.rcew-flexi-view-anchor-top-right .rcew-flexi-view-link{
  top:var(--rcew-flexi-view-y,12px);right:var(--rcew-flexi-view-x,12px);bottom:auto;left:auto;
}
.rcew-flexi-view-anchor-top-left .rcew-flexi-view-link{
  top:var(--rcew-flexi-view-y,12px);right:auto;bottom:auto;left:var(--rcew-flexi-view-x,12px);
}
.rcew-flexi-view-anchor-bottom-right .rcew-flexi-view-link{
  top:auto;right:var(--rcew-flexi-view-x,12px);bottom:var(--rcew-flexi-view-y,12px);left:auto;
}
.rcew-flexi-view-anchor-bottom-left .rcew-flexi-view-link{
  top:auto;right:auto;bottom:var(--rcew-flexi-view-y,12px);left:var(--rcew-flexi-view-x,12px);
}


/* ShopCraft v1.3.1 — Flexi text buttons use typography + padding only. */
.rcew-flexi-product-widget .rcew-flexi-search-button,
.rcew-flexi-product-widget .rcew-flexi-add-to-cart,
.rcew-flexi-product-widget .rcew-flexi-load-more {
  min-height:0 !important;
  height:auto !important;
}


/* =========================================================
   ShopCraft v1.3.2 — isolated button content and reliable
   four-side padding. Theme rules can no longer pin the label
   to an edge or cancel the right-side padding.
   ========================================================= */
.rcew-flexi-product-widget .rcew-flexi-search-button,
.rcew-flexi-product-widget .rcew-flexi-add-to-cart,
.rcew-flexi-product-widget .rcew-flexi-load-more {
	text-indent: 0 !important;
	white-space: nowrap;
	overflow: visible;
}

.rcew-flexi-product-widget .rcew-flexi-button-content {
	position: static !important;
	inset: auto !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	flex: 0 0 auto !important;
	width: auto !important;
	height: auto !important;
	min-width: 0 !important;
	min-height: 0 !important;
	max-width: none !important;
	margin: 0 !important;
	padding: 0 !important;
	gap: var(--rcew-flexi-button-icon-gap, 6px) !important;
	column-gap: var(--rcew-flexi-button-icon-gap, 6px) !important;
	line-height: inherit;
	text-align: center;
	text-indent: 0 !important;
	white-space: nowrap;
	transform: none !important;
	overflow: visible;
	pointer-events: none;
}

.rcew-flexi-product-widget .rcew-flexi-button-label,
.rcew-flexi-product-widget .rcew-flexi-product-button-label {
	position: static !important;
	inset: auto !important;
	display: inline-block !important;
	flex: 0 0 auto !important;
	width: auto !important;
	height: auto !important;
	min-width: 0 !important;
	max-width: none !important;
	margin: 0 !important;
	padding: 0 !important;
	line-height: inherit;
	text-align: center;
	text-indent: 0 !important;
	white-space: nowrap;
	transform: none !important;
	overflow: visible;
}

.rcew-flexi-product-widget .rcew-flexi-button-content > .rcew-flexi-search-icon,
.rcew-flexi-product-widget .rcew-flexi-button-content > .rcew-flexi-load-more-icon,
.rcew-flexi-product-widget .rcew-flexi-button-content > .rcew-flexi-product-button-icon {
	position: static !important;
	inset: auto !important;
	flex: 0 0 auto !important;
	transform: none !important;
}

/* ShopCraft v1.3.2 final — Search and Load More padding remain editable on every side. */
.rcew-flexi-product-widget .rcew-flexi-search-button,
.rcew-flexi-product-widget .rcew-flexi-load-more {
	width: auto;
	max-width: 100%;
	flex-shrink: 0;
}
.rcew-flexi-product-widget .rcew-flexi-search-button > .rcew-flexi-button-content,
.rcew-flexi-product-widget .rcew-flexi-load-more > .rcew-flexi-button-content {
	max-width: 100% !important;
}
@media (max-width: 420px) {
	.rcew-flexi-product-widget .rcew-flexi-search-button {
		width: 100%;
	}
}

/* =========================================================
   ShopCraft v1.4.0 — native Elementor button structure
   The clickable element owns padding; the inner wrapper only
   aligns icon and text. This mirrors Elementor's Button widget.
   ========================================================= */
.rcew-flexi-product-widget .elementor-button.rcew-flexi-search-button,
.rcew-flexi-product-widget .elementor-button.rcew-flexi-load-more,
.rcew-flexi-product-widget .elementor-button.rcew-flexi-add-to-cart {
	appearance: none;
	-webkit-appearance: none;
	display: inline-block !important;
	box-sizing: border-box !important;
	height: auto !important;
	min-height: 0 !important;
	padding-top: var(--rcew-flexi-button-padding-top, 0px) !important;
	padding-right: var(--rcew-flexi-button-padding-right, 0px) !important;
	padding-bottom: var(--rcew-flexi-button-padding-bottom, 0px) !important;
	padding-left: var(--rcew-flexi-button-padding-left, 0px) !important;
	line-height: 1;
	text-align: center;
	vertical-align: middle;
	white-space: nowrap;
}

.rcew-flexi-product-widget .elementor-button .elementor-button-content-wrapper {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 100%;
	min-width: 0;
	height: auto;
	margin: 0 !important;
	padding: 0 !important;
	gap: 6px;
	column-gap: 6px;
	line-height: inherit;
	text-align: center;
}

.rcew-flexi-product-widget .elementor-button .elementor-button-icon,
.rcew-flexi-product-widget .elementor-button .elementor-button-text {
	position: static !important;
	inset: auto !important;
	flex: 0 0 auto !important;
	width: auto;
	min-width: 0;
	max-width: none;
	margin: 0 !important;
	line-height: inherit;
	transform: none !important;
}

.rcew-flexi-product-widget .elementor-button .elementor-button-icon {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	order: initial !important;
}

.rcew-flexi-product-widget .elementor-button .elementor-button-text {
	display: inline-block !important;
	padding: 0 !important;
	text-align: center;
	white-space: nowrap;
	order: initial !important;
}

.rcew-flexi-product-widget .elementor-button .elementor-align-icon-left,
.rcew-flexi-product-widget .elementor-button .elementor-align-icon-right {
	margin: 0 !important;
}

/* =========================================================
   ShopCraft v1.4.1 — centered Elementor button content and
   per-card hover-only View Product action by default.
   ========================================================= */
.rcew-flexi-product-widget .elementor-button.rcew-flexi-search-button,
.rcew-flexi-product-widget .elementor-button.rcew-flexi-load-more,
.rcew-flexi-product-widget .elementor-button.rcew-flexi-add-to-cart {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	text-align: center !important;
}

.rcew-flexi-product-widget .elementor-button.rcew-flexi-search-button > .elementor-button-content-wrapper,
.rcew-flexi-product-widget .elementor-button.rcew-flexi-load-more > .elementor-button-content-wrapper,
.rcew-flexi-product-widget .elementor-button.rcew-flexi-add-to-cart > .elementor-button-content-wrapper {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: auto !important;
	max-width: 100% !important;
	flex: 0 0 auto !important;
	margin-left: auto !important;
	margin-right: auto !important;
	text-align: center !important;
}

.rcew-flexi-product-widget .elementor-button .elementor-button-icon,
.rcew-flexi-product-widget .elementor-button .elementor-button-text {
	align-self: center !important;
}

/* Hide every eye icon until its own product card is hovered or keyboard-focused. */
.rcew-flexi-product-widget.rcew-flexi-view-visibility-hover .rcew-flexi-view-link {
	opacity: 0 !important;
	visibility: hidden !important;
	pointer-events: none !important;
	transform: translateY(-6px) !important;
}

.rcew-flexi-product-widget.rcew-flexi-view-visibility-hover .rcew-flexi-product-card:hover .rcew-flexi-view-link,
.rcew-flexi-product-widget.rcew-flexi-view-visibility-hover .rcew-flexi-product-card:focus-within .rcew-flexi-view-link {
	opacity: 1 !important;
	visibility: visible !important;
	pointer-events: auto !important;
	transform: translateY(0) !important;
}

/* Explicit always-visible mode remains available in Elementor. */
.rcew-flexi-product-widget.rcew-flexi-view-visibility-always .rcew-flexi-view-link {
	opacity: 1 !important;
	visibility: visible !important;
	pointer-events: auto !important;
	transform: none !important;
}


/* =========================================================
   ShopCraft v1.4.3 — zero really means zero.
   Defaults are fallbacks only; Elementor-generated CSS custom
   properties always remain authoritative, including 0 values.
   No global variable declaration can overwrite a saved control.
   ========================================================= */
.rcew-flexi-product-widget .elementor-button.rcew-flexi-search-button,
.rcew-flexi-product-widget .elementor-button.rcew-flexi-load-more {
    padding-top: var(--rcew-flexi-button-padding-top, 12px) !important;
    padding-right: var(--rcew-flexi-button-padding-right, 24px) !important;
    padding-bottom: var(--rcew-flexi-button-padding-bottom, 12px) !important;
    padding-left: var(--rcew-flexi-button-padding-left, 24px) !important;
}

.rcew-flexi-product-widget .elementor-button.rcew-flexi-add-to-cart {
    padding-top: var(--rcew-flexi-button-padding-top, 0px) !important;
    padding-right: var(--rcew-flexi-button-padding-right, 0px) !important;
    padding-bottom: var(--rcew-flexi-button-padding-bottom, 0px) !important;
    padding-left: var(--rcew-flexi-button-padding-left, 0px) !important;
}

.rcew-flexi-product-widget .elementor-button.rcew-flexi-search-button > .elementor-button-content-wrapper,
.rcew-flexi-product-widget .elementor-button.rcew-flexi-load-more > .elementor-button-content-wrapper,
.rcew-flexi-product-widget .elementor-button.rcew-flexi-add-to-cart > .elementor-button-content-wrapper {
    margin: 0 auto !important;
    padding: 0 !important;
}

.rcew-flexi-product-widget .elementor-button.rcew-flexi-search-button .elementor-button-icon,
.rcew-flexi-product-widget .elementor-button.rcew-flexi-load-more .elementor-button-icon,
.rcew-flexi-product-widget .elementor-button.rcew-flexi-add-to-cart .elementor-button-icon,
.rcew-flexi-product-widget .elementor-button.rcew-flexi-search-button .elementor-button-text,
.rcew-flexi-product-widget .elementor-button.rcew-flexi-load-more .elementor-button-text,
.rcew-flexi-product-widget .elementor-button.rcew-flexi-add-to-cart .elementor-button-text {
    margin: 0 !important;
}

/* =========================================================
   ShopCraft v1.4.4 — exact visual centering for Search,
   Load More and Add to Cart icon/text groups.
   ========================================================= */
.rcew-flexi-product-widget .elementor-button.rcew-flexi-search-button,
.rcew-flexi-product-widget .elementor-button.rcew-flexi-load-more,
.rcew-flexi-product-widget .elementor-button.rcew-flexi-add-to-cart {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
}

.rcew-flexi-product-widget .elementor-button.rcew-flexi-search-button > .elementor-button-content-wrapper,
.rcew-flexi-product-widget .elementor-button.rcew-flexi-load-more > .elementor-button-content-wrapper,
.rcew-flexi-product-widget .elementor-button.rcew-flexi-add-to-cart > .elementor-button-content-wrapper {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex: 0 0 auto !important;
  width: max-content !important;
  min-width: 0 !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  box-sizing: border-box !important;
  text-align: center !important;
}

.rcew-flexi-product-widget .elementor-button > .elementor-button-content-wrapper > .elementor-button-icon,
.rcew-flexi-product-widget .elementor-button > .elementor-button-content-wrapper > .elementor-button-text {
  flex: 0 0 auto !important;
  margin: 0 !important;
  transform: none !important;
}


/* =========================================================
   ShopCraft v1.4.5 — balanced button content.
   Theme/Elementor pseudo-elements are removed from ShopCraft
   text buttons so they cannot become hidden flex items and
   push the visible icon/text group away from the true center.
   The content wrapper fills the button's content box, while
   its children are centered as a compact grid group.
   ========================================================= */
.rcew-flexi-product-widget .elementor-button.rcew-flexi-search-button::before,
.rcew-flexi-product-widget .elementor-button.rcew-flexi-search-button::after,
.rcew-flexi-product-widget .elementor-button.rcew-flexi-load-more::before,
.rcew-flexi-product-widget .elementor-button.rcew-flexi-load-more::after,
.rcew-flexi-product-widget .elementor-button.rcew-flexi-add-to-cart::before,
.rcew-flexi-product-widget .elementor-button.rcew-flexi-add-to-cart::after {
  content: none !important;
  display: none !important;
}

.rcew-flexi-product-widget .elementor-button.rcew-flexi-search-button,
.rcew-flexi-product-widget .elementor-button.rcew-flexi-load-more,
.rcew-flexi-product-widget .elementor-button.rcew-flexi-add-to-cart {
  display: inline-grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  align-items: center !important;
  justify-items: stretch !important;
  place-content: center !important;
  box-sizing: border-box !important;
}

.rcew-flexi-product-widget .elementor-button.rcew-flexi-search-button > .elementor-button-content-wrapper,
.rcew-flexi-product-widget .elementor-button.rcew-flexi-load-more > .elementor-button-content-wrapper,
.rcew-flexi-product-widget .elementor-button.rcew-flexi-add-to-cart > .elementor-button-content-wrapper {
  display: grid !important;
  grid-auto-flow: column !important;
  grid-auto-columns: max-content !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  box-sizing: border-box !important;
  text-align: center !important;
}

.rcew-flexi-product-widget .elementor-button.rcew-flexi-search-button > .elementor-button-content-wrapper > *,
.rcew-flexi-product-widget .elementor-button.rcew-flexi-load-more > .elementor-button-content-wrapper > *,
.rcew-flexi-product-widget .elementor-button.rcew-flexi-add-to-cart > .elementor-button-content-wrapper > * {
  margin-inline: 0 !important;
  translate: none !important;
}
