/**
 * AuraShop Smart Filter & Archive Suite — Luxury Stylesheet v3.0.0
 *
 * - Hardened Specificity & Box-Model Isolation against WoodMart / Elementor / WooCommerce resets
 * - Seamless White-Background Photo Studio Blend (`mix-blend-mode: multiply`)
 * - 3 Distinct Luxury Filter Designs + 2 Eye-Catching Boutique Product Card Designs
 * - Full RTL (Persian / Arabic) & LTR (German / English) Support
 */

/* ==========================================================================
   1. DESIGN TOKENS & ROOT VARIABLES
   ========================================================================== */
.as-filter-widget,
.as-archive-widget,
.as-qv-modal {
	--as-accent: #141416;
	--as-accent-hover: #27272a;
	--as-gold: #b8965a;
	--as-gold-soft: rgba(184, 150, 90, 0.14);
	--as-gold-border: rgba(184, 150, 90, 0.42);
	--as-sale: #be123c;
	--as-sale-bg: #fff1f2;
	--as-success: #15803d;
	--as-text: #18181b;
	--as-text-muted: #71717a;
	--as-text-light: #a1a1aa;
	--as-surface: #ffffff;
	--as-surface-warm: #faf9f6;
	--as-surface-subtle: #f4f4f5;
	--as-border: rgba(20, 20, 22, 0.09);
	--as-border-strong: rgba(20, 20, 22, 0.16);
	--as-radius: 14px;
	--as-card-radius: 14px;
	--as-shadow-sm: 0 4px 16px -2px rgba(20, 20, 22, 0.045);
	--as-shadow-md: 0 12px 32px -8px rgba(20, 20, 22, 0.09);
	--as-shadow-hover: 0 20px 42px -12px rgba(20, 20, 22, 0.14);
	--as-ease: cubic-bezier(0.22, 1, 0.36, 1);
	box-sizing: border-box;
	color: var(--as-text);
	line-height: 1.5;
	-webkit-font-smoothing: antialiased;
}

.as-filter-widget *,
.as-filter-widget *::before,
.as-filter-widget *::after,
.as-archive-widget *,
.as-archive-widget *::before,
.as-archive-widget *::after,
.as-qv-modal *,
.as-qv-modal *::before,
.as-qv-modal *::after {
	box-sizing: border-box;
}

.as-force-hidden,
.as-filter-widget .is-hidden,
.as-archive-widget .is-hidden,
.as-showcase-widget .is-hidden,
.as-qv-modal .is-hidden,
html body .as-filter-widget [hidden],
html body .as-archive-widget [hidden],
html body .as-filter-widget .as-force-hidden,
html body .as-archive-widget .as-force-hidden {
	display: none !important;
}

/* ==========================================================================
   2. IRONCLAD RESET AGAINST WOODMART / THEME GLOBAL BUTTON & INPUT RULES
   (Fixes grey button boxes, 0px crushed SVGs, and overlapping search icons!)
   ========================================================================== */
html body .as-filter-widget button.as-btn-reset,
html body .as-archive-widget button.as-btn-reset,
html body .as-qv-modal button.as-btn-reset,
html body .as-qv-modal button.as-qv-close {
	appearance: none !important;
	-webkit-appearance: none !important;
	min-height: 0 !important;
	min-width: 0 !important;
	height: auto;
	width: auto;
	margin: 0;
	padding: 0;
	border: none;
	background: transparent;
	color: inherit;
	font-family: inherit;
	font-size: inherit;
	font-weight: inherit;
	line-height: 1.35;
	letter-spacing: normal;
	text-transform: none !important;
	box-shadow: none !important;
	outline: none;
	cursor: pointer;
	text-decoration: none;
}

html body .as-filter-widget input.as-input-reset,
html body .as-archive-widget input.as-input-reset,
html body .as-qv-modal input {
	appearance: none !important;
	-webkit-appearance: none !important;
	box-shadow: none !important;
	margin: 0;
	font-family: inherit;
	outline: none;
}

html body .as-filter-widget svg,
html body .as-archive-widget svg,
html body .as-qv-modal svg {
	display: block !important;
	flex-shrink: 0 !important;
	max-width: none !important;
	overflow: visible !important;
	pointer-events: none;
}

/* ==========================================================================
   3. VISUAL SUBCATEGORIES STRIP (Hidden Scrollbar + Studio Blend Thumbnails)
   ========================================================================== */
.as-subcats-strip-wrap {
	margin-bottom: 22px;
	position: relative;
}

.as-subcats-strip {
	display: flex;
	align-items: stretch;
	gap: 12px;
	overflow-x: auto;
	padding: 4px 2px 8px;
	scrollbar-width: none !important;
	-ms-overflow-style: none !important;
	scroll-behavior: smooth;
}

.as-subcats-strip::-webkit-scrollbar {
	display: none !important;
	width: 0 !important;
	height: 0 !important;
}

.as-subcat-pill {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	flex: 0 0 auto;
	padding: 7px 16px 7px 8px;
	background: var(--as-surface);
	border: 1px solid var(--as-border);
	border-radius: 999px;
	text-decoration: none !important;
	color: var(--as-text) !important;
	box-shadow: 0 2px 10px rgba(0, 0, 0, 0.03);
	transition: transform 0.28s var(--as-ease), border-color 0.28s var(--as-ease), box-shadow 0.28s var(--as-ease);
}

[dir="rtl"] .as-subcat-pill {
	padding: 7px 8px 7px 16px;
}

.as-subcat-pill:hover {
	transform: translateY(-2px);
	border-color: var(--as-gold);
	box-shadow: 0 8px 20px rgba(184, 150, 90, 0.14);
}

.as-subcat-thumb {
	width: 44px;
	height: 44px;
	border-radius: 50%;
	background: #f8f6f2;
	border: 1px solid rgba(20, 20, 22, 0.06);
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
	flex-shrink: 0;
}

.as-subcat-thumb img {
	width: 82%;
	height: 82%;
	object-fit: contain;
	mix-blend-mode: multiply;
}

.as-subcat-meta {
	display: flex;
	flex-direction: column;
	gap: 1px;
}

.as-subcat-title {
	font-size: 13px;
	font-weight: 600;
	color: var(--as-text);
	white-space: nowrap;
}

.as-subcat-count {
	font-size: 11px;
	color: var(--as-text-muted);
	white-space: nowrap;
}

/* ==========================================================================
   4. ARCHIVE SHOP TOOLBAR (Refined Boutique Bar)
   ========================================================================== */
.as-archive-toolbar {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 14px 20px;
	padding: 12px 18px;
	margin-bottom: 20px;
	background: var(--as-surface);
	border: 1px solid var(--as-border);
	border-radius: 12px;
	box-shadow: var(--as-shadow-sm);
}

.as-toolbar-start,
.as-toolbar-end {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 16px;
}

/* Toolbar Filter Drawer Button */
.as-archive-widget button.as-toolbar-filter-btn {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 8px 16px !important;
	background: var(--as-accent) !important;
	color: #ffffff !important;
	border-radius: 999px !important;
	font-size: 12.5px !important;
	font-weight: 600 !important;
	transition: background 0.25s ease, transform 0.2s ease;
}

.as-archive-widget button.as-toolbar-filter-btn:hover {
	background: var(--as-gold) !important;
	transform: translateY(-1px);
}

.as-archive-widget button.as-toolbar-filter-btn svg {
	width: 15px !important;
	height: 15px !important;
	color: currentColor;
}

/* Per-Page Selector */
.as-per-page-nav {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	font-size: 13px;
}

.as-toolbar-muted {
	color: var(--as-text-muted);
	font-weight: 500;
	margin-inline-end: 2px;
}

.as-pp-sep {
	color: #d4d4d8;
	font-size: 12px;
}

.as-archive-widget button.as-pp-link {
	padding: 3px 6px !important;
	border-radius: 6px !important;
	font-size: 13px !important;
	font-weight: 500 !important;
	color: var(--as-text-muted) !important;
	background: transparent !important;
	transition: color 0.2s ease, background 0.2s ease;
}

.as-archive-widget button.as-pp-link:hover {
	color: var(--as-text) !important;
}

.as-archive-widget button.as-pp-link.is-active {
	color: var(--as-accent) !important;
	font-weight: 700 !important;
	background: var(--as-gold-soft) !important;
}

.as-result-count {
	font-size: 13px;
	color: var(--as-text-muted);
	font-weight: 500;
}

/* Column Grid Switchers (Fixed Crisp SVG Icons!) */
.as-grid-switchers {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	padding: 3px;
	background: var(--as-surface-subtle);
	border-radius: 9px;
}

.as-archive-widget button.as-col-switch {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 32px !important;
	height: 30px !important;
	padding: 0 !important;
	border-radius: 7px !important;
	color: #a1a1aa !important;
	background: transparent !important;
	transition: all 0.2s ease;
}

.as-archive-widget button.as-col-switch svg {
	width: 16px !important;
	height: 16px !important;
}

.as-archive-widget button.as-col-switch:hover {
	color: var(--as-text) !important;
}

.as-archive-widget button.as-col-switch.is-active {
	background: #ffffff !important;
	color: var(--as-accent) !important;
	box-shadow: 0 2px 6px rgba(0, 0, 0, 0.08) !important;
}

/* Ordering Select Dropdown */
.as-ordering-wrap {
	position: relative;
	display: inline-flex;
	align-items: center;
}

.as-archive-widget select.as-ordering-select {
	appearance: none !important;
	-webkit-appearance: none !important;
	height: 36px !important;
	min-height: 36px !important;
	padding: 0 34px 0 14px !important;
	border: 1px solid var(--as-border-strong) !important;
	border-radius: 9px !important;
	background: #ffffff !important;
	color: var(--as-text) !important;
	font-size: 13px !important;
	font-weight: 500 !important;
	cursor: pointer;
	transition: border-color 0.2s ease;
}

[dir="rtl"] .as-archive-widget select.as-ordering-select {
	padding: 0 14px 0 34px !important;
}

.as-archive-widget select.as-ordering-select:hover,
.as-archive-widget select.as-ordering-select:focus {
	border-color: var(--as-gold) !important;
}

.as-select-chevron {
	position: absolute;
	right: 11px;
	top: 50%;
	transform: translateY(-50%);
	width: 14px !important;
	height: 14px !important;
	color: var(--as-text-muted);
	pointer-events: none;
}

[dir="rtl"] .as-select-chevron {
	right: auto;
	left: 11px;
}

/* ==========================================================================
   5. ACTIVE FILTER CHIPS BAR
   ========================================================================== */
.as-active-chips-bar {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px;
	margin-bottom: 20px;
}

.as-active-chips-bar.is-empty {
	display: none;
}

.as-chips-heading {
	font-size: 12.5px;
	font-weight: 600;
	color: var(--as-text-muted);
}

.as-chips-list,
.as-fp-chips {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 7px;
}

.as-fp-chips {
	padding-bottom: 14px;
	margin-bottom: 14px;
	border-bottom: 1px dashed var(--as-border-strong);
}

.as-filter-widget button.as-filter-chip,
.as-archive-widget button.as-filter-chip {
	display: inline-flex !important;
	align-items: center !important;
	gap: 6px !important;
	padding: 5px 11px !important;
	background: var(--as-surface-warm) !important;
	border: 1px solid var(--as-gold-border) !important;
	border-radius: 999px !important;
	font-size: 12px !important;
	font-weight: 500 !important;
	color: var(--as-text) !important;
	transition: all 0.2s ease;
}

.as-filter-widget button.as-filter-chip:hover,
.as-archive-widget button.as-filter-chip:hover {
	background: var(--as-accent) !important;
	border-color: var(--as-accent) !important;
	color: #ffffff !important;
}

.as-chip-dot {
	width: 10px;
	height: 10px;
	border-radius: 50%;
	border: 1px solid rgba(0, 0, 0, 0.15);
	flex-shrink: 0;
}

.as-chip-x {
	font-size: 14px;
	line-height: 1;
	opacity: 0.7;
}

.as-archive-widget button.as-clear-all-link {
	padding: 4px 8px !important;
	font-size: 12px !important;
	font-weight: 600 !important;
	color: var(--as-sale) !important;
	text-decoration: underline !important;
	text-underline-offset: 3px;
}

/* ==========================================================================
   6. PRODUCT GRID & LUXURY PRODUCT CARDS (DESIGN 1 & DESIGN 2)
   ========================================================================== */
.as-grid-stage {
	position: relative;
	min-height: 160px;
}

.as-loading-overlay {
	position: absolute;
	inset: 0;
	background: rgba(255, 255, 255, 0.72);
	display: flex;
	align-items: flex-start;
	justify-content: center;
	padding-top: 90px;
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transition: opacity 0.22s ease, visibility 0.22s ease;
	z-index: 15;
	border-radius: 14px;
}

.as-archive-widget.is-loading .as-loading-overlay {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
}

.as-luxury-spinner {
	width: 36px;
	height: 36px;
	border: 2.5px solid rgba(184, 150, 90, 0.25);
	border-top-color: var(--as-gold);
	border-radius: 50%;
}

.as-archive-widget.is-loading .as-luxury-spinner,
.as-qv-loading .as-luxury-spinner {
	animation: asSpin 0.75s linear infinite;
}

@keyframes asSpin {
	to { transform: rotate(360deg); }
}

.as-products-grid {
	display: grid;
	grid-template-columns: repeat(var(--as-cols-desktop, 4), minmax(0, 1fr));
	column-gap: 22px;
	row-gap: 28px;
}

@media (max-width: 1024px) {
	.as-products-grid {
		grid-template-columns: repeat(var(--as-cols-tablet, 3), minmax(0, 1fr));
		column-gap: 16px;
		row-gap: 22px;
	}
	.as-grid-switchers {
		display: none;
	}
}

@media (max-width: 640px) {
	.as-products-grid {
		grid-template-columns: repeat(var(--as-cols-mobile, 2), minmax(0, 1fr));
		column-gap: 12px;
		row-gap: 16px;
	}
}

/* --------------------------------------------------------------------------
   PRODUCT CARD BASE + WHITE-BACKGROUND PHOTO STUDIO BLEND!
   -------------------------------------------------------------------------- */
.as-product-card {
	position: relative;
	display: flex;
	flex-direction: column;
	background: var(--as-surface);
	border: 1px solid rgba(20, 20, 22, 0.115);
	border-radius: var(--as-card-radius, 15px);
	box-shadow: 0 8px 24px -6px rgba(20, 20, 22, 0.075);
	transition: transform 0.36s var(--as-ease), border-color 0.36s var(--as-ease), box-shadow 0.36s var(--as-ease);
	overflow: hidden;
}

.as-products-grid > .as-product-card:nth-child(n+7) {
	content-visibility: auto;
	contain-intrinsic-size: auto 410px;
}

/* Luxury Brushed-Gold Top Shimmer Accent on Card Hover */
.as-product-card::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 2.5px;
	background: linear-gradient(90deg, transparent 0%, #c8a256 30%, #f1d99a 50%, #c8a256 70%, transparent 100%);
	opacity: 0;
	z-index: 6;
	transition: opacity 0.35s ease;
	pointer-events: none;
}

@media (hover: hover) {
	.as-product-card:hover {
		transform: translateY(-6px);
		border-color: rgba(184, 150, 90, 0.55);
		box-shadow: 0 22px 46px -12px rgba(20, 20, 22, 0.16);
	}

	.as-product-card:hover::before {
		opacity: 1;
	}
}

/* Design 1 (`likadeo_minimal`): Atelier Framed Padding */
.as-card-likadeo_minimal {
	padding: 10px;
}

.as-card-likadeo_minimal .as-card-media {
	border-radius: calc(var(--as-card-radius, 15px) - 4px);
	border: 1px solid rgba(20, 20, 22, 0.05);
}

/* Design 2 (`modern_editorial`): Full-Bleed Architectural Showcase */
.as-card-modern_editorial {
	border-radius: calc(var(--as-card-radius, 15px) + 2px);
}

.as-card-modern_editorial .as-card-media {
	border-radius: 0;
	border-bottom: 1px solid rgba(20, 20, 22, 0.07);
}

/* Studio Media Stage Tones (Warm Pearl-Champagne Backdrop so Jewelry & Watches Pop!) */
.as-card-media {
	position: relative;
	width: 100%;
	aspect-ratio: var(--as-img-ratio, 1/1);
	overflow: hidden;
	background: linear-gradient(160deg, #faf8f4 0%, #f1ede4 100%);
}

.as-stage-alabaster .as-card-media {
	background: linear-gradient(160deg, #f8f9fa 0%, #eceef1 100%);
}

.as-stage-pure_white .as-card-media {
	background: #ffffff;
	border: 1px solid rgba(20, 20, 22, 0.06);
}

.as-card-img-link {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	padding: 12px;
	text-decoration: none;
}

.as-card-img {
	width: 100%;
	height: 100%;
	object-fit: var(--as-img-fit, contain);
	/* v3.6.3: opacity only — no transform transition, so the photo can never drift */
	transition: opacity 0.32s var(--as-ease);
}

/* MAGIC STUDIO BLEND: Pushes off-white (#f8f8f8-#ffffff) photo edges to pure white & dissolves them 100% into the warm stage! */
.as-img-blend-multiply .as-card-img {
	mix-blend-mode: multiply;
}

@media (hover: hover) and (min-width: 769px) {
	.as-img-blend-multiply .as-card-img {
		filter: brightness(1.03) contrast(1.04);
	}
}

/*
 * v3.6.3 — the second photo sits in EXACTLY the same box as the first one
 * (same inset, same size, no transform at all) so the swap is a pure cross-fade.
 * Previously the swap also scaled the picture (1.04) which looked like the photo
 * was "shaking / jolting" on every hover, on desktop AND on mobile.
 */
.as-card-img-secondary {
	position: absolute;
	inset: 12px;
	width: calc(100% - 24px);
	height: calc(100% - 24px);
	max-width: calc(100% - 24px);
	max-height: calc(100% - 24px);
	opacity: 0;
	transform: none;
	pointer-events: none;
}

@media (hover: none) {
	/* v3.6.2: on touch devices there is no hover, so the cross-fade animation is pointless.
	   The second photo itself is STILL rendered (it is loaded lazily on first tap), it just
	   appears instantly instead of animating -> never an empty frame on mobile. */
	.as-card-img {
		transition: none;
	}
}

/*
 * v3.6.0 HOVER SWAP
 * `.is-hovering`  -> set by JS on pointer enter/leave (more reliable than :hover across transformed layers)
 * `.is-hover-ready` -> set by JS ONLY after the hover photo finished downloading,
 *                      so a product without a usable second photo can never show an empty stage.
 */
/*
 * v3.6.2: `is-hover-ready` now sits on the CARD and is only added once the second photo has
 * really finished downloading. Until then the primary photo stays 100% visible, so a slow
 * connection, a missing file or a phone can never produce an empty / blank stage.
 */
.as-product-card.has-hover-img.is-hovering.is-hover-ready:not(.is-previewing-swatch) .as-card-img-primary {
	opacity: 0;
}

.as-product-card.has-hover-img.is-hovering.is-hover-ready:not(.is-previewing-swatch) .as-card-img-secondary {
	opacity: 1;
	/* v3.6.3: no scale, no pan -> the photo never "moves", it only fades */
	transform: none !important;
}

/* v3.6.3: a product WITHOUT a second gallery photo simply stays perfectly still. */
.as-product-card:not(.has-hover-img):hover .as-card-img-primary,
.as-product-card.is-previewing-swatch:hover .as-card-img-primary,
.as-product-card.is-previewing-swatch .as-card-img-primary {
	transform: none !important;
}

/* Defeat any theme rule that zooms product photos on hover (WoodMart, Elementor, ...) */
html body .as-archive-widget .as-product-card:hover .as-card-img,
html body .as-archive-widget .as-product-card.is-hovering .as-card-img {
	transform: none !important;
}

/* Luxury Product Badges */
.as-card-badges {
	position: absolute;
	top: 10px;
	left: 10px;
	z-index: 4;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 5px;
	pointer-events: none;
}

[dir="rtl"] .as-card-badges {
	left: auto;
	right: 10px;
}

.as-badge {
	display: inline-flex;
	align-items: center;
	padding: 3.5px 9px;
	border-radius: 999px;
	font-size: 10.5px;
	font-weight: 700;
	letter-spacing: 0.04em;
	line-height: 1.2;
	box-shadow: 0 3px 8px rgba(0, 0, 0, 0.08);
}

.as-badge-sale {
	background: linear-gradient(135deg, #be123c 0%, #9f1239 100%);
	color: #ffffff;
}

.as-badge-new {
	background: #141416;
	color: #ffffff;
	border: 1px solid rgba(184, 150, 90, 0.45);
}

.as-badge-hot {
	background: linear-gradient(135deg, #c6a15b 0%, #9e7835 100%);
	color: #ffffff;
}

.as-badge-soldout {
	background: #71717a;
	color: #ffffff;
}

/* Floating Glass Action Buttons (Wishlist / Quick View / Compare) */
.as-card-actions {
	position: absolute;
	top: 10px;
	right: 10px;
	z-index: 5;
	display: flex;
	flex-direction: column;
	gap: 7px;
}

[dir="rtl"] .as-card-actions {
	right: auto;
	left: 10px;
}

.as-archive-widget button.as-action-btn {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 35px !important;
	height: 35px !important;
	padding: 0 !important;
	border-radius: 50% !important;
	background: rgba(255, 255, 255, 0.97) !important;
	border: 1px solid rgba(20, 20, 22, 0.09) !important;
	color: #18181b !important;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.07) !important;
	opacity: 0;
	transform: translateX(8px);
	transition: opacity 0.26s var(--as-ease), transform 0.26s var(--as-ease), background 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}

[dir="rtl"] .as-archive-widget button.as-action-btn {
	transform: translateX(-8px);
}

/* Keep Wishlist subtly accessible; slide in full stack on hover */
.as-archive-widget button.as-wishlist-btn.is-active {
	opacity: 1;
	transform: translateX(0);
	color: var(--as-sale) !important;
	border-color: rgba(190, 18, 60, 0.28) !important;
}

.as-archive-widget button.as-wishlist-btn.is-active svg {
	fill: currentColor;
}

.as-product-card:hover button.as-action-btn {
	opacity: 1;
	transform: translateX(0);
}

.as-product-card:hover button.as-action-btn:nth-child(2) {
	transition-delay: 0.04s;
}

.as-product-card:hover button.as-action-btn:nth-child(3) {
	transition-delay: 0.08s;
}

.as-archive-widget button.as-action-btn:hover {
	background: var(--as-accent) !important;
	border-color: var(--as-accent) !important;
	color: #ffffff !important;
}

.as-archive-widget button.as-action-btn svg {
	width: 16px !important;
	height: 16px !important;
	stroke: currentColor;
}

@media (hover: none), (max-width: 768px) {
	.as-archive-widget button.as-action-btn {
		opacity: 1;
		transform: none;
		width: 32px !important;
		height: 32px !important;
	}
	.as-archive-widget button.as-compare-btn {
		display: none !important;
	}
}

/* Design 1 Slide-Up Hover CTA Button */
.as-card-hover-cta {
	position: absolute;
	left: 10px;
	right: 10px;
	bottom: 10px;
	z-index: 5;
	opacity: 0;
	transform: translateY(10px);
	transition: opacity 0.28s var(--as-ease), transform 0.28s var(--as-ease);
}

.as-product-card:hover .as-card-hover-cta {
	opacity: 1;
	transform: translateY(0);
}

.as-archive-widget .as-cta-btn {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 7px !important;
	width: 100% !important;
	padding: 10px 14px !important;
	background: rgba(20, 20, 22, 0.96) !important;
	color: #ffffff !important;
	border-radius: 10px !important;
	font-size: 12.5px !important;
	font-weight: 600 !important;
	text-decoration: none !important;
	box-shadow: 0 8px 20px rgba(0, 0, 0, 0.16) !important;
	transition: background 0.22s ease, transform 0.2s ease;
}

.as-archive-widget .as-cta-btn:hover {
	background: var(--as-gold) !important;
	color: #ffffff !important;
}

/* Block WooCommerce's ugly injected "View Cart / نمایش سبد خرید" link beside AJAX buttons */
html body .as-archive-widget a.added_to_cart,
html body .as-qv-modal a.added_to_cart,
html body .as-product-card .added_to_cart {
	display: none !important;
	visibility: hidden !important;
	width: 0 !important;
	height: 0 !important;
	overflow: hidden !important;
}

/* Internal AJAX Add-to-Cart Button States (Spinner -> Checkmark ✓ -> Smooth Revert) */
html body .as-ajax-atc {
	position: relative !important;
	overflow: hidden !important;
}

.as-atc-content {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	transition: opacity 0.18s ease, transform 0.2s ease;
}

.as-atc-spinner,
.as-atc-check {
	position: absolute;
	inset: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	opacity: 0;
	transform: scale(0.65);
	pointer-events: none;
	transition: opacity 0.2s ease, transform 0.26s cubic-bezier(0.34, 1.56, 0.64, 1);
}

.as-ajax-atc.is-loading .as-spin-svg,
.is-loading .as-spin-svg {
	animation: asSpin 0.68s linear infinite;
}

html body .as-ajax-atc.is-loading .as-atc-content,
html body .as-ajax-atc.is-added .as-atc-content {
	opacity: 0 !important;
	transform: scale(0.84);
}

html body .as-ajax-atc.is-loading .as-atc-spinner {
	opacity: 1 !important;
	transform: scale(1);
}

html body .as-ajax-atc.is-added {
	background: var(--as-success) !important;
	border-color: var(--as-success) !important;
	color: #ffffff !important;
}

html body .as-ajax-atc.is-added .as-atc-check {
	opacity: 1 !important;
	transform: scale(1.06);
	color: #ffffff !important;
}

[dir="rtl"] .as-cta-arrow {
	transform: scaleX(-1);
}

/* Card Body Info */
.as-card-body {
	display: flex;
	flex-direction: column;
	flex: 1 1 auto;
	padding: 12px 6px 6px;
	gap: 6px;
}

.as-card-modern_editorial .as-card-body {
	padding: 14px 16px 15px;
}

.as-card-eyebrow-row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
}

.as-card-cat,
.as-card-brand {
	font-size: 10.5px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.07em;
	color: #9a845c;
	text-decoration: none !important;
	transition: color 0.2s ease;
}

.as-card-cat:hover {
	color: var(--as-accent);
}

.as-card-rating-pill {
	display: inline-flex;
	align-items: center;
	gap: 3px;
	padding: 2px 7px;
	background: var(--as-surface-warm);
	border: 1px solid rgba(184, 150, 90, 0.28);
	border-radius: 999px;
	font-size: 11px;
	font-weight: 600;
	color: var(--as-text);
}

.as-star-gold {
	color: #eab308;
	font-size: 11px;
}

.as-card-title {
	margin: 0 !important;
	font-size: 14px;
	font-weight: 600;
	line-height: 1.42;
	color: var(--as-text);
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	min-height: 2.84em;
}

.as-card-title a {
	color: inherit !important;
	text-decoration: none !important;
	transition: color 0.2s ease;
}

.as-product-card:hover .as-card-title a {
	color: var(--as-gold) !important;
}

/* Exact Product Variation Swatches (Image Swatches + Size Pills + '+N' Overflow Badge) */
/* v4.1.0: option name inside image swatches — only the Pill / Thumb swatch models of the showcase widget show it */
.as-card-swatch .as-sw-name { display: none; }

.as-card-swatch-stack {
	display: flex;
	flex-direction: column;
	gap: 5px;
	margin-top: 2px;
}

.as-card-swatches {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 6px;
}

html body .as-archive-widget button.as-swatch-img,
html body .as-qv-modal button.as-swatch-img {
	width: 28px !important;
	height: 28px !important;
	padding: 2px !important;
	border-radius: 50% !important;
	background: linear-gradient(160deg, #faf8f4 0%, #f1ede4 100%) !important;
	border: 1.5px solid rgba(20, 20, 22, 0.16) !important;
	overflow: hidden !important;
	flex-shrink: 0;
	transition: transform 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
}

html body .as-archive-widget button.as-swatch-img img,
html body .as-qv-modal button.as-swatch-img img {
	width: 100% !important;
	height: 100% !important;
	border-radius: 50% !important;
	object-fit: cover !important;
	mix-blend-mode: multiply;
	display: block !important;
}

html body .as-archive-widget button.as-swatch-img:hover,
html body .as-archive-widget button.as-swatch-img.is-active,
html body .as-qv-modal button.as-swatch-img:hover,
html body .as-qv-modal button.as-swatch-img.is-active {
	transform: scale(1.13);
	border-color: var(--as-gold) !important;
	box-shadow: 0 0 0 1.5px var(--as-gold) !important;
}

/*
 * v3.6.2 — SIZE / LABEL SWATCHES: the original pill look is BACK.
 *
 * Why it broke in 3.6.0: swatches became real <button> elements and every one of them
 * carries `.as-btn-reset`. The ironclad reset above
 * (`html body .as-archive-widget button.as-btn-reset` = specificity 0-2-3) was STRONGER
 * than the plain swatch rule (`.as-card-swatch.as-swatch-label` = 0-2-0), so it wiped out
 * the background, border, padding and min-height -> size swatches rendered as bare,
 * unstyled text on the card AND in the Quick View popup.
 *
 * Fix: use a selector that is strictly stronger than the reset (0-3-3) and re-assert the
 * original values.
 */
html body .as-archive-widget button.as-card-swatch.as-swatch-label,
html body .as-qv-modal button.as-card-swatch.as-swatch-label {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	min-height: 23px !important;
	height: 23px !important;
	padding: 2px 8px !important;
	margin: 0 !important;
	font-size: 11px !important;
	font-weight: 600 !important;
	line-height: 1.15 !important;
	background: var(--as-surface-warm) !important;
	border: 1px solid var(--as-border-strong) !important;
	border-radius: 6px !important;
	color: var(--as-text) !important;
	text-decoration: none !important;
	box-sizing: border-box !important;
	box-shadow: none !important;
	transition: background 0.18s ease, border-color 0.18s ease, color 0.18s ease, transform 0.18s ease !important;
}

html body .as-archive-widget button.as-card-swatch.as-swatch-label:hover,
html body .as-qv-modal button.as-card-swatch.as-swatch-label:hover {
	background: var(--as-accent) !important;
	border-color: var(--as-accent) !important;
	color: #ffffff !important;
}

html body .as-archive-widget .as-card-swatches button.as-swatch-more,
html body .as-qv-modal .as-card-swatches button.as-swatch-more {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	min-width: 24px !important;
	min-height: 23px !important;
	height: 23px !important;
	padding: 0 7px !important;
	margin: 0 !important;
	border-radius: 999px !important;
	background: var(--as-surface-warm) !important;
	border: 1px solid var(--as-gold-border) !important;
	font-size: 11px !important;
	font-weight: 700 !important;
	line-height: 1 !important;
	color: var(--as-accent) !important;
	text-decoration: none !important;
	box-sizing: border-box !important;
	box-shadow: none !important;
	transition: background 0.2s ease, border-color 0.2s ease, color 0.2s ease !important;
}

html body .as-archive-widget .as-card-swatches button.as-swatch-more:hover,
html body .as-qv-modal .as-card-swatches button.as-swatch-more:hover {
	background: var(--as-gold) !important;
	border-color: var(--as-gold) !important;
	color: #ffffff !important;
}

/* ============================================================
   v3.6.0 — "BUY FROM THE CARD" (swatch -> variation -> cart)
   ============================================================ */

/* Swatches are real buttons now (they must never navigate away) */
html body .as-archive-widget button.as-card-swatch,
html body .as-qv-modal button.as-card-swatch {
	cursor: pointer;
	font-family: inherit;
	line-height: 1.15;
	box-sizing: border-box;
	-webkit-appearance: none;
	appearance: none;
}

/* Selected swatch (variation chosen on the card / in Quick View) */
html body .as-archive-widget .as-card-swatch.is-selected,
html body .as-qv-modal .as-card-swatch.is-selected {
	border-color: var(--as-gold) !important;
	box-shadow: 0 0 0 1.5px var(--as-gold) !important;
	transform: scale(1.08);
}

html body .as-archive-widget button.as-swatch-label.is-selected,
html body .as-qv-modal button.as-swatch-label.is-selected {
	/* v3.6.4: `!important` on background + border is REQUIRED.
	   The base swatch rule above also uses `!important`, and an `!important` declaration
	   always wins regardless of order, so without it the pill kept its near-white
	   background while the text turned white -> the selected size looked blank/white. */
	background: var(--as-accent) !important;
	border-color: var(--as-accent) !important;
	color: #ffffff !important;
}

html body .as-archive-widget button.as-swatch-more {
	cursor: pointer;
	font-family: inherit;
	line-height: 1;
	box-sizing: border-box;
	-webkit-appearance: none;
	appearance: none;
}

/* ============================================================
   v3.6.2 — Quantity + add-to-cart DOCK
   The bar is an OVERLAY pinned to the bottom INSIDE the photo frame.
   * It slides up smoothly the moment a swatch is chosen.
   * It is absolutely positioned, so the card can NEVER grow -> no other
     card in the grid is pushed down and the grid stays perfectly even.
   * It slides away again the instant the product has been added to the cart.
   * The add button is ICON ONLY (just the cart), no text.
   ============================================================ */

.as-card-var-atc {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 6;
	display: flex;
	align-items: center;
	/* v3.6.3: the dock holds ONLY the quantity stepper (the cart button moved to the
	   price row), so it is centred inside the photo frame. */
	justify-content: center;
	gap: 0;
	width: 100%;
	min-width: 0;
	max-width: 100%;
	margin: 0;
	padding: 9px 10px;
	box-sizing: border-box;
	background: linear-gradient(to top, rgba(255, 255, 255, 0.97) 0%, rgba(255, 255, 255, 0.92) 70%, rgba(255, 255, 255, 0.86) 100%);
	box-shadow: 0 -1px 0 rgba(20, 20, 22, 0.08);
	/* closed state: parked just below the photo frame */
	transform: translateY(101%);
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transition: transform 0.30s cubic-bezier(0.22, 0.61, 0.36, 1), opacity 0.20s ease, visibility 0s linear 0.30s;
	will-change: transform;
}

.as-card-var-atc.is-open {
	transform: translateY(0);
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
	transition: transform 0.30s cubic-bezier(0.22, 0.61, 0.36, 1), opacity 0.16s ease, visibility 0s linear 0s;
}

/* Kept for backwards compatibility with any cached markup / custom CSS:
   `is-collapsed` is simply the opposite of `is-open`. */
.as-card-var-atc.is-collapsed.is-open {
	transform: translateY(101%);
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
}

.as-card-var-atc .as-var-qty {
	display: inline-flex;
	align-items: center;
	flex: 0 0 84px;
	width: 84px;
	height: 34px;
	border: 1px solid var(--as-border-strong);
	border-radius: 10px;
	overflow: hidden;
	background: #ffffff;
	box-sizing: border-box;
}

html body .as-archive-widget .as-card-var-atc .as-var-qty button {
	width: 26px !important;
	height: 32px !important;
	min-width: 26px !important;
	padding: 0 !important;
	margin: 0 !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	font-size: 15px !important;
	font-weight: 700 !important;
	line-height: 1 !important;
	background: var(--as-surface-warm) !important;
	color: var(--as-text) !important;
	border: none !important;
	box-shadow: none !important;
	cursor: pointer;
	flex: 0 0 26px;
}

html body .as-archive-widget .as-card-var-atc .as-var-qty button:hover {
	background: var(--as-gold-soft, #f6f0e6) !important;
}

html body .as-archive-widget .as-card-var-atc .as-var-qty input {
	flex: 1 1 auto;
	width: 100% !important;
	min-width: 0 !important;
	height: 32px !important;
	padding: 0 !important;
	margin: 0 !important;
	border: none !important;
	background: #ffffff !important;
	text-align: center !important;
	font-size: 13.5px !important;
	font-weight: 700 !important;
	color: var(--as-text) !important;
	box-shadow: none !important;
	-moz-appearance: textfield;
}

html body .as-archive-widget .as-card-var-atc .as-var-qty input::-webkit-outer-spin-button,
html body .as-archive-widget .as-card-var-atc .as-var-qty input::-webkit-inner-spin-button {
	-webkit-appearance: none;
	margin: 0;
}

/* ICON-ONLY add-to-cart button (v3.6.2): a clean square with just the cart */
/* ============================================================
   v3.6.4 — SMART OUT-OF-STOCK SWATCHES
   An option whose variations are all sold out is greyed out, struck
   through and cannot be selected. It is recomputed on every render, so
   as soon as WooCommerce receives stock the swatch becomes normal again.
   ============================================================ */
html body .as-archive-widget button.as-card-swatch.is-oos,
html body .as-qv-modal button.as-card-swatch.is-oos {
	opacity: 0.4 !important;
	cursor: not-allowed !important;
	filter: grayscale(1) !important;
	pointer-events: none;
}

html body .as-archive-widget button.as-swatch-img.is-oos,
html body .as-qv-modal button.as-swatch-img.is-oos {
	border-style: dashed !important;
	border-color: var(--as-border-strong) !important;
	box-shadow: none !important;
	transform: none !important;
}

html body .as-archive-widget button.as-swatch-label.is-oos,
html body .as-qv-modal button.as-swatch-label.is-oos {
	background: var(--as-surface-subtle) !important;
	border: 1px dashed var(--as-border-strong) !important;
	color: var(--as-text-light) !important;
	text-decoration: line-through !important;
}

/* An out-of-stock option must never react to hover or look selected */
html body .as-archive-widget button.as-card-swatch.is-oos:hover,
html body .as-qv-modal button.as-card-swatch.is-oos:hover,
html body .as-archive-widget button.as-card-swatch.is-oos.is-selected,
html body .as-qv-modal button.as-card-swatch.is-oos.is-selected {
	transform: none !important;
	box-shadow: none !important;
	border-color: var(--as-border-strong) !important;
	background: var(--as-surface-subtle) !important;
	color: var(--as-text-light) !important;
}

/* Small diagonal "not available" slash on image swatches */
html body .as-archive-widget button.as-swatch-img.is-oos::after,
html body .as-qv-modal button.as-swatch-img.is-oos::after {
	content: "";
	position: absolute;
	left: -2px;
	right: -2px;
	top: 50%;
	height: 1.5px;
	background: var(--as-text-light);
	transform: rotate(-45deg);
	border-radius: 2px;
}

html body .as-archive-widget button.as-swatch-img.is-oos,
html body .as-qv-modal button.as-swatch-img.is-oos {
	position: relative;
	overflow: visible;
}

/* ============================================================
   v3.6.4 — ONE single look for EVERY add-to-cart button on a card
   (simple products, variable products, design 1 and design 2).
   The selector is deliberately very strong so it also beats the
   design specific pill styling (`.as-card-mini-cta` / `.as-ed-atc-btn`).
   ============================================================ */
html body .as-archive-widget .as-product-card .as-card-atc-btn,
html body .as-archive-widget .as-product-card:hover .as-card-atc-btn {
	position: relative;
	flex: 0 0 36px;
	width: 36px;
	min-width: 36px;
	height: 32px !important;
	min-height: 32px !important;
	max-height: 32px !important;
	padding: 0 !important;
	margin: 0 !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 0 !important;
	background: var(--as-accent) !important;
	color: #ffffff !important;
	border: none !important;
	border-radius: 10px !important;
	box-sizing: border-box !important;
	cursor: pointer;
	transition: background 0.22s ease, opacity 0.22s ease, transform 0.22s ease;
}

html body .as-archive-widget .as-product-card .as-card-atc-btn:hover,
html body .as-archive-widget .as-product-card:hover .as-card-atc-btn:hover {
	background: var(--as-gold) !important;
	color: #ffffff !important;
}

html body .as-archive-widget .as-product-card .as-card-atc-btn .as-atc-content {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 0 !important;
	line-height: 0;
}

/* no wording on the card buttons — the cart icon alone (tooltip carries the text) */
html body .as-archive-widget .as-product-card .as-card-atc-btn .as-cta-text {
	display: none !important;
}

html body .as-archive-widget .as-product-card .as-card-atc-btn.is-disabled,
html body .as-archive-widget .as-product-card:hover .as-card-atc-btn.is-disabled,
html body .as-archive-widget .as-product-card:hover .as-card-atc-btn.is-disabled:hover {
	opacity: 0.42 !important;
	cursor: not-allowed;
	filter: grayscale(0.35);
}

html body .as-archive-widget .as-product-card .as-var-atc-btn {
	position: relative;
	flex: 0 0 36px;
	width: 36px;
	min-width: 36px;
	height: 32px !important;
	min-height: 32px !important;
	max-height: 32px !important;
	padding: 0 !important;
	margin: 0 !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 0 !important;
	background: var(--as-accent) !important;
	color: #ffffff !important;
	border: none !important;
	border-radius: 10px !important;
	box-sizing: border-box !important;
	cursor: pointer;
	transition: background 0.22s ease, opacity 0.22s ease, transform 0.22s ease;
}

/* v3.6.3: while no variation is chosen the cart is visibly parked, not just faded */
html body .as-archive-widget .as-product-card .as-var-atc-btn.is-disabled {
	opacity: 0.42 !important;
	cursor: not-allowed;
	filter: grayscale(0.35);
}

html body .as-archive-widget .as-product-card .as-var-atc-btn:hover {
	background: var(--as-gold) !important;
}

/* v3.6.3: design-1 restyles `.as-card-mini-cta` while the WHOLE card is hovered.
   Keep the cart pill identical in that state too (0-4-3 beats the 0-4-2 theme rule). */
html body .as-archive-widget .as-product-card:hover .as-var-atc-btn {
	background: var(--as-accent) !important;
	color: #ffffff !important;
	border: none !important;
	border-radius: 10px !important;
	padding: 0 !important;
}

html body .as-archive-widget .as-product-card:hover .as-var-atc-btn:hover {
	background: var(--as-gold) !important;
	color: #ffffff !important;
}

html body .as-archive-widget .as-product-card:hover .as-var-atc-btn.is-disabled,
html body .as-archive-widget .as-product-card:hover .as-var-atc-btn.is-disabled:hover {
	background: var(--as-accent) !important;
	opacity: 0.42 !important;
	filter: grayscale(0.35);
}

html body .as-archive-widget .as-product-card .as-var-atc-btn .as-atc-content {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 0 !important;
	line-height: 0;
}

html body .as-archive-widget .as-product-card .as-var-atc-btn .as-cta-text {
	display: none !important;
}

html body .as-archive-widget .as-product-card .as-var-atc-btn.is-disabled .as-atc-cart-icon {
	opacity: 0.85;
}

/* Phones: slightly tighter dock so the controls always fit inside the photo */
@media (max-width: 640px) {
	.as-card-var-atc {
		gap: 7px;
		padding: 8px 8px;
	}
	.as-card-var-atc .as-var-qty {
		flex: 0 0 78px;
		width: 78px;
	}
}

@media (max-width: 360px) {
	.as-card-var-atc .as-var-qty {
		flex: 0 0 70px;
		width: 70px;
	}
	html body .as-archive-widget .as-product-card .as-var-atc-btn {
		flex: 0 0 34px;
		width: 34px;
		min-width: 34px;
	}
}

/* ============================================================
   v3.6.3 — In-card message strip
   Replaces the old "open the Quick View when something goes wrong" behaviour:
   the shopper now sees the reason right on the card and stays where they are.
   ============================================================ */
.as-card-toast {
\tposition: absolute;
\tleft: 8px;
\tright: 8px;
\tbottom: 8px;
\tz-index: 8;
\tdisplay: block;
\tbox-sizing: border-box;
\tpadding: 8px 10px;
\tborder-radius: 9px;
\tbackground: rgba(20, 20, 22, 0.92);
\tcolor: #ffffff;
\tfont-size: 11.5px;
\tfont-weight: 600;
\tline-height: 1.35;
\ttext-align: center;
\topacity: 0;
\ttransform: translateY(6px);
\tpointer-events: none;
\ttransition: opacity 0.2s ease, transform 0.2s ease;
}

.as-card-toast[hidden] {
\tdisplay: none;
}

.as-card-toast.is-visible {
\topacity: 1;
\ttransform: translateY(0);
}

@media (prefers-reduced-motion: reduce) {
	.as-card-var-atc {
		transition: opacity 0.15s ease, visibility 0s linear 0.15s;
	}
}

/* Quick View inline hint ("please choose an option first") — never leaves the popup! */
.as-qv-notice {
	flex: 1 1 100%;
	margin: 0;
	padding: 8px 12px;
	border-radius: 10px;
	background: #fef2f2;
	color: #b91c1c;
	font-size: 12.5px;
	font-weight: 600;
	line-height: 1.35;
	text-align: center;
}

.as-qv-notice[hidden] {
	display: none !important;
}

.as-qv-notice.is-shake {
	animation: as-notice-shake 0.36s ease;
}

@keyframes as-notice-shake {
	0%, 100% { transform: translateX(0); }
	25%      { transform: translateX(-4px); }
	75%      { transform: translateX(4px); }
}

html body .as-qv-modal .as-qv-atc-btn.is-disabled {
	opacity: 0.62;
}

@media (prefers-reduced-motion: reduce) {
	.as-qv-notice.is-shake { animation: none; }
}

.as-price-from-wrap {
	display: inline-flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 4px;
}

.as-price-from-lbl {
	font-size: 12px;
	font-weight: 600;
	color: var(--as-text-muted);
	letter-spacing: 0.01em;
}

/* Star Rating Row */
.as-card-rating {
	display: flex;
	align-items: center;
	gap: 5px;
	font-size: 12px;
}

.as-stars {
	position: relative;
	display: inline-block;
	color: #e4e4e7;
	letter-spacing: 1px;
}

.as-stars::before {
	content: "★★★★★";
	position: absolute;
	top: 0;
	left: 0;
	width: var(--as-rating, 100%);
	overflow: hidden;
	color: #eab308;
}

.as-rating-num {
	font-size: 11px;
	color: var(--as-text-light);
}

/* Price Row & Editorial Split Footer */
.as-card-price-row {
	margin-top: auto;
	padding-top: 9px;
	border-top: 1px solid rgba(20, 20, 22, 0.075);
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
}

.as-card-price {
	font-size: 16px;
	font-weight: 800;
	color: var(--as-accent);
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 6px;
	letter-spacing: -0.01em;
}

.as-card-price del {
	font-size: 12.5px;
	font-weight: 400;
	color: var(--as-text-light);
	opacity: 0.9;
}

.as-card-price ins {
	background: transparent;
	text-decoration: none;
	color: var(--as-sale);
	font-weight: 800;
}

/* Luxury Circular Quick-Bag / Arrow Accent Button in Card Footer */
html body .as-archive-widget .as-card-mini-cta {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 33px !important;
	height: 33px !important;
	padding: 0 !important;
	border-radius: 50% !important;
	background: var(--as-surface-warm) !important;
	border: 1px solid var(--as-gold-border) !important;
	color: var(--as-accent) !important;
	text-decoration: none !important;
	flex-shrink: 0;
	transition: all 0.25s var(--as-ease);
}

html body .as-archive-widget .as-product-card:hover .as-card-mini-cta,
html body .as-archive-widget .as-card-mini-cta:hover {
	background: var(--as-accent) !important;
	border-color: var(--as-accent) !important;
	color: #f3dfb8 !important;
	transform: scale(1.06);
}

html body .as-archive-widget .as-card-mini-cta.is-added {
	background: var(--as-success) !important;
	border-color: var(--as-success) !important;
	color: #ffffff !important;
}

/* 3D Precious-Metal Sheen Swatches (Gold, Silver, Rose-Gold, Bicolor, Mother-of-Pearl) */
html body [data-swatch-slug="gold"] {
	background: radial-gradient(circle at 32% 28%, #fbf0b9 0%, #dfc05a 45%, #a88324 100%) !important;
}

html body [data-swatch-slug="silver"] {
	background: radial-gradient(circle at 32% 28%, #ffffff 0%, #d2d6dc 48%, #9399a3 100%) !important;
}

html body [data-swatch-slug="rosegold"] {
	background: radial-gradient(circle at 32% 28%, #fce4dc 0%, #df9f8c 48%, #a66957 100%) !important;
}

html body [data-swatch-slug="bicolor"] {
	background: linear-gradient(135deg, #eccf6d 0%, #c8a245 48%, #e2e5ea 52%, #9fa5af 100%) !important;
}

html body [data-swatch-slug="pearl_white"] {
	background: radial-gradient(circle at 32% 28%, #ffffff 0%, #f5efe4 62%, #dfd4c2 100%) !important;
}

/* Design 2 Persistent Action Footer */
.as-card-editorial-footer {
	margin-top: auto;
	padding-top: 10px;
	border-top: 1px solid var(--as-border);
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
}

.as-archive-widget .as-ed-atc-btn {
	display: inline-flex !important;
	align-items: center !important;
	gap: 6px !important;
	padding: 7px 13px !important;
	background: var(--as-surface-warm) !important;
	border: 1px solid var(--as-gold-border) !important;
	border-radius: 999px !important;
	font-size: 11.5px !important;
	font-weight: 600 !important;
	color: var(--as-accent) !important;
	text-decoration: none !important;
	white-space: nowrap;
	transition: all 0.22s ease;
}

.as-archive-widget .as-ed-atc-btn:hover {
	background: var(--as-accent) !important;
	border-color: var(--as-accent) !important;
	color: #ffffff !important;
}

@media (max-width: 640px) {
	.as-card-likadeo_minimal .as-card-hover-cta {
		position: static;
		opacity: 1;
		transform: none;
		padding: 0 6px 6px;
		background: transparent;
	}
	.as-card-likadeo_minimal .as-cta-btn {
		padding: 8px 10px !important;
		font-size: 11.5px !important;
	}
	.as-card-editorial-footer {
		flex-direction: column;
		align-items: stretch;
	}
	.as-archive-widget .as-ed-atc-btn {
		justify-content: center !important;
	}
}

/* ==========================================================================
   7. SMART FILTER WIDGET — 3 LUXURY DESIGNS (ISOLATED AGAINST WOODMART!)
   ========================================================================== */
.as-filter-widget {
	position: relative;
	width: 100%;
}

/* DESIGN 1: Atelier Boutique Framed Sidebar */
.as-filter-design_1 .as-filter-panel {
	background: var(--as-surface);
	border: 1px solid rgba(20, 20, 22, 0.115);
	border-radius: var(--as-radius, 16px);
	box-shadow: 0 10px 28px -6px rgba(20, 20, 22, 0.075);
	overflow: hidden;
}

.as-filter-design_1 .as-fp-header {
	padding: 16px 20px;
	background: linear-gradient(135deg, #141416 0%, #24242b 100%);
	border-bottom: 2px solid #c5a059;
	color: #ffffff;
}

.as-filter-design_1 .as-fp-title {
	color: #ffffff;
}

.as-filter-design_1 .as-fp-title-icon {
	color: var(--as-gold);
}

.as-filter-design_1 .as-fp-total-pill {
	background: rgba(184, 150, 90, 0.25);
	color: #f5e6c8;
	border: 1px solid rgba(184, 150, 90, 0.45);
}

.as-filter-design_1 button.as-fp-reset-btn {
	color: #fca5a5 !important;
}

.as-filter-design_1 .as-fp-scroll-body {
	padding: 18px 20px;
}

/* DESIGN 3: Floating Luxury Champagne Glass Card */
.as-filter-design_3 .as-filter-panel {
	background: linear-gradient(180deg, #fcfbf9 0%, #f6f3ec 100%);
	border: 1px solid var(--as-gold-border);
	border-radius: 20px;
	padding: 18px;
	box-shadow: var(--as-shadow-md);
}

.as-filter-design_3 .as-fp-header {
	padding: 4px 4px 14px;
	border-bottom: 1px solid rgba(184, 150, 90, 0.24);
	margin-bottom: 14px;
}

.as-filter-design_3 .as-filter-group {
	background: #ffffff;
	border: 1px solid rgba(20, 20, 22, 0.06);
	border-radius: 13px;
	padding: 13px 15px !important;
	margin-bottom: 12px;
	box-shadow: 0 3px 10px rgba(0, 0, 0, 0.025);
	border-bottom: 1px solid rgba(20, 20, 22, 0.06) !important;
}

/* DESIGN 2: Horizontal Capsule Bar + Off-Canvas Drawer */
.as-horiz-bar {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 12px 16px;
	padding: 12px 18px;
	margin-bottom: 18px;
	background: var(--as-surface);
	border: 1px solid var(--as-gold-border);
	border-radius: 16px;
	box-shadow: var(--as-shadow-sm);
}

.as-filter-widget button.as-horiz-drawer-btn {
	display: inline-flex !important;
	align-items: center !important;
	gap: 8px !important;
	padding: 9px 18px !important;
	background: var(--as-accent) !important;
	color: #ffffff !important;
	border-radius: 999px !important;
	font-size: 13px !important;
	font-weight: 600 !important;
	transition: background 0.22s ease;
}

.as-filter-widget button.as-horiz-drawer-btn:hover {
	background: var(--as-gold) !important;
}

.as-horiz-quick-pills {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px;
	flex: 1 1 auto;
}

.as-horiz-pill {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	padding: 7px 14px;
	background: var(--as-surface-warm);
	border: 1px solid var(--as-border-strong);
	border-radius: 999px;
	font-size: 12.5px;
	font-weight: 500;
	cursor: pointer;
	margin: 0;
	transition: all 0.2s ease;
}

.as-horiz-pill input {
	display: none !important;
}

.as-pill-dot {
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: var(--as-success);
}

.as-pill-dot.is-sale {
	background: var(--as-sale);
}

.as-horiz-pill.is-active {
	background: var(--as-accent);
	border-color: var(--as-accent);
	color: #ffffff;
}

.as-horiz-color-strip {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 5px 12px;
	background: var(--as-surface-warm);
	border: 1px solid var(--as-border);
	border-radius: 999px;
}

.as-horiz-strip-lbl {
	font-size: 12px;
	font-weight: 600;
	color: var(--as-text-muted);
	margin-inline-end: 3px;
}

.as-horiz-color-dot {
	display: inline-flex;
	cursor: pointer;
	margin: 0;
}

.as-horiz-color-dot input {
	display: none !important;
}

.as-hdot-swatch {
	width: 20px;
	height: 20px;
	border-radius: 50%;
	border: 2px solid #ffffff;
	box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.2);
	transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.as-horiz-color-dot.is-checked .as-hdot-swatch {
	transform: scale(1.16);
	box-shadow: 0 0 0 2px var(--as-accent);
}

.as-horiz-search {
	position: relative;
	min-width: 200px;
}

.as-filter-widget input[type="search"].as-horiz-search-input {
	width: 100% !important;
	height: 38px !important;
	min-height: 38px !important;
	padding: 0 14px 0 36px !important;
	border: 1px solid var(--as-border-strong) !important;
	border-radius: 999px !important;
	background: var(--as-surface-warm) !important;
	font-size: 12.5px !important;
	color: var(--as-text) !important;
}

[dir="rtl"] .as-filter-widget input[type="search"].as-horiz-search-input {
	padding: 0 36px 0 14px !important;
}

.as-horiz-search .as-search-svg {
	position: absolute;
	left: 12px;
	top: 50%;
	transform: translateY(-50%);
	color: var(--as-text-muted);
}

[dir="rtl"] .as-horiz-search .as-search-svg {
	left: auto;
	right: 12px;
}

/* Design 2 always uses Off-Canvas Drawer for its full `.as-filter-panel` (Zero shadow/touch bleed over WoodMart left menu when closed!) */
.as-filter-design_2 .as-filter-panel {
	position: fixed;
	top: 0;
	bottom: 0;
	left: 0;
	width: min(390px, 90vw);
	z-index: 99999;
	background: #ffffff;
	display: flex;
	flex-direction: column;
	visibility: hidden;
	pointer-events: none;
	box-shadow: none;
	transform: translate3d(-105%, 0, 0);
	transition: transform 0.34s var(--as-ease), visibility 0.34s ease;
}

[dir="rtl"].as-filter-design_2 .as-filter-panel {
	left: auto;
	right: 0;
	transform: translate3d(105%, 0, 0);
}

.as-filter-design_2.is-drawer-open .as-filter-panel {
	visibility: visible;
	pointer-events: auto;
	box-shadow: 20px 0 50px rgba(0, 0, 0, 0.22);
	transform: translate3d(0, 0, 0) !important;
}

.as-filter-design_2 .as-fp-header {
	padding: 18px 20px;
	background: #141416;
	color: #ffffff;
}

.as-filter-design_2 .as-fp-title,
.as-filter-design_2 button.as-fp-close-btn {
	color: #ffffff !important;
}

.as-filter-design_2 .as-fp-scroll-body {
	flex: 1 1 auto;
	overflow-y: auto;
	padding: 18px 20px;
}

/* Filter Panel Header Elements */
.as-fp-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
}

.as-fp-title-wrap {
	display: inline-flex;
	align-items: center;
	gap: 8px;
}

.as-fp-title {
	font-size: 14.5px;
	font-weight: 700;
	letter-spacing: 0.02em;
}

.as-fp-total-pill {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 2px 8px;
	border-radius: 999px;
	font-size: 11.5px;
	font-weight: 700;
	background: var(--as-gold-soft);
	color: var(--as-gold);
}

.as-fp-header-actions {
	display: inline-flex;
	align-items: center;
	gap: 10px;
}

.as-filter-widget button.as-fp-reset-btn {
	font-size: 12px !important;
	font-weight: 600 !important;
	color: var(--as-sale) !important;
	text-decoration: underline !important;
	padding: 2px 4px !important;
}

.as-filter-widget button.as-fp-close-btn {
	display: none !important;
	align-items: center !important;
	justify-content: center !important;
	width: 32px !important;
	height: 32px !important;
	border-radius: 50% !important;
	background: rgba(255, 255, 255, 0.12) !important;
}

.as-filter-design_2 button.as-fp-close-btn {
	display: inline-flex !important;
}

/* Search Box Inside Filter Sidebar (100% Immune to WoodMart Input Padding Overlap!) */
.as-fg-search-box {
	position: relative;
	margin-bottom: 18px;
}

.as-fg-search-box .as-search-svg {
	position: absolute;
	left: 13px;
	top: 50%;
	transform: translateY(-50%);
	width: 16px !important;
	height: 16px !important;
	color: var(--as-text-muted);
	z-index: 2;
}

[dir="rtl"] .as-fg-search-box .as-search-svg {
	left: auto;
	right: 13px;
}

.as-filter-widget input[type="search"].as-search-input {
	width: 100% !important;
	height: 42px !important;
	min-height: 42px !important;
	padding: 0 14px 0 40px !important;
	background: var(--as-surface-warm) !important;
	border: 1px solid var(--as-border-strong) !important;
	border-radius: 11px !important;
	font-size: 13px !important;
	color: var(--as-text) !important;
	transition: border-color 0.2s ease, background 0.2s ease;
}

[dir="rtl"] .as-filter-widget input[type="search"].as-search-input {
	padding: 0 40px 0 14px !important;
}

.as-filter-widget input[type="search"].as-search-input:focus {
	background: #ffffff !important;
	border-color: var(--as-gold) !important;
}

/* Filter Accordion Groups (NO MORE GREY WOODMART BUTTON BOXES!) */
.as-filter-group {
	padding: 15px 0;
	border-bottom: 1px solid var(--as-border);
}

.as-filter-group:last-child {
	border-bottom: none;
	padding-bottom: 4px;
}

.as-filter-widget button.as-fg-header {
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	width: 100% !important;
	padding: 2px 0 !important;
	background: transparent !important;
	border: none !important;
	text-align: start !important;
	color: var(--as-text) !important;
}

.as-fg-title {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	min-width: 0;
	font-size: 13.5px;
	font-weight: 700;
	color: var(--as-accent);
	letter-spacing: 0.015em;
	overflow-wrap: anywhere;
}

.as-fg-title::before {
	content: "";
	width: 3px;
	height: 14px;
	border-radius: 3px;
	background: linear-gradient(180deg, #d4af37 0%, #a37e3b 100%);
	flex-shrink: 0;
}

.as-fg-chevron {
	width: 15px !important;
	height: 15px !important;
	color: var(--as-text-muted);
	transition: transform 0.28s var(--as-ease);
}

.as-filter-group.is-open .as-fg-chevron {
	transform: rotate(180deg);
}

.as-fg-body {
	padding-top: 12px;
	min-width: 0;
	max-width: 100%;
	overflow-x: hidden;
}

.as-filter-group.is-collapsed .as-fg-body {
	display: none;
}

/* Lock horizontal movement across ALL filter containers & scroll bodies */
.as-filter-widget,
.as-filter-panel,
.as-fp-scroll-body {
	max-width: 100%;
	overflow-x: hidden !important;
	overscroll-behavior-x: none !important;
}

.as-fp-scroll-body {
	overscroll-behavior: contain;
	-webkit-overflow-scrolling: touch;
	touch-action: pan-y;
	scrollbar-gutter: stable;
}

/* Quick Search Inside Long Lists */
.as-fi-search-wrap {
	position: relative;
	margin-bottom: 10px;
}

.as-fi-search-icon {
	position: absolute;
	left: 10px;
	top: 50%;
	transform: translateY(-50%);
	color: var(--as-text-light);
}

[dir="rtl"] .as-fi-search-icon {
	left: auto;
	right: 10px;
}

.as-filter-widget input[type="text"].as-fi-quick-search {
	width: 100% !important;
	height: 34px !important;
	min-height: 34px !important;
	padding: 0 10px 0 30px !important;
	background: var(--as-surface-subtle) !important;
	border: 1px solid transparent !important;
	border-radius: 8px !important;
	font-size: 12px !important;
	color: var(--as-text) !important;
}

[dir="rtl"] .as-filter-widget input[type="text"].as-fi-quick-search {
	padding: 0 30px 0 10px !important;
}

.as-filter-widget input[type="text"].as-fi-quick-search:focus {
	background: #ffffff !important;
	border-color: var(--as-gold) !important;
}

/* Custom Checkboxes & Hierarchical Indentation */
.as-fi-list {
	list-style: none !important;
	margin: 0 !important;
	padding: 0 !important;
	max-height: 260px;
	overflow-y: auto;
	overflow-x: hidden !important;
	overscroll-behavior: contain;
	touch-action: pan-y;
	scrollbar-width: thin;
	scrollbar-color: #d4d4d8 transparent;
}

.as-fi-list::-webkit-scrollbar {
	width: 4px;
}

.as-fi-list::-webkit-scrollbar-thumb {
	background: #d4d4d8;
	border-radius: 4px;
}

.as-fi-item {
	margin: 0 0 3px !important;
	padding: 0 !important;
}

.as-fi-item.as-fi-depth-1 {
	padding-inline-start: 14px !important;
}

.as-fi-item.as-fi-depth-2 {
	padding-inline-start: 26px !important;
}

.as-fi-row {
	display: flex;
	align-items: center;
	gap: 9px;
	padding: 5px 6px;
	border-radius: 8px;
	cursor: pointer;
	margin: 0 !important;
	transition: background 0.18s ease;
}

.as-fi-row:hover {
	background: var(--as-surface-warm);
}

.as-fi-row input[type="checkbox"] {
	position: absolute;
	opacity: 0;
	width: 0;
	height: 0;
	pointer-events: none;
}

.as-custom-check {
	width: 17px;
	height: 17px;
	border: 1.5px solid #cbd5e1;
	border-radius: 5px;
	background: #ffffff;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	transition: all 0.2s ease;
}

.as-custom-check::after {
	content: "";
	width: 9px;
	height: 5px;
	border-left: 2px solid #ffffff;
	border-bottom: 2px solid #ffffff;
	transform: rotate(-45deg) scale(0);
	margin-top: -1px;
	transition: transform 0.18s ease;
}

.as-fi-row input:checked + .as-custom-check {
	background: var(--as-accent);
	border-color: var(--as-accent);
}

.as-fi-row input:checked + .as-custom-check::after {
	transform: rotate(-45deg) scale(1);
}

.as-fi-label {
	flex: 1 1 auto;
	font-size: 13px;
	font-weight: 500;
	color: var(--as-text);
	line-height: 1.35;
}

.as-fi-row input:checked ~ .as-fi-label {
	font-weight: 700;
	color: var(--as-accent);
}

.as-fi-count {
	font-size: 11px;
	font-weight: 600;
	color: var(--as-text-muted);
	background: var(--as-surface-subtle);
	padding: 1.5px 7px;
	border-radius: 999px;
	flex-shrink: 0;
}

.as-fi-row input:checked ~ .as-fi-count {
	background: var(--as-gold-soft);
	color: var(--as-gold);
}

.as-filter-widget .is-disabled {
	opacity: 0.4;
	pointer-events: none;
}

/* Color Swatch Rows Inside Filter Panel */
.as-fi-color-list {
	display: flex;
	flex-direction: column;
	gap: 4px;
}

.as-color-option {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 5px 7px;
	border-radius: 9px;
	cursor: pointer;
	margin: 0 !important;
	transition: background 0.18s ease;
}

.as-color-option:hover {
	background: var(--as-surface-warm);
}

.as-color-option input {
	display: none !important;
}

.as-swatch-circle {
	width: 21px;
	height: 21px;
	border-radius: 50%;
	border: 2px solid #ffffff;
	box-shadow: 0 0 0 1px rgba(20, 20, 22, 0.2);
	flex-shrink: 0;
	transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.as-swatch-circle.is-white {
	box-shadow: 0 0 0 1px rgba(20, 20, 22, 0.32);
}

.as-color-option.is-checked {
	background: var(--as-surface-warm);
}

.as-color-option.is-checked .as-swatch-circle {
	transform: scale(1.12);
	box-shadow: 0 0 0 2px var(--as-accent);
}

.as-color-option.is-checked .as-fi-label {
	font-weight: 700;
}

/* Button Pills (Ring Sizes, Chain Lengths, Metal Purity, Water Resistance) */
.as-fi-buttons {
	display: flex;
	flex-wrap: wrap;
	gap: 7px;
}

.as-btn-pill {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	padding: 6px 12px;
	background: #ffffff;
	border: 1px solid var(--as-border-strong);
	border-radius: 9px;
	font-size: 12.5px;
	font-weight: 600;
	color: var(--as-text);
	cursor: pointer;
	margin: 0 !important;
	transition: all 0.2s ease;
}

.as-btn-pill input {
	display: none !important;
}

.as-btn-pill:hover {
	border-color: var(--as-gold);
}

.as-btn-pill.is-checked {
	background: var(--as-accent);
	border-color: var(--as-accent);
	color: #ffffff;
	box-shadow: 0 4px 12px rgba(20, 20, 22, 0.16);
}

.as-pill-cnt {
	font-size: 10.5px;
	opacity: 0.7;
}

/* Dual Range Price Slider (Zero Horizontal Overflow!) */
.as-price-slider-wrap {
	padding: 6px 9px 2px;
	max-width: 100%;
	overflow: hidden;
}

.as-dual-range {
	position: relative;
	height: 24px;
	display: flex;
	align-items: center;
	margin-bottom: 12px;
}

.as-range-track {
	position: absolute;
	left: 0;
	right: 0;
	height: 4px;
	background: #e4e4e7;
	border-radius: 4px;
}

.as-range-fill {
	position: absolute;
	height: 4px;
	background: linear-gradient(90deg, var(--as-accent), var(--as-gold));
	border-radius: 4px;
}

.as-filter-widget input[type="range"].as-range-input {
	position: absolute;
	left: 0;
	width: 100% !important;
	height: 4px !important;
	min-height: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	background: none !important;
	border: none !important;
	pointer-events: none;
	appearance: none !important;
	-webkit-appearance: none !important;
}

.as-filter-widget input[type="range"].as-range-input::-webkit-slider-thumb {
	appearance: none;
	-webkit-appearance: none;
	pointer-events: auto;
	width: 18px;
	height: 18px;
	border-radius: 50%;
	background: #ffffff;
	border: 2.5px solid var(--as-accent);
	box-shadow: 0 2px 6px rgba(0, 0, 0, 0.18);
	cursor: grab;
	transition: transform 0.15s ease, border-color 0.15s ease;
}

.as-filter-widget input[type="range"].as-range-input::-webkit-slider-thumb:hover {
	transform: scale(1.15);
	border-color: var(--as-gold);
}

.as-filter-widget input[type="range"].as-range-input::-moz-range-thumb {
	pointer-events: auto;
	width: 18px;
	height: 18px;
	border-radius: 50%;
	background: #ffffff;
	border: 2.5px solid var(--as-accent);
	box-shadow: 0 2px 6px rgba(0, 0, 0, 0.18);
	cursor: grab;
}

.as-price-inputs {
	display: flex;
	align-items: center;
	gap: 8px;
	margin-bottom: 10px;
	min-width: 0;
	max-width: 100%;
}

.as-price-field {
	flex: 1 1 0;
	min-width: 0 !important;
	display: flex;
	align-items: center;
	gap: 5px;
	padding: 5px 8px;
	background: var(--as-surface-warm);
	border: 1px solid var(--as-border-strong);
	border-radius: 9px;
	overflow: hidden;
}

.as-pf-lbl {
	font-size: 11px;
	color: var(--as-text-muted);
	white-space: nowrap;
	flex-shrink: 0;
}

html body .as-filter-widget input.as-pf-num {
	flex: 1 1 auto !important;
	width: 100% !important;
	min-width: 0 !important;
	height: 24px !important;
	min-height: 0 !important;
	padding: 0 !important;
	border: none !important;
	background: transparent !important;
	font-size: 12.5px !important;
	font-weight: 700 !important;
	color: var(--as-text) !important;
}

.as-price-summary-pill {
	text-align: center;
	font-size: 12px;
	font-weight: 600;
	color: var(--as-gold);
	background: var(--as-gold-soft);
	padding: 5px 10px;
	border-radius: 8px;
}

/* iOS-Style Luxury Toggle Switches (In Stock / On Sale) */
.as-switch-list {
	display: flex;
	flex-direction: column;
	gap: 9px;
}

.as-switch-row {
	display: flex;
	align-items: center;
	gap: 10px;
	cursor: pointer;
	margin: 0 !important;
}

.as-switch-row input {
	display: none !important;
}

.as-switch-ui {
	position: relative;
	width: 36px;
	height: 20px;
	background: #e4e4e7;
	border-radius: 999px;
	flex-shrink: 0;
	transition: background 0.24s ease;
}

.as-switch-ui::after {
	content: "";
	position: absolute;
	top: 2px;
	left: 2px;
	width: 16px;
	height: 16px;
	border-radius: 50%;
	background: #ffffff;
	box-shadow: 0 1px 4px rgba(0, 0, 0, 0.2);
	transition: transform 0.24s var(--as-ease);
}

.as-switch-row input:checked + .as-switch-ui {
	background: var(--as-accent);
}

.as-switch-row input:checked + .as-switch-ui::after {
	transform: translateX(16px);
}

.as-rating-stars {
	color: #eab308;
	font-size: 13.5px;
	letter-spacing: 1px;
}

.as-muted-sm {
	font-size: 11.5px;
	color: var(--as-text-muted);
}

/* ==========================================================================
   8. OFF-CANVAS MOBILE DRAWER & BACKDROP (ZERO IDLE GPU BLUR OR HEADER BLEED!)
   ========================================================================== */
.as-drawer-backdrop {
	position: fixed;
	inset: 0;
	z-index: 99990;
	background: rgba(15, 15, 20, 0.56);
	opacity: 0;
	visibility: hidden;
	pointer-events: none !important;
	transition: opacity 0.28s ease, visibility 0.28s ease;
}

.as-filter-widget.is-drawer-open .as-drawer-backdrop {
	opacity: 1;
	visibility: visible;
	pointer-events: auto !important;
}

@media (min-width: 1025px) {
	.as-filter-widget.is-drawer-open .as-drawer-backdrop {
		backdrop-filter: blur(3px);
		-webkit-backdrop-filter: blur(3px);
	}
}

.as-fp-footer {
	display: none;
	padding: 14px 20px;
	border-top: 1px solid var(--as-border);
	background: #ffffff;
}

.as-filter-design_2 .as-fp-footer {
	display: block;
}

.as-filter-widget button.as-fp-apply-btn {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 6px !important;
	width: 100% !important;
	padding: 12px 18px !important;
	background: var(--as-accent) !important;
	color: #ffffff !important;
	border-radius: 11px !important;
	font-size: 13.5px !important;
	font-weight: 700 !important;
}

.as-mobile-float-trigger {
	display: none !important;
}

.as-active-badge {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 20px;
	height: 20px;
	padding: 0 6px;
	border-radius: 999px;
	background: var(--as-gold);
	color: #ffffff;
	font-size: 11px;
	font-weight: 700;
}

@media (max-width: 1024px) {
	.as-filter-widget.has-mobile-drawer .as-filter-panel {
		position: fixed;
		top: 0;
		bottom: 0;
		left: 0;
		width: min(370px, 88vw);
		z-index: 99999;
		background: #ffffff !important;
		border-radius: 0 !important;
		border: none !important;
		padding: 0 !important;
		display: flex;
		flex-direction: column;
		visibility: hidden;
		pointer-events: none;
		box-shadow: none !important;
		transform: translate3d(-105%, 0, 0);
		transition: transform 0.34s var(--as-ease), visibility 0.34s ease;
	}

	[dir="rtl"].as-filter-widget.has-mobile-drawer .as-filter-panel {
		left: auto;
		right: 0;
		transform: translate3d(105%, 0, 0);
	}

	.as-filter-widget.has-mobile-drawer.is-drawer-open .as-filter-panel {
		visibility: visible;
		pointer-events: auto;
		box-shadow: 20px 0 50px rgba(0, 0, 0, 0.25) !important;
		transform: translate3d(0, 0, 0) !important;
	}

	.as-filter-widget.has-mobile-drawer .as-fp-header {
		padding: 16px 18px !important;
		background: #141416 !important;
		color: #ffffff !important;
		margin: 0 !important;
	}

	.as-filter-widget.has-mobile-drawer .as-fp-title,
	.as-filter-widget.has-mobile-drawer button.as-fp-close-btn {
		color: #ffffff !important;
	}

	.as-filter-widget.has-mobile-drawer button.as-fp-close-btn {
		display: inline-flex !important;
	}

	.as-filter-widget.has-mobile-drawer .as-fp-scroll-body {
		flex: 1 1 auto;
		overflow-y: auto;
		padding: 16px 18px !important;
	}

	.as-filter-widget.has-mobile-drawer .as-fp-footer {
		display: block;
	}

	/* Floating mobile trigger ONLY shows when NOT hidden by syncFilterTriggerButtons()! */
	.as-filter-widget button.as-mobile-float-trigger:not(.as-force-hidden) {
		position: fixed;
		bottom: 20px;
		left: 50%;
		transform: translateX(-50%);
		z-index: 9990;
		display: inline-flex !important;
		align-items: center !important;
		gap: 8px !important;
		padding: 11px 22px !important;
		background: var(--as-accent) !important;
		color: #ffffff !important;
		border-radius: 999px !important;
		font-size: 13px !important;
		font-weight: 700 !important;
		box-shadow: 0 10px 30px rgba(0, 0, 0, 0.28) !important;
	}
}

html.as-scroll-locked,
html.as-scroll-locked body,
body.as-body-drawer-lock {
	overflow: hidden !important;
	overscroll-behavior: none !important;
}

html.as-scroll-locked body {
	padding-right: var(--as-sbw, 0px);
}

/* ==========================================================================
   9. PAGINATION, EMPTY STATE & QUICK VIEW MODAL
   ========================================================================== */
.as-pagination-wrap {
	margin-top: 34px;
	display: flex;
	justify-content: center;
}

.as-pagination-wrap.is-empty {
	display: none;
}

.as-page-numbers {
	display: inline-flex;
	align-items: center;
	gap: 6px;
}

.as-archive-widget button.as-page-btn {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	min-width: 40px !important;
	height: 40px !important;
	padding: 0 12px !important;
	background: #ffffff !important;
	border: 1px solid var(--as-border-strong) !important;
	border-radius: 10px !important;
	font-size: 13.5px !important;
	font-weight: 600 !important;
	color: var(--as-text) !important;
	transition: all 0.2s ease;
}

.as-archive-widget button.as-page-btn:hover {
	border-color: var(--as-gold) !important;
	color: var(--as-gold) !important;
}

.as-archive-widget button.as-page-btn.is-current {
	background: var(--as-accent) !important;
	border-color: var(--as-accent) !important;
	color: #ffffff !important;
}

[dir="rtl"] .as-page-prev svg,
[dir="rtl"] .as-page-next svg {
	transform: scaleX(-1);
}

.as-archive-widget button.as-load-more-btn {
	display: inline-flex !important;
	align-items: center !important;
	gap: 10px !important;
	padding: 12px 30px !important;
	background: var(--as-accent) !important;
	color: #ffffff !important;
	border-radius: 999px !important;
	font-size: 13.5px !important;
	font-weight: 600 !important;
	transition: background 0.22s ease;
}

.as-archive-widget button.as-load-more-btn:hover {
	background: var(--as-gold) !important;
}

/* Empty State */
.as-empty-state {
	grid-column: 1 / -1;
	text-align: center;
	padding: 60px 24px;
	background: var(--as-surface-warm);
	border: 1px dashed var(--as-gold-border);
	border-radius: 18px;
}

.as-empty-icon {
	display: inline-flex;
	padding: 16px;
	border-radius: 50%;
	background: #ffffff;
	color: var(--as-gold);
	margin-bottom: 14px;
	box-shadow: var(--as-shadow-sm);
}

.as-empty-title {
	margin: 0 0 8px !important;
	font-size: 18px;
	font-weight: 700;
}

.as-empty-desc {
	margin: 0 auto 20px !important;
	max-width: 420px;
	font-size: 13.5px;
	color: var(--as-text-muted);
}

.as-archive-widget button.as-reset-empty-btn {
	display: inline-flex !important;
	padding: 10px 24px !important;
	background: var(--as-accent) !important;
	color: #ffffff !important;
	border-radius: 999px !important;
	font-size: 13px !important;
	font-weight: 600 !important;
}

/* Quick View Modal (Classic Centered Floating Luxury Card — 100% Responsive Desktop, Tablet & Mobile!) */
.as-qv-modal {
	position: fixed !important;
	inset: 0 !important;
	z-index: 999999 !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	padding: clamp(14px, 3vw, 28px) !important;
	box-sizing: border-box !important;
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transition: opacity 0.25s ease, visibility 0.25s ease;
}

.as-qv-modal.is-open {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
}

.as-qv-backdrop {
	position: absolute;
	inset: 0;
	background: rgba(15, 18, 24, 0.62);
}

@media (min-width: 1025px) {
	.as-qv-modal.is-open .as-qv-backdrop {
		backdrop-filter: blur(4px);
		-webkit-backdrop-filter: blur(4px);
	}
}

.as-qv-dialog {
	position: relative;
	z-index: 2;
	width: min(880px, calc(100vw - 36px));
	max-width: 100%;
	max-height: min(88vh, 720px);
	max-height: min(88dvh, 720px);
	display: flex;
	flex-direction: column;
	overflow: hidden !important;
	background: #ffffff;
	border: 1px solid rgba(184, 150, 90, 0.24);
	border-radius: 22px !important;
	padding: 0 !important;
	box-sizing: border-box !important;
	box-shadow: 0 28px 75px rgba(0, 0, 0, 0.30);
	transform: translateY(12px) scale(0.98);
	transition: transform 0.28s var(--as-ease);
}

.as-qv-modal.is-open .as-qv-dialog {
	transform: translateY(0) scale(1);
}

.as-qv-body,
.as-qv-content {
	flex: 1 1 auto;
	min-height: 0;
	width: 100%;
	max-width: 100%;
	box-sizing: border-box !important;
	overflow-y: auto !important;
	overflow-x: hidden !important;
	overscroll-behavior: contain;
	-webkit-overflow-scrolling: touch;
	touch-action: pan-y;
	padding: 28px !important;
	scrollbar-width: thin;
	scrollbar-color: rgba(184, 150, 90, 0.45) transparent;
}

.as-qv-body::-webkit-scrollbar,
.as-qv-content::-webkit-scrollbar {
	width: 5px;
}

.as-qv-body::-webkit-scrollbar-thumb,
.as-qv-content::-webkit-scrollbar-thumb {
	background: rgba(184, 150, 90, 0.45);
	border-radius: 999px;
}

html body .as-qv-modal button.as-qv-close {
	position: absolute !important;
	top: 14px !important;
	right: 14px !important;
	z-index: 30 !important;
	width: 38px !important;
	height: 38px !important;
	min-width: 38px !important;
	min-height: 38px !important;
	padding: 0 !important;
	margin: 0 !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	border-radius: 50% !important;
	background: rgba(246, 244, 240, 0.98) !important;
	border: 1px solid rgba(20, 20, 22, 0.08) !important;
	box-shadow: 0 4px 14px rgba(0, 0, 0, 0.09) !important;
	color: var(--as-text) !important;
	cursor: pointer !important;
	transition: background 0.2s ease, color 0.2s ease, transform 0.2s ease;
}

html body [dir="rtl"].as-qv-modal button.as-qv-close,
html[dir="rtl"] body .as-qv-modal button.as-qv-close {
	right: auto !important;
	left: 14px !important;
}

html body .as-qv-modal button.as-qv-close:hover {
	background: var(--as-accent) !important;
	color: #ffffff !important;
	transform: rotate(90deg);
}

html body .as-qv-modal button.as-qv-close svg {
	width: 18px !important;
	height: 18px !important;
	flex-shrink: 0 !important;
}

.as-qv-loading {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 260px;
	width: 100%;
}

.as-qv-grid {
	display: grid;
	grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr);
	gap: 28px;
	align-items: start;
	width: 100%;
	max-width: 100%;
	min-width: 0;
	box-sizing: border-box;
}

.as-qv-gallery,
.as-qv-summary {
	min-width: 0 !important;
	max-width: 100% !important;
	box-sizing: border-box;
}

.as-qv-main-img {
	width: 100%;
	aspect-ratio: 1 / 1;
	background: linear-gradient(160deg, #faf8f4 0%, #f3efe6 100%);
	border: 1px solid rgba(20, 20, 22, 0.06);
	border-radius: 16px;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 18px;
	box-sizing: border-box;
	overflow: hidden;
}

.as-qv-main-img img {
	width: 100%;
	height: 100%;
	max-width: 100%;
	max-height: 100%;
	object-fit: contain;
	mix-blend-mode: multiply;
	filter: brightness(1.03) contrast(1.04);
}

.as-qv-thumbs {
	display: flex;
	flex-wrap: nowrap;
	gap: 9px;
	margin-top: 12px;
	max-width: 100%;
	overflow-x: auto;
	overflow-y: hidden;
	padding-bottom: 4px;
	scrollbar-width: thin;
}

html body .as-qv-modal button.as-qv-thumb {
	width: 60px !important;
	height: 60px !important;
	min-width: 60px !important;
	padding: 5px !important;
	border: 1.5px solid var(--as-border) !important;
	border-radius: 12px !important;
	background: #faf8f4 !important;
	flex-shrink: 0 !important;
	cursor: pointer !important;
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

html body .as-qv-modal button.as-qv-thumb.is-active {
	border-color: var(--as-gold) !important;
	box-shadow: 0 0 0 1px var(--as-gold) !important;
}

.as-qv-thumb img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	mix-blend-mode: multiply;
}

.as-qv-title {
	margin: 0 0 10px !important;
	padding-inline-end: 42px;
	font-size: clamp(17px, 2.1vw, 22px);
	font-weight: 700;
	line-height: 1.38;
	color: var(--as-text);
	max-width: 100%;
	overflow-wrap: anywhere;
	word-break: break-word;
}

.as-qv-title a {
	color: inherit !important;
	text-decoration: none !important;
	transition: color 0.2s ease;
}

.as-qv-title a:hover {
	color: var(--as-gold) !important;
}

.as-qv-price {
	font-size: clamp(18.5px, 2.2vw, 22px);
	font-weight: 800;
	color: var(--as-gold);
	margin-bottom: 14px;
	line-height: 1.3;
}

.as-qv-price .as-price-from {
	font-size: 0.78em;
	font-weight: 600;
	color: var(--as-text-muted);
	margin-inline-end: 4px;
}

.as-qv-price del {
	font-size: 14px;
	font-weight: 400;
	color: var(--as-text-light);
	margin-inline-end: 6px;
}

.as-qv-price ins {
	background: transparent;
	text-decoration: none;
	color: var(--as-sale);
}

.as-qv-swatches-wrap {
	display: flex;
	flex-direction: column;
	gap: 10px;
	margin-bottom: 14px;
	padding: 11px 13px;
	background: var(--as-surface-warm);
	border: 1px solid rgba(184, 150, 90, 0.22);
	border-radius: 12px;
	max-width: 100%;
	box-sizing: border-box;
}

.as-qv-swatch-group {
	display: flex;
	flex-direction: column;
	gap: 6px;
	min-width: 0;
}

.as-qv-swatch-group .as-card-swatches {
	display: flex;
	flex-wrap: wrap;
	gap: 7px;
	justify-content: flex-start !important;
}

.as-qv-swatch-lbl {
	font-size: 11.5px;
	font-weight: 700;
	color: var(--as-text-muted);
}

.as-qv-desc {
	font-size: 13.5px;
	line-height: 1.62;
	color: var(--as-text-muted);
	margin-bottom: 14px;
	max-width: 100%;
	overflow-wrap: anywhere;
}

.as-qv-desc p {
	margin: 0 !important;
}

.as-qv-meta {
	display: flex;
	flex-direction: column;
	gap: 6px;
	padding: 12px 0;
	border-top: 1px solid var(--as-border);
	border-bottom: 1px solid var(--as-border);
	margin-bottom: 16px;
	font-size: 13px;
	max-width: 100%;
}

.as-qv-meta-item {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 5px;
	line-height: 1.45;
	overflow-wrap: anywhere;
}

.as-qv-meta-item .is-instock {
	color: #15803d;
	font-weight: 600;
}

.as-qv-meta-item .is-outofstock {
	color: #b91c1c;
	font-weight: 600;
}

.as-qv-actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px;
	width: 100%;
	max-width: 100%;
}

.as-qv-qty {
	display: inline-flex;
	align-items: center;
	border: 1px solid var(--as-border-strong);
	border-radius: 12px;
	overflow: hidden;
	background: #ffffff;
	flex: 0 0 auto;
	height: 46px;
	box-sizing: border-box;
}

html body .as-qv-modal .as-qv-qty button {
	width: 36px !important;
	height: 44px !important;
	min-width: 36px !important;
	padding: 0 !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	font-size: 16px !important;
	font-weight: 700 !important;
	background: var(--as-surface-warm) !important;
	color: var(--as-text) !important;
	border: none !important;
}

html body .as-qv-modal .as-qv-qty input {
	width: 42px !important;
	min-width: 0 !important;
	height: 44px !important;
	padding: 0 !important;
	border: none !important;
	background: #ffffff !important;
	text-align: center !important;
	font-size: 14px !important;
	font-weight: 700 !important;
	color: var(--as-text) !important;
	box-shadow: none !important;
}

html body .as-qv-modal .as-qv-atc-btn {
	flex: 1 1 170px;
	min-width: 0;
	position: relative;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 8px !important;
	min-height: 46px !important;
	padding: 8px 20px !important;
	background: var(--as-accent) !important;
	color: #ffffff !important;
	border-radius: 12px !important;
	font-size: 13.5px !important;
	font-weight: 700 !important;
	line-height: 1.25 !important;
	text-align: center !important;
	text-decoration: none !important;
	box-sizing: border-box !important;
	transition: background 0.22s ease, transform 0.18s ease;
}

html body .as-qv-modal .as-qv-atc-btn:hover {
	background: var(--as-gold) !important;
	color: #ffffff !important;
}

/* Hide any WooCommerce-injected 'View cart / Warenkorb anzeigen' link inside Quick View too */
.as-qv-modal a.added_to_cart,
.as-qv-actions a.added_to_cart {
	display: none !important;
}

/* Tablet & Mobile Responsive Centered Floating Quick View (Never Bottom-Sheet, Zero Clipping!) */
@media (max-width: 820px) {
	.as-qv-modal {
		padding: 16px !important;
		align-items: center !important;
		justify-content: center !important;
	}

	.as-qv-dialog {
		width: min(460px, calc(100vw - 32px)) !important;
		max-width: calc(100vw - 32px) !important;
		max-height: min(88vh, calc(100vh - 32px)) !important;
		max-height: min(88dvh, calc(100dvh - 32px)) !important;
		border-radius: 20px !important;
	}

	.as-qv-body,
	.as-qv-content {
		padding: 18px !important;
	}

	.as-qv-grid {
		grid-template-columns: minmax(0, 1fr) !important;
		gap: 15px !important;
	}

	.as-qv-main-img {
		aspect-ratio: 1 / 1;
		max-height: min(38vh, 275px);
		padding: 14px;
		border-radius: 15px;
	}

	html body .as-qv-modal button.as-qv-thumb {
		width: 54px !important;
		height: 54px !important;
		min-width: 54px !important;
		border-radius: 11px !important;
	}

	.as-qv-title {
		padding-inline-end: 0 !important;
		font-size: clamp(16px, 4.4vw, 19.5px);
	}

	.as-qv-price {
		font-size: clamp(17.5px, 4.6vw, 20px);
		margin-bottom: 12px;
	}

	.as-qv-meta {
		padding: 10px 0;
		margin-bottom: 14px;
	}
}

@media (max-width: 390px) {
	.as-qv-modal {
		padding: 12px !important;
	}

	.as-qv-dialog {
		width: calc(100vw - 24px) !important;
		max-width: calc(100vw - 24px) !important;
		max-height: calc(100vh - 24px) !important;
		max-height: calc(100dvh - 24px) !important;
		border-radius: 18px !important;
	}

	.as-qv-body,
	.as-qv-content {
		padding: 15px !important;
	}

	.as-qv-main-img {
		max-height: min(35vh, 235px);
		padding: 12px;
	}

	html body .as-qv-modal button.as-qv-close {
		top: 10px !important;
		right: 10px !important;
		width: 34px !important;
		height: 34px !important;
		min-width: 34px !important;
		min-height: 34px !important;
	}

	html body [dir="rtl"].as-qv-modal button.as-qv-close,
	html[dir="rtl"] body .as-qv-modal button.as-qv-close {
		right: auto !important;
		left: 10px !important;
	}

	.as-qv-actions {
		gap: 8px;
	}

	html body .as-qv-modal .as-qv-atc-btn {
		flex: 1 1 145px;
		padding: 8px 14px !important;
		font-size: 13px !important;
	}
}
