/*!
 * Luxe Maroon & Gold — main stylesheet.
 *
 * 1.  Design tokens & reset
 * 2.  Utilities / typography
 * 3.  Buttons
 * 4.  Topbar, header, navigation
 * 5.  Search + voice
 * 6.  Hero
 * 7.  Sections
 * 8.  Product cards (WooCommerce loop)
 * 9.  Category cards
 * 10. Promo / trust / reviews / newsletter
 * 11. Footer + marquee
 * 12. Mobile bottom navigation
 * 13. Quick view
 * 14. WooCommerce pages
 * 15. Blog / pages / sidebar
 * 16. Dark mode
 * 17. Responsive
 * 18. Elementor + editor compatibility
 */

/* ==========================================================================
 * 1. Design tokens & reset
 * ======================================================================== */
:root {
	--luxe-primary: #5B0E1E;
	--luxe-primary-dark: #3E0813;
	--luxe-primary-light: #7C1B2F;
	--luxe-secondary: #141014;
	--luxe-gold: #D4AF37;
	--luxe-gold-light: #F0DA96;
	--luxe-gold-dark: #9E7C1A;
	--luxe-gold-gradient: linear-gradient(135deg, #9E7C1A 0%, #D4AF37 26%, #FFF3C4 50%, #D4AF37 72%, #9E7C1A 100%);
	--luxe-surface: #FFF9F0;
	--luxe-radius: 18px;
	--luxe-radius-sm: 10px;
	--luxe-radius-lg: 28px;

	/* Light-mode semantic tokens */
	--luxe-bg: #FFF9F0;
	--luxe-bg-2: #FDF3E6;
	--luxe-bg-3: #F7EADA;
	--luxe-card: #FFFFFF;
	--luxe-card-2: #FFFAF3;
	--luxe-text: #2A1620;
	--luxe-text-2: #6D5560;
	--luxe-text-inv: #FFF8EE;
	--luxe-line: rgba(91, 14, 30, 0.14);
	--luxe-line-strong: rgba(91, 14, 30, 0.24);
	--luxe-shadow-sm: 0 6px 18px rgba(62, 8, 19, 0.07);
	--luxe-shadow: 0 18px 40px -18px rgba(62, 8, 19, 0.24), 0 2px 8px rgba(62, 8, 19, 0.05);
	--luxe-shadow-lg: 0 40px 80px -32px rgba(62, 8, 19, 0.34), 0 6px 18px rgba(62, 8, 19, 0.08);
	--luxe-glow-gold: 0 0 0 1px rgba(212, 175, 55, 0.55), 0 0 26px -6px rgba(212, 175, 55, 0.5);
	--luxe-glow-gold-strong: 0 0 0 1px rgba(212, 175, 55, 0.85), 0 0 34px -4px rgba(212, 175, 55, 0.65), inset 0 1px 0 rgba(255, 248, 220, 0.7);
	--luxe-header-h: 74px;
	--luxe-nav-h: 70px;
	--luxe-font-head: "Cormorant Garamond", "Times New Roman", Georgia, serif;
	--luxe-font-body: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
	--luxe-ease: cubic-bezier(0.22, 0.61, 0.36, 1);
	--luxe-ease-out: cubic-bezier(0.16, 1, 0.3, 1);
}

*,
*::before,
*::after {
	box-sizing: border-box;
}

html {
	-webkit-text-size-adjust: 100%;
	scroll-behavior: smooth;
	overflow-x: hidden;
}

body.luxe-lock {
	overflow: hidden;
}

body {
	margin: 0;
	background: var(--luxe-bg);
	color: var(--luxe-text);
	font-family: var(--luxe-font-body);
	font-size: 16px;
	line-height: 1.65;
	font-weight: 400;
	overflow-x: hidden;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	text-rendering: optimizeLegibility;
}

img,
svg,
video,
iframe {
	max-width: 100%;
	height: auto;
	display: block;
}

figure {
	margin: 0;
}

a {
	color: inherit;
	text-decoration: none;
	transition: color 0.22s var(--luxe-ease), opacity 0.22s var(--luxe-ease);
}

a:hover {
	color: var(--luxe-gold-dark);
}

ul,
ol {
	margin: 0;
	padding: 0;
	list-style: none;
}

button,
input,
select,
textarea {
	font: inherit;
	color: inherit;
}

button {
	cursor: pointer;
	border: 0;
	background: none;
}

:focus-visible {
	outline: 2px solid var(--luxe-gold);
	outline-offset: 3px;
	border-radius: 6px;
}

::selection {
	background: var(--luxe-gold);
	color: #2A0A12;
}

/* ==========================================================================
 * 2. Utilities & typography
 * ======================================================================== */
.luxe-container {
	width: min(100% - 2.5rem, 1280px);
	margin-inline: auto;
}

@media (max-width: 600px) {
	.luxe-container {
		width: calc(100% - 2rem);
	}
}

.screen-reader-text {
	position: absolute !important;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.screen-reader-text:focus,
.skip-link:focus {
	position: fixed;
	top: 10px;
	left: 10px;
	z-index: 99999;
	clip: auto;
	width: auto;
	height: auto;
	padding: 0.7rem 1.1rem;
	background: var(--luxe-gold);
	color: #2A0A12;
	border-radius: 999px;
	font-weight: 700;
}

h1,
h2,
h3,
h4,
h5 {
	font-family: var(--luxe-font-head);
	font-weight: 600;
	line-height: 1.14;
	margin: 0 0 0.5em;
	letter-spacing: 0.005em;
}

h1 {
	font-size: clamp(2rem, 4.4vw, 3.6rem);
}

h2 {
	font-size: clamp(1.6rem, 2.9vw, 2.6rem);
}

h3 {
	font-size: clamp(1.15rem, 1.8vw, 1.5rem);
}

p {
	margin: 0 0 1rem;
}

.luxe-eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 0.45rem;
	margin: 0 0 0.6rem;
	color: var(--luxe-gold-dark);
	font-family: var(--luxe-font-body);
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.22em;
	text-transform: uppercase;
}

.luxe-eyebrow svg {
	flex: none;
}

.luxe-icon--up {
	transform: rotate(-90deg);
}

.luxe-icon--back {
	transform: rotate(180deg);
}

.luxe-main {
	display: block;
	min-height: 40vh;
}

.luxe-chip__count {
	font-size: 0.72rem;
	font-weight: 700;
	color: var(--luxe-gold-dark);
	background: rgba(212, 175, 55, 0.14);
	border: 1px solid rgba(212, 175, 55, 0.4);
	border-radius: 999px;
	padding: 0.05rem 0.5rem;
}

/* Reveal-on-scroll (JS adds .is-revealed; no JS = visible) */
.luxe-js .luxe-section,
.luxe-js .luxe-card,
.luxe-js .luxe-cat,
.luxe-js .luxe-trust__card,
.luxe-js .luxe-review {
	opacity: 0;
	transform: translateY(18px);
	transition: opacity 0.7s var(--luxe-ease-out), transform 0.7s var(--luxe-ease-out);
}

.luxe-js .luxe-section.is-revealed,
.luxe-js .luxe-card.is-revealed,
.luxe-js .luxe-cat.is-revealed,
.luxe-js .luxe-trust__card.is-revealed,
.luxe-js .luxe-review.is-revealed {
	opacity: 1;
	transform: none;
}

@media (prefers-reduced-motion: reduce) {
	html {
		scroll-behavior: auto;
	}

	.luxe-js .luxe-section,
	.luxe-js .luxe-card,
	.luxe-js .luxe-cat,
	.luxe-js .luxe-trust__card,
	.luxe-js .luxe-review {
		opacity: 1;
		transform: none;
		transition: none;
	}

	*,
	*::before,
	*::after {
		animation-duration: 0.001ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: 0.05ms !important;
	}
}

/* ==========================================================================
 * 3. Buttons — metallic gold, bevelled, with a light sweep
 * ======================================================================== */
.luxe-btn {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.55rem;
	padding: 0.85rem 1.6rem;
	border-radius: 999px;
	font-family: var(--luxe-font-body);
	font-size: 0.9rem;
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	line-height: 1;
	cursor: pointer;
	overflow: hidden;
	isolation: isolate;
	border: 1px solid transparent;
	transition: transform 0.28s var(--luxe-ease), box-shadow 0.28s var(--luxe-ease), background-color 0.28s var(--luxe-ease), color 0.28s var(--luxe-ease);
}

.luxe-btn--lg {
	padding: 1.05rem 2.1rem;
	font-size: 0.94rem;
}

.luxe-btn--block {
	width: 100%;
}

.luxe-btn svg {
	flex: none;
	transition: transform 0.28s var(--luxe-ease);
}

.luxe-btn:hover svg.luxe-icon--chevron {
	transform: translateX(4px);
}

/* Gold button: layered gradients = real metallic lighting */
.luxe-btn--gold {
	color: #2C0A13;
	background:
		linear-gradient(180deg, rgba(255, 255, 255, 0.42) 0%, rgba(255, 255, 255, 0) 42%, rgba(0, 0, 0, 0.12) 100%),
		var(--luxe-gold-gradient);
	box-shadow:
		0 0 0 1px rgba(255, 249, 222, 0.5),
		0 10px 24px -12px rgba(212, 175, 55, 0.85),
		inset 0 1px 0 rgba(255, 255, 255, 0.75),
		inset 0 -2px 3px rgba(120, 88, 10, 0.28);
}

.luxe-btn--gold::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(115deg, transparent 30%, rgba(255, 255, 255, 0.85) 47%, rgba(255, 255, 255, 0.15) 54%, transparent 70%);
	transform: translateX(-130%);
	transition: transform 0.85s var(--luxe-ease-out);
	pointer-events: none;
	z-index: 2;
}

.luxe-btn--gold:hover {
	transform: translateY(-2px);
	color: #1E0710;
	box-shadow:
		0 0 0 1px rgba(255, 249, 222, 0.8),
		0 18px 34px -14px rgba(212, 175, 55, 0.95),
		0 0 30px -6px rgba(212, 175, 55, 0.6),
		inset 0 1px 0 rgba(255, 255, 255, 0.85),
		inset 0 -2px 3px rgba(120, 88, 10, 0.3);
}

.luxe-btn--gold:hover::after {
	transform: translateX(130%);
}

.luxe-btn--outline {
	color: var(--luxe-primary);
	background: transparent;
	border-color: var(--luxe-primary);
	box-shadow: inset 0 0 0 0 rgba(212, 175, 55, 0);
}

.luxe-btn--outline:hover {
	color: var(--luxe-primary-dark);
	border-color: var(--luxe-gold);
	box-shadow: var(--luxe-glow-gold);
	transform: translateY(-2px);
}

.luxe-btn--ghost {
	color: var(--luxe-text-inv);
	background: rgba(255, 255, 255, 0.07);
	border-color: rgba(255, 255, 255, 0.28);
	backdrop-filter: blur(8px);
}

.luxe-btn--ghost:hover {
	color: #FFF8EE;
	border-color: var(--luxe-gold);
	background: rgba(212, 175, 55, 0.16);
	box-shadow: 0 0 26px -8px rgba(212, 175, 55, 0.6);
	transform: translateY(-2px);
}

.luxe-btn__shine {
	position: absolute;
	inset: 1px;
	border-radius: inherit;
	background: linear-gradient(180deg, rgba(255, 255, 255, 0.28), transparent 55%);
	z-index: 1;
	pointer-events: none;
}

.luxe-link-more {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	font-size: 0.82rem;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--luxe-primary);
	white-space: nowrap;
}

.luxe-link-more svg {
	transition: transform 0.25s var(--luxe-ease);
}

.luxe-link-more:hover {
	color: var(--luxe-gold-dark);
}

.luxe-link-more:hover svg {
	transform: translateX(4px);
}

.luxe-icon-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 42px;
	height: 42px;
	border-radius: 50%;
	color: var(--luxe-text);
	background: var(--luxe-card);
	box-shadow: var(--luxe-shadow-sm);
	border: 1px solid var(--luxe-line);
	transition: transform 0.25s var(--luxe-ease), box-shadow 0.25s var(--luxe-ease), color 0.25s var(--luxe-ease);
}

.luxe-icon-btn:hover {
	color: var(--luxe-gold-dark);
	box-shadow: var(--luxe-glow-gold);
	transform: translateY(-2px);
}

/* ==========================================================================
 * 4. Topbar, header, navigation
 * ======================================================================== */
.luxe-topbar {
	position: relative;
	z-index: 42;
	background:
		linear-gradient(120deg, var(--luxe-primary-dark) 0%, var(--luxe-primary) 45%, var(--luxe-primary-dark) 100%);
	color: rgba(255, 250, 240, 0.94);
	font-size: 0.78rem;
	letter-spacing: 0.03em;
	border-bottom: 1px solid rgba(212, 175, 55, 0.4);
}

.luxe-topbar__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	min-height: 40px;
	padding-block: 0.4rem;
}

.luxe-topbar__text {
	margin: 0;
	display: inline-flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 0.3rem;
}

.luxe-topbar__text a {
	color: var(--luxe-gold-light);
	text-decoration: underline;
	text-underline-offset: 3px;
}

.luxe-topbar__meta {
	display: inline-flex;
	align-items: center;
	gap: 1.1rem;
}

.luxe-topbar__link {
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
	color: rgba(255, 250, 240, 0.9);
	white-space: nowrap;
}

.luxe-topbar__link:hover {
	color: var(--luxe-gold-light);
}

/* Header shell — glass + metallic hairline */
.luxe-header {
	position: sticky;
	top: 0;
	z-index: 40;
	background: color-mix(in srgb, var(--luxe-card) 88%, transparent);
	backdrop-filter: saturate(160%) blur(14px);
	-webkit-backdrop-filter: saturate(160%) blur(14px);
	border-bottom: 1px solid var(--luxe-line);
	transition: box-shadow 0.3s var(--luxe-ease), background-color 0.3s var(--luxe-ease);
}

.luxe-header::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: -1px;
	height: 1px;
	background: linear-gradient(90deg, transparent, rgba(212, 175, 55, 0.85) 20%, rgba(255, 244, 200, 0.95) 50%, rgba(212, 175, 55, 0.85) 80%, transparent);
	opacity: 0.65;
	pointer-events: none;
}

.luxe-header.is-stuck {
	box-shadow: 0 14px 34px -20px rgba(62, 8, 19, 0.45);
	background: color-mix(in srgb, var(--luxe-card) 94%, transparent);
}

.luxe-header__desktop {
	display: flex;
	align-items: center;
	gap: clamp(0.75rem, 2vw, 2rem);
	min-height: var(--luxe-header-h);
}

.luxe-header__mobile {
	display: none;
	align-items: center;
	justify-content: space-between;
	gap: 0.75rem;
	min-height: 60px;
}

.luxe-header__mobile-actions {
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
}

.luxe-header__actions {
	display: inline-flex;
	align-items: center;
	gap: 0.15rem;
	margin-left: auto;
}

.luxe-branding {
	display: flex;
	flex-direction: column;
	line-height: 1.1;
	min-width: 0;
}

.luxe-logo-link {
	display: inline-flex;
	align-items: center;
}

.luxe-logo {
	width: auto;
	max-height: 52px;
	max-width: min(230px, 42vw);
	object-fit: contain;
	filter: drop-shadow(0 2px 6px rgba(62, 8, 19, 0.18));
}

.luxe-site-title {
	margin: 0;
	font-family: var(--luxe-font-head);
	font-size: clamp(1.2rem, 2.1vw, 1.75rem);
	font-weight: 700;
	letter-spacing: 0.01em;
	background: var(--luxe-gold-gradient);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
	-webkit-text-fill-color: transparent;
	text-shadow: 0 1px 0 rgba(255, 255, 255, 0.35);
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.luxe-site-title a:hover {
	color: transparent;
}

.luxe-site-tagline {
	font-size: 0.66rem;
	letter-spacing: 0.28em;
	text-transform: uppercase;
	color: var(--luxe-text-2);
	margin-top: 0.15rem;
}

/* Primary menu */
.luxe-primary-nav {
	min-width: 0;
}

.luxe-menu,
.luxe-drawer-menu {
	display: flex;
	align-items: center;
	gap: 0.15rem;
	flex-wrap: wrap;
}

.luxe-menu > li {
	position: relative;
}

.luxe-menu > li > a {
	display: inline-flex;
	align-items: center;
	gap: 0.3rem;
	padding: 0.62rem 0.85rem;
	border-radius: 999px;
	font-size: 0.85rem;
	font-weight: 600;
	letter-spacing: 0.04em;
	color: var(--luxe-text);
	white-space: nowrap;
	transition: color 0.22s var(--luxe-ease), background-color 0.22s var(--luxe-ease);
}

.luxe-menu > li > a::after {
	content: "";
	position: absolute;
	left: 50%;
	bottom: 0.28rem;
	width: 0;
	height: 2px;
	background: var(--luxe-gold-gradient);
	transform: translateX(-50%);
	transition: width 0.3s var(--luxe-ease);
	border-radius: 2px;
}

.luxe-menu > li:hover > a,
.luxe-menu > li.current-menu-item > a,
.luxe-menu > li.current-menu-ancestor > a {
	color: var(--luxe-primary);
	background: rgba(212, 175, 55, 0.12);
}

.luxe-menu > li:hover > a::after,
.luxe-menu > li.current-menu-item > a::after {
	width: 60%;
}

/* Dropdowns */
.luxe-menu .sub-menu {
	position: absolute;
	top: calc(100% + 8px);
	left: 0;
	min-width: 214px;
	padding: 0.5rem;
	display: block;
	background: var(--luxe-card);
	border: 1px solid var(--luxe-line-strong);
	border-radius: var(--luxe-radius);
	box-shadow: var(--luxe-shadow-lg);
	opacity: 0;
	visibility: hidden;
	transform: translateY(8px);
	transition: opacity 0.25s var(--luxe-ease), transform 0.25s var(--luxe-ease), visibility 0.25s;
	z-index: 30;
}

.luxe-menu li:hover > .sub-menu,
.luxe-menu li:focus-within > .sub-menu {
	opacity: 1;
	visibility: visible;
	transform: none;
}

.luxe-menu .sub-menu a {
	display: block;
	padding: 0.5rem 0.75rem;
	border-radius: var(--luxe-radius-sm);
	font-size: 0.85rem;
}

.luxe-menu .sub-menu a:hover {
	background: rgba(212, 175, 55, 0.14);
	color: var(--luxe-primary);
}

/* Action buttons in the header */
.luxe-action {
	position: relative;
	display: inline-flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 0.1rem;
	min-width: 46px;
	padding: 0.35rem 0.5rem;
	border-radius: var(--luxe-radius-sm);
	color: var(--luxe-text);
	font-size: 0.66rem;
	font-weight: 600;
	letter-spacing: 0.06em;
	transition: color 0.22s var(--luxe-ease), background-color 0.22s var(--luxe-ease), transform 0.22s var(--luxe-ease);
}

.luxe-action__label {
	text-transform: uppercase;
	color: var(--luxe-text-2);
}

.luxe-action:hover {
	color: var(--luxe-gold-dark);
	background: rgba(212, 175, 55, 0.1);
	transform: translateY(-2px);
}

.luxe-cart-count,
.luxe-wishlist-count {
	position: absolute;
	top: 0;
	right: 0.15rem;
	min-width: 19px;
	height: 19px;
	padding: 0 0.28rem;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 999px;
	background: var(--luxe-gold-gradient);
	color: #2C0A13;
	font-size: 0.66rem;
	font-weight: 800;
	box-shadow: 0 0 0 2px var(--luxe-card), 0 2px 8px -2px rgba(212, 175, 55, 0.9);
}

.luxe-cart-slot {
	display: inline-flex;
}

/* Mode toggle */
.luxe-mode-toggle {
	position: relative;
	display: inline-flex;
	align-items: center;
	margin-left: 0.4rem;
}

.luxe-mode-toggle__track {
	position: relative;
	display: inline-flex;
	align-items: center;
	width: 56px;
	height: 28px;
	border-radius: 999px;
	background: linear-gradient(180deg, rgba(20, 16, 20, 0.9), rgba(20, 16, 20, 0.7));
	box-shadow: inset 0 2px 6px rgba(0, 0, 0, 0.5), 0 0 0 1px rgba(212, 175, 55, 0.55), 0 0 18px -6px rgba(212, 175, 55, 0.6);
	transition: box-shadow 0.3s var(--luxe-ease);
}

.luxe-mode-toggle:hover .luxe-mode-toggle__track {
	box-shadow: inset 0 2px 6px rgba(0, 0, 0, 0.5), 0 0 0 1px rgba(212, 175, 55, 0.9), 0 0 26px -4px rgba(212, 175, 55, 0.75);
}

.luxe-mode-toggle__thumb {
	position: absolute;
	left: 3px;
	width: 22px;
	height: 22px;
	border-radius: 50%;
	background: var(--luxe-gold-gradient);
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.8), 0 2px 8px -2px rgba(0, 0, 0, 0.6);
	transition: transform 0.4s var(--luxe-ease-out);
}

[data-theme="dark"] .luxe-mode-toggle__thumb {
	transform: translateX(28px);
}

.luxe-mode-toggle__icon {
	position: absolute;
	display: inline-flex;
	z-index: 1;
	color: rgba(255, 248, 230, 0.95);
	filter: drop-shadow(0 1px 2px rgba(0, 0, 0, 0.65));
	pointer-events: none;
}

.luxe-mode-toggle__icon svg {
	stroke-width: 2.2;
}

.luxe-mode-toggle__icon--sun {
	left: 7px;
}

.luxe-mode-toggle__icon--moon {
	right: 7px;
	/* Light mode: the moon sits on the dark track — keep it bright. */
	color: #F5D66B;
}

/* Dark mode: the sun becomes the visible icon on the dark track. */
[data-theme="dark"] .luxe-mode-toggle__icon--sun {
	color: #F5D66B;
}

[data-theme="dark"] .luxe-mode-toggle__icon--moon {
	color: #2C0A13;
}

/* Drawer */
.luxe-drawer {
	position: fixed;
	inset: 0;
	z-index: 99999;
	display: flex;
	visibility: visible;
	pointer-events: auto;
}

.luxe-drawer:not(.is-open) {
	/* Keep the initial state invisible even if a plugin overrides [hidden]. */
	visibility: hidden;
	pointer-events: none;
}

.luxe-drawer.is-open {
	visibility: visible;
	pointer-events: auto;
}

.luxe-drawer[hidden] {
	display: none;
}

.luxe-drawer {
	isolation: isolate;
}

.luxe-drawer__scrim {
	position: absolute;
	inset: 0;
	z-index: 1;
	background: rgba(20, 8, 12, 0.55);
	backdrop-filter: blur(3px);
	opacity: 0;
	transition: opacity 0.3s var(--luxe-ease);
}

.luxe-drawer.is-open .luxe-drawer__scrim {
	opacity: 1;
}

.luxe-drawer__panel {
	position: relative;
	z-index: 2;
	width: min(88vw, 380px);
	max-width: 100%;
	height: 100%;
	overflow-y: auto;
	-webkit-overflow-scrolling: touch;
	padding: 1.1rem 1.1rem calc(2rem + env(safe-area-inset-bottom, 0px));
	background: linear-gradient(170deg, var(--luxe-card-2), var(--luxe-card));
	border-right: 1px solid rgba(212, 175, 55, 0.5);
	box-shadow: 26px 0 60px -30px rgba(0, 0, 0, 0.7);
	transform: translateX(-102%);
	transition: transform 0.34s var(--luxe-ease-out);
}

.luxe-drawer.is-open .luxe-drawer__panel {
	transform: none;
}

.luxe-drawer__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	padding-bottom: 0.9rem;
	border-bottom: 1px solid var(--luxe-line);
}

.luxe-drawer__search {
	margin: 0.9rem 0;
}

.luxe-drawer__nav {
	margin-bottom: 1.1rem;
}

.luxe-drawer-menu {
	display: block;
}

.luxe-drawer-menu li {
	border-bottom: 1px solid var(--luxe-line);
}

.luxe-drawer-menu a {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 0.78rem 0.2rem;
	font-size: 0.95rem;
	font-weight: 600;
}

.luxe-drawer-menu .sub-menu {
	padding-left: 0.9rem;
	border-left: 2px solid rgba(212, 175, 55, 0.45);
}

.luxe-drawer-menu .sub-menu a {
	font-size: 0.85rem;
	font-weight: 400;
	color: var(--luxe-text-2);
}

.luxe-drawer__title {
	font-size: 0.78rem;
	font-family: var(--luxe-font-body);
	font-weight: 700;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: var(--luxe-text-2);
	margin-bottom: 0.5rem;
}

.luxe-drawer__cat-list li a {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 0.5rem 0;
	font-size: 0.9rem;
}

.luxe-drawer__foot {
	margin-top: 1.3rem;
	display: grid;
	gap: 0.9rem;
}

/* ==========================================================================
 * 5. Search + voice
 * ======================================================================== */
.luxe-search {
	position: relative;
	flex: 1 1 auto;
	min-width: 0;
	max-width: 460px;
}

.luxe-search--drawer,
.luxe-search--overlay {
	max-width: none;
	width: 100%;
}

.luxe-search__form {
	display: flex;
	align-items: center;
	gap: 0.35rem;
	padding: 0.3rem 0.35rem 0.3rem 0.85rem;
	background: var(--luxe-bg-2);
	border: 1px solid var(--luxe-line-strong);
	border-radius: 999px;
	box-shadow: inset 0 2px 6px rgba(62, 8, 19, 0.05);
	transition: border-color 0.25s var(--luxe-ease), box-shadow 0.25s var(--luxe-ease), background-color 0.25s var(--luxe-ease);
}

.luxe-search__form:focus-within {
	border-color: rgba(212, 175, 55, 0.9);
	background: var(--luxe-card);
	box-shadow: var(--luxe-glow-gold), inset 0 1px 0 rgba(255, 255, 255, 0.6);
}

.luxe-search__icon {
	display: inline-flex;
	flex: none;
	color: var(--luxe-text-2);
}

.luxe-search__input {
	flex: 1 1 auto;
	min-width: 0;
	border: 0;
	background: none;
	padding: 0.55rem 0.2rem;
	font-size: 0.9rem;
	outline: none;
	-webkit-appearance: none;
	appearance: none;
}

.luxe-search__input::placeholder {
	color: var(--luxe-text-2);
	opacity: 0.85;
}

.luxe-search__input::-webkit-search-cancel-button {
	-webkit-appearance: none;
}

.luxe-search__clear,
.luxe-search__mic {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 34px;
	height: 34px;
	flex: none;
	border-radius: 50%;
	color: var(--luxe-text-2);
	transition: color 0.22s var(--luxe-ease), background-color 0.22s var(--luxe-ease);
}

.luxe-search__clear:hover,
.luxe-search__mic:hover {
	color: var(--luxe-gold-dark);
	background: rgba(212, 175, 55, 0.16);
}

.luxe-search__mic {
	position: relative;
	color: var(--luxe-primary);
}

.luxe-search__mic-ring {
	position: absolute;
	inset: 0;
	border-radius: 50%;
	border: 1px solid rgba(212, 175, 55, 0.75);
	opacity: 0;
}

.luxe-search__mic.is-listening {
	color: #fff;
	background: var(--luxe-primary);
	box-shadow: 0 0 20px -4px rgba(212, 175, 55, 0.9);
}

.luxe-search__mic.is-listening .luxe-search__mic-ring {
	opacity: 1;
	animation: luxe-mic-pulse 1.4s var(--luxe-ease-out) infinite;
}

@keyframes luxe-mic-pulse {
	0% {
		transform: scale(0.85);
		opacity: 0.9;
	}

	100% {
		transform: scale(1.7);
		opacity: 0;
	}
}

.luxe-search__submit {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	flex: none;
	border-radius: 50%;
	color: #2C0A13;
	background: var(--luxe-gold-gradient);
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.7), 0 3px 10px -4px rgba(212, 175, 55, 0.9);
	transition: transform 0.25s var(--luxe-ease), box-shadow 0.25s var(--luxe-ease);
}

.luxe-search__submit:hover {
	transform: translateX(2px);
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.8), 0 0 20px -4px rgba(212, 175, 55, 1);
}

.luxe-search__form--fallback {
	max-width: 520px;
}

.luxe-search--overlay .luxe-search__input {
	font-size: 1.05rem;
	padding-block: 0.7rem;
}

/* Suggestions panel */
.luxe-search__results {
	position: absolute;
	top: calc(100% + 10px);
	left: 0;
	right: 0;
	z-index: 50;
	max-height: min(70vh, 520px);
	overflow-y: auto;
	-webkit-overflow-scrolling: touch;
	background: var(--luxe-card);
	border: 1px solid var(--luxe-line-strong);
	border-radius: var(--luxe-radius);
	box-shadow: var(--luxe-shadow-lg);
	opacity: 0;
	transform: translateY(-6px);
	transition: opacity 0.22s var(--luxe-ease), transform 0.22s var(--luxe-ease);
	pointer-events: none;
}

.luxe-search__results[hidden] {
	display: none;
}

.luxe-search__results.is-open {
	opacity: 1;
	transform: none;
	pointer-events: auto;
}

.luxe-suggest__list {
	padding: 0.4rem;
}

.luxe-suggest__link {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	padding: 0.5rem;
	border-radius: var(--luxe-radius-sm);
	transition: background-color 0.2s var(--luxe-ease);
}

.luxe-suggest__link:hover {
	background: rgba(212, 175, 55, 0.12);
}

.luxe-suggest__media {
	flex: none;
	width: 52px;
	height: 52px;
	border-radius: var(--luxe-radius-sm);
	overflow: hidden;
	background: var(--luxe-bg-3);
	border: 1px solid var(--luxe-line);
}

.luxe-suggest__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.luxe-suggest__info {
	display: flex;
	flex-direction: column;
	min-width: 0;
}

.luxe-suggest__name {
	font-weight: 600;
	font-size: 0.9rem;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.luxe-suggest__cat {
	font-size: 0.7rem;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--luxe-text-2);
}

.luxe-suggest__price {
	font-size: 0.85rem;
	font-weight: 700;
	color: var(--luxe-primary);
}

.luxe-suggest__price del {
	color: var(--luxe-text-2);
	font-weight: 400;
	margin-right: 0.3rem;
}

.luxe-suggest__price ins {
	text-decoration: none;
}

.luxe-suggest__all {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.5rem;
	padding: 0.75rem 0.9rem;
	border-top: 1px solid var(--luxe-line);
	font-size: 0.82rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--luxe-primary);
	background: linear-gradient(180deg, transparent, rgba(212, 175, 55, 0.09));
}

.luxe-suggest__loading,
.luxe-suggest__empty {
	margin: 0;
	padding: 1rem;
	text-align: center;
	font-size: 0.88rem;
	color: var(--luxe-text-2);
}

/* Slide-over search layer */
.luxe-search-layer {
	position: fixed;
	inset: 0;
	z-index: 90;
	display: flex;
	align-items: flex-start;
	justify-content: center;
	padding: calc(1rem + env(safe-area-inset-top, 0px)) 1rem 1rem;
	background: rgba(20, 8, 12, 0.62);
	backdrop-filter: blur(8px);
	opacity: 0;
	transition: opacity 0.26s var(--luxe-ease);
}

.luxe-search-layer[hidden] {
	display: none;
}

.luxe-search-layer.is-open {
	opacity: 1;
}

.luxe-search-layer__inner {
	display: flex;
	align-items: flex-start;
	gap: 0.6rem;
	width: min(100%, 720px);
	margin-top: 8vh;
	transform: translateY(-12px);
	transition: transform 0.3s var(--luxe-ease-out);
}

.luxe-search-layer.is-open .luxe-search-layer__inner {
	transform: none;
}

.luxe-search-layer .luxe-search {
	background: var(--luxe-card);
	border-radius: 999px;
	box-shadow: var(--luxe-shadow-lg), var(--luxe-glow-gold);
}

/* ==========================================================================
 * 6. Hero
 * ======================================================================== */
.luxe-hero {
	position: relative;
	isolation: isolate;
	overflow: hidden;
	padding: clamp(2.4rem, 6vw, 5.4rem) 0 clamp(3rem, 7vw, 6rem);
	background:
		radial-gradient(120% 130% at 12% 8%, rgba(212, 175, 55, 0.2) 0%, transparent 55%),
		linear-gradient(140deg, var(--luxe-primary-dark) 0%, var(--luxe-primary) 38%, #1B0A10 100%);
	color: var(--luxe-text-inv);
}

.luxe-hero::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	height: 2px;
	background: linear-gradient(90deg, transparent, rgba(212, 175, 55, 0.9) 25%, #FFF3C4 50%, rgba(212, 175, 55, 0.9) 75%, transparent);
	opacity: 0.8;
}

.luxe-hero__bg {
	position: absolute;
	inset: 0;
	z-index: 0;
	overflow: hidden;
}

.luxe-hero__bg::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 0;
	background-image: var(--luxe-hero-image, none);
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	opacity: 0.4;
	transform: translate3d(0, 0, 0);
	backface-visibility: hidden;
	animation: luxe-hero-drift 26s ease-in-out infinite alternate;
}

.luxe-hero__bg::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
	pointer-events: none;
	background: linear-gradient(120deg, var(--luxe-primary-dark) 0%, rgba(27, 10, 16, 0.72) 45%, rgba(20, 8, 12, 0.92) 100%);
}

@keyframes luxe-hero-drift {
	from {
		transform: translate3d(0, 0, 0);
	}

	to {
		transform: translate3d(-1.5%, -2%, 0);
	}
}

.luxe-hero__rays {
	position: absolute;
	top: -40%;
	left: -10%;
	width: 120%;
	height: 180%;
	background: repeating-conic-gradient(from 0deg at 30% 30%, rgba(212, 175, 55, 0.11) 0deg, transparent 6deg, transparent 12deg, rgba(212, 175, 55, 0.09) 18deg);
	opacity: 0.55;
	animation: luxe-rays 30s linear infinite;
	z-index: 2;
}

@keyframes luxe-rays {
	to {
		transform: rotate(360deg);
	}
}

.luxe-hero__glow {
	position: absolute;
	border-radius: 50%;
	filter: blur(28px);
	z-index: 2;
}

.luxe-hero__glow--a {
	width: 45vw;
	height: 45vw;
	max-width: 620px;
	max-height: 620px;
	top: -12%;
	right: -6%;
	background: radial-gradient(circle, rgba(212, 175, 55, 0.4) 0%, transparent 68%);
	animation: luxe-float 12s ease-in-out infinite alternate;
}

.luxe-hero__glow--b {
	width: 32vw;
	height: 32vw;
	max-width: 460px;
	max-height: 460px;
	bottom: -16%;
	left: 4%;
	background: radial-gradient(circle, rgba(212, 175, 55, 0.26) 0%, transparent 70%);
	animation: luxe-float 16s ease-in-out infinite alternate-reverse;
}

@keyframes luxe-float {
	from {
		transform: translate3d(0, 0, 0) scale(1);
	}

	to {
		transform: translate3d(2%, 3%, 0) scale(1.08);
	}
}

.luxe-hero__grid {
	position: absolute;
	inset: 0;
	background-image:
		linear-gradient(rgba(212, 175, 55, 0.09) 1px, transparent 1px),
		linear-gradient(90deg, rgba(212, 175, 55, 0.09) 1px, transparent 1px);
	background-size: 62px 62px;
	mask-image: radial-gradient(120% 90% at 20% 20%, #000 0%, transparent 72%);
	-webkit-mask-image: radial-gradient(120% 90% at 20% 20%, #000 0%, transparent 72%);
	z-index: 2;
}

.luxe-hero__particles {
	position: absolute;
	inset: 0;
	z-index: 3;
}

.luxe-hero__particles i {
	position: absolute;
	left: calc(6% + (var(--i) * 6.4%));
	bottom: -12px;
	width: calc(2px + (var(--i) mod 3) * 1px);
	height: calc(2px + (var(--i) mod 3) * 1px);
	min-width: 2px;
	min-height: 2px;
	border-radius: 50%;
	background: radial-gradient(circle, #FFF6D0, rgba(212, 175, 55, 0.2));
	box-shadow: 0 0 10px rgba(212, 175, 55, 0.8);
	opacity: 0.7;
	animation: luxe-particle calc(11s + (var(--i) * 0.9s)) linear infinite;
	animation-delay: calc(var(--i) * -1.1s);
}

@keyframes luxe-particle {
	0% {
		transform: translateY(0) scale(0.7);
		opacity: 0;
	}

	15% {
		opacity: 0.85;
	}

	100% {
		transform: translateY(-46vh) scale(1.1);
		opacity: 0;
	}
}

.luxe-hero__inner {
	position: relative;
	z-index: 4;
	display: grid;
	grid-template-columns: 1.12fr 0.88fr;
	align-items: center;
	gap: clamp(1.6rem, 4vw, 3.4rem);
}

.luxe-eyebrow--hero {
	color: var(--luxe-gold-light);
}

.luxe-hero__title {
	color: #FFFDF7;
	font-size: clamp(2.1rem, 5.2vw, 4.1rem);
	line-height: 1.04;
	margin-bottom: 0.4em;
	text-shadow: 0 2px 26px rgba(0, 0, 0, 0.45);
}

.luxe-hero__title em,
.luxe-hero__title strong {
	font-style: normal;
	background: var(--luxe-gold-gradient);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
	-webkit-text-fill-color: transparent;
}

.luxe-hero__subtitle {
	font-family: var(--luxe-font-head);
	font-size: clamp(1.1rem, 2vw, 1.6rem);
	color: var(--luxe-gold-light);
	margin-bottom: 0.5rem;
}

.luxe-hero__text {
	max-width: 54ch;
	color: rgba(255, 248, 238, 0.86);
	font-size: 1rem;
}

.luxe-hero__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
	margin-top: 1.6rem;
}

.luxe-hero__chips {
	display: flex;
	flex-wrap: wrap;
	gap: 1.2rem;
	margin-top: 1.6rem;
	font-size: 0.82rem;
	color: rgba(255, 248, 238, 0.82);
}

.luxe-hero__chips li {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
}

.luxe-hero__chips svg {
	color: var(--luxe-gold);
}

/* Hero visual frame — layered gold bezel */
.luxe-hero__visual {
	display: flex;
	justify-content: center;
}

.luxe-hero__frame {
	position: relative;
	width: min(100%, 420px);
	padding: 14px;
	border-radius: calc(var(--luxe-radius-lg) + 6px);
	background:
		linear-gradient(180deg, rgba(255, 255, 255, 0.16), rgba(255, 255, 255, 0) 40%),
		linear-gradient(150deg, rgba(20, 8, 12, 0.72), rgba(20, 8, 12, 0.42));
	box-shadow:
		0 0 0 1px rgba(212, 175, 55, 0.7),
		0 40px 80px -34px rgba(0, 0, 0, 0.85),
		0 0 60px -18px rgba(212, 175, 55, 0.5);
	transform: perspective(1200px) rotateY(-7deg) rotateX(4deg);
	transition: transform 0.7s var(--luxe-ease-out);
	animation: luxe-hero-frame 9s ease-in-out infinite alternate;
}

@keyframes luxe-hero-frame {
	from {
		transform: perspective(1200px) rotateY(-7deg) rotateX(4deg) translateY(0);
	}

	to {
		transform: perspective(1200px) rotateY(-4deg) rotateX(2deg) translateY(-10px);
	}
}

.luxe-hero__frame:hover {
	transform: perspective(1200px) rotateY(0deg) rotateX(0deg);
}

.luxe-hero__frame-border {
	position: absolute;
	inset: 0;
	border-radius: inherit;
	padding: 1px;
	background: var(--luxe-gold-gradient);
	-webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
	-webkit-mask-composite: xor;
	mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
	mask-composite: exclude;
	pointer-events: none;
}

/* Hero product card (live WooCommerce data) */
.luxe-hero-product {
	position: relative;
	border-radius: var(--luxe-radius-lg);
	overflow: hidden;
	background: linear-gradient(160deg, rgba(255, 253, 248, 0.98), rgba(250, 240, 226, 0.94));
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.9);
}

.luxe-hero-product__badge {
	position: absolute;
	top: 12px;
	left: 12px;
	z-index: 3;
	padding: 0.35rem 0.75rem;
	border-radius: 999px;
	background: var(--luxe-gold-gradient);
	color: #2C0A13;
	font-size: 0.68rem;
	font-weight: 800;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.8), 0 4px 14px -6px rgba(212, 175, 55, 0.95);
}

.luxe-hero-product__media {
	display: block;
	aspect-ratio: 4 / 3.4;
	overflow: hidden;
	background: #F3E7D8;
}

.luxe-hero-product__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.7s var(--luxe-ease-out);
}

.luxe-hero__frame:hover .luxe-hero-product__media img {
	transform: scale(1.06);
}

.luxe-hero-product__body {
	padding: 1rem 1.1rem 1.2rem;
	color: var(--luxe-text);
	text-align: center;
}

.luxe-hero-product__title {
	margin: 0 0 0.35rem;
	font-size: 1.2rem;
	color: #33121C;
}

.luxe-hero-product__price {
	margin: 0.5rem 0 0.8rem;
	font-size: 1.15rem;
	font-weight: 700;
	color: var(--luxe-primary);
}

.luxe-hero-product__price del {
	color: var(--luxe-text-2);
	font-weight: 400;
	font-size: 0.9rem;
	margin-right: 0.4rem;
}

.luxe-hero-product__price ins {
	text-decoration: none;
}

/* Hero without a promoted product: single centered column.
 * (The old square ornament and its inner circles were removed.) */
.luxe-hero--solo .luxe-hero__inner {
	grid-template-columns: 1fr;
}

/* == LUXE-CSS-PART-2 == */
/* ==========================================================================
 * 7. Sections
 * ======================================================================== */
.luxe-section {
	position: relative;
	padding: clamp(2.4rem, 5.5vw, 4.4rem) 0;
}

.luxe-section-head {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 1.5rem;
	margin-bottom: clamp(1.3rem, 2.6vw, 2.2rem);
}

.luxe-section-head--center {
	flex-direction: column;
	align-items: center;
	text-align: center;
}

.luxe-section-title {
	margin: 0;
	color: var(--luxe-primary);
}

.luxe-section-sub {
	margin: 0.4rem 0 0;
	max-width: 62ch;
	color: var(--luxe-text-2);
	font-size: 0.95rem;
}

.luxe-page-head {
	margin-bottom: 1.6rem;
}

.luxe-page-title {
	margin: 0 0 0.3rem;
	color: var(--luxe-primary);
}

.luxe-archive-desc {
	color: var(--luxe-text-2);
	font-size: 0.95rem;
	max-width: 74ch;
}

.luxe-empty-state {
	display: grid;
	place-items: center;
	gap: 0.9rem;
	padding: clamp(1.8rem, 4vw, 3rem) 1.2rem;
	text-align: center;
	background: linear-gradient(170deg, var(--luxe-card), var(--luxe-bg-2));
	border: 1px dashed var(--luxe-line-strong);
	border-radius: var(--luxe-radius-lg);
	color: var(--luxe-text-2);
}

.luxe-empty-state__ring {
	display: grid;
	place-items: center;
	width: 64px;
	height: 64px;
	border-radius: 50%;
	color: var(--luxe-gold-dark);
	border: 1px solid rgba(212, 175, 55, 0.6);
	box-shadow: var(--luxe-glow-gold), inset 0 1px 0 rgba(255, 255, 255, 0.6);
	background: var(--luxe-card);
}

.luxe-empty-state p {
	margin: 0;
	max-width: 52ch;
}

/* Homepage block backgrounds */
.luxe-home-block--featured,
.luxe-home-block--showcase {
	background:
		radial-gradient(90% 60% at 8% 0%, rgba(212, 175, 55, 0.12), transparent 60%),
		linear-gradient(180deg, var(--luxe-bg) 0%, var(--luxe-bg-2) 100%);
}

.luxe-home-block--bestsellers {
	background:
		radial-gradient(70% 70% at 92% 10%, rgba(212, 175, 55, 0.14), transparent 62%),
		linear-gradient(180deg, var(--luxe-bg-2), var(--luxe-bg));
}

/* ==========================================================================
 * 8. Product cards
 * ======================================================================== */
ul.products {
	display: grid;
	gap: clamp(0.9rem, 1.8vw, 1.6rem);
	margin: 0;
	padding: 0;
	list-style: none;
}

ul.products.columns-2 {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

ul.products.columns-3 {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

ul.products.columns-4 {
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

ul.products.columns-5 {
	grid-template-columns: repeat(5, minmax(0, 1fr));
}

li.luxe-card,
li.product {
	position: relative;
	margin: 0;
	list-style: none;
	width: auto;
	float: none;
	clear: none;
}

.luxe-card__inner {
	position: relative;
	display: flex;
	flex-direction: column;
	height: 100%;
	overflow: hidden;
	background: linear-gradient(175deg, var(--luxe-card) 0%, var(--luxe-card-2) 100%);
	border: 1px solid var(--luxe-line);
	border-radius: var(--luxe-radius-lg);
	box-shadow: var(--luxe-shadow-sm);
	transition: transform 0.4s var(--luxe-ease-out), box-shadow 0.4s var(--luxe-ease), border-color 0.4s var(--luxe-ease);
	transform-style: preserve-3d;
}

.luxe-card__inner::after {
	content: "";
	position: absolute;
	inset: 0;
	border-radius: inherit;
	background: linear-gradient(140deg, rgba(255, 255, 255, 0.34) 0%, transparent 34%);
	opacity: 0;
	transition: opacity 0.4s var(--luxe-ease);
	pointer-events: none;
	z-index: 4;
}

.luxe-card:hover .luxe-card__inner,
.luxe-card:focus-within .luxe-card__inner {
	transform: translateY(-6px) scale(1.012);
	border-color: rgba(212, 175, 55, 0.75);
	box-shadow: var(--luxe-shadow), 0 0 0 1px rgba(212, 175, 55, 0.4), 0 0 40px -12px rgba(212, 175, 55, 0.7);
}

.luxe-card:hover .luxe-card__inner::after {
	opacity: 1;
}

.luxe-card__media {
	position: relative;
	overflow: hidden;
	background: linear-gradient(160deg, #F5EBDE, #EADCC9);
	aspect-ratio: 1 / 1.08;
}

.luxe-card__image-link {
	display: block;
	position: relative;
	width: 100%;
	height: 100%;
}

.luxe-card__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.75s var(--luxe-ease-out), filter 0.5s var(--luxe-ease);
}

.luxe-card:hover .luxe-card__media img {
	transform: scale(1.08);
}

.luxe-card__media .woocommerce-loop-product__link {
	display: block;
	width: 100%;
	height: 100%;
}

.luxe-card__media .onsale {
	display: none;
}

/* Badges */
.luxe-badges {
	position: absolute;
	top: 0.75rem;
	left: 0.75rem;
	z-index: 5;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 0.35rem;
	pointer-events: none;
}

.luxe-badge {
	position: relative;
	overflow: hidden;
	padding: 0.32rem 0.7rem;
	border-radius: 999px;
	font-size: 0.66rem;
	font-weight: 800;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: #2C0A13;
	background: var(--luxe-gold-gradient);
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.85), 0 6px 16px -8px rgba(212, 175, 55, 0.95);
}

.luxe-badge::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(115deg, transparent 35%, rgba(255, 255, 255, 0.85) 50%, transparent 65%);
	transform: translateX(-120%);
	animation: luxe-badge-sweep 5.5s var(--luxe-ease-out) infinite;
}

@keyframes luxe-badge-sweep {
	0%, 62% {
		transform: translateX(-120%);
	}

	86%, 100% {
		transform: translateX(120%);
	}
}

.luxe-badge--featured {
	background: linear-gradient(135deg, var(--luxe-primary), var(--luxe-primary-light));
	color: #FFF6E4;
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.28), 0 6px 16px -8px rgba(62, 8, 19, 0.9);
}

.luxe-badge--custom {
	background: linear-gradient(135deg, #1B1B1B, #3A3A3A);
	color: var(--luxe-gold-light);
	box-shadow: 0 0 0 1px rgba(212, 175, 55, 0.55);
}

/* Wishlist + quick view */
.luxe-card-actions {
	position: absolute;
	top: 0.7rem;
	right: 0.7rem;
	z-index: 6;
	display: flex;
	flex-direction: column;
	gap: 0.4rem;
	opacity: 0;
	transform: translateX(10px);
	transition: opacity 0.35s var(--luxe-ease), transform 0.35s var(--luxe-ease-out);
}

.luxe-card:hover .luxe-card-actions,
.luxe-card:focus-within .luxe-card-actions {
	opacity: 1;
	transform: none;
}

.luxe-wishlist-btn,
.luxe-quickview-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 38px;
	height: 38px;
	border-radius: 50%;
	color: var(--luxe-primary);
	background: color-mix(in srgb, var(--luxe-card) 92%, transparent);
	backdrop-filter: blur(6px);
	border: 1px solid var(--luxe-line-strong);
	box-shadow: var(--luxe-shadow-sm);
	transition: transform 0.25s var(--luxe-ease), box-shadow 0.25s var(--luxe-ease), color 0.25s var(--luxe-ease), background-color 0.25s var(--luxe-ease);
}

.luxe-wishlist-btn:hover,
.luxe-quickview-btn:hover {
	color: var(--luxe-gold-dark);
	transform: scale(1.08);
	box-shadow: var(--luxe-glow-gold);
}

.luxe-wishlist-btn.is-active {
	color: #fff;
	background: linear-gradient(135deg, var(--luxe-primary), var(--luxe-primary-light));
	border-color: rgba(212, 175, 55, 0.9);
	box-shadow: var(--luxe-glow-gold);
}

.luxe-wishlist-btn.is-active svg {
	fill: currentColor;
}

.luxe-wishlist-btn svg,
.luxe-quickview-btn svg {
	transition: transform 0.3s var(--luxe-ease-out);
}

.luxe-wishlist-btn.is-active svg {
	animation: luxe-heart-pop 0.5s var(--luxe-ease-out);
}

@keyframes luxe-heart-pop {
	0% {
		transform: scale(1);
	}

	40% {
		transform: scale(1.28);
	}

	100% {
		transform: scale(1);
	}
}

/* Card body */
.luxe-card__body {
	display: flex;
	flex-direction: column;
	gap: 0.22rem;
	padding: 0.7rem 0.75rem 0.8rem;
	flex: 1 1 auto;
	text-align: center;
}

.luxe-card-cat {
	font-size: 0.68rem;
	font-weight: 700;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--luxe-gold-dark);
}

.luxe-card-cat a:hover {
	color: var(--luxe-primary);
}

.luxe-card__title {
	margin: 0;
	font-size: 0.96rem;
	line-height: 1.22;
	color: var(--luxe-text);
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	overflow: hidden;
}

.luxe-card__title a {
	color: inherit;
}

.luxe-card__title a:hover {
	color: var(--luxe-primary);
}

.luxe-card__meta {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0.25rem;
	flex-wrap: nowrap;
	font-size: 0.68rem;
	color: var(--luxe-text-2);
}

.luxe-card__norating,
.luxe-card-reviews {
	color: var(--luxe-text-2);
	font-size: 0.74rem;
}

.luxe-stars {
	position: relative;
	display: inline-block;
	font-size: 0.76rem;
	letter-spacing: 0.04em;
	line-height: 1;
	color: rgba(91, 14, 30, 0.22);
	background: linear-gradient(90deg, var(--luxe-gold-dark), var(--luxe-gold-light), var(--luxe-gold)) left / var(--luxe-rating, 0%) 100% no-repeat;
	-webkit-background-clip: text;
	background-clip: text;
	-webkit-text-fill-color: transparent;
	background-clip: text;
	text-shadow: none;
}

/* Emulate filled portion: overlay gold stars clipped by width. */
.luxe-stars::before {
	content: "★★★★★";
	position: absolute;
	inset: 0;
	width: var(--luxe-rating, 0%);
	overflow: hidden;
	white-space: nowrap;
	background: var(--luxe-gold-gradient);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
	-webkit-text-fill-color: transparent;
	filter: drop-shadow(0 0 6px rgba(212, 175, 55, 0.5));
}

.luxe-stars {
	color: rgba(91, 14, 30, 0.2);
	background: none;
	-webkit-text-fill-color: currentColor;
}

.luxe-card__excerpt {
	display: none !important;
}

/* Price */
.luxe-card .price,
.luxe-card__body .price {
	display: flex;
	align-items: baseline;
	justify-content: center;
	gap: 0.28rem;
	margin: 0.15rem 0 0.05rem;
	font-family: var(--luxe-font-head);
	font-size: 1.02rem;
	font-weight: 700;
	color: var(--luxe-primary);
	flex-wrap: nowrap;
}

.luxe-card .price del,
.luxe-card__body .price del {
	color: var(--luxe-text-2);
	font-weight: 400;
	font-size: 0.76rem;
	opacity: 0.85;
}

.luxe-card .price ins,
.luxe-card__body .price ins {
	text-decoration: none;
	color: var(--luxe-primary);
}

.luxe-card .price .woocommerce-Price-currencySymbol,
.luxe-card__body .price .woocommerce-Price-currencySymbol {
	font-size: 0.85em;
	opacity: 0.9;
}

/* Add to cart + Buy now */
.luxe-card-cta {
	display: flex;
	flex-wrap: wrap;
	gap: 0.35rem;
	margin-top: 0.1rem;
	padding-top: 0.25rem;
}

/* After Add to Cart the buttons stack: Add to Cart above Buy Now. */
.luxe-card.is-added .luxe-card-cta {
	flex-direction: column;
}

.luxe-card-cta .button,
.luxe-card-cta .added_to_cart,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce a.button.alt,
.woocommerce button.button.alt {
	position: relative;
	overflow: hidden;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.4rem;
	flex: 1 1 auto;
	padding: 0.56rem 0.7rem;
	border-radius: 999px;
	border: 1px solid rgba(212, 175, 55, 0.7);
	background: linear-gradient(180deg, rgba(255, 255, 255, 0.4), rgba(255, 255, 255, 0) 45%), var(--luxe-gold-gradient);
	color: #2C0A13;
	font-size: 0.68rem;
	font-weight: 800;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	line-height: 1;
	cursor: pointer;
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.75), 0 8px 18px -10px rgba(212, 175, 55, 0.9);
	transition: transform 0.28s var(--luxe-ease), box-shadow 0.28s var(--luxe-ease), filter 0.28s var(--luxe-ease);
}

.luxe-card-cta .button:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover {
	transform: translateY(-2px);
	filter: saturate(1.08);
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.85), 0 14px 26px -12px rgba(212, 175, 55, 1), 0 0 26px -8px rgba(212, 175, 55, 0.8);
}

.woocommerce a.button.loading,
.woocommerce button.button.loading {
	padding-right: 2.4rem;
}

.woocommerce a.button.loading::after,
.woocommerce button.button.loading::after {
	top: 50%;
	transform: translateY(-50%);
}

.woocommerce a.added_to_cart {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;
	padding: 0.72rem 0.9rem;
	border-radius: 999px;
	background: transparent;
	border: 1px dashed rgba(212, 175, 55, 0.8);
	color: var(--luxe-primary);
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

.luxe-card-cta .ajax_add_to_cart,
.luxe-card-cta .product_type_variable,
.luxe-card-cta .product_type_grouped {
	position: relative;
}

/* ==========================================================================
 * 9. Category cards
 * ======================================================================== */
.luxe-cat-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: clamp(0.9rem, 1.8vw, 1.5rem);
}

.luxe-cat__link {
	position: relative;
	display: flex;
	align-items: stretch;
	gap: 0.95rem;
	height: 100%;
	padding: 0.7rem;
	border-radius: var(--luxe-radius-lg);
	background: linear-gradient(160deg, var(--luxe-card), var(--luxe-card-2));
	border: 1px solid var(--luxe-line);
	box-shadow: var(--luxe-shadow-sm);
	overflow: hidden;
	transition: transform 0.4s var(--luxe-ease-out), box-shadow 0.4s var(--luxe-ease), border-color 0.4s var(--luxe-ease);
}

.luxe-cat__link::before {
	content: "";
	position: absolute;
	inset: 0;
	border-radius: inherit;
	padding: 1px;
	background: var(--luxe-gold-gradient);
	opacity: 0;
	-webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
	-webkit-mask-composite: xor;
	mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
	mask-composite: exclude;
	transition: opacity 0.4s var(--luxe-ease);
	pointer-events: none;
}

.luxe-cat__link:hover {
	transform: translateY(-5px);
	border-color: transparent;
	box-shadow: var(--luxe-shadow), 0 0 36px -14px rgba(212, 175, 55, 0.75);
}

.luxe-cat__link:hover::before {
	opacity: 1;
}

.luxe-cat__media {
	position: relative;
	flex: none;
	width: 104px;
	border-radius: var(--luxe-radius);
	overflow: hidden;
	background: linear-gradient(160deg, #EFE1CF, #E0CDB4);
}

.luxe-cat__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.7s var(--luxe-ease-out);
}

.luxe-cat__link:hover .luxe-cat__media img {
	transform: scale(1.09);
}

.luxe-cat__sheen {
	position: absolute;
	inset: 0;
	background: linear-gradient(120deg, transparent 40%, rgba(255, 255, 255, 0.55) 50%, transparent 60%);
	transform: translateX(-120%);
	transition: transform 0.9s var(--luxe-ease-out);
}

.luxe-cat__link:hover .luxe-cat__sheen {
	transform: translateX(120%);
}

.luxe-cat__body {
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 0.2rem;
	min-width: 0;
	padding-right: 1.4rem;
}

.luxe-cat__name {
	font-family: var(--luxe-font-head);
	font-size: 1.24rem;
	font-weight: 600;
	color: var(--luxe-primary);
	line-height: 1.2;
}

.luxe-cat__desc {
	font-size: 0.78rem;
	color: var(--luxe-text-2);
	line-height: 1.45;
}

.luxe-cat__count {
	margin-top: 0.25rem;
	font-size: 0.7rem;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--luxe-gold-dark);
}

.luxe-cat__arrow {
	position: absolute;
	top: 50%;
	right: 0.9rem;
	transform: translateY(-50%);
	color: var(--luxe-gold-dark);
	opacity: 0.55;
	transition: transform 0.35s var(--luxe-ease), opacity 0.35s var(--luxe-ease);
}

.luxe-cat__link:hover .luxe-cat__arrow {
	transform: translate(4px, -50%);
	opacity: 1;
}

/* ==========================================================================
 * 10. Trust, reviews, newsletter
 * ======================================================================== */
.luxe-trust {
	background: linear-gradient(180deg, var(--luxe-bg-2), var(--luxe-bg));
}

.luxe-trust__grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: clamp(0.8rem, 1.8vw, 1.4rem);
}

.luxe-trust__card {
	position: relative;
	padding: 1.4rem 1.2rem;
	text-align: center;
	border-radius: var(--luxe-radius);
	background: linear-gradient(170deg, var(--luxe-card), var(--luxe-card-2));
	border: 1px solid var(--luxe-line);
	box-shadow: var(--luxe-shadow-sm);
	transition: transform 0.38s var(--luxe-ease-out), box-shadow 0.38s var(--luxe-ease), border-color 0.38s var(--luxe-ease);
}

.luxe-trust__card:hover {
	transform: translateY(-5px);
	border-color: rgba(212, 175, 55, 0.7);
	box-shadow: var(--luxe-shadow), 0 0 30px -14px rgba(212, 175, 55, 0.7);
}

.luxe-trust__icon {
	display: grid;
	place-items: center;
	width: 54px;
	height: 54px;
	margin: 0 auto 0.8rem;
	border-radius: 50%;
	color: var(--luxe-gold-dark);
	background: radial-gradient(circle at 34% 28%, rgba(255, 255, 255, 0.9), rgba(212, 175, 55, 0.14) 70%);
	border: 1px solid rgba(212, 175, 55, 0.55);
	box-shadow: var(--luxe-glow-gold), inset 0 1px 0 rgba(255, 255, 255, 0.8);
}

.luxe-trust__title {
	margin: 0 0 0.3rem;
	font-size: 1.04rem;
	color: var(--luxe-primary);
}

.luxe-trust__text {
	margin: 0;
	font-size: 0.83rem;
	color: var(--luxe-text-2);
	line-height: 1.55;
}

.luxe-review-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: clamp(0.9rem, 1.8vw, 1.4rem);
}

.luxe-review {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: 0.6rem;
	padding: 1.3rem 1.2rem;
	border-radius: var(--luxe-radius);
	background: linear-gradient(170deg, var(--luxe-card), var(--luxe-card-2));
	border: 1px solid var(--luxe-line);
	box-shadow: var(--luxe-shadow-sm);
}

.luxe-review::before {
	content: "“";
	position: absolute;
	top: 0.2rem;
	right: 1rem;
	font-family: var(--luxe-font-head);
	font-size: 4rem;
	line-height: 1;
	color: rgba(212, 175, 55, 0.28);
}

.luxe-review__text {
	margin: 0;
	font-size: 0.9rem;
	line-height: 1.6;
	color: var(--luxe-text);
}

.luxe-review__meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.5rem;
	margin-top: auto;
	font-size: 0.76rem;
	color: var(--luxe-text-2);
}

.luxe-review__author {
	font-weight: 700;
	color: var(--luxe-primary);
}

.luxe-review__product {
	color: var(--luxe-gold-dark);
	text-decoration: underline;
	text-underline-offset: 3px;
}

.luxe-news__card {
	position: relative;
	overflow: hidden;
	display: grid;
	grid-template-columns: 1.05fr 0.95fr;
	align-items: center;
	gap: clamp(1.2rem, 3vw, 2.6rem);
	padding: clamp(1.6rem, 3.6vw, 2.8rem);
	border-radius: var(--luxe-radius-lg);
	background: linear-gradient(150deg, var(--luxe-primary-dark), #1A0A10 62%);
	color: var(--luxe-text-inv);
	box-shadow: var(--luxe-shadow-lg);
	isolation: isolate;
}

.luxe-news__glow {
	position: absolute;
	bottom: -40%;
	left: -8%;
	width: 52%;
	height: 150%;
	background: radial-gradient(circle, rgba(212, 175, 55, 0.34) 0%, transparent 68%);
	filter: blur(22px);
}

.luxe-news__border {
	position: absolute;
	inset: 0;
	border-radius: inherit;
	padding: 1px;
	background: var(--luxe-gold-gradient);
	-webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
	-webkit-mask-composite: xor;
	mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
	mask-composite: exclude;
	opacity: 0.75;
	pointer-events: none;
}

.luxe-news__copy,
.luxe-news__form {
	position: relative;
	z-index: 2;
}

.luxe-news__title {
	color: #FFFDF7;
	margin-bottom: 0.35em;
}

.luxe-news__text {
	color: rgba(255, 248, 238, 0.83);
	margin: 0;
}

.luxe-news__card .luxe-eyebrow {
	color: var(--luxe-gold-light);
}

.luxe-newsletter {
	width: 100%;
}

.luxe-newsletter__field {
	display: flex;
	gap: 0.4rem;
	padding: 0.35rem;
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.1);
	border: 1px solid rgba(212, 175, 55, 0.55);
	box-shadow: inset 0 2px 10px rgba(0, 0, 0, 0.28);
}

.luxe-newsletter__input {
	flex: 1 1 auto;
	min-width: 0;
	padding: 0.7rem 1rem;
	border: 0;
	background: none;
	color: #FFF8EE;
	font-size: 0.9rem;
	outline: none;
}

.luxe-newsletter__input::placeholder {
	color: rgba(255, 248, 238, 0.6);
}

.luxe-newsletter__msg {
	min-height: 1.2em;
	margin: 0.5rem 0 0;
	font-size: 0.8rem;
	color: rgba(255, 248, 238, 0.85);
}

.luxe-newsletter__msg.is-success {
	color: var(--luxe-gold-light);
}

.luxe-newsletter__msg.is-error {
	color: #FFB4A2;
}

/* Footer newsletter inherits the light card look */
.luxe-footer__col--news .luxe-newsletter__field {
	background: rgba(255, 255, 255, 0.06);
}

/* ==========================================================================
 * 11. Footer + marquee
 * ======================================================================== */
.luxe-marquee {
	position: relative;
	overflow: hidden;
	padding: 0.7rem 0;
	background: linear-gradient(90deg, #140A0E, #1E0B12 50%, #140A0E);
	border-top: 1px solid rgba(212, 175, 55, 0.45);
	border-bottom: 1px solid rgba(212, 175, 55, 0.45);
}

.luxe-marquee__track {
	display: flex;
	align-items: center;
	gap: 2.2rem;
	width: max-content;
	animation: luxe-marquee 34s linear infinite;
}

.luxe-marquee__item {
	display: inline-flex;
	align-items: center;
	gap: 2.2rem;
	font-size: 0.76rem;
	font-weight: 700;
	letter-spacing: 0.24em;
	text-transform: uppercase;
	color: var(--luxe-gold-light);
	white-space: nowrap;
}

.luxe-marquee__dot {
	color: var(--luxe-gold);
	opacity: 0.8;
	animation: luxe-twinkle 3.4s ease-in-out infinite;
}

@keyframes luxe-marquee {
	from {
		transform: translateX(0);
	}

	to {
		transform: translateX(-50%);
	}
}

@keyframes luxe-twinkle {
	0%, 100% {
		opacity: 0.35;
		transform: scale(0.85);
	}

	50% {
		opacity: 1;
		transform: scale(1.1);
	}
}

.luxe-footer {
	position: relative;
	overflow: hidden;
	background:
		radial-gradient(80% 60% at 12% 0%, rgba(212, 175, 55, 0.13), transparent 60%),
		linear-gradient(180deg, var(--luxe-primary-dark) 0%, #170810 100%);
	color: rgba(255, 248, 238, 0.82);
	padding-top: clamp(2.2rem, 5vw, 3.6rem);
}

.luxe-footer__glow {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 1px;
	background: linear-gradient(90deg, transparent, rgba(212, 175, 55, 0.95) 25%, #FFF3C4 50%, rgba(212, 175, 55, 0.95) 75%, transparent);
}

.luxe-footer__top {
	display: grid;
	grid-template-columns: 0.9fr 2.1fr;
	gap: clamp(1.6rem, 3.4vw, 3rem);
	padding-bottom: clamp(1.6rem, 3vw, 2.6rem);
}

.luxe-footer .luxe-site-title {
	font-size: 1.6rem;
}

.luxe-footer .luxe-site-tagline {
	color: rgba(255, 248, 238, 0.6);
}

.luxe-footer__about {
	margin: 0.9rem 0;
	font-size: 0.88rem;
	line-height: 1.7;
	max-width: 46ch;
	color: rgba(255, 248, 238, 0.75);
}

.luxe-social {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	margin-top: 0.9rem;
}

.luxe-social__link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	color: var(--luxe-gold-light);
	background: rgba(255, 255, 255, 0.05);
	border: 1px solid rgba(212, 175, 55, 0.45);
	transition: transform 0.28s var(--luxe-ease), box-shadow 0.28s var(--luxe-ease), background-color 0.28s var(--luxe-ease), color 0.28s var(--luxe-ease);
}

.luxe-social__link:hover {
	color: #2C0A13;
	background: var(--luxe-gold-gradient);
	transform: translateY(-3px);
	box-shadow: 0 0 24px -6px rgba(212, 175, 55, 0.95);
}

.luxe-footer__cols {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: clamp(1.1rem, 2.4vw, 2rem);
}

.luxe-widget-title,
.luxe-footer .widget-title {
	margin: 0 0 0.85rem;
	font-family: var(--luxe-font-body);
	font-size: 0.76rem;
	font-weight: 800;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: var(--luxe-gold);
}

.luxe-footer-menu li a,
.luxe-footer .widget a {
	display: inline-block;
	padding: 0.24rem 0;
	font-size: 0.87rem;
	color: rgba(255, 248, 238, 0.78);
}

.luxe-footer-menu li a:hover,
.luxe-footer .widget a:hover {
	color: var(--luxe-gold-light);
	transform: translateX(3px);
}

.luxe-footer__note {
	font-size: 0.83rem;
	color: rgba(255, 248, 238, 0.68);
	margin-bottom: 0.7rem;
}

.luxe-footer__payments {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.5rem;
	padding: 1rem 0;
	border-top: 1px solid rgba(212, 175, 55, 0.2);
}

.luxe-footer__payments-label {
	font-size: 0.7rem;
	font-weight: 700;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: rgba(255, 248, 238, 0.55);
	margin-right: 0.4rem;
}

.luxe-pay-pill {
	padding: 0.28rem 0.7rem;
	border-radius: 999px;
	font-size: 0.72rem;
	color: var(--luxe-gold-light);
	background: rgba(255, 255, 255, 0.05);
	border: 1px solid rgba(212, 175, 55, 0.3);
}

.luxe-footer__bottom {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 0.8rem;
	padding: 1rem 0 calc(1.4rem + env(safe-area-inset-bottom, 0px));
	border-top: 1px solid rgba(212, 175, 55, 0.2);
}

.luxe-footer__copy,
.luxe-footer__copy a {
	margin: 0;
	font-size: 0.78rem;
	color: rgba(255, 248, 238, 0.6);
}

.luxe-footer-inline {
	display: flex;
	flex-wrap: wrap;
	gap: 1.1rem;
}

.luxe-footer-inline a {
	font-size: 0.78rem;
	color: rgba(255, 248, 238, 0.65);
}

.luxe-footer-inline a:hover {
	color: var(--luxe-gold-light);
}

.luxe-to-top {
	position: fixed;
	right: 1rem;
	bottom: calc(var(--luxe-nav-h) + 1.2rem + env(safe-area-inset-bottom, 0px));
	z-index: 45;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	border-radius: 50%;
	color: #2C0A13;
	background: var(--luxe-gold-gradient);
	box-shadow: 0 10px 26px -12px rgba(212, 175, 55, 0.95), inset 0 1px 0 rgba(255, 255, 255, 0.8);
	transition: transform 0.28s var(--luxe-ease), box-shadow 0.28s var(--luxe-ease);
}

.luxe-to-top:hover {
	transform: translateY(-3px);
	box-shadow: 0 16px 32px -14px rgba(212, 175, 55, 1), 0 0 26px -6px rgba(212, 175, 55, 0.8);
}

@media (min-width: 1001px) {
	.luxe-to-top {
		bottom: 1.4rem;
	}
}

.luxe-toast {
	position: fixed;
	left: 50%;
	bottom: calc(var(--luxe-nav-h) + 1.4rem + env(safe-area-inset-bottom, 0px));
	z-index: 95;
	transform: translate(-50%, 14px);
	max-width: 90vw;
	padding: 0.7rem 1.2rem;
	border-radius: 999px;
	font-size: 0.84rem;
	color: #FFF8EE;
	background: linear-gradient(135deg, var(--luxe-primary-dark), #1C0A11);
	border: 1px solid rgba(212, 175, 55, 0.7);
	box-shadow: var(--luxe-shadow-lg), 0 0 26px -10px rgba(212, 175, 55, 0.8);
	opacity: 0;
	transition: opacity 0.26s var(--luxe-ease), transform 0.26s var(--luxe-ease-out);
	text-align: center;
}

.luxe-toast.is-visible {
	opacity: 1;
	transform: translate(-50%, 0);
}

@media (min-width: 1001px) {
	.luxe-toast {
		bottom: 2rem;
	}
}

/* ==========================================================================
 * 12. Mobile bottom navigation — the signature gold element
 * ======================================================================== */
.luxe-bottom-nav {
	position: fixed;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 60;
	display: none;
	padding: 0 0 env(safe-area-inset-bottom, 0px);
	background:
		linear-gradient(180deg, rgba(255, 255, 255, 0.14) 0%, rgba(255, 255, 255, 0) 34%),
		linear-gradient(170deg, var(--luxe-primary) 0%, var(--luxe-primary-dark) 62%, #170610 100%);
	border-top-left-radius: 26px;
	border-top-right-radius: 26px;
	box-shadow:
		0 -18px 40px -22px rgba(0, 0, 0, 0.6),
		0 0 0 1px rgba(212, 175, 55, 0.85),
		0 0 0 3px rgba(212, 175, 55, 0.16),
		0 -2px 34px -8px rgba(212, 175, 55, 0.55);
	isolation: isolate;
}

.luxe-bottom-nav::before,
.luxe-bottom-nav::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	pointer-events: none;
}

.luxe-bottom-nav::before {
	top: 0;
	height: 2px;
	border-top-left-radius: 26px;
	border-top-right-radius: 26px;
	background: linear-gradient(90deg, rgba(212, 175, 55, 0) 0%, rgba(212, 175, 55, 0.95) 14%, #FFF6D4 50%, rgba(212, 175, 55, 0.95) 86%, rgba(212, 175, 55, 0) 100%);
	animation: luxe-nav-sheen 4.5s ease-in-out infinite;
}

.luxe-bottom-nav::after {
	top: 3px;
	height: 12px;
	border-top-left-radius: 24px;
	border-top-right-radius: 24px;
	background: linear-gradient(180deg, rgba(255, 255, 255, 0.16), transparent);
}

@keyframes luxe-nav-sheen {
	0%, 100% {
		opacity: 0.72;
	}

	50% {
		opacity: 1;
	}
}

.luxe-bottom-nav__sheen {
	position: absolute;
	inset: 0;
	border-top-left-radius: 26px;
	border-top-right-radius: 26px;
	background: linear-gradient(115deg, transparent 42%, rgba(255, 244, 200, 0.16) 50%, transparent 58%);
	transform: translateX(-120%);
	animation: luxe-nav-sweep 7s var(--luxe-ease-out) infinite;
	pointer-events: none;
}

@keyframes luxe-nav-sweep {
	0%, 55% {
		transform: translateX(-120%);
	}

	90%, 100% {
		transform: translateX(120%);
	}
}

.luxe-bottom-nav__list {
	position: relative;
	display: grid;
	grid-template-columns: repeat(7, 1fr);
	align-items: end;
	gap: 0;
	margin: 0;
	padding: 0.5rem 0.25rem 0.4rem;
	list-style: none;
}

.luxe-bottom-nav__item {
	position: relative;
	list-style: none;
	text-align: center;
}

.luxe-bottom-nav__link {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: flex-end;
	gap: 0.24rem;
	min-height: 48px;
	padding: 0.25rem 0.1rem;
	color: rgba(255, 244, 226, 0.72);
	transition: color 0.26s var(--luxe-ease), transform 0.26s var(--luxe-ease);
	-webkit-tap-highlight-color: transparent;
}

.luxe-bottom-nav__link:hover,
.luxe-bottom-nav__link:focus-visible {
	color: var(--luxe-gold-light);
}

.luxe-bottom-nav__icon {
	position: relative;
	display: inline-grid;
	place-items: center;
	width: 34px;
	height: 30px;
	transition: transform 0.3s var(--luxe-ease-out), filter 0.3s var(--luxe-ease);
}

.luxe-bottom-nav__label {
	font-size: 0.6rem;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	max-width: 100%;
	line-height: 1.2;
}

.luxe-bottom-nav__item.is-active .luxe-bottom-nav__link {
	color: var(--luxe-gold-light);
}

.luxe-bottom-nav__item.is-active .luxe-bottom-nav__icon {
	transform: translateY(-3px);
	filter: drop-shadow(0 0 10px rgba(212, 175, 55, 0.85));
}

.luxe-bottom-nav__item.is-active .luxe-bottom-nav__label {
	color: #FFF6D4;
	text-shadow: 0 0 10px rgba(212, 175, 55, 0.7);
}

.luxe-bottom-nav__flare {
	position: absolute;
	top: 0.35rem;
	left: 50%;
	width: 34px;
	height: 34px;
	border-radius: 50%;
	transform: translateX(-50%) scale(0.4);
	background: radial-gradient(circle, rgba(212, 175, 55, 0.55) 0%, transparent 68%);
	opacity: 0;
	pointer-events: none;
}

.luxe-bottom-nav__item.is-active .luxe-bottom-nav__flare {
	animation: luxe-nav-flare 1.5s var(--luxe-ease-out) infinite;
}

@keyframes luxe-nav-flare {
	0% {
		opacity: 0.85;
		transform: translateX(-50%) scale(0.55);
	}

	100% {
		opacity: 0;
		transform: translateX(-50%) scale(1.5);
	}
}

.luxe-nav-badge {
	position: absolute;
	top: -4px;
	right: 0;
	min-width: 17px;
	height: 17px;
	padding: 0 0.25rem;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 999px;
	background: var(--luxe-gold-gradient);
	color: #2C0A13;
	font-size: 0.6rem;
	font-weight: 800;
	box-shadow: 0 0 0 2px rgba(23, 6, 16, 0.9), 0 0 10px -2px rgba(212, 175, 55, 0.95);
}

/* Particle burst on tap */
.luxe-burst {
	position: absolute;
	top: 0.2rem;
	left: 50%;
	width: 0;
	height: 0;
	pointer-events: none;
}

.luxe-burst i {
	position: absolute;
	top: 0;
	left: 0;
	width: 5px;
	height: 5px;
	margin: -2.5px 0 0 -2.5px;
	border-radius: 50%;
	background: radial-gradient(circle, #FFF6D4, rgba(212, 175, 55, 0.35));
	box-shadow: 0 0 10px rgba(212, 175, 55, 0.9);
	transform: rotate(var(--angle)) translateY(0) scale(0.6);
	opacity: 0;
	animation: luxe-burst 0.66s var(--luxe-ease-out) forwards;
}

@keyframes luxe-burst {
	0% {
		opacity: 1;
		transform: rotate(var(--angle)) translateY(0) scale(0.7);
	}

	70% {
		opacity: 0.9;
	}

	100% {
		opacity: 0;
		transform: rotate(var(--angle)) translateY(-26px) scale(0.2);
	}
}

/* Center raised gold heart */
.luxe-bottom-nav__item--center {
	transform: translateY(-2px);
}

.luxe-bottom-nav__item--center .luxe-bottom-nav__link {
	gap: 0.18rem;
}

.luxe-heart-pod {
	position: relative;
	display: grid;
	place-items: center;
	width: 56px;
	height: 56px;
	margin-bottom: 0.15rem;
	border-radius: 50% 50% 46% 46%;
	color: var(--luxe-gold-light);
	background:
		radial-gradient(120% 120% at 32% 24%, rgba(255, 255, 255, 0.28) 0%, rgba(255, 255, 255, 0) 46%),
		linear-gradient(160deg, var(--luxe-primary) 0%, var(--luxe-primary-dark) 70%, #150610 100%);
	box-shadow:
		inset 0 1px 0 rgba(255, 255, 255, 0.32),
		inset 0 -3px 8px rgba(0, 0, 0, 0.5),
		0 0 0 2px rgba(212, 175, 55, 0.9),
		0 0 0 4px rgba(212, 175, 55, 0.18),
		0 12px 26px -12px rgba(0, 0, 0, 0.85),
		0 0 26px -6px rgba(212, 175, 55, 0.75);
	transform: translateY(-10px);
	transition: transform 0.32s var(--luxe-ease-out), box-shadow 0.32s var(--luxe-ease);
}

.luxe-heart-pod__bevel {
	position: absolute;
	inset: 2px;
	border-radius: inherit;
	background: linear-gradient(180deg, rgba(255, 255, 255, 0.16), transparent 42%, rgba(0, 0, 0, 0.22));
	pointer-events: none;
}

.luxe-heart-pod__glow {
	position: absolute;
	inset: -10px;
	border-radius: inherit;
	background: radial-gradient(circle, rgba(212, 175, 55, 0.42) 0%, transparent 68%);
	filter: blur(6px);
	opacity: 0.85;
	pointer-events: none;
}

.luxe-heart-pod__icon {
	position: relative;
	display: grid;
	place-items: center;
	z-index: 2;
	filter: drop-shadow(0 1px 3px rgba(0, 0, 0, 0.55));
	transition: transform 0.32s var(--luxe-ease-out);
}

.luxe-heart-pod__pulse {
	position: absolute;
	inset: 0;
	border-radius: inherit;
	border: 1px solid rgba(255, 246, 212, 0.75);
	opacity: 0;
}

.luxe-bottom-nav__item--center.is-active .luxe-heart-pod {
	transform: translateY(-14px) scale(1.05);
	box-shadow:
		inset 0 1px 0 rgba(255, 255, 255, 0.4),
		inset 0 -3px 8px rgba(0, 0, 0, 0.5),
		0 0 0 2px rgba(255, 246, 212, 0.95),
		0 0 0 5px rgba(212, 175, 55, 0.24),
		0 16px 30px -14px rgba(0, 0, 0, 0.9),
		0 0 34px -4px rgba(212, 175, 55, 0.95);
}

.luxe-bottom-nav__item--center.is-active .luxe-heart-pod__pulse {
	animation: luxe-heart-pulse 2s var(--luxe-ease-out) infinite;
}

.luxe-bottom-nav__item--center.is-active .luxe-heart-pod__icon svg {
	fill: currentColor;
}

.luxe-bottom-nav__item--center .luxe-wishlist-count {
	top: -12px;
	right: 6px;
}

@keyframes luxe-heart-pulse {
	0% {
		opacity: 0.9;
		transform: scale(1);
	}

	100% {
		opacity: 0;
		transform: scale(1.5);
	}
}

/* ==========================================================================
 * 13. Quick view
 * ======================================================================== */
.luxe-qv {
	position: fixed;
	inset: 0;
	z-index: 96;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 1rem;
	opacity: 0;
	transition: opacity 0.26s var(--luxe-ease);
}

.luxe-qv[hidden] {
	display: none;
}

.luxe-qv.is-open {
	opacity: 1;
}

.luxe-qv__scrim {
	position: absolute;
	inset: 0;
	background: rgba(20, 8, 12, 0.66);
	backdrop-filter: blur(4px);
}

.luxe-qv__panel {
	position: relative;
	width: min(100%, 940px);
	max-height: min(90vh, 780px);
	overflow-y: auto;
	-webkit-overflow-scrolling: touch;
	border-radius: var(--luxe-radius-lg);
	background: linear-gradient(170deg, var(--luxe-card), var(--luxe-card-2));
	border: 1px solid rgba(212, 175, 55, 0.6);
	box-shadow: var(--luxe-shadow-lg), 0 0 50px -18px rgba(212, 175, 55, 0.6);
	transform: translateY(16px) scale(0.98);
	transition: transform 0.34s var(--luxe-ease-out);
}

.luxe-qv.is-open .luxe-qv__panel {
	transform: none;
}

.luxe-qv__close {
	position: absolute;
	top: 0.8rem;
	right: 0.8rem;
	z-index: 4;
}

.luxe-qv__grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0;
}

.luxe-qv__media {
	background: linear-gradient(160deg, #F3E7D8, #E6D6C0);
	overflow: hidden;
}

.luxe-qv__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.luxe-qv__info {
	padding: clamp(1.2rem, 3vw, 2.2rem);
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
}

.luxe-qv__title {
	margin: 0;
	font-size: clamp(1.3rem, 2.4vw, 1.9rem);
}

.luxe-qv__title a {
	color: var(--luxe-primary);
}

.luxe-qv__rating {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	font-size: 0.78rem;
	color: var(--luxe-text-2);
}

.luxe-qv__price {
	font-family: var(--luxe-font-head);
	font-size: 1.5rem;
	font-weight: 700;
	color: var(--luxe-primary);
}

.luxe-qv__price del {
	font-size: 1rem;
	font-weight: 400;
	color: var(--luxe-text-2);
	margin-right: 0.4rem;
}

.luxe-qv__price ins {
	text-decoration: none;
}

.luxe-qv__excerpt {
	font-size: 0.9rem;
	color: var(--luxe-text-2);
}

.luxe-qv__form {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.6rem;
	margin-top: 0.6rem;
}

.luxe-qv__form .quantity {
	display: inline-flex;
	align-items: center;
	border: 1px solid var(--luxe-line-strong);
	border-radius: 999px;
	overflow: hidden;
	background: var(--luxe-bg-2);
}

.luxe-qv__form .quantity input {
	width: 62px;
	padding: 0.6rem 0.4rem;
	border: 0;
	background: none;
	text-align: center;
}

.luxe-qv__form .single_add_to_cart_button {
	flex: 1 1 auto;
}

.luxe-qv__more {
	margin-top: 0.5rem;
	font-size: 0.8rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--luxe-gold-dark);
}

.luxe-qv__spinner {
	display: grid;
	place-items: center;
	padding: 3rem;
}

.luxe-qv__spinner span {
	width: 38px;
	height: 38px;
	border-radius: 50%;
	border: 2px solid rgba(212, 175, 55, 0.28);
	border-top-color: var(--luxe-gold);
	animation: luxe-spin 0.9s linear infinite;
}

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

.luxe-qv__error {
	padding: 2.5rem;
	text-align: center;
	color: var(--luxe-text-2);
}

/* ==========================================================================
 * 14. WooCommerce pages
 * ======================================================================== */
.woocommerce-breadcrumb {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.45rem;
	margin: 1rem auto;
	width: min(100% - 2.5rem, 1280px);
	font-size: 0.78rem;
	letter-spacing: 0.02em;
	color: var(--luxe-text-2);
}

.woocommerce-breadcrumb a {
	color: var(--luxe-text-2);
}

.woocommerce-breadcrumb a:hover {
	color: var(--luxe-gold-dark);
}

.luxe-shop-toolbar,
.woocommerce .woocommerce-result-count,
.woocommerce .woocommerce-ordering {
	display: flex;
	align-items: center;
	gap: 0.8rem;
	flex-wrap: wrap;
}

.woocommerce .woocommerce-result-count {
	margin: 0;
	font-size: 0.84rem;
	color: var(--luxe-text-2);
}

.woocommerce .woocommerce-ordering {
	margin: 0 0 1.2rem;
}

.woocommerce .woocommerce-ordering select,
.woocommerce-page select,
.woocommerce select {
	padding: 0.55rem 0.9rem;
	border-radius: 999px;
	border: 1px solid var(--luxe-line-strong);
	background: var(--luxe-card);
	font-size: 0.84rem;
	max-width: 100%;
}

.woocommerce .woocommerce-ordering select:focus {
	border-color: var(--luxe-gold);
	box-shadow: var(--luxe-glow-gold);
	outline: none;
}

/* Notices */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error,
.woocommerce-noreviews,
p.no-comments {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.7rem;
	margin: 0 auto 1.2rem;
	padding: 0.9rem 1.1rem;
	border-radius: var(--luxe-radius);
	border: 1px solid rgba(212, 175, 55, 0.5);
	border-left-width: 4px;
	background: linear-gradient(170deg, var(--luxe-card), var(--luxe-bg-2));
	color: var(--luxe-text);
	font-size: 0.88rem;
	list-style: none;
	box-shadow: var(--luxe-shadow-sm);
}

.woocommerce-message {
	border-left-color: var(--luxe-gold);
}

.woocommerce-info {
	border-left-color: var(--luxe-primary);
}

.woocommerce-error {
	border-left-color: #B3261E;
}

.woocommerce-message .button,
.woocommerce-error .button,
.woocommerce-info .button {
	margin-left: auto;
}

/* Pagination */
.woocommerce nav.woocommerce-pagination ul {
	display: flex;
	justify-content: center;
	gap: 0.35rem;
	margin: 2rem 0 0;
	padding: 0;
	border: 0;
	list-style: none;
}

.woocommerce nav.woocommerce-pagination ul li {
	border: 0;
	margin: 0;
}

.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span,
.page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 42px;
	height: 42px;
	padding: 0 0.7rem;
	border-radius: 999px;
	border: 1px solid var(--luxe-line-strong);
	background: var(--luxe-card);
	color: var(--luxe-text);
	font-size: 0.85rem;
	font-weight: 600;
	transition: box-shadow 0.25s var(--luxe-ease), transform 0.25s var(--luxe-ease), color 0.25s var(--luxe-ease);
}

.woocommerce nav.woocommerce-pagination ul li a:hover,
.page-numbers:hover {
	color: var(--luxe-gold-dark);
	box-shadow: var(--luxe-glow-gold);
	transform: translateY(-2px);
}

.woocommerce nav.woocommerce-pagination ul li span.current,
.page-numbers.current {
	color: #2C0A13;
	background: var(--luxe-gold-gradient);
	border-color: transparent;
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.75);
}

/* Single product */
.woocommerce div.product {
	display: flex;
	flex-wrap: wrap;
	gap: clamp(1.4rem, 3vw, 3rem);
	padding: clamp(1.4rem, 3vw, 2.4rem) 0;
}

.woocommerce div.product div.images,
.woocommerce div.product div.summary {
	float: none;
	width: auto;
	margin: 0;
}

.woocommerce div.product div.images {
	flex: 1 1 44%;
	min-width: 0;
}

.woocommerce div.product div.summary {
	flex: 1 1 46%;
	min-width: 0;
}

.woocommerce div.product div.images .woocommerce-product-gallery__wrapper {
	border-radius: var(--luxe-radius-lg);
	overflow: hidden;
	border: 1px solid var(--luxe-line);
	box-shadow: var(--luxe-shadow);
	background: linear-gradient(160deg, #F5EBDE, #EADCC9);
}

.woocommerce div.product div.images img {
	border-radius: 0;
}

.woocommerce div.product div.images .flex-control-thumbs {
	display: grid;
	grid-template-columns: repeat(5, 1fr);
	gap: 0.5rem;
	margin-top: 0.7rem;
	padding: 0;
}

.woocommerce div.product div.images .flex-control-thumbs li {
	width: auto;
	float: none;
	margin: 0;
	list-style: none;
}

.woocommerce div.product div.images .flex-control-thumbs img {
	border-radius: var(--luxe-radius-sm);
	border: 1px solid var(--luxe-line-strong);
	opacity: 0.7;
	transition: opacity 0.25s var(--luxe-ease), border-color 0.25s var(--luxe-ease), box-shadow 0.25s var(--luxe-ease);
	cursor: pointer;
}

.woocommerce div.product div.images .flex-control-thumbs img.flex-active,
.woocommerce div.product div.images .flex-control-thumbs img:hover {
	opacity: 1;
	border-color: var(--luxe-gold);
	box-shadow: var(--luxe-glow-gold);
}

.woocommerce div.product .product_title {
	font-size: clamp(1.6rem, 3.4vw, 2.8rem);
	color: var(--luxe-primary);
	margin-bottom: 0.35rem;
}

.woocommerce div.product .woocommerce-product-rating {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	margin-bottom: 0.7rem;
	font-size: 0.82rem;
}

.woocommerce div.product p.price,
.woocommerce div.product span.price {
	font-family: var(--luxe-font-head);
	font-size: clamp(1.5rem, 2.8vw, 2.1rem);
	font-weight: 700;
	color: var(--luxe-primary);
	margin-bottom: 0.7rem;
}

.woocommerce div.product p.price del {
	font-size: 1rem;
	color: var(--luxe-text-2);
	font-weight: 400;
	margin-right: 0.5rem;
}

.woocommerce div.product p.price ins {
	text-decoration: none;
}

.woocommerce div.product .woocommerce-product-details__short-description {
	color: var(--luxe-text-2);
	font-size: 0.95rem;
	margin-bottom: 1rem;
}

.woocommerce div.product form.cart {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.7rem;
	margin-bottom: 1.1rem;
}

.woocommerce div.product form.cart .quantity {
	display: inline-flex;
	align-items: center;
	border: 1px solid var(--luxe-line-strong);
	border-radius: 999px;
	overflow: hidden;
	background: var(--luxe-bg-2);
}

.woocommerce div.product form.cart .quantity input {
	width: 68px;
	padding: 0.78rem 0.4rem;
	border: 0;
	background: none;
	text-align: center;
	font-weight: 700;
}

.woocommerce div.product form.cart .single_add_to_cart_button {
	padding: 0.95rem 1.9rem;
	font-size: 0.84rem;
}

.woocommerce div.product .variations {
	width: 100%;
	margin-bottom: 1rem;
	border-collapse: collapse;
}

.woocommerce div.product .variations th,
.woocommerce div.product .variations td {
	padding: 0.45rem 0;
	text-align: left;
	vertical-align: middle;
	border: 0;
}

.woocommerce div.product .variations th.label label {
	font-size: 0.72rem;
	font-weight: 800;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--luxe-text-2);
}

.woocommerce div.product .variations select {
	width: 100%;
	max-width: 340px;
	padding: 0.6rem 0.9rem;
	border-radius: 999px;
	border: 1px solid var(--luxe-line-strong);
	background: var(--luxe-card);
}

.woocommerce div.product .stock {
	font-size: 0.84rem;
	font-weight: 700;
	color: #1B7A3D;
}

.woocommerce div.product .stock.out-of-stock {
	color: #B3261E;
}

.woocommerce div.product .product_meta {
	padding-top: 1rem;
	border-top: 1px solid var(--luxe-line);
	font-size: 0.82rem;
	color: var(--luxe-text-2);
}

.woocommerce div.product .product_meta a {
	color: var(--luxe-primary);
}

.luxe-single-extras {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 0.8rem;
	margin: 1rem 0;
	padding: 0.85rem 1rem;
	border-radius: var(--luxe-radius);
	background: linear-gradient(170deg, var(--luxe-card), var(--luxe-bg-2));
	border: 1px solid var(--luxe-line);
}

.luxe-single-wishlist {
	display: inline-flex;
	align-items: center;
	gap: 0.55rem;
	font-size: 0.8rem;
	font-weight: 600;
	color: var(--luxe-text-2);
}

.luxe-single-share {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
}

.luxe-single-share__label {
	font-size: 0.7rem;
	font-weight: 800;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--luxe-text-2);
	margin-right: 0.2rem;
}

.luxe-share {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 34px;
	height: 34px;
	border-radius: 50%;
	color: var(--luxe-primary);
	background: var(--luxe-bg-2);
	border: 1px solid var(--luxe-line-strong);
	transition: transform 0.25s var(--luxe-ease), color 0.25s var(--luxe-ease), box-shadow 0.25s var(--luxe-ease);
}

.luxe-share:hover {
	color: var(--luxe-gold-dark);
	transform: translateY(-2px);
	box-shadow: var(--luxe-glow-gold);
}

.luxe-stock-note {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	margin: 0 0 0.7rem;
	font-size: 0.82rem;
	font-weight: 700;
	color: #A1570A;
}

.luxe-countdown {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	margin: 0 0 0.9rem;
	padding: 0.45rem 0.9rem;
	border-radius: 999px;
	background: linear-gradient(135deg, rgba(91, 14, 30, 0.08), rgba(212, 175, 55, 0.16));
	border: 1px solid rgba(212, 175, 55, 0.55);
	font-size: 0.8rem;
	font-weight: 700;
	color: var(--luxe-primary);
}

.luxe-countdown__time {
	font-variant-numeric: tabular-nums;
	color: var(--luxe-gold-dark);
}

.luxe-single-trust {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	margin: 0.9rem 0 0;
}

.luxe-single-trust__item {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	padding: 0.35rem 0.75rem;
	border-radius: 999px;
	font-size: 0.74rem;
	font-weight: 600;
	color: var(--luxe-primary);
	background: var(--luxe-bg-2);
	border: 1px solid var(--luxe-line);
}

.luxe-single-trust__item svg {
	color: var(--luxe-gold-dark);
}

.luxe-buy-now {
	flex: 0 0 auto;
}

/* Card Buy Now — the second, permanent card CTA (stacks under Add to Cart). */
.luxe-card-cta .luxe-card-buy {
	flex: 1 1 100%;
	width: 100%;
	min-height: 40px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.4rem;
	padding: 0.6rem 0.9rem;
	border: 0;
	border-radius: 999px;
	background: linear-gradient(180deg, #FFF3C4 0%, var(--luxe-gold, #D4AF37) 42%, #B8860B 100%);
	color: #2C0A13;
	font-size: 0.7rem;
	font-weight: 800;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	line-height: 1;
	text-decoration: none;
	cursor: pointer;
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.85), 0 10px 22px -10px rgba(212, 175, 55, 1);
	transition: transform 0.28s var(--luxe-ease), box-shadow 0.28s var(--luxe-ease), filter 0.28s var(--luxe-ease);
}

.luxe-card-cta .luxe-card-buy:hover,
.luxe-card-cta .luxe-card-buy:focus-visible {
	transform: translateY(-2px);
	filter: saturate(1.1);
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.9), 0 16px 30px -12px rgba(212, 175, 55, 1), 0 0 28px -8px rgba(212, 175, 55, 0.85);
	outline: none;
}

/* Tabs */
.woocommerce div.product .woocommerce-tabs {
	flex: 1 1 100%;
	width: 100%;
	margin-top: 1.6rem;
}

.woocommerce div.product .woocommerce-tabs ul.tabs {
	display: flex;
	flex-wrap: wrap;
	gap: 0.4rem;
	margin: 0 0 1.2rem;
	padding: 0;
	border-bottom: 1px solid var(--luxe-line);
}

.woocommerce div.product .woocommerce-tabs ul.tabs::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::after {
	display: none;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li {
	margin: 0;
	padding: 0;
	border: 0;
	background: none;
	border-radius: 0;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li a {
	display: inline-flex;
	padding: 0.7rem 1rem;
	font-size: 0.82rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--luxe-text-2);
	border-bottom: 2px solid transparent;
	transition: color 0.25s var(--luxe-ease), border-color 0.25s var(--luxe-ease);
}

.woocommerce div.product .woocommerce-tabs ul.tabs li.active a,
.woocommerce div.product .woocommerce-tabs ul.tabs li a:hover {
	color: var(--luxe-primary);
	border-bottom-color: var(--luxe-gold);
}

.woocommerce div.product .woocommerce-tabs .panel {
	margin: 0;
	padding: clamp(1rem, 2.4vw, 1.8rem);
	border-radius: var(--luxe-radius-lg);
	background: linear-gradient(170deg, var(--luxe-card), var(--luxe-card-2));
	border: 1px solid var(--luxe-line);
	box-shadow: var(--luxe-shadow-sm);
}

.woocommerce table.shop_attributes {
	width: 100%;
	border-collapse: collapse;
}

.woocommerce table.shop_attributes th,
.woocommerce table.shop_attributes td {
	padding: 0.6rem 0.8rem;
	border: 0;
	border-bottom: 1px solid var(--luxe-line);
	text-align: left;
	font-size: 0.88rem;
}

.woocommerce table.shop_attributes th {
	font-weight: 700;
	color: var(--luxe-primary);
	width: 32%;
}

/* Reviews */
.woocommerce #reviews #comments ol.commentlist {
	padding: 0;
	list-style: none;
}

.woocommerce #reviews #comments ol.commentlist li {
	margin-bottom: 1.1rem;
	padding: 1rem 1.1rem;
	border-radius: var(--luxe-radius);
	background: var(--luxe-bg-2);
	border: 1px solid var(--luxe-line);
}

.woocommerce #reviews #comments ol.commentlist li .comment-text {
	margin: 0;
	padding: 0;
	border: 0;
}

.woocommerce #reviews #comments ol.commentlist li img.avatar {
	position: static;
	float: none;
	width: 46px;
	border: 1px solid rgba(212, 175, 55, 0.6);
	border-radius: 50%;
	padding: 0;
	margin-right: 0.7rem;
}

.woocommerce .star-rating span,
.woocommerce .star-rating::before {
	color: var(--luxe-gold);
}

.woocommerce #review_form #respond textarea,
.woocommerce #review_form #respond input[type="text"],
.woocommerce #review_form #respond input[type="email"],
.comment-form input[type="text"],
.comment-form input[type="email"],
.comment-form input[type="url"],
.comment-form textarea {
	width: 100%;
	padding: 0.75rem 0.9rem;
	border-radius: var(--luxe-radius-sm);
	border: 1px solid var(--luxe-line-strong);
	background: var(--luxe-card);
}

.woocommerce #review_form #respond textarea:focus,
.comment-form textarea:focus {
	border-color: var(--luxe-gold);
	box-shadow: var(--luxe-glow-gold);
	outline: none;
}

/* Related / upsells */
.woocommerce .related.products,
.woocommerce .upsells.products,
.woocommerce .cross-sells {
	flex: 1 1 100%;
	width: 100%;
	margin-top: clamp(1.6rem, 3.4vw, 2.8rem);
}

.woocommerce .related.products > h2,
.woocommerce .upsells.products > h2,
.woocommerce .cross-sells > h2,
.cart_totals h2,
.woocommerce-checkout h3,
.woocommerce-account h2 {
	font-size: clamp(1.3rem, 2.4vw, 1.9rem);
	color: var(--luxe-primary);
}

/* Cart */
.woocommerce-cart .luxe-cart-continue {
	margin-bottom: 1rem;
}

.woocommerce table.shop_table {
	width: 100%;
	border-collapse: separate;
	border-spacing: 0;
	border: 1px solid var(--luxe-line);
	border-radius: var(--luxe-radius-lg);
	overflow: hidden;
	background: var(--luxe-card);
	box-shadow: var(--luxe-shadow-sm);
}

.woocommerce table.shop_table th {
	padding: 0.9rem 1rem;
	font-size: 0.72rem;
	font-weight: 800;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--luxe-primary);
	background: linear-gradient(170deg, var(--luxe-bg-2), var(--luxe-bg-3));
	border-bottom: 1px solid var(--luxe-line);
	text-align: left;
}

.woocommerce table.shop_table td {
	padding: 1rem;
	border-bottom: 1px solid var(--luxe-line);
	vertical-align: middle;
	font-size: 0.9rem;
}

.woocommerce table.shop_table td.product-thumbnail img {
	width: 74px;
	border-radius: var(--luxe-radius-sm);
	border: 1px solid var(--luxe-line);
}

.woocommerce table.shop_table td.product-name a {
	font-weight: 600;
	color: var(--luxe-primary);
}

.woocommerce table.shop_table .quantity {
	display: inline-flex;
	align-items: center;
	border: 1px solid var(--luxe-line-strong);
	border-radius: 999px;
	overflow: hidden;
	background: var(--luxe-bg-2);
}

.woocommerce table.shop_table .quantity input {
	width: 62px;
	padding: 0.5rem 0.3rem;
	border: 0;
	background: none;
	text-align: center;
}

.woocommerce table.shop_table td.product-remove a.remove {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 30px;
	height: 30px;
	border-radius: 50%;
	color: #B3261E !important;
	background: rgba(179, 38, 30, 0.09);
	font-size: 1.1rem;
	line-height: 1;
}

.woocommerce table.shop_table td.product-remove a.remove:hover {
	background: #B3261E;
	color: #fff !important;
}

.woocommerce .cart-collaterals {
	display: flex;
	flex-wrap: wrap;
	gap: 1.4rem;
	justify-content: flex-end;
	margin-top: 1.4rem;
}

.woocommerce .cart-collaterals .cross-sells,
.woocommerce .cart-collaterals .cart_totals {
	float: none;
	width: auto;
}

.woocommerce .cart-collaterals .cross-sells {
	flex: 1 1 52%;
	margin-top: 0;
}

.woocommerce .cart-collaterals .cart_totals {
	flex: 1 1 34%;
	min-width: 300px;
}

.woocommerce .cart_totals > h2 {
	margin-bottom: 0.7rem;
}

.woocommerce .cart_totals table.shop_table {
	padding: 0.4rem;
}

.woocommerce .cart_totals table.shop_table th,
.woocommerce .cart_totals table.shop_table td {
	border-bottom: 1px solid var(--luxe-line);
	background: none;
}

.woocommerce .cart_totals .order-total td,
.woocommerce .cart_totals .order-total th {
	font-size: 1.1rem;
	font-weight: 700;
	color: var(--luxe-primary);
	border-bottom: 0;
}

.woocommerce .cart_totals .checkout-button,
.woocommerce .wc-proceed-to-checkout a.checkout-button {
	display: block;
	width: 100%;
	padding: 1rem 1.4rem;
	text-align: center;
	font-size: 0.86rem;
	color: #2C0A13;
	border-radius: 999px;
	background: linear-gradient(180deg, rgba(255, 255, 255, 0.4), rgba(255, 255, 255, 0) 45%), var(--luxe-gold-gradient);
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.75), 0 12px 26px -14px rgba(212, 175, 55, 0.95);
}

.woocommerce .cart_totals .checkout-button:hover {
	transform: translateY(-2px);
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.85), 0 18px 32px -14px rgba(212, 175, 55, 1), 0 0 28px -8px rgba(212, 175, 55, 0.85);
}

.woocommerce .coupon {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	margin-bottom: 1rem;
}

.woocommerce .coupon input[type="text"] {
	padding: 0.7rem 1rem;
	border-radius: 999px;
	border: 1px solid var(--luxe-line-strong);
	background: var(--luxe-card);
	min-width: 180px;
}

.luxe-assurance {
	display: grid;
	gap: 0.4rem;
	margin-top: 1rem;
	font-size: 0.8rem;
	color: var(--luxe-text-2);
}

.luxe-assurance li {
	display: flex;
	align-items: center;
	gap: 0.5rem;
}

.luxe-assurance svg {
	color: var(--luxe-gold-dark);
	flex: none;
}

/* Checkout */
.woocommerce-checkout .woocommerce {
	display: grid;
	gap: 1.6rem;
}

.woocommerce form.checkout {
	display: flex;
	flex-wrap: wrap;
	gap: 1.6rem;
	margin: 0;
}

.woocommerce form.checkout #customer_details {
	flex: 1 1 55%;
	min-width: 0;
}

.woocommerce form.checkout #order_review_heading,
.woocommerce form.checkout #order_review {
	flex: 1 1 38%;
	min-width: 290px;
}

.woocommerce form.checkout #order_review {
	position: relative;
	padding: 1.2rem;
	border-radius: var(--luxe-radius-lg);
	background: linear-gradient(170deg, var(--luxe-card), var(--luxe-bg-2));
	border: 1px solid rgba(212, 175, 55, 0.5);
	box-shadow: var(--luxe-shadow);
	align-self: flex-start;
}

.woocommerce form.checkout #order_review table.shop_table {
	border: 0;
	box-shadow: none;
}

.woocommerce form.checkout .woocommerce-billing-fields,
.woocommerce form.checkout .woocommerce-shipping-fields,
.woocommerce form.checkout .woocommerce-additional-fields {
	margin-bottom: 1.3rem;
	padding: 1.2rem;
	border-radius: var(--luxe-radius-lg);
	background: var(--luxe-card);
	border: 1px solid var(--luxe-line);
	box-shadow: var(--luxe-shadow-sm);
}

.woocommerce form .form-row {
	padding: 0;
	margin: 0 0 0.85rem;
}

.woocommerce form .form-row label {
	display: block;
	margin-bottom: 0.3rem;
	font-size: 0.74rem;
	font-weight: 800;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--luxe-text-2);
}

.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.woocommerce .select2-container .select2-selection--single {
	width: 100%;
	padding: 0.8rem 1rem;
	border-radius: var(--luxe-radius-sm);
	border: 1px solid var(--luxe-line-strong);
	background: var(--luxe-bg-2);
	font-size: 0.92rem;
	transition: border-color 0.22s var(--luxe-ease), box-shadow 0.22s var(--luxe-ease), background-color 0.22s var(--luxe-ease);
}

.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus,
.woocommerce form .form-row select:focus {
	border-color: var(--luxe-gold);
	background: var(--luxe-card);
	box-shadow: var(--luxe-glow-gold);
	outline: none;
}

.woocommerce .select2-container .select2-selection--single {
	height: auto;
	padding: 0.55rem 0.6rem;
}

.woocommerce .select2-container--default .select2-selection--single .select2-selection__arrow {
	top: 50%;
	transform: translateY(-50%);
	right: 0.7rem;
}

.woocommerce .select2-dropdown {
	border-radius: var(--luxe-radius-sm);
	border-color: var(--luxe-line-strong);
	background: var(--luxe-card);
}

#payment ul.payment_methods {
	padding: 0;
	margin: 0 0 1rem;
	list-style: none;
	border: 0;
}

#payment ul.payment_methods li {
	padding: 0.75rem 0.9rem;
	margin-bottom: 0.5rem;
	border-radius: var(--luxe-radius-sm);
	background: var(--luxe-bg-2);
	border: 1px solid var(--luxe-line);
}

#payment ul.payment_methods li label {
	font-weight: 600;
	cursor: pointer;
}

#payment div.form-row.place-order {
	padding: 0;
	margin: 0;
}

#payment #place_order {
	width: 100%;
	padding: 1.05rem 1.4rem;
	font-size: 0.88rem;
	color: #2C0A13;
	border-radius: 999px;
	background: linear-gradient(180deg, rgba(255, 255, 255, 0.4), rgba(255, 255, 255, 0) 45%), var(--luxe-gold-gradient);
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.75), 0 14px 30px -14px rgba(212, 175, 55, 0.95);
}

#payment #place_order:hover {
	transform: translateY(-2px);
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.85), 0 20px 36px -14px rgba(212, 175, 55, 1), 0 0 30px -8px rgba(212, 175, 55, 0.85);
}

.luxe-checkout-trust {
	display: flex;
	align-items: flex-start;
	gap: 0.6rem;
	margin: 0.9rem 0 0;
	padding: 0.8rem 0.9rem;
	border-radius: var(--luxe-radius-sm);
	background: rgba(212, 175, 55, 0.1);
	border: 1px solid rgba(212, 175, 55, 0.4);
	font-size: 0.8rem;
	color: var(--luxe-text-2);
}

.luxe-checkout-trust p {
	margin: 0;
}

.luxe-checkout-trust__lock {
	color: var(--luxe-gold-dark);
	flex: none;
}

.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper {
	font-size: 0.82rem;
	color: var(--luxe-text-2);
}

/* My Account */
.woocommerce-account .woocommerce {
	display: flex;
	flex-wrap: wrap;
	gap: 1.6rem;
}

.woocommerce-account .woocommerce-MyAccount-navigation {
	flex: 0 0 250px;
	max-width: 100%;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul {
	padding: 0.5rem;
	margin: 0;
	border-radius: var(--luxe-radius-lg);
	background: linear-gradient(170deg, var(--luxe-card), var(--luxe-bg-2));
	border: 1px solid var(--luxe-line);
	box-shadow: var(--luxe-shadow-sm);
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li {
	list-style: none;
	margin: 0 0 0.2rem;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li a {
	display: flex;
	align-items: center;
	padding: 0.65rem 0.9rem;
	border-radius: var(--luxe-radius-sm);
	font-size: 0.88rem;
	font-weight: 600;
	color: var(--luxe-text);
	transition: background-color 0.22s var(--luxe-ease), color 0.22s var(--luxe-ease);
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li a:hover,
.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active a {
	color: #FFF6E4;
	background: linear-gradient(135deg, var(--luxe-primary), var(--luxe-primary-light));
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 6px 16px -10px rgba(62, 8, 19, 0.85);
}

.woocommerce-account .woocommerce-MyAccount-content {
	flex: 1 1 420px;
	min-width: 0;
	padding: clamp(1.1rem, 2.6vw, 1.8rem);
	border-radius: var(--luxe-radius-lg);
	background: linear-gradient(170deg, var(--luxe-card), var(--luxe-card-2));
	border: 1px solid var(--luxe-line);
	box-shadow: var(--luxe-shadow-sm);
}

.woocommerce-account .woocommerce-MyAccount-content form.login,
.woocommerce-account .woocommerce-MyAccount-content form.register,
.woocommerce form.login,
.woocommerce form.register {
	max-width: 480px;
	margin: 0 auto;
	padding: clamp(1.2rem, 3vw, 2rem);
	border-radius: var(--luxe-radius-lg);
	background: linear-gradient(170deg, var(--luxe-card), var(--luxe-bg-2));
	border: 1px solid rgba(212, 175, 55, 0.45);
	box-shadow: var(--luxe-shadow);
}

.woocommerce form.login label,
.woocommerce form.register label {
	display: block;
	font-size: 0.76rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--luxe-text-2);
	margin-bottom: 0.3rem;
}

.woocommerce form.login input.input-text,
.woocommerce form.register input.input-text {
	width: 100%;
	padding: 0.8rem 1rem;
	border-radius: var(--luxe-radius-sm);
	border: 1px solid var(--luxe-line-strong);
	background: var(--luxe-card);
	margin-bottom: 0.8rem;
}

/* Filter widget (WooCommerce price filter, layered nav) */
.luxe-widget {
	padding: 1.1rem;
	margin-bottom: 1.1rem;
	border-radius: var(--luxe-radius-lg);
	background: linear-gradient(170deg, var(--luxe-card), var(--luxe-card-2));
	border: 1px solid var(--luxe-line);
	box-shadow: var(--luxe-shadow-sm);
}

.luxe-sidebar .luxe-widget:first-child {
	margin-top: 1rem;
}

.luxe-widget ul li {
	font-size: 0.86rem;
	padding: 0.2rem 0;
}

.luxe-widget .price_slider_wrapper .ui-slider {
	background-color: var(--luxe-bg-3);
}

.luxe-widget .price_slider_wrapper .ui-slider .ui-slider-range,
.luxe-widget .price_slider_wrapper .ui-slider .ui-slider-handle {
	background-color: var(--luxe-gold);
}

.woocommerce .widget_price_filter .price_slider_amount .button {
	padding: 0.55rem 1rem;
	font-size: 0.7rem;
}

/* ==========================================================================
 * 15. Blog, pages, sidebar, wishlist
 * ======================================================================== */
.luxe-layout {
	display: grid;
	gap: clamp(1.2rem, 3vw, 2.4rem);
	grid-template-columns: 1fr;
	padding-block: clamp(1.4rem, 3vw, 2.4rem);
}

.luxe-layout--sidebar {
	grid-template-columns: minmax(0, 1fr) 300px;
}

.luxe-layout--full {
	grid-template-columns: 1fr;
}

.luxe-layout__main {
	min-width: 0;
}

.luxe-sidebar {
	min-width: 0;
}

.luxe-post-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: clamp(0.9rem, 2vw, 1.5rem);
}

.luxe-post-card {
	display: flex;
	flex-direction: column;
	overflow: hidden;
	border-radius: var(--luxe-radius-lg);
	background: var(--luxe-card);
	border: 1px solid var(--luxe-line);
	box-shadow: var(--luxe-shadow-sm);
	transition: transform 0.36s var(--luxe-ease-out), box-shadow 0.36s var(--luxe-ease), border-color 0.36s var(--luxe-ease);
}

.luxe-post-card:hover {
	transform: translateY(-5px);
	border-color: rgba(212, 175, 55, 0.6);
	box-shadow: var(--luxe-shadow);
}

.luxe-post-card__media {
	display: block;
	aspect-ratio: 16 / 10;
	overflow: hidden;
	background: var(--luxe-bg-3);
}

.luxe-post-card__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.6s var(--luxe-ease-out);
}

.luxe-post-card:hover .luxe-post-card__media img {
	transform: scale(1.06);
}

.luxe-post-card__body {
	display: flex;
	flex-direction: column;
	gap: 0.4rem;
	padding: 1.1rem;
}

.luxe-post-card__meta {
	margin: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 0.7rem;
	font-size: 0.72rem;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--luxe-text-2);
}

.luxe-post-card__cats a {
	color: var(--luxe-gold-dark);
}

.luxe-post-card__title {
	margin: 0;
	font-size: 1.2rem;
}

.luxe-post-card__title a {
	color: var(--luxe-primary);
}

.luxe-post-card__excerpt {
	font-size: 0.88rem;
	color: var(--luxe-text-2);
}

.luxe-entry-header {
	margin-bottom: 1.2rem;
}

.luxe-entry-title {
	margin: 0;
	color: var(--luxe-primary);
}

.luxe-entry-media {
	margin-bottom: 1.4rem;
	border-radius: var(--luxe-radius-lg);
	overflow: hidden;
	box-shadow: var(--luxe-shadow);
}

.luxe-entry-content {
	font-size: 1rem;
	line-height: 1.75;
}

.luxe-entry-content > * + * {
	margin-top: 1.1rem;
}

.luxe-entry-content h2,
.luxe-entry-content h3 {
	color: var(--luxe-primary);
	margin-top: 1.6rem;
}

.luxe-entry-content a {
	color: var(--luxe-primary);
	text-decoration: underline;
	text-underline-offset: 3px;
}

.luxe-entry-content a:hover {
	color: var(--luxe-gold-dark);
}

.luxe-entry-content blockquote,
.wp-block-quote {
	margin: 1.4rem 0;
	padding: 1.1rem 1.3rem;
	border-left: 3px solid var(--luxe-gold);
	border-radius: var(--luxe-radius-sm);
	background: linear-gradient(170deg, var(--luxe-card), var(--luxe-bg-2));
	font-family: var(--luxe-font-head);
	font-size: 1.15rem;
}

.luxe-entry-content img,
.wp-block-image img {
	border-radius: var(--luxe-radius);
}

.luxe-entry-content table {
	width: 100%;
	border-collapse: collapse;
}

.luxe-entry-content th,
.luxe-entry-content td {
	padding: 0.6rem 0.8rem;
	border: 1px solid var(--luxe-line);
	text-align: left;
}

.luxe-entry-content ul,
.luxe-entry-content ol {
	padding-left: 1.3rem;
	list-style: disc;
}

.luxe-entry-content ol {
	list-style: decimal;
}

.wp-block-button__link {
	display: inline-flex;
	padding: 0.8rem 1.5rem;
	border-radius: 999px;
	background: linear-gradient(180deg, rgba(255, 255, 255, 0.4), rgba(255, 255, 255, 0) 45%), var(--luxe-gold-gradient);
	color: #2C0A13;
	font-weight: 700;
	font-size: 0.85rem;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

.luxe-entry--full .luxe-entry-content {
	max-width: 860px;
	margin-inline: auto;
}

.luxe-tag-list a {
	display: inline-flex;
	padding: 0.3rem 0.75rem;
	margin: 0 0.3rem 0.4rem 0;
	border-radius: 999px;
	font-size: 0.74rem;
	color: var(--luxe-primary);
	background: var(--luxe-bg-2);
	border: 1px solid var(--luxe-line-strong);
}

.luxe-comments {
	margin-top: 2rem;
}

.luxe-comments__title {
	font-size: 1.4rem;
	color: var(--luxe-primary);
}

.luxe-comment-list {
	list-style: none;
	padding: 0;
}

.luxe-comment-list .comment-body {
	padding: 1rem 1.1rem;
	margin-bottom: 1rem;
	border-radius: var(--luxe-radius);
	background: var(--luxe-card);
	border: 1px solid var(--luxe-line);
}

.luxe-comment-list .children {
	list-style: none;
	padding-left: 1.3rem;
}

/* 404 */
.luxe-404 {
	text-align: center;
	padding: clamp(2rem, 6vw, 4rem) 0;
}

.luxe-404__code {
	display: block;
	font-family: var(--luxe-font-head);
	font-size: clamp(4rem, 12vw, 8rem);
	line-height: 1;
	background: var(--luxe-gold-gradient);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
	-webkit-text-fill-color: transparent;
	filter: drop-shadow(0 6px 20px rgba(212, 175, 55, 0.4));
}

.luxe-404__title {
	color: var(--luxe-primary);
}

.luxe-404__text {
	color: var(--luxe-text-2);
	max-width: 56ch;
	margin-inline: auto;
}

.luxe-404__search {
	display: flex;
	justify-content: center;
	margin: 1.2rem 0;
}

.luxe-404__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.7rem;
	justify-content: center;
	margin-bottom: 2rem;
}

/* Wishlist page */
.luxe-wishlist-page {
	padding-block: clamp(1.4rem, 3vw, 2.4rem);
}

.luxe-wishlist-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.7rem;
	justify-content: center;
	margin-top: 1.8rem;
}

.luxe-wishlist-loading {
	display: grid;
	place-items: center;
	padding: 2rem;
}

/* ==========================================================================
 * 16. Dark mode — every surface, gold-forward
 * ======================================================================== */
[data-theme="dark"] {
	--luxe-bg: #0E0A0C;
	--luxe-bg-2: #150D11;
	--luxe-bg-3: #1E1319;
	--luxe-card: #1A1016;
	--luxe-card-2: #22141B;
	--luxe-text: #F7EFE4;
	--luxe-text-2: #BFA9AE;
	--luxe-text-inv: #FFF8EE;
	--luxe-line: rgba(212, 175, 55, 0.2);
	--luxe-line-strong: rgba(212, 175, 55, 0.4);
	--luxe-shadow-sm: 0 8px 22px rgba(0, 0, 0, 0.5);
	--luxe-shadow: 0 22px 48px -20px rgba(0, 0, 0, 0.8), 0 2px 10px rgba(0, 0, 0, 0.4);
	--luxe-shadow-lg: 0 44px 88px -34px rgba(0, 0, 0, 0.9), 0 8px 22px rgba(0, 0, 0, 0.5);
	--luxe-glow-gold: 0 0 0 1px rgba(212, 175, 55, 0.6), 0 0 30px -8px rgba(212, 175, 55, 0.6);
	--luxe-glow-gold-strong: 0 0 0 1px rgba(212, 175, 55, 0.9), 0 0 40px -6px rgba(212, 175, 55, 0.75), inset 0 1px 0 rgba(255, 248, 220, 0.4);
}

[data-theme="dark"] body {
	background:
		radial-gradient(60% 40% at 8% 0%, rgba(212, 175, 55, 0.07), transparent 60%),
		var(--luxe-bg);
	color: var(--luxe-text);
}

[data-theme="dark"] .luxe-header {
	background: color-mix(in srgb, #170E13 88%, transparent);
	border-bottom-color: rgba(212, 175, 55, 0.28);
}

[data-theme="dark"] .luxe-header.is-stuck {
	background: color-mix(in srgb, #170E13 95%, transparent);
	box-shadow: 0 16px 40px -22px rgba(0, 0, 0, 0.95), 0 0 26px -14px rgba(212, 175, 55, 0.5);
}

[data-theme="dark"] .luxe-site-title {
	text-shadow: 0 0 22px rgba(212, 175, 55, 0.4);
}

[data-theme="dark"] .luxe-logo {
	filter: drop-shadow(0 2px 10px rgba(212, 175, 55, 0.35)) brightness(1.06);
}

[data-theme="dark"] .luxe-menu > li > a {
	color: rgba(247, 239, 228, 0.92);
}

[data-theme="dark"] .luxe-menu > li:hover > a,
[data-theme="dark"] .luxe-menu > li.current-menu-item > a {
	color: var(--luxe-gold-light);
	background: rgba(212, 175, 55, 0.14);
}

[data-theme="dark"] .luxe-menu .sub-menu {
	background: #1E1319;
	border-color: rgba(212, 175, 55, 0.4);
}

[data-theme="dark"] .luxe-action {
	color: var(--luxe-text);
}

[data-theme="dark"] .luxe-action__label {
	color: var(--luxe-text-2);
}

[data-theme="dark"] .luxe-cart-count,
[data-theme="dark"] .luxe-wishlist-count {
	box-shadow: 0 0 0 2px #170E13, 0 0 12px -2px rgba(212, 175, 55, 0.95);
}

[data-theme="dark"] .luxe-search__form {
	background: rgba(255, 255, 255, 0.05);
	border-color: rgba(212, 175, 55, 0.35);
}

[data-theme="dark"] .luxe-search__form:focus-within {
	background: rgba(255, 255, 255, 0.08);
}

[data-theme="dark"] .luxe-search__input {
	color: var(--luxe-text);
}

[data-theme="dark"] .luxe-search__results,
[data-theme="dark"] .luxe-icon-btn {
	background: #1E1319;
	color: #F7EFE4;
}

[data-theme="dark"] .luxe-suggest__link:hover {
	background: rgba(212, 175, 55, 0.14);
}

[data-theme="dark"] .luxe-suggest__media {
	background: #24161D;
}

[data-theme="dark"] .luxe-suggest__price,
[data-theme="dark"] .luxe-suggest__all {
	color: var(--luxe-gold-light);
}

[data-theme="dark"] .luxe-drawer__panel {
	background: linear-gradient(170deg, #1B1117, #120B10);
	border-right-color: rgba(212, 175, 55, 0.5);
}

[data-theme="dark"] .luxe-search-layer .luxe-search {
	background: #1E1319;
}

[data-theme="dark"] .luxe-hero {
	background:
		radial-gradient(120% 130% at 12% 8%, rgba(212, 175, 55, 0.22) 0%, transparent 55%),
		linear-gradient(140deg, #2A0713 0%, #180710 42%, #0B0508 100%);
}

[data-theme="dark"] .luxe-hero-product {
	background: linear-gradient(160deg, #221419, #1A0F15);
	color: var(--luxe-text);
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.06), 0 0 0 1px rgba(212, 175, 55, 0.28);
}

[data-theme="dark"] .luxe-hero-product__title {
	color: #FFF3E2;
}

[data-theme="dark"] .luxe-hero-product__price {
	color: var(--luxe-gold-light);
}

[data-theme="dark"] .luxe-hero-product__media {
	background: #2A1A21;
}

[data-theme="dark"] .luxe-section-title,
[data-theme="dark"] .luxe-page-title,
[data-theme="dark"] .luxe-entry-title,
[data-theme="dark"] .luxe-card__title,
[data-theme="dark"] .luxe-cat__name,
[data-theme="dark"] .luxe-trust__title,
[data-theme="dark"] .woocommerce div.product .product_title,
[data-theme="dark"] .woocommerce div.product p.price,
[data-theme="dark"] .woocommerce div.product span.price {
	color: var(--luxe-gold-light);
}

[data-theme="dark"] .luxe-card__title a {
	color: #F7EFE4;
}

[data-theme="dark"] .luxe-card__title a:hover {
	color: var(--luxe-gold-light);
}

[data-theme="dark"] .luxe-card__inner {
	background: linear-gradient(175deg, #1C1117 0%, #150D12 100%);
	border-color: rgba(212, 175, 55, 0.22);
}

[data-theme="dark"] .luxe-card:hover .luxe-card__inner,
[data-theme="dark"] .luxe-card:focus-within .luxe-card__inner {
	border-color: rgba(212, 175, 55, 0.7);
	box-shadow: 0 26px 54px -24px rgba(0, 0, 0, 0.95), 0 0 0 1px rgba(212, 175, 55, 0.5), 0 0 44px -12px rgba(212, 175, 55, 0.75);
}

[data-theme="dark"] .luxe-card__inner::after {
	background: linear-gradient(140deg, rgba(255, 255, 255, 0.08) 0%, transparent 34%);
}

[data-theme="dark"] .luxe-card__media {
	background: linear-gradient(160deg, #24161D, #1A1015);
}

[data-theme="dark"] .luxe-card .price,
[data-theme="dark"] .luxe-card .price ins,
[data-theme="dark"] .luxe-card__body .price {
	color: var(--luxe-gold-light);
}

[data-theme="dark"] .luxe-card .price del {
	color: var(--luxe-text-2);
}

[data-theme="dark"] .luxe-stars {
	color: rgba(212, 175, 55, 0.22);
}

[data-theme="dark"] .luxe-wishlist-btn,
[data-theme="dark"] .luxe-quickview-btn {
	background: rgba(26, 16, 22, 0.92);
	color: var(--luxe-gold-light);
	border-color: rgba(212, 175, 55, 0.45);
}

[data-theme="dark"] .luxe-cat__link,
[data-theme="dark"] .luxe-trust__card,
[data-theme="dark"] .luxe-review,
[data-theme="dark"] .luxe-post-card,
[data-theme="dark"] .luxe-widget,
[data-theme="dark"] .luxe-single-extras,
[data-theme="dark"] .woocommerce div.product .woocommerce-tabs .panel,
[data-theme="dark"] .woocommerce-account .woocommerce-MyAccount-content,
[data-theme="dark"] .woocommerce form.checkout #order_review,
[data-theme="dark"] .woocommerce form.checkout .woocommerce-billing-fields,
[data-theme="dark"] .woocommerce form.checkout .woocommerce-shipping-fields,
[data-theme="dark"] .woocommerce form.checkout .woocommerce-additional-fields,
[data-theme="dark"] .woocommerce form.login,
[data-theme="dark"] .woocommerce form.register,
[data-theme="dark"] .woocommerce-account .woocommerce-MyAccount-navigation ul {
	background: linear-gradient(170deg, #1C1117, #150D12);
	border-color: rgba(212, 175, 55, 0.22);
}

[data-theme="dark"] .luxe-trust__icon {
	background: radial-gradient(circle at 34% 28%, rgba(212, 175, 55, 0.32), rgba(212, 175, 55, 0.06) 70%);
	color: var(--luxe-gold-light);
}

[data-theme="dark"] .luxe-cat__media {
	background: linear-gradient(160deg, #24161D, #1A1015);
}

[data-theme="dark"] .luxe-cat__desc,
[data-theme="dark"] .luxe-trust__text,
[data-theme="dark"] .luxe-review__text,
[data-theme="dark"] .luxe-card__excerpt,
[data-theme="dark"] .luxe-section-sub,
[data-theme="dark"] .luxe-archive-desc,
[data-theme="dark"] .luxe-post-card__excerpt {
	color: var(--luxe-text-2);
}

[data-theme="dark"] .luxe-home-block--featured,
[data-theme="dark"] .luxe-home-block--showcase {
	background: radial-gradient(90% 60% at 8% 0%, rgba(212, 175, 55, 0.1), transparent 60%), linear-gradient(180deg, #120B10, #0E0A0C);
}

[data-theme="dark"] .luxe-home-block--bestsellers {
	background: radial-gradient(70% 70% at 92% 10%, rgba(212, 175, 55, 0.12), transparent 62%), linear-gradient(180deg, #120B10, #0E0A0C);
}

[data-theme="dark"] .luxe-trust {
	background: linear-gradient(180deg, #120B10, #0E0A0C);
}

[data-theme="dark"] .luxe-footer {
	background: radial-gradient(80% 60% at 12% 0%, rgba(212, 175, 55, 0.14), transparent 60%), linear-gradient(180deg, #25060F 0%, #0B0508 100%);
}

[data-theme="dark"] .luxe-empty-state {
	background: linear-gradient(170deg, #1A1016, #120B10);
}

[data-theme="dark"] .luxe-icon-btn:hover,
[data-theme="dark"] .luxe-wishlist-btn:hover,
[data-theme="dark"] .luxe-quickview-btn:hover {
	color: var(--luxe-gold-light);
}

[data-theme="dark"] .luxe-btn--outline {
	color: var(--luxe-gold-light);
	border-color: rgba(212, 175, 55, 0.75);
}

[data-theme="dark"] .luxe-btn--outline:hover {
	color: #FFF6D4;
	border-color: var(--luxe-gold-light);
	box-shadow: 0 0 34px -8px rgba(212, 175, 55, 0.85);
}

[data-theme="dark"] .luxe-link-more {
	color: var(--luxe-gold-light);
}

[data-theme="dark"] .luxe-topbar {
	background: linear-gradient(120deg, #150710 0%, #2A0713 45%, #150710 100%);
}

[data-theme="dark"] .luxe-bottom-nav {
	background:
		linear-gradient(180deg, rgba(255, 255, 255, 0.1) 0%, rgba(255, 255, 255, 0) 34%),
		linear-gradient(170deg, #3A0917 0%, #1E050C 62%, #0A0407 100%);
	box-shadow:
		0 -20px 44px -22px rgba(0, 0, 0, 0.95),
		0 0 0 1px rgba(212, 175, 55, 0.9),
		0 0 0 3px rgba(212, 175, 55, 0.2),
		0 -2px 38px -8px rgba(212, 175, 55, 0.65);
}

[data-theme="dark"] .luxe-heart-pod {
	background:
		radial-gradient(120% 120% at 32% 24%, rgba(255, 255, 255, 0.2) 0%, rgba(255, 255, 255, 0) 46%),
		linear-gradient(160deg, #4A0B1D 0%, #26060F 70%, #0C0407 100%);
}

[data-theme="dark"] .woocommerce table.shop_table {
	background: #170E13;
	border-color: rgba(212, 175, 55, 0.22);
}

[data-theme="dark"] .woocommerce table.shop_table th {
	background: linear-gradient(170deg, #22141B, #1A1016);
	color: var(--luxe-gold-light);
	border-bottom-color: rgba(212, 175, 55, 0.25);
}

[data-theme="dark"] .woocommerce table.shop_table td {
	border-bottom-color: rgba(212, 175, 55, 0.16);
}

[data-theme="dark"] .woocommerce-message,
[data-theme="dark"] .woocommerce-info,
[data-theme="dark"] .woocommerce-error {
	background: linear-gradient(170deg, #1C1117, #150D12);
	color: var(--luxe-text);
}

[data-theme="dark"] .woocommerce form .form-row input.input-text,
[data-theme="dark"] .woocommerce form .form-row textarea,
[data-theme="dark"] .woocommerce form .form-row select,
[data-theme="dark"] .woocommerce .coupon input[type="text"],
[data-theme="dark"] .woocommerce form.login input.input-text,
[data-theme="dark"] .woocommerce-page select,
[data-theme="dark"] .woocommerce select,
[data-theme="dark"] .woocommerce div.product .variations select {
	background: rgba(255, 255, 255, 0.05);
	border-color: rgba(212, 175, 55, 0.35);
	color: var(--luxe-text);
}

[data-theme="dark"] #payment ul.payment_methods li,
[data-theme="dark"] .luxe-checkout-trust,
[data-theme="dark"] .woocommerce div.product form.cart .quantity,
[data-theme="dark"] .woocommerce table.shop_table .quantity,
[data-theme="dark"] .luxe-qv__form .quantity {
	background: rgba(255, 255, 255, 0.04);
	border-color: rgba(212, 175, 55, 0.3);
}

[data-theme="dark"] .luxe-qv__panel {
	background: linear-gradient(170deg, #1B1117, #120B10);
	border-color: rgba(212, 175, 55, 0.55);
}

[data-theme="dark"] .luxe-qv__media,
[data-theme="dark"] .woocommerce div.product div.images .woocommerce-product-gallery__wrapper {
	background: linear-gradient(160deg, #24161D, #1A1015);
}

[data-theme="dark"] .woocommerce div.product .woocommerce-tabs ul.tabs li.active a,
[data-theme="dark"] .woocommerce div.product .woocommerce-tabs ul.tabs li a:hover {
	color: var(--luxe-gold-light);
}

[data-theme="dark"] .woocommerce #reviews #comments ol.commentlist li,
[data-theme="dark"] .luxe-comment-list .comment-body {
	background: rgba(255, 255, 255, 0.04);
	border-color: rgba(212, 175, 55, 0.2);
}

[data-theme="dark"] .luxe-single-trust__item {
	background: rgba(255, 255, 255, 0.05);
	color: var(--luxe-gold-light);
	border-color: rgba(212, 175, 55, 0.3);
}

[data-theme="dark"] .luxe-share {
	background: rgba(255, 255, 255, 0.05);
	color: var(--luxe-gold-light);
	border-color: rgba(212, 175, 55, 0.35);
}

[data-theme="dark"] .luxe-countdown {
	color: var(--luxe-gold-light);
	background: linear-gradient(135deg, rgba(212, 175, 55, 0.16), rgba(91, 14, 30, 0.24));
}

[data-theme="dark"] .luxe-tag-list a,
[data-theme="dark"] .wp-block-quote,
[data-theme="dark"] .luxe-entry-content blockquote {
	background: linear-gradient(170deg, #1C1117, #150D12);
}

/* ==========================================================================
 * 17. Responsive
 * ======================================================================== */
@media (max-width: 1180px) {
	ul.products.columns-5 {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}

	.luxe-cat-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 1000px) {
	:root {
		--luxe-header-h: 60px;
	}

	.luxe-header__desktop {
		display: none;
	}

	.luxe-header__mobile {
		display: flex;
	}

	.luxe-bottom-nav {
		display: block;
	}

	.luxe-has-bottom-nav body,
	body.luxe-has-bottom-nav {
		padding-bottom: calc(var(--luxe-nav-h) + env(safe-area-inset-bottom, 0px));
	}

	.luxe-main {
		padding-bottom: 0.5rem;
	}

	.luxe-hero__inner {
		grid-template-columns: 1fr;
		gap: 2rem;
		text-align: center;
	}

	.luxe-hero__copy {
		display: flex;
		flex-direction: column;
		align-items: center;
	}

	.luxe-hero__text {
		margin-inline: auto;
	}

	.luxe-hero__actions,
	.luxe-hero__chips {
		justify-content: center;
	}

	.luxe-hero__frame {
		width: min(100%, 380px);
		max-width: 380px;
	}

	.luxe-layout--sidebar {
		grid-template-columns: 1fr;
	}

	.luxe-sidebar {
		order: 2;
	}

	.luxe-footer__top {
		grid-template-columns: 1fr;
	}

	.luxe-footer__cols {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.luxe-news__card {
		grid-template-columns: 1fr;
	}

	ul.products.columns-4,
	ul.products.columns-5 {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.luxe-post-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.luxe-review-grid,
	.luxe-trust__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.woocommerce-account .woocommerce-MyAccount-navigation {
		flex: 1 1 100%;
	}

	.woocommerce-account .woocommerce-MyAccount-navigation ul {
		display: flex;
		flex-wrap: wrap;
		gap: 0.4rem;
	}

	.woocommerce-account .woocommerce-MyAccount-navigation ul li {
		margin: 0;
	}
}

@media (max-width: 780px) {
	.luxe-topbar__meta {
		display: none;
	}

	.luxe-topbar__inner {
		justify-content: center;
		text-align: center;
	}

	.luxe-hero {
		padding-top: 2rem;
	}

	.luxe-section-head {
		flex-direction: column;
		align-items: flex-start;
		gap: 0.7rem;
	}

	ul.products.columns-3,
	ul.products.columns-4,
	ul.products.columns-5 {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.luxe-cat-grid,
	.luxe-review-grid,
	.luxe-trust__grid,
	.luxe-footer__cols,
	.luxe-post-grid {
		grid-template-columns: 1fr;
	}

	.luxe-cat__link {
		align-items: center;
	}

	.luxe-cat__media {
		width: 92px;
	}

	.luxe-qv__grid {
		grid-template-columns: 1fr;
	}

	.luxe-qv__panel {
		max-height: 92vh;
	}

	.woocommerce div.product div.images,
	.woocommerce div.product div.summary {
		flex: 1 1 100%;
	}

	.woocommerce form.checkout #customer_details,
	.woocommerce form.checkout #order_review_heading,
	.woocommerce form.checkout #order_review {
		flex: 1 1 100%;
		min-width: 0;
	}

	.woocommerce .cart-collaterals .cart_totals,
	.woocommerce .cart-collaterals .cross-sells {
		flex: 1 1 100%;
		min-width: 0;
	}

	/* Keep the cart/checkout tables usable on small screens. */
	.woocommerce table.shop_table_responsive tr,
	.woocommerce-page table.shop_table_responsive tr {
		display: block;
		margin-bottom: 1rem;
		border: 1px solid var(--luxe-line);
		border-radius: var(--luxe-radius);
		overflow: hidden;
	}

	.woocommerce table.shop_table_responsive th,
	.woocommerce table.shop_table_responsive td {
		display: block;
		text-align: right;
		padding: 0.7rem 0.9rem;
	}

	.woocommerce table.shop_table_responsive th::before,
	.woocommerce table.shop_table_responsive td::before {
		float: left;
		font-weight: 800;
		font-size: 0.72rem;
		letter-spacing: 0.1em;
		text-transform: uppercase;
		color: var(--luxe-text-2);
	}

	.woocommerce table.shop_table_responsive td.product-thumbnail,
	.woocommerce table.shop_table_responsive td.product-remove {
		text-align: left;
	}
}

@media (max-width: 560px) {
	:root {
		--luxe-nav-h: 66px;
	}

	.luxe-container {
		width: calc(100% - 2rem);
	}

	ul.products.columns-2,
	ul.products.columns-3,
	ul.products.columns-4,
	ul.products.columns-5 {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 0.7rem;
	}


	.luxe-card__media {
		aspect-ratio: 1 / 1;
	}
	.luxe-card__body {
		padding: 0.58rem 0.55rem 0.65rem;
		gap: 0.18rem;
	}

	.luxe-card__title {
		font-size: 0.82rem;
		line-height: 1.18;
	}

	.luxe-card .price,
	.luxe-card__body .price {
		font-size: 0.9rem;
		gap: 0.2rem;
	}

	.luxe-card__excerpt {
		display: none;
	}

	.luxe-card-cta .button {
		font-size: 0.6rem;
		padding: 0.48rem 0.45rem;
		letter-spacing: 0.03em;
	}

	.luxe-card-actions {
		opacity: 1;
		transform: none;
	}

	.luxe-wishlist-btn,
	.luxe-quickview-btn {
		width: 34px;
		height: 34px;
	}

	.luxe-bottom-nav__list {
		padding: 0.42rem 0.15rem 0.34rem;
	}

	.luxe-bottom-nav__label {
		font-size: 0.55rem;
		letter-spacing: 0.03em;
	}

	.luxe-heart-pod {
		width: 50px;
		height: 50px;
	}

	.luxe-hero__title {
		font-size: 2rem;
	}

	.luxe-hero__actions .luxe-btn {
		width: 100%;
	}

	.luxe-section {
		padding: 1.9rem 0;
	}

	.luxe-trust__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 0.6rem;
	}

	.luxe-trust__card {
		padding: 1rem 0.7rem;
	}

	.luxe-trust__text {
		display: none;
	}

	.luxe-newsletter__field {
		flex-direction: column;
		border-radius: var(--luxe-radius);
	}

	.luxe-newsletter__input,
	.luxe-newsletter__field .luxe-btn {
		width: 100%;
	}

	.luxe-footer__bottom {
		flex-direction: column;
		text-align: center;
	}

	.luxe-to-top {
		right: 0.7rem;
		width: 40px;
		height: 40px;
	}
}

/* ==========================================================================
 * 18. Elementor FREE + block editor + Gutenberg compatibility
 * ======================================================================== */
.elementor-page .luxe-main,
.elementor-template-full-width .luxe-main {
	padding: 0;
}

.elementor-page .luxe-container.luxe-layout,
.elementor-location-single .luxe-layout {
	width: 100%;
	max-width: none;
	padding: 0;
}

.elementor-page .luxe-layout__main {
	width: 100%;
}

.elementor-kit-1 a,
.elementor a {
	text-decoration: none;
}

.elementor-widget-image img,
.elementor-widget-image-box img {
	border-radius: var(--luxe-radius);
}

.elementor-button {
	border-radius: 999px !important;
}

.elementor-page .luxe-section {
	padding-block: 0;
}

.alignwide {
	max-width: 1100px;
	margin-inline: auto;
}

.alignfull {
	max-width: none;
	width: 100%;
}

.wp-block-group.has-background,
.wp-block-cover {
	border-radius: var(--luxe-radius-lg);
}

/* Elementor's own reset must not break our premium buttons. */
.elementor-page .luxe-btn,
.elementor-page .luxe-btn--gold {
	border-radius: 999px;
}

/* Print */
@media print {
	.luxe-header,
	.luxe-bottom-nav,
	.luxe-topbar,
	.luxe-marquee,
	.luxe-to-top,
	.luxe-toast,
	.luxe-mode-toggle {
		display: none !important;
	}

	body {
		background: #fff;
		color: #000;
	}
}

/* Compact product-card refinement: reduced media, spacing, typography and hidden excerpts. */

/* ==========================================================================
 * 19. Premium mobile visual refinement (v2)
 * ======================================================================== */
@media (max-width: 1000px) {
	.luxe-header {
		background:
			linear-gradient(135deg, rgba(91, 14, 30, 0.98), rgba(48, 5, 15, 0.98));
		border-bottom-color: rgba(212, 175, 55, 0.72);
		box-shadow: 0 10px 30px -20px rgba(212, 175, 55, 0.9);
	}

	.luxe-header__mobile-wrap {
		padding: 0.25rem 0 0.55rem;
		background:
			radial-gradient(circle at 75% 0%, rgba(212,175,55,.20), transparent 34%),
			linear-gradient(135deg, #6b0f25 0%, #3d0714 60%, #21050c 100%);
		border-bottom: 1px solid rgba(212,175,55,.65);
	}

	.luxe-header__mobile {
		min-height: 58px;
		color: #fff8ee;
	}

	.luxe-header__mobile .luxe-icon-btn {
		width: 42px;
		height: 42px;
		color: #fff8ee;
		background: rgba(255,255,255,.08);
		border-color: rgba(212,175,55,.55);
		box-shadow: 0 0 18px -8px rgba(212,175,55,.9);
	}

	.luxe-header__mobile .luxe-site-title {
		font-size: 1.12rem;
		color: #fff5d4;
		background: none;
		-webkit-text-fill-color: #fff5d4;
	}

	.luxe-header__mobile .luxe-site-tagline {
		color: rgba(255,248,238,.72);
	}

	.luxe-mobile-search-row {
		padding-bottom: .2rem;
	}

	.luxe-mobile-search-row .luxe-search {
		max-width: none;
		width: 100%;
	}

	.luxe-mobile-search-row .luxe-search__form {
		min-height: 48px;
		padding: .28rem .35rem .28rem .9rem;
		background: #fffaf2;
		border: 2px solid rgba(212,175,55,.95);
		box-shadow: 0 0 0 2px rgba(255,246,212,.16), 0 8px 24px -12px rgba(212,175,55,.95);
	}

	.luxe-mobile-search-row .luxe-search__input {
		font-size: .88rem;
		color: #2d1018;
	}

	.luxe-mobile-search-row .luxe-search__mic {
		width: 38px;
		height: 38px;
		color: #fff;
		background: linear-gradient(145deg, #d7ae2e, #8e6810);
		box-shadow: 0 4px 12px -5px rgba(91,14,30,.8);
	}

	.luxe-mobile-search-row .luxe-search__submit {
		display: none;
	}

	/* Compact, app-like product cards */
	ul.products.columns-2,
	ul.products.columns-3,
	ul.products.columns-4,
	ul.products.columns-5 {
		grid-template-columns: repeat(2, minmax(0,1fr));
		gap: .62rem;
	}

	.luxe-card {
		border-radius: 18px;
		box-shadow: 0 10px 24px -16px rgba(62,8,19,.55), 0 0 0 1px rgba(212,175,55,.16);
		overflow: hidden;
	}

	.luxe-card__media {
		aspect-ratio: 1 / .88;
		min-height: 0;
	}

	.luxe-card__body {
		padding: .48rem .48rem .52rem;
		gap: .14rem;
	}

	.luxe-card-cat {
		font-size: .58rem;
		letter-spacing: .12em;
	}

	.luxe-card__title {
		font-size: .78rem;
		line-height: 1.15;
	}

	.luxe-card__meta,
	.luxe-card__norating,
	.luxe-card-reviews {
		font-size: .61rem;
	}

	.luxe-stars {
		font-size: .68rem;
	}

	.luxe-card .price,
	.luxe-card__body .price {
		font-size: .82rem;
		margin-top: .08rem;
	}

	.luxe-card .price del,
	.luxe-card__body .price del {
		font-size: .65rem;
	}

	.luxe-card-cta {
		margin-top: .04rem;
		padding-top: .12rem;
	}

	.luxe-card-cta .button {
		min-height: 30px;
		padding: .42rem .35rem;
		font-size: .54rem;
		letter-spacing: .025em;
	}

	/* Keep only the theme's full-width premium bottom navigation visually dominant. */
	.luxe-bottom-nav {
		box-shadow:
			0 -18px 40px -22px rgba(0,0,0,.7),
			0 0 0 1px rgba(212,175,55,.95),
			0 0 0 3px rgba(212,175,55,.18),
			0 -4px 30px -8px rgba(212,175,55,.65);
	}

	/* Make back-to-top smaller and keep it clear of the raised wishlist. */
	.luxe-to-top {
		right: .62rem;
		bottom: calc(var(--luxe-nav-h) + 4.65rem + env(safe-area-inset-bottom,0px));
		width: 38px;
		height: 38px;
		z-index: 55;
	}
}


/* ==========================================================================
 * 20. Mobile polish v2 — drawer visibility, wider cards and premium banner
 * ======================================================================== */
.luxe-drawer__panel {
	z-index: 2;
	filter: none !important;
	opacity: 1 !important;
}

.luxe-drawer__scrim {
	z-index: 1;
}

@media (max-width: 560px) {
	.luxe-container {
		width: calc(100% - 1rem);
	}

	ul.products.columns-2,
	ul.products.columns-3,
	ul.products.columns-4,
	ul.products.columns-5 {
		width: 100%;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: .55rem;
	}

	li.luxe-card {
		min-width: 0;
		width: 100%;
	}

	.luxe-card__inner,
	.luxe-card__body,
	.luxe-card-cta {
		min-width: 0;
	}

	.luxe-card__body {
		padding-left: .52rem;
		padding-right: .52rem;
	}

	.luxe-card__title,
	.luxe-card__title a {
		max-width: 100%;
		overflow: hidden;
		word-break: normal;
		overflow-wrap: anywhere;
	}

	.luxe-card-cta {
		width: 100%;
		min-width: 0;
	}

	.luxe-card-cta .button,
	.luxe-card-cta .added_to_cart {
		width: 100%;
		min-width: 0;
		max-width: 100%;
		box-sizing: border-box;
		white-space: nowrap;
		overflow: hidden;
		text-overflow: ellipsis;
		padding-left: .22rem;
		padding-right: .22rem;
		font-size: .52rem;
		letter-spacing: .015em;
	}

	/* Keep the hero banner visible on mobile while text stays sharp. */
	.luxe-hero__bg::before {
		opacity: .5;
		background-position: center;
		animation: none;
	}

	.luxe-hero__bg::after {
		background: linear-gradient(115deg, rgba(61, 7, 20, .92) 0%, rgba(61, 7, 20, .58) 48%, rgba(20, 8, 12, .72) 100%);
	}
}


/* ======================================================================
 * Mobile polish v4 — visible cart, wider cards, real microphone icon,
 * and a guaranteed-clear hamburger drawer.
 * ==================================================================== */

/* Header cart: always visible on maroon header. */
.luxe-header .luxe-action--cart,
.luxe-header .luxe-action--cart .luxe-icon,
.luxe-header .luxe-action--cart svg {
	color: #FFF8E8 !important;
	fill: none !important;
	stroke: currentColor !important;
}

.luxe-header .luxe-action--cart:hover,
.luxe-header .luxe-action--cart:focus-visible {
	color: #FFD95A !important;
	background: rgba(212,175,55,.16);
}

.luxe-header .luxe-cart-count {
	background: linear-gradient(145deg, #FFE98A 0%, #D4AF37 45%, #9A7111 100%) !important;
	color: #3B0815 !important;
	box-shadow: 0 0 0 2px #5B0E1E, 0 3px 12px rgba(212,175,55,.65) !important;
}

/* Make the voice control unmistakably a microphone. */
.luxe-search__mic .luxe-icon,
.luxe-search__mic svg {
	color: #fff !important;
	stroke: currentColor !important;
	fill: none !important;
}

.luxe-search__mic {
	background: linear-gradient(145deg, #F4D76A 0%, #C99A1B 52%, #8A6208 100%) !important;
	border: 1px solid rgba(255,244,200,.95) !important;
	box-shadow: 0 0 0 2px rgba(212,175,55,.18), 0 5px 16px rgba(91,14,30,.25) !important;
}

/* Drawer: the panel must be completely clear above the scrim. */
.luxe-drawer {
	z-index: 2147483000 !important;
	filter: none !important;
	backdrop-filter: none !important;
	-webkit-backdrop-filter: none !important;
}

.luxe-drawer__scrim {
	z-index: 0 !important;
	filter: none !important;
	backdrop-filter: blur(2px);
	-webkit-backdrop-filter: blur(2px);
}

.luxe-drawer__panel {
	z-index: 3 !important;
	position: relative !important;
	isolation: isolate !important;
	filter: none !important;
	backdrop-filter: none !important;
	-webkit-backdrop-filter: none !important;
	opacity: 1 !important;
	visibility: visible !important;
	background: linear-gradient(165deg, #FFFDF8 0%, #FFF6E9 54%, #F7E8D6 100%) !important;
	color: #4A0B19 !important;
}

.luxe-drawer__panel * {
	filter: none !important;
	backdrop-filter: none !important;
	-webkit-backdrop-filter: none !important;
}

.luxe-drawer__panel a,
.luxe-drawer__panel button,
.luxe-drawer__panel .luxe-drawer__title {
	color: #4A0B19 !important;
}

/* Mobile product cards: give both columns more usable width. */
@media (max-width: 560px) {
	.luxe-container {
		width: calc(100% - .6rem) !important;
	}

	ul.products.columns-2,
	ul.products.columns-3,
	ul.products.columns-4,
	ul.products.columns-5 {
		width: calc(100% + .2rem) !important;
		margin-left: -.1rem !important;
		margin-right: -.1rem !important;
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		gap: .48rem !important;
	}

	li.luxe-card {
		width: 100% !important;
		min-width: 0 !important;
	}

	.luxe-card__inner {
		width: 100% !important;
		min-width: 0 !important;
		overflow: visible !important;
	}

	.luxe-card__media {
		aspect-ratio: 1 / .82 !important;
	}

	.luxe-card__body {
		padding: .52rem .48rem .58rem !important;
		min-width: 0 !important;
	}

	.luxe-card__title,
	.luxe-card__title a {
		font-size: .82rem !important;
		line-height: 1.18 !important;
		-webkit-line-clamp: 2 !important;
		word-break: normal !important;
		overflow-wrap: break-word !important;
	}

	.luxe-card__meta {
		font-size: .63rem !important;
		gap: .18rem !important;
	}

	.luxe-card .price,
	.luxe-card__body .price {
		font-size: .86rem !important;
		white-space: nowrap !important;
		gap: .16rem !important;
	}

	.luxe-card-cta {
		width: 100% !important;
		min-width: 0 !important;
		margin-top: .08rem !important;
		padding-top: .12rem !important;
		overflow: visible !important;
	}

	.luxe-card-cta .button,
	.luxe-card-cta .added_to_cart {
		width: 100% !important;
		min-width: 0 !important;
		max-width: none !important;
		min-height: 32px !important;
		box-sizing: border-box !important;
		padding: .45rem .3rem !important;
		font-size: .58rem !important;
		line-height: 1 !important;
		letter-spacing: .01em !important;
		white-space: nowrap !important;
		overflow: visible !important;
		text-overflow: clip !important;
	}
}

/* V5: customer location + visible mobile light/dark toggle */
.luxe-mobile-location-row{display:none;align-items:center;justify-content:space-between;gap:.6rem;padding:.3rem 0}.luxe-location-btn{display:inline-flex;align-items:center;gap:.45rem;min-width:0;padding:.4rem .7rem;border:1px solid rgba(212,175,55,.7);border-radius:999px;background:linear-gradient(145deg,#5b0e1e,#2d0812);color:#fff8e6;box-shadow:0 4px 14px -8px rgba(212,175,55,.9);font-size:.72rem;font-weight:700}.luxe-location-btn svg{color:#f5d66b;flex:none}.luxe-location-text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.luxe-location-panel{display:none}.luxe-location-panel:not([hidden]){display:block}.luxe-location-panel__inner{margin:.15rem auto .45rem;width:calc(100% - 2rem);padding:.7rem .85rem;border:1px solid rgba(212,175,55,.45);border-radius:14px;background:var(--luxe-card);box-shadow:var(--luxe-shadow-sm);color:var(--luxe-text);font-size:.72rem}.luxe-location-panel__inner strong,.luxe-location-panel__inner span,.luxe-location-panel__inner a{display:block}.luxe-location-panel__inner span{margin-top:.2rem;color:var(--luxe-text-2)}.luxe-location-panel__inner a{margin-top:.45rem;color:var(--luxe-gold-dark);font-weight:700}.luxe-mobile-location-row .luxe-mode-toggle{margin-left:auto}.luxe-mobile-location-row .luxe-mode-toggle__track{width:48px;height:26px}.luxe-mobile-location-row .luxe-mode-toggle__thumb{width:20px;height:20px}
@media (max-width:760px){.luxe-mobile-location-row{display:flex}.luxe-location-panel{position:relative;z-index:42}.luxe-location-btn{max-width:75vw}}


/* ======================================================================
 * V6 FINAL MOBILE / LOCATION / FOOTER POLISH
 * ==================================================================== */
@media (max-width: 560px) {
	/* Give the two-column grid breathing room from both screen edges. */
	.luxe-container { width: calc(100% - 1.25rem) !important; }
	ul.products.columns-2,
	ul.products.columns-3,
	ul.products.columns-4,
	ul.products.columns-5 {
		width: 100% !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		gap: .68rem !important;
	}
	li.luxe-card { min-width: 0 !important; }
	.luxe-card__inner { overflow: hidden !important; }
	/* Shorter image area = shorter overall card. */
	.luxe-card__media { aspect-ratio: 1 / .70 !important; }
	.luxe-card__body { padding: .42rem .42rem .46rem !important; gap: .11rem !important; }
	.luxe-card-cat { font-size: .55rem !important; }
	.luxe-card__title { font-size: .76rem !important; line-height: 1.12 !important; }
	.luxe-card__meta, .luxe-card__norating, .luxe-card-reviews { font-size: .58rem !important; }
	.luxe-stars { font-size: .64rem !important; }
	.luxe-card .price, .luxe-card__body .price { font-size: .80rem !important; margin-top: .03rem !important; }
	.luxe-card .price del, .luxe-card__body .price del { font-size: .61rem !important; }
	.luxe-card-cta { margin-top: .02rem !important; padding-top: .06rem !important; }
	.luxe-card-cta .button, .luxe-card-cta .added_to_cart {
		min-height: 29px !important;
		padding: .38rem .22rem !important;
		font-size: .50rem !important;
		line-height: 1 !important;
		letter-spacing: 0 !important;
	}
}

/* Buy Now text must sit vertically and horizontally centered. */
.luxe-buy-now,
.woocommerce div.product .luxe-buy-now {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	vertical-align: middle !important;
	line-height: 1.1 !important;
	text-align: center !important;
	min-height: 44px;
	padding-top: .75rem !important;
	padding-bottom: .75rem !important;
}

/* Never show the mobile bottom navigation on desktop widths. */
@media (min-width: 1001px) {
	.luxe-bottom-nav { display: none !important; visibility: hidden !important; }
}

/* Keep the desktop footer clean and prevent any theme floating cart/bottom-nav overlap. */
@media (min-width: 1001px) {
	.luxe-footer { position: relative; z-index: 1; }
	.luxe-footer .luxe-footer-menu li a { position: relative; z-index: 2; }
	.luxe-footer .luxe-footer-menu li a[href*="/cart/"] { display: inline-block; }
}

/* Location row: show a concise place name, not coordinates. */
.luxe-location-text { max-width: min(68vw, 420px); }


/* ==========================================================================
 * V7 LOCATION + FINAL MOBILE POLISH
 * ========================================================================== */
.luxe-location-btn {
	min-width: 0;
	max-width: 70vw;
}

.luxe-location-text {
	display: inline-block;
	max-width: 58vw;
	font-weight: 800;
	letter-spacing: .01em;
}

@media (max-width: 760px) {
	.luxe-location-btn {
		min-height: 34px;
		padding: .42rem .72rem;
	}
}

/* V7: keep the premium mobile navigation and back-to-top control separate. */
@media (max-width: 1000px) {
	.luxe-bottom-nav {
		display: block;
	}
	.luxe-to-top {
		bottom: calc(var(--luxe-nav-h) + 4.65rem + env(safe-area-inset-bottom, 0px));
	}
}

@media (min-width: 1001px) {
	.luxe-bottom-nav {
		display: none !important;
		visibility: hidden !important;
	}
}


/* ========================================================================== 
 * V9 DESKTOP LOCATION + PRODUCT GRID / CTA FIX
 * ========================================================================== */
@media (min-width: 1001px) {
	/* Keep the desktop location chip in the main header flow, outside the
	 * crowded right-side action cluster. It uses the same location JS as mobile. */
	.luxe-header__desktop {
		width: min(100% - 3rem, 1440px) !important;
		max-width: 1440px !important;
		gap: clamp(.55rem, 1.15vw, 1.25rem) !important;
	}
	.luxe-header__desktop .luxe-branding { flex: 0 1 auto; }
	.luxe-header__desktop .luxe-primary-nav { flex: 0 1 auto; min-width: 0; }
	.luxe-header__desktop .luxe-desktop-location {
		order: 3;
		flex: 0 0 auto;
		display: inline-flex !important;
		align-items: center;
		justify-content: center;
		gap: .35rem;
		width: 150px !important;
		min-width: 150px !important;
		max-width: 150px !important;
		height: 38px !important;
		padding: .35rem .55rem !important;
		box-sizing: border-box;
		border: 1px solid rgba(212,175,55,.65) !important;
		border-radius: 999px !important;
		background: linear-gradient(145deg, #5b0e1e, #2d0812) !important;
		color: #fff8e6 !important;
		box-shadow: 0 5px 16px -10px rgba(212,175,55,.95);
		white-space: nowrap;
		overflow: hidden;
	}
	.luxe-header__desktop .luxe-desktop-location svg {
		color: #f5d66b !important;
		fill: none !important;
		stroke: currentColor !important;
		flex: 0 0 auto;
	}
	.luxe-header__desktop .luxe-desktop-location .luxe-location-text {
		display: block;
		width: 112px;
		max-width: 112px !important;
		overflow: hidden !important;
		text-overflow: ellipsis !important;
		white-space: nowrap !important;
		font-size: .68rem;
		font-weight: 800;
		letter-spacing: .01em;
	}
	.luxe-header__desktop .luxe-header__actions { order: 5; flex: 0 0 auto; }
	.luxe-header__desktop > .luxe-header-search { order: 4; flex: 1 1 260px; min-width: 180px; }

	/* Product grid: 4 cards on wide desktop, 3 on medium desktop, with
	 * fixed side breathing room and consistent gaps. */
	.woocommerce .luxe-main ul.products,
	.woocommerce-page .luxe-main ul.products,
	.woocommerce ul.products.luxe-products,
	.woocommerce-page ul.products.luxe-products,
	ul.products.luxe-products {
		box-sizing: border-box !important;
		width: min(100% - 3rem, 1320px) !important;
		max-width: 1320px !important;
		margin-left: auto !important;
		margin-right: auto !important;
		padding-left: 0 !important;
		padding-right: 0 !important;
		column-gap: 24px !important;
		row-gap: 28px !important;
	}
	.woocommerce ul.products.luxe-products.columns-2,
	.woocommerce ul.products.luxe-products.columns-3,
	.woocommerce ul.products.luxe-products.columns-4,
	.woocommerce ul.products.luxe-products.columns-5,
	.woocommerce-page ul.products.luxe-products.columns-2,
	.woocommerce-page ul.products.luxe-products.columns-3,
	.woocommerce-page ul.products.luxe-products.columns-4,
	.woocommerce-page ul.products.luxe-products.columns-5 {
		grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
	}
	.luxe-card, li.product { min-width: 0 !important; width: 100% !important; }
	.luxe-card__inner { min-width: 0; min-height: 100%; }

	/* Both CTA buttons share the same box, width and height. */
	.luxe-card-cta {
		display: flex !important;
		align-items: stretch !important;
		width: 100% !important;
		gap: 8px !important;
		min-height: 40px !important;
	}
	.luxe-card-cta .button,
	.luxe-card-cta .added_to_cart,
	.luxe-card-cta a.button,
	.luxe-card-cta button.button {
		flex: 1 1 0 !important;
		width: 0 !important;
		min-width: 0 !important;
		max-width: none !important;
		height: 40px !important;
		min-height: 40px !important;
		max-height: 40px !important;
		box-sizing: border-box !important;
		padding: 0 .5rem !important;
		line-height: 1 !important;
		font-size: .66rem !important;
		white-space: nowrap !important;
		overflow: hidden !important;
		text-overflow: ellipsis !important;
		text-align: center !important;
		justify-content: center !important;
		align-items: center !important;
	}
}

@media (min-width: 1001px) and (max-width: 1199px) {
	.luxe-header__desktop {
		width: min(100% - 2rem, 1160px) !important;
	}
	.luxe-header__desktop .luxe-desktop-location {
		width: 132px !important;
		min-width: 132px !important;
		max-width: 132px !important;
	}
	.luxe-header__desktop .luxe-desktop-location .luxe-location-text {
		width: 94px;
		max-width: 94px !important;
	}
	.woocommerce .luxe-main ul.products,
	.woocommerce-page .luxe-main ul.products,
	.woocommerce ul.products.luxe-products,
	.woocommerce-page ul.products.luxe-products,
	ul.products.luxe-products {
		width: min(100% - 2rem, 1080px) !important;
		column-gap: 22px !important;
		row-gap: 26px !important;
	}
	.woocommerce ul.products.luxe-products.columns-2,
	.woocommerce ul.products.luxe-products.columns-3,
	.woocommerce ul.products.luxe-products.columns-4,
	.woocommerce ul.products.luxe-products.columns-5,
	.woocommerce-page ul.products.luxe-products.columns-2,
	.woocommerce-page ul.products.luxe-products.columns-3,
	.woocommerce-page ul.products.luxe-products.columns-4,
	.woocommerce-page ul.products.luxe-products.columns-5 {
		grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
	}
}

/* ========================================================================== 
 * V10 — DESKTOP HEADER LOCATION + HOMEPAGE PRODUCT CARD DIMENSIONS
 * ========================================================================== */
@media (min-width: 1001px) {
  /* Force the desktop header into a predictable 5-part layout so the
   * location control cannot be pushed off-screen by the navigation/actions. */
  .luxe-header__desktop {
    display: grid !important;
    grid-template-columns: auto minmax(0, auto) auto minmax(190px, 1fr) auto !important;
    align-items: center !important;
    column-gap: 12px !important;
    width: min(calc(100% - 32px), 1440px) !important;
    max-width: 1440px !important;
    min-width: 0 !important;
  }
  .luxe-header__desktop > .luxe-branding { grid-column: 1; min-width: 0; }
  .luxe-header__desktop > .luxe-primary-nav { grid-column: 2; min-width: 0; overflow: visible; }
  .luxe-header__desktop > .luxe-desktop-location {
    grid-column: 3 !important;
    order: initial !important;
    position: relative !important;
    z-index: 20 !important;
    display: inline-flex !important;
    visibility: visible !important;
    opacity: 1 !important;
    width: 150px !important;
    min-width: 150px !important;
    max-width: 150px !important;
    height: 40px !important;
    margin: 0 !important;
    padding: 0 10px !important;
    color: #fff8e6 !important;
    background: linear-gradient(145deg,#5b0e1e,#2d0812) !important;
    border: 1px solid rgba(212,175,55,.75) !important;
    border-radius: 999px !important;
    box-shadow: 0 5px 16px -10px rgba(212,175,55,.95) !important;
    overflow: hidden !important;
  }
  .luxe-header__desktop > .luxe-header-search { grid-column: 4 !important; order: initial !important; min-width: 0 !important; width: 100% !important; }
  .luxe-header__desktop > .luxe-header__actions { grid-column: 5 !important; order: initial !important; min-width: max-content !important; margin-left: 0 !important; }
  .luxe-header__desktop .luxe-desktop-location .luxe-location-text {
    display: block !important;
    flex: 1 1 auto !important;
    width: auto !important;
    max-width: none !important;
    min-width: 0 !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
    text-align: left !important;
    font-size: .68rem !important;
    font-weight: 800 !important;
  }

  /* Homepage New Arrivals + Popular/Best Sellers: fixed 4/3-column
   * desktop grid, with equal card sizing and visible side breathing room. */
  .luxe-home-block--new .luxe-container,
  .luxe-home-block--bestsellers .luxe-container {
    width: min(calc(100% - 40px), 1320px) !important;
    max-width: 1320px !important;
    margin-inline: auto !important;
  }
  .luxe-home-block--new ul.products.luxe-products,
  .luxe-home-block--bestsellers ul.products.luxe-products {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 24px !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
  }
  .luxe-home-block--new ul.products.luxe-products > li.product,
  .luxe-home-block--bestsellers ul.products.luxe-products > li.product {
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    margin: 0 !important;
    float: none !important;
  }
  .luxe-home-block--new .luxe-card__inner,
  .luxe-home-block--bestsellers .luxe-card__inner {
    height: 100% !important;
    min-height: 500px !important;
  }
  .luxe-home-block--new .luxe-card__media,
  .luxe-home-block--bestsellers .luxe-card__media {
    aspect-ratio: 1 / 1 !important;
    min-height: 0 !important;
  }
  .luxe-home-block--new .luxe-card__body,
  .luxe-home-block--bestsellers .luxe-card__body {
    min-height: 188px !important;
    box-sizing: border-box !important;
  }
  .luxe-home-block--new .luxe-card-cta,
  .luxe-home-block--bestsellers .luxe-card-cta {
    margin-top: auto !important;
    width: 100% !important;
    display: flex !important;
    gap: 8px !important;
  }
  .luxe-home-block--new .luxe-card-cta > *,
  .luxe-home-block--bestsellers .luxe-card-cta > * {
    flex: 1 1 0 !important;
    width: 0 !important;
    min-width: 0 !important;
    height: 40px !important;
    min-height: 40px !important;
    max-height: 40px !important;
    box-sizing: border-box !important;
  }
}

@media (min-width: 1001px) and (max-width: 1199px) {
  .luxe-header__desktop {
    grid-template-columns: 120px minmax(0, 1fr) 132px minmax(170px, 1fr) auto !important;
    column-gap: 9px !important;
    width: min(calc(100% - 24px), 1160px) !important;
  }
  .luxe-header__desktop > .luxe-desktop-location {
    width: 132px !important;
    min-width: 132px !important;
    max-width: 132px !important;
  }
  .luxe-home-block--new .luxe-container,
  .luxe-home-block--bestsellers .luxe-container {
    width: min(calc(100% - 32px), 1080px) !important;
  }
  .luxe-home-block--new ul.products.luxe-products,
  .luxe-home-block--bestsellers ul.products.luxe-products {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 22px !important;
  }
  .luxe-home-block--new .luxe-card__inner,
  .luxe-home-block--bestsellers .luxe-card__inner {
    min-height: 470px !important;
  }
  .luxe-home-block--new .luxe-card__body,
  .luxe-home-block--bestsellers .luxe-card__body {
    min-height: 180px !important;
  }
}

/* ========================================================================== 
 * V11 — DESKTOP-SITE / TABLET-WIDTH PRODUCT GRID SAFETY FIX
 * Some Android browsers using "Desktop site" expose a ~980px CSS viewport.
 * Keep the real phone layout untouched (<=767px), while preventing
 * WooCommerce's percentage widths from shrinking cards into tiny columns.
 * ========================================================================== */
@media (min-width: 768px) and (max-width: 1000px) {
  .luxe-home-block--new .luxe-container,
  .luxe-home-block--bestsellers .luxe-container {
    width: calc(100% - 32px) !important;
    max-width: 1080px !important;
    margin-inline: auto !important;
  }

  .luxe-home-block--new ul.products.luxe-products,
  .luxe-home-block--bestsellers ul.products.luxe-products,
  .woocommerce ul.products.luxe-products,
  .woocommerce-page ul.products.luxe-products {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    gap: 20px !important;
    box-sizing: border-box !important;
  }

  .luxe-home-block--new ul.products.luxe-products > li.product,
  .luxe-home-block--bestsellers ul.products.luxe-products > li.product,
  .woocommerce ul.products.luxe-products > li.product,
  .woocommerce-page ul.products.luxe-products > li.product,
  ul.products.luxe-products > li.product {
    display: flex !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    float: none !important;
    clear: none !important;
    box-sizing: border-box !important;
  }

  .luxe-home-block--new .luxe-card,
  .luxe-home-block--bestsellers .luxe-card,
  .luxe-home-block--new .luxe-card__inner,
  .luxe-home-block--bestsellers .luxe-card__inner {
    width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
  }

  .luxe-home-block--new .luxe-card__inner,
  .luxe-home-block--bestsellers .luxe-card__inner {
    min-height: 470px !important;
  }

  .luxe-home-block--new .luxe-card__media,
  .luxe-home-block--bestsellers .luxe-card__media {
    width: 100% !important;
    aspect-ratio: 1 / 1 !important;
  }

  .luxe-home-block--new .luxe-card__body,
  .luxe-home-block--bestsellers .luxe-card__body {
    min-height: 170px !important;
    box-sizing: border-box !important;
  }
}

/* ========================================================================== 
 * V12 — DESKTOP-SITE LOCATION VISIBILITY
 * Android Chrome "Desktop site" can use a 768–1000px CSS viewport. In that
 * range the theme uses the mobile header shell, so keep its location control
 * visible instead of hiding the row at the old 760px breakpoint.
 * ========================================================================== */
@media (min-width: 768px) and (max-width: 1000px) {
  .luxe-header__mobile-wrap .luxe-mobile-location-row {
    display: flex !important;
    width: min(calc(100% - 32px), 1080px) !important;
    margin-inline: auto !important;
    box-sizing: border-box !important;
    padding: .35rem 0 !important;
  }
  .luxe-header__mobile-wrap .luxe-location-btn {
    display: inline-flex !important;
    min-width: 170px !important;
    max-width: 48vw !important;
    height: 36px !important;
    box-sizing: border-box !important;
    align-items: center !important;
    justify-content: flex-start !important;
    overflow: hidden !important;
  }
  .luxe-header__mobile-wrap .luxe-location-text {
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
  }
}

/* ==========================================================================
 * V10 — v1.0.9 requirement fixes
 *
 * 1. Product-card CTAs: centred gold Add to Cart + a separate Buy Now.
 * 2. Compact full-width mobile bottom navigation.
 * 3. Hero offer badge.
 * 4. Demo / placeholder product image handling.
 *
 * These rules are intentionally last in the cascade so they win over the
 * earlier mobile refinements without deleting any of them.
 * ======================================================================== */

/* --------------------------------------------------------------------------
 * 1. Product card CTA — Add to Cart + Buy Now
 *
 * Both buttons are always rendered inside .luxe-card-cta by
 * inc/woocommerce.php (open at priority 9, Add to Cart at 10, Buy Now at 11),
 * so they always sit inside the product card, below the image, name and price.
 * ----------------------------------------------------------------------- */

.luxe-card-cta .button,
.luxe-card-cta .added_to_cart,
.luxe-card-cta .luxe-card-buy,
.luxe-card-cta a.button,
.luxe-card-cta button.button {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	text-align: center !important;
	box-sizing: border-box !important;
}

/* Buy Now is a permanent part of the card, never hidden. */
.luxe-card-cta .luxe-card-buy {
	display: inline-flex !important;
	visibility: visible !important;
	background: linear-gradient(180deg, #FFF3C4 0%, var(--luxe-gold, #D4AF37) 44%, #B8860B 100%) !important;
	color: #2C0A13 !important;
	border: 1px solid rgba(212, 175, 55, 0.85) !important;
	text-decoration: none !important;
}

.luxe-card-cta .luxe-card-buy:hover,
.luxe-card-cta .luxe-card-buy:focus-visible {
	color: #2C0A13 !important;
}

/* --- Mobile: stacked, centred, full-width gold buttons ------------------ */
@media (max-width: 1000px) {
	.luxe-card-cta {
		display: flex !important;
		flex-direction: column !important;
		flex-wrap: nowrap !important;
		align-items: stretch !important;
		justify-content: center !important;
		gap: 0.5rem !important;
		width: 100% !important;
		min-height: 0 !important;
		/* Pins the buttons to the bottom of the card so different title
		 * lengths never misalign the CTAs across a grid row. */
		margin-top: auto !important;
		padding-top: 0.3rem !important;
	}

	.luxe-card-cta .button,
	.luxe-card-cta .added_to_cart,
	.luxe-card-cta .luxe-card-buy,
	.luxe-card-cta a.button,
	.luxe-card-cta button.button {
		flex: 0 0 auto !important;
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
		height: auto !important;
		min-height: 42px !important;
		max-height: none !important;
		padding: 0.62rem 0.9rem !important;
		border-radius: 999px !important;
		font-size: 0.68rem !important;
		font-weight: 800 !important;
		letter-spacing: 0.07em !important;
		line-height: 1.15 !important;
		text-transform: uppercase !important;
		white-space: normal !important;
		overflow: visible !important;
		text-overflow: clip !important;
	}
}

/* --- Desktop: the original two-up CTA row, now including Buy Now -------- */
@media (min-width: 1001px) {
	.luxe-card-cta {
		display: flex !important;
		flex-direction: row !important;
		flex-wrap: wrap !important;
		align-items: stretch !important;
		justify-content: center !important;
		gap: 8px !important;
		width: 100% !important;
		min-height: 0 !important;
		margin-top: auto !important;
	}

	.luxe-card-cta .button,
	.luxe-card-cta .added_to_cart,
	.luxe-card-cta .luxe-card-buy,
	.luxe-card-cta a.button,
	.luxe-card-cta button.button {
		flex: 1 1 calc(50% - 4px) !important;
		width: auto !important;
		min-width: 92px !important;
		max-width: 100% !important;
		height: 40px !important;
		min-height: 40px !important;
		max-height: 40px !important;
		padding: 0 0.6rem !important;
		border-radius: 999px !important;
		font-size: 0.66rem !important;
		font-weight: 800 !important;
		letter-spacing: 0.06em !important;
		line-height: 1 !important;
		text-transform: uppercase !important;
		white-space: nowrap !important;
		overflow: hidden !important;
		text-overflow: ellipsis !important;
	}
}

/* --------------------------------------------------------------------------
 * 2. Compact mobile bottom navigation
 * ----------------------------------------------------------------------- */
@media (max-width: 1000px) {
	:root {
		--luxe-nav-h: 58px;
	}

	.luxe-bottom-nav,
	.luxe-bottom-nav::before,
	.luxe-bottom-nav::after,
	.luxe-bottom-nav__sheen {
		border-top-left-radius: 20px;
		border-top-right-radius: 20px;
	}

	.luxe-bottom-nav__list {
		align-items: end;
		padding: 0.3rem 0.2rem 0.24rem;
	}

	.luxe-bottom-nav__link {
		gap: 0.12rem;
		min-height: 42px; /* keeps a comfortable touch target */
		padding: 0.14rem 0.08rem;
		justify-content: center;
	}

	.luxe-bottom-nav__icon {
		width: 30px;
		height: 25px;
	}

	.luxe-bottom-nav__icon svg {
		width: 20px;
		height: 20px;
	}

	.luxe-bottom-nav__label {
		font-size: 0.53rem;
		letter-spacing: 0.02em;
		line-height: 1.15;
	}

	.luxe-bottom-nav__flare {
		top: 0.2rem;
		width: 28px;
		height: 28px;
	}

	.luxe-bottom-nav__item--center {
		transform: translateY(-1px);
	}

	.luxe-heart-pod {
		width: 46px;
		height: 46px;
		margin-bottom: 0.05rem;
		transform: translateY(-7px);
	}

	.luxe-heart-pod__icon svg {
		width: 22px;
		height: 22px;
	}

	.luxe-bottom-nav__item--center.is-active .luxe-heart-pod {
		transform: translateY(-9px) scale(1.04);
	}

	.luxe-bottom-nav__item--center .luxe-wishlist-count {
		top: -9px;
		right: 5px;
	}

	/* Page content clears the shorter bar (and the device safe area). */
	body.luxe-has-bottom-nav,
	.luxe-has-bottom-nav body {
		padding-bottom: calc(var(--luxe-nav-h) + env(safe-area-inset-bottom, 0px));
	}

	/* Back to top now sits just above the bar — never behind it. */
	.luxe-to-top {
		bottom: calc(var(--luxe-nav-h) + 0.85rem + env(safe-area-inset-bottom, 0px)) !important;
	}

	/* Cart / toast feedback clears the bar too. */
	.luxe-toast {
		bottom: calc(var(--luxe-nav-h) + 1.1rem + env(safe-area-inset-bottom, 0px));
	}
}

@media (max-width: 560px) {
	:root {
		--luxe-nav-h: 56px;
	}
}

/* --------------------------------------------------------------------------
 * 3. Hero offer badge
 * ----------------------------------------------------------------------- */
.luxe-hero__offer {
	display: inline-flex;
	align-items: center;
	align-self: flex-start;
	gap: 0.45rem;
	margin: 0 0 0.2rem;
	padding: 0.44rem 1.05rem;
	border-radius: 999px;
	background: var(--luxe-gold-gradient);
	color: #2C0A13;
	font-size: 0.68rem;
	font-weight: 800;
	letter-spacing: 0.16em;
	line-height: 1;
	text-transform: uppercase;
	box-shadow:
		inset 0 1px 0 rgba(255, 255, 255, 0.85),
		0 10px 24px -12px rgba(212, 175, 55, 1),
		0 0 22px -8px rgba(212, 175, 55, 0.8);
}

.luxe-hero__offer svg {
	width: 14px;
	height: 14px;
}

@media (max-width: 1000px) {
	.luxe-hero__offer {
		align-self: center;
	}
}

/* --------------------------------------------------------------------------
 * 4. Demo / placeholder product image
 * ----------------------------------------------------------------------- */
.luxe-card__media img.woocommerce-placeholder,
.luxe-card__media img.luxe-placeholder,
.woocommerce-placeholder.luxe-placeholder {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}


/* ==========================================================================
 * 19. Dark mode — product category tags (readability fix)
 * ======================================================================== */
/* Card category tags turn into a solid gold pill with dark text in dark
 * mode: previously the translucent gold-on-dark label blended into the dark
 * card surface. Scoped to .luxe-card-cat so no other label or button is
 * affected; light mode keeps its existing look. */
[data-theme="dark"] .luxe-card-cat {
	align-self: center;
	padding: 0.18rem 0.7rem;
	border-radius: 999px;
	background: linear-gradient(135deg, var(--luxe-gold) 0%, var(--luxe-gold-light) 100%);
	color: #2C0A13;
	box-shadow: 0 4px 14px -6px rgba(212, 175, 55, 0.55);
}

[data-theme="dark"] .luxe-card-cat a {
	color: #2C0A13;
}

[data-theme="dark"] .luxe-card-cat a:hover,
[data-theme="dark"] .luxe-card-cat a:focus-visible {
	color: var(--luxe-primary);
}

/* ==========================================================================
 * V11 — hamburger menu category list
 *
 * Child categories sit under their own category, using the same indent and
 * gold rule the theme already applies to nested menu items
 * (.luxe-drawer-menu .sub-menu). No existing rule is changed.
 * ======================================================================== */
.luxe-drawer__cat-list .sub-menu {
	padding-left: 0.9rem;
	border-left: 2px solid rgba(212, 175, 55, 0.45);
}
