/*
==========================================================================
  Lumiere Theme - Widget Styles
  Navigation Index:
  1. Shared Widget Base
  2. Buttons (.lumiere-btn)
  3. Variant Pills & Size Pills
  4. Form Inputs (.comm-input)
  5. Metal Color Dots
  6. Badges (.badge)
  7. Corner Frame Decoration
  8. Payment Badges (.pay-badge)
  9. Card Container
  10. Focus & Disabled States
  11. Announcement Bar (.lumiere-announcement-bar)
  12. Global Header (.lumiere-header)
  13. Global Footer (.lumiere-footer)
  14. Breadcrumb (.lumiere-breadcrumb)
  15. Trust Badges (.lumiere-trust-badges)
  16. Product Card (.lumiere-product-card)
  16.5. Shop Layout Section (.lumiere-shop-layout)
  17. Product Grid (.lumiere-product-grid)
  18. Home Hero (.lumiere-home-hero)
  19. Category Quick Nav (.lumiere-category-nav)
  20. Featured Categories (.lumiere-featured-cats)
  21. Promo Banner (.lumiere-promo)
  22. Trust Bar (.lumiere-trust-bar)
  23. Craft Story (.lumiere-craft-story)
  24. Reviews (.lumiere-reviews)
  25. Newsletter (.lumiere-newsletter)
  26. Shop Hero (.lumiere-shop-hero)
  27. Shop Toolbar (.lumiere-toolbar)
  28. Filter Sidebar (.lumiere-filters)
  29. Pagination (.lumiere-pagination)
  30. Category Description (.lumiere-cat-desc)
  31. Related Categories (.lumiere-related-cats)
  32. Product Gallery (.lumiere-gallery)
  33. Product Info (.lumiere-pdp-info)
  34. Product Tabs (.lumiere-tabs)
  35. Brand Value Strip (.lumiere-value-strip)
  36. Related Products (.lumiere-related)
  37. Story Hero (.lumiere-story-hero)
  38. Heritage Timeline (.lumiere-timeline)
  39. Craftsmanship Values (.lumiere-values)
  40. Founder Quote (.lumiere-founder)
  41. Team Gallery / Atelier Mosaic (.lumiere-ateliers)
  42. Story CTA Banner (.lumiere-story-cta)
  43. Cart Page (.lumiere-cart-page)
  44. Checkout Page (.lumiere-checkout-page)
==========================================================================
*/

/* ========== 1. Shared Widget Base ========== */
.lumiere-widget {
	position: relative;
	width: 100%;
}

/* ========== 2. Buttons (.lumiere-btn) ========== */
.lumiere-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	padding: 14px 32px;
	font-size: 0.875rem;
	font-weight: 500;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	border-radius: var(--radius-sm);
	cursor: pointer;
	transition: all var(--transition-base);
	border: 1px solid transparent;
	white-space: nowrap;
	font-family: var(--font-body);
	line-height: 1;
}

.lumiere-btn--primary {
	background: var(--lumiere-gold);
	color: var(--lumiere-bg);
	border-color: var(--lumiere-gold);
}

.lumiere-btn--primary:hover {
	background: var(--lumiere-gold-hover);
	border-color: var(--lumiere-gold-hover);
	transform: translateY(-2px);
	box-shadow: var(--shadow-gold);
}

.lumiere-btn--ghost {
	background: transparent;
	color: var(--lumiere-text);
	border-color: var(--lumiere-border);
}

.lumiere-btn--ghost:hover {
	border-color: var(--lumiere-gold);
	color: var(--lumiere-gold);
}

.lumiere-btn--link {
	background: transparent;
	color: var(--lumiere-gold);
	border: none;
	padding: 8px 0;
	text-transform: none;
	letter-spacing: 0.02em;
	font-size: 0.9375rem;
	position: relative;
	display: inline-flex;
	align-items: center;
}

.lumiere-btn--link::before {
	content: '';
	position: absolute;
	bottom: 4px;
	left: 0;
	width: 0;
	height: 1px;
	background: var(--lumiere-gold);
	transition: width 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.lumiere-btn--link:hover::before,
.lumiere-btn--link:focus-visible::before {
	width: calc(100% - 28px);
}

.lumiere-btn--link::after {
	content: '\2192';
	margin-left: 8px;
	transition: transform var(--transition-fast);
}

.lumiere-btn--link:hover::after {
	transform: translateX(4px);
}

.lumiere-btn--link:hover {
	color: var(--lumiere-gold-hover);
}

.lumiere-btn--sm {
	padding: 10px 24px;
	font-size: 0.75rem;
}

.lumiere-btn--lg {
	padding: 18px 40px;
	font-size: 1rem;
}

.lumiere-btn--full {
	width: 100%;
}

/* ========== 3. Variant Pills & Size Pills ========== */
.variant-pill {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 10px 20px;
	font-size: 0.8125rem;
	font-weight: 400;
	font-family: var(--font-body);
	border: 1px solid var(--lumiere-border);
	border-radius: var(--radius-pill);
	background: transparent;
	color: var(--lumiere-text);
	cursor: pointer;
	transition: all var(--transition-fast);
	letter-spacing: 0.02em;
	min-height: 40px;
}

.variant-pill:hover {
	border-color: var(--lumiere-gold);
	color: var(--lumiere-gold);
}

.variant-pill.is-active {
	border-color: var(--lumiere-gold);
	color: var(--lumiere-gold);
	background: rgba(197, 164, 118, 0.08);
}

.size-pill {
	min-width: 44px;
	min-height: 44px;
	padding: 8px 12px;
	font-size: 0.875rem;
}

.size-pill.is-active {
	background: var(--lumiere-gold);
	color: var(--lumiere-bg);
	border-color: var(--lumiere-gold);
}

/* ========== 4. Form Inputs (.comm-input) ========== */
.comm-input {
	display: block;
	width: 100%;
	padding: 12px 16px;
	font-size: 0.9375rem;
	font-family: var(--font-body);
	background: var(--lumiere-bg-dark);
	border: 1px solid var(--lumiere-border);
	border-radius: var(--radius-sm);
	color: var(--lumiere-text);
	transition: border-color var(--transition-fast);
	outline: none;
	line-height: 1.5;
}

.comm-input::placeholder {
	color: var(--lumiere-text-muted);
}

.comm-input:focus {
	border-color: var(--lumiere-gold);
	box-shadow: 0 0 0 1px var(--lumiere-gold-glow);
}

.comm-label {
	display: block;
	font-size: 0.75rem;
	font-weight: 500;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	color: var(--lumiere-text-muted);
	margin-bottom: 8px;
}

.comm-select {
	appearance: none;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23C5A476' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");
	background-position: right 12px center;
	background-repeat: no-repeat;
	padding-right: 40px;
}

textarea.comm-input {
	min-height: 120px;
	resize: vertical;
}

/* ========== 5. Metal Color Dots ========== */
.metal-dot {
	display: inline-block;
	width: 12px;
	height: 12px;
	border-radius: 50%;
	border: 1px solid var(--lumiere-border);
	cursor: pointer;
	transition: all var(--transition-fast);
}

.metal-dot--white-gold {
	background: linear-gradient(135deg, #E8E8E8, #C0C0C0);
}

.metal-dot--yellow-gold {
	background: linear-gradient(135deg, #FFD700, #C5A476);
}

.metal-dot--rose-gold {
	background: linear-gradient(135deg, #E8B4B8, #B76E79);
}

.metal-dot--platinum {
	background: linear-gradient(135deg, #D4D4D4, #A8A8A8);
}

.metal-dot.is-active {
	box-shadow: 0 0 0 2px var(--lumiere-bg), 0 0 0 3px var(--lumiere-gold);
}

.metal-dot:hover {
	transform: scale(1.15);
}

/* ========== 6. Badges (.badge) ========== */
.badge {
	position: absolute;
	top: 12px;
	left: 12px;
	padding: 4px 10px;
	font-size: 0.625rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	border-radius: var(--radius-sm);
	z-index: 2;
	font-family: var(--font-body);
}

.badge--bestseller {
	background: var(--lumiere-gold);
	color: var(--lumiere-bg);
}

.badge--new {
	background: var(--lumiere-text);
	color: var(--lumiere-bg);
}

.badge--sale {
	background: #8B2500;
	color: #FFE4D6;
}

.badge--signature {
	background: transparent;
	color: var(--lumiere-gold);
	border: 1px solid var(--lumiere-gold);
}

.ribbon {
	position: absolute;
	top: 16px;
	right: -30px;
	transform: rotate(45deg);
	background: var(--lumiere-gold);
	color: var(--lumiere-bg);
	padding: 4px 36px;
	font-size: 0.6875rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	z-index: 2;
}

/* ========== 7. Corner Frame Decoration ========== */
.corner-frame {
	position: absolute;
	inset: 0;
	pointer-events: none;
	z-index: 1;
}

.corner-frame::before,
.corner-frame::after {
	content: '';
	position: absolute;
	width: 24px;
	height: 24px;
	border-color: var(--lumiere-gold);
	border-width: 1px;
	border-style: solid;
}

.corner-frame::before {
	top: 16px;
	left: 16px;
	border-right: none;
	border-bottom: none;
}

.corner-frame::after {
	top: 16px;
	right: 16px;
	border-left: none;
	border-bottom: none;
}

.corner-frame__bl,
.corner-frame__br {
	position: absolute;
	width: 24px;
	height: 24px;
	border-color: var(--lumiere-gold);
	border-width: 1px;
	border-style: solid;
}

.corner-frame__bl {
	bottom: 16px;
	left: 16px;
	border-top: none;
	border-right: none;
}

.corner-frame__br {
	bottom: 16px;
	right: 16px;
	border-top: none;
	border-left: none;
}

/* ========== 8. Payment Badges (.pay-badge) ========== */
.pay-badge {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	height: 28px;
	padding: 0 10px;
	font-size: 0.6875rem;
	font-weight: 600;
	font-family: var(--font-body);
	border-radius: var(--radius-sm);
	background: rgba(255, 255, 255, 0.08);
	color: var(--lumiere-text-muted);
	letter-spacing: 0.02em;
	border: 1px solid var(--lumiere-border);
}

.pay-badge--gold {
	background: rgba(197, 164, 118, 0.12);
	color: var(--lumiere-gold);
	border-color: rgba(197, 164, 118, 0.25);
}

.pay-badges {
	display: flex;
	gap: 8px;
	flex-wrap: wrap;
}

/* ========== 9. Card Container ========== */
.card {
	background: var(--lumiere-bg-card);
	border: 1px solid var(--lumiere-border);
	border-radius: var(--radius-lg);
	padding: var(--gap-4);
}

/* ========== 10. Focus & Disabled States ========== */
:focus-visible {
	outline: 2px solid var(--lumiere-gold);
	outline-offset: 2px;
}

.is-disabled,
:disabled {
	opacity: 0.4;
	cursor: not-allowed;
	pointer-events: none;
}

.star-rating {
	display: inline-flex;
	gap: 2px;
	color: var(--lumiere-gold);
	font-size: 0.875rem;
}

.star-rating .star--filled svg {
	fill: var(--lumiere-gold);
	stroke: var(--lumiere-gold);
}

.star-rating .star--half svg {
	fill: var(--lumiere-gold);
	stroke: var(--lumiere-gold);
}

.star-rating .star--empty svg {
	fill: none;
	stroke: var(--lumiere-border);
}

.price {
	font-family: var(--font-display);
	font-size: 1.5rem;
	color: var(--lumiere-gold);
	font-weight: 500;
}

.price--original {
	text-decoration: line-through;
	color: var(--lumiere-text-muted);
	font-size: 1rem;
	margin-left: 8px;
}

.eyebrow {
	display: inline-block;
	font-size: 0.75rem;
	font-weight: 500;
	text-transform: uppercase;
	letter-spacing: 0.15em;
	color: var(--lumiere-gold);
	margin-bottom: 12px;
}

.divider {
	height: 1px;
	background: var(--lumiere-border);
	margin: var(--gap-4) 0;
}

.section-heading {
	text-align: center;
	margin-bottom: var(--gap-8);
}

.section-heading__eyebrow {
	display: inline-block;
	font-size: 0.75rem;
	font-weight: 500;
	text-transform: uppercase;
	letter-spacing: 0.15em;
	color: var(--lumiere-gold);
	margin-bottom: 12px;
}

.section-heading__title {
	font-size: clamp(2rem, 4vw, 3rem);
	font-weight: 300;
	margin-bottom: 16px;
}

.section-heading__desc {
	color: var(--lumiere-text-muted);
	max-width: 600px;
	margin: 0 auto;
	font-size: 1.0625rem;
}

.section-heading--gold .eyebrow {
	color: var(--lumiere-gold);
}

[data-reveal] {
	opacity: 0;
	transform: translateY(30px);
	transition: opacity 0.6s ease, transform 0.6s ease;
}

[data-reveal].is-revealed {
	opacity: 1;
	transform: none;
}

/* ========== 11. Announcement Bar (.lumiere-announcement-bar) ========== */
.lumiere-announcement-bar {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	z-index: 60;
	height: 36px;
	background: var(--lumiere-bg-dark);
	border-bottom: 1px solid var(--lumiere-border);
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
	transition: transform var(--transition-base);
	transform: translateY(0);
}

.lumiere-announcement-bar.is-hidden {
	transform: translateY(-100%);
}

.lumiere-announcement-bar__marquee {
	overflow: hidden;
	white-space: nowrap;
	width: 100%;
}

.lumiere-announcement-bar__track {
	display: inline-flex;
	align-items: center;
	gap: 32px;
	animation: lumiere-marquee 40s linear infinite;
	padding: 0 16px;
}

.lumiere-announcement-bar:hover .lumiere-announcement-bar__track {
	animation-play-state: paused;
}

.lumiere-announcement-bar__item {
	font-size: 0.75rem;
	font-weight: 400;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	color: var(--lumiere-text-muted);
	text-decoration: none;
}

.lumiere-announcement-bar__item--promo {
	color: var(--lumiere-gold);
	font-weight: 500;
}

.lumiere-announcement-bar__item--promo:hover {
	color: var(--lumiere-gold-hover);
}

.lumiere-announcement-bar__sep {
	color: var(--lumiere-border);
	font-size: 0.625rem;
}

@keyframes lumiere-marquee {
	0% {
		transform: translateX(0);
	}
	100% {
		transform: translateX(-50%);
	}
}

/* ========== 12. Global Header (.lumiere-header) ========== */
.lumiere-header {
	position: fixed;
	top: 36px;
	left: 0;
	right: 0;
	z-index: 55;
	height: 72px;
	background: rgba(10, 9, 12, 0.6);
	backdrop-filter: blur(16px);
	-webkit-backdrop-filter: blur(16px);
	border-bottom: 1px solid transparent;
	transition: all var(--transition-base);
}

.lumiere-header.is-scrolled {
	background: rgba(10, 9, 12, 0.92);
	border-bottom-color: var(--lumiere-border);
	height: 64px;
}

.lumiere-header.announcement-hidden {
	top: 0;
}

.lumiere-header__container {
	display: flex;
	align-items: center;
	justify-content: space-between;
	height: 100%;
}

.lumiere-header__left {
	display: flex;
	align-items: center;
	gap: 16px;
}

.lumiere-header__menu-btn {
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 8px;
	color: var(--lumiere-text);
	border-radius: var(--radius-sm);
	transition: color var(--transition-fast);
}

.lumiere-header__menu-btn:hover {
	color: var(--lumiere-gold);
}

.lumiere-header__logo {
	font-family: var(--font-display);
	font-size: 1.5rem;
	font-weight: 400;
	letter-spacing: 0.12em;
	color: var(--lumiere-text);
	text-transform: none;
}

.lumiere-header__logo:hover {
	color: var(--lumiere-text);
}

.lumiere-header__nav {
	display: none;
}

.lumiere-header__nav ul {
	display: flex;
	gap: 32px;
	align-items: center;
	margin: 0;
}

.lumiere-header__nav-link {
	font-size: 0.8125rem;
	font-weight: 400;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	color: var(--lumiere-text);
	padding: 4px 0;
	position: relative;
	transition: color var(--transition-fast);
}

.lumiere-header__nav-link::after {
	content: '';
	position: absolute;
	bottom: -2px;
	left: 0;
	width: 0;
	height: 1px;
	background: var(--lumiere-gold);
	transition: width var(--transition-base);
}

.lumiere-header__nav-link:hover {
	color: var(--lumiere-gold);
}

.lumiere-header__nav-link:hover::after {
	width: 100%;
}

.lumiere-header__nav-link.is-active {
	color: var(--lumiere-gold);
}

.lumiere-header__nav-link.is-active::after {
	width: 100%;
}

.lumiere-header__right {
	display: flex;
	align-items: center;
	gap: 0;
}

.lumiere-header__currency {
	display: none;
	align-items: center;
	gap: 4px;
	margin-right: 8px;
	font-size: 0.75rem;
	color: var(--lumiere-text-muted);
	font-weight: 400;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	cursor: pointer;
	padding: 8px;
	border-radius: var(--radius-sm);
	transition: color var(--transition-fast);
}

.lumiere-header__currency i {
	width: 14px;
	height: 14px;
}

.lumiere-header__currency:hover {
	color: var(--lumiere-gold);
}

.lumiere-header__lang {
	color: var(--lumiere-text-muted);
}

.lumiere-header__icon-btn {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	color: var(--lumiere-text);
	border-radius: var(--radius-sm);
	transition: all var(--transition-fast);
	background: none;
	border: none;
	cursor: pointer;
}

.lumiere-header__icon-btn i {
	width: 20px;
	height: 20px;
}

.lumiere-header__icon-btn:hover {
	color: var(--lumiere-gold);
	background: rgba(197, 164, 118, 0.08);
}

.lumiere-header__badge {
	position: absolute;
	top: 4px;
	right: 4px;
	min-width: 16px;
	height: 16px;
	padding: 0 4px;
	background: var(--lumiere-gold);
	color: var(--lumiere-bg);
	font-size: 0.5625rem;
	font-weight: 600;
	border-radius: var(--radius-pill);
	display: flex;
	align-items: center;
	justify-content: center;
	font-family: var(--font-body);
	line-height: 1;
}

.lumiere-header__badge--hidden {
	display: none;
}

/* Mobile nav drawer: off-canvas left sidebar (< 768px). The nav is kept
   display:flex (not display:none) so the translateX transform can animate;
   when closed it sits off-screen to the left, .nav-open slides it in. A
   ::before overlay on the header dims the page behind the drawer and closes
   it on click (handled in widgets.js via the existing outside-click handler).
   Scoped to < 768px so a stale .nav-open class can never affect the desktop
   inline nav. */
@media (max-width: 767px) {
	/* Lift the header bar (logo, hamburger, icons) above the drawer overlay
	   (z-index 1000) and the drawer itself (1001) so the hamburger stays
	   visible and clickable while the drawer is open. The nav has
	   padding-top:80px so its links start below the header bar — no visual
	   overlap with the bar's content. */
	.lumiere-header__container {
		position: relative;
		z-index: 1002;
	}

	.lumiere-header__nav {
		display: flex;
		position: fixed;
		top: 0;
		left: 0;
		bottom: 0;
		width: min(85vw, 320px);
		height: 100vh;
		flex-direction: column;
		align-items: stretch;
		gap: 0;
		padding: 0;
		background: rgba(10, 9, 12, 0.98);
		backdrop-filter: blur(16px);
		-webkit-backdrop-filter: blur(16px);
		border-right: 1px solid var(--lumiere-border);
		transform: translateX(-100%);
		transition: transform 0.3s ease;
		z-index: 1001;
		overflow-y: auto;
	}

	/* Sidebar top bar: logo on the left, close button on the right.
	   Sits at the top of the drawer, replacing the old padding-top:80px
	   that was there to avoid overlap with the header bar. */
	.lumiere-header__sidebar-header {
		display: flex;
		align-items: center;
		justify-content: space-between;
		height: 72px;
		padding: 0 24px;
		border-bottom: 1px solid var(--lumiere-border);
		flex-shrink: 0;
	}

	.lumiere-header__sidebar-logo {
		font-family: var(--font-display);
		font-size: 1.5rem;
		font-weight: 400;
		letter-spacing: 0.12em;
		color: var(--lumiere-text);
		text-decoration: none;
	}

	.lumiere-header__sidebar-logo:hover {
		color: var(--lumiere-gold);
	}

	.lumiere-header__sidebar-close {
		display: flex;
		align-items: center;
		justify-content: center;
		width: 40px;
		height: 40px;
		padding: 0;
		background: transparent;
		border: 1px solid var(--lumiere-border);
		border-radius: var(--radius-sm);
		color: var(--lumiere-text);
		cursor: pointer;
		transition: all var(--transition-fast);
	}

	.lumiere-header__sidebar-close:hover {
		color: var(--lumiere-gold);
		border-color: var(--lumiere-gold);
	}

	.lumiere-header__sidebar-close i {
		width: 18px;
		height: 18px;
	}

	/* Nav list scrolls below the sidebar header. */
	.lumiere-header__nav ul {
		flex: 1;
		flex-direction: column;
		align-items: stretch;
		gap: 0;
		padding: 8px 24px 24px;
		margin: 0;
		overflow-y: auto;
	}

	.lumiere-header.nav-open .lumiere-header__nav {
		transform: translateX(0);
		box-shadow: 0 0 40px rgba(0, 0, 0, 0.6);
	}

	/* Page overlay dims content behind the drawer; click handled by the
	   header's outside-click listener (the ::before is part of the header
	   box, but clicks on it land on the header element so the existing
	   closest($header) guard treats them as inside — therefore we also
	   bind the overlay explicitly in widgets.js). */
	.lumiere-header.nav-open::before {
		content: '';
		position: fixed;
		inset: 0;
		background: rgba(0, 0, 0, 0.5);
		z-index: 1000;
		cursor: pointer;
	}

	.lumiere-header__nav li {
		width: 100%;
	}

	.lumiere-header__nav-link {
		display: block;
		padding: 14px 0;
		font-size: 0.875rem;
		letter-spacing: 0.06em;
		border-bottom: 1px solid var(--lumiere-border);
	}

	.lumiere-header__nav-link::after {
		display: none;
	}

	.lumiere-header__nav-link:hover {
		color: var(--lumiere-gold);
	}

	.lumiere-header.nav-open .lumiere-header__menu-btn {
		color: var(--lumiere-gold);
	}

	/* Lock body scroll while the drawer is open. The .nav-open-body class is
	   toggled on <body> by widgets.js alongside the header's .nav-open. */
	body.lumiere-nav-open {
		overflow: hidden;
	}
}

@media (min-width: 768px) {
	.lumiere-header__menu-btn {
		display: none;
	}

	/* Sidebar header (logo + close button) is mobile-only. On desktop the
	   nav is an inline flex row inside the header bar, so the sidebar header
	   would otherwise appear at the top of the nav list. */
	.lumiere-header__sidebar-header {
		display: none;
	}

	.lumiere-header__logo {
		font-size: 1.75rem;
	}

	.lumiere-header__nav {
		display: flex;
	}

	.lumiere-header__currency {
		display: flex;
	}

	.lumiere-header__right {
		gap: 4px;
	}

	.lumiere-header__icon-btn {
		width: 40px;
		height: 40px;
	}
}

/* ========== 13. Global Footer (.lumiere-footer) ========== */
.lumiere-footer {
	background: var(--lumiere-bg-dark);
	padding-top: var(--gap-8);
	padding-bottom: var(--gap-4);
	margin-top: auto;
}

.lumiere-footer__trust {
	padding: var(--gap-4) 0;
}

.lumiere-footer__trust-inner {
	display: flex;
	flex-direction: column;
	gap: 16px;
	align-items: center;
}

.lumiere-footer__badges {
	display: flex;
	gap: 8px;
	flex-wrap: wrap;
	justify-content: center;
}

.lumiere-footer__trust-items {
	display: flex;
	gap: 24px;
	flex-wrap: wrap;
	justify-content: center;
}

.lumiere-footer__trust-items span {
	font-size: 0.75rem;
	color: var(--lumiere-text-muted);
	display: inline-flex;
	align-items: center;
	gap: 6px;
}

.lumiere-footer__trust-items i {
	width: 14px;
	height: 14px;
}

.lumiere-footer__divider {
	height: 1px;
	background: var(--lumiere-border);
}

.lumiere-footer__links {
	padding: var(--gap-8) 0;
}

.lumiere-footer__grid {
	display: grid;
	gap: var(--gap-6);
	grid-template-columns: 1fr;
}

.lumiere-footer__col--brand {
	max-width: 280px;
}

.lumiere-footer__logo {
	font-family: var(--font-display);
	font-size: 1.75rem;
	font-weight: 400;
	letter-spacing: 0.12em;
	color: var(--lumiere-text);
	display: block;
	margin-bottom: 16px;
}

.lumiere-footer__logo:hover {
	color: var(--lumiere-text);
}

.lumiere-footer__brand-desc {
	font-size: 0.875rem;
	color: var(--lumiere-text-muted);
	line-height: 1.7;
	margin-bottom: 24px;
}

.lumiere-footer__social {
	display: flex;
	gap: 8px;
	margin-bottom: 24px;
}

.lumiere-footer__social-link {
	width: 36px;
	height: 36px;
	display: flex;
	align-items: center;
	justify-content: center;
	border: 1px solid var(--lumiere-border);
	border-radius: var(--radius-sm);
	color: var(--lumiere-text-muted);
	transition: all var(--transition-fast);
}

.lumiere-footer__social-link i {
	width: 16px;
	height: 16px;
}

.lumiere-footer__social-link:hover {
	color: var(--lumiere-gold);
	border-color: var(--lumiere-gold);
	background: rgba(197, 164, 118, 0.08);
}

.lumiere-footer__contact {
	font-size: 0.8125rem;
	color: var(--lumiere-text-muted);
	line-height: 2;
}

.lumiere-footer__contact a {
	color: var(--lumiere-text-muted);
	display: inline-flex;
	align-items: center;
	gap: 6px;
}

.lumiere-footer__contact a:hover {
	color: var(--lumiere-gold);
}

.lumiere-footer__contact i {
	width: 14px;
	height: 14px;
}

.lumiere-footer__col-title {
	font-size: 0.75rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.12em;
	color: var(--lumiere-gold);
	margin-bottom: 20px;
}

.lumiere-footer__col ul {
	list-style: none;
	padding: 0;
	margin: 0;
}

.lumiere-footer__col ul li {
	margin-bottom: 12px;
}

.lumiere-footer__col ul a {
	font-size: 0.875rem;
	color: var(--lumiere-text-muted);
	transition: color var(--transition-fast);
}

.lumiere-footer__col ul a:hover {
	color: var(--lumiere-gold);
}

.lumiere-footer__bottom {
	padding-top: var(--gap-4);
}

.lumiere-footer__bottom-inner {
	display: flex;
	flex-direction: column;
	gap: 12px;
	align-items: center;
}

.lumiere-footer__copyright {
	font-size: 0.75rem;
	color: var(--lumiere-text-muted);
	margin: 0;
}

.lumiere-footer__legal {
	display: flex;
	gap: 8px;
	align-items: center;
	flex-wrap: wrap;
	justify-content: center;
}

.lumiere-footer__legal a {
	font-size: 0.75rem;
	color: var(--lumiere-text-muted);
}

.lumiere-footer__legal a:hover {
	color: var(--lumiere-gold);
}

.lumiere-footer__legal-sep {
	color: var(--lumiere-border);
	font-size: 0.75rem;
}

@media (min-width: 768px) {
	.lumiere-footer__trust-inner {
		flex-direction: row;
		justify-content: space-between;
	}

	.lumiere-footer__grid {
		grid-template-columns: 1.5fr 1fr 1fr 1fr;
	}

	.lumiere-footer__bottom-inner {
		flex-direction: row;
		justify-content: space-between;
	}
}

/* ========== 14. Breadcrumb (.lumiere-breadcrumb) ========== */
.lumiere-breadcrumb {
	padding: var(--gap-3) 0;
	margin-top: -24px;
	position: relative;
	z-index: 10;
}

.lumiere-breadcrumb__list {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 4px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.lumiere-breadcrumb__item {
	display: inline-flex;
	align-items: center;
	gap: 4px;
}

.lumiere-breadcrumb__item i {
	width: 14px;
	height: 14px;
	color: var(--lumiere-gold);
	opacity: 0.6;
}

.lumiere-breadcrumb__item a {
	font-family: var(--font-display);
	font-style: italic;
	font-size: 0.9375rem;
	color: var(--lumiere-text-muted);
	transition: color var(--transition-fast);
	text-decoration: none;
}

.lumiere-breadcrumb__item a:hover {
	color: var(--lumiere-gold);
}

.lumiere-breadcrumb__item--current span {
	font-family: var(--font-display);
	font-style: italic;
	font-size: 0.9375rem;
	color: var(--lumiere-text);
}

/* ========== 15. Trust Badges (.lumiere-trust-badges) ========== */
.lumiere-trust-badges__grid {
	display: grid;
	align-items: start;
	grid-template-columns: repeat(4, 1fr);
	gap: var(--gap-4);
}

.lumiere-trust-badges--mini .lumiere-trust-badges__grid {
	grid-template-columns: repeat(4, 1fr);
	gap: var(--gap-2);
}

.lumiere-trust-badges--grid .lumiere-trust-badges__grid {
	grid-template-columns: repeat(2, 1fr);
	gap: var(--gap-3);
}

.lumiere-trust-badges__item {
	display: flex;
	align-items: center;
	gap: 12px;
}

.lumiere-trust-badges__icon {
	width: 40px;
	height: 40px;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	border-radius: var(--radius-sm);
	color: var(--lumiere-gold);
}

.lumiere-trust-badges--bordered .lumiere-trust-badges__icon {
	border: 1px solid var(--lumiere-border);
}

.lumiere-trust-badges--mini .lumiere-trust-badges__icon {
	width: 28px;
	height: 28px;
	border: none;
}

.lumiere-trust-badges__icon i {
	width: 20px;
	height: 20px;
}

.lumiere-trust-badges--mini .lumiere-trust-badges__icon i {
	width: 16px;
	height: 16px;
}

.lumiere-trust-badges__text {
	display: flex;
	flex-direction: column;
}

.lumiere-trust-badges__label {
	font-size: 0.8125rem;
	font-weight: 500;
	color: var(--lumiere-text);
}

.lumiere-trust-badges--mini .lumiere-trust-badges__label {
	font-size: 0.6875rem;
}

.lumiere-trust-badges__sublabel {
	font-size: 0.6875rem;
	color: var(--lumiere-text-muted);
}

.lumiere-trust-badges--mini .lumiere-trust-badges__sublabel {
	display: none;
}

@media (max-width: 767px) {
	.lumiere-trust-badges:not(.lumiere-trust-badges--mini):not(.lumiere-trust-badges--grid) .lumiere-trust-badges__grid {
		grid-template-columns: repeat(2, 1fr);
	}
}

/* ========== 16. Product Card (.lumiere-product-card) ========== */
.lumiere-product-card {
	background: transparent;
}

.lumiere-product-card__link {
	display: block;
	color: inherit;
	text-decoration: none;
	transition: all var(--transition-base);
	border-radius: var(--radius-sm);
}

.lumiere-product-card__link:hover {
	transform: translateY(-4px);
	box-shadow: var(--shadow-gold);
}

.lumiere-product-card__image {
	position: relative;
	aspect-ratio: 1/1;
	background: var(--lumiere-bg-dark);
	overflow: hidden;
	border-radius: var(--radius-sm);
}

.lumiere-product-card__image-inner {
	position: relative;
	width: 100%;
	height: 100%;
	overflow: hidden;
}

.lumiere-product-card__image-inner img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 600ms cubic-bezier(0.16, 1, 0.3, 1);
}

.lumiere-product-card__placeholder {
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	background: var(--lumiere-bg-dark);
	color: var(--lumiere-gold);
}

.lumiere-product-card__placeholder i {
	width: 48px;
	height: 48px;
	opacity: 0.5;
}

.lumiere-product-card__quick-actions {
	position: absolute;
	top: 12px;
	right: 12px;
	display: flex;
	flex-direction: column;
	gap: 8px;
	opacity: 0;
	transform: translateX(10px);
	transition: all var(--transition-base);
	z-index: 2;
}

.lumiere-product-card__action-btn {
	width: 36px;
	height: 36px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: rgba(10, 9, 12, 0.7);
	backdrop-filter: blur(8px);
	-webkit-backdrop-filter: blur(8px);
	border: 1px solid var(--lumiere-border);
	border-radius: var(--radius-sm);
	color: var(--lumiere-text);
	transition: all var(--transition-fast);
	cursor: pointer;
}

.lumiere-product-card__action-btn:hover {
	background: var(--lumiere-gold);
	color: var(--lumiere-bg);
	border-color: var(--lumiere-gold);
}

.lumiere-product-card__action-btn.is-wishlisted {
	background: var(--lumiere-gold);
	color: var(--lumiere-bg);
	border-color: var(--lumiere-gold);
}

.lumiere-product-card__action-btn.is-wishlisted svg {
	fill: var(--lumiere-bg);
}

.lumiere-product-card__action-btn i {
	width: 16px;
	height: 16px;
}

.lumiere-product-card__add-bag {
	position: absolute;
	bottom: 12px;
	left: 12px;
	right: 12px;
	padding: 10px 12px;
	background: var(--lumiere-gold);
	color: var(--lumiere-bg);
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 0.6875rem;
	font-weight: 500;
	text-transform: uppercase;
	letter-spacing: 0.18em;
	opacity: 0;
	transform: translateY(8px);
	transition: opacity var(--transition-base), transform var(--transition-base);
	font-family: var(--font-body);
	text-decoration: none;
}

/* On WooCommerce shop/archive pages the card sits inside ul.products
   li.product, whose box model makes left+right:12px stretch the button
   so the text appears off-center. Dropping `right` there lets the button
   shrink-to-fit its content and flex-centering centers the text.
   Homepage cards keep left+right (full-width overlay) as designed. */
body.woocommerce-shop .lumiere-product-card__add-bag,
body.post-type-archive-product .lumiere-product-card__add-bag {
	right: auto;
}

.lumiere-product-card__link:hover .lumiere-product-card__image-inner img {
	transform: scale(1.06);
}

.lumiere-product-card__link:hover .lumiere-product-card__quick-actions {
	opacity: 1;
	transform: translateX(0);
}

/* Show the add-to-bag button on card hover. Works for both manual mode
   (button inside .lumiere-product-card__link) and dynamic mode (button is
   a sibling of the link inside .lumiere-product-card__media). */
.lumiere-product-card:hover .lumiere-product-card__add-bag,
.lumiere-product-card__link:hover .lumiere-product-card__add-bag {
	opacity: 1;
	transform: translateY(0);
}

/* Touch devices have no hover: always show the add-to-bag button so mobile
   users can access it (design's hover-to-reveal pattern is desktop-only). */
@media (hover: none) {
	.lumiere-product-card__add-bag {
		opacity: 1;
		transform: translateY(0);
	}
}

/* Respect reduced-motion preferences: show without animation. */
@media (prefers-reduced-motion: reduce) {
	.lumiere-product-card__add-bag {
		opacity: 1;
		transform: none;
		transition: none;
	}
}

/* Dynamic mode: product-driven card where the link wraps only the image and
   action buttons (wishlist / quickview / add-to-bag) are siblings of the link
   inside .lumiere-product-card__media. This keeps interactive elements out of
   the <a> so WC's add-to-cart and our AJAX buttons work as separate actions. */
.lumiere-product-card--dynamic .lumiere-product-card__media {
	position: relative;
}

.lumiere-product-card--dynamic:hover .lumiere-product-card__image-inner img {
	transform: scale(1.06);
}

.lumiere-product-card--dynamic:hover .lumiere-product-card__quick-actions {
	opacity: 1;
	transform: translateX(0);
}

.lumiere-product-card--dynamic:hover .lumiere-product-card__add-bag {
	transform: translateY(0);
}

.lumiere-product-card--dynamic:hover .lumiere-product-card__title {
	color: var(--lumiere-gold);
}

/* Reset WC .button styles so the Add to Bag overlay keeps the card's look.
   WooCommerce ships `.woocommerce a.button { ... }` rules (wrapped in
   :where() so they resolve to (0,2,1) specificity) that clobber the base
   `.lumiere-product-card__add-bag` rule (0,1,0) on shop/archive pages where
   <body> has the `.woocommerce` class — turning the gold overlay into a
   default gray WC button. Re-declaring every WC-conflicting property here
   at (0,3,0) makes the card identical on shop and homepage. The base rule
   above still drives manual-mode cards (no .button class, untouched by WC). */
.lumiere-product-card--dynamic .lumiere-product-card__add-bag.button {
	padding: 10px 12px;
	background: var(--lumiere-gold);
	color: var(--lumiere-bg);
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 0.6875rem;
	font-weight: 500;
	font-family: var(--font-body);
	border: none;
	border-radius: 0;
	text-decoration: none;
	line-height: 1;
}

.lumiere-product-card--dynamic .lumiere-product-card__add-bag.button:hover {
	background: var(--lumiere-gold-hover);
	color: var(--lumiere-bg);
}

.lumiere-product-card--dynamic .lumiere-product-card__title a {
	color: inherit;
	text-decoration: none;
}

.lumiere-product-card--dynamic.is-wishlisted .lumiere-product-card__action-btn[data-action="wishlist"] {
	background: var(--lumiere-gold);
	color: var(--lumiere-bg);
	border-color: var(--lumiere-gold);
}

.lumiere-product-card__info {
	padding: var(--gap-2) 0 0;
}

.lumiere-product-card__rating {
	display: flex;
	align-items: center;
	gap: 6px;
	margin-bottom: 8px;
}

.lumiere-product-card__rating .star-rating {
	gap: 2px;
	font-size: 0.75rem;
}

.lumiere-product-card__rating .star-rating i {
	width: 12px;
	height: 12px;
}

.lumiere-product-card__reviews {
	font-size: 0.6875rem;
	color: var(--lumiere-text-muted);
}

.lumiere-product-card__title {
	font-family: var(--font-display);
	font-size: 1.125rem;
	font-weight: 400;
	color: var(--lumiere-text);
	margin: 0 0 8px;
	line-height: 1.3;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	transition: color var(--transition-fast);
}

.lumiere-product-card__link:hover .lumiere-product-card__title {
	color: var(--lumiere-gold);
}

.lumiere-product-card__metals {
	display: flex;
	gap: 6px;
	margin-bottom: 8px;
}

.lumiere-product-card__price-row {
	display: flex;
	align-items: baseline;
	gap: 8px;
	margin-bottom: 4px;
}

.lumiere-product-card__financing {
	display: flex;
	align-items: center;
	gap: 6px;
	font-size: 0.6875rem;
	color: var(--lumiere-text-muted);
}

.lumiere-product-card__financing .pay-badge {
	height: 20px;
	font-size: 0.5625rem;
	padding: 0 6px;
}

/* ========== 16.5. Shop Layout Section (.lumiere-shop-layout) ==========
   Multi-column Elementor section that wraps the filter sidebar (25%) and
   product grid (75%). Elementor renders this section as `full_width` (no
   inner container constraint), so we constrain `.elementor-container` to
   the site container width (1400px) here and apply a desktop-only 40px
   column gap that matches the design's `.shop-layout { gap: 2.5rem }`.
   Mobile keeps columns stacked with no horizontal padding. */
.lumiere-shop-layout {
	padding-top: var(--gap-4);
	padding-bottom: var(--gap-6);
}

@media (min-width: 768px) {
	.lumiere-shop-layout {
		padding-top: var(--gap-6);
		padding-bottom: var(--gap-6);
	}
}

.lumiere-shop-layout .elementor-container {
	max-width: var(--lumiere-container-width);
	margin: 0 auto;
	padding: 0 var(--gap-3);
}

@media (min-width: 768px) {
	.lumiere-shop-layout .elementor-container {
		padding: 0 var(--gap-4);
	}
}

@media (min-width: 1200px) {
	.lumiere-shop-layout .elementor-container {
		padding: 0 var(--gap-6);
	}
}

/* Desktop: 20px right padding on filter column + 20px left padding on grid
   column = 40px gap, matching design's `shop-layout { gap: 2.5rem }`.
   Outer column edges keep 0 padding so the layout aligns with .lumiere-container. */
@media (min-width: 768px) {
	.lumiere-shop-layout .elementor-col-25 > .elementor-element-populated {
		padding-right: 20px;
		padding-left: 0;
	}

	.lumiere-shop-layout .elementor-col-75 > .elementor-element-populated {
		padding-left: 20px;
		padding-right: 0;
	}
}

/* ========== 17. Product Grid (.lumiere-product-grid) ========== */
.lumiere-product-grid {
	display: grid;
	gap: var(--gap-4);
}

.lumiere-product-grid__title {
	font-family: var(--font-display);
	font-size: clamp(1.75rem, 3vw, 2.5rem);
	font-weight: 500;
	letter-spacing: -0.01em;
	margin: 0 0 var(--gap-4);
	text-align: center;
	line-height: 1.2;
}

.lumiere-product-grid--empty {
	grid-template-columns: 1fr;
	padding: var(--gap-6) 0;
	text-align: center;
}

.lumiere-product-grid__empty-text {
	color: var(--lumiere-text-muted);
	font-size: 0.95rem;
	margin: 0;
}

.lumiere-product-grid--cols-2 {
	grid-template-columns: repeat(1, 1fr);
}

.lumiere-product-grid--cols-3 {
	grid-template-columns: repeat(1, 1fr);
}

.lumiere-product-grid--cols-4 {
	grid-template-columns: repeat(2, 1fr);
}

@media (min-width: 640px) {
	.lumiere-product-grid--cols-2 {
		grid-template-columns: repeat(2, 1fr);
	}

	.lumiere-product-grid--cols-3 {
		grid-template-columns: repeat(2, 1fr);
	}

	.lumiere-product-grid--cols-4 {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (min-width: 1024px) {
	.lumiere-product-grid--cols-2 {
		grid-template-columns: repeat(2, 1fr);
	}

	.lumiere-product-grid--cols-3 {
		grid-template-columns: repeat(3, 1fr);
	}

	.lumiere-product-grid--cols-4 {
		grid-template-columns: repeat(4, 1fr);
	}
}

/* ========== 18. Home Hero (.lumiere-home-hero) ========== */
.lumiere-home-hero {
	position: relative;
	min-height: 92vh;
	display: flex;
	align-items: center;
	padding: var(--gap-6) 0;
	padding-top: calc(var(--gap-8) + 108px);
	overflow: hidden;
	background: radial-gradient(ellipse 80% 60% at 80% 50%, rgba(197, 164, 118, 0.06) 0%, transparent 60%), var(--lumiere-bg);
}

.lumiere-home-hero__grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: var(--gap-8);
	align-items: center;
}

.lumiere-home-hero__content {
	position: relative;
	z-index: 2;
	opacity: 0;
	animation: lumiereHeroFadeUp 0.8s cubic-bezier(0.16, 1, 0.3, 1) 0.1s forwards;
}

.lumiere-home-hero__eyebrow {
	margin-bottom: var(--gap-3);
}

.lumiere-home-hero__title {
	font-size: clamp(2.5rem, 6vw, 4.5rem);
	font-weight: 300;
	line-height: 1.05;
	color: var(--lumiere-text);
	margin-bottom: var(--gap-3);
	letter-spacing: -0.02em;
}

.lumiere-home-hero__desc {
	font-size: clamp(1rem, 1.5vw, 1.125rem);
	color: var(--lumiere-text-muted);
	line-height: 1.8;
	max-width: 480px;
	margin-bottom: var(--gap-4);
	font-weight: 300;
}

.lumiere-home-hero__buttons {
	display: flex;
	gap: var(--gap-2);
	flex-wrap: wrap;
	margin-bottom: var(--gap-6);
}

.lumiere-home-hero__trust-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: var(--gap-2);
	border-top: 1px solid var(--lumiere-border);
	padding-top: var(--gap-3);
}

.lumiere-home-hero__trust-item {
	display: flex;
	flex-direction: column;
	gap: 6px;
	align-items: flex-start;
}

.lumiere-home-hero__trust-item i {
	width: 18px;
	height: 18px;
	color: var(--lumiere-gold);
}

.lumiere-home-hero__trust-item span {
	font-size: 0.6875rem;
	color: var(--lumiere-text-muted);
	text-transform: uppercase;
	letter-spacing: 0.08em;
	font-weight: 500;
}

.lumiere-home-hero__visual {
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	opacity: 0;
	animation: lumiereHeroFadeUp 1s cubic-bezier(0.16, 1, 0.3, 1) 0.25s forwards;
}

.lumiere-home-hero__product {
	position: relative;
	width: 100%;
	max-width: 440px;
	aspect-ratio: 3/4;
	display: block;
	color: inherit;
	text-decoration: none;
	transition: transform var(--transition-base);
}

.lumiere-home-hero__product:hover {
	transform: translateY(-8px);
}

.lumiere-home-hero__product-image {
	position: relative;
	width: 100%;
	height: 100%;
	background: var(--lumiere-bg-dark);
	border-radius: var(--radius-lg);
	overflow: hidden;
	display: flex;
	align-items: center;
	justify-content: center;
}

.lumiere-home-hero__product-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.lumiere-home-hero__product-image i[data-lucide="gem"] {
	width: 64px;
	height: 64px;
	color: var(--lumiere-border);
}

.lumiere-home-hero__product-info {
	position: absolute;
	bottom: var(--gap-3);
	left: var(--gap-3);
	right: var(--gap-3);
	padding: var(--gap-2);
	background: rgba(10, 9, 12, 0.8);
	backdrop-filter: blur(12px);
	border: 1px solid var(--lumiere-border);
	border-radius: var(--radius-md);
	display: flex;
	flex-direction: column;
	gap: 4px;
}

.lumiere-home-hero__product-collection {
	font-size: 0.625rem;
	text-transform: uppercase;
	letter-spacing: 0.12em;
	color: var(--lumiere-gold);
	font-weight: 500;
}

.lumiere-home-hero__product-name {
	font-family: var(--font-display);
	font-size: 1.25rem;
	font-weight: 400;
	color: var(--lumiere-text);
	margin: 0;
	line-height: 1.3;
}

.lumiere-home-hero__product-price {
	font-family: var(--font-display);
	font-size: 1rem;
	color: var(--lumiere-gold);
	font-weight: 500;
}

@media (min-width: 768px) {
	.lumiere-home-hero__grid {
		grid-template-columns: 1fr 1fr;
		gap: var(--gap-8);
	}

	.lumiere-home-hero__trust-grid {
		grid-template-columns: repeat(4, 1fr);
	}

	.lumiere-home-hero__visual {
		justify-content: flex-end;
	}

	.lumiere-home-hero__product {
		max-width: 480px;
	}
}

@keyframes lumiereHeroFadeUp {
	from {
		opacity: 0;
		transform: translateY(28px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

body.elementor-editor-active .lumiere-home-hero__content,
body.elementor-editor-active .lumiere-home-hero__visual {
	opacity: 1;
	animation: none;
}

/* ========== 19. Category Quick Nav (.lumiere-category-nav) ========== */
.lumiere-category-nav {
	padding: var(--gap-4) 0 var(--gap-2);
	border-bottom: 1px solid var(--lumiere-border);
}

.lumiere-category-nav__track {
	display: flex;
	gap: 8px;
	overflow-x: auto;
	scrollbar-width: none;
	-ms-overflow-style: none;
	padding-bottom: 8px;
	-webkit-overflow-scrolling: touch;
}

.lumiere-category-nav__track::-webkit-scrollbar {
	display: none;
}

.lumiere-category-nav__pill {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 8px 16px;
	font-size: 0.8125rem;
	font-weight: 400;
	border: 1px solid var(--lumiere-border);
	border-radius: var(--radius-pill);
	color: var(--lumiere-text-muted);
	white-space: nowrap;
	transition: all var(--transition-fast);
	background: transparent;
	font-family: var(--font-body);
	flex-shrink: 0;
	text-decoration: none;
	cursor: pointer;
}

.lumiere-category-nav__pill:hover {
	border-color: var(--lumiere-gold);
	color: var(--lumiere-gold);
}

.lumiere-category-nav__pill.is-active {
	border-color: var(--lumiere-gold);
	color: var(--lumiere-gold);
	background: rgba(197, 164, 118, 0.08);
}

.lumiere-category-nav__pill.is-sale {
	color: var(--lumiere-gold);
}

.lumiere-category-nav__pill-thumb {
	width: 24px;
	height: 24px;
	border-radius: 50%;
	overflow: hidden;
	background: var(--lumiere-bg-dark);
	flex-shrink: 0;
}

.lumiere-category-nav__pill-thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/* ========== 20. Featured Categories (.lumiere-featured-cats) ========== */
.lumiere-featured-cats__grid {
	display: grid;
	grid-template-columns: repeat(1, 1fr);
	gap: var(--gap-3);
}

.lumiere-featured-cats__card {
	display: block;
	text-decoration: none;
	color: inherit;
	position: relative;
	overflow: hidden;
	border-radius: var(--radius-lg);
	transition: all var(--transition-base);
	background: var(--lumiere-bg-card);
}

.lumiere-featured-cats__card:hover {
	transform: translateY(-4px);
	box-shadow: var(--shadow-gold);
}

.lumiere-featured-cats__card:hover .lumiere-featured-cats__image img {
	transform: scale(1.08);
}

.lumiere-featured-cats__card:hover .lumiere-featured-cats__name {
	color: var(--lumiere-gold);
}

.lumiere-featured-cats__card:hover .lumiere-featured-cats__link {
	color: var(--lumiere-gold);
	transform: translateX(4px);
}

.lumiere-featured-cats__image {
	position: relative;
	aspect-ratio: 3/4;
	overflow: hidden;
	background: var(--lumiere-bg-dark);
}

.lumiere-featured-cats__image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 600ms cubic-bezier(0.16, 1, 0.3, 1);
}

.lumiere-featured-cats__placeholder {
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--lumiere-gold);
}

.lumiere-featured-cats__placeholder i {
	width: 48px;
	height: 48px;
	opacity: 0.5;
}

.lumiere-featured-cats__overlay {
	position: absolute;
	inset: 0;
	background: linear-gradient(to top, rgba(10, 9, 12, 0.9) 0%, rgba(10, 9, 12, 0.2) 40%, transparent 70%);
}

.lumiere-featured-cats__info {
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	padding: var(--gap-3);
	display: flex;
	flex-direction: column;
	gap: 4px;
	z-index: 1;
}

.lumiere-featured-cats__name {
	font-family: var(--font-display);
	font-size: 1.25rem;
	font-weight: 400;
	color: var(--lumiere-text);
	margin: 0;
	transition: color var(--transition-fast);
}

.lumiere-featured-cats__price {
	font-family: var(--font-display);
	font-size: 0.9375rem;
	color: var(--lumiere-gold);
	font-weight: 500;
}

.lumiere-featured-cats__count {
	font-size: 0.75rem;
	color: var(--lumiere-text-muted);
	text-transform: uppercase;
	letter-spacing: 0.05em;
}

.lumiere-featured-cats__link {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-size: 0.8125rem;
	color: var(--lumiere-text);
	text-transform: uppercase;
	letter-spacing: 0.08em;
	font-weight: 500;
	margin-top: 8px;
	transition: all var(--transition-fast);
}

.lumiere-featured-cats__link i {
	width: 14px;
	height: 14px;
}

@media (min-width: 768px) {
	.lumiere-featured-cats__grid {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (min-width: 1024px) {
	.lumiere-featured-cats__grid {
		grid-template-columns: repeat(4, 1fr);
	}
}

/* ========== 21. Promo Banner (.lumiere-promo) ========== */
.lumiere-promo {
	padding: var(--gap-8) 0;
}

.lumiere-promo__inner {
	display: grid;
	grid-template-columns: 1fr;
	gap: var(--gap-4);
	padding: var(--gap-6);
	background: linear-gradient(135deg, var(--lumiere-bg-card) 0%, rgba(197, 164, 118, 0.04) 100%),
		radial-gradient(ellipse at 30% 50%, rgba(197, 164, 118, 0.1) 0%, transparent 60%);
}

.lumiere-promo__image {
	aspect-ratio: 4/3;
	border-radius: var(--radius-md);
	overflow: hidden;
	background: var(--lumiere-bg-dark);
}

.lumiere-promo__image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.lumiere-promo__title {
	font-family: var(--font-display);
	font-weight: 300;
	font-size: clamp(1.75rem, 3.5vw, 2.75rem);
	line-height: 1.1;
	margin-bottom: var(--gap-2);
}

.lumiere-promo__desc {
	color: var(--lumiere-text-muted);
	margin-bottom: var(--gap-3);
	max-width: 400px;
}

.lumiere-promo__countdown {
	display: flex;
	gap: 12px;
	align-items: center;
	margin-bottom: var(--gap-4);
}

.lumiere-promo__countdown-item {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 4px;
}

.lumiere-promo__countdown-num {
	font-family: var(--font-display);
	font-size: 2rem;
	font-weight: 500;
	color: var(--lumiere-gold);
	min-width: 48px;
	text-align: center;
}

.lumiere-promo__countdown-label {
	font-size: 0.625rem;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	color: var(--lumiere-text-muted);
}

.lumiere-promo__countdown-sep {
	color: var(--lumiere-border);
	font-size: 1.5rem;
}

.lumiere-promo__buttons {
	display: flex;
	gap: var(--gap-2);
	flex-wrap: wrap;
}

@media (min-width: 768px) {
	.lumiere-promo__inner {
		grid-template-columns: 1fr 1fr;
		align-items: center;
	}
}

/* ========== 22. Trust Bar (.lumiere-trust-bar) ========== */
.lumiere-trust-bar {
	text-align: center;
}

.lumiere-trust-bar__reviews {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 12px;
	flex-wrap: wrap;
}

.lumiere-trust-bar__rating {
	font-family: var(--font-display);
	color: var(--lumiere-gold);
	font-size: 1.125rem;
}

.lumiere-trust-bar__count {
	font-size: 0.875rem;
	color: var(--lumiere-text-muted);
}

.lumiere-trust-bar__featured {
	font-size: 0.75rem;
	text-transform: uppercase;
	letter-spacing: 0.15em;
	color: var(--lumiere-text-muted);
	margin: var(--gap-3) 0;
}

.lumiere-trust-bar__logos {
	display: flex;
	justify-content: center;
	gap: var(--gap-6);
	flex-wrap: wrap;
}

.lumiere-trust-bar__logo {
	font-family: var(--font-display);
	font-size: 1.25rem;
	font-style: italic;
	color: var(--lumiere-text-muted);
	transition: color var(--transition-fast);
	text-decoration: none;
}

.lumiere-trust-bar__logo:hover {
	color: var(--lumiere-gold);
	cursor: default;
}

/* ========== 23. Craft Story (.lumiere-craft-story) ========== */
.lumiere-craft-story__grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: var(--gap-6);
}

.lumiere-craft-story__image {
	aspect-ratio: 4/5;
	border-radius: var(--radius-lg);
	overflow: hidden;
	background: var(--lumiere-bg-dark);
	order: -1;
}

.lumiere-craft-story__image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.lumiere-craft-story__title {
	font-family: var(--font-display);
	font-weight: 300;
	font-size: clamp(1.75rem, 3.5vw, 2.75rem);
	line-height: 1.15;
	margin-bottom: var(--gap-3);
}

.lumiere-craft-story__desc {
	color: var(--lumiere-text-muted);
	line-height: 1.8;
	margin-bottom: var(--gap-4);
}

.lumiere-craft-story__trust {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: var(--gap-2);
	margin-bottom: var(--gap-4);
	padding-top: var(--gap-3);
	border-top: 1px solid var(--lumiere-border);
}

.lumiere-craft-story__trust-item {
	display: flex;
	flex-direction: column;
	gap: 6px;
	align-items: flex-start;
}

.lumiere-craft-story__trust-item i {
	width: 20px;
	height: 20px;
	color: var(--lumiere-gold);
}

.lumiere-craft-story__trust-item span {
	font-size: 0.6875rem;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	color: var(--lumiere-text-muted);
}

@media (min-width: 768px) {
	.lumiere-craft-story__grid {
		grid-template-columns: 1fr 1fr;
		gap: var(--gap-8);
		align-items: center;
	}

	.lumiere-craft-story__image {
		order: 0;
	}
}

/* ========== 24. Reviews (.lumiere-reviews) ========== */
.lumiere-reviews__grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: var(--gap-3);
}

.lumiere-review {
	background: var(--lumiere-bg-card);
	border: 1px solid var(--lumiere-border);
	border-radius: var(--radius-lg);
	padding: var(--gap-3);
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.lumiere-review--large {
	display: grid;
	grid-template-columns: 1fr;
	gap: var(--gap-3);
}

.lumiere-review--large img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	border-radius: var(--radius-md);
	min-height: 300px;
}

.lumiere-review blockquote {
	font-family: var(--font-display);
	font-style: italic;
	font-size: 1.0625rem;
	line-height: 1.6;
	color: var(--lumiere-text);
	margin: 0;
}

.lumiere-review--large blockquote {
	font-size: 1.25rem;
	line-height: 1.5;
}

.lumiere-review__badge {
	display: inline-block;
	font-size: 0.625rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	color: var(--lumiere-gold);
	border: 1px solid var(--lumiere-gold);
	padding: 2px 8px;
	border-radius: var(--radius-sm);
	align-self: flex-start;
}

.lumiere-review__title {
	font-family: var(--font-display);
	font-size: 1.125rem;
	font-weight: 500;
	margin: 0;
}

.lumiere-review cite {
	font-size: 0.75rem;
	color: var(--lumiere-text-muted);
	font-style: normal;
}

.lumiere-review cite strong {
	color: var(--lumiere-text);
	font-weight: 500;
}

@media (min-width: 640px) {
	.lumiere-reviews__grid {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (min-width: 1024px) {
	.lumiere-reviews__grid {
		grid-template-columns: repeat(3, 1fr);
	}

	.lumiere-review--large {
		grid-column: span 2;
		grid-row: span 2;
		grid-template-columns: 1fr 1fr;
	}
}

/* ========== 25. Newsletter (.lumiere-newsletter) ========== */
.lumiere-newsletter__card {
	text-align: center;
}

.lumiere-newsletter__inner {
	max-width: 560px;
	margin: 0 auto;
}

.lumiere-newsletter__title {
	font-family: var(--font-display);
	font-weight: 300;
	font-size: clamp(1.5rem, 3vw, 2.25rem);
	margin-bottom: 12px;
}

.lumiere-newsletter__desc {
	color: var(--lumiere-text-muted);
	margin-bottom: var(--gap-3);
}

.lumiere-newsletter__tabs {
	display: inline-flex;
	gap: var(--gap-3);
	margin-bottom: var(--gap-3);
	border-bottom: 1px solid var(--lumiere-border);
}

.lumiere-newsletter__tab {
	background: none;
	border: none;
	padding: 8px 0;
	font-size: 0.875rem;
	color: var(--lumiere-text-muted);
	cursor: pointer;
	position: relative;
	font-family: var(--font-body);
	transition: color var(--transition-fast);
}

.lumiere-newsletter__tab.is-active {
	color: var(--lumiere-gold);
}

.lumiere-newsletter__tab.is-active::after {
	content: '';
	position: absolute;
	bottom: -1px;
	left: 0;
	right: 0;
	height: 1px;
	background: var(--lumiere-gold);
}

.lumiere-newsletter__form {
	display: flex;
	gap: 8px;
}

.lumiere-newsletter__input {
	flex: 1;
}

.lumiere-newsletter__btn {
	flex-shrink: 0;
}

.lumiere-newsletter__privacy {
	font-size: 0.6875rem;
	color: var(--lumiere-text-muted);
	margin-top: 12px;
}

@media (max-width: 639px) {
	.lumiere-newsletter__form {
		flex-direction: column;
	}
}

/* ========== 26. Shop Hero (.lumiere-shop-hero) ========== */
.lumiere-shop-hero {
	position: relative;
	min-height: 64vh;
	display: flex;
	align-items: center;
	padding-top: calc(var(--gap-6) + 108px);
	padding-bottom: var(--gap-6);
	overflow: hidden;
	background: var(--lumiere-bg);
}

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

.lumiere-shop-hero__bg img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.lumiere-shop-hero__overlay {
	position: absolute;
	inset: 0;
	background: linear-gradient(to bottom, rgba(10, 9, 12, 0.5) 0%, rgba(10, 9, 12, 0.7) 50%, var(--lumiere-bg) 100%);
}

.lumiere-shop-hero__content {
	position: relative;
	z-index: 1;
	text-align: center;
	max-width: 700px;
	margin: 0 auto;
}

.lumiere-shop-hero__title {
	font-family: var(--font-display);
	font-weight: 300;
	font-size: clamp(2.25rem, 5vw, 4rem);
	line-height: 1.05;
	margin-bottom: var(--gap-2);
}

.lumiere-shop-hero__desc {
	color: var(--lumiere-text-muted);
	font-size: 1.0625rem;
	line-height: 1.7;
	margin-bottom: var(--gap-4);
}

.lumiere-shop-hero__trust {
	margin-top: var(--gap-4);
}

.lumiere-shop-hero__trust-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: var(--gap-2);
}

.lumiere-shop-hero__trust-item {
	display: flex;
	align-items: center;
	gap: 8px;
	justify-content: center;
}

.lumiere-shop-hero__trust-item i {
	width: 16px;
	height: 16px;
	color: var(--lumiere-gold);
}

.lumiere-shop-hero__trust-item span {
	font-size: 0.75rem;
	color: var(--lumiere-text-muted);
	text-transform: uppercase;
	letter-spacing: 0.05em;
}

@media (min-width: 768px) {
	.lumiere-shop-hero__trust-grid {
		grid-template-columns: repeat(4, 1fr);
	}
}

/* ========== 27. Shop Toolbar (.lumiere-toolbar) ========== */
.lumiere-toolbar {
	padding: var(--gap-3) 0;
	border-bottom: 1px solid var(--lumiere-border);
}

.lumiere-toolbar__inner {
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;
	gap: var(--gap-2);
}

.lumiere-toolbar__count {
	font-size: 0.875rem;
	color: var(--lumiere-text-muted);
}

.lumiere-toolbar__actions {
	display: flex;
	align-items: center;
	gap: 8px;
}

.lumiere-toolbar__filter-btn {
	display: flex;
}

.lumiere-toolbar__sort {
	width: auto;
	min-width: 180px;
}

.lumiere-toolbar__view {
	display: flex;
	border: 1px solid var(--lumiere-border);
	border-radius: var(--radius-sm);
	overflow: hidden;
}

.lumiere-toolbar__view-btn {
	width: 36px;
	height: 36px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: transparent;
	color: var(--lumiere-text-muted);
	transition: all var(--transition-fast);
	border: none;
	cursor: pointer;
}

.lumiere-toolbar__view-btn i {
	width: 16px;
	height: 16px;
}

.lumiere-toolbar__view-btn:hover {
	color: var(--lumiere-gold);
}

.lumiere-toolbar__view-btn.is-active {
	background: var(--lumiere-gold);
	color: var(--lumiere-bg);
}

@media (max-width: 767px) {
	.lumiere-toolbar__count {
		width: 100%;
	}

	.lumiere-toolbar__actions {
		justify-content: space-between;
		width: 100%;
	}
}

@media (min-width: 768px) {
	.lumiere-toolbar__filter-btn {
		display: none;
	}
}

/* ========== 28. Filter Sidebar (.lumiere-filters) ========== */
.lumiere-filters {
	position: sticky;
	top: 120px;
	background: var(--lumiere-bg-card);
	border: 1px solid var(--lumiere-border);
	border-radius: var(--radius-lg);
	padding: var(--gap-3);
}

.lumiere-filters__header {
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.lumiere-filters__title {
	font-size: 1rem;
	font-weight: 600;
	margin: 0;
}

.lumiere-filters__clear {
	background: none;
	border: none;
	color: var(--lumiere-gold);
	font-size: 0.75rem;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	cursor: pointer;
	font-family: var(--font-body);
	padding: 0;
}

.lumiere-filters__clear:hover {
	color: var(--lumiere-gold-hover);
}

.lumiere-filter {
	border-top: 1px solid var(--lumiere-border);
	padding: var(--gap-2) 0;
}

.lumiere-filter__header {
	width: 100%;
	display: flex;
	justify-content: space-between;
	align-items: center;
	background: none;
	border: none;
	cursor: pointer;
	padding: 0;
	color: var(--lumiere-text);
	font-family: var(--font-body);
	font-size: 0.875rem;
	font-weight: 500;
}

.lumiere-filter__header i {
	width: 16px;
	height: 16px;
	color: var(--lumiere-text-muted);
	transition: transform var(--transition-fast);
}

.lumiere-filter__header.is-open i {
	transform: rotate(180deg);
}

.lumiere-filter__body {
	max-height: 0;
	overflow: hidden;
	transition: max-height var(--transition-base);
}

.lumiere-filter__body.is-open {
	max-height: 500px;
	padding-top: var(--gap-2);
}

.lumiere-filter__option {
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 6px 0;
	cursor: pointer;
	font-size: 0.8125rem;
	color: var(--lumiere-text-muted);
	margin: 0;
}

.lumiere-filter__option:hover {
	color: var(--lumiere-text);
}

.lumiere-filter__option input {
	position: absolute;
	opacity: 0;
}

.lumiere-filter__check {
	width: 16px;
	height: 16px;
	border: 1px solid var(--lumiere-border);
	border-radius: 50%;
	flex-shrink: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: all var(--transition-fast);
}

.lumiere-filter__option input:checked + .lumiere-filter__check {
	border-color: var(--lumiere-gold);
	background: var(--lumiere-gold);
}

.lumiere-filter__option input:checked + .lumiere-filter__check::after {
	content: '';
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: var(--lumiere-bg);
}

.lumiere-filter__check--box {
	border-radius: var(--radius-sm);
}

.lumiere-filter__option input:checked + .lumiere-filter__check--box::after {
	content: '\2713';
	width: auto;
	height: auto;
	font-size: 10px;
	color: var(--lumiere-bg);
	background: none;
	border-radius: 0;
}

.lumiere-filter__label {
	flex: 1;
}

.lumiere-filter__count {
	font-size: 0.6875rem;
	color: var(--lumiere-text-muted);
}

.lumiere-filter__pills {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
}

.lumiere-filter__slider {
	padding: var(--gap-2) 0;
}

.lumiere-filter__slider-track {
	position: relative;
	height: 4px;
	background: var(--lumiere-border);
	border-radius: var(--radius-pill);
	margin: 16px 8px;
}

.lumiere-filter__slider-fill {
	position: absolute;
	left: 0%;
	right: 0%;
	height: 100%;
	background: var(--lumiere-gold);
	border-radius: var(--radius-pill);
}

.lumiere-filter__slider-thumb {
	position: absolute;
	top: 50%;
	width: 16px;
	height: 16px;
	background: var(--lumiere-gold);
	border-radius: 50%;
	transform: translate(-50%, -50%);
	cursor: pointer;
	box-shadow: 0 2px 8px var(--lumiere-gold-glow);
}

.lumiere-filter__price-range {
	display: flex;
	justify-content: space-between;
	font-size: 0.75rem;
	color: var(--lumiere-text-muted);
}

.lumiere-filter__price-inputs {
	display: flex;
	align-items: center;
	gap: 8px;
	margin-top: var(--gap-2);
}

.lumiere-filter__price-field {
	flex: 1;
	display: flex;
}

.lumiere-filter__price-field input {
	width: 100%;
	min-width: 0;
	padding: 6px 8px;
	font-size: 0.8125rem;
	font-family: var(--font-body);
	color: var(--lumiere-text);
	background: var(--lumiere-bg);
	border: 1px solid var(--lumiere-border);
	border-radius: var(--radius-sm);
	transition: border-color var(--transition-fast);
}

.lumiere-filter__price-field input:focus {
	outline: none;
	border-color: var(--lumiere-gold);
	box-shadow: 0 0 0 2px var(--lumiere-gold-glow);
}

.lumiere-filter__price-sep {
	color: var(--lumiere-text-muted);
	font-size: 0.8125rem;
	flex-shrink: 0;
}

.lumiere-filters__clear-bottom {
	margin-top: var(--gap-2);
}

@media (max-width: 767px) {
	.lumiere-filters {
		display: none;
	}

	.lumiere-filters.is-open {
		display: block;
	}
}

/* ========== 29. Pagination (.lumiere-pagination) ========== */
.lumiere-pagination {
	padding: var(--gap-6) 0;
}

.lumiere-pagination__inner {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 4px;
}

.lumiere-pagination__num {
	min-width: 40px;
	height: 40px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: transparent;
	border: 1px solid var(--lumiere-border);
	border-radius: var(--radius-sm);
	color: var(--lumiere-text-muted);
	font-size: 0.875rem;
	cursor: pointer;
	transition: all var(--transition-fast);
	font-family: var(--font-body);
}

.lumiere-pagination__num:hover {
	border-color: var(--lumiere-gold);
	color: var(--lumiere-gold);
}

.lumiere-pagination__num.is-active {
	background: var(--lumiere-gold);
	color: var(--lumiere-bg);
	border-color: var(--lumiere-gold);
}

.lumiere-pagination__arrow {
	min-width: 40px;
	height: 40px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: transparent;
	border: 1px solid var(--lumiere-border);
	border-radius: var(--radius-sm);
	color: var(--lumiere-text-muted);
	cursor: pointer;
	transition: all var(--transition-fast);
}

.lumiere-pagination__arrow i {
	width: 16px;
	height: 16px;
}

.lumiere-pagination__arrow:hover:not(:disabled) {
	border-color: var(--lumiere-gold);
	color: var(--lumiere-gold);
}

.lumiere-pagination__dots {
	color: var(--lumiere-text-muted);
	padding: 0 8px;
}

/* ========== 30. Category Description (.lumiere-cat-desc) ========== */
.lumiere-cat-desc__inner {
	text-align: center;
	max-width: 700px;
	margin: 0 auto;
}

.lumiere-cat-desc__title {
	font-family: var(--font-display);
	font-weight: 300;
	font-size: clamp(1.5rem, 3vw, 2.25rem);
	margin-bottom: var(--gap-3);
}

.lumiere-cat-desc__text {
	color: var(--lumiere-text-muted);
	line-height: 1.8;
	margin-bottom: var(--gap-2);
}

/* ========== 31. Related Categories (.lumiere-related-cats) ========== */
.lumiere-related-cats__title {
	font-family: var(--font-display);
	font-weight: 300;
	font-size: clamp(1.5rem, 3vw, 2.25rem);
	text-align: center;
	margin-bottom: var(--gap-6);
}

.lumiere-related-cats__grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: var(--gap-3);
}

.lumiere-related-cats__card {
	display: block;
	text-decoration: none;
	color: inherit;
	border-radius: var(--radius-lg);
	overflow: hidden;
	background: var(--lumiere-bg-card);
	transition: all var(--transition-base);
	border: 1px solid var(--lumiere-border);
}

.lumiere-related-cats__card:hover {
	transform: translateY(-4px);
	box-shadow: var(--shadow-gold);
	border-color: var(--lumiere-gold);
}

.lumiere-related-cats__card:hover .lumiere-related-cats__image img {
	transform: scale(1.08);
}

.lumiere-related-cats__card:hover .lumiere-related-cats__name {
	color: var(--lumiere-gold);
}

.lumiere-related-cats__card:hover .lumiere-related-cats__link {
	color: var(--lumiere-gold);
	gap: 10px;
}

.lumiere-related-cats__image {
	aspect-ratio: 4/3;
	overflow: hidden;
	background: var(--lumiere-bg-dark);
}

.lumiere-related-cats__image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 600ms cubic-bezier(0.16, 1, 0.3, 1);
}

.lumiere-related-cats__placeholder {
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--lumiere-gold);
}

.lumiere-related-cats__placeholder i {
	width: 48px;
	height: 48px;
	opacity: 0.5;
}

.lumiere-related-cats__info {
	padding: var(--gap-3);
	display: flex;
	flex-direction: column;
	gap: 4px;
}

.lumiere-related-cats__name {
	font-family: var(--font-display);
	font-size: 1.25rem;
	font-weight: 400;
	color: var(--lumiere-text);
	margin: 0;
	transition: color var(--transition-fast);
}

.lumiere-related-cats__price {
	font-family: var(--font-display);
	font-size: 1rem;
	color: var(--lumiere-gold);
	font-weight: 500;
}

.lumiere-related-cats__link {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-size: 0.8125rem;
	color: var(--lumiere-text-muted);
	text-transform: uppercase;
	letter-spacing: 0.08em;
	margin-top: 8px;
	transition: all var(--transition-fast);
}

.lumiere-related-cats__link i {
	width: 14px;
	height: 14px;
}

@media (min-width: 640px) {
	.lumiere-related-cats__grid {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (min-width: 768px) {
	.lumiere-related-cats__grid {
		grid-template-columns: repeat(3, 1fr);
	}
}

/* ========== 32. Product Gallery (.lumiere-gallery) ========== */
.lumiere-gallery__main {
	margin-bottom: var(--gap-2);
}

.lumiere-gallery__image-wrap {
	position: relative;
	aspect-ratio: 1;
	background: var(--lumiere-bg-dark);
	border-radius: var(--radius-lg);
	overflow: hidden;
}

.lumiere-gallery__main-img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: opacity var(--transition-base);
}

.lumiere-gallery__placeholder {
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--lumiere-gold);
}

.lumiere-gallery__placeholder i {
	width: 64px;
	height: 64px;
	opacity: 0.3;
}

.lumiere-gallery__zoom {
	position: absolute;
	bottom: 12px;
	right: 12px;
	width: 40px;
	height: 40px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: rgba(10, 9, 12, 0.6);
	backdrop-filter: blur(8px);
	-webkit-backdrop-filter: blur(8px);
	border: 1px solid var(--lumiere-border);
	border-radius: var(--radius-sm);
	color: var(--lumiere-text);
	cursor: pointer;
	transition: all var(--transition-fast);
	z-index: 2;
}

.lumiere-gallery__zoom:hover {
	background: var(--lumiere-gold);
	color: var(--lumiere-bg);
	border-color: var(--lumiere-gold);
}

.lumiere-gallery__zoom i {
	width: 18px;
	height: 18px;
}

.lumiere-gallery__thumbs {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 12px;
}

.lumiere-gallery__thumb {
	width: 100%;
	aspect-ratio: 1;
	background: var(--lumiere-bg-dark);
	border: 1px solid var(--lumiere-border);
	border-radius: var(--radius-sm);
	overflow: hidden;
	cursor: pointer;
	padding: 0;
	transition: all var(--transition-fast);
}

.lumiere-gallery__thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.lumiere-gallery__thumb.is-active {
	border-color: var(--lumiere-gold);
	box-shadow: 0 0 0 1px var(--lumiere-gold);
}

.lumiere-gallery__thumb:hover {
	border-color: var(--lumiere-gold);
}

/* ========== 33. Product Info (.lumiere-pdp-info) ========== */
.lumiere-pdp-info__category {
	margin-bottom: 8px;
}

.lumiere-pdp-info__title {
	font-family: var(--font-display);
	font-weight: 300;
	font-size: clamp(2rem, 4vw, 3rem);
	line-height: 1.1;
	margin-bottom: 12px;
}

.lumiere-pdp-info__rating {
	display: flex;
	align-items: center;
	gap: 8px;
	margin-bottom: var(--gap-2);
}

.lumiere-pdp-info__rating .star-rating i {
	width: 16px;
	height: 16px;
}

.lumiere-pdp-info__rating-num {
	font-family: var(--font-display);
	color: var(--lumiere-gold);
	font-size: 1rem;
}

.lumiere-pdp-info__reviews {
	font-size: 0.875rem;
	color: var(--lumiere-text-muted);
	text-decoration: underline;
	transition: color var(--transition-fast);
}

.lumiere-pdp-info__reviews:hover {
	color: var(--lumiere-gold);
}

.lumiere-pdp-info__price-row {
	display: flex;
	flex-direction: column;
	gap: 8px;
	margin-bottom: var(--gap-2);
}

.lumiere-pdp-info__price {
	font-size: 2rem;
}

.lumiere-pdp-info__financing {
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: 0.8125rem;
	color: var(--lumiere-text-muted);
}

.lumiere-pdp-info__desc {
	color: var(--lumiere-text-muted);
	line-height: 1.8;
	margin-bottom: var(--gap-3);
}

.lumiere-pdp-info__option {
	margin-bottom: var(--gap-3);
}

.lumiere-pdp-info__option-label {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 12px;
}

.lumiere-pdp-info__option-label > span {
	font-size: 0.875rem;
	font-weight: 500;
	text-transform: uppercase;
	letter-spacing: 0.08em;
}

.lumiere-pdp-info__option-value {
	font-size: 0.8125rem;
	color: var(--lumiere-gold);
}

.lumiere-pdp-info__size-guide {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	font-size: 0.75rem;
	color: var(--lumiere-text-muted);
	text-decoration: none;
	transition: color var(--transition-fast);
}

.lumiere-pdp-info__size-guide:hover {
	color: var(--lumiere-gold);
}

.lumiere-pdp-info__size-guide i {
	width: 12px;
	height: 12px;
}

.lumiere-pdp-info__pills {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.lumiere-pdp-info__pill-surcharge {
	font-size: 0.6875rem;
	color: var(--lumiere-text-muted);
	margin-left: 4px;
}

.variant-pill.is-active .lumiere-pdp-info__pill-surcharge {
	color: var(--lumiere-gold);
}

.lumiere-pdp-info__pill-price {
	font-size: 0.6875rem;
	margin-left: 4px;
}

.variant-pill.is-active .lumiere-pdp-info__pill-price {
	color: inherit;
}

.lumiere-pdp-info__pills--size {
	gap: 6px;
}

.lumiere-pdp-info__free-sizing {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-size: 0.75rem;
	color: var(--lumiere-text-muted);
	margin-top: 8px;
}

.lumiere-pdp-info__free-sizing i {
	width: 14px;
	height: 14px;
	color: var(--lumiere-gold);
}

.lumiere-pdp-info__actions {
	display: flex;
	gap: 8px;
	margin-bottom: var(--gap-3);
}

.lumiere-pdp-info__qty {
	display: flex;
	align-items: center;
	border: 1px solid var(--lumiere-border);
	border-radius: var(--radius-sm);
}

.lumiere-pdp-info__qty-btn {
	width: 44px;
	height: 48px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: transparent;
	border: none;
	color: var(--lumiere-text);
	cursor: pointer;
	transition: color var(--transition-fast);
}

.lumiere-pdp-info__qty-btn:hover {
	color: var(--lumiere-gold);
}

.lumiere-pdp-info__qty-btn i {
	width: 16px;
	height: 16px;
}

.lumiere-pdp-info__qty-num {
	min-width: 40px;
	text-align: center;
	font-family: var(--font-display);
	font-size: 1.125rem;
}

.lumiere-pdp-info__add-bag {
	flex: 1;
	height: 48px;
}

/* WooCommerce ajax_add_to_cart button states.
   .loading  — AJAX in flight (WC adds this class on click).
   .added    — AJAX succeeded (WC adds this class on success).
   WC also inserts an <a class="added_to_cart wc-forward">View cart</a>
   link after the button; we hide it because the header cart count
   already updates via fragments, and a full-width "Added" state on the
   button itself gives clearer feedback. */
.lumiere-pdp-info__add-bag.loading {
	opacity: 0.65;
	pointer-events: none;
}

.lumiere-pdp-info__add-bag.added {
	background: var(--lumiere-success, #5A7A5E);
	color: var(--lumiere-bg);
}

.lumiere-pdp-info__add-bag.added span::after {
	content: ' \2713';
}

/* Hide WC's auto-inserted "View cart" link — the header cart badge already
   reflects the updated count, and the button's .added state provides
   immediate visual confirmation. */
.lumiere-pdp-info__actions .added_to_cart {
	display: none !important;
}

.lumiere-pdp-info__wishlist {
	width: 48px;
	height: 48px;
	display: flex;
	align-items: center;
	justify-content: center;
	border: 1px solid var(--lumiere-border);
	border-radius: var(--radius-sm);
	background: transparent;
	color: var(--lumiere-text);
	cursor: pointer;
	transition: all var(--transition-fast);
}

.lumiere-pdp-info__wishlist i {
	width: 20px;
	height: 20px;
}

.lumiere-pdp-info__wishlist:hover {
	color: var(--lumiere-gold);
	border-color: var(--lumiere-gold);
}

.lumiere-pdp-info__wishlist.is-wishlisted {
	color: #B76E79;
	border-color: #B76E79;
}

.lumiere-pdp-info__trust {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: var(--gap-2);
}

.lumiere-pdp-info__trust-item {
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: 0.75rem;
	color: var(--lumiere-text-muted);
}

.lumiere-pdp-info__trust-item i {
	width: 16px;
	height: 16px;
	color: var(--lumiere-gold);
}

/* ========== 34. Product Tabs (.lumiere-tabs) ========== */
.lumiere-tabs__nav {
	display: flex;
	gap: 0;
	border-bottom: 1px solid var(--lumiere-border);
	overflow-x: auto;
	scrollbar-width: none;
	-ms-overflow-style: none;
	-webkit-overflow-scrolling: touch;
}

.lumiere-tabs__nav::-webkit-scrollbar {
	display: none;
}

.lumiere-tabs__nav-btn {
	padding: var(--gap-2) var(--gap-3);
	background: none;
	border: none;
	border-bottom: 2px solid transparent;
	font-family: var(--font-body);
	font-size: 0.875rem;
	font-weight: 500;
	color: var(--lumiere-text-muted);
	cursor: pointer;
	white-space: nowrap;
	transition: all var(--transition-fast);
	text-transform: uppercase;
	letter-spacing: 0.05em;
}

.lumiere-tabs__nav-btn:hover {
	color: var(--lumiere-text);
}

.lumiere-tabs__nav-btn.is-active {
	color: var(--lumiere-gold);
	border-bottom-color: var(--lumiere-gold);
}

.lumiere-tabs__count {
	font-size: 0.75rem;
	color: var(--lumiere-text-muted);
}

.lumiere-tabs__panels {
	padding-top: var(--gap-4);
}

.lumiere-tabs__panel {
	display: none;
}

.lumiere-tabs__panel.is-active {
	display: block;
}

.lumiere-tabs__desc-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: var(--gap-4);
}

.lumiere-tabs__desc-text h3 {
	font-family: var(--font-display);
	font-weight: 300;
	font-size: 1.75rem;
	margin-bottom: var(--gap-2);
}

.lumiere-tabs__desc-text p {
	color: var(--lumiere-text-muted);
	line-height: 1.8;
	margin-bottom: var(--gap-2);
}

.lumiere-tabs__desc-images {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 12px;
}

.lumiere-tabs__desc-img {
	aspect-ratio: 1;
	background: var(--lumiere-bg-dark);
	border-radius: var(--radius-md);
	overflow: hidden;
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--lumiere-gold);
}

.lumiere-tabs__desc-img i {
	width: 48px;
	height: 48px;
	opacity: 0.3;
}

.lumiere-tabs__desc-img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.lumiere-tabs__specs-list {
	border-top: 1px solid var(--lumiere-border);
}

.lumiere-tabs__spec-row {
	display: flex;
	justify-content: space-between;
	padding: 12px 0;
	border-bottom: 1px solid var(--lumiere-border);
}

.lumiere-tabs__spec-label {
	font-size: 0.875rem;
	color: var(--lumiere-text-muted);
}

.lumiere-tabs__spec-value {
	font-size: 0.875rem;
	color: var(--lumiere-text);
}

.lumiere-tabs__shipping h4 {
	font-size: 0.875rem;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	color: var(--lumiere-gold);
	margin: var(--gap-3) 0 12px;
}

.lumiere-tabs__shipping h4:first-child {
	margin-top: 0;
}

.lumiere-tabs__shipping p {
	color: var(--lumiere-text-muted);
	line-height: 1.8;
}

.lumiere-tabs__reviews-layout {
	display: grid;
	grid-template-columns: 1fr;
	gap: var(--gap-4);
}

.lumiere-tabs__reviews-summary {
	text-align: center;
}

.lumiere-tabs__rating-big {
	font-family: var(--font-display);
	font-size: 3rem;
	font-weight: 300;
	color: var(--lumiere-gold);
	line-height: 1;
}

.lumiere-tabs__reviews-summary .star-rating {
	justify-content: center;
	margin: 8px 0;
}

.lumiere-tabs__reviews-summary .star-rating i {
	width: 18px;
	height: 18px;
}

.lumiere-tabs__reviews-summary p {
	color: var(--lumiere-text-muted);
	font-size: 0.875rem;
	margin-bottom: var(--gap-3);
}

.lumiere-tabs__rating-bars {
	margin-bottom: var(--gap-3);
}

.lumiere-tabs__rating-bar {
	display: flex;
	align-items: center;
	gap: 8px;
	margin: 6px 0;
}

.lumiere-tabs__rating-bar > span:first-child {
	width: 24px;
	font-size: 0.75rem;
	color: var(--lumiere-text-muted);
}

.lumiere-tabs__bar-track {
	flex: 1;
	height: 4px;
	background: var(--lumiere-border);
	border-radius: var(--radius-pill);
}

.lumiere-tabs__bar-fill {
	height: 100%;
	background: var(--lumiere-gold);
	border-radius: var(--radius-pill);
}

.lumiere-tabs__rating-bar > span:last-child {
	width: 24px;
	text-align: right;
	font-size: 0.75rem;
	color: var(--lumiere-text-muted);
}

.lumiere-tabs__review-item {
	padding: var(--gap-3) 0;
	border-bottom: 1px solid var(--lumiere-border);
}

.lumiere-tabs__review-item:last-child {
	border-bottom: none;
}

.lumiere-tabs__review-header {
	display: flex;
	align-items: center;
	gap: 8px;
	flex-wrap: wrap;
	margin-bottom: 8px;
}

.lumiere-tabs__review-header .star-rating i {
	width: 14px;
	height: 14px;
}

.lumiere-tabs__review-author {
	font-weight: 500;
}

.lumiere-tabs__review-date {
	font-size: 0.75rem;
	color: var(--lumiere-text-muted);
}

.lumiere-tabs__verified {
	font-size: 0.625rem;
	color: var(--lumiere-gold);
	border: 1px solid var(--lumiere-gold);
	padding: 2px 6px;
	border-radius: var(--radius-sm);
	text-transform: uppercase;
	letter-spacing: 0.05em;
}

.lumiere-tabs__review-item h5 {
	font-family: var(--font-display);
	font-size: 1.125rem;
	font-weight: 500;
	margin: 8px 0;
}

.lumiere-tabs__review-item p {
	color: var(--lumiere-text-muted);
	line-height: 1.7;
}

/* ========== 35. Brand Value Strip (.lumiere-value-strip) ========== */
.lumiere-value-strip__grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: var(--gap-3);
}

.lumiere-value-strip__item {
	display: flex;
	gap: 12px;
	align-items: flex-start;
	border-right: 1px solid var(--lumiere-border);
	padding-right: var(--gap-3);
}

.lumiere-value-strip__item:last-child {
	border-right: none;
	padding-right: 0;
}

.lumiere-value-strip__icon {
	width: 48px;
	height: 48px;
	flex-shrink: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	border: 1px solid var(--lumiere-border);
	border-radius: var(--radius-sm);
	color: var(--lumiere-gold);
}

.lumiere-value-strip__icon i {
	width: 22px;
	height: 22px;
}

.lumiere-value-strip__text h4 {
	font-family: var(--font-display);
	font-size: 1rem;
	font-weight: 500;
	margin: 0 0 4px;
}

.lumiere-value-strip__text p {
	font-size: 0.75rem;
	color: var(--lumiere-text-muted);
	margin: 0;
}

/* ========== 36. Related Products (.lumiere-related) ========== */
.lumiere-related__header {
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	margin-bottom: var(--gap-6);
}

.lumiere-related__title {
	font-family: var(--font-display);
	font-weight: 300;
	font-size: clamp(1.75rem, 3.5vw, 2.75rem);
	margin: 0;
}

.lumiere-related__grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: var(--gap-3);
}

/* ========== Responsive ========== */
@media (min-width: 768px) {
	.lumiere-tabs__desc-grid {
		grid-template-columns: 1fr 1fr;
	}

	.lumiere-value-strip__grid {
		grid-template-columns: repeat(4, 1fr);
	}

	.lumiere-value-strip__item {
		border-right: 1px solid var(--lumiere-border);
		padding-right: var(--gap-3);
	}

	.lumiere-value-strip__item:last-child {
		border-right: none;
		padding-right: 0;
	}
}

@media (max-width: 767px) {
	.lumiere-value-strip__item {
		border-right: none;
		padding-right: 0;
	}

	.lumiere-value-strip__item:nth-child(odd) {
		border-right: 1px solid var(--lumiere-border);
		padding-right: var(--gap-3);
	}

	.lumiere-value-strip__item:nth-child(even) {
		padding-left: var(--gap-3);
	}
}

@media (min-width: 1024px) {
	.lumiere-tabs__reviews-layout {
		grid-template-columns: 280px 1fr;
	}

	.lumiere-tabs__reviews-summary {
		text-align: left;
	}

	.lumiere-tabs__reviews-summary .star-rating {
		justify-content: flex-start;
	}

	.lumiere-related__grid {
		grid-template-columns: repeat(4, 1fr);
	}
}

/* ========== 37. Story Hero (.lumiere-story-hero) ========== */
.lumiere-story-hero {
	min-height: 100vh;
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative;
	overflow: hidden;
	padding: var(--gap-6) 0;
	padding-top: calc(var(--gap-8) + 108px);
}

.lumiere-story-hero__bg {
	position: absolute;
	inset: 0;
	z-index: 0;
}

.lumiere-story-hero__bg img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.lumiere-story-hero__overlay {
	position: absolute;
	inset: 0;
	background: linear-gradient(to bottom, rgba(10, 9, 12, 0.4) 0%, rgba(10, 9, 12, 0.6) 40%, var(--lumiere-bg) 100%);
}

.lumiere-story-hero__content {
	position: relative;
	z-index: 1;
	text-align: center;
	max-width: 700px;
	margin: 0 auto;
}

.lumiere-story-hero__title {
	font-family: var(--font-display);
	font-weight: 300;
	font-size: clamp(2.5rem, 6vw, 4.5rem);
	line-height: 1.05;
	margin-bottom: var(--gap-3);
}

.lumiere-story-hero__desc {
	color: var(--lumiere-text-muted);
	font-size: 1.125rem;
	line-height: 1.8;
	margin-bottom: var(--gap-4);
}

.lumiere-story-hero__scroll-indicator {
	position: absolute;
	bottom: 40px;
	left: 50%;
	transform: translateX(-50%);
	color: var(--lumiere-gold);
	animation: lumiere-bounce 2s infinite;
}

.lumiere-story-hero__scroll-indicator i {
	width: 24px;
	height: 24px;
}

@keyframes lumiere-bounce {
	0%, 100% {
		transform: translateY(0) translateX(-50%);
	}
	50% {
		transform: translateY(8px) translateX(-50%);
	}
}

/* ========== 38. Heritage Timeline (.lumiere-timeline) ========== */
.lumiere-timeline__list {
	position: relative;
	max-width: 900px;
	margin: 0 auto;
}

.lumiere-timeline__list::before {
	content: '';
	position: absolute;
	left: 80px;
	top: 0;
	bottom: 0;
	width: 1px;
	background: linear-gradient(to bottom, transparent, var(--lumiere-gold) 10%, var(--lumiere-gold) 90%, transparent);
}

.lumiere-timeline__item {
	display: grid;
	grid-template-columns: 80px 24px 1fr;
	gap: var(--gap-3);
	margin-bottom: var(--gap-6);
	position: relative;
}

.lumiere-timeline__item:last-child {
	margin-bottom: 0;
}

.lumiere-timeline__year {
	font-family: var(--font-display);
	font-size: 1.75rem;
	font-weight: 300;
	color: var(--lumiere-gold);
	text-align: right;
}

.lumiere-timeline__dot {
	width: 12px;
	height: 12px;
	background: var(--lumiere-gold);
	border-radius: 50%;
	border: 3px solid var(--lumiere-bg);
	box-shadow: 0 0 0 1px var(--lumiere-gold);
	position: relative;
	z-index: 1;
	margin-top: 8px;
}

.lumiere-timeline__content h3 {
	font-family: var(--font-display);
	font-size: 1.25rem;
	font-weight: 500;
	margin: 0 0 8px;
}

.lumiere-timeline__content p {
	color: var(--lumiere-text-muted);
	line-height: 1.7;
	margin: 0;
	font-size: 0.9375rem;
}

@media (min-width: 768px) {
	.lumiere-timeline__list::before {
		left: 50%;
	}

	.lumiere-timeline__item {
		grid-template-columns: 1fr 24px 1fr;
		gap: 0;
		align-items: center;
	}

	.lumiere-timeline__item:nth-child(odd) .lumiere-timeline__year {
		text-align: right;
		padding-right: var(--gap-4);
	}

	.lumiere-timeline__item:nth-child(odd) .lumiere-timeline__content {
		padding-left: var(--gap-4);
	}

	.lumiere-timeline__item:nth-child(even) {
		direction: rtl;
	}

	.lumiere-timeline__item:nth-child(even) .lumiere-timeline__year {
		text-align: left;
		padding-left: var(--gap-4);
	}

	.lumiere-timeline__item:nth-child(even) .lumiere-timeline__dot {
		direction: ltr;
	}

	.lumiere-timeline__item:nth-child(even) .lumiere-timeline__content {
		direction: ltr;
		padding-right: var(--gap-4);
		text-align: right;
	}
}

/* ========== 39. Craftsmanship Values (.lumiere-values) ========== */
.lumiere-values__grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: var(--gap-3);
}

.lumiere-values__item {
	text-align: center;
	padding: var(--gap-4);
}

.lumiere-values__icon {
	width: 64px;
	height: 64px;
	margin: 0 auto var(--gap-3);
	display: flex;
	align-items: center;
	justify-content: center;
	border: 1px solid var(--lumiere-gold);
	border-radius: 50%;
	color: var(--lumiere-gold);
	transition: all var(--transition-base);
}

.lumiere-values__icon i {
	width: 28px;
	height: 28px;
}

.lumiere-values__item:hover .lumiere-values__icon {
	background: var(--lumiere-gold);
	color: var(--lumiere-bg);
}

.lumiere-values__title {
	font-family: var(--font-display);
	font-size: 1.25rem;
	font-weight: 500;
	margin: 0 0 12px;
}

.lumiere-values__desc {
	color: var(--lumiere-text-muted);
	line-height: 1.7;
	font-size: 0.875rem;
	margin: 0;
}

@media (min-width: 640px) {
	.lumiere-values__grid {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (min-width: 1024px) {
	.lumiere-values__grid {
		grid-template-columns: repeat(4, 1fr);
	}
}

/* ========== 40. Founder Quote (.lumiere-founder) ========== */
.lumiere-founder__inner {
	display: grid;
	grid-template-columns: 1fr;
	gap: var(--gap-4);
	padding: var(--gap-4);
}

.lumiere-founder__portrait {
	aspect-ratio: 3/4;
	border-radius: var(--radius-lg);
	overflow: hidden;
	background: var(--lumiere-bg-dark);
	position: relative;
}

.lumiere-founder__portrait img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.lumiere-founder__portrait::after {
	content: '';
	position: absolute;
	inset: 0;
	background: linear-gradient(135deg, transparent 40%, rgba(197, 164, 118, 0.1) 100%);
}

.lumiere-founder__quote-icon {
	width: 48px;
	height: 48px;
	color: var(--lumiere-gold);
	opacity: 0.3;
	margin-bottom: var(--gap-2);
}

.lumiere-founder__quote {
	font-family: var(--font-display);
	font-style: italic;
	font-size: clamp(1.25rem, 2.5vw, 1.75rem);
	font-weight: 300;
	line-height: 1.5;
	color: var(--lumiere-text);
	margin: 0 0 var(--gap-4);
}

.lumiere-founder__signoff {
	border-top: 1px solid var(--lumiere-border);
	padding-top: var(--gap-3);
}

.lumiere-founder__name {
	font-family: var(--font-display);
	font-size: 1.125rem;
	font-style: normal;
	font-weight: 500;
	color: var(--lumiere-gold);
	display: block;
	margin-bottom: 4px;
}

.lumiere-founder__title {
	font-size: 0.75rem;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	color: var(--lumiere-text-muted);
}

.lumiere-founder__signature {
	max-height: 40px;
	width: auto;
	margin-bottom: var(--gap-2);
	opacity: 0.8;
}

@media (min-width: 768px) {
	.lumiere-founder__inner {
		grid-template-columns: 1fr 1.5fr;
		gap: var(--gap-6);
		align-items: center;
	}
}

/* ========== 41. Team Gallery / Atelier Mosaic (.lumiere-ateliers) ========== */
.lumiere-ateliers__mosaic {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	grid-auto-rows: 140px;
	gap: 8px;
}

.lumiere-ateliers__img {
	border-radius: var(--radius-md);
	overflow: hidden;
	background: var(--lumiere-bg-dark);
}

.lumiere-ateliers__img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 600ms cubic-bezier(0.16, 1, 0.3, 1);
}

.lumiere-ateliers__img:hover img {
	transform: scale(1.05);
}

@media (min-width: 640px) {
	.lumiere-ateliers__mosaic {
		grid-auto-rows: 180px;
	}
}

@media (min-width: 768px) {
	.lumiere-ateliers__mosaic {
		grid-template-columns: repeat(4, 1fr);
		grid-auto-rows: 200px;
	}

	.lumiere-ateliers__img--1 {
		grid-column: 1;
		grid-row: 1 / 3;
	}

	.lumiere-ateliers__img--2 {
		grid-column: 2;
		grid-row: 1;
	}

	.lumiere-ateliers__img--3 {
		grid-column: 3;
		grid-row: 1 / 3;
	}

	.lumiere-ateliers__img--4 {
		grid-column: 2;
		grid-row: 2;
	}

	.lumiere-ateliers__img--5 {
		grid-column: 4;
		grid-row: 1;
	}

	.lumiere-ateliers__img--6 {
		grid-column: 4;
		grid-row: 2;
	}
}

/* ========== 42. Story CTA Banner (.lumiere-story-cta) ========== */
.lumiere-story-cta {
	padding: var(--gap-10) 0;
	position: relative;
	overflow: hidden;
	text-align: center;
}

.lumiere-story-cta__bg {
	position: absolute;
	inset: 0;
	z-index: 0;
}

.lumiere-story-cta__bg img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.lumiere-story-cta__overlay {
	position: absolute;
	inset: 0;
	background: linear-gradient(to bottom, rgba(10, 9, 12, 0.6), rgba(10, 9, 12, 0.8));
}

.lumiere-story-cta__content {
	position: relative;
	z-index: 1;
	max-width: 600px;
	margin: 0 auto;
}

.lumiere-story-cta__title {
	font-family: var(--font-display);
	font-weight: 300;
	font-size: clamp(2rem, 4.5vw, 3.5rem);
	line-height: 1.08;
	margin-bottom: var(--gap-2);
}

.lumiere-story-cta__desc {
	color: var(--lumiere-text-muted);
	font-size: 1.0625rem;
	line-height: 1.8;
	margin-bottom: var(--gap-4);
}

.lumiere-story-cta__buttons {
	display: flex;
	gap: var(--gap-2);
	justify-content: center;
	flex-wrap: wrap;
}

/* ========== 43. Cart Page (.lumiere-cart-page) ========== */

.lumiere-cart-page {
	padding-top: 130px;
	padding-bottom: 80px;
}

.cart-page-inner {
	max-width: 1400px;
	margin: 0 auto;
	padding: 0 1rem;
}

@media (min-width: 768px) {
	.cart-page-inner { padding: 0 1.5rem; }
}
@media (min-width: 1024px) {
	.cart-page-inner { padding: 0 2rem; }
}

.cart-breadcrumb {
	display: flex;
	align-items: center;
	margin-bottom: 2rem;
}

.cart-breadcrumb .breadcrumb-link {
	font-size: 12px;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--lumiere-ink-tertiary);
	transition: color 0.25s ease;
}
.cart-breadcrumb .breadcrumb-link:hover { color: var(--lumiere-brand); }
.cart-breadcrumb .breadcrumb-sep {
	color: var(--lumiere-ink-tertiary);
	font-size: 10px;
	margin: 0 10px;
}
.cart-breadcrumb .breadcrumb-current {
	font-size: 12px;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--lumiere-ink-secondary);
}

.cart-page-header {
	margin-bottom: 2.5rem;
}
@media (min-width: 768px) {
	.cart-page-header { margin-bottom: 3rem; }
}

.cart-page-title {
	font-size: clamp(36px, 5vw, 56px);
	font-weight: 300;
	line-height: 1.05;
	letter-spacing: -0.02em;
	margin-bottom: 0.75rem;
	color: var(--lumiere-foreground);
}

.cart-page-count {
	font-size: 13px;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--lumiere-ink-secondary);
}

.cart-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 2.5rem;
}
@media (min-width: 1024px) {
	.cart-grid {
		grid-template-columns: 65fr 35fr;
		gap: 3rem;
	}
}

.cart-items-list {
	border-top: 1px solid var(--lumiere-divider);
}

.cart-item {
	display: grid;
	grid-template-columns: 96px 1fr auto;
	gap: 20px;
	padding: 24px 0;
	border-bottom: 1px solid var(--lumiere-divider);
	align-items: start;
}
@media (max-width: 640px) {
	.cart-item {
		grid-template-columns: 80px 1fr;
		gap: 16px;
	}
	.cart-item-actions { grid-column: 2; }
}

.cart-item-thumb {
	display: block;
	width: 96px;
	height: 96px;
	overflow: hidden;
	background: var(--lumiere-surface-2);
	border: 1px solid var(--lumiere-border);
	flex-shrink: 0;
}
@media (max-width: 640px) {
	.cart-item-thumb { width: 80px; height: 80px; }
}
.cart-item-thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.5s ease;
}
.cart-item:hover .cart-item-thumb img { transform: scale(1.05); }

.cart-item-body {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	min-height: 96px;
}

.cart-item-name {
	font-family: var(--lumiere-font-display);
	font-size: 20px;
	font-weight: 400;
	color: var(--lumiere-foreground);
	letter-spacing: -0.01em;
	line-height: 1.2;
	margin-bottom: 4px;
	transition: color 0.25s ease;
}
.cart-item-name:hover { color: var(--lumiere-brand); }

.cart-item-variant {
	font-size: 12px;
	letter-spacing: 0.04em;
	color: var(--lumiere-ink-tertiary);
	margin-bottom: 10px;
}

.cart-item-price {
	font-size: 14px;
	font-weight: 500;
	color: var(--lumiere-foreground);
}

.cart-item-controls {
	display: flex;
	align-items: center;
	gap: 16px;
	margin-top: 12px;
	flex-wrap: wrap;
}

.qty-stepper {
	display: inline-flex;
	align-items: center;
	border: 1px solid var(--lumiere-border);
	height: 36px;
}
.qty-btn {
	width: 36px;
	height: 36px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: transparent;
	border: none;
	color: var(--lumiere-ink-secondary);
	cursor: pointer;
	transition: color 0.2s ease, background 0.2s ease;
	font-size: 14px;
}
.qty-btn:hover {
	color: var(--lumiere-brand);
	background: var(--lumiere-brand-muted);
}
.qty-value {
	width: 36px;
	text-align: center;
	font-size: 13px;
	font-weight: 500;
	color: var(--lumiere-foreground);
	user-select: none;
}

.save-later-link {
	font-size: 11px;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--lumiere-ink-tertiary);
	background: none;
	border: none;
	cursor: pointer;
	padding: 0;
	font-family: var(--lumiere-font-body);
	transition: color 0.25s ease;
	display: inline-flex;
	align-items: center;
	gap: 5px;
}
.save-later-link:hover { color: var(--lumiere-brand); }

.cart-item-actions {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	justify-content: space-between;
	min-height: 96px;
}

.cart-item-line-total {
	font-size: 15px;
	font-weight: 500;
	font-family: var(--lumiere-font-body);
	color: var(--lumiere-foreground);
}

.remove-btn {
	background: transparent;
	border: none;
	color: var(--lumiere-ink-tertiary);
	cursor: pointer;
	padding: 4px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	transition: color 0.25s ease;
}
.remove-btn:hover { color: var(--lumiere-brand); }

/* Saved for Later */
.saved-later-section {
	margin-top: 2.5rem;
	padding-top: 2rem;
	border-top: 1px solid var(--lumiere-divider);
}

.saved-later-title {
	font-size: 11px;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	font-weight: 500;
	margin-bottom: 0.5rem;
	color: var(--lumiere-ink-secondary);
	display: flex;
	align-items: center;
	gap: 8px;
}
.saved-later-title i { color: var(--lumiere-brand); }

.saved-later-list { display: flex; flex-direction: column; }

.saved-item {
	display: grid;
	grid-template-columns: 64px 1fr auto;
	gap: 14px;
	padding: 16px 0;
	align-items: center;
}

.saved-thumb {
	display: block;
	width: 64px;
	height: 64px;
	overflow: hidden;
	background: var(--lumiere-surface-2);
	border: 1px solid var(--lumiere-border);
}
.saved-thumb img { width: 100%; height: 100%; object-fit: cover; }

.saved-item-name {
	display: block;
	font-family: var(--lumiere-font-display);
	font-size: 17px;
	line-height: 1.2;
	color: var(--lumiere-foreground);
}
.saved-item-variant {
	font-size: 11px;
	letter-spacing: 0.04em;
	margin-top: 4px;
	color: var(--lumiere-ink-tertiary);
}
.saved-item-price {
	font-size: 13px;
	font-weight: 500;
	margin-top: 4px;
	color: var(--lumiere-foreground);
}

.saved-item-actions {
	display: flex;
	flex-direction: column;
	gap: 8px;
	align-items: flex-end;
}

.saved-item-move {
	font-size: 10px;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	font-weight: 500;
	padding: 6px 12px;
	color: var(--lumiere-brand);
	border: 1px solid var(--lumiere-brand-muted);
	background: var(--lumiere-brand-muted);
	text-decoration: none;
	transition: border-color 0.25s ease, color 0.25s ease;
}
.saved-item-move:hover { border-color: var(--lumiere-brand); }

/* Cart actions row (continue shopping + promo code) */
.cart-actions-row {
	margin-top: 2.5rem;
	padding-top: 2rem;
	border-top: 1px solid var(--lumiere-divider);
	display: flex;
	flex-direction: column;
	gap: 1.5rem;
}
@media (min-width: 640px) {
	.cart-actions-row {
		flex-direction: row;
		align-items: flex-start;
		justify-content: space-between;
	}
}

.continue-shopping-link {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-size: 12px;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--lumiere-ink-secondary);
	transition: color 0.25s ease;
}
.continue-shopping-link:hover { color: var(--lumiere-brand); }

.promo-code-wrap {
	max-width: 20rem;
	width: 100%;
}

.promo-toggle {
	display: flex;
	align-items: center;
	gap: 8px;
	background: none;
	border: none;
	color: var(--lumiere-ink-secondary);
	font-family: var(--lumiere-font-body);
	font-size: 12px;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	cursor: pointer;
	padding: 0;
	transition: color 0.25s ease;
}
.promo-toggle:hover { color: var(--lumiere-brand); }
.promo-chevron { transition: transform 0.3s ease; }
.promo-toggle.open .promo-chevron { transform: rotate(180deg); }

.promo-panel {
	max-height: 0;
	overflow: hidden;
	transition: max-height 0.4s cubic-bezier(0.3, 0, 0, 1), opacity 0.3s ease, margin 0.3s ease;
	opacity: 0;
}
.promo-panel.open {
	max-height: 200px;
	opacity: 1;
	margin-top: 12px;
}

.applied-coupons {
	list-style: none;
	margin: 0 0 12px;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 6px;
}
.applied-coupon {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 6px 10px;
	background: var(--lumiere-brand-muted);
	border: 1px solid rgba(197, 164, 118, 0.2);
	font-size: 12px;
	letter-spacing: 0.06em;
	color: var(--lumiere-brand);
}
.applied-coupon-remove {
	color: inherit;
	text-decoration: none;
	display: inline-flex;
}

.promo-form { display: flex; gap: 8px; }
.promo-input {
	flex: 1;
	background: var(--lumiere-card);
	color: var(--lumiere-foreground);
	border: 1px solid var(--lumiere-border);
	padding: 10px 14px;
	font-size: 13px;
	font-family: var(--lumiere-font-body);
	outline: none;
	transition: border-color 0.25s ease, box-shadow 0.25s ease;
	text-transform: uppercase;
	letter-spacing: 0.08em;
}
.promo-input:focus {
	border-color: var(--lumiere-brand);
	box-shadow: 0 0 0 1px var(--lumiere-brand);
}
.promo-apply { padding: 10px 20px; font-size: 11px; white-space: nowrap; }

/* Order summary card */
.summary-card {
	background: var(--lumiere-card);
	border: 1px solid var(--lumiere-border);
	padding: 32px;
	position: sticky;
	top: 120px;
}
@media (max-width: 1023px) {
	.summary-card { position: static; padding: 24px; }
}

.summary-card-title {
	font-size: 24px;
	font-weight: 300;
	letter-spacing: -0.01em;
	margin-bottom: 1.5rem;
	color: var(--lumiere-foreground);
}

.summary-row {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 10px 0;
	font-size: 13px;
}
.summary-label {
	color: var(--lumiere-ink-secondary);
	letter-spacing: 0.02em;
}
.summary-value {
	color: var(--lumiere-foreground);
	font-weight: 500;
}
.summary-value-free {
	color: var(--lumiere-brand);
	font-weight: 500;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	font-size: 12px;
}
.summary-value-discount { color: var(--lumiere-brand); }

.summary-row-tax { padding-bottom: 6px; }
.summary-tax-note {
	font-size: 10px;
	color: var(--lumiere-ink-tertiary);
	padding-bottom: 1rem;
}

.divider-gold {
	height: 1px;
	background: linear-gradient(90deg, transparent, var(--lumiere-brand) 20%, var(--lumiere-brand) 80%, transparent);
	border: none;
	margin: 0.5rem 0;
}

.summary-total-row {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	padding: 1.25rem 0;
}
.summary-total-label {
	font-size: 13px;
	letter-spacing: 0.04em;
	color: var(--lumiere-foreground);
}
.summary-total-value {
	font-size: 32px;
	font-weight: 300;
	letter-spacing: -0.02em;
	color: var(--lumiere-brand);
}

.klarna-msg {
	font-size: 12px;
	text-align: center;
	padding: 1.25rem 0;
	line-height: 1.5;
	color: var(--lumiere-ink-secondary);
}
.klarna-msg strong { color: var(--lumiere-brand); font-weight: 500; }

/* Button primary — gold CTA used in cart summary */
.btn-primary {
	background: var(--lumiere-gold);
	color: var(--lumiere-bg);
	padding: 14px 28px;
	font-family: var(--font-body);
	font-weight: 500;
	font-size: 12px;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	border: none;
	cursor: pointer;
	transition: background-color 0.2s cubic-bezier(0.2, 0.8, 0.2, 1),
	            transform 0.2s cubic-bezier(0.2, 0.8, 0.2, 1);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	text-decoration: none;
}
.btn-primary:hover {
	background: var(--lumiere-gold-hover);
	transform: translateY(-1px);
}

.summary-checkout-button {
	width: 100%;
	padding: 16px 28px;
	font-size: 12px;
	letter-spacing: 0.14em;
	text-decoration: none;
	margin-bottom: 12px;
}

.btn-paypal {
	width: 100%;
	padding: 14px 28px;
	background: transparent;
	color: var(--lumiere-foreground);
	border: 1px solid var(--lumiere-border);
	font-family: var(--lumiere-font-body);
	font-weight: 500;
	font-size: 12px;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	cursor: pointer;
	transition: border-color 0.2s ease, color 0.2s ease;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	margin-bottom: 1.5rem;
	text-decoration: none;
}
.btn-paypal:hover {
	border-color: var(--lumiere-ink-secondary);
	color: var(--lumiere-ink-secondary);
}

.summary-trust-badges {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 12px;
	padding-bottom: 1.5rem;
	border-bottom: 1px solid var(--lumiere-divider);
}

.trust-badge {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 6px;
	font-size: 9px;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--lumiere-ink-tertiary);
}
.trust-badge i { color: var(--lumiere-brand); }

.gift-packaging-note {
	margin-top: 1.5rem;
	display: flex;
	align-items: flex-start;
	gap: 1rem;
}
.gift-packaging-note i { color: var(--lumiere-brand); flex-shrink: 0; }
.gift-packaging-note p {
	font-size: 12px;
	line-height: 1.6;
	font-weight: 300;
	color: var(--lumiere-ink-secondary);
}

/* Cross-sell section */
.cart-crosssell {
	max-width: 1400px;
	margin: 0 auto;
	padding: 5rem 1rem;
}
@media (min-width: 768px) {
	.cart-crosssell { padding: 5rem 1.5rem; }
}
@media (min-width: 1024px) {
	.cart-crosssell { padding: 5rem 2rem; }
}

.crosssell-header {
	text-align: center;
	margin-bottom: 2.5rem;
}
@media (min-width: 768px) {
	.crosssell-header { margin-bottom: 3rem; }
}

.crosssell-eyebrow {
	font-size: 11px;
	letter-spacing: 0.28em;
	text-transform: uppercase;
	font-weight: 500;
	color: var(--lumiere-brand);
	margin-bottom: 0.75rem;
}

.crosssell-title {
	font-size: clamp(28px, 4vw, 42px);
	font-weight: 300;
	line-height: 1.1;
	color: var(--lumiere-foreground);
}

.crosssell-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 1.25rem;
}
@media (min-width: 768px) {
	.crosssell-grid {
		grid-template-columns: repeat(4, 1fr);
		gap: 1.5rem;
	}
}

.crosssell-item {
	background: transparent;
	transition: opacity 0.3s ease;
}

/* Trust strip */
.cart-trust-strip {
	background: var(--lumiere-surface-2);
	padding: 4rem 1rem;
}
@media (min-width: 768px) {
	.cart-trust-strip { padding: 5rem 1.5rem; }
}
@media (min-width: 1024px) {
	.cart-trust-strip { padding: 5rem 2rem; }
}

.trust-strip {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 24px;
	max-width: 1400px;
	margin: 0 auto;
}
@media (min-width: 640px) {
	.trust-strip { grid-template-columns: repeat(4, 1fr); }
}

.trust-strip-cell {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	gap: 10px;
}
.trust-strip-cell i { color: var(--lumiere-brand); }
.trust-strip-title {
	font-size: 11px;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	font-weight: 500;
	color: var(--lumiere-foreground);
}
.trust-strip-desc {
	font-size: 11px;
	font-weight: 300;
	color: var(--lumiere-ink-tertiary);
}

/* Empty cart state */
.cart-empty-state {
	text-align: center;
	padding: 4rem 1rem;
	max-width: 480px;
	margin: 0 auto;
}
.cart-empty-icon {
	width: 64px;
	height: 64px;
	margin: 0 auto 1.5rem;
	color: var(--lumiere-ink-tertiary);
}
.cart-empty-title {
	font-size: clamp(32px, 5vw, 48px);
	font-weight: 300;
	margin-bottom: 1rem;
	color: var(--lumiere-foreground);
}
.cart-empty-message {
	font-size: 14px;
	color: var(--lumiere-ink-secondary);
	margin-bottom: 2rem;
}
.cart-empty-cta {
	display: inline-flex;
	padding: 14px 28px;
}

/* Icon size helpers for cart/checkout */
.lumiere-cart-page .icon-3,
.lumiere-checkout-page .icon-3 { width: 12px; height: 12px; }
.lumiere-cart-page .icon-3-5,
.lumiere-checkout-page .icon-3-5 { width: 14px; height: 14px; }
.lumiere-cart-page .icon-4,
.lumiere-checkout-page .icon-4 { width: 16px; height: 16px; }
.lumiere-cart-page .icon-6,
.lumiere-checkout-page .icon-6 { width: 24px; height: 24px; }

/* ========== 44. Checkout Page (.lumiere-checkout-page) ========== */

.lumiere-checkout-page {
	padding-top: 130px;
	padding-bottom: 80px;
}

.checkout-page-inner {
	max-width: 1280px;
	margin: 0 auto;
	padding: 2rem 1rem;
}
@media (min-width: 768px) {
	.checkout-page-inner { padding: 3rem 1.5rem; }
}

.checkout-breadcrumb {
	display: flex;
	align-items: center;
	gap: 8px;
	margin-bottom: 2rem;
}
.checkout-breadcrumb .breadcrumb-link {
	font-size: 12px;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--lumiere-ink-tertiary);
	transition: color 0.2s ease;
	text-decoration: none;
}
.checkout-breadcrumb .breadcrumb-link:hover { color: var(--lumiere-ink-secondary); }
.checkout-breadcrumb .breadcrumb-icon { color: var(--lumiere-ink-tertiary); }
.checkout-breadcrumb .breadcrumb-current {
	font-size: 12px;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--lumiere-brand);
	font-weight: 500;
}

.checkout-page-header {
	text-align: center;
	margin-bottom: 2.5rem;
}

.checkout-eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin-bottom: 1rem;
	color: var(--lumiere-brand);
	font-size: 11px;
	letter-spacing: 0.28em;
	text-transform: uppercase;
	font-weight: 500;
}

.checkout-page-title {
	font-size: clamp(32px, 4vw, 48px);
	font-weight: 300;
	line-height: 1.1;
	letter-spacing: -0.02em;
	color: var(--lumiere-foreground);
}

.progress-stepper {
	display: flex;
	align-items: flex-start;
	justify-content: center;
	margin-bottom: 3rem;
	gap: 0;
}

.step-cell {
	display: flex;
	flex-direction: column;
	align-items: center;
}

.step-circle {
	width: 32px;
	height: 32px;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 12px;
	font-weight: 500;
	transition: all 0.3s ease;
	border: 1px solid var(--lumiere-border);
	background: var(--lumiere-card);
	color: var(--lumiere-ink-tertiary);
}
.step-circle.done {
	background: var(--lumiere-brand);
	border-color: var(--lumiere-brand);
	color: var(--lumiere-brand-foreground);
}
.step-circle.active {
	background: var(--lumiere-brand);
	border-color: var(--lumiere-brand);
	color: var(--lumiere-brand-foreground);
	box-shadow: 0 0 0 4px var(--lumiere-brand-glow);
}

.step-label {
	font-size: 10px;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	font-weight: 500;
	margin-top: 8px;
	white-space: nowrap;
	color: var(--lumiere-ink-tertiary);
}
.step-label-done { color: var(--lumiere-brand); }
.step-label-active { color: var(--lumiere-foreground); }

.stepper-line {
	flex: 1;
	height: 1px;
	background: var(--lumiere-border);
	margin: 16px 8px 0;
	min-width: 60px;
}
.stepper-line.completed { background: var(--lumiere-brand); }

.back-link {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-size: 12px;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--lumiere-ink-secondary);
	transition: color 0.2s ease;
	text-decoration: none;
	font-weight: 500;
	margin-bottom: 1.5rem;
}
.back-link:hover { color: var(--lumiere-brand); }

.checkout-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 32px;
}
@media (min-width: 1024px) {
	.checkout-grid {
		grid-template-columns: 65fr 35fr;
		gap: 40px;
	}
}

.checkout-form-area { display: flex; flex-direction: column; gap: 20px; }

.checkout-section {
	background: var(--lumiere-card);
	border: 1px solid var(--lumiere-border);
	border-radius: var(--lumiere-radius-lg);
	padding: 28px;
}

.section-title {
	font-family: var(--lumiere-font-display);
	font-size: 22px;
	font-weight: 400;
	color: var(--lumiere-foreground);
	margin-bottom: 1.5rem;
	letter-spacing: -0.01em;
}

.checkout-fields {
	display: flex;
	flex-direction: column;
	gap: 1.25rem;
}

.field-grid {
	display: grid;
	gap: 1rem;
}
.field-grid-2 {
	grid-template-columns: 1fr;
}
@media (min-width: 640px) {
	.field-grid-2 { grid-template-columns: 1fr 1fr; }
}

/* WC form field overrides to match luxury design */
.checkout-section .form-row {
	margin: 0;
	padding: 0;
	display: block;
}
.checkout-section label {
	display: block;
	font-size: 11px;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	font-weight: 500;
	color: var(--lumiere-ink-secondary);
	margin-bottom: 8px;
}
.checkout-section label .optional {
	color: var(--lumiere-ink-tertiary);
	font-weight: 400;
	text-transform: none;
	letter-spacing: normal;
	font-size: 11px;
}
.checkout-section .required { color: var(--lumiere-brand); }
.checkout-section input[type="text"],
.checkout-section input[type="email"],
.checkout-section input[type="tel"],
.checkout-section input[type="password"],
.checkout-section input[type="number"],
.checkout-section select,
.checkout-section textarea {
	width: 100%;
	background: var(--lumiere-card);
	color: var(--lumiere-foreground);
	border: 1px solid var(--lumiere-border);
	padding: 14px 16px;
	font-size: 14px;
	font-family: var(--lumiere-font-body);
	outline: none;
	transition: border-color 0.25s ease, box-shadow 0.25s ease;
	border-radius: var(--lumiere-radius-md);
	-webkit-appearance: none;
	appearance: none;
	box-sizing: border-box;
}
.checkout-section input[type="text"]::placeholder,
.checkout-section input[type="email"]::placeholder,
.checkout-section input[type="tel"]::placeholder,
.checkout-section input[type="password"]::placeholder,
.checkout-section input[type="number"]::placeholder {
	color: var(--lumiere-ink-tertiary);
}
.checkout-section input[type="text"]:focus,
.checkout-section input[type="email"]:focus,
.checkout-section input[type="tel"]:focus,
.checkout-section input[type="password"]:focus,
.checkout-section input[type="number"]:focus,
.checkout-section select:focus,
.checkout-section textarea:focus {
	border-color: var(--lumiere-brand);
	box-shadow: 0 0 0 2px var(--lumiere-brand-glow), 0 0 0 1px var(--lumiere-brand);
}
.checkout-section select {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23A39E94' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 14px center;
	padding-right: 40px;
	cursor: pointer;
}

.luxury-checkbox-row {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	font-size: 13px;
	font-weight: 300;
	line-height: 1.5;
	cursor: pointer;
	color: var(--lumiere-ink-secondary);
}

.luxury-checkbox {
	appearance: none;
	-webkit-appearance: none;
	width: 18px;
	height: 18px;
	min-width: 18px;
	margin-top: 2px;
	border: 1px solid var(--lumiere-border);
	background: var(--lumiere-card);
	border-radius: 2px;
	cursor: pointer;
	position: relative;
	transition: border-color 0.2s ease, background 0.2s ease;
	display: inline-flex;
	align-items: center;
	justify-content: center;
}
.luxury-checkbox:checked {
	background: var(--lumiere-brand);
	border-color: var(--lumiere-brand);
}
.luxury-checkbox:checked::after {
	content: "";
	width: 10px;
	height: 6px;
	border-left: 2px solid var(--lumiere-brand-foreground);
	border-bottom: 2px solid var(--lumiere-brand-foreground);
	transform: rotate(-45deg) translateY(-1px);
}

.luxury-radio {
	appearance: none;
	-webkit-appearance: none;
	width: 18px;
	height: 18px;
	min-width: 18px;
	border: 1px solid var(--lumiere-border);
	background: var(--lumiere-card);
	border-radius: 50%;
	cursor: pointer;
	position: relative;
	transition: border-color 0.2s ease;
	display: inline-flex;
	align-items: center;
	justify-content: center;
}
.luxury-radio:checked { border-color: var(--lumiere-brand); }
.luxury-radio:checked::after {
	content: "";
	width: 8px;
	height: 8px;
	background: var(--lumiere-brand);
	border-radius: 50%;
}

.checkout-signin-link {
	font-size: 13px;
	font-weight: 300;
	color: var(--lumiere-ink-secondary);
	padding-top: 0.5rem;
	border-top: 1px solid var(--lumiere-divider);
	margin-top: 0.5rem;
}
.signin-link {
	color: var(--lumiere-brand);
	text-decoration: underline;
	text-underline-offset: 2px;
}

/* Ship different fields */
.ship-different-row {
	margin-top: 0.5rem;
	padding-top: 0.5rem;
	border-top: 1px solid var(--lumiere-divider);
}

.ship-different-fields {
	max-height: 0;
	overflow: hidden;
	transition: max-height 0.4s cubic-bezier(0.2, 0.8, 0.2, 1), opacity 0.3s ease;
	opacity: 0;
}
.ship-different-fields.open {
	max-height: 1200px;
	opacity: 1;
	padding-top: 1rem;
}

.ship-different-fields .field-grid { gap: 1rem; margin-bottom: 1.25rem; }

/* Shipping cards */
.shipping-methods {
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.shipping-card {
	border: 1px solid var(--lumiere-border);
	background: var(--lumiere-card);
	padding: 16px 20px;
	cursor: pointer;
	transition: border-color 0.25s ease, background 0.25s ease;
	border-radius: var(--lumiere-radius-md);
	display: flex;
	align-items: center;
	gap: 14px;
	position: relative;
}
.shipping-card:hover { border-color: var(--lumiere-brand-muted); }
.shipping-card.selected {
	border-color: var(--lumiere-brand);
	background: var(--lumiere-brand-muted);
}
.shipping-card .check-icon {
	position: absolute;
	top: 12px;
	right: 12px;
	opacity: 0;
	transition: opacity 0.2s ease;
	color: var(--lumiere-brand);
}
.shipping-card.selected .check-icon { opacity: 1; }

.shipping-card-body { flex: 1; min-width: 0; }

.shipping-card-row {
	display: flex;
	align-items: center;
	justify-content: space-between;
}
.shipping-card-title {
	font-size: 14px;
	font-weight: 500;
	color: var(--lumiere-foreground);
}
.shipping-card-price {
	font-size: 14px;
	font-weight: 500;
	color: var(--lumiere-foreground);
}
.shipping-card-free {
	color: var(--lumiere-brand);
	letter-spacing: 0.06em;
	text-transform: uppercase;
	font-size: 12px;
}
.shipping-card-desc {
	font-size: 12px;
	margin-top: 4px;
	color: var(--lumiere-ink-tertiary);
}

.shipping-empty-note {
	font-size: 13px;
	color: var(--lumiere-ink-secondary);
}

/* Payment tabs */
.payment-tabs {
	display: flex;
	border-bottom: 1px solid var(--lumiere-border);
	margin-bottom: 1.5rem;
	flex-wrap: wrap;
}

.payment-tab {
	padding: 10px 18px;
	font-size: 12px;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	font-weight: 500;
	color: var(--lumiere-ink-tertiary);
	background: transparent;
	border: none;
	border-bottom: 2px solid transparent;
	cursor: pointer;
	transition: color 0.25s ease, border-color 0.25s ease;
	font-family: var(--lumiere-font-body);
}
.payment-tab:hover { color: var(--lumiere-ink-secondary); }
.payment-tab.active {
	color: var(--lumiere-foreground);
	border-bottom-color: var(--lumiere-brand);
}

.payment-panel { display: none; }
.payment-panel.active { display: block; }

.payment-description {
	padding: 1rem 0;
	color: var(--lumiere-ink-secondary);
	font-size: 14px;
	line-height: 1.6;
}

.payment-empty-note {
	font-size: 13px;
	color: var(--lumiere-ink-secondary);
}

/* WC payment field overrides inside payment panel */
.payment-panel .form-row,
.payment-panel .wc-payment-form {
	margin: 0;
}
.payment-panel input[type="text"],
.payment-panel input[type="tel"],
.payment-panel input[type="email"],
.payment-panel input[type="password"],
.payment-panel select,
.payment-panel textarea {
	width: 100%;
	background: var(--lumiere-card);
	color: var(--lumiere-foreground);
	border: 1px solid var(--lumiere-border);
	padding: 14px 16px;
	font-size: 14px;
	font-family: var(--lumiere-font-body);
	outline: none;
	transition: border-color 0.25s ease, box-shadow 0.25s ease;
	border-radius: var(--lumiere-radius-md);
	box-sizing: border-box;
}
.payment-panel input:focus,
.payment-panel select:focus,
.payment-panel textarea:focus {
	border-color: var(--lumiere-brand);
	box-shadow: 0 0 0 2px var(--lumiere-brand-glow), 0 0 0 1px var(--lumiere-brand);
}
.payment-panel label {
	display: block;
	font-size: 11px;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	font-weight: 500;
	color: var(--lumiere-ink-secondary);
	margin-bottom: 8px;
}
.payment-panel .payment_box { padding: 0; margin: 0; background: transparent; border: none; }
.payment-panel .payment_box p { color: var(--lumiere-ink-secondary); font-size: 13px; }

/* Terms section */
.checkout-section-terms {
	background: transparent;
	border: none;
	padding: 8px 0 0;
}

.terms-row { margin-bottom: 1.25rem; }
.terms-link {
	color: var(--lumiere-brand);
	text-decoration: underline;
	text-underline-offset: 2px;
}

.btn-place-order {
	width: 100%;
	background: var(--lumiere-brand);
	color: var(--lumiere-brand-foreground);
	padding: 0 32px;
	height: 52px;
	font-family: var(--lumiere-font-body);
	font-weight: 600;
	font-size: 13px;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	border: none;
	cursor: pointer;
	transition: background-color 0.25s ease, transform 0.25s ease, box-shadow 0.25s ease;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	border-radius: var(--lumiere-radius-md);
}
.btn-place-order:hover {
	background: var(--lumiere-brand-light);
	transform: translateY(-1px);
	box-shadow: var(--lumiere-shadow-gold);
}
.btn-place-order:active { transform: translateY(0); }
.btn-place-order-amount { font-weight: 500; }

.terms-disclaimer {
	font-size: 11px;
	text-align: center;
	margin-top: 0.75rem;
	line-height: 1.5;
	color: var(--lumiere-ink-tertiary);
}

/* Order summary on checkout */
.order-summary-sticky {
	position: sticky;
	top: 100px;
}
@media (max-width: 1023px) {
	.order-summary-sticky { position: static; }
}

.checkout-summary-card {
	padding: 24px;
}

.summary-card-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 1.25rem;
}

.summary-card-header .summary-card-title {
	font-size: 20px;
	margin-bottom: 0;
}

.edit-cart-link {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	font-size: 11px;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	font-weight: 500;
	color: var(--lumiere-brand);
	text-decoration: none;
	transition: color 0.2s ease;
}
.edit-cart-link:hover { color: var(--lumiere-brand-light); }

.summary-products {
	display: flex;
	flex-direction: column;
	gap: 1rem;
	margin-bottom: 0.5rem;
}

.summary-product {
	display: flex;
	gap: 12px;
}

.summary-thumb {
	width: 60px;
	height: 60px;
	border-radius: var(--lumiere-radius-sm);
	overflow: hidden;
	flex-shrink: 0;
	background: var(--lumiere-surface-2);
	border: 1px solid var(--lumiere-divider);
	display: block;
}
.summary-thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.summary-product-info {
	flex: 1;
	min-width: 0;
}

.summary-product-row {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 8px;
}

.summary-product-name {
	font-size: 13px;
	font-weight: 500;
	line-height: 1.3;
	color: var(--lumiere-foreground);
}

.summary-product-price {
	font-size: 13px;
	font-weight: 500;
	flex-shrink: 0;
	color: var(--lumiere-foreground);
}

.summary-product-variant {
	font-size: 11px;
	margin-top: 4px;
	color: var(--lumiere-ink-tertiary);
}

.gold-divider {
	height: 1px;
	background: linear-gradient(90deg, transparent, var(--lumiere-brand) 15%, var(--lumiere-brand) 85%, transparent);
	border: none;
	margin: 16px 0;
}
.gold-divider-thick {
	height: 2px;
	background: linear-gradient(90deg, transparent, var(--lumiere-brand) 10%, var(--lumiere-brand) 90%, transparent);
	border: none;
	margin: 20px 0;
}

.summary-price-rows {
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.summary-price-row {
	display: flex;
	align-items: center;
	justify-content: space-between;
}
.summary-price-row .summary-label { font-size: 13px; }
.summary-price-row .summary-value { font-size: 13px; }
.summary-price-row-discount .summary-label,
.summary-price-row-discount .summary-value { color: var(--lumiere-brand); }

.discount-strike {
	text-decoration: line-through;
	text-decoration-color: var(--lumiere-brand);
	color: var(--lumiere-ink-tertiary);
}

.summary-total-block {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	margin-bottom: 1rem;
}

.summary-total-block .summary-total-label {
	font-size: 12px;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	font-weight: 500;
	color: var(--lumiere-foreground);
}

.summary-total-right { text-align: right; }

.summary-total-amount {
	font-size: 32px;
	font-weight: 500;
	color: var(--lumiere-brand);
	letter-spacing: -0.02em;
}

.summary-total-note {
	font-size: 11px;
	margin-top: 2px;
	color: var(--lumiere-ink-tertiary);
}

.checkout-summary-card .klarna-msg {
	text-align: left;
	padding: 12px 16px;
	background: var(--lumiere-brand-muted);
	border-radius: var(--lumiere-radius-md);
	border: 1px solid rgba(197, 164, 118, 0.15);
}

.gift-note {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 14px 16px;
	background: rgba(197, 164, 118, 0.06);
	border: 1px solid rgba(197, 164, 118, 0.12);
	border-radius: var(--lumiere-radius-md);
	margin-top: 1rem;
}
.gift-note p {
	font-size: 12px;
	line-height: 1.6;
	color: var(--lumiere-ink-secondary);
}
.gift-note .gold-accent { color: var(--lumiere-brand); }

.secure-badges {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 16px;
	padding-top: 1rem;
	margin-top: 1rem;
	border-top: 1px solid var(--lumiere-divider);
}

.trust-inline {
	display: flex;
	align-items: center;
	gap: 6px;
	font-size: 11px;
	letter-spacing: 0.06em;
	color: var(--lumiere-ink-tertiary);
}
.trust-inline i { color: var(--lumiere-brand); }

/* Empty checkout state */
.checkout-empty-state {
	text-align: center;
	padding: 4rem 1rem;
	max-width: 480px;
	margin: 0 auto;
}
.checkout-empty-icon {
	width: 64px;
	height: 64px;
	margin: 0 auto 1.5rem;
	color: var(--lumiere-ink-tertiary);
}
.checkout-empty-message {
	font-size: 14px;
	color: var(--lumiere-ink-secondary);
	margin-bottom: 2rem;
}
.checkout-empty-cta {
	display: inline-flex;
	padding: 14px 28px;
}

/* ==========================================================================
   Shared helpers for account/auth widgets (sections 45-47)
   These utility classes are scoped to the three account widgets because
   they are not defined globally in theme.css.
   ========================================================================== */
.lumiere-sign-in .font-display,
.lumiere-create-account .font-display,
.lumiere-my-account .font-display { font-family: var(--lumiere-font-display); }

.lumiere-sign-in .icon-3,
.lumiere-create-account .icon-3,
.lumiere-my-account .icon-3 { width: 12px; height: 12px; }
.lumiere-sign-in .icon-3-5,
.lumiere-create-account .icon-3-5,
.lumiere-my-account .icon-3-5 { width: 14px; height: 14px; }
.lumiere-sign-in .icon-4,
.lumiere-create-account .icon-4,
.lumiere-my-account .icon-4 { width: 16px; height: 16px; }
.lumiere-sign-in .icon-5,
.lumiere-create-account .icon-5,
.lumiere-my-account .icon-5 { width: 20px; height: 20px; }
.lumiere-sign-in .icon-6,
.lumiere-create-account .icon-6,
.lumiere-my-account .icon-6 { width: 24px; height: 24px; }

.lumiere-sign-in .luxury-card,
.lumiere-create-account .luxury-card,
.lumiere-my-account .luxury-card {
	background: var(--lumiere-card);
	border: 1px solid var(--lumiere-border);
	border-radius: var(--radius-lg);
	padding: 1.5rem;
}
@media (min-width: 768px) {
	.lumiere-sign-in .luxury-card,
	.lumiere-create-account .luxury-card,
	.lumiere-my-account .luxury-card { padding: 1.75rem; }
}

.lumiere-sign-in .btn-ghost,
.lumiere-create-account .btn-ghost,
.lumiere-my-account .btn-ghost {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	padding: 12px 22px;
	background: transparent;
	color: var(--lumiere-foreground);
	font-family: var(--lumiere-font-body);
	font-weight: 500;
	font-size: 12px;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	border: 1px solid var(--lumiere-border);
	border-radius: var(--radius-sm);
	cursor: pointer;
	text-decoration: none;
	transition: border-color 0.2s ease, color 0.2s ease, background 0.2s ease;
}
.lumiere-my-account .btn-ghost:hover {
	border-color: var(--lumiere-brand);
	color: var(--lumiere-brand);
	background: var(--lumiere-brand-muted);
}

.lumiere-sign-in .btn-text,
.lumiere-create-account .btn-text,
.lumiere-my-account .btn-text {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 10px 18px;
	background: transparent;
	color: var(--lumiere-foreground);
	font-family: var(--lumiere-font-body);
	font-weight: 500;
	font-size: 12px;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	border: 1px solid var(--lumiere-border);
	border-radius: var(--radius-sm);
	cursor: pointer;
	text-decoration: none;
	transition: border-color 0.2s ease, color 0.2s ease;
}
.lumiere-my-account .btn-text:hover {
	border-color: var(--lumiere-brand);
	color: var(--lumiere-brand);
}

.lumiere-sign-in .link-gold,
.lumiere-create-account .link-gold,
.lumiere-my-account .link-gold {
	color: var(--lumiere-brand);
	font-size: 12px;
	letter-spacing: 0.04em;
	text-decoration: none;
	transition: color 0.2s ease;
	display: inline-flex;
	align-items: center;
	gap: 4px;
}
.lumiere-sign-in .link-gold:hover,
.lumiere-create-account .link-gold:hover,
.lumiere-my-account .link-gold:hover { color: var(--lumiere-brand-light); }

.text-gold-shimmer {
	background: linear-gradient(100deg, var(--lumiere-brand) 30%, var(--lumiere-brand-light) 50%, var(--lumiere-brand) 70%);
	background-size: 200% auto;
	-webkit-background-clip: text;
	background-clip: text;
	-webkit-text-fill-color: transparent;
	color: var(--lumiere-brand);
}

/* Shared auth field styles (used by sign-in + create-account) */
.lumiere-sign-in .field-label,
.lumiere-create-account .field-label {
	display: block;
	font-family: var(--lumiere-font-body);
	font-size: 11px;
	font-weight: 500;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--lumiere-ink-secondary);
	margin-bottom: 8px;
}
.lumiere-sign-in .input-wrap,
.lumiere-create-account .input-wrap { position: relative; }
.lumiere-sign-in .field-input,
.lumiere-create-account .field-input {
	width: 100%;
	background: var(--lumiere-card);
	border: 1px solid var(--lumiere-border);
	border-radius: var(--radius-md);
	padding: 14px 44px 14px 16px;
	font-family: var(--lumiere-font-body);
	font-size: 14px;
	font-weight: 300;
	color: var(--lumiere-foreground);
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
}
.lumiere-sign-in .field-input::placeholder,
.lumiere-create-account .field-input::placeholder { color: var(--lumiere-ink-tertiary); }
.lumiere-sign-in .field-input:focus,
.lumiere-create-account .field-input:focus {
	outline: none;
	border-color: var(--lumiere-brand);
	box-shadow: 0 0 0 3px var(--lumiere-brand-glow);
}
.lumiere-sign-in .input-icon-right,
.lumiere-create-account .input-icon-right {
	position: absolute;
	right: 14px;
	top: 50%;
	transform: translateY(-50%);
	background: transparent;
	border: none;
	color: var(--lumiere-ink-tertiary);
	cursor: pointer;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 4px;
	transition: color 0.2s ease;
}
.lumiere-sign-in .input-icon-right:hover,
.lumiere-create-account .input-icon-right:hover { color: var(--lumiere-brand); }

.lumiere-sign-in .custom-check-row,
.lumiere-create-account .custom-check-row {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	cursor: pointer;
	user-select: none;
}
.lumiere-sign-in .custom-check,
.lumiere-create-account .custom-check {
	appearance: none;
	-webkit-appearance: none;
	width: 16px;
	height: 16px;
	min-width: 16px;
	margin-top: 2px;
	border: 1px solid var(--lumiere-border);
	border-radius: var(--radius-sm);
	background: var(--lumiere-card);
	cursor: pointer;
	position: relative;
	transition: background 0.2s ease, border-color 0.2s ease;
}
.lumiere-sign-in .custom-check:checked,
.lumiere-create-account .custom-check:checked {
	background: var(--lumiere-brand);
	border-color: var(--lumiere-brand);
}
.lumiere-sign-in .custom-check:checked::after,
.lumiere-create-account .custom-check:checked::after {
	content: '';
	position: absolute;
	left: 4px;
	top: 1px;
	width: 5px;
	height: 9px;
	border: solid var(--lumiere-brand-foreground);
	border-width: 0 2px 2px 0;
	transform: rotate(45deg);
}
.lumiere-sign-in .custom-check-label,
.lumiere-create-account .custom-check-label {
	font-size: 12px;
	line-height: 1.5;
	font-weight: 300;
	color: var(--lumiere-ink-secondary);
	letter-spacing: 0.02em;
}
.lumiere-sign-in .auth-eyebrow,
.lumiere-create-account .auth-eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-family: var(--lumiere-font-body);
	font-size: 11px;
	font-weight: 500;
	letter-spacing: 0.3em;
	text-transform: uppercase;
	color: var(--lumiere-brand);
	margin-bottom: 1rem;
}
.lumiere-sign-in .auth-heading,
.lumiere-create-account .auth-heading {
	font-size: clamp(2rem, 4vw, 2.75rem);
	font-weight: 300;
	line-height: 1.1;
	color: var(--lumiere-foreground);
	margin-bottom: 0.75rem;
}
.lumiere-sign-in .auth-heading-accent,
.lumiere-create-account .auth-heading-accent {
	font-style: italic;
	color: var(--lumiere-brand);
}
.lumiere-sign-in .auth-subtext,
.lumiere-create-account .auth-subtext {
	font-size: 14px;
	line-height: 1.6;
	color: var(--lumiere-ink-secondary);
	margin-bottom: 1.5rem;
	max-width: 420px;
}
.lumiere-sign-in .auth-notices,
.lumiere-create-account .auth-notices { margin-bottom: 1rem; }
.lumiere-sign-in .auth-notices:empty,
.lumiere-create-account .auth-notices:empty { display: none; }

.lumiere-sign-in .auth-switch,
.lumiere-create-account .auth-switch {
	text-align: center;
	font-size: 13px;
	color: var(--lumiere-ink-secondary);
	margin-top: 1.25rem;
}
.lumiere-sign-in .auth-switch .link-gold,
.lumiere-create-account .auth-switch .link-gold {
	font-weight: 500;
	margin-left: 4px;
}

/* Auth divider (or sign in with email) */
.lumiere-sign-in .auth-divider {
	display: flex;
	align-items: center;
	gap: 16px;
	margin: 1.5rem 0;
}
.lumiere-sign-in .auth-divider::before,
.lumiere-sign-in .auth-divider::after {
	content: '';
	flex: 1;
	height: 1px;
	background: linear-gradient(90deg, transparent, var(--lumiere-border));
}
.lumiere-sign-in .auth-divider::after {
	background: linear-gradient(90deg, var(--lumiere-border), transparent);
}
.lumiere-sign-in .auth-divider span {
	font-size: 11px;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: var(--lumiere-ink-tertiary);
}

/* ========== 45. Sign In Page (.lumiere-sign-in) ========== */

.lumiere-sign-in {
	padding-top: 130px;
	padding-bottom: 80px;
	min-height: 100vh;
}
.login-split {
	max-width: 1400px;
	margin: 0 auto;
	padding: 0 1rem;
	display: grid;
	grid-template-columns: 1fr;
}
@media (min-width: 1024px) {
	.login-split {
		grid-template-columns: 1fr 1fr;
		min-height: calc(100vh - 130px);
	}
}
.lumiere-sign-in .form-side {
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 2rem 1rem;
}
@media (min-width: 1024px) {
	.lumiere-sign-in .form-side { padding: 3rem 2rem; }
}
.lumiere-sign-in .form-wrap {
	width: 100%;
	max-width: 440px;
}
.lumiere-sign-in .social-buttons { display: flex; flex-direction: column; gap: 12px; margin-bottom: 0.5rem; }
.lumiere-sign-in .social-btn {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	width: 100%;
	padding: 13px 16px;
	background: var(--lumiere-card);
	border: 1px solid var(--lumiere-border);
	border-radius: var(--radius-md);
	color: var(--lumiere-foreground);
	font-family: var(--lumiere-font-body);
	font-size: 13px;
	font-weight: 400;
	letter-spacing: 0.02em;
	cursor: not-allowed;
	opacity: 0.55;
	transition: opacity 0.2s ease;
}
.lumiere-sign-in .social-btn:hover { opacity: 0.55; }
.lumiere-sign-in .social-coming-soon {
	text-align: center;
	font-size: 11px;
	color: var(--lumiere-ink-tertiary);
	margin-top: 8px;
	letter-spacing: 0.04em;
}
.lumiere-sign-in .auth-form { display: flex; flex-direction: column; gap: 1.25rem; }
.lumiere-sign-in .form-field { display: flex; flex-direction: column; }
.lumiere-sign-in .form-row-between {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	flex-wrap: wrap;
}
.lumiere-sign-in .btn-signin {
	width: 100%;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	padding: 16px 28px;
	background: var(--lumiere-brand);
	color: var(--lumiere-brand-foreground);
	font-family: var(--lumiere-font-body);
	font-weight: 500;
	font-size: 12px;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	border: none;
	border-radius: var(--radius-sm);
	cursor: pointer;
	transition: background 0.2s ease, transform 0.2s ease;
}
.lumiere-sign-in .btn-signin:hover {
	background: var(--lumiere-brand-light);
	transform: translateY(-1px);
}
.lumiere-sign-in .auth-trust {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	margin-top: 2.5rem;
	padding-top: 1.5rem;
	border-top: 1px solid var(--lumiere-divider);
}
.lumiere-sign-in .auth-trust i { color: var(--lumiere-brand); flex-shrink: 0; margin-top: 2px; }
.lumiere-sign-in .auth-trust p {
	font-size: 11px;
	line-height: 1.6;
	letter-spacing: 0.02em;
	color: var(--lumiere-ink-tertiary);
}

.lumiere-sign-in .auth-logged-in { text-align: center; }
.lumiere-sign-in .auth-logged-in-icon { color: var(--lumiere-brand); margin: 0 auto 1rem; }
.lumiere-sign-in .auth-logged-in-cta { display: inline-flex; margin: 1.5rem auto; }
.lumiere-sign-in .auth-logout-link { display: inline-flex; }

/* Right visual side */
.lumiere-sign-in .visual-side { display: none; position: relative; overflow: hidden; }
@media (min-width: 1024px) {
	.lumiere-sign-in .visual-side { display: block; min-height: 100vh; }
}
.lumiere-sign-in .visual-image {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.lumiere-sign-in .visual-overlay {
	position: absolute;
	inset: 0;
	background: linear-gradient(90deg, rgba(10,9,12,0.55) 0%, rgba(10,9,12,0.25) 50%, rgba(10,9,12,0.65) 100%);
}
.lumiere-sign-in .visual-vignette {
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, transparent 40%, rgba(10,9,12,0.85) 100%);
}
.lumiere-sign-in .visual-content {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	padding: 64px 56px;
}
.lumiere-sign-in .visual-eyebrow {
	font-size: 11px;
	letter-spacing: 0.3em;
	text-transform: uppercase;
	font-weight: 500;
	color: var(--lumiere-brand);
	margin-bottom: 1.25rem;
}
.lumiere-sign-in .visual-blockquote {
	font-style: italic;
	font-weight: 300;
	line-height: 1.2;
	font-size: clamp(24px, 2.4vw, 34px);
	color: var(--lumiere-foreground);
	max-width: 520px;
	margin-bottom: 2rem;
}
.lumiere-sign-in .visual-divider {
	width: 64px;
	height: 1px;
	background: var(--lumiere-brand);
	margin-bottom: 2rem;
}
.lumiere-sign-in .benefit-list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 16px; max-width: 28rem; }
.lumiere-sign-in .benefit-row { display: flex; align-items: flex-start; gap: 12px; }
.lumiere-sign-in .benefit-icon {
	width: 28px;
	height: 28px;
	min-width: 28px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	border: 1px solid var(--lumiere-brand-muted);
	color: var(--lumiere-brand);
	background: var(--lumiere-brand-muted);
}
.lumiere-sign-in .benefit-title { font-size: 13px; font-weight: 500; color: var(--lumiere-foreground); margin-bottom: 2px; }
.lumiere-sign-in .benefit-desc { font-size: 12px; font-weight: 300; line-height: 1.5; color: var(--lumiere-ink-secondary); }

/* ========== 46. Create Account Page (.lumiere-create-account) ========== */

.lumiere-create-account {
	padding-top: 130px;
	padding-bottom: 80px;
	min-height: 100vh;
}
.auth-split {
	max-width: 1400px;
	margin: 0 auto;
	padding: 0 1rem;
	display: grid;
	grid-template-columns: 1fr;
}
@media (min-width: 1024px) {
	.auth-split {
		grid-template-columns: 1fr 1fr;
		min-height: calc(100vh - 130px);
	}
}
.lumiere-create-account .form-side {
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 2rem 1rem;
}
@media (min-width: 1024px) {
	.lumiere-create-account .form-side { padding: 3rem 2rem; }
}
.lumiere-create-account .form-wrap { width: 100%; max-width: 480px; }
.lumiere-create-account .gold-badge {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 6px 12px;
	background: var(--lumiere-brand-muted);
	border: 1px solid rgba(197, 164, 118, 0.25);
	border-radius: var(--radius-pill);
	font-size: 11px;
	letter-spacing: 0.06em;
	font-weight: 500;
	color: var(--lumiere-brand);
	margin-bottom: 1.5rem;
}
.lumiere-create-account .auth-form-card { margin-top: 0.5rem; }
.lumiere-create-account .auth-form { display: flex; flex-direction: column; gap: 1.25rem; }
.lumiere-create-account .form-grid-2 {
	display: grid;
	grid-template-columns: 1fr;
	gap: 1.25rem;
}
@media (min-width: 480px) {
	.lumiere-create-account .form-grid-2 { grid-template-columns: 1fr 1fr; gap: 16px; }
}
.lumiere-create-account .form-field { display: flex; flex-direction: column; }

/* Password strength meter */
.lumiere-create-account .strength-meter { margin-top: 10px; }
.lumiere-create-account .strength-bars { display: flex; gap: 5px; margin-bottom: 6px; }
.lumiere-create-account .strength-segment {
	flex: 1;
	height: 3px;
	background: var(--lumiere-surface-3);
	border-radius: var(--radius-pill);
	transition: background 0.25s ease;
}
.lumiere-create-account .strength-segment.s-weak { background: var(--lumiere-destructive); }
.lumiere-create-account .strength-segment.s-fair { background: #A68B4B; }
.lumiere-create-account .strength-segment.s-good { background: var(--lumiere-brand); }
.lumiere-create-account .strength-segment.s-strong { background: var(--lumiere-brand-light); }
.lumiere-create-account .strength-label {
	font-size: 11px;
	letter-spacing: 0.06em;
	color: var(--lumiere-ink-tertiary);
}
.lumiere-create-account .btn-register {
	width: 100%;
	padding: 16px 28px;
	font-size: 12px;
	letter-spacing: 0.2em;
	margin-top: 0.5rem;
}

/* Right image panel */
.lumiere-create-account .auth-image-panel { display: none; position: relative; overflow: hidden; }
@media (min-width: 1024px) {
	.lumiere-create-account .auth-image-panel { display: block; min-height: 100vh; }
}
.lumiere-create-account .auth-image {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.lumiere-create-account .auth-image-overlay {
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(10,9,12,0.3) 0%, rgba(10,9,12,0.85) 100%);
}
.lumiere-create-account .auth-image-content {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	padding: 56px 48px;
}
.lumiere-create-account .auth-image-eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-size: 11px;
	letter-spacing: 0.3em;
	text-transform: uppercase;
	font-weight: 500;
	color: var(--lumiere-brand);
	margin-bottom: 1rem;
}
.lumiere-create-account .auth-image-heading {
	font-style: italic;
	font-weight: 300;
	font-size: clamp(26px, 3vw, 38px);
	line-height: 1.1;
	color: var(--lumiere-foreground);
	margin-bottom: 1.5rem;
	max-width: 460px;
}
.lumiere-create-account .auth-image-divider {
	width: 80px;
	height: 1px;
	background: var(--lumiere-brand);
	margin-bottom: 1.5rem;
}
.lumiere-create-account .benefit-check-list { list-style: none; margin: 0 0 1.5rem; padding: 0; display: flex; flex-direction: column; gap: 12px; }
.lumiere-create-account .benefit-check { display: flex; align-items: center; gap: 12px; }
.lumiere-create-account .benefit-check-icon {
	width: 20px;
	height: 20px;
	min-width: 20px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	background: var(--lumiere-brand);
	color: var(--lumiere-brand-foreground);
}
.lumiere-create-account .benefit-check-text { font-size: 14px; font-weight: 300; color: var(--lumiere-foreground); }
.lumiere-create-account .auth-image-closing {
	font-style: italic;
	font-size: 13px;
	font-weight: 300;
	color: var(--lumiere-ink-secondary);
	max-width: 380px;
}

/* ========== 47. My Account Page (.lumiere-my-account) ========== */

.lumiere-my-account {
	padding-top: 130px;
	padding-bottom: 80px;
}
.account-page-inner {
	max-width: 1400px;
	margin: 0 auto;
	padding: 2rem 1rem;
}
@media (min-width: 768px) {
	.account-page-inner { padding: 3rem 1.5rem; }
}

.lumiere-my-account .breadcrumb {
	display: flex;
	align-items: center;
	gap: 8px;
	margin-bottom: 2rem;
}
.lumiere-my-account .breadcrumb-link { font-size: 12px; color: var(--lumiere-ink-tertiary); text-decoration: none; transition: color 0.2s ease; }
.lumiere-my-account .breadcrumb-link:hover { color: var(--lumiere-brand); }
.lumiere-my-account .breadcrumb-sep { color: var(--lumiere-ink-tertiary); font-size: 12px; }
.lumiere-my-account .breadcrumb-current { font-size: 12px; color: var(--lumiere-foreground); }

.account-header { margin-bottom: 2.5rem; }
.account-welcome {
	font-size: clamp(2rem, 4vw, 3rem);
	font-weight: 300;
	line-height: 1.15;
	color: var(--lumiere-foreground);
}
.account-welcome-name { font-style: italic; }
.account-subline {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-size: 13px;
	color: var(--lumiere-ink-secondary);
	margin-top: 0.5rem;
}
.account-subline i { color: var(--lumiere-brand); }
.account-subline-sep { color: var(--lumiere-ink-tertiary); }
.account-tier { color: var(--lumiere-brand); font-weight: 500; }

.account-layout {
	display: grid;
	grid-template-columns: 1fr;
	gap: 2rem;
}
@media (min-width: 1024px) {
	.account-layout { grid-template-columns: 300px 1fr; gap: 2.5rem; align-items: start; }
}

.account-sidebar { position: relative; }
@media (min-width: 1024px) {
	.account-sidebar { position: sticky; top: 120px; }
}

.mobile-account-toggle { display: none; }
@media (max-width: 1023px) {
	.mobile-account-toggle {
		display: flex;
		align-items: center;
		gap: 12px;
		width: 100%;
		padding: 16px;
		background: var(--lumiere-card);
		border: 1px solid var(--lumiere-border);
		border-radius: var(--radius-lg);
		color: var(--lumiere-foreground);
		cursor: pointer;
		text-align: left;
	}
	.mobile-account-toggle .account-toggle-avatar {
		width: 36px;
		height: 36px;
		min-width: 36px;
		display: inline-flex;
		align-items: center;
		justify-content: center;
		border-radius: 50%;
		background: linear-gradient(135deg, var(--lumiere-brand), var(--lumiere-brand-dark));
		color: var(--lumiere-brand-foreground);
		font-size: 13px;
		font-weight: 600;
		letter-spacing: 0.04em;
	}
	.mobile-account-toggle .account-toggle-name { flex: 1; font-size: 14px; font-weight: 500; }
	.mobile-account-toggle .account-toggle-chevron { color: var(--lumiere-ink-tertiary); transition: transform 0.25s ease; }
	.mobile-account-toggle[aria-expanded="true"] .account-toggle-chevron { transform: rotate(180deg); }
	.lumiere-my-account .account-card { display: none; margin-top: 12px; }
	.lumiere-my-account .account-card.is-open { display: block; }
}

.account-id { text-align: center; padding-bottom: 1.25rem; }
.account-avatar {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 72px;
	height: 72px;
	border-radius: 50%;
	background: linear-gradient(135deg, var(--lumiere-brand), var(--lumiere-brand-dark));
	color: var(--lumiere-brand-foreground);
	font-family: var(--lumiere-font-display);
	font-size: 26px;
	font-weight: 500;
	letter-spacing: 0.04em;
	margin-bottom: 0.75rem;
}
.account-name { font-size: 16px; font-weight: 500; color: var(--lumiere-foreground); }
.account-email { font-size: 12px; color: var(--lumiere-ink-tertiary); margin-top: 2px; }

.account-nav { display: flex; flex-direction: column; gap: 2px; }
.account-nav-link {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 12px 16px;
	border-left: 2px solid transparent;
	color: var(--lumiere-ink-secondary);
	font-size: 13px;
	font-weight: 400;
	text-decoration: none;
	transition: color 0.2s ease, background 0.2s ease, border-color 0.2s ease;
}
.account-nav-link i { color: inherit; }
.account-nav-link:hover { color: var(--lumiere-foreground); background: var(--lumiere-surface-2); }
.account-nav-link.active {
	color: var(--lumiere-brand);
	border-left-color: var(--lumiere-brand);
	background: var(--lumiere-brand-muted);
	font-weight: 500;
}
.account-nav-link .nav-badge {
	margin-left: auto;
	min-width: 22px;
	height: 22px;
	padding: 0 6px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: var(--radius-pill);
	background: var(--lumiere-brand);
	color: var(--lumiere-brand-foreground);
	font-size: 11px;
	font-weight: 600;
}
.account-nav-link.sign-out { margin-top: auto; color: var(--lumiere-ink-tertiary); }
.account-nav-link.sign-out:hover { color: var(--lumiere-destructive); border-left-color: var(--lumiere-destructive); }

.account-content { display: flex; flex-direction: column; gap: 2rem; }

/* Stat cards */
.stat-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 1rem;
}
@media (min-width: 640px) { .stat-grid { grid-template-columns: 1fr 1fr; } }
@media (min-width: 1280px) { .stat-grid { grid-template-columns: repeat(4, 1fr); } }
.stat-card {
	background: var(--lumiere-card);
	border: 1px solid var(--lumiere-border);
	border-radius: var(--radius-lg);
	padding: 1.5rem;
	transition: border-color 0.2s ease, transform 0.2s ease;
}
.stat-card:hover { border-color: var(--lumiere-brand); transform: translateY(-2px); }
.stat-icon { color: var(--lumiere-brand); margin-bottom: 0.75rem; }
.stat-label {
	font-size: 11px;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--lumiere-ink-tertiary);
	margin-bottom: 0.5rem;
}
.stat-value { font-size: 28px; font-weight: 300; color: var(--lumiere-foreground); line-height: 1.1; }
.stat-footnote { font-size: 11px; color: var(--lumiere-ink-tertiary); margin-top: 0.5rem; }
.tier-bar { height: 4px; background: var(--lumiere-surface-2); border-radius: var(--radius-pill); margin-top: 0.75rem; overflow: hidden; }
.tier-bar-fill { height: 100%; background: linear-gradient(90deg, var(--lumiere-brand-dark), var(--lumiere-brand), var(--lumiere-brand-light)); border-radius: var(--radius-pill); transition: width 0.4s ease; }

/* Recent order card */
.recent-order-card { padding: 1.75rem; }
.recent-order-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 1.5rem; flex-wrap: wrap; }
.recent-order-title { font-size: clamp(1.5rem, 2.5vw, 1.75rem); font-weight: 300; color: var(--lumiere-foreground); }
.recent-order-view-all { font-size: 12px; }
.recent-order-empty { text-align: center; padding: 2rem 1rem; }
.recent-order-empty i { color: var(--lumiere-ink-tertiary); margin: 0 auto 1rem; }
.recent-order-empty p { color: var(--lumiere-ink-secondary); margin-bottom: 1.5rem; }
.recent-order-meta { display: flex; align-items: center; gap: 16px; flex-wrap: wrap; margin-bottom: 1.5rem; padding-bottom: 1.5rem; border-bottom: 1px solid var(--lumiere-divider); }
.recent-order-number { font-size: 14px; font-weight: 500; color: var(--lumiere-foreground); }
.recent-order-date { font-size: 13px; color: var(--lumiere-ink-tertiary); }
.status-badge { display: inline-flex; align-items: center; gap: 6px; padding: 5px 12px; border-radius: var(--radius-pill); font-size: 11px; font-weight: 500; letter-spacing: 0.06em; text-transform: uppercase; }
.status-delivered { background: rgba(90, 122, 94, 0.15); color: var(--lumiere-success); border: 1px solid rgba(90, 122, 94, 0.3); }
.status-processing { background: var(--lumiere-brand-muted); color: var(--lumiere-brand); border: 1px solid rgba(197, 164, 118, 0.3); }
.status-onhold { background: rgba(166, 139, 75, 0.15); color: #A68B4B; border: 1px solid rgba(166, 139, 75, 0.3); }
.status-cancelled { background: rgba(139, 58, 58, 0.15); color: var(--lumiere-destructive); border: 1px solid rgba(139, 58, 58, 0.3); }

.recent-order-items { display: flex; gap: 12px; margin-bottom: 1.5rem; flex-wrap: wrap; }
.recent-order-item { display: flex; align-items: center; gap: 10px; text-decoration: none; }
.recent-order-item-thumb { width: 56px; height: 56px; border-radius: var(--radius-md); overflow: hidden; border: 1px solid var(--lumiere-border); flex-shrink: 0; }
.recent-order-item-thumb img { width: 100%; height: 100%; object-fit: cover; }
.recent-order-item-name { font-size: 12px; color: var(--lumiere-ink-secondary); max-width: 140px; }

.recent-order-total { display: flex; align-items: baseline; justify-content: flex-end; gap: 10px; margin-bottom: 1.5rem; }
.recent-order-total-label { font-size: 12px; letter-spacing: 0.12em; text-transform: uppercase; color: var(--lumiere-ink-tertiary); }
.recent-order-total-value { font-size: 24px; font-weight: 300; color: var(--lumiere-brand); }

.order-progress { display: flex; justify-content: space-between; gap: 8px; margin-bottom: 1.5rem; position: relative; }
.order-progress::before {
	content: '';
	position: absolute;
	top: 16px;
	left: 16px;
	right: 16px;
	height: 1px;
	background: var(--lumiere-divider);
	z-index: 0;
}
.progress-step { display: flex; flex-direction: column; align-items: center; gap: 8px; position: relative; z-index: 1; flex: 1; }
.progress-dot {
	width: 32px;
	height: 32px;
	border-radius: 50%;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: var(--lumiere-surface-2);
	border: 1px solid var(--lumiere-border);
	color: var(--lumiere-ink-tertiary);
	font-size: 12px;
	font-weight: 500;
}
.progress-step.is-done .progress-dot { background: var(--lumiere-brand); border-color: var(--lumiere-brand); color: var(--lumiere-brand-foreground); }
.progress-label { font-size: 10px; letter-spacing: 0.08em; text-transform: uppercase; color: var(--lumiere-ink-tertiary); text-align: center; }
.progress-step.is-done .progress-label { color: var(--lumiere-foreground); }

.recent-order-actions { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; padding-top: 1rem; border-top: 1px solid var(--lumiere-divider); }

/* Split row: wishlist + appointment */
.account-split { display: grid; grid-template-columns: 1fr; gap: 2rem; }
@media (min-width: 1024px) { .account-split { grid-template-columns: 1fr 1fr; } }

.wishlist-preview-card { padding: 1.75rem; }
.wishlist-preview-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 1.25rem; }
.wishlist-preview-title { font-size: clamp(1.25rem, 2vw, 1.5rem); font-weight: 300; color: var(--lumiere-foreground); }
.wishlist-empty { text-align: center; padding: 1.5rem 0.5rem; }
.wishlist-empty i { color: var(--lumiere-ink-tertiary); margin: 0 auto 0.75rem; }
.wishlist-empty p { color: var(--lumiere-ink-secondary); margin-bottom: 1.25rem; }
.wishlist-items { display: flex; flex-direction: column; }
.wishlist-item { display: flex; align-items: center; gap: 14px; padding: 14px 0; border-bottom: 1px solid var(--lumiere-divider); }
.wishlist-item:last-child { border-bottom: none; }
.wishlist-item-thumb { width: 56px; height: 56px; border-radius: var(--radius-md); overflow: hidden; border: 1px solid var(--lumiere-border); flex-shrink: 0; }
.wishlist-item-thumb img { width: 100%; height: 100%; object-fit: cover; }
.wishlist-item-body { flex: 1; min-width: 0; }
.wishlist-item-name { display: block; font-size: 13px; font-weight: 500; color: var(--lumiere-foreground); text-decoration: none; margin-bottom: 2px; }
.wishlist-item-name:hover { color: var(--lumiere-brand); }
.wishlist-item-price { font-size: 12px; color: var(--lumiere-brand); }
.wishlist-item-add { padding: 8px 14px; font-size: 10px; }

/* Appointment card */
.appointment-card {
	position: relative;
	padding: 1.75rem;
	border-radius: var(--radius-lg);
	background: linear-gradient(135deg, var(--lumiere-surface-2) 0%, #1a1510 50%, var(--lumiere-card) 100%);
	border: 1px solid var(--lumiere-border);
	overflow: hidden;
}
.appointment-card::before {
	content: '';
	position: absolute;
	top: -40px;
	right: -40px;
	width: 160px;
	height: 160px;
	background: radial-gradient(circle, var(--lumiere-brand-glow) 0%, transparent 70%);
	pointer-events: none;
}
.appointment-eyebrow { font-size: 11px; letter-spacing: 0.22em; text-transform: uppercase; font-weight: 500; color: var(--lumiere-brand); margin-bottom: 0.75rem; position: relative; }
.appointment-datetime { font-style: italic; font-size: 22px; font-weight: 300; color: var(--lumiere-brand); margin-bottom: 1rem; position: relative; }
.appointment-detail { display: flex; align-items: center; gap: 8px; font-size: 13px; color: var(--lumiere-ink-secondary); margin-bottom: 0.5rem; position: relative; }
.appointment-detail i { color: var(--lumiere-brand); }
.appointment-actions { display: flex; gap: 18px; margin-top: 1.25rem; position: relative; }

/* Recommended */
.account-recommended { margin-top: 0.5rem; }
.account-recommended-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 12px; margin-bottom: 1.5rem; flex-wrap: wrap; }
.account-recommended-eyebrow { font-size: 11px; letter-spacing: 0.22em; text-transform: uppercase; font-weight: 500; color: var(--lumiere-brand); margin-bottom: 0.5rem; }
.account-recommended-title { font-size: clamp(1.5rem, 3vw, 2.25rem); font-weight: 300; color: var(--lumiere-foreground); }
.account-recommended-grid { display: grid; grid-template-columns: 1fr; gap: 1.25rem; }
@media (min-width: 600px) { .account-recommended-grid { grid-template-columns: 1fr 1fr; } }
@media (min-width: 1024px) { .account-recommended-grid { grid-template-columns: repeat(4, 1fr); } }
.account-recommended-card { display: flex; }
.account-recommended-empty { color: var(--lumiere-ink-tertiary); font-size: 13px; }
.simple-card { display: flex; flex-direction: column; gap: 8px; text-decoration: none; background: var(--lumiere-card); border: 1px solid var(--lumiere-border); border-radius: var(--radius-lg); overflow: hidden; }
.simple-card-image img { width: 100%; aspect-ratio: 1; object-fit: cover; display: block; }
.simple-card-name { font-size: 13px; font-weight: 500; color: var(--lumiere-foreground); padding: 0 1rem; }
.simple-card-price { font-size: 13px; color: var(--lumiere-brand); padding: 0 1rem 1rem; }

/* Signed-out state */
.account-signed-out { text-align: center; padding: 4rem 1rem; max-width: 480px; margin: 0 auto; }
.account-signed-out-icon { color: var(--lumiere-ink-tertiary); margin: 0 auto 1.5rem; }
.account-signed-out-title { font-size: clamp(1.75rem, 3vw, 2.25rem); font-weight: 300; color: var(--lumiere-foreground); margin-bottom: 2rem; }
.account-signed-out-cta { display: inline-flex; padding: 14px 28px; }

@media (prefers-reduced-motion: reduce) {
	.lumiere-sign-in .btn-signin:hover,
	.lumiere-sign-in .social-btn,
	.lumiere-my-account .stat-card:hover,
	.lumiere-my-account .mobile-account-toggle .account-toggle-chevron,
	.lumiere-my-account .tier-bar-fill { transition: none; transform: none; }
}

/* ========== 48. Blog Post (.lumiere-blog-post) ========== */
.lumiere-blog-post { padding-top: 108px; }

/* Breadcrumbs */
.bp-breadcrumbs { padding: 1.5rem 0; }
.bp-breadcrumbs .lumiere-container { max-width: 1100px; }
.bp-crumb {
	font-size: 12px;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	font-family: var(--lumiere-font-body);
	color: var(--lumiere-ink-tertiary);
	text-decoration: none;
	transition: color 0.25s ease;
}
.bp-crumb:hover { color: var(--lumiere-brand); }
.bp-sep { color: var(--lumiere-border); font-size: 11px; margin: 0 0.5rem; }
.bp-crumb--current { color: var(--lumiere-brand); }

/* Article header */
.bp-article-header { text-align: center; padding-bottom: 2rem; }
@media (min-width: 768px) { .bp-article-header { padding-bottom: 3rem; } }
.bp-article-header .lumiere-container { max-width: 900px; }
.bp-eyebrow {
	font-size: 11px;
	letter-spacing: 0.28em;
	text-transform: uppercase;
	font-family: var(--lumiere-font-body);
	font-weight: 500;
	color: var(--lumiere-brand);
	margin-bottom: 1.5rem;
}
@media (min-width: 768px) { .bp-eyebrow { margin-bottom: 2rem; } }
.bp-eyebrow .bp-dot { color: var(--lumiere-brand); }
.bp-title {
	font-family: var(--lumiere-font-display);
	font-weight: 300;
	line-height: 1.02;
	letter-spacing: -0.02em;
	font-size: clamp(36px, 5.5vw, 68px);
	color: var(--lumiere-foreground);
	margin-bottom: 2rem;
}
@media (min-width: 768px) { .bp-title { margin-bottom: 2.5rem; } }

/* Byline */
.bp-byline {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 1rem;
	color: var(--lumiere-ink-secondary);
}
@media (min-width: 640px) { .bp-byline { flex-direction: row; gap: 1.5rem; } }
.bp-byline-author { display: flex; align-items: center; gap: 0.75rem; }
.bp-avatar {
	width: 44px;
	height: 44px;
	border-radius: 50%;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-family: var(--lumiere-font-display);
	font-size: 16px;
	font-weight: 500;
	background: var(--lumiere-brand);
	color: var(--lumiere-background);
	flex-shrink: 0;
	letter-spacing: 0.02em;
}
.bp-avatar--lg { width: 56px; height: 56px; font-size: 20px; }
.bp-avatar--comment {
	background: var(--lumiere-surface-3);
	color: var(--lumiere-brand);
	border: 1px solid var(--lumiere-brand);
}
.bp-author-name { font-size: 13px; font-family: var(--lumiere-font-body); font-weight: 500; color: var(--lumiere-foreground); }
.bp-author-sub { display: flex; align-items: center; gap: 0.75rem; margin-top: 2px; }
.bp-sub-item {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	font-size: 11px;
	letter-spacing: 0.05em;
	font-family: var(--lumiere-font-body);
	color: var(--lumiere-ink-tertiary);
}
.bp-byline-divider { width: 1px; height: 32px; background: var(--lumiere-divider); display: none; }
@media (min-width: 640px) { .bp-byline-divider { display: block; } }
.bp-header-share { display: flex; align-items: center; gap: 0.5rem; }
.bp-share-btn {
	width: 36px;
	height: 36px;
	border-radius: 50%;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border: 1px solid var(--lumiere-border);
	color: var(--lumiere-ink-secondary);
	background: transparent;
	cursor: pointer;
	text-decoration: none;
	transition: all 0.25s ease;
}
.bp-share-btn:hover {
	border-color: var(--lumiere-brand);
	color: var(--lumiere-brand);
	background: var(--lumiere-brand-muted);
}

/* Hero image */
.bp-hero-wrap { margin-bottom: 3rem; }
@media (min-width: 768px) { .bp-hero-wrap { margin-bottom: 4rem; } }
.bp-hero-wrap .lumiere-container { max-width: 1200px; }
.bp-hero-frame {
	position: relative;
	border: 1px solid var(--lumiere-border);
	padding: 10px;
	background: var(--lumiere-card);
}
.bp-hero-frame::before,
.bp-hero-frame::after {
	content: "";
	position: absolute;
	width: 28px;
	height: 28px;
	border-color: var(--lumiere-brand);
	border-style: solid;
	border-width: 0;
	pointer-events: none;
	z-index: 2;
}
.bp-hero-frame::before { top: 14px; left: 14px; border-top-width: 1px; border-left-width: 1px; }
.bp-hero-frame::after { bottom: 14px; right: 14px; border-bottom-width: 1px; border-right-width: 1px; }
.bp-hero-img { width: 100%; aspect-ratio: 16/8; object-fit: cover; display: block; }

/* Article body */
.bp-article-body { max-width: 720px; margin: 0 auto; padding: 0 1rem; }
@media (min-width: 768px) { .bp-article-body { padding: 0; } }
.bp-article-body p {
	font-family: var(--lumiere-font-display);
	font-size: 19px;
	line-height: 1.85;
	color: rgba(245, 241, 235, 0.88);
	margin: 0 0 1.6em;
	font-weight: 400;
}
.bp-article-body h2 {
	font-family: var(--lumiere-font-display);
	font-size: clamp(28px, 3.2vw, 38px);
	font-weight: 400;
	font-style: italic;
	color: var(--lumiere-foreground);
	margin: 2.4em 0 0.8em;
	letter-spacing: -0.01em;
	line-height: 1.2;
}
.bp-article-body h2:first-of-type { margin-top: 1.5em; }
.bp-article-body > p:first-of-type::first-letter {
	font-family: var(--lumiere-font-display);
	float: left;
	font-size: 5.2em;
	line-height: 0.85;
	padding-right: 0.12em;
	padding-top: 0.08em;
	color: var(--lumiere-brand);
	font-weight: 500;
	font-style: normal;
}
.bp-article-body blockquote {
	font-family: var(--lumiere-font-display);
	font-style: italic;
	font-weight: 400;
	font-size: clamp(28px, 3.8vw, 44px);
	line-height: 1.3;
	text-align: center;
	color: var(--lumiere-foreground);
	padding: 2.5rem 1rem;
	margin: 3rem 0;
	position: relative;
	letter-spacing: -0.01em;
	border: none;
}
.bp-article-body blockquote::before {
	content: "\201C";
	display: block;
	font-family: var(--lumiere-font-display);
	font-size: 5rem;
	line-height: 0.5;
	color: var(--lumiere-brand);
	margin-bottom: 0.5rem;
	font-style: normal;
}
.bp-article-body blockquote p { font-size: inherit; line-height: inherit; color: inherit; margin: 0; }
.bp-article-body figure { margin: 2.8rem 0; }
.bp-article-body figure img {
	width: 100%;
	aspect-ratio: 16/10;
	object-fit: cover;
	border: 1px solid var(--lumiere-border);
	display: block;
}
.bp-article-body figcaption {
	font-family: var(--lumiere-font-display);
	font-style: italic;
	font-size: 15px;
	color: var(--lumiere-ink-tertiary);
	text-align: center;
	margin-top: 1rem;
	letter-spacing: 0.01em;
}
.bp-article-body a { color: var(--lumiere-brand); text-decoration: underline; text-underline-offset: 3px; }
.bp-article-body img { max-width: 100%; height: auto; }

/* Article footer */
.bp-article-footer { margin-top: 4rem; }
.bp-footer-inner { max-width: 720px; }
.bp-tags { display: flex; align-items: center; flex-wrap: wrap; gap: 0.5rem; margin-bottom: 2rem; }
.bp-tags-icon { color: var(--lumiere-brand); margin-right: 0.25rem; }
.bp-tag-pill {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	padding: 6px 14px;
	font-size: 12px;
	font-family: var(--lumiere-font-body);
	letter-spacing: 0.05em;
	color: var(--lumiere-ink-secondary);
	border: 1px solid var(--lumiere-border);
	border-radius: 999px;
	text-decoration: none;
	transition: all 0.25s ease;
}
.bp-tag-pill:hover { color: var(--lumiere-brand); border-color: var(--lumiere-brand); }

/* Author bio */
.bp-author-bio {
	background: linear-gradient(135deg, var(--lumiere-card) 0%, var(--lumiere-surface-2) 100%);
	border: 1px solid var(--lumiere-border);
	padding: 2rem;
	display: flex;
	gap: 1.25rem;
	align-items: flex-start;
	margin: 2.5rem 0;
	position: relative;
}
.bp-author-bio::before {
	content: "";
	position: absolute;
	top: 0; left: 0;
	width: 3px;
	height: 100%;
	background: var(--lumiere-brand);
}
.bp-author-bio-name { font-family: var(--lumiere-font-display); font-size: 22px; font-weight: 500; color: var(--lumiere-foreground); margin-bottom: 0.5rem; }
.bp-author-bio-text { font-size: 14px; font-family: var(--lumiere-font-body); font-weight: 300; line-height: 1.75; color: var(--lumiere-ink-secondary); }

/* Share pills */
.bp-share-pills { margin-top: 2rem; }
.bp-share-heading {
	font-size: 11px;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	font-family: var(--lumiere-font-body);
	font-weight: 500;
	color: var(--lumiere-ink-tertiary);
	margin-bottom: 1rem;
}
.bp-share-pills-list { display: flex; flex-wrap: wrap; gap: 0.5rem; }
.bp-share-pill {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 10px 18px;
	font-size: 11px;
	font-family: var(--lumiere-font-body);
	letter-spacing: 0.14em;
	text-transform: uppercase;
	font-weight: 500;
	color: var(--lumiere-ink-secondary);
	border: 1px solid var(--lumiere-border);
	border-radius: 999px;
	background: transparent;
	cursor: pointer;
	text-decoration: none;
	transition: all 0.25s ease;
}
.bp-share-pill:hover { color: var(--lumiere-brand); border-color: var(--lumiere-brand); background: var(--lumiere-brand-muted); }
.bp-divider { margin: 3rem 0; }
@media (min-width: 768px) { .bp-divider { margin: 4rem 0; } }

/* Comments */
.bp-comments { padding-bottom: 2rem; }
.bp-comments-inner { max-width: 720px; }
.bp-comments-head { display: flex; align-items: center; gap: 0.75rem; margin-bottom: 2rem; }
.bp-comments-icon { color: var(--lumiere-brand); }
.bp-comments-title {
	font-family: var(--lumiere-font-display);
	font-size: clamp(30px, 3vw, 34px);
	font-weight: 500;
	color: var(--lumiere-foreground);
	letter-spacing: -0.01em;
}
.bp-comment-form-wrap {
	background: var(--lumiere-card);
	border: 1px solid var(--lumiere-border);
	padding: 1.75rem;
	margin-bottom: 2.5rem;
}
.bp-comment-notes { font-size: 13px; font-family: var(--lumiere-font-body); font-weight: 300; color: var(--lumiere-ink-secondary); margin-bottom: 1.25rem; }
.bp-comment-input {
	width: 100%;
	background: var(--lumiere-card);
	border: 1px solid var(--lumiere-border);
	color: var(--lumiere-foreground);
	padding: 12px 16px;
	font-size: 14px;
	font-family: var(--lumiere-font-body);
	outline: none;
	transition: border-color 0.3s ease, box-shadow 0.3s ease;
	border-radius: 2px;
}
.bp-comment-input:focus { border-color: var(--lumiere-brand); box-shadow: 0 0 0 1px var(--lumiere-brand); }
.bp-comment-input::placeholder { color: var(--lumiere-ink-tertiary); }
textarea.bp-comment-input { resize: vertical; min-height: 130px; line-height: 1.6; }
.bp-comment-form-wrap .bp-form-row { width: 100%; }
@media (min-width: 640px) {
	.bp-comment-form-wrap .comment-form-author,
	.bp-comment-form-wrap .comment-form-email { display: inline-block; width: calc(50% - 8px); vertical-align: top; }
	.bp-comment-form-wrap .comment-form-author { margin-right: 16px; }
}
.bp-comment-form-wrap p { margin: 0 0 1rem; }
.bp-comment-form-wrap .comment-form-comment { margin-bottom: 1rem; }
.bp-submit-btn { display: inline-flex; align-items: center; gap: 6px; }

.bp-comments-list { margin-top: 1rem; }
.bp-comment-list { list-style: none; padding: 0; margin: 0; }
.bp-comment-item {
	display: flex;
	gap: 1rem;
	padding: 1.75rem 0;
	border-bottom: 1px solid var(--lumiere-divider);
}
.bp-comment-list li:last-child { border-bottom: none; }
.bp-comment-body { flex: 1; min-width: 0; }
.bp-comment-head { display: flex; align-items: baseline; gap: 0.75rem; margin-bottom: 0.5rem; flex-wrap: wrap; }
.bp-comment-author { font-family: var(--lumiere-font-display); font-size: 18px; font-weight: 500; color: var(--lumiere-foreground); }
.bp-comment-date { font-size: 11px; letter-spacing: 0.08em; text-transform: uppercase; font-family: var(--lumiere-font-body); color: var(--lumiere-ink-tertiary); }
.bp-comment-text { font-size: 15px; font-family: var(--lumiere-font-body); font-weight: 300; line-height: 1.75; color: rgba(245, 241, 235, 0.82); }
.bp-comment-text p { margin: 0; }
.bp-comment-actions { margin-top: 0.75rem; }
.bp-comment-actions a {
	font-size: 11px;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	font-family: var(--lumiere-font-body);
	color: var(--lumiere-ink-tertiary);
	text-decoration: none;
	transition: color 0.25s ease;
}
.bp-comment-actions a:hover { color: var(--lumiere-brand); }
.bp-comment-list .children { list-style: none; padding-left: 3.5rem; margin: 0; }

/* Related articles */
.bp-related { padding: 3.5rem 0; border-top: 1px solid var(--lumiere-divider); }
@media (min-width: 768px) { .bp-related { padding: 5rem 0; } }
.bp-related-head { text-align: center; margin-bottom: 2.5rem; }
@media (min-width: 768px) { .bp-related-head { margin-bottom: 3.5rem; } }
.bp-related-eyebrow { font-size: 11px; letter-spacing: 0.25em; text-transform: uppercase; font-family: var(--lumiere-font-body); font-weight: 500; color: var(--lumiere-brand); margin-bottom: 1rem; }
.bp-related-title { font-family: var(--lumiere-font-display); font-size: clamp(36px, 4vw, 46px); font-weight: 300; color: var(--lumiere-foreground); letter-spacing: -0.02em; }
.bp-related-grid { display: grid; grid-template-columns: 1fr; gap: 1.5rem; }
@media (min-width: 768px) { .bp-related-grid { grid-template-columns: repeat(3, 1fr); gap: 2rem; } }
.bp-related-card {
	background: var(--lumiere-card);
	border: 1px solid var(--lumiere-border);
	transition: border-color 0.3s ease, transform 0.3s ease, box-shadow 0.3s ease;
	display: flex;
	flex-direction: column;
	text-decoration: none;
}
.bp-related-card:hover { border-color: var(--lumiere-brand); transform: translateY(-4px); box-shadow: var(--lumiere-shadow-gold); }
.bp-related-img-wrap { overflow: hidden; }
.bp-related-img-wrap img { width: 100%; aspect-ratio: 4/3; object-fit: cover; display: block; transition: transform 0.7s cubic-bezier(0.2, 0.8, 0.2, 1); }
.bp-related-card:hover .bp-related-img-wrap img { transform: scale(1.06); }
.bp-related-body { padding: 1.5rem; flex: 1; display: flex; flex-direction: column; }
.bp-related-meta { font-size: 10px; letter-spacing: 0.22em; text-transform: uppercase; font-family: var(--lumiere-font-body); font-weight: 500; color: var(--lumiere-brand); margin-bottom: 0.75rem; }
.bp-related-card-title { font-family: var(--lumiere-font-display); font-size: clamp(22px, 2vw, 24px); font-weight: 500; line-height: 1.25; color: var(--lumiere-foreground); letter-spacing: -0.01em; margin-bottom: 0.75rem; flex: 1; }
.bp-related-excerpt { font-size: 13px; font-family: var(--lumiere-font-body); font-weight: 300; line-height: 1.7; color: var(--lumiere-ink-secondary); margin-bottom: 1rem; }
.bp-related-link {
	font-size: 11px;
	letter-spacing: 0.15em;
	text-transform: uppercase;
	font-family: var(--lumiere-font-body);
	color: var(--lumiere-brand);
	display: inline-flex;
	align-items: center;
	gap: 8px;
}

/* Prev / next */
.bp-prev-next { padding: 3.5rem 0 4rem; border-top: 1px solid var(--lumiere-divider); }
@media (min-width: 768px) { .bp-prev-next { padding: 3.5rem 0 5rem; } }
.bp-prev-next-grid { display: grid; grid-template-columns: 1fr; gap: 1rem; }
@media (min-width: 768px) { .bp-prev-next-grid { grid-template-columns: 1fr 1fr; gap: 1.5rem; } }
.bp-pn-card {
	display: flex;
	align-items: center;
	gap: 1rem;
	padding: 1.75rem;
	background: var(--lumiere-card);
	border: 1px solid var(--lumiere-border);
	transition: all 0.3s ease;
	text-decoration: none;
	height: 100%;
}
.bp-pn-card:hover { border-color: var(--lumiere-brand); background: var(--lumiere-surface-2); }
.bp-pn-card--next { justify-content: flex-end; text-align: right; }
.bp-pn-card--placeholder { visibility: hidden; }
.bp-pn-arrow {
	width: 44px;
	height: 44px;
	border-radius: 50%;
	border: 1px solid var(--lumiere-border);
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--lumiere-ink-secondary);
	flex-shrink: 0;
	transition: all 0.3s ease;
}
.bp-pn-card:hover .bp-pn-arrow { border-color: var(--lumiere-brand); color: var(--lumiere-brand); background: var(--lumiere-brand-muted); }
.bp-pn-text { display: flex; flex-direction: column; }
.bp-pn-label { font-size: 10px; letter-spacing: 0.22em; text-transform: uppercase; font-family: var(--lumiere-font-body); font-weight: 500; color: var(--lumiere-ink-tertiary); margin-bottom: 0.5rem; }
.bp-pn-title { font-family: var(--lumiere-font-display); font-size: clamp(22px, 2vw, 24px); font-weight: 500; line-height: 1.25; color: var(--lumiere-foreground); letter-spacing: -0.01em; }

/* ========== 49. Journal & Blog (.lumiere-journal-blog) ========== */
.lumiere-journal-blog { padding-top: 68px; }

/* Breadcrumbs */
.jb-breadcrumbs { padding: 2rem 0 0; }
@media (min-width: 768px) { .jb-breadcrumbs { padding: 2.5rem 0 0; } }
.jb-crumb {
	font-size: 12px;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--lumiere-ink-tertiary);
	text-decoration: none;
	transition: color 0.25s ease;
}
.jb-crumb:hover { color: var(--lumiere-brand); }
.jb-sep { color: var(--lumiere-border); margin: 0 0.75rem; }
.jb-crumb--current { color: var(--lumiere-brand); }

/* Hero */
.jb-hero { padding-top: 2rem; padding-bottom: 2.5rem; }
@media (min-width: 768px) { .jb-hero { padding-top: 3rem; padding-bottom: 3.5rem; } }
.jb-hero-inner { max-width: 768px; margin: 0 auto; text-align: center; }
.jb-hero-eyebrow {
	font-size: 11px;
	letter-spacing: 0.3em;
	text-transform: uppercase;
	font-family: var(--lumiere-font-body);
	font-weight: 500;
	color: var(--lumiere-brand);
	margin-bottom: 1.25rem;
}
.jb-hero-title {
	font-family: var(--lumiere-font-display);
	font-weight: 300;
	line-height: 1.02;
	letter-spacing: -0.02em;
	font-size: clamp(40px, 6vw, 76px);
	color: var(--lumiere-foreground);
	margin-bottom: 1.5rem;
}
.jb-hero-title-gold { font-style: italic; }
.jb-hero-desc {
	font-size: 15px;
	line-height: 1.75;
	font-weight: 300;
	color: var(--lumiere-ink-secondary);
	margin-bottom: 2.5rem;
	max-width: 36rem;
	margin-left: auto;
	margin-right: auto;
}
@media (min-width: 768px) { .jb-hero-desc { font-size: 16px; } }
.jb-search-form { position: relative; max-width: 32rem; margin: 0 auto; display: block; }
.jb-search-icon {
	position: absolute;
	left: 1rem;
	top: 50%;
	transform: translateY(-50%);
	color: var(--lumiere-brand);
	pointer-events: none;
	display: inline-flex;
}
.jb-search-input {
	width: 100%;
	background: transparent;
	border: 1px solid var(--lumiere-brand-muted);
	color: var(--lumiere-foreground);
	padding: 14px 18px 14px 48px;
	font-size: 14px;
	font-family: var(--lumiere-font-body);
	outline: none;
	transition: border-color 0.3s ease, box-shadow 0.3s ease, background 0.3s ease;
	border-radius: 0;
}
.jb-search-input:focus { border-color: var(--lumiere-brand); background: rgba(197, 164, 118, 0.04); }
.jb-search-input::placeholder { color: var(--lumiere-ink-tertiary); }

/* Featured grid */
.jb-featured { padding-top: 0; padding-bottom: 3rem; }
@media (min-width: 768px) { .jb-featured { padding-bottom: 4rem; } }
.jb-featured-grid { display: grid; grid-template-columns: 1fr; gap: 2rem; }
@media (min-width: 1024px) { .jb-featured-grid { grid-template-columns: 2fr 1fr; gap: 2rem; } }
.jb-featured-side { display: flex; flex-direction: column; gap: 1.5rem; }
.jb-article-card a.jb-card-link { color: inherit; text-decoration: none; }

/* Image wrap (shared hover) */
.jb-img-wrap { overflow: hidden; position: relative; background: var(--lumiere-surface-2); }
.jb-card-img { transition: transform 0.7s cubic-bezier(0.2, 0.8, 0.2, 1), filter 0.5s ease; display: block; width: 100%; height: 100%; object-fit: cover; }
.jb-article-card:hover .jb-card-img { transform: scale(1.06); filter: brightness(1.05); }
.jb-img-wrap--main { aspect-ratio: 16/10; margin-bottom: 1.5rem; }
.jb-img-wrap--grid { aspect-ratio: 16/9; margin-bottom: 1.25rem; }
.jb-img-wrap--side { width: 140px; min-width: 140px; aspect-ratio: 4/3; flex-shrink: 0; }
@media (min-width: 768px) { .jb-img-wrap--side { width: 160px; min-width: 160px; } }
.jb-img-placeholder { display: block; width: 100%; height: 100%; background: var(--lumiere-surface-3); }

/* Category badge (on featured main) */
.jb-cat-badge {
	position: absolute;
	top: 1.25rem;
	left: 1.25rem;
	padding: 6px 12px;
	font-size: 10px;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	font-weight: 500;
	font-family: var(--lumiere-font-body);
	background: var(--lumiere-brand);
	color: var(--lumiere-background);
	z-index: 2;
}

/* Category tag (with gold bar) */
.jb-cat-tag {
	display: inline-block;
	font-size: 10px;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	font-weight: 500;
	font-family: var(--lumiere-font-body);
	color: var(--lumiere-brand);
	padding-left: 12px;
	position: relative;
	margin-bottom: 0.5rem;
}
.jb-cat-tag::before {
	content: "";
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
	width: 3px;
	height: 10px;
	background: var(--lumiere-brand);
}
.jb-grid-card .jb-cat-tag { display: block; margin-bottom: 0.75rem; }

/* Featured main */
.jb-featured-main-title {
	font-family: var(--lumiere-font-display);
	font-weight: 300;
	line-height: 1.1;
	letter-spacing: -0.015em;
	font-size: clamp(26px, 3.2vw, 40px);
	color: var(--lumiere-foreground);
	margin-bottom: 1rem;
}
.jb-featured-main-excerpt { font-size: 15px; line-height: 1.7; font-weight: 300; color: var(--lumiere-ink-secondary); margin-bottom: 1.25rem; max-width: 36rem; }
.jb-card-meta-row { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 0.75rem; }

/* Article meta */
.jb-article-meta {
	font-size: 11px;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--lumiere-ink-tertiary);
	font-family: var(--lumiere-font-body);
	display: flex;
	align-items: center;
	flex-wrap: wrap;
}
.jb-meta-sep { display: inline-block; width: 3px; height: 3px; border-radius: 50%; background: var(--lumiere-border); margin: 0 10px; vertical-align: middle; }
.jb-meta-read { display: inline-flex; align-items: center; gap: 6px; }
.jb-meta-item { display: inline-flex; align-items: center; gap: 6px; }
.jb-read-link {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-size: 11px;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	font-weight: 500;
	font-family: var(--lumiere-font-body);
	color: var(--lumiere-brand);
	transition: gap 0.3s cubic-bezier(0.2, 0.8, 0.2, 1);
}
.jb-read-link:hover { gap: 14px; }

/* Side cards */
.jb-featured-side-card { padding: 1rem; }
.jb-side-link { display: flex; gap: 1rem; }
.jb-side-body { flex: 1; min-width: 0; padding-top: 0.25rem; padding-bottom: 0.25rem; }
.jb-side-title { font-family: var(--lumiere-font-display); font-weight: 300; line-height: 1.2; font-size: 18px; color: var(--lumiere-foreground); margin-bottom: 0.5rem; }
.jb-side-meta { margin-top: 0.5rem; }

/* Category pills */
.jb-categories { padding-top: 0; padding-bottom: 2rem; }
@media (min-width: 768px) { .jb-categories { padding-bottom: 3rem; } }
.jb-cat-pills {
	display: flex;
	gap: 0.75rem;
	overflow-x: auto;
	padding-bottom: 6px;
	scrollbar-width: none;
}
.jb-cat-pills::-webkit-scrollbar { display: none; }
.jb-cat-pill {
	display: inline-flex;
	align-items: center;
	padding: 8px 20px;
	font-size: 11px;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	font-weight: 500;
	font-family: var(--lumiere-font-body);
	border: 1px solid var(--lumiere-border);
	background: transparent;
	color: var(--lumiere-ink-secondary);
	cursor: pointer;
	text-decoration: none;
	transition: all 0.25s cubic-bezier(0.2, 0.8, 0.2, 1);
	white-space: nowrap;
}
.jb-cat-pill:hover { border-color: var(--lumiere-brand); color: var(--lumiere-brand); }
.jb-cat-pill.is-active { background: var(--lumiere-brand); color: var(--lumiere-background); border-color: var(--lumiere-brand); }
.jb-cat-divider { margin-top: 1.5rem; }
@media (min-width: 768px) { .jb-cat-divider { margin-top: 2rem; } }

/* Article grid */
.jb-grid { padding-top: 0; padding-bottom: 3rem; }
@media (min-width: 768px) { .jb-grid { padding-bottom: 4rem; } }
.jb-grid-list { display: grid; grid-template-columns: 1fr; gap: 2.5rem 2rem; }
@media (min-width: 640px) { .jb-grid-list { grid-template-columns: repeat(2, 1fr); gap: 2.5rem 1.5rem; } }
@media (min-width: 1024px) { .jb-grid-list { grid-template-columns: repeat(3, 1fr); gap: 3rem 2rem; } }
.jb-grid-card { display: flex; flex-direction: column; }
.jb-grid-card .jb-card-link { display: flex; flex-direction: column; height: 100%; }
.jb-grid-title { font-family: var(--lumiere-font-display); font-weight: 300; line-height: 1.2; font-size: 24px; color: var(--lumiere-foreground); margin-bottom: 0.75rem; }
.jb-grid-excerpt {
	font-size: 14px;
	line-height: 1.65;
	font-weight: 300;
	color: var(--lumiere-ink-secondary);
	margin-bottom: 1rem;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}
.jb-grid-meta { display: flex; align-items: center; flex-wrap: wrap; gap: 0.25rem 0; margin-top: auto; }
.jb-empty { color: var(--lumiere-ink-tertiary); text-align: center; padding: 3rem 0; }

/* Pagination */
.jb-pagination { padding-top: 0; padding-bottom: 3.5rem; }
@media (min-width: 768px) { .jb-pagination { padding-bottom: 5rem; } }
.jb-pagination-list ul,
.jb-pagination-list { display: flex; align-items: center; justify-content: center; gap: 0.5rem; list-style: none; padding: 0; margin: 0; flex-wrap: wrap; }
.jb-pagination-list li { list-style: none; }
.jb-pagination-list .page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	font-size: 13px;
	font-family: var(--lumiere-font-body);
	border: 1px solid var(--lumiere-border);
	color: var(--lumiere-ink-secondary);
	cursor: pointer;
	transition: all 0.25s ease;
	background: transparent;
	text-decoration: none;
}
.jb-pagination-list .page-numbers:hover { border-color: var(--lumiere-brand); color: var(--lumiere-brand); }
.jb-pagination-list .page-numbers.current { background: var(--lumiere-brand); color: var(--lumiere-background); border-color: var(--lumiere-brand); }
.jb-pagination-list .page-numbers.prev,
.jb-pagination-list .page-numbers.next { width: 40px; }
.jb-pagination-list .page-numbers.prev svg,
.jb-pagination-list .page-numbers.next svg,
.jb-pagination-list .page-numbers.prev i,
.jb-pagination-list .page-numbers.next i { color: inherit; }
.jb-pagination-list .dots { color: var(--lumiere-ink-tertiary); padding: 0 4px; font-size: 13px; }

/* Newsletter */
.jb-newsletter { padding-top: 0; padding-bottom: 3.5rem; }
@media (min-width: 768px) { .jb-newsletter { padding-bottom: 5rem; } }
.jb-newsletter-card {
	background: var(--lumiere-card);
	border: 1px solid var(--lumiere-border);
	position: relative;
	overflow: hidden;
	padding: 2rem;
}
@media (min-width: 768px) { .jb-newsletter-card { padding: 3.5rem; } }
@media (min-width: 1024px) { .jb-newsletter-card { padding: 4rem; } }
.jb-newsletter-card::before {
	content: "";
	position: absolute;
	inset: 0;
	background: radial-gradient(ellipse at 30% 50%, rgba(197, 164, 118, 0.06) 0%, transparent 60%);
	pointer-events: none;
}
.jb-newsletter-inner { position: relative; z-index: 1; max-width: 36rem; margin: 0 auto; text-align: center; }
.jb-newsletter-eyebrow { font-size: 11px; letter-spacing: 0.28em; text-transform: uppercase; font-family: var(--lumiere-font-body); font-weight: 500; color: var(--lumiere-brand); margin-bottom: 1rem; }
.jb-newsletter-title { font-family: var(--lumiere-font-display); font-weight: 300; line-height: 1.08; letter-spacing: -0.02em; font-size: clamp(30px, 4vw, 48px); color: var(--lumiere-foreground); margin-bottom: 1.25rem; }
.jb-newsletter-title .lumiere-word-gold { font-style: italic; }
.jb-newsletter-desc { font-size: 15px; line-height: 1.7; font-weight: 300; color: var(--lumiere-ink-secondary); margin-bottom: 2rem; }
.jb-newsletter-form { display: flex; flex-direction: column; gap: 0.75rem; max-width: 32rem; margin: 0 auto; }
@media (min-width: 640px) { .jb-newsletter-form { flex-direction: row; } }
.jb-newsletter-input { flex: 1; }
.jb-newsletter-btn { flex-shrink: 0; display: inline-flex; align-items: center; gap: 6px; }
.jb-newsletter-disclaimer { font-size: 11px; margin-top: 1rem; font-weight: 300; color: var(--lumiere-ink-tertiary); }

/* ========== 50. FAQ (.lumiere-faq) ========== */
.lumiere-faq { padding-top: 140px; }

/* Hero */
.faq-hero { padding-bottom: 3rem; }
.faq-hero-inner { max-width: 900px; margin: 0 auto; text-align: center; }
.faq-breadcrumbs { display: flex; align-items: center; justify-content: center; gap: 0.5rem; margin-bottom: 2rem; }
.faq-crumb {
	font-size: 11px;
	letter-spacing: 0.15em;
	text-transform: uppercase;
	font-family: var(--lumiere-font-body);
	font-weight: 500;
	color: var(--lumiere-ink-secondary);
	text-decoration: none;
	transition: color 0.2s ease;
}
.faq-crumb:hover { color: var(--lumiere-brand); }
.faq-crumb-sep { color: var(--lumiere-ink-tertiary); }
.faq-crumb--current { color: var(--lumiere-brand); }
.faq-hero-eyebrow {
	font-size: 11px;
	letter-spacing: 0.32em;
	text-transform: uppercase;
	font-family: var(--lumiere-font-body);
	font-weight: 500;
	color: var(--lumiere-brand);
	margin-bottom: 1.25rem;
}
.faq-hero-title {
	font-family: var(--lumiere-font-display);
	font-weight: 300;
	line-height: 1.05;
	letter-spacing: -0.02em;
	font-size: clamp(40px, 5.5vw, 68px);
	color: var(--lumiere-foreground);
	margin-bottom: 1.25rem;
}
.faq-hero-title-gold { font-style: italic; }
.faq-hero-desc {
	font-size: 15px;
	line-height: 1.7;
	font-weight: 300;
	color: var(--lumiere-ink-secondary);
	margin-bottom: 2.5rem;
	max-width: 36rem;
	margin-left: auto;
	margin-right: auto;
}
@media (min-width: 768px) { .faq-hero-desc { font-size: 16px; } }

/* Search */
.faq-search-wrap { position: relative; max-width: 640px; margin: 0 auto; }
.faq-search-input {
	width: 100%;
	background: transparent;
	border: 1px solid var(--lumiere-brand);
	color: var(--lumiere-foreground);
	padding: 18px 56px 18px 24px;
	font-family: var(--lumiere-font-body);
	font-size: 15px;
	font-weight: 300;
	letter-spacing: 0.02em;
	outline: none;
	transition: box-shadow 0.3s ease, background-color 0.3s ease;
	border-radius: 0;
}
.faq-search-input::placeholder { color: var(--lumiere-ink-tertiary); font-style: italic; font-weight: 300; }
.faq-search-input:focus { box-shadow: 0 0 0 1px var(--lumiere-brand), 0 8px 32px rgba(197, 164, 118, 0.1); background: rgba(197, 164, 118, 0.03); }
.faq-search-btn {
	position: absolute;
	right: 6px;
	top: 50%;
	transform: translateY(-50%);
	width: 44px;
	height: 44px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: var(--lumiere-brand);
	color: var(--lumiere-background);
	border: none;
	cursor: pointer;
	transition: background-color 0.2s ease;
}
.faq-search-btn:hover { background: var(--lumiere-brand-light); }

/* Quick links */
.faq-quick-links { padding-top: 0; padding-bottom: 4rem; }
.faq-quick-links-grid { display: grid; grid-template-columns: 1fr; gap: 1rem; max-width: 1200px; margin: 0 auto; }
@media (min-width: 640px) { .faq-quick-links-grid { grid-template-columns: repeat(3, 1fr); } }
@media (min-width: 1024px) { .faq-quick-links-grid { grid-template-columns: repeat(6, 1fr); } }
.faq-quick-link-card {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	padding: 28px 16px 24px;
	background: var(--lumiere-card);
	border: 1px solid var(--lumiere-border);
	transition: border-color 0.3s cubic-bezier(0.2, 0.8, 0.2, 1), transform 0.3s cubic-bezier(0.2, 0.8, 0.2, 1), box-shadow 0.3s cubic-bezier(0.2, 0.8, 0.2, 1);
	cursor: pointer;
	text-decoration: none;
	color: inherit;
}
.faq-quick-link-card:hover { border-color: var(--lumiere-brand); transform: translateY(-4px); box-shadow: var(--lumiere-shadow-gold); }
.faq-quick-link-icon {
	width: 48px;
	height: 48px;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	background: var(--lumiere-brand-muted);
	color: var(--lumiere-brand);
	margin-bottom: 1rem;
	transition: background-color 0.3s ease, color 0.3s ease;
}
.faq-quick-link-card:hover .faq-quick-link-icon { background: var(--lumiere-brand); color: var(--lumiere-background); }
.faq-quick-link-title { font-family: var(--lumiere-font-display); font-size: 18px; font-weight: 500; color: var(--lumiere-foreground); margin-bottom: 0.375rem; }
.faq-quick-link-desc { font-size: 12px; line-height: 1.5; font-family: var(--lumiere-font-body); font-weight: 300; color: var(--lumiere-ink-secondary); }

/* Accordion section */
.faq-accordions { padding-top: 1rem; padding-bottom: 4rem; }
.faq-accordions-inner { max-width: 820px; margin: 0 auto; }
.faq-category { margin-bottom: 3.5rem; }
@media (min-width: 768px) { .faq-category { margin-bottom: 5rem; } }
.faq-category--spaced { margin-top: 3.5rem; }
@media (min-width: 768px) { .faq-category--spaced { margin-top: 5rem; } }
.faq-category-label {
	font-size: 11px;
	letter-spacing: 0.3em;
	text-transform: uppercase;
	font-weight: 500;
	font-family: var(--lumiere-font-body);
	color: var(--lumiere-brand);
	text-align: center;
	margin-bottom: 2rem;
	position: relative;
}
.faq-category-label::before,
.faq-category-label::after {
	content: "";
	position: absolute;
	top: 50%;
	width: 40px;
	height: 1px;
	background: var(--lumiere-divider);
}
.faq-category-label::before { right: calc(50% + 80px); }
.faq-category-label::after { left: calc(50% + 80px); }
@media (max-width: 640px) {
	.faq-category-label::before,
	.faq-category-label::after { display: none; }
}
.faq-accordion-group { }
.faq-accordion-item { border-bottom: 1px solid var(--lumiere-divider); }
.faq-accordion-item:first-child { border-top: 1px solid var(--lumiere-divider); }
.faq-accordion-trigger {
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	padding: 22px 4px;
	background: transparent;
	border: none;
	cursor: pointer;
	text-align: left;
	transition: color 0.25s ease;
}
.faq-accordion-trigger:hover .faq-accordion-question { color: var(--lumiere-brand); }
.faq-accordion-trigger:hover .faq-accordion-chevron { color: var(--lumiere-brand); }
.faq-accordion-question {
	font-family: var(--lumiere-font-display);
	font-size: 20px;
	font-weight: 400;
	line-height: 1.4;
	color: var(--lumiere-foreground);
	transition: color 0.25s ease;
	flex: 1;
}
.faq-accordion-chevron {
	width: 20px;
	height: 20px;
	color: var(--lumiere-brand);
	flex-shrink: 0;
	transition: transform 0.35s cubic-bezier(0.2, 0.8, 0.2, 1), color 0.25s ease;
}
.faq-accordion-item.is-open .faq-accordion-chevron { transform: rotate(180deg); }
.faq-accordion-panel-wrap {
	overflow: hidden;
	max-height: 0;
	transition: max-height 0.4s cubic-bezier(0.2, 0.8, 0.2, 1);
}
.faq-accordion-panel {
	padding: 0 4px 24px 4px;
	border-left: 2px solid transparent;
	padding-left: 16px;
	transition: border-color 0.3s ease;
}
.faq-accordion-item.is-open .faq-accordion-panel { border-left-color: var(--lumiere-brand); }
.faq-accordion-answer {
	font-family: var(--lumiere-font-body);
	font-size: 15px;
	font-weight: 300;
	line-height: 1.75;
	color: var(--lumiere-ink-secondary);
}
.faq-accordion-answer p { margin: 0 0 1em; }
.faq-accordion-answer p:last-child { margin-bottom: 0; }
.faq-accordion-answer a { color: var(--lumiere-brand); text-decoration: underline; text-underline-offset: 3px; transition: color 0.2s ease; }
.faq-accordion-answer a:hover { color: var(--lumiere-brand-light); }
.faq-category-divider { margin: 3.5rem 0; }
@media (min-width: 768px) { .faq-category-divider { margin: 5rem 0; } }

/* Contact CTA */
.faq-cta { padding-top: 2rem; padding-bottom: 6rem; }
.faq-cta-card {
	position: relative;
	overflow: hidden;
	background: var(--lumiere-surface-2);
	border: 1px solid var(--lumiere-border);
	max-width: 1200px;
	margin: 0 auto;
	padding: 2.5rem;
}
@media (min-width: 768px) { .faq-cta-card { padding: 4rem; } }
@media (min-width: 1024px) { .faq-cta-card { padding: 5rem; } }
.faq-cta-inner { position: relative; z-index: 1; max-width: 42rem; }
.faq-cta-eyebrow {
	font-size: 11px;
	letter-spacing: 0.28em;
	text-transform: uppercase;
	font-family: var(--lumiere-font-body);
	font-weight: 500;
	color: var(--lumiere-brand);
	margin-bottom: 1rem;
	display: flex;
	align-items: center;
}
.faq-cta-eyebrow-icon { margin-right: 0.5rem; }
.faq-cta-title {
	font-family: var(--lumiere-font-display);
	font-weight: 300;
	line-height: 1.1;
	letter-spacing: -0.02em;
	font-size: clamp(32px, 4vw, 52px);
	color: var(--lumiere-foreground);
	margin-bottom: 1.25rem;
}
.faq-cta-title .lumiere-word-gold { font-style: italic; }
.faq-cta-desc { font-size: 15px; line-height: 1.7; font-weight: 300; color: var(--lumiere-ink-secondary); margin-bottom: 2rem; }
@media (min-width: 768px) { .faq-cta-desc { font-size: 16px; } }
.faq-cta-buttons { display: flex; flex-direction: column; gap: 0.75rem; margin-bottom: 2.5rem; }
@media (min-width: 640px) { .faq-cta-buttons { flex-direction: row; } }
.faq-cta-btn { display: inline-flex; align-items: center; gap: 6px; }
.faq-cta-methods {
	display: flex;
	flex-direction: column;
	gap: 1.5rem;
	padding-top: 1.5rem;
	border-top: 1px solid var(--lumiere-divider);
}
@media (min-width: 640px) { .faq-cta-methods { flex-direction: row; } }
.faq-cta-method { display: flex; align-items: center; gap: 0.75rem; }
.faq-cta-method-icon {
	width: 40px;
	height: 40px;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	background: var(--lumiere-brand-muted);
	color: var(--lumiere-brand);
	flex-shrink: 0;
}
.faq-cta-method-label { font-size: 10px; letter-spacing: 0.2em; text-transform: uppercase; font-family: var(--lumiere-font-body); font-weight: 500; color: var(--lumiere-ink-tertiary); margin-bottom: 2px; }
.faq-cta-method-value { font-size: 14px; font-family: var(--lumiere-font-body); font-weight: 300; color: var(--lumiere-foreground); }

/* Reduced motion */
@media (prefers-reduced-motion: reduce) {
	.lumiere-blog-post .bp-related-card,
	.lumiere-blog-post .bp-pn-card,
	.lumiere-journal-blog .jb-article-card,
	.lumiere-faq .faq-quick-link-card,
	.lumiere-faq .faq-accordion-chevron,
	.lumiere-faq .faq-accordion-panel-wrap { transition: none; transform: none; }
	.lumiere-journal-blog .jb-card-img { transition: none; }
}

/* ========== 51. Wishlist Page (.lumiere-wishlist) ========== */

.lumiere-wishlist { background: var(--lumiere-background); color: var(--lumiere-foreground); }

/* Icon sizes scoped to wishlist */
.lumiere-wishlist .icon-3,
.lumiere-wishlist .icon-3-5,
.lumiere-wishlist .icon-4,
.lumiere-wishlist .icon-5,
.lumiere-wishlist .icon-7 { display: inline-block; }
.lumiere-wishlist .icon-3 { width: 12px; height: 12px; }
.lumiere-wishlist .icon-3-5 { width: 14px; height: 14px; }
.lumiere-wishlist .icon-4 { width: 16px; height: 16px; }
.lumiere-wishlist .icon-5 { width: 20px; height: 20px; }
.lumiere-wishlist .icon-7 { width: 28px; height: 28px; }

/* Breadcrumbs */
.wl-breadcrumbs-section { padding: 130px 0 1rem; }
.wl-breadcrumbs { display: flex; align-items: center; gap: 8px; margin-bottom: 0; }
.wl-crumb {
	font-size: 12px; letter-spacing: 0.1em; text-transform: uppercase;
	color: var(--lumiere-ink-tertiary); text-decoration: none;
	transition: color 0.2s ease;
}
.wl-crumb:hover { color: var(--lumiere-brand); }
.wl-crumb-sep { color: var(--lumiere-ink-tertiary); }
.wl-crumb--current { color: var(--lumiere-foreground); }

/* Hero */
.wl-hero-section { padding: 1.5rem 0 2rem; }
.wl-hero-eyebrow {
	font-size: 11px; letter-spacing: 0.28em; text-transform: uppercase;
	font-weight: 500; color: var(--lumiere-brand); margin: 0 0 16px;
}
.wl-hero-title {
	font-family: var(--lumiere-font-display);
	font-weight: 300; line-height: 1.02; letter-spacing: -0.02em;
	font-size: clamp(36px, 5vw, 64px); color: var(--lumiere-foreground);
	margin: 0 0 16px;
}
.wl-hero-title-gold { font-style: italic; }
.wl-hero-subtitle {
	font-size: 15px; line-height: 1.7; font-weight: 300;
	color: var(--lumiere-ink-secondary); max-width: 36em; margin: 0;
}

/* Empty state */
.wl-empty-section { padding: 2rem 0 6rem; }
.wl-empty-card {
	max-width: 480px; margin: 0 auto; text-align: center;
	padding: 48px 32px;
	background: var(--lumiere-card); border: 1px solid var(--lumiere-border);
}
.wl-empty-icon {
	display: inline-flex; align-items: center; justify-content: center;
	width: 64px; height: 64px; margin-bottom: 20px;
	background: var(--lumiere-brand-muted); color: var(--lumiere-brand);
	border: 1px solid var(--lumiere-brand);
}
.wl-empty-title {
	font-family: var(--lumiere-font-display); font-size: 24px; font-weight: 400;
	color: var(--lumiere-foreground); margin: 0 0 8px;
}
.wl-empty-desc {
	font-size: 14px; line-height: 1.7; font-weight: 300;
	color: var(--lumiere-ink-secondary); margin: 0 0 28px;
}
.wl-empty-cta { text-decoration: none; }

/* Desktop table */
.wl-table-section { padding-top: 0; padding-bottom: 1rem; }
.wl-table-wrap { overflow-x: auto; }
.wl-table { width: 100%; border-collapse: collapse; }
.wl-th {
	font-size: 10px; letter-spacing: 0.2em; text-transform: uppercase;
	font-weight: 500; color: var(--lumiere-ink-tertiary);
	padding: 0 16px 14px 0; text-align: left;
	border-bottom: 1px solid var(--lumiere-brand);
}
.wl-th--image { width: 120px; }
.wl-th--price { width: 130px; }
.wl-th--stock { width: 220px; }
.wl-th--actions { width: 220px; text-align: right; }

.wl-row {
	border-bottom: 1px solid rgba(197, 164, 118, 0.15);
	transition: background-color 0.2s ease;
}
.wl-row:hover { background: rgba(197, 164, 118, 0.03); }
.wl-row:last-child { border-bottom: none; }

.wl-cell { padding: 20px 16px 20px 0; vertical-align: middle; }
.wl-cell--image { padding-right: 16px; }
.wl-cell--actions { text-align: right; padding-right: 0; }

.wl-thumb-link { display: inline-block; }
.wl-thumb {
	display: block; width: 100px; height: 100px; overflow: hidden;
	background: #060607; border: 1px solid var(--lumiere-border);
}
.wl-thumb img { width: 100%; height: 100%; object-fit: cover; }

.wl-name-link { text-decoration: none; }
.wl-name {
	font-family: var(--lumiere-font-display); font-size: 18px; font-weight: 500;
	line-height: 1.25; color: var(--lumiere-foreground); margin: 0 0 6px;
	transition: color 0.2s ease;
}
.wl-name-link:hover .wl-name { color: var(--lumiere-brand); }
.wl-attrs {
	font-size: 12px; color: var(--lumiere-ink-tertiary); margin: 0 0 8px;
}
.wl-saved {
	font-size: 11px; letter-spacing: 0.04em; color: var(--lumiere-ink-tertiary);
	margin: 0; display: flex; align-items: center; gap: 6px;
}
.wl-saved svg { width: 12px; height: 12px; }

.wl-price {
	font-family: var(--lumiere-font-display); font-size: 20px; font-weight: 500;
	color: var(--lumiere-brand); margin: 0;
}

.wl-stock-dot {
	display: inline-block; width: 8px; height: 8px; border-radius: 50%;
	flex-shrink: 0; vertical-align: middle; margin-right: 8px;
}
.wl-stock-dot--in { background: var(--lumiere-success); box-shadow: 0 0 6px rgba(90, 122, 94, 0.5); }
.wl-stock-dot--low { background: var(--lumiere-warning); box-shadow: 0 0 6px rgba(166, 139, 75, 0.5); }
.wl-stock-dot--backorder { background: var(--lumiere-ink-tertiary); }
.wl-stock-dot--out { background: var(--lumiere-destructive); }

.wl-stock-label { font-size: 13px; vertical-align: middle; }
.wl-stock-label--in { color: var(--lumiere-success); }
.wl-stock-label--low { color: var(--lumiere-warning); }
.wl-stock-label--backorder { color: var(--lumiere-ink-secondary); }
.wl-stock-label--out { color: var(--lumiere-destructive); }

.wl-actions { display: flex; align-items: center; justify-content: flex-end; gap: 8px; }
.wl-action-btn { text-decoration: none; }
.wl-remove {
	width: 32px; height: 32px; padding: 0;
	display: inline-flex; align-items: center; justify-content: center;
	color: var(--lumiere-ink-tertiary); background: transparent;
	border: none; cursor: pointer; border-radius: 2px;
	transition: color 0.2s ease, background-color 0.2s ease;
}
.wl-remove:hover { color: var(--lumiere-brand); background: var(--lumiere-brand-muted); }

/* Mobile stacked cards (hidden on desktop) */
.wl-mobile-section { display: none; padding-top: 0; padding-bottom: 1rem; }
.wl-mobile-list { display: flex; flex-direction: column; gap: 16px; }
.wl-mobile-card {
	background: var(--lumiere-card); border: 1px solid var(--lumiere-border);
	padding: 20px; position: relative;
}
.wl-remove--mobile { position: absolute; top: 12px; right: 12px; }
.wl-mobile-head { display: flex; gap: 16px; padding-right: 32px; }
.wl-thumb--mobile { width: 110px; height: 110px; flex-shrink: 0; }
.wl-mobile-info { flex: 1; min-width: 0; }
.wl-name--mobile { font-size: 17px; }
.wl-stock-line { display: flex; align-items: center; gap: 8px; margin: 0 0 12px; }
.wl-price--mobile { font-size: 18px; margin: 0 0 12px; }
.wl-saved--mobile { margin-top: 4px; }
.wl-action-btn--mobile { display: flex; width: 100%; margin-top: 12px; }

/* Summary */
.wl-summary-section { padding-top: 1rem; padding-bottom: 2rem; }
.wl-summary {
	display: flex; flex-direction: column; gap: 16px;
	padding-top: 24px; border-top: 1px solid var(--lumiere-divider);
}
.wl-summary-line { display: flex; flex-direction: column; gap: 8px; }
.wl-summary-label {
	font-size: 13px; font-weight: 300; color: var(--lumiere-ink-secondary);
	margin: 0;
}
.wl-summary-value {
	font-family: var(--lumiere-font-display); font-size: 20px; font-weight: 500;
	color: var(--lumiere-brand); margin-left: 8px;
}
.wl-summary-note {
	font-size: 11px; letter-spacing: 0.04em; color: var(--lumiere-ink-tertiary);
	margin: 0; display: flex; align-items: center; gap: 6px;
}
.wl-summary-note svg { color: var(--lumiere-brand); width: 14px; height: 14px; }
.wl-summary-actions { display: flex; }
.wl-summary-cta { text-decoration: none; }

/* Recommendations */
.wl-recs-section { padding-top: 3.5rem; padding-bottom: 3.5rem; }
@media (min-width: 768px) { .wl-recs-section { padding-top: 5rem; padding-bottom: 5rem; } }
@media (min-width: 1024px) { .wl-recs-section { padding-top: 6rem; padding-bottom: 6rem; } }

.wl-recs-head { margin-bottom: 32px; }
@media (min-width: 768px) { .wl-recs-head { margin-bottom: 40px; } }
.wl-recs-eyebrow {
	font-size: 11px; letter-spacing: 0.28em; text-transform: uppercase;
	font-weight: 500; color: var(--lumiere-brand); margin: 0 0 12px;
}
.wl-recs-title {
	font-family: var(--lumiere-font-display); font-weight: 300;
	line-height: 1.1; font-size: clamp(28px, 3.5vw, 40px);
	color: var(--lumiere-foreground); margin: 0;
}

.wl-recs-grid {
	display: grid; grid-template-columns: 1fr; gap: 1.5rem;
}
@media (min-width: 640px) { .wl-recs-grid { grid-template-columns: repeat(2, 1fr); gap: 1.25rem; } }
@media (min-width: 1024px) { .wl-recs-grid { grid-template-columns: repeat(4, 1fr); gap: 1.5rem; } }

.wl-rec-card { background: var(--lumiere-card); }
.wl-rec-card .product-image-wrap {
	position: relative; aspect-ratio: 1 / 1; overflow: hidden;
	background: #060607; border: 1px solid var(--lumiere-border);
	margin-bottom: 16px;
}
.wl-rec-card .product-image-wrap img {
	width: 100%; height: 100%; object-fit: cover;
	transition: transform 0.7s cubic-bezier(0.2, 0.8, 0.2, 1);
}
.wl-rec-card:hover .product-image-wrap img { transform: scale(1.06); }
.wl-rec-body { padding: 0 4px; }
.wl-rec-name {
	font-family: var(--lumiere-font-display); font-size: 17px; font-weight: 500;
	line-height: 1.25; margin: 0 0 8px;
}
.wl-rec-name a { color: var(--lumiere-foreground); text-decoration: none; transition: color 0.2s ease; }
.wl-rec-name a:hover { color: var(--lumiere-brand); }
.wl-rec-price {
	font-family: var(--lumiere-font-display); font-size: 18px; font-weight: 500;
	color: var(--lumiere-foreground); margin: 0;
}

/* Responsive: switch table → mobile cards below 768px */
@media (max-width: 767px) {
	.wl-table-section { display: none; }
	.wl-mobile-section { display: block; }
	.wl-breadcrumbs-section { padding-top: 110px; }
}

/* Removing animation */
.wl-row.is-removing {
	opacity: 0; transform: translateX(20px);
	transition: opacity 0.3s ease, transform 0.3s ease;
}
.wl-mobile-card.is-removing {
	opacity: 0; transform: scale(0.95);
	transition: opacity 0.3s ease, transform 0.3s ease;
}

/* ========== 52. Error 404 Page (.lumiere-error-404) ========== */

.lumiere-error-404 { background: var(--lumiere-background); color: var(--lumiere-foreground); }

/* Icon sizes scoped to 404 */
.lumiere-error-404 .icon-3,
.lumiere-error-404 .icon-3-5,
.lumiere-error-404 .icon-4,
.lumiere-error-404 .icon-5 { display: inline-block; }
.lumiere-error-404 .icon-3 { width: 12px; height: 12px; }
.lumiere-error-404 .icon-3-5 { width: 14px; height: 14px; }
.lumiere-error-404 .icon-4 { width: 16px; height: 16px; }
.lumiere-error-404 .icon-5 { width: 20px; height: 20px; }

/* Animations */
@keyframes lumiere-float-404 {
	0%, 100% { transform: translateY(0); }
	50% { transform: translateY(-8px); }
}
@keyframes lumiere-sparkle-1 {
	0%, 100% { opacity: 0.4; transform: scale(0.8) rotate(0deg); }
	50% { opacity: 1; transform: scale(1.1) rotate(180deg); }
}
@keyframes lumiere-sparkle-2 {
	0%, 100% { opacity: 0.6; transform: scale(1) rotate(0deg); }
	50% { opacity: 0.2; transform: scale(0.7) rotate(-180deg); }
}

/* Hero */
.err-hero {
	position: relative; min-height: 100vh;
	display: flex; align-items: center; justify-content: center;
	overflow: hidden; padding: 80px 0 60px;
}
.err-hero-bg {
	position: absolute; inset: 0; z-index: 0; opacity: 0.06; pointer-events: none;
}
.err-hero-bg img {
	width: 100%; height: 100%; object-fit: cover; object-position: center 30%;
	filter: blur(2px);
}
.err-hero-bg::after {
	content: ""; position: absolute; inset: 0;
	background: radial-gradient(ellipse at center, transparent 30%, var(--lumiere-background) 75%);
}
.err-hero-corner {
	position: absolute; width: 28px; height: 28px; pointer-events: none; z-index: 5;
	border-color: var(--lumiere-brand); border-style: solid; border-width: 0; opacity: 0.4;
}
.err-hero-corner--tl { top: 100px; left: 24px; border-top-width: 1px; border-left-width: 1px; }
.err-hero-corner--br { bottom: 48px; right: 24px; border-bottom-width: 1px; border-right-width: 1px; }
@media (min-width: 768px) {
	.err-hero-corner--tl { left: 48px; }
	.err-hero-corner--br { right: 48px; }
}

.err-hero-inner {
	position: relative; z-index: 10; text-align: center;
	max-width: 800px; margin: 0 auto; padding: 0 24px;
}
.err-hero-eyebrow {
	font-size: 10px; letter-spacing: 0.35em; text-transform: uppercase;
	font-weight: 500; color: var(--lumiere-brand); margin: 0 0 32px;
}
@media (min-width: 768px) { .err-hero-eyebrow { font-size: 11px; margin-bottom: 32px; } }

.err-hero-number {
	font-family: var(--lumiere-font-display); font-weight: 300;
	font-size: clamp(120px, 20vw, 240px); line-height: 0.9;
	letter-spacing: -0.04em; position: relative;
	display: inline-flex; align-items: center; justify-content: center;
	margin-bottom: 16px;
	background: linear-gradient(
		180deg,
		var(--lumiere-brand-light) 0%,
		var(--lumiere-brand) 40%,
		var(--lumiere-brand-dark) 100%
	);
	-webkit-background-clip: text; background-clip: text;
	-webkit-text-fill-color: transparent;
	animation: lumiere-float-404 6s ease-in-out infinite;
	user-select: none;
}
@media (min-width: 768px) { .err-hero-number { margin-bottom: 24px; } }

.err-hero-zero { position: relative; display: inline-flex; align-items: center; justify-content: center; margin: 0 -0.05em; }
.err-sparkle {
	position: absolute; color: var(--lumiere-brand);
	-webkit-text-fill-color: var(--lumiere-brand);
}
.err-sparkle--1 { width: 24px; height: 24px; top: 15%; left: 50%; transform: translateX(-50%); animation: lumiere-sparkle-1 3s ease-in-out infinite; }
.err-sparkle--2 { width: 12px; height: 12px; top: 60%; left: 25%; animation: lumiere-sparkle-2 4s ease-in-out infinite; animation-delay: 1s; }
.err-sparkle--3 { width: 12px; height: 12px; top: 55%; right: 20%; animation: lumiere-sparkle-2 4s ease-in-out infinite; animation-delay: 2s; }
@media (min-width: 768px) {
	.err-sparkle--1 { width: 32px; height: 32px; }
	.err-sparkle--2 { width: 16px; height: 16px; }
	.err-sparkle--3 { width: 16px; height: 16px; }
}

.err-hero-title {
	font-family: var(--lumiere-font-display); font-weight: 300;
	line-height: 1.1; letter-spacing: -0.01em;
	font-size: clamp(28px, 4vw, 48px); color: var(--lumiere-foreground);
	margin: 0 0 20px;
}
@media (min-width: 768px) { .err-hero-title { margin-bottom: 24px; } }
.err-hero-title-gold { font-style: italic; }

.err-hero-desc {
	font-size: 14px; line-height: 1.8; font-weight: 300;
	color: var(--lumiere-ink-secondary); max-width: 36em; margin: 0 auto;
}
@media (min-width: 768px) { .err-hero-desc { font-size: 16px; } }

.err-hero-divider { width: 96px; margin: 32px auto; }
@media (min-width: 768px) { .err-hero-divider { margin: 40px auto; } }

.err-hero-cta {
	display: flex; flex-direction: column; gap: 12px; align-items: center; justify-content: center;
}
@media (min-width: 640px) { .err-hero-cta { flex-direction: row; } }
.err-hero-cta .btn-primary,
.err-hero-cta .btn-ghost { text-decoration: none; }

.err-hero-scroll {
	position: absolute; bottom: 32px; left: 50%; transform: translateX(-50%);
	display: flex; flex-direction: column; align-items: center; gap: 8px;
	z-index: 10; opacity: 0.5;
}
.err-hero-scroll-label {
	font-size: 9px; letter-spacing: 0.3em; text-transform: uppercase;
	color: var(--lumiere-ink-tertiary);
}
.err-hero-scroll-icon { color: var(--lumiere-brand); animation: lumiere-bounce 2s ease-in-out infinite; }
@keyframes lumiere-bounce {
	0%, 100% { transform: translateY(0); }
	50% { transform: translateY(4px); }
}

/* Destinations */
.err-dest-section {
	padding: 64px 0;
	background: var(--lumiere-surface-2);
}
@media (min-width: 768px) { .err-dest-section { padding: 80px 0; } }

.err-dest-head { text-align: center; margin-bottom: 40px; }
@media (min-width: 768px) { .err-dest-head { margin-bottom: 48px; } }
.err-dest-eyebrow {
	font-size: 10px; letter-spacing: 0.3em; text-transform: uppercase;
	font-weight: 500; color: var(--lumiere-brand); margin: 0 0 12px;
}
.err-dest-title {
	font-family: var(--lumiere-font-display); font-weight: 300;
	line-height: 1.1; font-size: clamp(26px, 3vw, 38px);
	color: var(--lumiere-foreground); margin: 0;
}

.err-dest-grid {
	display: grid; grid-template-columns: 1fr; gap: 1rem;
	max-width: 1200px; margin: 0 auto;
}
@media (min-width: 640px) { .err-dest-grid { grid-template-columns: repeat(2, 1fr); gap: 1.25rem; } }
@media (min-width: 1024px) { .err-dest-grid { grid-template-columns: repeat(4, 1fr); gap: 1.5rem; } }

.err-dest-card {
	display: block; padding: 28px; text-decoration: none; color: inherit;
}
@media (min-width: 768px) { .err-dest-card { padding: 32px; } }
.err-dest-icon {
	display: inline-flex; align-items: center; justify-content: center;
	width: 48px; height: 48px; margin-bottom: 20px;
	background: var(--lumiere-brand-muted); border: 1px solid var(--lumiere-brand);
}
.err-dest-card-title {
	font-family: var(--lumiere-font-display); font-size: 20px; font-weight: 300;
	color: var(--lumiere-foreground); margin: 0 0 8px;
}
@media (min-width: 768px) { .err-dest-card-title { font-size: 22px; } }
.err-dest-card-desc {
	font-size: 13px; line-height: 1.6; font-weight: 300;
	color: var(--lumiere-ink-secondary); margin: 0 0 16px;
}
.err-dest-card-cta {
	display: inline-flex; align-items: center; gap: 8px;
	font-size: 11px; letter-spacing: 0.18em; text-transform: uppercase;
	font-weight: 500; color: var(--lumiere-brand);
	transition: gap 0.2s ease;
}
.err-dest-card:hover .err-dest-card-cta { gap: 12px; }

/* Featured product */
.err-featured-section { padding: 64px 0; }
@media (min-width: 768px) { .err-featured-section { padding: 80px 0; } }
.err-featured-container { max-width: 1000px; }
.err-featured-card { position: relative; overflow: hidden; }
.err-featured-image {
	position: relative; aspect-ratio: 4 / 5; overflow: hidden;
	background: #050505;
}
.err-featured-image img { width: 100%; height: 100%; object-fit: cover; }
.err-featured-image::after {
	content: ""; position: absolute; inset: 0; pointer-events: none;
	box-shadow: inset 0 0 60px rgba(0, 0, 0, 0.4);
}
.err-featured-badge {
	position: absolute; top: 16px; left: 16px; z-index: 2;
	font-size: 10px; letter-spacing: 0.22em; text-transform: uppercase;
	font-weight: 500; padding: 6px 12px;
	background: var(--lumiere-brand); color: var(--lumiere-brand-foreground);
}
.err-featured-body { padding: 32px; }
@media (min-width: 768px) { .err-featured-body { padding: 48px; } }
@media (min-width: 1024px) { .err-featured-body { padding: 56px; } }

@media (min-width: 768px) {
	.err-featured-card { display: grid; grid-template-columns: 1fr 1fr; gap: 0; }
	.err-featured-image { aspect-ratio: auto; }
}
.err-featured-eyebrow {
	font-size: 10px; letter-spacing: 0.3em; text-transform: uppercase;
	font-weight: 500; color: var(--lumiere-brand); margin: 0 0 16px;
}
.err-featured-title {
	font-family: var(--lumiere-font-display); font-weight: 300;
	line-height: 1.1; font-size: clamp(28px, 3vw, 38px);
	color: var(--lumiere-foreground); margin: 0 0 12px;
}
.err-featured-desc {
	font-size: 14px; line-height: 1.7; font-weight: 300;
	color: var(--lumiere-ink-secondary); margin: 0 0 24px;
}
.err-featured-desc p { margin: 0 0 12px; }
.err-featured-desc p:last-child { margin-bottom: 0; }
.err-featured-price {
	font-family: var(--lumiere-font-display); font-size: 30px; font-weight: 300;
	color: var(--lumiere-brand); margin: 0 0 32px;
}
@media (min-width: 768px) { .err-featured-price { font-size: 36px; } }
.err-featured-cta { display: flex; flex-direction: column; gap: 12px; }
@media (min-width: 640px) { .err-featured-cta { flex-direction: row; } }
.err-featured-cta .btn-primary,
.err-featured-cta .btn-ghost { text-decoration: none; }

/* Search */
.err-search-section {
	padding: 64px 0;
	background: var(--lumiere-surface-2);
	border-top: 1px solid var(--lumiere-divider);
	border-bottom: 1px solid var(--lumiere-divider);
}
@media (min-width: 768px) { .err-search-section { padding: 80px 0; } }
.err-search-container { max-width: 720px; }
.err-search-inner { text-align: center; }
.err-search-eyebrow {
	font-size: 10px; letter-spacing: 0.3em; text-transform: uppercase;
	font-weight: 500; color: var(--lumiere-brand); margin: 0 0 12px;
}
.err-search-title {
	font-family: var(--lumiere-font-display); font-weight: 300;
	line-height: 1.1; font-size: clamp(24px, 3vw, 34px);
	color: var(--lumiere-foreground); margin: 0 0 12px;
}
.err-search-desc {
	font-size: 14px; line-height: 1.7; font-weight: 300;
	color: var(--lumiere-ink-secondary); margin: 0 0 32px;
}
.err-search-form { position: relative; }
.err-search-input {
	background: transparent; color: var(--lumiere-foreground);
	border: 1px solid var(--lumiere-brand); padding: 18px 64px 18px 24px;
	font-size: 15px; font-family: var(--lumiere-font-body);
	outline: none; width: 100%;
	transition: box-shadow 0.3s ease, background-color 0.3s ease;
}
.err-search-input:focus {
	box-shadow: 0 0 0 1px var(--lumiere-brand), 0 0 24px rgba(197, 164, 118, 0.15);
	background: rgba(197, 164, 118, 0.03);
}
.err-search-input::placeholder { color: var(--lumiere-ink-tertiary); }
.err-search-btn {
	position: absolute; right: 4px; top: 50%; transform: translateY(-50%);
	width: 48px; height: 48px;
	display: flex; align-items: center; justify-content: center;
	background: var(--lumiere-brand); color: var(--lumiere-brand-foreground);
	border: none; cursor: pointer; transition: background-color 0.2s ease;
}
.err-search-btn:hover { background: var(--lumiere-brand-light); }

/* Reduced motion */
@media (prefers-reduced-motion: reduce) {
	.lumiere-wishlist .wl-row,
	.lumiere-wishlist .wl-mobile-card,
	.lumiere-wishlist .wl-name,
	.lumiere-wishlist .wl-rec-card .product-image-wrap img,
	.lumiere-wishlist .wl-remove,
	.lumiere-wishlist .wl-action-btn { transition: none !important; transform: none !important; }
	.lumiere-error-404 .err-hero-number,
	.lumiere-error-404 .err-sparkle,
	.lumiere-error-404 .err-sparkle--2,
	.lumiere-error-404 .err-sparkle--3,
	.lumiere-error-404 .err-hero-scroll-icon { animation: none !important; }
	.lumiere-error-404 .err-sparkle { opacity: 1; }
	.lumiere-error-404 .luxury-card,
        .lumiere-error-404 .err-search-btn,
        .lumiere-error-404 .err-search-input { transition: none !important; }
}

/* ========== 53. Header Currency / Language Switchers ========== */
/* Real switchers rendered by Lumiere Commerce Extensions. */
.lumiere-header__currency[data-lumiere-currency-switcher],
.lumiere-header__lang[data-lumiere-lang-switcher] {
	position: relative;
	display: flex;
	align-items: center;
	gap: 2px;
	margin-right: 4px;
}

.lumiere-header__currency-btn,
.lumiere-header__lang-btn {
	display: flex;
	align-items: center;
	gap: 2px;
	background: none;
	border: none;
	padding: 8px;
	margin: 0;
	font: inherit;
	font-size: 0.75rem;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	color: var(--lumiere-text-muted);
	cursor: pointer;
	border-radius: var(--radius-sm);
	transition: color var(--transition-fast);
}

.lumiere-header__currency-btn:hover,
.lumiere-header__lang-btn:hover {
	color: var(--lumiere-gold);
}

.lumiere-header__currency-btn i,
.lumiere-header__lang-btn i {
	width: 14px;
	height: 14px;
	transition: transform 0.25s ease;
}

.lumiere-header__currency.is-open .lumiere-header__currency-btn i,
.lumiere-header__lang.is-open .lumiere-header__lang-btn i {
	transform: rotate(180deg);
}

.lumiere-header__currency-menu,
.lumiere-header__lang-menu {
	position: absolute;
	top: calc(100% + 8px);
	left: 0;
	min-width: 130px;
	margin: 0;
	padding: 6px;
	list-style: none;
	background: var(--lumiere-card, #141218);
	border: 1px solid rgba(197, 164, 118, 0.2);
	border-radius: var(--radius-sm, 8px);
	box-shadow: 0 12px 32px rgba(0, 0, 0, 0.45);
	opacity: 0;
	visibility: hidden;
	transform: translateY(6px);
	transition: opacity 0.2s ease, transform 0.2s ease, visibility 0.2s;
	z-index: 1200;
}

.lumiere-header__currency.is-open .lumiere-header__currency-menu,
.lumiere-header__lang.is-open .lumiere-header__lang-menu {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
}

.lumiere-header__currency-menu li,
.lumiere-header__lang-menu li {
	margin: 0;
}

.lumiere-header__currency-option,
.lumiere-header__lang-option {
	display: block;
	padding: 8px 12px;
	font-size: 0.8rem;
	color: var(--lumiere-text);
	text-decoration: none;
	border-radius: 6px;
	white-space: nowrap;
	transition: background-color 0.15s ease, color 0.15s ease;
}

.lumiere-header__currency-option:hover,
.lumiere-header__lang-option:hover {
	background: rgba(197, 164, 118, 0.12);
	color: var(--lumiere-gold);
}

.lumiere-header__currency-option.is-active,
.lumiere-header__lang-option.is-active {
	color: var(--lumiere-gold);
	font-weight: 500;
}

@media (max-width: 767px) {
	.lumiere-header__currency[data-lumiere-currency-switcher],
	.lumiere-header__lang[data-lumiere-lang-switcher] {
		display: none;
	}
}


