.emdc-catalog {
	--emdc-bg: #faf7f3;
	--emdc-surface: rgba(255, 252, 248, 0.74);
	--emdc-surface-strong: rgba(255, 254, 252, 0.98);
	--emdc-ink: #181311;
	--emdc-muted: #85786c;
	--emdc-line: rgba(109, 93, 74, 0.08);
	--emdc-gold: #bea27b;
	--emdc-gold-deep: #9a7442;
	--emdc-burgundy: #2e2620;
	--emdc-shadow: 0 20px 44px rgba(46, 32, 20, 0.08);
	--emdc-panel-border: rgba(255, 255, 255, 0.72);
	--emdc-panel-fill: rgba(255, 255, 255, 0.84);
	--emdc-input-fill: rgba(255, 255, 255, 0.92);
	--emdc-input-border: rgba(109, 93, 74, 0.12);
	--emdc-soft-fill: rgba(252, 248, 243, 0.8);
	--emdc-soft-fill-strong: rgba(241, 233, 223, 0.95);
	--emdc-card-fill: rgba(255, 253, 250, 0.98);
	--emdc-card-border: rgba(190, 162, 123, 0.18);
	--emdc-stage-surface-start: #fffdfa;
	--emdc-stage-surface-mid: #f8f1e9;
	--emdc-stage-surface-end: #f0e4d7;
	--emdc-chip-fill: rgba(255, 255, 255, 0.88);
	--emdc-chip-fill-active: rgba(245, 239, 231, 0.96);
	--emdc-chip-indicator: rgba(59, 47, 38, 0.18);
	--emdc-chip-grid-fill: rgba(196, 180, 158, 0.2);
	--emdc-shape-fill-start: rgba(255, 255, 255, 0.98);
	--emdc-shape-fill-end: rgba(250, 246, 242, 0.96);
	--emdc-shape-active-start: rgba(240, 233, 222, 0.98);
	--emdc-shape-active-end: rgba(231, 221, 209, 0.98);
	--emdc-shape-icon-bg: rgba(255, 255, 255, 0.7);
	--emdc-slider-track: rgba(231, 221, 209, 0.9);
	--emdc-slider-thumb: var(--emdc-burgundy);
	--emdc-note-success: rgba(214, 240, 223, 0.54);
	--emdc-note-success-border: rgba(115, 162, 124, 0.2);
	--emdc-note-danger: rgba(179, 109, 92, 0.12);
	--emdc-note-danger-border: rgba(179, 109, 92, 0.22);
	--emdc-media-start: #2a221d;
	--emdc-media-end: #5f5145;
	--emdc-placeholder-top: rgba(255, 255, 255, 0.96);
	--emdc-placeholder-mid: rgba(201, 165, 106, 0.14);
	--emdc-placeholder-start: #fffdfa;
	--emdc-placeholder-end: #f1e8de;
	--emdc-overlay-tint: rgba(22, 18, 16, 0.82);
	--emdc-loading-wash: rgba(253, 248, 242, 0.6);
	--emdc-stage-glow-a: rgba(240, 228, 208, 0.28);
	--emdc-stage-glow-b: rgba(201, 165, 106, 0.1);
	color: var(--emdc-ink);
	font-family: "Avenir Next", "Segoe UI", sans-serif;
	position: relative;
	display: block;
	width: 100vw;
	max-width: 100vw !important;
	margin-left: calc(50% - 50vw) !important;
	margin-right: calc(50% - 50vw) !important;
	padding: 28px 0 36px;
	background:
		linear-gradient(180deg, color-mix(in srgb, var(--emdc-bg) 88%, #ffffff 12%) 0%, var(--emdc-bg) 100%);
}

.emdc-catalog[data-theme-palette="champagne"] {
	--emdc-bg: #fbf8f1;
	--emdc-surface: rgba(255, 249, 239, 0.88);
	--emdc-surface-strong: rgba(255, 252, 246, 0.99);
	--emdc-ink: #1b1510;
	--emdc-muted: #8b7a6a;
	--emdc-line: rgba(124, 99, 66, 0.1);
	--emdc-gold: #d0ab74;
	--emdc-gold-deep: #a97a36;
	--emdc-burgundy: #35261b;
	--emdc-shadow: 0 20px 44px rgba(53, 38, 27, 0.08);
	--emdc-panel-fill: rgba(255, 247, 235, 0.94);
	--emdc-input-fill: rgba(255, 252, 246, 0.98);
	--emdc-soft-fill: rgba(248, 238, 223, 0.92);
	--emdc-soft-fill-strong: rgba(241, 225, 198, 0.96);
	--emdc-card-fill: rgba(255, 252, 246, 0.99);
	--emdc-card-border: rgba(208, 171, 116, 0.26);
	--emdc-stage-surface-start: #fffdf8;
	--emdc-stage-surface-mid: #faf1e0;
	--emdc-stage-surface-end: #f2dfc0;
	--emdc-chip-grid-fill: rgba(219, 191, 146, 0.24);
	--emdc-shape-active-start: rgba(246, 236, 217, 0.98);
	--emdc-shape-active-end: rgba(236, 217, 184, 0.98);
	--emdc-media-start: #493324;
	--emdc-media-end: #d0ab74;
	--emdc-placeholder-top: rgba(255, 252, 246, 0.97);
	--emdc-placeholder-start: #fffdf8;
	--emdc-stage-glow-a: rgba(235, 215, 177, 0.26);
	--emdc-stage-glow-b: rgba(208, 171, 116, 0.18);
	--emdc-loading-wash: rgba(251, 248, 241, 0.66);
}

.emdc-catalog[data-theme-palette="ice"] {
	--emdc-bg: #edf6fb;
	--emdc-surface: rgba(240, 248, 253, 0.9);
	--emdc-surface-strong: rgba(250, 253, 255, 0.99);
	--emdc-ink: #18202a;
	--emdc-muted: #718195;
	--emdc-line: rgba(68, 96, 128, 0.1);
	--emdc-gold: #86aeca;
	--emdc-gold-deep: #4c7ea7;
	--emdc-burgundy: #203449;
	--emdc-shadow: 0 20px 44px rgba(30, 57, 79, 0.08);
	--emdc-panel-fill: rgba(232, 244, 252, 0.96);
	--emdc-input-fill: rgba(255, 255, 255, 0.98);
	--emdc-soft-fill: rgba(226, 240, 250, 0.94);
	--emdc-soft-fill-strong: rgba(207, 228, 244, 0.98);
	--emdc-card-fill: rgba(246, 251, 255, 0.99);
	--emdc-card-border: rgba(134, 174, 202, 0.26);
	--emdc-stage-surface-start: #fbfeff;
	--emdc-stage-surface-mid: #eef6fb;
	--emdc-stage-surface-end: #dbeaf5;
	--emdc-chip-fill-active: rgba(228, 241, 250, 0.98);
	--emdc-chip-indicator: rgba(76, 126, 167, 0.22);
	--emdc-chip-grid-fill: rgba(166, 198, 224, 0.24);
	--emdc-shape-fill-end: rgba(241, 248, 252, 0.96);
	--emdc-shape-active-start: rgba(236, 246, 253, 0.98);
	--emdc-shape-active-end: rgba(214, 232, 246, 0.98);
	--emdc-shape-icon-bg: rgba(245, 251, 255, 0.94);
	--emdc-slider-track: rgba(198, 220, 238, 0.92);
	--emdc-media-start: #203449;
	--emdc-media-end: #86aeca;
	--emdc-placeholder-top: rgba(252, 254, 255, 0.97);
	--emdc-placeholder-mid: rgba(134, 174, 202, 0.18);
	--emdc-placeholder-start: #f7fbfe;
	--emdc-placeholder-end: #e6f1f7;
	--emdc-stage-glow-a: rgba(221, 239, 250, 0.3);
	--emdc-stage-glow-b: rgba(134, 174, 202, 0.2);
	--emdc-loading-wash: rgba(237, 246, 251, 0.68);
}

.emdc-catalog[data-theme-palette="rose"] {
	--emdc-bg: #fbf4f2;
	--emdc-surface: rgba(255, 245, 242, 0.9);
	--emdc-surface-strong: rgba(255, 250, 249, 0.99);
	--emdc-ink: #211615;
	--emdc-muted: #8f7772;
	--emdc-line: rgba(137, 100, 92, 0.1);
	--emdc-gold: #ca9a91;
	--emdc-gold-deep: #a86d62;
	--emdc-burgundy: #442a26;
	--emdc-shadow: 0 20px 44px rgba(68, 42, 38, 0.08);
	--emdc-panel-fill: rgba(255, 240, 236, 0.95);
	--emdc-input-fill: rgba(255, 252, 251, 0.98);
	--emdc-soft-fill: rgba(247, 231, 227, 0.94);
	--emdc-soft-fill-strong: rgba(240, 220, 215, 0.98);
	--emdc-card-fill: rgba(255, 248, 246, 0.99);
	--emdc-card-border: rgba(202, 154, 145, 0.24);
	--emdc-stage-surface-start: #fffaf8;
	--emdc-stage-surface-mid: #f7e9e5;
	--emdc-stage-surface-end: #edd6d1;
	--emdc-chip-fill-active: rgba(247, 231, 227, 0.98);
	--emdc-chip-grid-fill: rgba(222, 187, 179, 0.24);
	--emdc-shape-active-start: rgba(250, 236, 233, 0.98);
	--emdc-shape-active-end: rgba(238, 214, 208, 0.98);
	--emdc-media-start: #442a26;
	--emdc-media-end: #ca9a91;
	--emdc-placeholder-top: rgba(255, 251, 250, 0.97);
	--emdc-placeholder-mid: rgba(202, 154, 145, 0.18);
	--emdc-placeholder-start: #fff8f7;
	--emdc-placeholder-end: #f2e2dd;
	--emdc-stage-glow-a: rgba(247, 223, 218, 0.3);
	--emdc-stage-glow-b: rgba(202, 154, 145, 0.2);
	--emdc-loading-wash: rgba(251, 244, 242, 0.68);
}

.emdc-catalog[data-theme-palette="graphite"] {
	--emdc-bg: #f4f2f0;
	--emdc-surface: rgba(247, 244, 241, 0.92);
	--emdc-surface-strong: rgba(255, 253, 251, 0.99);
	--emdc-ink: #181312;
	--emdc-muted: #7d746d;
	--emdc-line: rgba(97, 88, 81, 0.1);
	--emdc-gold: #a99686;
	--emdc-gold-deep: #7f6c5c;
	--emdc-burgundy: #231d19;
	--emdc-shadow: 0 20px 44px rgba(35, 29, 25, 0.08);
	--emdc-panel-fill: rgba(248, 245, 243, 0.95);
	--emdc-input-fill: rgba(255, 254, 253, 0.98);
	--emdc-soft-fill: rgba(236, 231, 226, 0.95);
	--emdc-soft-fill-strong: rgba(228, 222, 216, 0.99);
	--emdc-card-fill: rgba(255, 252, 250, 0.99);
	--emdc-card-border: rgba(169, 150, 134, 0.24);
	--emdc-stage-surface-start: #fcfbfa;
	--emdc-stage-surface-mid: #f0ebe7;
	--emdc-stage-surface-end: #e2d8d0;
	--emdc-chip-fill-active: rgba(235, 230, 225, 0.98);
	--emdc-chip-grid-fill: rgba(196, 182, 169, 0.24);
	--emdc-shape-active-start: rgba(240, 236, 232, 0.98);
	--emdc-shape-active-end: rgba(224, 217, 210, 0.98);
	--emdc-media-start: #2f2722;
	--emdc-media-end: #8e7c6d;
	--emdc-placeholder-top: rgba(255, 254, 252, 0.97);
	--emdc-placeholder-mid: rgba(169, 150, 134, 0.16);
	--emdc-placeholder-start: #faf8f6;
	--emdc-placeholder-end: #ece8e4;
	--emdc-stage-glow-a: rgba(226, 216, 208, 0.28);
	--emdc-stage-glow-b: rgba(169, 150, 134, 0.18);
	--emdc-loading-wash: rgba(244, 242, 240, 0.66);
}

.emdc-catalog.alignfull {
	max-width: none !important;
}

.emdc-shell {
	width: min(1760px, calc(100vw - clamp(24px, 4vw, 64px)));
	max-width: 100%;
	margin: 0 auto;
}

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

.emdc-stage {
	position: relative;
	overflow: hidden;
	border: 1px solid var(--emdc-panel-border);
	border-radius: 36px;
	background:
		radial-gradient(circle at top left, rgba(255, 255, 255, 0.98), transparent 42%),
		linear-gradient(135deg, var(--emdc-stage-surface-start) 0%, var(--emdc-stage-surface-mid) 48%, var(--emdc-stage-surface-end) 100%);
	box-shadow: var(--emdc-shadow);
}

.emdc-stage-glow {
	position: absolute;
	border-radius: 999px;
	filter: blur(70px);
	opacity: 0.2;
	pointer-events: none;
}

.emdc-stage-glow-a {
	top: -70px;
	left: -80px;
	width: 240px;
	height: 240px;
	background: var(--emdc-stage-glow-a);
}

.emdc-stage-glow-b {
	right: -90px;
	bottom: -90px;
	width: 280px;
	height: 280px;
	background: var(--emdc-stage-glow-b);
}

.emdc-kicker,
.emdc-eyebrow,
.emdc-results-kicker {
	font-size: 0.72rem;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--emdc-burgundy);
	font-weight: 700;
}

.emdc-modal-content h3,
.emdc-results-meta h3,
.emdc-sidebar-head h3,
.emdc-compare-tray h4,
.emdc-empty-state h4 {
	font-family: "Bodoni 72", "Didot", "Times New Roman", serif;
	font-weight: 600;
	letter-spacing: -0.02em;
	margin: 0;
}

.emdc-workbench {
	position: relative;
	display: grid;
	grid-template-columns: minmax(280px, 340px) minmax(0, 1fr);
	gap: 26px;
	padding: 28px;
}

.emdc-panel {
	position: relative;
	min-width: 0;
	border-radius: 28px;
	border: 1px solid rgba(255, 255, 255, 0.72);
	background: var(--emdc-surface);
	backdrop-filter: blur(10px);
}

.emdc-sidebar {
	padding: 22px;
	align-self: start;
	position: relative;
	top: 0;
	max-height: none;
	overflow: visible;
}

.emdc-sidebar-head,
.emdc-results-toolbar,
.emdc-card-title-row,
.emdc-card-actions,
.emdc-search-row,
.emdc-tab-row,
.emdc-compare-tray,
.emdc-compare-actions {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
}

.emdc-sidebar-head {
	margin-bottom: 18px;
}

.emdc-link-button,
.emdc-modal-link,
.emdc-mini-button,
.emdc-dot-button,
.emdc-icon-button,
.emdc-tab {
	appearance: none;
	border: 0;
	background: transparent;
	cursor: pointer;
	font: inherit;
	color: inherit;
}

.emdc-link-button {
	color: var(--emdc-burgundy);
	font-weight: 700;
}

.emdc-filter-group {
	margin-bottom: 18px;
}

.emdc-filter-group-featured {
	padding: 16px;
	border-radius: 22px;
	background: rgba(255, 255, 255, 0.84);
	border: 1px solid rgba(109, 93, 74, 0.08);
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.84);
}

.emdc-filter-group-shapes {
	margin-bottom: 24px;
}

.emdc-filter-label,
.emdc-input-label {
	display: block;
	margin-bottom: 10px;
	font-size: 0.86rem;
	font-weight: 700;
	color: var(--emdc-ink);
}

.emdc-search-input,
.emdc-text-input,
.emdc-range-input input,
.emdc-select-wrap select {
	width: 100%;
	border: 1px solid var(--emdc-input-border);
	border-radius: 16px;
	background: var(--emdc-input-fill);
	color: var(--emdc-ink);
	padding: 14px 16px;
	font: inherit;
	outline: none;
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.7);
}

.emdc-search-input:focus,
.emdc-text-input:focus,
.emdc-range-input input:focus,
.emdc-select-wrap select:focus {
	border-color: color-mix(in srgb, var(--emdc-gold) 52%, transparent);
	box-shadow: 0 0 0 4px color-mix(in srgb, var(--emdc-gold) 16%, transparent);
}

.emdc-search-row {
	align-items: stretch;
}

.emdc-search-row .emdc-search-input {
	flex: 1 1 auto;
}

.emdc-button,
.emdc-mini-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	border-radius: 999px;
	padding: 12px 18px;
	font-size: 0.92rem;
	font-weight: 700;
	text-decoration: none;
	transition: transform 0.22s ease, box-shadow 0.22s ease, background 0.22s ease, color 0.22s ease;
}

.emdc-button:disabled,
.emdc-mini-button:disabled {
	opacity: 0.6;
	cursor: not-allowed;
	transform: none;
	box-shadow: none;
}

.emdc-button:hover,
.emdc-mini-button:hover,
.emdc-icon-button:hover,
.emdc-tab:hover,
.emdc-dot-button:hover {
	transform: translateY( -1px );
}

.emdc-button:disabled:hover,
.emdc-mini-button:disabled:hover {
	transform: none;
}

.emdc-button-primary {
	background: var(--emdc-burgundy);
	color: #fff;
	box-shadow: 0 10px 22px color-mix(in srgb, var(--emdc-burgundy) 18%, transparent);
}

.emdc-button-secondary,
.emdc-mini-button,
.emdc-icon-button,
.emdc-tab {
	background: var(--emdc-input-fill);
	color: var(--emdc-ink);
	border: 1px solid var(--emdc-input-border);
}

.emdc-button-ghost {
	background: var(--emdc-soft-fill);
	color: var(--emdc-muted);
	border: 1px dashed color-mix(in srgb, var(--emdc-line) 90%, var(--emdc-gold) 10%);
}

.emdc-button-purchase,
.emdc-mini-button-purchase,
.emdc-modal-link-purchase {
	background: linear-gradient(135deg, var(--emdc-gold) 0%, var(--emdc-gold-deep) 100%);
	color: #fff;
	border: 1px solid color-mix(in srgb, var(--emdc-gold-deep) 24%, transparent);
	box-shadow: 0 12px 24px color-mix(in srgb, var(--emdc-gold-deep) 24%, transparent);
	background-clip: padding-box;
	outline: none;
}

.emdc-button-purchase.is-in-cart,
.emdc-mini-button-purchase.is-in-cart,
.emdc-modal-link-purchase.is-in-cart {
	background: var(--emdc-soft-fill-strong);
	color: var(--emdc-ink);
	border-color: color-mix(in srgb, var(--emdc-gold) 30%, transparent);
	box-shadow: none;
}

.emdc-purchase-disabled {
	background: var(--emdc-soft-fill);
	color: var(--emdc-muted);
	border: 1px dashed color-mix(in srgb, var(--emdc-line) 88%, var(--emdc-gold) 12%);
	box-shadow: none;
	cursor: not-allowed;
	pointer-events: none;
}

.emdc-button-block {
	width: 100%;
}

.emdc-tab.is-active,
.emdc-icon-button.is-active,
.emdc-mini-button.is-active {
	background: var(--emdc-chip-fill-active);
	border-color: color-mix(in srgb, var(--emdc-gold) 28%, transparent);
}

.emdc-chip-grid {
	display: grid;
	gap: 10px;
}

.emdc-chip {
	position: relative;
	display: block;
}

.emdc-chip-input {
	position: absolute;
	opacity: 0;
	pointer-events: none;
}

.emdc-chip-label {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	min-height: 52px;
	padding: 14px 16px;
	border-radius: 18px;
	background: var(--emdc-chip-fill);
	border: 1px solid var(--emdc-input-border);
	font-size: 0.82rem;
	font-weight: 700;
	color: var(--emdc-ink);
	transition: transform 0.2s ease, border-color 0.2s ease, background 0.2s ease, box-shadow 0.2s ease;
	cursor: pointer;
}

.emdc-chip-input:checked + .emdc-chip-label {
	background: var(--emdc-chip-fill-active);
	border-color: color-mix(in srgb, var(--emdc-gold) 32%, transparent);
	box-shadow: 0 8px 18px rgba(46, 32, 20, 0.05);
}

.emdc-chip-grid-standard {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.emdc-chip-label-text {
	min-width: 0;
	flex: 1 1 auto;
}

.emdc-chip-indicator {
	width: 10px;
	height: 10px;
	border-radius: 999px;
	background: rgba(59, 47, 38, 0.18);
	box-shadow: inset 0 0 0 2px rgba(255, 255, 255, 0.8);
}

.emdc-chip-input:checked + .emdc-chip-label .emdc-chip-indicator {
	background: linear-gradient(135deg, var(--emdc-gold), var(--emdc-burgundy));
	box-shadow: 0 0 0 4px rgba(255, 255, 255, 0.48);
}

.emdc-chip-grid-shapes {
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 1px;
	padding: 1px;
	border-radius: 28px;
	background: var(--emdc-chip-grid-fill);
	overflow: hidden;
}

.emdc-chip-label-shape {
	flex-direction: column;
	justify-content: center;
	align-items: center;
	min-height: 132px;
	padding: 18px 10px 14px;
	border-radius: 0;
	border: 0;
	background:
		linear-gradient(180deg, var(--emdc-shape-fill-start), var(--emdc-shape-fill-end));
	text-align: center;
}

.emdc-chip-label-shape .emdc-chip-label-text {
	flex: 0 1 auto;
	text-align: center;
	line-height: 1.35;
}

.emdc-chip-grid-shapes .emdc-chip:hover .emdc-chip-label-shape,
.emdc-chip-grid-shapes .emdc-chip-input:checked + .emdc-chip-label-shape {
	background:
		linear-gradient(180deg, var(--emdc-shape-active-start), var(--emdc-shape-active-end));
	box-shadow: none;
}

.emdc-shape-badge,
.emdc-table-shape,
.emdc-card-fallback {
	display: inline-flex;
	align-items: center;
	justify-content: center;
}

.emdc-shape-badge svg,
.emdc-table-shape svg,
.emdc-card-fallback svg {
	width: 20px;
	height: 20px;
	color: currentColor;
}

.emdc-shape-fill {
	fill: currentColor;
	fill-opacity: 0.1;
	stroke: currentColor;
	stroke-width: 5;
	stroke-linejoin: round;
}

.emdc-shape-facets {
	fill: none;
	stroke: currentColor;
	stroke-width: 3.6;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.emdc-chip-label-shape .emdc-shape-badge {
	width: 56px;
	height: 56px;
	color: var(--emdc-burgundy);
	padding: 2px;
	border-radius: 999px;
	background: var(--emdc-shape-icon-bg);
	box-shadow: inset 0 0 0 1px var(--emdc-line);
}

.emdc-card-fallback svg {
	width: 74px;
	height: 74px;
}

.emdc-range-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 10px;
}

.emdc-filter-group-price {
	padding: 16px;
	border-radius: 22px;
	background: rgba(255, 255, 255, 0.84);
	border: 1px solid rgba(109, 93, 74, 0.08);
}

.emdc-price-slider {
	--emdc-slider-start: 0%;
	--emdc-slider-end: 100%;
}

.emdc-price-slider-values {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	margin-bottom: 16px;
}

.emdc-price-slider-pill {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 36px;
	padding: 8px 12px;
	border-radius: 999px;
	background: var(--emdc-soft-fill);
	border: 1px solid var(--emdc-input-border);
	font-size: 0.82rem;
	font-weight: 700;
}

.emdc-price-slider-track {
	height: 6px;
	border-radius: 999px;
	background:
		linear-gradient(
				to right,
				var(--emdc-slider-track) 0%,
				var(--emdc-slider-track) var(--emdc-slider-start),
				var(--emdc-gold) var(--emdc-slider-start),
				var(--emdc-gold) var(--emdc-slider-end),
				var(--emdc-slider-track) var(--emdc-slider-end),
				var(--emdc-slider-track) 100%
			);
}

.emdc-price-slider-inputs {
	position: relative;
	height: 30px;
	margin-top: -18px;
}

.emdc-price-slider-inputs input[type="range"] {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 30px;
	margin: 0;
	background: none;
	pointer-events: none;
	appearance: none;
	-webkit-appearance: none;
}

.emdc-price-slider-inputs input[type="range"]::-webkit-slider-runnable-track {
	height: 6px;
	background: transparent;
}

.emdc-price-slider-inputs input[type="range"]::-moz-range-track {
	height: 6px;
	background: transparent;
}

.emdc-price-slider-inputs input[type="range"]::-webkit-slider-thumb {
	-webkit-appearance: none;
	appearance: none;
	width: 18px;
	height: 18px;
	margin-top: -6px;
	border-radius: 999px;
	background: var(--emdc-slider-thumb);
	border: 3px solid #fff;
	box-shadow: 0 6px 16px color-mix(in srgb, var(--emdc-burgundy) 24%, transparent);
	pointer-events: auto;
	cursor: pointer;
}

.emdc-price-slider-inputs input[type="range"]::-moz-range-thumb {
	width: 18px;
	height: 18px;
	border-radius: 999px;
	background: var(--emdc-slider-thumb);
	border: 3px solid #fff;
	box-shadow: 0 6px 16px color-mix(in srgb, var(--emdc-burgundy) 24%, transparent);
	pointer-events: auto;
	cursor: pointer;
}

.emdc-range-input {
	display: grid;
	gap: 8px;
	padding: 12px;
	border-radius: 18px;
	background: rgba(255, 255, 255, 0.72);
	border: 1px solid rgba(109, 93, 74, 0.1);
	font-size: 0.8rem;
	color: var(--emdc-muted);
}

.emdc-range-input small {
	font-size: 0.7rem;
	color: var(--emdc-muted);
}

.emdc-advanced {
	border-top: 1px solid var(--emdc-line);
	padding-top: 14px;
	margin-top: 8px;
}

.emdc-advanced summary {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 12px 16px;
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.9);
	border: 1px solid rgba(109, 93, 74, 0.1);
	cursor: pointer;
	font-weight: 700;
	list-style: none;
}

.emdc-advanced summary::-webkit-details-marker {
	display: none;
}

.emdc-advanced-inner {
	padding-top: 14px;
}

.emdc-checkbox {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	font-weight: 700;
}

.emdc-mobile-filter-toggle-wrap {
	display: none;
}

.emdc-filter-expander {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	padding: 13px 16px;
	border-radius: 999px;
	border: 1px solid var(--emdc-input-border);
	background: var(--emdc-chip-fill);
	font-weight: 700;
	color: var(--emdc-burgundy);
	box-shadow: 0 10px 18px rgba(46, 32, 20, 0.05);
}

.emdc-filter-expander.is-active {
	background: var(--emdc-chip-fill-active);
	border-color: color-mix(in srgb, var(--emdc-gold) 28%, transparent);
}

.emdc-sidebar-actions {
	display: grid;
	grid-template-columns: 1fr;
	gap: 10px;
	margin-top: 18px;
}

.emdc-results {
	min-width: 0;
	padding: 24px;
}

.emdc-results-utility {
	display: grid;
	gap: 14px;
	margin-bottom: 20px;
	padding-bottom: 18px;
	border-bottom: 1px solid rgba(109, 93, 74, 0.08);
}

.emdc-results-utility-top {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
}

.emdc-results-toolbar {
	margin-bottom: 18px;
	align-items: flex-start;
}

.emdc-results-meta h3 {
	font-size: clamp(1.8rem, 3vw, 2.6rem);
	line-height: 0.98;
	margin-top: 6px;
}

.emdc-results-meta p {
	margin: 10px 0 0;
	color: var(--emdc-muted);
}

.emdc-toolbar-controls {
	display: grid;
	min-width: 0;
	grid-template-columns: repeat(3, minmax(120px, auto));
	gap: 10px;
	align-items: end;
}

.emdc-select-wrap {
	display: grid;
	gap: 6px;
	font-size: 0.78rem;
	font-weight: 700;
	color: var(--emdc-muted);
}

.emdc-view-switch {
	display: inline-flex;
	gap: 8px;
	align-self: end;
}

.emdc-inline-note {
	margin: 0 0 16px;
	padding: 14px 16px;
	border-radius: 18px;
	background: rgba(255, 255, 255, 0.82);
	border: 1px solid rgba(109, 93, 74, 0.1);
	font-weight: 600;
}

.emdc-inline-note-warm {
	background: color-mix(in srgb, var(--emdc-gold) 14%, white 86%);
	border-color: color-mix(in srgb, var(--emdc-gold) 24%, transparent);
}

.emdc-inline-note-success {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 14px;
	background: rgba(214, 240, 223, 0.54);
	border-color: rgba(115, 162, 124, 0.2);
}

.emdc-inline-note-danger {
	background: rgba(179, 109, 92, 0.12);
	border-color: rgba(179, 109, 92, 0.22);
}

.emdc-inline-note-actions {
	display: inline-flex;
	flex-wrap: wrap;
	gap: 8px;
}

.emdc-note-link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 10px 14px;
	border-radius: 999px;
	border: 1px solid var(--emdc-input-border);
	background: var(--emdc-input-fill);
	color: var(--emdc-ink);
	font-size: 0.82rem;
	font-weight: 700;
	text-decoration: none;
}

.emdc-note-link-strong {
	background: var(--emdc-burgundy);
	color: #fff;
}

.emdc-collection-bar {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin: 0;
}

.emdc-collection-button {
	gap: 12px;
}

.emdc-collection-button[disabled] {
	opacity: 0.5;
	cursor: not-allowed;
	transform: none;
}

.emdc-collection-count {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 28px;
	height: 28px;
	padding: 0 8px;
	border-radius: 999px;
	background: color-mix(in srgb, var(--emdc-burgundy) 10%, transparent);
	font-size: 0.78rem;
	font-weight: 800;
}

.emdc-grid,
.emdc-skeleton-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 18px;
}

.emdc-card {
	display: flex;
	flex-direction: column;
	height: 100%;
	border-radius: 26px;
	overflow: hidden;
	background: var(--emdc-surface-strong);
	border: 1px solid rgba(255, 255, 255, 0.55);
	box-shadow: 0 14px 28px rgba(46, 32, 20, 0.06);
}

.emdc-card-media {
	position: relative;
	aspect-ratio: 1.06;
	background:
		radial-gradient(circle at 30% 30%, rgba(255, 255, 255, 0.9), transparent 38%),
		linear-gradient(135deg, var(--emdc-media-start) 0%, var(--emdc-media-end) 100%);
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
	isolation: isolate;
	cursor: pointer;
}

.emdc-card-media.is-shape-placeholder,
.emdc-modal-media.is-shape-placeholder {
	background:
		radial-gradient(circle at 50% 18%, var(--emdc-placeholder-top), rgba(255, 255, 255, 0.1) 36%, transparent 56%),
		radial-gradient(circle at 50% 78%, var(--emdc-placeholder-mid), transparent 42%),
		linear-gradient(180deg, var(--emdc-placeholder-start) 0%, color-mix(in srgb, var(--emdc-placeholder-start) 44%, var(--emdc-placeholder-end) 56%) 56%, var(--emdc-placeholder-end) 100%);
}

.emdc-card-media img,
.emdc-modal-media img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	z-index: 0;
}

.emdc-media-preview {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	border: 0;
	display: none;
	background: #191412;
	z-index: 0;
}

video.emdc-media-preview {
	object-fit: cover;
}

.emdc-card-media.is-video-ready .emdc-media-preview-card,
.emdc-modal-media.is-video-ready .emdc-media-preview-modal {
	display: block;
}

.emdc-card-media.is-video-ready .emdc-media-preview-card {
	pointer-events: none;
}

.emdc-card-fallback {
	display: inline-flex;
	color: rgba(255, 255, 255, 0.92);
	position: relative;
	z-index: 1;
}

.emdc-placeholder-stone {
	position: relative !important;
	inset: auto !important;
	display: block;
	width: 100%;
	height: auto !important;
	object-fit: contain !important;
	filter: drop-shadow(0 20px 34px rgba(46, 32, 20, 0.18));
}

.emdc-media-poster {
	position: absolute;
	inset: 0;
	z-index: 1;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	padding: 18px;
	background:
		linear-gradient(180deg, rgba(22, 18, 16, 0.06), rgba(22, 18, 16, 0.82)),
		radial-gradient(circle at 50% 20%, rgba(255, 255, 255, 0.22), transparent 34%);
	color: #fff;
	transition: opacity 0.28s ease;
}

.emdc-media-placeholder {
	position: absolute;
	inset: 0;
	z-index: 1;
	display: grid;
	place-items: center;
	padding: 24px;
	text-align: center;
	color: var(--emdc-burgundy);
	background:
		radial-gradient(circle at 50% 22%, rgba(255, 255, 255, 0.8), transparent 34%),
		linear-gradient(180deg, rgba(255, 255, 255, 0.08), rgba(255, 255, 255, 0));
}

.emdc-card-media.has-image .emdc-media-placeholder,
.emdc-modal-media.has-image .emdc-media-placeholder {
	display: none;
}

.emdc-media-placeholder-crest {
	position: absolute;
	top: 18px;
	left: 18px;
	padding: 8px 12px;
	border-radius: 999px;
	border: 1px solid var(--emdc-line);
	background: var(--emdc-input-fill);
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.emdc-media-placeholder-gem {
	width: min(52%, 170px);
	color: var(--emdc-burgundy);
	filter: drop-shadow(0 12px 22px rgba(46, 32, 20, 0.12));
	transform: translateY(-6px);
}

.emdc-media-placeholder-gem svg {
	width: 100%;
	height: auto;
}

.emdc-media-placeholder-figure,
.emdc-media-poster-figure {
	position: absolute;
	top: 48%;
	left: 50%;
	width: min(46%, 220px);
	transform: translate(-50%, -52%);
	z-index: 1;
	pointer-events: none;
}

.emdc-media-placeholder-copy {
	position: absolute;
	left: 24px;
	right: 24px;
	bottom: 24px;
	display: grid;
	gap: 4px;
}

.emdc-media-placeholder-card .emdc-media-placeholder-crest {
	top: 16px;
	left: 16px;
	padding: 7px 11px;
	font-size: 0.68rem;
}

.emdc-media-placeholder-card .emdc-media-placeholder-gem {
	position: absolute;
	top: 47%;
	left: 50%;
	width: min(34%, 94px);
	transform: translate(-50%, -54%);
}

.emdc-media-placeholder-card .emdc-media-placeholder-figure {
	top: 47%;
	width: min(46%, 148px);
}

.emdc-media-placeholder-card .emdc-media-placeholder-copy {
	left: 18px;
	right: 18px;
	bottom: 18px;
	gap: 2px;
}

.emdc-media-placeholder-card .emdc-media-placeholder-label {
	font-size: clamp(0.92rem, 1.05vw, 1.12rem);
	line-height: 1.04;
}

.emdc-media-placeholder-card .emdc-media-placeholder-meta {
	font-size: 0.8rem;
}

.emdc-media-placeholder-label {
	font-family: "Bodoni 72", "Didot", "Times New Roman", serif;
	font-size: clamp(1rem, 1.5vw, 1.28rem);
	font-weight: 600;
	letter-spacing: -0.01em;
	color: var(--emdc-ink);
}

.emdc-media-placeholder-meta {
	font-size: 0.88rem;
	color: var(--emdc-muted);
}

.emdc-card-media.prefers-video .emdc-media-poster,
.emdc-modal-media.prefers-video .emdc-media-poster {
	background:
		linear-gradient(180deg, rgba(22, 18, 16, 0.08), rgba(22, 18, 16, 0.52)),
		radial-gradient(circle at 50% 20%, rgba(255, 255, 255, 0.2), transparent 34%);
}

.emdc-card-media.has-image:not(.prefers-video) .emdc-media-poster,
.emdc-modal-media.has-image:not(.prefers-video) .emdc-media-poster {
	display: none;
}

.emdc-card-media.prefers-video.is-video-ready img,
.emdc-modal-media.prefers-video.is-video-ready img {
	opacity: 0;
	pointer-events: none;
}

.emdc-card-media.is-video-ready .emdc-media-poster,
.emdc-modal-media.is-video-ready .emdc-media-poster {
	opacity: 0;
	pointer-events: none;
}

.emdc-card-media.is-shape-placeholder .emdc-media-poster,
.emdc-modal-media.is-shape-placeholder .emdc-media-poster {
	display: none;
}

.emdc-media-poster-kicker {
	align-self: flex-start;
	padding: 7px 12px;
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.12);
	border: 1px solid rgba(255, 255, 255, 0.14);
	font-size: 0.7rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	backdrop-filter: blur(12px);
}

.emdc-media-poster-card .emdc-card-fallback {
	margin: auto auto 20px;
}

.emdc-media-poster-modal .emdc-card-fallback {
	margin: auto auto 26px;
}

.emdc-media-poster-figure {
	top: 50%;
	width: min(48%, 214px);
}

.emdc-media-poster-card .emdc-media-poster-figure {
	top: 48%;
	width: min(44%, 154px);
}

.emdc-media-poster-modal .emdc-media-poster-figure {
	top: 50%;
	width: min(50%, 228px);
}

.emdc-media-poster-copy {
	display: grid;
	gap: 6px;
}

.emdc-media-poster-copy strong {
	font-family: "Bodoni 72", "Didot", "Times New Roman", serif;
	font-size: clamp(1.2rem, 1.6vw, 1.6rem);
	font-weight: 600;
	letter-spacing: -0.02em;
}

.emdc-media-poster-copy span {
	max-width: 32ch;
	font-size: 0.88rem;
	line-height: 1.55;
	color: rgba(255, 255, 255, 0.82);
}

.emdc-card-media-top {
	position: relative;
	z-index: 3;
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	width: 100%;
	padding: 14px;
}

.emdc-card-media-actions {
	display: inline-flex;
	gap: 8px;
}

.emdc-badge,
.emdc-dot-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 40px;
	height: 34px;
	padding: 0 12px;
	border-radius: 999px;
	backdrop-filter: blur(14px);
}

.emdc-badge {
	background: rgba(255, 255, 255, 0.15);
	color: #fff;
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.emdc-badge-soft {
	background: var(--emdc-soft-fill);
	color: var(--emdc-ink);
	border: 1px solid var(--emdc-input-border);
	backdrop-filter: none;
}

.emdc-dot-button {
	background: rgba(255, 255, 255, 0.14);
	color: #fff;
	font-weight: 800;
	border: 1px solid rgba(255, 255, 255, 0.18);
}

.emdc-dot-button svg {
	width: 16px;
	height: 16px;
	stroke: currentColor;
	stroke-width: 1.8;
	fill: none;
}

.emdc-dot-button svg path:last-child {
	fill: none;
}

.emdc-dot-button.is-active svg path:first-child {
	fill: currentColor;
}

.emdc-dot-button.is-active {
	background: color-mix(in srgb, var(--emdc-gold) 28%, transparent);
}

.emdc-dot-button-soft {
	background: rgba(255, 255, 255, 0.82);
	color: var(--emdc-burgundy);
	border: 1px solid rgba(109, 93, 74, 0.1);
	backdrop-filter: none;
}

.emdc-dot-button-soft.is-active {
	background: linear-gradient(135deg, color-mix(in srgb, var(--emdc-gold) 24%, white 76%), color-mix(in srgb, var(--emdc-gold) 14%, white 86%));
	color: var(--emdc-burgundy);
	border-color: color-mix(in srgb, var(--emdc-gold) 28%, transparent);
}

.emdc-card-body {
	padding: 18px;
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
	gap: 16px;
}

.emdc-card-title-row {
	flex-wrap: wrap;
	align-items: flex-start;
}

.emdc-card-title-row > :first-child {
	min-width: 0;
	flex: 1 1 180px;
}

.emdc-card-title-row h4 {
	margin: 0;
	font-size: 1.18rem;
}

.emdc-card-title-row p,
.emdc-card-meta {
	margin: 0;
	color: var(--emdc-muted);
	font-size: 0.88rem;
	line-height: 1.5;
}

.emdc-card-price {
	font-size: 1.25rem;
	font-weight: 800;
	white-space: nowrap;
}

.emdc-card-facts {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.emdc-fact-pill,
.emdc-compare-chip {
	display: inline-flex;
	align-items: center;
	padding: 8px 12px;
	border-radius: 999px;
	background: var(--emdc-soft-fill);
	border: 1px solid var(--emdc-input-border);
	font-size: 0.78rem;
	font-weight: 700;
}

.emdc-card-meta {
	display: flex;
	flex-direction: column;
	gap: 4px;
}

.emdc-card-utility {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	margin-top: auto;
	padding-top: 2px;
	border-top: 1px solid rgba(109, 93, 74, 0.1);
}

.emdc-card-utility-actions {
	display: inline-flex;
	flex-wrap: wrap;
	justify-content: flex-end;
	gap: 8px;
}

.emdc-card-actions {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	align-items: stretch;
	gap: 10px;
}

.emdc-card-actions.has-purchase > :first-child {
	grid-column: 1 / -1;
}

.emdc-card-actions .emdc-button,
.emdc-card-actions .emdc-button-ghost {
	width: 100%;
	min-height: 54px;
	text-align: center;
	border-radius: 22px;
	padding: 12px 16px;
	font-size: 0.82rem;
	letter-spacing: -0.015em;
	line-height: 1.05;
	box-shadow: 0 14px 24px rgba(46, 32, 20, 0.08);
	white-space: nowrap;
	word-break: normal;
}

.emdc-card-actions .emdc-button-primary {
	background: linear-gradient(135deg, var(--emdc-burgundy) 0%, color-mix(in srgb, var(--emdc-burgundy) 82%, var(--emdc-gold) 18%) 100%);
	border: 1px solid color-mix(in srgb, var(--emdc-burgundy) 20%, transparent);
}

.emdc-card-actions .emdc-button-secondary {
	background: linear-gradient(180deg, var(--emdc-input-fill), color-mix(in srgb, var(--emdc-soft-fill) 82%, white 18%));
	border: 1px solid var(--emdc-input-border);
	color: var(--emdc-ink);
	padding-left: 16px;
	padding-right: 16px;
	font-size: 0.8rem;
}

.emdc-card-actions .emdc-button:hover,
.emdc-card-actions .emdc-button-ghost:hover {
	box-shadow: 0 18px 30px rgba(46, 32, 20, 0.12);
}

@media (min-width: 1500px) {
	.emdc-workbench {
		grid-template-columns: minmax(300px, 350px) minmax(0, 1fr);
		gap: 30px;
	}

	.emdc-grid,
	.emdc-skeleton-grid {
		grid-template-columns: repeat(4, minmax(0, 1fr));
		gap: 20px;
	}

	.emdc-card-actions .emdc-button,
	.emdc-card-actions .emdc-button-ghost {
		min-height: 54px;
		padding: 14px 18px;
		font-size: 0.82rem;
		line-height: 1.08;
		white-space: nowrap;
	}

	.emdc-card-actions .emdc-button-secondary {
		padding-left: 18px;
		padding-right: 18px;
	}
}

.emdc-empty-state {
	padding: 40px;
	border-radius: 24px;
	background: rgba(255, 255, 255, 0.82);
	text-align: center;
}

.emdc-empty-state p {
	margin: 10px auto 0;
	max-width: 48ch;
	color: var(--emdc-muted);
}

.emdc-load-more {
	margin-top: 18px;
	display: flex;
	justify-content: center;
}

.emdc-inline-spinner,
.emdc-loading-spinner {
	display: inline-flex;
	width: 18px;
	height: 18px;
	border-radius: 999px;
	border: 2px solid rgba(255, 255, 255, 0.35);
	border-top-color: currentColor;
	animation: emdc-spin 0.72s linear infinite;
}

.emdc-inline-spinner {
	flex: 0 0 auto;
	color: currentColor;
}

.emdc-table-scroll {
	overflow-x: auto;
	overflow-y: hidden;
	padding-bottom: 4px;
	-webkit-overflow-scrolling: touch;
}

.emdc-table {
	display: grid;
	gap: 12px;
	min-width: 1080px;
}

.emdc-table-head,
.emdc-table-row {
	display: grid;
	grid-template-columns: minmax(220px, 1.25fr) minmax(220px, 1.15fr) 110px 110px 250px;
	gap: 12px;
	align-items: center;
}

.emdc-table-head {
	padding: 0 10px;
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--emdc-muted);
}

.emdc-table-row {
	padding: 16px;
	border-radius: 20px;
	background: rgba(255, 255, 255, 0.84);
	border: 1px solid rgba(109, 93, 74, 0.08);
	min-width: 0;
}

.emdc-table-diamond {
	display: flex;
	align-items: center;
	gap: 12px;
	min-width: 0;
}

.emdc-table-shape {
	width: 42px;
	height: 42px;
	border-radius: 14px;
	background: linear-gradient(180deg, var(--emdc-shape-fill-start), var(--emdc-shape-fill-end));
	color: var(--emdc-burgundy);
	box-shadow: inset 0 0 0 1px var(--emdc-line);
}

.emdc-table-diamond h4 {
	margin: 0 0 4px;
	font-size: 1rem;
	line-height: 1.18;
}

.emdc-table-diamond p,
.emdc-table-specs span {
	margin: 0;
	color: var(--emdc-muted);
	font-size: 0.84rem;
	line-height: 1.4;
	display: block;
}

.emdc-table-diamond > div,
.emdc-table-specs,
.emdc-table-price,
.emdc-table-lab,
.emdc-table-actions {
	min-width: 0;
}

.emdc-table-specs {
	display: grid;
	gap: 6px;
}

.emdc-table-price,
.emdc-table-lab {
	font-weight: 700;
	line-height: 1.25;
}

.emdc-table-actions {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 10px;
	align-items: stretch;
}

.emdc-table-actions .emdc-mini-button {
	width: 100%;
	min-height: 48px;
	padding: 12px 16px;
	border-radius: 18px;
	font-size: 0.9rem;
	line-height: 1.15;
	text-align: center;
	justify-content: center;
	white-space: normal;
	word-break: keep-all;
	box-shadow: none;
}

.emdc-table-actions .emdc-mini-button-purchase {
	background: linear-gradient(135deg, var(--emdc-gold) 0%, var(--emdc-gold-deep) 100%);
	border-color: color-mix(in srgb, var(--emdc-gold-deep) 22%, transparent);
	box-shadow: 0 10px 18px color-mix(in srgb, var(--emdc-gold-deep) 18%, transparent);
}

.emdc-table-actions .emdc-mini-button-purchase.is-in-cart {
	background: var(--emdc-soft-fill-strong);
}

.emdc-table-actions .emdc-mini-button:nth-child(odd):last-child {
	grid-column: 1 / -1;
}

.emdc-skeleton-grid .emdc-card {
	min-height: 320px;
}

.emdc-card-skeleton .emdc-card-media,
.emdc-skeleton-line {
	background: linear-gradient(90deg, rgba(255,255,255,0.35), rgba(255,255,255,0.8), rgba(255,255,255,0.35));
	background-size: 200% 100%;
	animation: emdc-pulse 1.2s linear infinite;
}

.emdc-skeleton-line {
	height: 14px;
	border-radius: 999px;
}

.emdc-skeleton-line-lg {
	width: 72%;
}

.emdc-skeleton-line-sm {
	width: 46%;
}

.emdc-modal-backdrop {
	position: fixed;
	inset: 0;
	z-index: 9999;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 24px;
	background: rgba(20, 14, 11, 0.24);
	backdrop-filter: blur(12px);
}

.emdc-modal {
	position: relative;
	width: min(1180px, 100%);
	max-height: calc(100vh - 48px);
	overflow: auto;
	padding: 28px;
	border-radius: 30px;
	background: linear-gradient(180deg, var(--emdc-surface-strong), color-mix(in srgb, var(--emdc-soft-fill) 88%, white 12%));
	box-shadow: 0 24px 56px rgba(32, 22, 14, 0.12);
}

.emdc-modal-close {
	position: absolute;
	top: 18px;
	right: 18px;
	padding: 10px 14px;
	border-radius: 999px;
	background: rgba(24, 18, 14, 0.05);
	font-weight: 700;
}

.emdc-modal-grid {
	display: grid;
	grid-template-columns: minmax(320px, 0.9fr) minmax(0, 1.1fr);
	gap: 24px;
}

.emdc-modal-media {
	position: relative;
	min-height: 420px;
	border-radius: 28px;
	overflow: hidden;
	background: linear-gradient(135deg, var(--emdc-media-start) 0%, var(--emdc-media-end) 100%);
	display: flex;
	align-items: center;
	justify-content: center;
	isolation: isolate;
}

.emdc-modal-content {
	min-width: 0;
}

.emdc-modal-link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 13px 18px;
	border-radius: 999px;
	border: 1px solid rgba(109, 93, 74, 0.12);
	color: #fff;
	font-weight: 700;
	text-decoration: none;
	box-shadow: 0 10px 20px rgba(32, 22, 14, 0.1);
}

.emdc-modal-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-top: 18px;
}

.emdc-modal-link-primary {
	background: var(--emdc-burgundy);
}

.emdc-modal-link-secondary {
	background: var(--emdc-gold);
}

.emdc-compare-actions-cell {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.emdc-modal-lead {
	margin: 12px 0 0;
	color: var(--emdc-muted);
	font-size: 1rem;
}

.emdc-modal-price {
	margin-top: 18px;
	font-size: clamp(1.8rem, 3vw, 2.8rem);
	font-weight: 800;
}

.emdc-detail-grid {
	margin-top: 20px;
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px;
}

.emdc-detail-stat {
	padding: 14px 16px;
	border-radius: 18px;
	background: rgba(255, 255, 255, 0.82);
	border: 1px solid rgba(109, 93, 74, 0.08);
}

.emdc-detail-stat span {
	display: block;
	font-size: 0.74rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--emdc-muted);
}

.emdc-detail-stat strong {
	display: block;
	margin-top: 8px;
	font-size: 1rem;
}

.emdc-rich-note {
	margin-top: 18px;
	padding: 16px 18px;
	border-radius: 18px;
	background: color-mix(in srgb, var(--emdc-soft-fill-strong) 92%, white 8%);
	line-height: 1.7;
}

.emdc-compare-tray {
	position: relative;
	bottom: auto;
	z-index: 1;
	margin: 0;
	padding: 18px 20px;
	border-radius: 24px;
	background: color-mix(in srgb, var(--emdc-surface-strong) 88%, var(--emdc-soft-fill) 12%);
	color: var(--emdc-ink);
	box-shadow: 0 14px 28px rgba(46, 32, 20, 0.08);
	border: 1px solid rgba(109, 93, 74, 0.08);
}

.emdc-compare-tray h4,
.emdc-modal-compare h3 {
	margin: 4px 0 0;
	font-family: "Bodoni 72", "Didot", "Times New Roman", serif;
	font-size: 1.5rem;
}

.emdc-compare-chips {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	flex: 1 1 auto;
}

.emdc-compare-tray .emdc-compare-chip {
	background: var(--emdc-soft-fill);
	color: var(--emdc-ink);
	border-color: rgba(109, 93, 74, 0.08);
}

.emdc-modal-compare {
	width: min(1240px, 100%);
}

.emdc-modal-favorites {
	width: min(920px, 100%);
}

.emdc-compare-table-wrap {
	margin-top: 20px;
	overflow: auto;
}

.emdc-compare-table {
	width: 100%;
	border-collapse: collapse;
	min-width: 720px;
}

.emdc-compare-table th,
.emdc-compare-table td {
	padding: 12px 14px;
	border-bottom: 1px solid rgba(109, 93, 74, 0.1);
	text-align: left;
	vertical-align: top;
}

.emdc-compare-table thead th {
	position: sticky;
	top: 0;
	background: rgba(255, 252, 248, 0.96);
	backdrop-filter: blur(10px);
	z-index: 1;
}

.emdc-favorites-list {
	display: grid;
	gap: 12px;
	margin-top: 20px;
}

.emdc-favorites-item {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto auto;
	align-items: center;
	gap: 14px;
	padding: 16px 18px;
	border-radius: 20px;
	background: rgba(255, 255, 255, 0.82);
	border: 1px solid rgba(109, 93, 74, 0.08);
}

.emdc-favorites-item-copy h4 {
	margin: 0 0 6px;
	font-size: 1.05rem;
}

.emdc-favorites-item-copy p {
	margin: 0;
	color: var(--emdc-muted);
	font-size: 0.9rem;
	line-height: 1.45;
}

.emdc-favorites-item-price {
	font-size: 1rem;
	font-weight: 800;
	white-space: nowrap;
}

.emdc-favorites-item-actions {
	display: inline-flex;
	flex-wrap: wrap;
	justify-content: flex-end;
	gap: 8px;
}

.emdc-loading-overlay {
	position: absolute;
	inset: 18px;
	z-index: 4;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 24px;
	border-radius: 26px;
	background: var(--emdc-loading-wash);
	backdrop-filter: blur(10px);
	pointer-events: none;
}

.emdc-loading-card {
	display: grid;
	justify-items: center;
	gap: 10px;
	min-width: min(100%, 320px);
	padding: 24px 26px;
	border-radius: 24px;
	background: rgba(255, 255, 255, 0.9);
	border: 1px solid rgba(109, 93, 74, 0.1);
	box-shadow: 0 16px 32px rgba(46, 32, 20, 0.08);
	text-align: center;
}

.emdc-loading-card strong {
	font-family: "Bodoni 72", "Didot", "Times New Roman", serif;
	font-size: 1.35rem;
	font-weight: 600;
}

.emdc-loading-card span:last-child {
	color: var(--emdc-muted);
	font-size: 0.92rem;
	line-height: 1.55;
}

.emdc-powered-by {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 4px;
	padding: 0 28px 28px;
	color: var(--emdc-muted);
	font-size: 0.84rem;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

.emdc-powered-by-top {
	margin-left: auto;
	padding: 0;
	justify-content: flex-end;
	white-space: nowrap;
}

.emdc-powered-by a {
	color: var(--emdc-burgundy);
	font-weight: 700;
	text-decoration: none;
}

.emdc-powered-by a:hover {
	text-decoration: underline;
}

@keyframes emdc-pulse {
	0% {
		background-position: 200% 0;
	}
	100% {
		background-position: -200% 0;
	}
}

@keyframes emdc-spin {
	0% {
		transform: rotate(0deg);
	}
	100% {
		transform: rotate(360deg);
	}
}

@media (max-width: 1180px) {
	.emdc-grid,
	.emdc-skeleton-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.emdc-table {
		min-width: 1020px;
	}

	.emdc-table-head,
	.emdc-table-row {
		grid-template-columns: minmax(200px, 1fr) minmax(200px, 1fr) 90px 100px 230px;
	}
}

@media (max-width: 980px) {
	.emdc-workbench,
	.emdc-modal-grid {
		grid-template-columns: 1fr;
	}

	.emdc-sidebar {
		position: relative;
		top: 0;
		max-height: none;
	}

	.emdc-toolbar-controls {
		grid-template-columns: 1fr 1fr;
		width: 100%;
	}

	.emdc-results-toolbar,
	.emdc-compare-tray {
		flex-direction: column;
		align-items: stretch;
	}

	.emdc-results-utility-top {
		flex-direction: column;
		align-items: stretch;
	}

	.emdc-powered-by-top {
		margin-left: 0;
		justify-content: flex-start;
	}

	.emdc-modal-actions {
		align-items: stretch;
	}

	.emdc-modal-link {
		flex: 1 1 220px;
	}

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

	.emdc-favorites-item {
		grid-template-columns: 1fr;
	}

	.emdc-favorites-item-actions {
		justify-content: flex-start;
	}

	.emdc-chip-grid-shapes {
		grid-template-columns: repeat(5, minmax(0, 1fr));
	}
}

@media (max-width: 720px) {
	.emdc-catalog {
		padding: 16px 0;
	}

	.emdc-shell {
		width: calc(100vw - 20px);
	}

	.emdc-stage,
	.emdc-modal {
		border-radius: 24px;
	}

	.emdc-workbench,
	.emdc-results,
	.emdc-sidebar,
	.emdc-modal {
		padding-left: 18px;
		padding-right: 18px;
	}

	.emdc-workbench {
		padding-bottom: 18px;
	}

	.emdc-grid,
	.emdc-skeleton-grid,
	.emdc-detail-grid,
	.emdc-range-grid {
		grid-template-columns: 1fr;
	}

	.emdc-chip-grid-standard,
	.emdc-chip-grid-shapes {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.emdc-search-row,
	.emdc-card-title-row,
	.emdc-card-actions {
		flex-direction: column;
		align-items: stretch;
	}

	.emdc-card-body {
		gap: 12px;
	}

	.emdc-card-title-row {
		justify-content: flex-start;
		gap: 8px;
	}

	.emdc-card-title-row > :first-child {
		flex: 0 0 auto;
	}

	.emdc-card-price {
		align-self: flex-start;
	}

	.emdc-mobile-filter-toggle-wrap {
		display: block;
		margin-bottom: 18px;
	}

	.emdc-mobile-filter-secondary {
		display: none;
	}

	.emdc-sidebar.is-expanded .emdc-mobile-filter-secondary {
		display: block;
	}

	.emdc-card-actions {
		grid-template-columns: 1fr;
	}

	.emdc-card-utility {
		flex-direction: column;
		align-items: stretch;
	}

	.emdc-card-utility-actions {
		justify-content: flex-start;
	}

	.emdc-toolbar-controls {
		grid-template-columns: 1fr;
	}

	.emdc-collection-bar {
		flex-direction: row;
		flex-wrap: wrap;
	}

	.emdc-view-switch {
		width: 100%;
	}

	.emdc-view-switch .emdc-icon-button {
		flex: 1 1 0;
	}

	.emdc-table-head {
		display: none;
	}

	.emdc-table {
		min-width: 0;
	}

	.emdc-table-row {
		grid-template-columns: 1fr;
	}

	.emdc-modal-backdrop {
		padding: 12px;
	}

	.emdc-modal {
		padding-top: 56px;
	}

	.emdc-modal-close {
		position: absolute;
		top: 12px;
		right: 12px;
		left: auto;
		z-index: 8;
		margin: 0;
		min-height: 38px;
		padding: 8px 12px;
		font-size: 0.86rem;
		line-height: 1;
		border: 1px solid rgba(109, 93, 74, 0.14);
		background: rgba(255, 255, 255, 0.96);
		box-shadow: 0 8px 18px rgba(46, 32, 20, 0.08);
	}

	.emdc-modal-actions {
		flex-direction: row;
		flex-wrap: wrap;
		align-items: flex-start;
		gap: 10px;
		margin-top: 12px;
	}

	.emdc-modal-link,
	.emdc-modal-link-purchase,
	.emdc-button-purchase {
		width: auto;
		max-width: 100%;
		min-height: 44px;
		padding: 11px 16px;
		border-radius: 16px;
		font-size: 0.9rem;
		line-height: 1.08;
		box-shadow: 0 8px 18px rgba(46, 32, 20, 0.08);
		flex: 0 0 auto;
	}

	.emdc-powered-by {
		padding: 4px 18px 22px;
		flex-wrap: wrap;
	}

	.emdc-inline-note-success {
		flex-direction: column;
		align-items: stretch;
	}

	.emdc-media-poster {
		padding: 16px;
	}

	.emdc-media-poster-card .emdc-card-fallback {
		margin-bottom: 16px;
	}
}
