/* ==========================================================================
   EDORÉ — global design system
   1. Tokens
   2. Reset & base
   3. Typography
   4. Layout primitives
   5. Buttons & UI atoms
   6. Header / announcement / nav / drawers / search
   7. Homepage sections
   8. Cards & grids
   9. Inner pages, blog, 404, comments
   10. Footer & floating actions
   11. Responsive
   ========================================================================== */

/* ------------------------------------------------------------------ 1. Tokens */
:root {
	/* Brand palette */
	--e-black: #090909;
	--e-soft: #161513;
	--e-ivory: #f6f1e9;
	--e-warm: #efe8dc;
	--e-champagne: #d8c19b;
	--e-gray: #aaa59d;

	/* Gold system.
	   --edore-* are the public names; --e-gold is kept as the internal alias
	   every existing rule already uses, so repointing it here lifts gold
	   presence across the whole theme without touching those rules. */
	--edore-gold: #c6a15b;
	--edore-gold-light: #dfc58f;
	--edore-gold-dark: #987337;
	--edore-gold-soft: #e8d2a7;
	--edore-gold-bg: #f3e8d1;
	--edore-gold-deep: #775426;

	/* Champagne atmosphere for the product areas — warmer than plain ivory. */
	--e-champagne-air: #fbf7ef;

	--e-gold: var(--edore-gold);
	--e-gold-light: var(--edore-gold-light);
	--e-gold-dark: var(--edore-gold-dark);
	--e-gold-soft: var(--edore-gold-soft);
	--e-gold-bg: var(--edore-gold-bg);
	--e-gold-deep: var(--edore-gold-deep);

	/* Architectural gold hairlines — the signature detail. */
	--e-hairline: 1px solid rgba(198, 161, 91, 0.35);
	--e-hairline-strong: 1px solid rgba(198, 161, 91, 0.55);
	--e-hairline-faint: 1px solid rgba(198, 161, 91, 0.18);
	--e-gold-glow: rgba(198, 161, 91, 0.12);

	--e-ink: #161513;
	--e-ink-soft: #55524c;
	--e-line: rgba(22, 21, 19, 0.14);
	--e-line-soft: rgba(22, 21, 19, 0.08);
	--e-on-dark: #f6f1e9;
	--e-on-dark-soft: rgba(246, 241, 233, 0.66);
	--e-line-dark: rgba(246, 241, 233, 0.16);

	/* Type */
	--e-serif: "Cormorant Garamond", "Times New Roman", serif;
	--e-sans: "Heebo", "Assistant", "Segoe UI", Arial, sans-serif;
	--e-arabic: "IBM Plex Sans Arabic", "Noto Sans Arabic", "Heebo", Arial, sans-serif;

	--e-fs-xs: 0.6875rem;
	--e-fs-sm: 0.8125rem;
	--e-fs-base: 0.9375rem;
	--e-fs-md: 1.0625rem;
	--e-fs-lg: 1.375rem;
	--e-fs-xl: 1.75rem;
	--e-fs-2xl: clamp(1.75rem, 3.4vw, 2.625rem);
	--e-fs-3xl: clamp(2.125rem, 5.6vw, 4.25rem);
	--e-fs-display: clamp(2.5rem, 6vw, 5rem);

	--e-track-wide: 0.24em;
	--e-track-mid: 0.12em;

	/* Space scale */
	--e-1: 4px;
	--e-2: 8px;
	--e-3: 12px;
	--e-4: 16px;
	--e-5: 24px;
	--e-6: 32px;
	--e-7: 44px;
	--e-8: 60px;
	--e-9: 80px;
	--e-10: 110px;

	--e-sec-y: clamp(60px, 8vw, 130px);
	--e-sec-y-sm: clamp(44px, 5vw, 80px);

	/* Layout */
	--e-wrap: 1340px;
	--e-wrap-narrow: 940px;
	--e-gutter: clamp(18px, 4vw, 48px);
	--e-header-h: 92px;
	--e-header-h-sm: 64px;

	/* Shape & motion */
	--e-radius: 2px;
	--e-radius-lg: 3px;
	--e-shadow: 0 24px 60px -30px rgba(9, 9, 9, 0.35);
	--e-shadow-soft: 0 12px 34px -22px rgba(9, 9, 9, 0.4);
	--e-t: 420ms cubic-bezier(0.22, 0.61, 0.36, 1);
	--e-t-fast: 200ms cubic-bezier(0.22, 0.61, 0.36, 1);

	--e-z-header: 60;
	--e-z-drawer: 90;
	--e-z-scrim: 80;
	--e-z-float: 70;
}

/* Arabic typography */
html[lang^="ar"] body,
body.edore-lang-ar {
	--e-sans: "IBM Plex Sans Arabic", "Noto Sans Arabic", "Heebo", Arial, sans-serif;
}

/* ------------------------------------------------------- 2. Reset & base */
*,
*::before,
*::after {
	box-sizing: border-box;
}

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

body {
	margin: 0;
	background: var(--e-ivory);
	color: var(--e-ink);
	font-family: var(--e-sans);
	font-size: var(--e-fs-base);
	font-weight: 300;
	line-height: 1.72;
	overflow-x: hidden;
	-webkit-font-smoothing: antialiased;
}

body.edore-locked {
	overflow: hidden;
}

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

a {
	color: inherit;
	text-decoration: none;
}

button {
	font: inherit;
	color: inherit;
	background: none;
	border: 0;
	cursor: pointer;
}

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

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

figure {
	margin: 0;
}

:focus-visible {
	outline: 2px solid var(--e-gold);
	outline-offset: 3px;
}

.edore-icon {
	flex: 0 0 auto;
}

.edore-star {
	display: inline-flex;
	color: var(--e-gold);
	line-height: 0;
}

/* ------------------------------------------------------- 3. Typography */
h1,
h2,
h3,
h4 {
	margin: 0;
	font-weight: 400;
	line-height: 1.12;
	letter-spacing: -0.01em;
}

p {
	margin: 0 0 1em;
}

p:last-child {
	margin-bottom: 0;
}

.edore-eyebrow {
	display: flex;
	align-items: center;
	gap: var(--e-2);
	margin: 0 0 var(--e-4);
	font-size: var(--e-fs-xs);
	font-weight: 400;
	letter-spacing: var(--e-track-wide);
	text-transform: uppercase;
	color: var(--e-ink-soft);
}

.edore-eyebrow--light {
	color: var(--e-champagne);
}

.edore-sec-title {
	font-family: var(--e-serif);
	font-size: var(--e-fs-2xl);
	font-weight: 300;
	letter-spacing: -0.005em;
}

body.edore-lang-he .edore-sec-title,
body.edore-lang-ar .edore-sec-title {
	font-family: var(--e-sans);
	font-weight: 200;
}

.edore-sec-text {
	max-width: 46ch;
	margin-top: var(--e-4);
	color: var(--e-ink-soft);
	font-size: var(--e-fs-md);
}

.edore-sec-head {
	margin-bottom: var(--e-8);
}

.edore-sec-head--center {
	text-align: center;
}

.edore-sec-head--center .edore-eyebrow {
	justify-content: center;
}

.edore-sec-head--center .edore-sec-text {
	margin-inline: auto;
}

.edore-sec-head--light .edore-sec-title {
	color: var(--e-on-dark);
}

.edore-sec-head--light .edore-sec-text {
	color: var(--e-on-dark-soft);
}

.edore-rte h2,
.edore-rte h3 {
	margin: 1.6em 0 0.5em;
	font-family: var(--e-serif);
	font-size: var(--e-fs-xl);
}

body.edore-lang-he .edore-rte h2,
body.edore-lang-he .edore-rte h3 {
	font-family: var(--e-sans);
	font-weight: 400;
}

.edore-rte p,
.edore-rte li {
	color: var(--e-ink-soft);
	font-size: var(--e-fs-md);
}

.edore-rte ul,
.edore-rte ol {
	margin: 0 0 1.2em;
	padding-inline-start: 1.2em;
	list-style: disc;
}

.edore-rte ol {
	list-style: decimal;
}

.edore-rte a {
	color: var(--e-ink);
	border-bottom: 1px solid var(--e-gold);
}

.edore-rte table {
	width: 100%;
	border-collapse: collapse;
	margin: 0 0 1.4em;
	font-size: var(--e-fs-sm);
}

.edore-rte th,
.edore-rte td {
	padding: var(--e-3) var(--e-2);
	border-bottom: 1px solid var(--e-line-soft);
	text-align: start;
}

/* ------------------------------------------------- 4. Layout primitives */
.edore-site {
	display: flow-root;
}

.edore-wrap {
	width: 100%;
	max-width: var(--e-wrap);
	margin-inline: auto;
	padding-inline: var(--e-gutter);
}

.edore-wrap--narrow {
	max-width: var(--e-wrap-narrow);
}

.edore-sec {
	position: relative;
	padding-block: var(--e-sec-y);
}

.edore-sec--ivory {
	background: var(--e-ivory);
}

.edore-sec--warm {
	background: var(--e-warm);
}

.edore-sec--black {
	background: var(--e-black);
	color: var(--e-on-dark);
}

.edore-sec--black .edore-sec-title {
	color: var(--e-on-dark);
}

.edore-sec--news {
	background: var(--e-soft);
	color: var(--e-on-dark);
	padding-block: var(--e-sec-y-sm);
}

.edore-sec__actions {
	display: flex;
	flex-wrap: wrap;
	gap: var(--e-4);
	justify-content: center;
	margin-top: var(--e-8);
}

.edore-frame {
	position: relative;
	overflow: hidden;
	background: var(--e-warm);
	border-radius: var(--e-radius-lg);
}

.edore-frame::after {
	content: "";
	position: absolute;
	inset: 0;
	border: 1px solid var(--e-line-soft);
	pointer-events: none;
}

.edore-frame--dark {
	background: #0f0f0e;
}

.edore-frame--dark::after {
	border-color: var(--e-line-dark);
}

.edore-frame--tall {
	aspect-ratio: 3 / 4;
}

.edore-frame--product {
	aspect-ratio: 4 / 5;
}

.edore-frame--wide {
	aspect-ratio: 16 / 10;
	margin-bottom: var(--e-6);
}

.edore-frame__img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	transition: transform 900ms cubic-bezier(0.22, 0.61, 0.36, 1);
}

.edore-frame--product .edore-frame__img {
	object-fit: contain;
	padding: clamp(10px, 3vw, 34px);
}

/* -------------------------------------------- 5. Buttons & UI atoms */
.edore-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: var(--e-2);
	min-height: 50px;
	padding: 0 var(--e-6);
	background: var(--e-black);
	color: var(--e-ivory);
	border: 1px solid var(--e-black);
	border-radius: var(--e-radius);
	font-size: var(--e-fs-sm);
	font-weight: 400;
	letter-spacing: var(--e-track-mid);
	text-align: center;
	transition: background var(--e-t-fast), color var(--e-t-fast), border-color var(--e-t-fast), transform var(--e-t-fast);
}

.edore-btn:hover {
	background: var(--e-soft);
	transform: translateY(-1px);
}

.edore-btn .edore-icon {
	transition: transform var(--e-t-fast);
}

.edore-btn:hover .edore-icon {
	transform: translateX(-3px);
}

body:not(.edore-rtl) .edore-btn:hover .edore-icon {
	transform: translateX(3px);
}

.edore-btn--ghost {
	background: transparent;
	color: var(--e-ink);
	border-color: var(--e-line);
}

.edore-btn--ghost:hover {
	background: transparent;
	border-color: var(--e-ink);
}

.edore-btn--onblack {
	background: var(--e-ivory);
	color: var(--e-black);
	border-color: var(--e-ivory);
}

.edore-btn--onblack:hover {
	background: var(--e-champagne);
	border-color: var(--e-champagne);
}

.edore-btn--light {
	color: var(--e-ivory);
	border-color: var(--e-line-dark);
	background: transparent;
}

.edore-btn--light:hover {
	border-color: var(--e-champagne);
	color: var(--e-champagne);
}

.edore-btn--link {
	min-height: 0;
	padding: 0;
	background: none;
	border: 0;
	color: var(--e-ink);
	letter-spacing: var(--e-track-mid);
}

.edore-btn--link span {
	position: relative;
	padding-bottom: 3px;
}

.edore-btn--link span::after {
	content: "";
	position: absolute;
	inset-inline-start: 0;
	bottom: 0;
	width: 100%;
	height: 1px;
	background: currentColor;
	transform: scaleX(0.35);
	transform-origin: center;
	transition: transform var(--e-t);
}

.edore-btn--link:hover {
	background: none;
	transform: none;
}

.edore-btn--link:hover span::after {
	transform: scaleX(1);
}

.edore-btn--sm {
	min-height: 42px;
	padding: 0 var(--e-5);
	font-size: var(--e-fs-xs);
}

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

.edore-linkbtn {
	display: inline-block;
	padding: var(--e-2) 0;
	font-size: var(--e-fs-sm);
	color: var(--e-ink-soft);
	border-bottom: 1px solid transparent;
}

.edore-linkbtn:hover {
	color: var(--e-ink);
	border-bottom-color: var(--e-gold);
}

.edore-iconbtn {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	color: inherit;
	border-radius: 50%;
	transition: color var(--e-t-fast), background var(--e-t-fast);
}

.edore-iconbtn:hover {
	color: var(--e-gold);
}

.edore-badge {
	display: inline-block;
	padding: 5px 10px;
	background: var(--e-black);
	color: var(--e-ivory);
	font-size: 0.625rem;
	letter-spacing: var(--e-track-mid);
	text-transform: uppercase;
}

.edore-badge--sale {
	background: var(--e-gold);
	color: var(--e-black);
}

.edore-badge--out {
	background: rgba(9, 9, 9, 0.82);
	color: var(--e-ivory);
}

.edore-stars {
	display: inline-flex;
	gap: 2px;
	color: var(--e-line);
}

.edore-stars__i.is-on {
	color: var(--e-gold);
}

.edore-checklist {
	display: grid;
	gap: var(--e-3);
	margin: var(--e-5) 0;
}

.edore-checklist li {
	display: flex;
	align-items: flex-start;
	gap: var(--e-3);
	font-size: var(--e-fs-base);
	color: var(--e-ink-soft);
}

.edore-checklist .edore-icon {
	margin-top: 5px;
	color: var(--e-gold);
}

.edore-checklist--light li {
	color: var(--e-on-dark-soft);
}

.edore-empty {
	padding: var(--e-8) 0;
	text-align: center;
	color: var(--e-ink-soft);
}


/* --------------------------------------------------------------------------
   Hidden overlay safety
   The theme uses the HTML `hidden` attribute for search, drawers and scrims.
   These components also declare display:flex/block in theme CSS, which can
   override the browser's default hidden rendering and leave an invisible
   full-screen layer intercepting clicks. Keep hidden components truly hidden.
   -------------------------------------------------------------------------- */
.edore-search[hidden],
.edore-drawer[hidden],
.edore-scrim[hidden],
.edore-stickybar[hidden] {
	display: none !important;
}

.edore-search,
.edore-scrim {
	pointer-events: none;
}

.edore-search.is-open,
.edore-scrim.is-open {
	pointer-events: auto;
}

/* --------------------------------------------------------- 6. Header */
.edore-ann {
	position: relative;
	z-index: calc(var(--e-z-header) + 1);
	background: var(--e-soft);
	color: var(--e-champagne);
	font-size: var(--e-fs-xs);
	letter-spacing: var(--e-track-mid);
	text-align: center;
	overflow: hidden;
}

.edore-ann__inner {
	padding: 9px var(--e-4);
}

.edore-ann__text {
	display: inline-block;
}

.edore-ann--marquee .edore-ann__inner {
	padding-inline: 0;
}

.edore-ann__track {
	display: flex;
	gap: var(--e-8);
	white-space: nowrap;
	animation: edore-ann-scroll 34s linear infinite;
}

@keyframes edore-ann-scroll {
	from {
		transform: translateX(0);
	}
	to {
		transform: translateX(-33.33%);
	}
}

.edore-header {
	position: sticky;
	top: 0;
	z-index: var(--e-z-header);
	background: var(--e-black);
	color: var(--e-ivory);
	border-bottom: 1px solid var(--e-line-dark);
	transition: background var(--e-t), height var(--e-t), border-color var(--e-t);
}

.edore-header__inner {
	display: grid;
	grid-template-columns: 1fr auto 1fr;
	align-items: center;
	gap: var(--e-4);
	height: var(--e-header-h);
	transition: height var(--e-t);
}

.edore-header.is-scrolled .edore-header__inner {
	height: 72px;
}

.edore-header__start,
.edore-header__end {
	display: flex;
	align-items: center;
	gap: var(--e-1);
	grid-row: 1;
}

.edore-header__start {
	grid-column: 1;
}

.edore-header__end {
	grid-column: 3;
}

.edore-header__end {
	justify-content: flex-end;
}

.edore-header__logo {
	display: flex;
	justify-content: center;
	grid-column: 2;
	grid-row: 1;
}

/* Nav sits to the start side, logo centred: on desktop the nav shares the
   first column with the utility icons. */
.edore-nav {
	grid-column: 1;
	grid-row: 1;
	justify-self: start;
	margin-inline-start: 96px;
}

.edore-nav__list {
	display: flex;
	align-items: center;
	gap: clamp(14px, 2vw, 30px);
}

.edore-nav__list > li > a {
	position: relative;
	display: inline-block;
	padding: var(--e-2) 0;
	font-size: var(--e-fs-sm);
	letter-spacing: 0.04em;
	color: var(--e-ivory);
	transition: color var(--e-t-fast);
}

.edore-nav__list > li > a::after {
	content: "";
	position: absolute;
	inset-inline-start: 0;
	bottom: 2px;
	width: 100%;
	height: 1px;
	background: var(--e-champagne);
	transform: scaleX(0);
	transform-origin: center;
	transition: transform var(--e-t);
}

.edore-nav__list > li > a:hover::after,
.edore-nav__list > li.current-menu-item > a::after {
	transform: scaleX(1);
}

.edore-nav__list .sub-menu {
	position: absolute;
	inset-inline-start: 0;
	top: 100%;
	min-width: 210px;
	padding: var(--e-3) 0;
	background: var(--e-soft);
	border: 1px solid var(--e-line-dark);
	opacity: 0;
	visibility: hidden;
	transform: translateY(6px);
	transition: opacity var(--e-t-fast), transform var(--e-t-fast), visibility var(--e-t-fast);
}

.edore-nav__list > li {
	position: relative;
}

.edore-nav__list > li:hover .sub-menu,
.edore-nav__list > li:focus-within .sub-menu {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
}

.edore-nav__list .sub-menu a {
	display: block;
	padding: var(--e-2) var(--e-5);
	font-size: var(--e-fs-sm);
	color: var(--e-on-dark-soft);
}

.edore-nav__list .sub-menu a:hover {
	color: var(--e-champagne);
}

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

.edore-logo__img {
	width: auto;
	height: 58px;
	transition: height var(--e-t);
}

.edore-header.is-scrolled .edore-logo__img {
	height: 46px;
}

.edore-logo--footer .edore-logo__img {
	height: 88px;
}

.edore-logo--lean .edore-logo__img {
	height: 48px;
}

.edore-lang {
	display: inline-flex;
	align-items: center;
	gap: var(--e-2);
	padding-inline: var(--e-2);
	font-size: var(--e-fs-xs);
	letter-spacing: 0.06em;
}

.edore-lang__item {
	color: var(--e-on-dark-soft);
	transition: color var(--e-t-fast);
}

.edore-lang__item.is-active {
	color: var(--e-champagne);
}

.edore-lang__item:hover {
	color: var(--e-ivory);
}

.edore-lang__sep {
	color: var(--e-line-dark);
}

.edore-cartbtn .edore-cart-count {
	position: absolute;
	top: 6px;
	inset-inline-end: 4px;
	min-width: 17px;
	height: 17px;
	display: none;
	align-items: center;
	justify-content: center;
	padding: 0 4px;
	background: var(--e-gold);
	color: var(--e-black);
	border-radius: 20px;
	font-size: 0.625rem;
	line-height: 1;
}

.edore-cartbtn .edore-cart-count.is-filled {
	display: inline-flex;
}

/* Transparent-over-hero state.
   The header stays sticky and is pulled out of flow with a negative bottom
   margin, so the hero starts underneath it. The header height is kept fixed
   in this mode so nothing shifts when the solid background fades in. */
body.has-transparent-header .edore-header[data-transparent="1"] {
	margin-bottom: calc(-1 * var(--e-header-h));
	background: transparent;
	border-bottom-color: transparent;
}

body.has-transparent-header .edore-header[data-transparent="1"] .edore-header__inner,
body.has-transparent-header .edore-header[data-transparent="1"].is-scrolled .edore-header__inner {
	height: var(--e-header-h);
}

body.has-transparent-header .edore-header[data-transparent="1"] .edore-logo__img,
body.has-transparent-header .edore-header[data-transparent="1"].is-scrolled .edore-logo__img {
	height: 58px;
}

body.has-transparent-header .edore-header[data-transparent="1"].is-scrolled {
	background: rgba(9, 9, 9, 0.94);
	border-bottom-color: var(--e-line-dark);
	-webkit-backdrop-filter: blur(10px);
	backdrop-filter: blur(10px);
}

.edore-header--lean {
	position: relative;
	background: var(--e-black);
}

.edore-header__lean {
	display: flex;
	align-items: center;
	justify-content: space-between;
	grid-column: 1 / -1;
	width: 100%;
}

.edore-header__back {
	display: inline-flex;
	align-items: center;
	gap: var(--e-2);
	font-size: var(--e-fs-sm);
	color: var(--e-on-dark-soft);
}

.edore-header__back:hover {
	color: var(--e-champagne);
}

.edore-checkout-head {
	padding: var(--e-8) 0 var(--e-5);
	background: var(--e-ivory);
	text-align: center;
}

.edore-checkout-head__title {
	font-family: var(--e-serif);
	font-size: var(--e-fs-xl);
	letter-spacing: var(--e-track-mid);
	text-transform: uppercase;
}

/* Scrim + drawers */
.edore-scrim {
	position: fixed;
	inset: 0;
	z-index: var(--e-z-scrim);
	background: rgba(9, 9, 9, 0.6);
	opacity: 0;
	transition: opacity var(--e-t);
	backdrop-filter: blur(2px);
}

.edore-scrim.is-open {
	opacity: 1;
}

.edore-drawer {
	position: fixed;
	top: 0;
	bottom: 0;
	z-index: var(--e-z-drawer);
	display: flex;
	flex-direction: column;
	width: min(420px, 92vw);
	background: var(--e-soft);
	color: var(--e-on-dark);
	transition: transform var(--e-t);
}

.edore-drawer--start {
	inset-inline-start: 0;
	transform: translateX(-105%);
}

.edore-drawer--end {
	inset-inline-end: 0;
	transform: translateX(105%);
}

body.edore-rtl .edore-drawer--start {
	transform: translateX(105%);
}

body.edore-rtl .edore-drawer--end {
	transform: translateX(-105%);
}

.edore-drawer.is-open {
	transform: translateX(0);
}

.edore-drawer__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: var(--e-4) var(--e-5);
	border-bottom: 1px solid var(--e-line-dark);
}

.edore-drawer__head .edore-eyebrow {
	margin: 0;
	color: var(--e-champagne);
}

.edore-drawer__body {
	flex: 1 1 auto;
	overflow-y: auto;
	padding: var(--e-5);
	-webkit-overflow-scrolling: touch;
}

.edore-drawer__loading {
	position: absolute;
	inset: 0;
	display: none;
	background: rgba(22, 21, 19, 0.5);
}

.edore-drawer.is-loading .edore-drawer__loading {
	display: block;
}

.edore-mnav__list > li > a {
	display: block;
	padding: var(--e-4) 0;
	border-bottom: 1px solid var(--e-line-dark);
	font-family: var(--e-serif);
	font-size: var(--e-fs-lg);
	color: var(--e-ivory);
}

body.edore-lang-he .edore-mnav__list > li > a,
body.edore-lang-ar .edore-mnav__list > li > a {
	font-family: var(--e-sans);
	font-weight: 300;
}

.edore-mnav__list .sub-menu a {
	display: block;
	padding: var(--e-2) 0;
	font-size: var(--e-fs-sm);
	color: var(--e-on-dark-soft);
}

.edore-mnav__list .sub-menu {
	padding: var(--e-2) 0 var(--e-4);
}

.edore-mnav__search {
	margin: var(--e-6) 0;
}

.edore-mnav__meta {
	display: grid;
	gap: var(--e-3);
	padding-top: var(--e-5);
	border-top: 1px solid var(--e-line-dark);
}

.edore-mnav__meta a {
	display: flex;
	align-items: center;
	gap: var(--e-3);
	font-size: var(--e-fs-sm);
	color: var(--e-on-dark-soft);
}

.edore-mnav__meta a:hover {
	color: var(--e-champagne);
}

.edore-mnav__lang {
	margin-top: var(--e-5);
}

/* Search overlay */
.edore-search {
	position: fixed;
	inset: 0;
	z-index: var(--e-z-drawer);
	display: flex;
	align-items: center;
	background: var(--e-black);
	color: var(--e-ivory);
	opacity: 0;
	transition: opacity var(--e-t);
}

.edore-search.is-open {
	opacity: 1;
}

.edore-search__inner {
	position: relative;
	width: 100%;
	text-align: center;
}

.edore-search__inner .edore-eyebrow {
	justify-content: center;
	color: var(--e-champagne);
}

.edore-search__close {
	position: absolute;
	top: -80px;
	inset-inline-end: var(--e-gutter);
	color: var(--e-ivory);
}

.edore-search__title {
	margin-bottom: var(--e-6);
	font-family: var(--e-serif);
	font-size: var(--e-fs-2xl);
	font-weight: 300;
}

.edore-search__quick {
	margin-top: var(--e-6);
	font-size: var(--e-fs-sm);
	color: var(--e-on-dark-soft);
}

.edore-search__quick ul {
	display: flex;
	flex-wrap: wrap;
	gap: var(--e-3);
	justify-content: center;
	margin-top: var(--e-3);
}

.edore-search__quick a {
	padding: 6px 14px;
	border: 1px solid var(--e-line-dark);
	color: var(--e-ivory);
}

.edore-search__quick a:hover {
	border-color: var(--e-champagne);
	color: var(--e-champagne);
}

/* Search form */
.edore-searchform {
	display: flex;
	align-items: center;
	gap: var(--e-2);
	border-bottom: 1px solid var(--e-line);
}

.edore-search .edore-searchform,
.edore-drawer .edore-searchform {
	border-bottom-color: var(--e-line-dark);
}

.edore-searchform__input {
	flex: 1 1 auto;
	min-height: 52px;
	padding: 0 var(--e-2);
	background: none;
	border: 0;
	font-size: var(--e-fs-md);
	font-weight: 300;
}

.edore-search .edore-searchform__input {
	font-size: var(--e-fs-lg);
	text-align: center;
}

.edore-searchform__input:focus {
	outline: none;
}

.edore-searchform__submit {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	color: var(--e-gold);
}

.edore-searchform-wrap {
	max-width: 520px;
	margin: 0 auto var(--e-8);
}

/* -------------------------------------------------- 7. Homepage sections */
.edore-hero {
	position: relative;
	background: var(--e-black);
	color: var(--e-ivory);
	overflow: hidden;
}

.edore-hero--split {
	display: grid;
	grid-template-columns: 1.05fr 1fr;
	min-height: min(94vh, 900px);
}

.edore-hero--split .edore-hero__media {
	position: relative;
	grid-column: 1;
	min-height: 100%;
}

.edore-hero--split .edore-hero__panel {
	display: flex;
	align-items: center;
	padding: clamp(60px, 8vw, 120px) clamp(24px, 6vw, 100px);
}

.edore-hero--full {
	display: grid;
	min-height: min(92vh, 880px);
}

.edore-hero--full .edore-hero__media {
	position: absolute;
	inset: 0;
}

.edore-hero--full .edore-hero__panel {
	position: relative;
	display: flex;
	align-items: flex-end;
	max-width: var(--e-wrap);
	width: 100%;
	margin-inline: auto;
	padding: clamp(60px, 10vw, 140px) var(--e-gutter);
}

.edore-hero__img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: 50% 22%;
}

.edore-hero__veil {
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(9, 9, 9, 0.5) 0%, rgba(9, 9, 9, 0.06) 42%, rgba(9, 9, 9, 0.72) 100%);
}

.edore-hero--split .edore-hero__veil {
	background: linear-gradient(90deg, rgba(9, 9, 9, 0.45) 0%, rgba(9, 9, 9, 0.05) 55%, rgba(9, 9, 9, 0.55) 100%);
}

.edore-hero__content {
	position: relative;
	max-width: 42ch;
	animation: edore-rise 900ms cubic-bezier(0.22, 0.61, 0.36, 1) both;
}

@keyframes edore-rise {
	from {
		opacity: 0;
		transform: translateY(18px);
	}
	to {
		opacity: 1;
		transform: none;
	}
}

.edore-hero__title {
	font-family: var(--e-serif);
	font-size: var(--e-fs-display);
	font-weight: 300;
	line-height: 1.04;
	letter-spacing: -0.015em;
}

body.edore-lang-he .edore-hero__title,
body.edore-lang-ar .edore-hero__title {
	font-family: var(--e-sans);
	font-weight: 200;
	line-height: 1.14;
	font-size: clamp(2.125rem, 5vw, 3.9rem);
}

.edore-hero__text {
	max-width: 40ch;
	margin: var(--e-5) 0 var(--e-7);
	color: var(--e-on-dark-soft);
	font-size: var(--e-fs-md);
}

.edore-hero__actions {
	display: flex;
	flex-wrap: wrap;
	gap: var(--e-3);
}

.edore-hero__actions .edore-btn:first-child {
	background: var(--e-ivory);
	color: var(--e-black);
	border-color: var(--e-ivory);
}

.edore-hero__actions .edore-btn:first-child:hover {
	background: var(--e-champagne);
	border-color: var(--e-champagne);
}

.edore-hero__actions .edore-btn--ghost {
	color: var(--e-ivory);
	border-color: var(--e-line-dark);
}

.edore-hero__actions .edore-btn--ghost:hover {
	border-color: var(--e-champagne);
	color: var(--e-champagne);
}

/* Marquee */
.edore-marquee {
	background: var(--e-soft);
	border-block: 1px solid var(--e-line-dark);
	overflow: hidden;
	padding-block: var(--e-4);
}

.edore-marquee__track {
	display: flex;
	width: max-content;
	animation: edore-marquee 46s linear infinite;
}

.edore-marquee__group {
	display: flex;
	align-items: center;
	gap: var(--e-6);
	padding-inline-end: var(--e-6);
}

.edore-marquee__item {
	font-family: var(--e-serif);
	font-size: clamp(0.9rem, 1.5vw, 1.2rem);
	letter-spacing: var(--e-track-wide);
	text-transform: uppercase;
	color: var(--e-champagne);
	white-space: nowrap;
}

body.edore-lang-he .edore-marquee__item,
body.edore-lang-ar .edore-marquee__item {
	font-family: var(--e-sans);
	font-weight: 300;
	letter-spacing: var(--e-track-mid);
}

.edore-marquee__star {
	color: var(--e-gold);
	opacity: 0.75;
}

@keyframes edore-marquee {
	from {
		transform: translateX(0);
	}
	to {
		transform: translateX(-33.333%);
	}
}

body.edore-rtl .edore-marquee__track {
	animation-name: edore-marquee-rtl;
}

@keyframes edore-marquee-rtl {
	from {
		transform: translateX(0);
	}
	to {
		transform: translateX(33.333%);
	}
}

/* Brand intro */
.edore-intro__grid {
	display: grid;
	grid-template-columns: 1fr 0.92fr;
	gap: clamp(32px, 6vw, 100px);
	align-items: center;
}

.edore-intro__lead {
	max-width: 34ch;
	font-family: var(--e-serif);
	font-size: var(--e-fs-xl);
	line-height: 1.35;
	color: var(--e-ink);
}

body.edore-lang-he .edore-intro__lead,
body.edore-lang-ar .edore-intro__lead {
	font-family: var(--e-sans);
	font-weight: 300;
}

.edore-intro__note {
	max-width: 42ch;
	margin: var(--e-5) 0 var(--e-6);
	color: var(--e-ink-soft);
}

.edore-intro__media {
	position: relative;
}

.edore-intro__media::before {
	content: "";
	position: absolute;
	inset-inline-start: calc(-1 * var(--e-5));
	top: var(--e-5);
	width: 1px;
	height: 40%;
	background: var(--e-gold);
	opacity: 0.5;
}

/* Featured */
.edore-featured__grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: clamp(32px, 6vw, 90px);
	align-items: center;
}

.edore-featured__name {
	margin: 0 0 var(--e-3);
	font-family: var(--e-serif);
	font-size: var(--e-fs-sm);
	letter-spacing: var(--e-track-wide);
	text-transform: uppercase;
	color: var(--e-champagne);
}

.edore-featured__title {
	font-family: var(--e-serif);
	font-size: var(--e-fs-2xl);
	font-weight: 300;
	color: var(--e-on-dark);
}

body.edore-lang-he .edore-featured__title,
body.edore-lang-ar .edore-featured__title {
	font-family: var(--e-sans);
	font-weight: 200;
}

.edore-featured__lead {
	max-width: 44ch;
	margin-top: var(--e-4);
	color: var(--e-on-dark-soft);
}

.edore-featured__actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--e-5);
	margin-top: var(--e-6);
}

.edore-featured__price {
	font-family: var(--e-serif);
	font-size: var(--e-fs-lg);
	color: var(--e-champagne);
}

.edore-featured__price del {
	opacity: 0.5;
	margin-inline-end: var(--e-2);
}

/* Ritual steps — the signature sequence */
.edore-steps {
	display: grid;
	grid-template-columns: repeat(5, 1fr);
	gap: var(--e-4);
	counter-reset: edore-step;
}

.edore-steps__item {
	position: relative;
}

.edore-steps__item + .edore-steps__item::before {
	content: "";
	position: absolute;
	top: 26px;
	inset-inline-start: calc(-1 * var(--e-4) / 2 - 4px);
	width: 8px;
	height: 1px;
	background: var(--e-gold);
	opacity: 0.7;
}

.edore-steps__link {
	display: block;
	height: 100%;
	padding: var(--e-5) var(--e-4) var(--e-6);
	border: 1px solid var(--e-line-dark);
	transition: border-color var(--e-t), transform var(--e-t), background var(--e-t);
}

.edore-steps__link:hover {
	border-color: var(--e-champagne);
	background: rgba(246, 241, 233, 0.03);
	transform: translateY(-3px);
}

.edore-steps__num {
	display: block;
	margin-bottom: var(--e-4);
	font-family: var(--e-serif);
	font-size: var(--e-fs-lg);
	color: var(--e-gold);
	letter-spacing: 0.08em;
}

.edore-steps__media {
	display: block;
	aspect-ratio: 1;
	margin-bottom: var(--e-4);
	background: #0f0f0e;
	overflow: hidden;
}

.edore-steps__img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	padding: var(--e-4);
	transition: transform var(--e-t);
}

.edore-steps__link:hover .edore-steps__img {
	transform: scale(1.05);
}

.edore-steps__en {
	display: block;
	font-size: var(--e-fs-xs);
	letter-spacing: var(--e-track-wide);
	text-transform: uppercase;
	color: var(--e-champagne);
}

.edore-steps__he {
	display: block;
	margin-top: 2px;
	font-size: var(--e-fs-sm);
	color: var(--e-on-dark-soft);
}

.edore-steps__name {
	display: block;
	margin-top: var(--e-3);
	font-size: var(--e-fs-base);
	color: var(--e-on-dark);
}

.edore-steps__text {
	display: block;
	margin-top: var(--e-2);
	font-size: var(--e-fs-sm);
	color: var(--e-on-dark-soft);
}

.edore-steps__more {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	margin-top: var(--e-4);
	font-size: var(--e-fs-xs);
	letter-spacing: var(--e-track-mid);
	color: var(--e-champagne);
}

/* Why */
.edore-why__list {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: clamp(20px, 3vw, 48px);
}

.edore-why__item {
	padding-top: var(--e-5);
	border-top: 1px solid var(--e-line);
}

.edore-why__num {
	display: block;
	margin-bottom: var(--e-4);
	font-family: var(--e-serif);
	font-size: var(--e-fs-lg);
	color: var(--e-gold);
}

.edore-why__title {
	font-size: var(--e-fs-md);
	font-weight: 400;
	line-height: 1.4;
}

.edore-why__text {
	margin-top: var(--e-3);
	font-size: var(--e-fs-sm);
	color: var(--e-ink-soft);
}

/* Results (before / after) */
.edore-results__grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
	gap: clamp(24px, 4vw, 56px);
}

.edore-ba__stage {
	position: relative;
	aspect-ratio: 4 / 5;
	overflow: hidden;
	background: var(--e-warm);
}

.edore-ba__img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.edore-ba__clip {
	position: absolute;
	inset: 0;
	display: block;
	clip-path: inset(0 calc(100% - var(--edore-ba, 50%)) 0 0);
}

.edore-ba__handle {
	position: absolute;
	top: 0;
	bottom: 0;
	inset-inline-start: var(--edore-ba, 50%);
	width: 1px;
	background: var(--e-ivory);
	box-shadow: 0 0 0 1px rgba(9, 9, 9, 0.2);
}

.edore-ba__range {
	position: absolute;
	inset-inline: 0;
	bottom: var(--e-4);
	width: calc(100% - 2 * var(--e-4));
	margin-inline: var(--e-4);
	accent-color: var(--e-gold);
}

.edore-ba__tag {
	position: absolute;
	top: var(--e-3);
	padding: 4px 9px;
	background: rgba(9, 9, 9, 0.7);
	color: var(--e-ivory);
	font-size: 0.625rem;
	letter-spacing: var(--e-track-mid);
	text-transform: uppercase;
}

.edore-ba__tag--before {
	inset-inline-start: var(--e-3);
}

.edore-ba__tag--after {
	inset-inline-end: var(--e-3);
}

.edore-ba__cap {
	margin-top: var(--e-4);
}

.edore-ba__cap blockquote {
	margin: 0;
	font-family: var(--e-serif);
	font-size: var(--e-fs-md);
	color: var(--e-ink);
}

.edore-ba__cap cite {
	display: block;
	margin-top: var(--e-2);
	font-size: var(--e-fs-sm);
	font-style: normal;
	color: var(--e-ink-soft);
}

.edore-ba__prod {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	margin-top: var(--e-2);
	font-size: var(--e-fs-xs);
	letter-spacing: var(--e-track-mid);
	color: var(--e-gold);
}

/* Founder */
.edore-founder__grid {
	display: grid;
	grid-template-columns: 0.9fr 1fr;
	gap: clamp(32px, 6vw, 96px);
	align-items: center;
}

.edore-founder__story {
	max-width: 46ch;
}

.edore-founder__story p {
	color: var(--e-on-dark-soft);
	font-size: var(--e-fs-md);
}

.edore-founder__sign {
	margin-top: var(--e-6);
	padding-top: var(--e-5);
	border-top: 1px solid var(--e-line-dark);
}

.edore-founder__signname {
	display: block;
	font-family: var(--e-serif);
	font-size: var(--e-fs-lg);
	color: var(--e-champagne);
}

.edore-founder__signrole {
	display: block;
	margin-top: 2px;
	font-size: var(--e-fs-xs);
	letter-spacing: var(--e-track-wide);
	text-transform: uppercase;
	color: var(--e-on-dark-soft);
}

/* Testimonials */
.edore-tests__list {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: clamp(20px, 3vw, 40px);
}

.edore-test {
	padding: var(--e-6);
	background: var(--e-ivory);
	border: 1px solid var(--e-line-soft);
}

.edore-test__text {
	margin: var(--e-4) 0 var(--e-5);
	font-family: var(--e-serif);
	font-size: var(--e-fs-md);
	line-height: 1.6;
	color: var(--e-ink);
}

body.edore-lang-he .edore-test__text,
body.edore-lang-ar .edore-test__text {
	font-family: var(--e-sans);
	font-weight: 300;
}

.edore-test__name {
	font-size: var(--e-fs-sm);
	font-style: normal;
	color: var(--e-ink);
}

.edore-test__prod {
	display: block;
	margin-top: 2px;
	font-size: var(--e-fs-xs);
	letter-spacing: var(--e-track-mid);
	text-transform: uppercase;
	color: var(--e-gold);
}

/* Instagram */
.edore-ig__grid {
	display: grid;
	grid-template-columns: repeat(6, 1fr);
	gap: var(--e-2);
}

.edore-ig__cell {
	position: relative;
	display: block;
	aspect-ratio: 1;
	overflow: hidden;
	background: #0f0f0e;
}

.edore-ig__img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform var(--e-t), opacity var(--e-t);
}

.edore-ig__cell:hover .edore-ig__img {
	transform: scale(1.06);
	opacity: 0.7;
}

.edore-ig__hover {
	position: absolute;
	inset: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--e-ivory);
	opacity: 0;
	transition: opacity var(--e-t);
}

.edore-ig__cell:hover .edore-ig__hover {
	opacity: 1;
}

/* Newsletter */
.edore-news {
	text-align: center;
}

.edore-news__star {
	display: inline-flex;
	margin-bottom: var(--e-4);
	color: var(--e-gold);
}

.edore-news__title {
	font-family: var(--e-serif);
	font-size: var(--e-fs-2xl);
	font-weight: 300;
	color: var(--e-on-dark);
}

body.edore-lang-he .edore-news__title,
body.edore-lang-ar .edore-news__title {
	font-family: var(--e-sans);
	font-weight: 200;
}

.edore-news__text {
	max-width: 44ch;
	margin: var(--e-4) auto var(--e-6);
	color: var(--e-on-dark-soft);
}

.edore-news__form {
	display: flex;
	gap: var(--e-2);
	max-width: 480px;
	margin-inline: auto;
}

.edore-news__input {
	flex: 1 1 auto;
	min-height: 50px;
	padding: 0 var(--e-4);
	background: transparent;
	color: var(--e-ivory);
	border: 1px solid var(--e-line-dark);
	border-radius: var(--e-radius);
}

.edore-news__input::placeholder {
	color: rgba(246, 241, 233, 0.45);
}

.edore-news__input:focus {
	outline: none;
	border-color: var(--e-champagne);
}

.edore-news__submit {
	background: var(--e-ivory);
	color: var(--e-black);
	border-color: var(--e-ivory);
	white-space: nowrap;
}

.edore-news__submit:hover {
	background: var(--e-champagne);
	border-color: var(--e-champagne);
}

.edore-news__msg {
	min-height: 1.4em;
	margin-top: var(--e-3);
	font-size: var(--e-fs-sm);
	color: var(--e-champagne);
}

.edore-news__msg.is-error {
	color: #e6a3a3;
}

.edore-news__note {
	margin-top: var(--e-3);
	font-size: var(--e-fs-xs);
	color: rgba(246, 241, 233, 0.4);
}

/* --------------------------------------------------- 8. Cards & grids */
.edore-grid {
	display: grid;
	gap: clamp(20px, 2.6vw, 40px);
}

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

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

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

.edore-card {
	display: flex;
	flex-direction: column;
	background: transparent;
}

.edore-card__media {
	position: relative;
	display: block;
	aspect-ratio: 4 / 5;
	overflow: hidden;
	background: var(--e-warm);
	border: 1px solid var(--e-line-soft);
}

.edore-sec--warm .edore-card__media {
	background: #e6ddce;
}

.edore-card__img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	padding: clamp(8px, 2vw, 26px);
	transition: transform 700ms cubic-bezier(0.22, 0.61, 0.36, 1), opacity var(--e-t);
}

.edore-card__img--hover {
	position: absolute;
	inset: 0;
	opacity: 0;
}

.edore-card:hover .edore-card__img--hover {
	opacity: 1;
}

.edore-card:hover .edore-card__img {
	transform: scale(1.04);
}

.edore-card__badges {
	position: absolute;
	top: var(--e-3);
	inset-inline-start: var(--e-3);
	display: flex;
	flex-direction: column;
	gap: 6px;
	align-items: flex-start;
}

.edore-card__body {
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
	padding-top: var(--e-4);
}

.edore-card__eyebrow {
	margin: 0 0 var(--e-2);
	font-size: var(--e-fs-xs);
	letter-spacing: var(--e-track-wide);
	text-transform: uppercase;
	color: var(--e-gold);
}

.edore-card__title {
	font-size: var(--e-fs-md);
	font-weight: 400;
	line-height: 1.4;
}

.edore-card__benefit {
	margin: var(--e-2) 0 0;
	font-size: var(--e-fs-sm);
	color: var(--e-ink-soft);
}

.edore-card__meta {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--e-3);
	margin-top: var(--e-4);
}

.edore-card__price {
	font-family: var(--e-serif);
	font-size: var(--e-fs-md);
	color: var(--e-ink);
}

.edore-card__price del {
	margin-inline-end: 6px;
	color: var(--e-gray);
}

.edore-card__price ins {
	text-decoration: none;
	color: var(--e-ink);
}

.edore-card__actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--e-3);
	margin-top: auto;
	padding-top: var(--e-4);
}

.edore-card__view {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-size: var(--e-fs-xs);
	letter-spacing: var(--e-track-mid);
	text-transform: uppercase;
	color: var(--e-ink-soft);
	border-bottom: 1px solid transparent;
	transition: color var(--e-t-fast), border-color var(--e-t-fast);
}

.edore-card__view:hover {
	color: var(--e-ink);
	border-bottom-color: var(--e-gold);
}

/* ------------------------------- 9. Inner pages, blog, 404, comments */
.edore-page-hero {
	padding: clamp(70px, 9vw, 130px) 0 clamp(30px, 4vw, 56px);
	background: var(--e-ivory);
	text-align: center;
}

.edore-page-hero--compact {
	padding-block: clamp(56px, 7vw, 96px) var(--e-6);
}

.edore-page-hero .edore-sec-head {
	margin-bottom: 0;
}

.edore-page-hero .edore-sec-title {
	font-size: var(--e-fs-2xl);
}

.edore-crumbs {
	padding: var(--e-3) 0;
	background: var(--e-ivory);
	font-size: var(--e-fs-xs);
	letter-spacing: 0.04em;
	color: var(--e-ink-soft);
}

.edore-crumbs__list {
	display: flex;
	flex-wrap: wrap;
	gap: var(--e-2);
	align-items: center;
}

.edore-crumbs__sep {
	color: var(--e-line);
}

.edore-crumbs a:hover {
	color: var(--e-gold);
}

.edore-postgrid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: clamp(20px, 3vw, 40px);
}

.edore-postcard__media {
	display: block;
	aspect-ratio: 4 / 3;
	overflow: hidden;
	background: var(--e-warm);
}

.edore-postcard__img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform var(--e-t);
}

.edore-postcard:hover .edore-postcard__img {
	transform: scale(1.04);
}

.edore-postcard__ph {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 100%;
	color: var(--e-gold);
}

.edore-postcard__date {
	margin: var(--e-4) 0 var(--e-2);
	font-size: var(--e-fs-xs);
	letter-spacing: var(--e-track-mid);
	text-transform: uppercase;
	color: var(--e-gold);
}

.edore-postcard__title {
	font-size: var(--e-fs-lg);
	font-weight: 400;
	line-height: 1.3;
}

.edore-postcard__excerpt {
	margin: var(--e-3) 0 var(--e-4);
	font-size: var(--e-fs-sm);
	color: var(--e-ink-soft);
}

.edore-404 {
	text-align: center;
}

.edore-404 .edore-eyebrow {
	justify-content: center;
}

.edore-404__title {
	font-family: var(--e-serif);
	font-size: var(--e-fs-2xl);
	font-weight: 300;
	color: var(--e-on-dark);
}

.edore-404__text {
	margin: var(--e-4) 0 var(--e-7);
	color: var(--e-on-dark-soft);
}

.edore-404__actions {
	display: flex;
	flex-wrap: wrap;
	gap: var(--e-3);
	justify-content: center;
}

.edore-404__search {
	max-width: 420px;
	margin: var(--e-8) auto 0;
}

.edore-404__search .edore-searchform {
	border-bottom-color: var(--e-line-dark);
}

.edore-404__search .edore-searchform__input {
	color: var(--e-ivory);
}

/* Accordion (product page + anywhere else) */
.edore-acc {
	border-top: 1px solid var(--e-line);
}

.edore-acc__item {
	border-bottom: 1px solid var(--e-line);
}

.edore-acc__h {
	margin: 0;
	font-size: inherit;
	font-weight: inherit;
}

.edore-acc__btn {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--e-4);
	width: 100%;
	padding: var(--e-5) 0;
	text-align: start;
}

.edore-acc__en {
	display: block;
	font-size: var(--e-fs-xs);
	letter-spacing: var(--e-track-wide);
	text-transform: uppercase;
	color: var(--e-gold);
}

.edore-acc__he {
	display: block;
	margin-top: 4px;
	font-size: var(--e-fs-md);
	color: var(--e-ink);
}

.edore-acc__sign {
	position: relative;
	flex: 0 0 auto;
	width: 14px;
	height: 14px;
}

.edore-acc__sign::before,
.edore-acc__sign::after {
	content: "";
	position: absolute;
	inset-inline-start: 0;
	top: 50%;
	width: 14px;
	height: 1px;
	background: var(--e-ink);
	transition: transform var(--e-t);
}

.edore-acc__sign::after {
	transform: rotate(90deg);
}

.edore-acc__item.is-open .edore-acc__sign::after {
	transform: rotate(0deg);
}

.edore-acc__panel {
	overflow: hidden;
}

.edore-acc__inner {
	padding-bottom: var(--e-6);
}

/* Comments */
.edore-comments {
	margin-top: var(--e-9);
	padding-top: var(--e-7);
	border-top: 1px solid var(--e-line);
}

.edore-comments__title {
	margin-bottom: var(--e-5);
	font-size: var(--e-fs-lg);
	font-weight: 400;
}

.edore-comments__list li {
	padding: var(--e-4) 0;
	border-bottom: 1px solid var(--e-line-soft);
}

.edore-comments__list .children {
	padding-inline-start: var(--e-5);
}

.edore-comments input[type="text"],
.edore-comments input[type="email"],
.edore-comments input[type="url"],
.edore-comments textarea {
	width: 100%;
	padding: var(--e-3);
	background: transparent;
	border: 1px solid var(--e-line);
	border-radius: var(--e-radius);
}

/* Pagination */
.edore-main .navigation.pagination,
.woocommerce-pagination {
	margin-top: var(--e-8);
	text-align: center;
}

.edore-main .nav-links,
.woocommerce-pagination ul {
	display: inline-flex;
	flex-wrap: wrap;
	gap: var(--e-2);
	align-items: center;
	justify-content: center;
	border: 0 !important;
}

.edore-main .page-numbers,
.woocommerce-pagination .page-numbers li {
	border: 0 !important;
}

.edore-main a.page-numbers,
.edore-main span.page-numbers,
.woocommerce-pagination a.page-numbers,
.woocommerce-pagination span.page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 42px;
	height: 42px;
	padding: 0 var(--e-2);
	border: 1px solid var(--e-line);
	font-size: var(--e-fs-sm);
}

.edore-main .page-numbers.current,
.woocommerce-pagination .page-numbers.current {
	background: var(--e-black);
	color: var(--e-ivory);
	border-color: var(--e-black);
}

/* Ritual page */
.edore-rstep {
	display: grid;
	grid-template-columns: 0.85fr 1fr;
	gap: clamp(28px, 5vw, 80px);
	align-items: center;
	padding-block: clamp(36px, 5vw, 70px);
	border-bottom: 1px solid var(--e-line-soft);
}

.edore-rstep:last-child {
	border-bottom: 0;
}

.edore-rstep--flip .edore-rstep__media {
	order: 2;
}

.edore-rstep__media {
	position: relative;
}

.edore-rstep__num {
	position: absolute;
	top: calc(-1 * var(--e-5));
	inset-inline-start: calc(-1 * var(--e-3));
	font-family: var(--e-serif);
	font-size: clamp(2.5rem, 6vw, 4.5rem);
	line-height: 1;
	color: var(--e-gold);
	opacity: 0.28;
}

.edore-rstep__he {
	margin: 0 0 var(--e-2);
	font-size: var(--e-fs-sm);
	letter-spacing: var(--e-track-mid);
	color: var(--e-ink-soft);
}

.edore-rstep__title {
	font-family: var(--e-serif);
	font-size: var(--e-fs-xl);
	font-weight: 400;
}

body.edore-lang-he .edore-rstep__title,
body.edore-lang-ar .edore-rstep__title {
	font-family: var(--e-sans);
	font-weight: 300;
}

.edore-rstep__lead {
	margin-top: var(--e-3);
	color: var(--e-ink-soft);
	font-size: var(--e-fs-md);
}

.edore-rstep__sub {
	margin: var(--e-5) 0 var(--e-2);
	font-size: var(--e-fs-xs);
	font-weight: 400;
	letter-spacing: var(--e-track-wide);
	text-transform: uppercase;
	color: var(--e-gold);
}

.edore-rstep__how p {
	font-size: var(--e-fs-sm);
	color: var(--e-ink-soft);
}

.edore-rstep__actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--e-5);
	margin-top: var(--e-5);
}

.edore-rstep__price {
	font-family: var(--e-serif);
	font-size: var(--e-fs-lg);
}

/* Contact page */
.edore-contact__grid {
	display: grid;
	grid-template-columns: 0.6fr 1fr;
	gap: clamp(28px, 5vw, 80px);
}

.edore-contact__subtitle {
	margin-bottom: var(--e-4);
	font-size: var(--e-fs-xs);
	font-weight: 400;
	letter-spacing: var(--e-track-wide);
	text-transform: uppercase;
	color: var(--e-gold);
}

.edore-contact__list {
	display: grid;
	gap: var(--e-4);
}

.edore-contact__list a,
.edore-contact__plain {
	display: flex;
	align-items: center;
	gap: var(--e-3);
	font-size: var(--e-fs-base);
	color: var(--e-ink-soft);
}

.edore-contact__list a:hover {
	color: var(--e-ink);
}

.edore-contact__list .edore-icon {
	color: var(--e-gold);
}

.edore-contact__hint {
	padding: var(--e-6);
	border: 1px dashed var(--e-line);
	color: var(--e-ink-soft);
	font-size: var(--e-fs-sm);
}

/* ----------------------------------- 10. Footer & floating actions */
.edore-footer {
	padding: clamp(56px, 7vw, 100px) 0 var(--e-6);
	background: var(--e-black);
	color: var(--e-on-dark-soft);
	font-size: var(--e-fs-sm);
}

.edore-footer__top {
	display: grid;
	grid-template-columns: 0.9fr 1.6fr;
	gap: clamp(32px, 5vw, 80px);
	padding-bottom: var(--e-8);
	border-bottom: 1px solid var(--e-line-dark);
}

.edore-footer__about {
	max-width: 34ch;
	margin: var(--e-5) 0;
}

.edore-social {
	display: flex;
	gap: var(--e-2);
}

.edore-social a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	border: 1px solid var(--e-line-dark);
	color: var(--e-ivory);
	transition: border-color var(--e-t-fast), color var(--e-t-fast);
}

.edore-social a:hover {
	border-color: var(--e-champagne);
	color: var(--e-champagne);
}

.edore-footer__cols {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: clamp(20px, 3vw, 40px);
}

.edore-footer__coltitle {
	margin-bottom: var(--e-4);
	font-size: var(--e-fs-xs);
	font-weight: 400;
	letter-spacing: var(--e-track-wide);
	text-transform: uppercase;
	color: var(--e-champagne);
}

.edore-footer__menu li + li {
	margin-top: var(--e-3);
}

.edore-footer__menu a {
	transition: color var(--e-t-fast);
}

.edore-footer__menu a:hover {
	color: var(--e-ivory);
}

.edore-footer__contact a,
.edore-footer__plain {
	display: flex;
	align-items: flex-start;
	gap: var(--e-2);
}

.edore-footer__contact .edore-icon {
	margin-top: 4px;
	color: var(--e-gold);
}

.edore-footer__lang {
	margin-top: var(--e-5);
}

.edore-footer__bottom {
	display: flex;
	flex-wrap: wrap;
	gap: var(--e-3) var(--e-6);
	align-items: center;
	justify-content: space-between;
	padding-top: var(--e-5);
	font-size: var(--e-fs-xs);
	color: rgba(246, 241, 233, 0.42);
}

.edore-footer__bottom p {
	margin: 0;
}

.edore-footer--lean {
	padding: var(--e-6) 0;
}

.edore-footer__leaninner {
	display: flex;
	flex-wrap: wrap;
	gap: var(--e-4);
	align-items: center;
	justify-content: space-between;
	font-size: var(--e-fs-xs);
}

.edore-footer__leanmenu {
	display: flex;
	flex-wrap: wrap;
	gap: var(--e-4);
}

.edore-wa {
	position: fixed;
	inset-inline-end: var(--e-4);
	bottom: var(--e-4);
	z-index: var(--e-z-float);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 50px;
	height: 50px;
	background: var(--e-soft);
	color: var(--e-champagne);
	border: 1px solid var(--e-line-dark);
	border-radius: 50%;
	box-shadow: var(--e-shadow-soft);
	transition: transform var(--e-t-fast), color var(--e-t-fast);
}

.edore-wa:hover {
	transform: translateY(-2px);
	color: var(--e-ivory);
}

/* Sticky mobile purchase bar */
.edore-stickybar {
	position: fixed;
	inset-inline: 0;
	bottom: 0;
	z-index: var(--e-z-float);
	display: none;
	align-items: center;
	justify-content: space-between;
	gap: var(--e-4);
	padding: var(--e-3) var(--e-4);
	background: rgba(9, 9, 9, 0.96);
	color: var(--e-ivory);
	border-top: 1px solid var(--e-line-dark);
	transform: translateY(100%);
	transition: transform var(--e-t);
}

.edore-stickybar.is-visible {
	transform: translateY(0);
}

.edore-stickybar__name {
	display: block;
	font-size: var(--e-fs-xs);
	color: var(--e-on-dark-soft);
}

.edore-stickybar__price {
	display: block;
	font-family: var(--e-serif);
	font-size: var(--e-fs-md);
	color: var(--e-champagne);
}

.edore-stickybar__price del {
	opacity: 0.5;
	margin-inline-end: 4px;
}

.edore-stickybar__cta {
	min-height: 46px;
	background: var(--e-ivory);
	color: var(--e-black);
	border-color: var(--e-ivory);
}

.edore-stickybar__out {
	font-size: var(--e-fs-sm);
	color: var(--e-gray);
}


/* --------------------------------------------------------------------------
   Mobile drawer hardening
   Use physical anchors as a fallback in addition to logical properties.
   This prevents the off-canvas menu from opening outside the viewport on
   mobile browsers while the scrim is already visible.
   -------------------------------------------------------------------------- */
.edore-drawer {
	visibility: visible;
	max-width: 92vw;
}

html[dir="rtl"] .edore-drawer--start,
body.edore-rtl .edore-drawer--start {
	right: 0;
	left: auto;
	inset-inline-start: 0;
}

html[dir="rtl"] .edore-drawer--end,
body.edore-rtl .edore-drawer--end {
	left: 0;
	right: auto;
	inset-inline-end: 0;
}

html[dir="ltr"] .edore-drawer--start,
body:not(.edore-rtl) .edore-drawer--start {
	left: 0;
	right: auto;
	inset-inline-start: 0;
}

html[dir="ltr"] .edore-drawer--end,
body:not(.edore-rtl) .edore-drawer--end {
	right: 0;
	left: auto;
	inset-inline-end: 0;
}

#edore-mobile-nav.is-open {
	transform: translate3d(0, 0, 0) !important;
	visibility: visible !important;
	opacity: 1 !important;
}

/* ---------------------------------------------------- 11. Responsive */
@media (max-width: 1180px) {
	.edore-nav {
		margin-inline-start: 60px;
	}

	.edore-nav__list {
		gap: 16px;
	}

	.edore-steps {
		grid-template-columns: repeat(3, 1fr);
	}

	.edore-steps__item + .edore-steps__item::before {
		display: none;
	}

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

@media (max-width: 1024px) {
	.edore-hide-mobile {
		display: none !important;
	}

	.edore-header__inner {
		grid-template-columns: 1fr auto 1fr;
		height: var(--e-header-h-sm);
	}

	.edore-header.is-scrolled .edore-header__inner {
		height: 58px;
	}

	.edore-logo__img,
	.edore-header.is-scrolled .edore-logo__img {
		height: 42px;
	}

	.edore-nav {
		display: none;
	}

	body.has-transparent-header .edore-header[data-transparent="1"] {
		margin-bottom: calc(-1 * var(--e-header-h-sm));
	}

	body.has-transparent-header .edore-header[data-transparent="1"] .edore-header__inner,
	body.has-transparent-header .edore-header[data-transparent="1"].is-scrolled .edore-header__inner {
		height: var(--e-header-h-sm);
	}

	body.has-transparent-header .edore-header[data-transparent="1"] .edore-logo__img,
	body.has-transparent-header .edore-header[data-transparent="1"].is-scrolled .edore-logo__img {
		height: 42px;
	}

	.edore-grid--3,
	.edore-grid--4 {
		grid-template-columns: repeat(2, 1fr);
	}

	.edore-postgrid {
		grid-template-columns: repeat(2, 1fr);
	}

	.edore-why__list {
		grid-template-columns: repeat(2, 1fr);
	}

	.edore-tests__list {
		grid-template-columns: repeat(2, 1fr);
	}

	.edore-ig__grid {
		grid-template-columns: repeat(3, 1fr);
	}

	.edore-intro__grid,
	.edore-featured__grid,
	.edore-founder__grid,
	.edore-contact__grid,
	.edore-rstep {
		grid-template-columns: 1fr;
	}

	.edore-rstep--flip .edore-rstep__media {
		order: 0;
	}

	.edore-intro__media::before {
		display: none;
	}

	.edore-hero--split {
		grid-template-columns: 1fr;
		min-height: 0;
	}

	.edore-hero--split .edore-hero__media {
		position: absolute;
		inset: 0;
	}

	.edore-hero--split .edore-hero__veil {
		background: linear-gradient(180deg, rgba(9, 9, 9, 0.55) 0%, rgba(9, 9, 9, 0.15) 40%, rgba(9, 9, 9, 0.85) 100%);
	}

	.edore-hero--split .edore-hero__panel,
	.edore-hero--full .edore-hero__panel {
		position: relative;
		align-items: flex-end;
		min-height: 82vh;
		padding: var(--e-9) var(--e-gutter) var(--e-8);
	}

	.edore-hero__img {
		object-position: 50% 18%;
	}
}

@media (max-width: 700px) {
	:root {
		--e-sec-y: 56px;
	}

	.edore-hero--split .edore-hero__panel,
	.edore-hero--full .edore-hero__panel {
		min-height: 78vh;
		padding-bottom: var(--e-7);
	}

	.edore-hero__text {
		margin-block: var(--e-4) var(--e-5);
		font-size: var(--e-fs-base);
	}

	.edore-hero__actions {
		width: 100%;
		flex-direction: column;
		align-items: stretch;
	}

	.edore-steps {
		grid-template-columns: 1fr;
		gap: var(--e-3);
	}

	.edore-steps__link {
		display: grid;
		grid-template-columns: 64px 1fr;
		grid-template-areas: "num body" "media body";
		gap: var(--e-3) var(--e-4);
		align-items: center;
		padding: var(--e-4);
	}

	.edore-steps__num {
		grid-area: num;
		margin: 0;
	}

	.edore-steps__media {
		grid-area: media;
		aspect-ratio: 1;
		margin: 0;
	}

	.edore-steps__body {
		grid-area: body;
	}

	.edore-why__list,
	.edore-tests__list,
	.edore-postgrid {
		grid-template-columns: 1fr;
	}

	.edore-ig__grid {
		grid-template-columns: repeat(2, 1fr);
	}

	.edore-footer__top,
	.edore-footer__cols {
		grid-template-columns: 1fr;
	}

	.edore-footer__bottom {
		justify-content: flex-start;
	}

	.edore-news__form {
		flex-direction: column;
	}

	.edore-search__close {
		top: -60px;
		inset-inline-end: 0;
	}

	/* Swipe rows keep small catalogues feeling curated on phones */
	.edore-grid--swipe {
		display: flex;
		gap: var(--e-4);
		overflow-x: auto;
		scroll-snap-type: x mandatory;
		margin-inline: calc(-1 * var(--e-gutter));
		padding-inline: var(--e-gutter);
		padding-bottom: var(--e-3);
		scrollbar-width: none;
	}

	.edore-grid--swipe::-webkit-scrollbar {
		display: none;
	}

	.edore-grid--swipe > * {
		flex: 0 0 76%;
		scroll-snap-align: start;
	}

	.edore-stickybar {
		display: flex;
	}

	body.edore-has-stickybar .edore-wa {
		bottom: calc(var(--e-4) + 76px);
	}
}

@media (max-width: 400px) {
	.edore-header__start,
	.edore-header__end {
		gap: 0;
	}

	.edore-lang {
		font-size: 0.625rem;
		padding-inline: 0;
	}

	.edore-grid--swipe > * {
		flex-basis: 82%;
	}
}

/* Larger screens: give the hero image more presence */
@media (min-width: 1600px) {
	:root {
		--e-wrap: 1440px;
	}
}

/* ------------------------------------------------------- Motion & print */
@media (prefers-reduced-motion: reduce) {
	html {
		scroll-behavior: auto;
	}

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

	.edore-marquee__track,
	.edore-ann__track {
		animation: none !important;
	}

	.edore-hero__content {
		animation: none !important;
	}
}

@media print {
	.edore-header,
	.edore-footer,
	.edore-wa,
	.edore-stickybar,
	.edore-drawer,
	.edore-scrim,
	.edore-ann {
		display: none !important;
	}
}


/* ==========================================================================
   12. GOLD SYSTEM — buttons, hairlines and accent treatment
   Added in 1.2.0. Layered after the base rules so the original cascade is
   untouched; nothing here changes layout, only surface treatment.
   ========================================================================== */

/* ------------------------------------------------- 12.1 Button system */

/* PRIMARY GOLD — gold field, black type; inverts to black/gold on hover. */
.edore-btn--gold {
	background: var(--edore-gold);
	color: var(--e-black);
	border-color: var(--edore-gold);
}

.edore-btn--gold:hover,
.edore-btn--gold:focus-visible {
	background: var(--e-black);
	color: var(--edore-gold);
	border-color: var(--e-black);
}

/* On dark sections the inversion needs a visible edge. */
.edore-sec--black .edore-btn--gold:hover,
.edore-sec--news .edore-btn--gold:hover,
.edore-hero .edore-btn--gold:hover {
	border-color: var(--edore-gold);
}

/* PRIMARY DARK — unchanged black/ivory, with a gold edge on hover. */
.edore-btn--primary:hover {
	border-color: var(--edore-gold);
}

.edore-btn--onblack:hover {
	background: var(--edore-gold);
	border-color: var(--edore-gold);
	color: var(--e-black);
}

/* SECONDARY / EDITORIAL — type, a gold rule and an arrow. Nothing else. */
.edore-btn--editorial {
	min-height: 0;
	padding: 0;
	background: none;
	border: 0;
	color: var(--e-ink);
	font-size: var(--e-fs-xs);
	letter-spacing: var(--e-track-wide);
	text-transform: uppercase;
}

.edore-btn--editorial span {
	position: relative;
	padding-bottom: 5px;
}

.edore-btn--editorial span::after {
	content: "";
	position: absolute;
	inset-inline-start: 0;
	bottom: 0;
	width: 100%;
	height: 1px;
	background: var(--edore-gold);
	transform: scaleX(1);
	transform-origin: center;
	transition: transform var(--e-t), background var(--e-t);
}

.edore-btn--editorial:hover {
	background: none;
	transform: none;
	color: var(--edore-gold-deep);
}

.edore-btn--editorial:hover span::after {
	background: var(--edore-gold-dark);
}

.edore-sec--black .edore-btn--editorial,
.edore-sec--news .edore-btn--editorial {
	color: var(--edore-gold-light);
}

.edore-sec--black .edore-btn--editorial:hover {
	color: var(--e-ivory);
}

/* The existing link button gains the gold rule too. */
.edore-btn--link span::after {
	background: var(--edore-gold);
}

/* ------------------------------------------- 12.2 Header gold interaction */
.edore-nav__list > li > a::after {
	background: var(--edore-gold);
	height: 1px;
}

.edore-nav__list > li > a:hover,
.edore-nav__list > li.current-menu-item > a,
.edore-nav__list > li.current_page_item > a {
	color: var(--edore-gold-light);
}

.edore-nav__list .sub-menu {
	border-color: rgba(198, 161, 91, 0.28);
}

.edore-nav__list .sub-menu a:hover {
	color: var(--edore-gold-light);
}

.edore-iconbtn:hover {
	color: var(--edore-gold-light);
}

.edore-cartbtn .edore-cart-count {
	background: var(--edore-gold);
	color: var(--e-black);
}

.edore-lang__item.is-active {
	color: var(--edore-gold-light);
}

.edore-lang__sep {
	color: rgba(198, 161, 91, 0.4);
}

.edore-header.is-scrolled {
	border-bottom: var(--e-hairline-faint);
}

/* ------------------------------------------------ 12.3 Gold marquee */
.edore-marquee {
	border-block: var(--e-hairline-faint);
	background: linear-gradient(90deg, var(--e-soft) 0%, #1b1915 50%, var(--e-soft) 100%);
}

.edore-marquee__item {
	color: var(--edore-gold-light);
}

.edore-marquee__star {
	color: var(--edore-gold);
	opacity: 1;
}

/* Thin gold separator between marquee words, in addition to the star. */
.edore-marquee__group {
	gap: var(--e-7);
}

/* ------------------------------------------- 12.4 Editorial gold details */
.edore-eyebrow {
	color: var(--edore-gold-deep);
}

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

.edore-sec--warm .edore-eyebrow,
.edore-sec--ivory .edore-eyebrow {
	color: var(--edore-gold-deep);
}

/* Section headers gain a short gold rule under centred titles. */
.edore-sec-head--center .edore-sec-title::after {
	content: "";
	display: block;
	width: 46px;
	height: 1px;
	margin: var(--e-5) auto 0;
	background: var(--edore-gold);
}

.edore-sec-head--light .edore-sec-title::after {
	background: var(--edore-gold-light);
	opacity: 0.8;
}

.edore-why__item {
	border-top: var(--e-hairline);
}

.edore-why__num,
.edore-steps__num,
.edore-rstep__num {
	color: var(--edore-gold);
}

.edore-founder__signname {
	color: var(--edore-gold-light);
}

.edore-steps__link:hover {
	border-color: rgba(198, 161, 91, 0.5);
}

.edore-steps__more,
.edore-steps__en {
	color: var(--edore-gold-light);
}

/* ------------------------------------------------- 12.5 Footer accents */
.edore-footer__coltitle {
	color: var(--edore-gold-light);
}

.edore-footer__top {
	border-bottom: var(--e-hairline-faint);
}

.edore-social a {
	border-color: rgba(198, 161, 91, 0.3);
	color: var(--edore-gold-light);
}

.edore-social a:hover {
	border-color: var(--edore-gold);
	color: var(--e-black);
	background: var(--edore-gold);
}

.edore-footer__menu a:hover {
	color: var(--edore-gold-light);
}

.edore-footer__bottom {
	border-top: var(--e-hairline-faint);
}

.edore-footer__contact .edore-icon {
	color: var(--edore-gold);
}

/* ------------------------------------------- 12.6 Newsletter + drawer */
.edore-news__star {
	color: var(--edore-gold);
}

.edore-news__input {
	border-color: rgba(198, 161, 91, 0.3);
}

.edore-news__input:focus {
	border-color: var(--edore-gold);
}

.edore-news__submit {
	background: var(--edore-gold);
	color: var(--e-black);
	border-color: var(--edore-gold);
}

.edore-news__submit:hover {
	background: var(--e-black);
	color: var(--edore-gold);
	border-color: var(--edore-gold);
}

.edore-news__msg {
	color: var(--edore-gold-light);
}

.edore-drawer__head {
	border-bottom: var(--e-hairline-faint);
}

.edore-drawer__head .edore-eyebrow {
	color: var(--edore-gold-light);
}

/* ------------------------------------------------- 12.7 Review stars */
.edore-stars__i.is-on {
	color: var(--edore-gold);
}

/* --------------------------------------- 12.8 Hairline utility + focus */
.edore-hairline {
	border: 0;
	border-top: var(--e-hairline);
	margin: 0;
}

:focus-visible {
	outline: 2px solid var(--edore-gold);
	outline-offset: 3px;
}


/* ==========================================================================
   13. PREMIUM SECTIONS (1.2.0)
   Find Your Ritual · The Golden Ritual · Inside EDORÉ ·
   Six Products One Ritual · Signature Treatment · Manifesto
   ========================================================================== */

.edore-sec--champagne {
	background: linear-gradient(180deg, var(--e-warm) 0%, #e9dfcc 100%);
}

/* ------------------------------------------- 13.1 Find Your Ritual */
.edore-finder__inner {
	max-width: 1080px;
	margin-inline: auto;
}

.edore-finder__q {
	margin: 0 0 var(--e-6);
	font-family: var(--e-serif);
	font-size: var(--e-fs-lg);
	font-weight: 300;
	color: var(--e-on-dark);
	text-align: center;
}

body.edore-lang-he .edore-finder__q,
body.edore-lang-ar .edore-finder__q {
	font-family: var(--e-sans);
}

.edore-finder__choices {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
	gap: var(--e-3);
}

.edore-finder__choice {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--e-3);
	min-height: 64px;
	padding: var(--e-4) var(--e-5);
	background: transparent;
	border: var(--e-hairline-faint);
	border-radius: var(--e-radius);
	color: var(--e-on-dark);
	font-size: var(--e-fs-base);
	text-align: start;
	transition: border-color var(--e-t), background var(--e-t), color var(--e-t);
}

.edore-finder__choice:hover,
.edore-finder__choice:focus-visible {
	border-color: var(--edore-gold);
	background: var(--e-gold-glow);
}

.edore-finder__choice.is-active {
	border-color: var(--edore-gold);
	background: var(--edore-gold);
	color: var(--e-black);
}

.edore-finder__choicearrow {
	display: inline-flex;
	color: var(--edore-gold-light);
	transition: transform var(--e-t), color var(--e-t);
}

.edore-finder__choice.is-active .edore-finder__choicearrow {
	color: var(--e-black);
}

.edore-finder__choice:hover .edore-finder__choicearrow {
	transform: translateX(-3px);
}

body:not(.edore-rtl) .edore-finder__choice:hover .edore-finder__choicearrow {
	transform: translateX(3px);
}

/* Panels: hidden only once JS confirms it can manage them. */
.edore-finder__panel {
	margin-top: var(--e-8);
	padding-top: var(--e-7);
	border-top: var(--e-hairline);
}

[data-edore-finder].is-enhanced .edore-finder__panel {
	display: none;
}

[data-edore-finder].is-enhanced .edore-finder__panel.is-active {
	display: block;
	animation: edore-fade-up 520ms cubic-bezier(0.22, 0.61, 0.36, 1) both;
}

@keyframes edore-fade-up {
	from {
		opacity: 0;
		transform: translateY(14px);
	}
	to {
		opacity: 1;
		transform: none;
	}
}

.edore-finder__panelhead {
	text-align: center;
	margin-bottom: var(--e-7);
}

.edore-finder__panelhead .edore-eyebrow {
	justify-content: center;
}

.edore-finder__panelname {
	margin: 0;
	font-family: var(--e-serif);
	font-size: var(--e-fs-xl);
	font-weight: 300;
	color: var(--e-on-dark);
}

body.edore-lang-he .edore-finder__panelname,
body.edore-lang-ar .edore-finder__panelname {
	font-family: var(--e-sans);
}

.edore-finder__paneltext {
	max-width: 46ch;
	margin: var(--e-3) auto 0;
	color: var(--e-on-dark-soft);
	font-size: var(--e-fs-sm);
}

.edore-finder__steps {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
	gap: var(--e-4);
}

.edore-finder__steplink {
	display: block;
	height: 100%;
	padding: var(--e-5) var(--e-4);
	border: var(--e-hairline-faint);
	transition: border-color var(--e-t), transform var(--e-t), background var(--e-t);
}

.edore-finder__steplink:hover {
	border-color: var(--edore-gold);
	background: var(--e-gold-glow);
	transform: translateY(-2px);
}

.edore-finder__stepnum {
	display: block;
	margin-bottom: var(--e-3);
	font-family: var(--e-serif);
	font-size: var(--e-fs-md);
	letter-spacing: 0.08em;
	color: var(--edore-gold);
}

.edore-finder__stepmedia {
	display: block;
	aspect-ratio: 1;
	margin-bottom: var(--e-4);
	background: #100f0e;
	overflow: hidden;
}

.edore-finder__stepimg {
	width: 100%;
	height: 100%;
	object-fit: contain;
	padding: var(--e-3);
}

.edore-finder__stepstage {
	display: block;
	font-size: var(--e-fs-xs);
	letter-spacing: var(--e-track-wide);
	color: var(--edore-gold-light);
}

.edore-finder__stepname {
	display: block;
	margin-top: 4px;
	font-size: var(--e-fs-sm);
	color: var(--e-on-dark);
}

.edore-finder__stepprice {
	display: block;
	margin-top: var(--e-2);
	font-family: var(--e-serif);
	font-size: var(--e-fs-sm);
	color: var(--edore-gold-light);
}

.edore-finder__panelfoot {
	display: flex;
	flex-wrap: wrap;
	gap: var(--e-5);
	align-items: center;
	justify-content: center;
	margin-top: var(--e-7);
}

/* ------------------------------------------- 13.2 The Golden Ritual */
.edore-golden__track {
	position: relative;
	display: grid;
	grid-template-columns: repeat(var(--edore-golden-count, 5), 1fr);
	gap: var(--e-4);
	padding-top: var(--e-7);
}

.edore-golden__rail {
	position: absolute;
	inset-inline: 0;
	top: calc(var(--e-7) - 1px);
	height: 1px;
	background: rgba(198, 161, 91, 0.2);
}

.edore-golden__railfill {
	display: block;
	width: var(--edore-golden-progress, 0%);
	height: 100%;
	background: linear-gradient(90deg, var(--edore-gold-dark), var(--edore-gold-light));
	transition: width 700ms cubic-bezier(0.22, 0.61, 0.36, 1);
}

body.edore-rtl .edore-golden__railfill {
	margin-inline-start: auto;
}

.edore-golden__stage {
	position: relative;
	padding-top: var(--e-6);
}

.edore-golden__dot {
	position: absolute;
	top: -4px;
	inset-inline-start: 0;
	width: 7px;
	height: 7px;
	border: 1px solid var(--edore-gold);
	border-radius: 50%;
	background: var(--e-black);
	transition: background var(--e-t), transform var(--e-t);
}

.edore-golden__stage.is-active .edore-golden__dot {
	background: var(--edore-gold);
	transform: scale(1.25);
}

.edore-golden__num {
	display: block;
	margin-bottom: var(--e-4);
	font-family: var(--e-serif);
	font-size: var(--e-fs-xl);
	line-height: 1;
	color: rgba(198, 161, 91, 0.45);
	transition: color var(--e-t);
}

.edore-golden__stage.is-active .edore-golden__num {
	color: var(--edore-gold-light);
}

.edore-golden__media {
	display: block;
	aspect-ratio: 1;
	margin-bottom: var(--e-4);
	background: #100f0e;
	border: 1px solid transparent;
	overflow: hidden;
	transition: border-color var(--e-t);
}

.edore-golden__stage.is-active .edore-golden__media {
	border-color: rgba(198, 161, 91, 0.35);
}

.edore-golden__img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	padding: var(--e-4);
	transition: transform 700ms cubic-bezier(0.22, 0.61, 0.36, 1);
}

.edore-golden__link:hover .edore-golden__img {
	transform: scale(1.03);
}

.edore-golden__en {
	display: block;
	font-size: var(--e-fs-xs);
	letter-spacing: var(--e-track-wide);
	text-transform: uppercase;
	color: var(--edore-gold-light);
}

.edore-golden__he {
	display: block;
	margin-top: 3px;
	font-size: var(--e-fs-sm);
	color: var(--e-on-dark-soft);
}

.edore-golden__name {
	display: block;
	margin-top: var(--e-3);
	font-size: var(--e-fs-base);
	color: var(--e-on-dark);
}

.edore-golden__text {
	display: block;
	margin-top: var(--e-2);
	font-size: var(--e-fs-sm);
	color: var(--e-on-dark-soft);
}

.edore-golden__more {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	margin-top: var(--e-4);
	font-size: var(--e-fs-xs);
	letter-spacing: var(--e-track-mid);
	color: var(--edore-gold-light);
	opacity: 0;
	transition: opacity var(--e-t);
}

.edore-golden__stage.is-active .edore-golden__more,
.edore-golden__link:hover .edore-golden__more,
.edore-golden__link:focus-visible .edore-golden__more {
	opacity: 1;
}

/* ---------------------------------------------- 13.3 Inside EDORÉ */
.edore-inside__list {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: clamp(28px, 4vw, 64px);
}

.edore-inside__item {
	display: grid;
	grid-template-columns: 74px 1fr;
	gap: var(--e-5);
	align-items: start;
	padding-top: var(--e-5);
	border-top: var(--e-hairline);
}

.edore-inside__ring {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 74px;
	height: 74px;
	border: var(--e-hairline);
	border-radius: 50%;
}

.edore-inside__ringnum {
	font-family: var(--e-serif);
	font-size: var(--e-fs-md);
	color: var(--edore-gold-deep);
}

.edore-inside__en {
	margin: 0;
	font-family: var(--e-serif);
	font-size: var(--e-fs-xs);
	letter-spacing: var(--e-track-wide);
	text-transform: uppercase;
	color: var(--edore-gold-deep);
}

.edore-inside__he {
	margin: var(--e-2) 0 0;
	font-size: var(--e-fs-xl);
	font-weight: 300;
	line-height: 1.2;
}

.edore-inside__text {
	margin: var(--e-3) 0 0;
	color: var(--e-ink-soft);
	font-size: var(--e-fs-sm);
}

.edore-inside__in {
	margin: var(--e-4) 0 var(--e-2);
	font-size: var(--e-fs-xs);
	letter-spacing: var(--e-track-mid);
	text-transform: uppercase;
	color: var(--e-ink-soft);
}

.edore-inside__prods {
	display: flex;
	flex-wrap: wrap;
	gap: var(--e-2) var(--e-4);
}

.edore-inside__prods a {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	font-size: var(--e-fs-sm);
	color: var(--e-ink);
	border-bottom: 1px solid rgba(198, 161, 91, 0.4);
	padding-bottom: 2px;
}

.edore-inside__prods a:hover {
	color: var(--edore-gold-deep);
	border-bottom-color: var(--edore-gold);
}

.edore-inside__note {
	max-width: 60ch;
	margin: var(--e-8) auto 0;
	padding-top: var(--e-5);
	border-top: var(--e-hairline-faint);
	color: var(--e-ink-soft);
	font-size: var(--e-fs-xs);
	text-align: center;
}

/* ------------------------------- 13.4 Six products. One ritual. */
.edore-six {
	padding-block: 0;
	overflow: hidden;
}

.edore-six__grid {
	display: grid;
	grid-template-columns: 55% 45%;
	align-items: stretch;
}

.edore-six__media {
	position: relative;
	background: #0d0c0b;
	min-height: clamp(360px, 46vw, 720px);
}

.edore-six__img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	object-position: center;
}

.edore-six__content {
	display: flex;
	align-items: center;
	padding: clamp(40px, 6vw, 96px) clamp(24px, 5vw, 80px);
	border-inline-start: var(--e-hairline-faint);
}

.edore-six__inner {
	max-width: 42ch;
}

.edore-six__en {
	margin: 0;
	font-family: var(--e-serif);
	font-size: clamp(1.75rem, 3.4vw, 3rem);
	font-weight: 300;
	line-height: 1.06;
	letter-spacing: 0.01em;
	color: var(--edore-gold-light);
}

.edore-six__he {
	margin: var(--e-4) 0 0;
	font-size: clamp(1.375rem, 2.4vw, 2rem);
	font-weight: 200;
	line-height: 1.25;
	color: var(--e-on-dark);
}

.edore-six__rule {
	display: block;
	width: 54px;
	height: 1px;
	margin: var(--e-6) 0;
	background: var(--edore-gold);
}

.edore-six__text {
	margin: 0 0 var(--e-7);
	color: var(--e-on-dark-soft);
	font-size: var(--e-fs-md);
}

/* --------------------------------------- 13.5 Signature treatment */
.edore-featured--signature .edore-featured__media {
	position: relative;
}

.edore-featured__index {
	position: absolute;
	top: clamp(-18px, -1.6vw, -6px);
	inset-inline-start: clamp(-10px, -1vw, 0px);
	z-index: 0;
	font-family: var(--e-serif);
	font-size: clamp(5rem, 13vw, 11rem);
	line-height: 0.8;
	color: var(--edore-gold);
	opacity: 0.2;
	pointer-events: none;
	user-select: none;
}

.edore-frame--signature {
	position: relative;
	z-index: 1;
	background: transparent;
}

.edore-frame--signature::after {
	border-color: rgba(198, 161, 91, 0.3);
}

.edore-featured--signature .edore-featured__title,
.edore-featured--signature .edore-featured__he {
	color: var(--e-ink);
}

.edore-featured--signature .edore-featured__name {
	color: var(--edore-gold-deep);
}

.edore-featured--signature .edore-featured__lead {
	color: var(--e-ink-soft);
}

.edore-featured--signature .edore-featured__price {
	color: var(--edore-gold-deep);
}

/* --------------------------------------------- 13.6 Manifesto */
.edore-mani {
	position: relative;
	overflow: hidden;
	text-align: center;
}

.edore-mani__word {
	position: absolute;
	inset-inline: 0;
	top: 50%;
	transform: translateY(-50%);
	font-family: var(--e-serif);
	font-size: clamp(5rem, 22vw, 18rem);
	font-weight: 300;
	line-height: 1;
	letter-spacing: 0.04em;
	color: var(--edore-gold);
	opacity: 0.07;
	pointer-events: none;
	user-select: none;
	white-space: nowrap;
}

.edore-mani__inner {
	position: relative;
	z-index: 1;
}

.edore-mani__label {
	margin: 0 0 var(--e-5);
	font-family: var(--e-serif);
	font-size: var(--e-fs-xs);
	letter-spacing: var(--e-track-wide);
	text-transform: uppercase;
	color: var(--edore-gold-light);
}

.edore-mani__title {
	margin: 0;
	font-size: clamp(1.625rem, 4vw, 3rem);
	font-weight: 200;
	line-height: 1.24;
	color: var(--e-on-dark);
}

.edore-mani__lines {
	display: flex;
	flex-wrap: wrap;
	gap: var(--e-3) var(--e-5);
	align-items: center;
	justify-content: center;
	margin-top: var(--e-7);
}

.edore-mani__line {
	position: relative;
	font-family: var(--e-serif);
	font-size: clamp(1.125rem, 2.2vw, 1.625rem);
	font-weight: 300;
	color: var(--edore-gold-light);
}

body.edore-lang-he .edore-mani__line,
body.edore-lang-ar .edore-mani__line {
	font-family: var(--e-sans);
	font-weight: 300;
}

.edore-mani__line + .edore-mani__line::before {
	content: "";
	position: absolute;
	inset-inline-start: calc(-1 * var(--e-5) / 2);
	top: 50%;
	width: 1px;
	height: 1.1em;
	background: rgba(198, 161, 91, 0.45);
	transform: translateY(-50%);
}

.edore-mani__text {
	max-width: 52ch;
	margin: var(--e-6) auto 0;
	color: var(--e-on-dark-soft);
}

.edore-mani .edore-btn {
	margin-top: var(--e-7);
}

/* ------------------------------------------------ 13.7 Responsive */
@media (max-width: 1024px) {
	.edore-inside__list {
		grid-template-columns: 1fr;
	}

	.edore-six__grid {
		grid-template-columns: 1fr;
	}

	/* Image first, copy second. */
	.edore-six__media {
		min-height: 0;
		aspect-ratio: 4 / 3;
	}

	.edore-six__content {
		border-inline-start: 0;
		border-top: var(--e-hairline-faint);
	}

	.edore-golden__track {
		grid-template-columns: repeat(2, 1fr);
		gap: var(--e-5);
	}

	.edore-golden__rail {
		display: none;
	}
}

@media (max-width: 700px) {
	/* FIND YOUR RITUAL: large, easily tapped choices. */
	.edore-finder__choices {
		grid-template-columns: 1fr;
		gap: var(--e-2);
	}

	.edore-finder__choice {
		min-height: 60px;
	}

	.edore-finder__steps {
		grid-template-columns: repeat(2, 1fr);
		gap: var(--e-3);
	}

	.edore-finder__steplink {
		padding: var(--e-4) var(--e-3);
	}

	.edore-finder__panelfoot {
		flex-direction: column;
		gap: var(--e-4);
	}

	.edore-finder__panelfoot .edore-btn--gold {
		width: 100%;
	}

	/* GOLDEN RITUAL: a plain vertical timeline with one gold spine. */
	.edore-golden__track {
		display: block;
		padding-top: var(--e-4);
		padding-inline-start: var(--e-6);
	}

	.edore-golden__rail {
		display: block;
		inset-inline: auto;
		inset-inline-start: 3px;
		top: var(--e-4);
		bottom: var(--e-4);
		width: 1px;
		height: auto;
	}

	.edore-golden__railfill {
		width: 100%;
		height: var(--edore-golden-progress, 0%);
		background: linear-gradient(180deg, var(--edore-gold-dark), var(--edore-gold-light));
		transition: height 700ms cubic-bezier(0.22, 0.61, 0.36, 1);
	}

	.edore-golden__stage {
		display: grid;
		grid-template-columns: 54px 1fr;
		gap: var(--e-3) var(--e-4);
		padding: var(--e-4) 0;
	}

	.edore-golden__dot {
		inset-inline-start: calc(-1 * var(--e-6) - 3px);
		top: calc(var(--e-4) + 10px);
	}

	.edore-golden__num {
		grid-column: 1;
		margin: 0;
		font-size: var(--e-fs-lg);
	}

	.edore-golden__link {
		grid-column: 1 / -1;
		display: grid;
		grid-template-columns: 84px 1fr;
		gap: var(--e-4);
		align-items: center;
	}

	.edore-golden__media {
		margin: 0;
	}

	.edore-golden__more {
		opacity: 1;
	}

	/* INSIDE EDORÉ: stacked, ring beside the name. */
	.edore-inside__item {
		grid-template-columns: 56px 1fr;
		gap: var(--e-4);
	}

	.edore-inside__ring {
		width: 56px;
		height: 56px;
	}

	.edore-inside__he {
		font-size: var(--e-fs-lg);
	}

	/* MANIFESTO: controlled typography, wordmark kept from overflowing. */
	.edore-mani__word {
		font-size: 28vw;
		opacity: 0.06;
	}

	.edore-mani__lines {
		flex-direction: column;
		gap: var(--e-3);
	}

	.edore-mani__line + .edore-mani__line::before {
		display: none;
	}

	.edore-featured__index {
		font-size: 22vw;
	}
}

/* Reduced motion: reveal everything, animate nothing. */
@media (prefers-reduced-motion: reduce) {
	.edore-golden__railfill {
		transition: none !important;
	}

	.edore-golden__more,
	.edore-golden__stage .edore-golden__num {
		opacity: 1 !important;
	}

	[data-edore-finder].is-enhanced .edore-finder__panel.is-active {
		animation: none !important;
	}
}


/* ==========================================================================
   14. GOLD-FORWARD IDENTITY (1.3.0)
   Colour and surface only. No layout, structure or behaviour changes.
   Target balance: ~50% dark, ~25-30% ivory/champagne, ~20-25% visible gold.
   ========================================================================== */

/* -------------------------------------------- 14.1 Gold typography utility */
.edore-gold {
	color: var(--edore-gold);
}

.edore-sec--ivory .edore-gold,
.edore-sec--warm .edore-gold,
.edore-sec--air .edore-gold,
.edore-sec--champagne .edore-gold {
	color: var(--edore-gold-deep);
}

.edore-sec--black .edore-gold,
.edore-sec--news .edore-gold,
.edore-hero .edore-gold,
.edore-mani .edore-gold,
.edore-six .edore-gold {
	color: var(--edore-gold-light);
}

/* Champagne air — the product areas are no longer plain off-white. */
.edore-sec--air {
	position: relative;
	background: var(--e-champagne-air);
	overflow: hidden;
}

/* Large faded editorial wordmark behind the product sections. */
.edore-collection__word,
.edore-founder__word,
.edore-footer__word {
	position: absolute;
	font-family: var(--e-serif);
	font-weight: 300;
	line-height: 1;
	letter-spacing: 0.06em;
	color: var(--edore-gold-deep);
	pointer-events: none;
	user-select: none;
	white-space: nowrap;
	z-index: 0;
}

.edore-collection__word {
	top: 50%;
	inset-inline-start: 50%;
	transform: translate(50%, -50%);
	font-size: clamp(6rem, 22vw, 20rem);
	opacity: 0.05;
}

body:not(.edore-rtl) .edore-collection__word {
	transform: translate(-50%, -50%);
}

.edore-collection .edore-wrap {
	position: relative;
	z-index: 1;
}

/* ------------------------------------ 14.2 Announcement bar: gold field */
.edore-ann {
	background: var(--edore-gold);
	color: var(--e-black);
	border-bottom: 1px solid rgba(9, 9, 9, 0.12);
}

.edore-ann__text {
	color: var(--e-black);
	font-weight: 400;
}

.edore-ann a.edore-ann__text:hover {
	color: var(--e-soft);
	text-decoration: underline;
	text-underline-offset: 3px;
}

/* --------------------------------------------- 14.3 Marquee: black + gold */
.edore-marquee {
	background: var(--e-black);
	border-block: 1px solid rgba(198, 161, 91, 0.3);
	padding-block: var(--e-5);
}

.edore-marquee__item {
	color: var(--edore-gold-light);
	font-size: clamp(1rem, 1.8vw, 1.4rem);
	letter-spacing: var(--e-track-wide);
}

.edore-diamond {
	display: inline-flex;
	line-height: 0;
	color: var(--edore-gold);
}

.edore-marquee__sep {
	color: var(--edore-gold);
}

/* ------------------------------------------------- 14.4 Header gold state */
.edore-header {
	border-bottom: 1px solid rgba(198, 161, 91, 0.3);
}

.edore-header.is-scrolled,
body.has-transparent-header .edore-header[data-transparent="1"].is-scrolled {
	border-bottom: 1px solid rgba(198, 161, 91, 0.3);
}

.edore-nav__list > li > a::after {
	height: 1.5px;
	background: var(--edore-gold);
}

.edore-nav__list > li.current-menu-item > a,
.edore-nav__list > li.current_page_item > a,
.edore-nav__list > li > a:hover {
	color: var(--edore-gold-light);
}

.edore-cartbtn .edore-cart-count {
	background: var(--edore-gold);
	color: var(--e-black);
	font-weight: 500;
}

.edore-lang__item.is-active {
	color: var(--edore-gold);
}

.edore-mnav__list > li > a {
	border-bottom-color: rgba(198, 161, 91, 0.22);
}

.edore-mnav__list > li > a:hover,
.edore-mnav__list .sub-menu a:hover {
	color: var(--edore-gold-light);
}

/* ---------------------------------------------- 14.5 Editorial labels
   Small uppercase labels use gold-deep on light grounds: #987337 on the
   champagne air only reaches 4.06:1, which is below AA for text this size,
   while #775426 clears it comfortably. */
.edore-eyebrow {
	color: var(--edore-gold-deep);
	font-weight: 400;
	letter-spacing: 0.26em;
}

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

.edore-sec--black .edore-eyebrow,
.edore-sec--news .edore-eyebrow,
.edore-six .edore-eyebrow,
.edore-mani .edore-mani__label {
	color: var(--edore-gold-light);
}

.edore-star {
	color: var(--edore-gold);
}

/* ------------------------------------------------------- 14.6 Hero gold */
.edore-hero__rule {
	display: block;
	width: 62px;
	height: 1px;
	margin-bottom: var(--e-5);
	background: linear-gradient(90deg, var(--edore-gold), rgba(198, 161, 91, 0));
}

body.edore-rtl .edore-hero__rule {
	background: linear-gradient(270deg, var(--edore-gold), rgba(198, 161, 91, 0));
}

.edore-hero__actions .edore-btn--gold,
.edore-hero__actions .edore-btn:first-child {
	background: var(--edore-gold);
	color: var(--e-black);
	border-color: var(--edore-gold);
}

.edore-hero__actions .edore-btn--gold:hover,
.edore-hero__actions .edore-btn:first-child:hover {
	background: var(--edore-gold-light);
	border-color: var(--edore-gold-light);
	color: var(--e-black);
}

.edore-hero__actions .edore-btn--ghost {
	border-color: rgba(198, 161, 91, 0.45);
	color: var(--e-ivory);
}

.edore-hero__actions .edore-btn--ghost:hover {
	border-color: var(--edore-gold);
	color: var(--edore-gold-light);
}

/* ------------------------------------ 14.7 Signature: the gold section */
.edore-sec--champagne {
	/* RTL (Hebrew and Arabic): media sits on the right, so the saturated gold
	   corner goes bottom-right and the copy column keeps the pale end. */
	background: linear-gradient(135deg, #f3e8d1 0%, #e8d2a7 45%, #c6a15b 100%);
}

body:not(.edore-rtl) .edore-sec--champagne {
	background: linear-gradient(225deg, #f3e8d1 0%, #e8d2a7 45%, #c6a15b 100%);
}

.edore-featured--signature .edore-eyebrow {
	color: var(--edore-gold-deep);
}

.edore-featured__index {
	color: var(--edore-gold-deep);
	opacity: 0.12;
}

/* The product sits on a dark plate so the packaging still reads as black. */
.edore-frame--signature {
	background: var(--e-black);
	border-radius: var(--e-radius-lg);
}

.edore-frame--signature::after {
	border-color: rgba(9, 9, 9, 0.25);
}

.edore-featured--signature .edore-featured__name {
	color: var(--edore-gold-deep);
}

.edore-featured--signature .edore-featured__title,
.edore-featured--signature .edore-card__title {
	color: var(--e-black);
}

.edore-featured--signature .edore-featured__lead {
	color: rgba(9, 9, 9, 0.72);
}

.edore-featured--signature .edore-featured__price {
	color: var(--edore-gold-deep);
	font-weight: 400;
}

.edore-featured--signature .edore-checklist li {
	color: rgba(9, 9, 9, 0.78);
}

.edore-featured--signature .edore-checklist .edore-icon {
	color: var(--edore-gold-deep);
}

.edore-featured--signature .edore-btn--primary {
	background: var(--e-black);
	color: var(--e-ivory);
	border-color: var(--e-black);
}

.edore-featured--signature .edore-btn--primary:hover {
	background: var(--e-soft);
	border-color: var(--e-soft);
	color: var(--edore-gold-light);
}

/* --------------------------------------------- 14.8 Find Your Ritual */
.edore-finder__choice {
	border: 1px solid rgba(198, 161, 91, 0.45);
	color: var(--e-ivory);
}

.edore-finder__choice:hover,
.edore-finder__choice:focus-visible {
	border-color: var(--edore-gold);
	background: rgba(198, 161, 91, 0.1);
}

.edore-finder__choice.is-active {
	background: var(--edore-gold);
	border-color: var(--edore-gold);
	color: var(--e-black);
	font-weight: 400;
}

.edore-finder__choicearrow {
	color: var(--edore-gold);
}

.edore-finder__panel {
	border-top: 1px solid rgba(198, 161, 91, 0.35);
}

.edore-finder__stepnum {
	color: var(--edore-gold-light);
	font-size: var(--e-fs-lg);
}

.edore-finder__steplink {
	border-color: rgba(198, 161, 91, 0.28);
}

.edore-finder__steplink:hover {
	border-color: var(--edore-gold);
}

.edore-finder__stepstage,
.edore-finder__stepprice {
	color: var(--edore-gold-light);
}

/* ---------------------------------------------- 14.9 The Golden Ritual */
.edore-golden__rail {
	background: rgba(198, 161, 91, 0.25);
}

.edore-golden__railfill {
	background: var(--edore-gold-light);
}

.edore-golden__dot {
	border-color: var(--edore-gold);
}

.edore-golden__stage.is-active .edore-golden__dot {
	background: var(--edore-gold-light);
}

.edore-golden__num {
	color: rgba(198, 161, 91, 0.5);
	font-size: clamp(1.75rem, 3vw, 2.5rem);
}

.edore-golden__stage.is-active .edore-golden__num {
	color: var(--edore-gold-light);
}

/* Active product: emphasis from border and a flat tint only — never a glow. */
.edore-golden__stage.is-active .edore-golden__media {
	border-color: var(--edore-gold);
	background: rgba(198, 161, 91, 0.07);
}

.edore-golden__en {
	color: var(--edore-gold-light);
	font-weight: 400;
}

.edore-golden__he,
.edore-golden__name {
	color: var(--e-ivory);
}

.edore-golden__more {
	color: var(--edore-gold-light);
}

/* -------------------------------------------------- 14.10 Inside EDORÉ */
.edore-inside {
	background: var(--e-champagne-air);
}

.edore-inside__item {
	border-top: 1px solid rgba(198, 161, 91, 0.4);
}

.edore-inside__ring {
	border: 1px solid var(--edore-gold);
	transition: background var(--e-t), border-color var(--e-t);
}

.edore-inside__item:hover .edore-inside__ring {
	background: rgba(198, 161, 91, 0.14);
	border-color: var(--edore-gold-deep);
}

.edore-inside__ringnum {
	color: var(--edore-gold-deep);
}

/* Ingredient name: large, deep gold — the section's strongest note. */
.edore-inside__en {
	font-size: clamp(1.5rem, 3.2vw, 2.25rem);
	line-height: 1.05;
	letter-spacing: 0.06em;
	color: var(--edore-gold-deep);
}

.edore-inside__he {
	color: var(--e-black);
	font-size: var(--e-fs-lg);
}

.edore-inside__in {
	color: var(--edore-gold-deep);
}

.edore-inside__prods a {
	border-bottom-color: var(--edore-gold);
}

.edore-inside__note {
	border-top: 1px solid rgba(198, 161, 91, 0.3);
}

/* --------------------------------------- 14.11 Six products. One ritual. */
.edore-six__grid {
	position: relative;
}

.edore-six__divider {
	position: absolute;
	inset-block: 0;
	inset-inline-start: 55%;
	width: 1px;
	background: linear-gradient(180deg, rgba(198, 161, 91, 0), var(--edore-gold) 50%, rgba(198, 161, 91, 0));
	pointer-events: none;
	z-index: 1;
}

.edore-six__en {
	color: var(--edore-gold-light);
}

.edore-six__he {
	color: var(--e-ivory);
}

.edore-six__rule {
	background: var(--edore-gold);
	width: 62px;
}

/* --------------------------------------------------- 14.12 Testimonials */
.edore-tests {
	background: var(--e-champagne-air);
}

.edore-test {
	position: relative;
	background: linear-gradient(180deg, rgba(232, 210, 167, 0.4), rgba(243, 232, 209, 0.25));
	border: 1px solid rgba(198, 161, 91, 0.3);
	overflow: hidden;
}

.edore-test__quote {
	position: absolute;
	top: -0.18em;
	inset-inline-end: 0.1em;
	font-family: var(--e-serif);
	font-size: 7rem;
	line-height: 1;
	color: var(--edore-gold-deep);
	opacity: 0.16;
	pointer-events: none;
	user-select: none;
}

.edore-test__text {
	position: relative;
}

.edore-test__name {
	color: var(--edore-gold-deep);
	font-weight: 400;
}

.edore-test__prod {
	color: var(--edore-gold-deep);
}

.edore-stars__i.is-on {
	color: var(--edore-gold);
}

/* ------------------------------------------------------- 14.13 Founder */
.edore-founder {
	position: relative;
	overflow: hidden;
}

.edore-founder__media {
	position: relative;
}

/* A gold hairline bracket on one corner only — never a full frame. */
.edore-founder__corner {
	position: absolute;
	top: calc(-1 * var(--e-4));
	inset-inline-start: calc(-1 * var(--e-4));
	width: 42%;
	height: 38%;
	border-top: 1px solid var(--edore-gold);
	border-inline-start: 1px solid var(--edore-gold);
	pointer-events: none;
	z-index: 1;
}

.edore-founder__word {
	top: 4%;
	inset-inline-end: 0;
	font-size: clamp(4rem, 11vw, 9rem);
	opacity: 0.07;
	color: var(--edore-gold-light);
}

.edore-founder__text {
	position: relative;
}

.edore-founder__sign {
	border-top: 1px solid rgba(198, 161, 91, 0.4);
}

.edore-founder__signname {
	color: var(--edore-gold-light);
}

.edore-founder__signrole {
	color: rgba(198, 161, 91, 0.75);
}

/* ----------------------------------------------------- 14.14 Manifesto */
.edore-mani__word {
	color: var(--edore-gold-deep);
	opacity: 0.09;
}

.edore-mani__rule {
	display: block;
	width: 90px;
	height: 1px;
	margin: 0 auto var(--e-6);
	background: linear-gradient(90deg, rgba(198, 161, 91, 0), var(--edore-gold), rgba(198, 161, 91, 0));
}

.edore-mani__rule--end {
	margin: var(--e-7) auto 0;
}

.edore-mani__label {
	color: var(--edore-gold-light);
	letter-spacing: 0.24em;
}

.edore-mani__line {
	color: var(--edore-gold-light);
}

.edore-mani__line + .edore-mani__line::before {
	background: var(--edore-gold);
}

/* ---------------------------------------------------- 14.15 Newsletter */
.edore-sec--news {
	background: var(--e-black);
}

.edore-news__title .edore-gold,
.edore-news__star {
	color: var(--edore-gold);
}

.edore-news__input {
	border-color: rgba(198, 161, 91, 0.45);
}

.edore-news__input:focus {
	border-color: var(--edore-gold);
}

.edore-news__submit {
	background: var(--edore-gold);
	color: var(--e-black);
	border-color: var(--edore-gold);
}

.edore-news__submit:hover {
	background: var(--edore-gold-light);
	border-color: var(--edore-gold-light);
	color: var(--e-black);
}

.edore-news__msg {
	color: var(--edore-gold-light);
}

/* -------------------------------------------------------- 14.16 Footer */
.edore-footer {
	position: relative;
	overflow: hidden;
	border-top: 1px solid rgba(198, 161, 91, 0.3);
}

.edore-footer__word {
	bottom: -0.16em;
	inset-inline-start: 50%;
	transform: translateX(50%);
	font-size: clamp(5rem, 20vw, 16rem);
	opacity: 0.06;
	color: var(--edore-gold-light);
}

body:not(.edore-rtl) .edore-footer__word {
	transform: translateX(-50%);
}

.edore-footer .edore-wrap {
	position: relative;
	z-index: 1;
}

.edore-footer__coltitle {
	color: var(--edore-gold);
	letter-spacing: 0.24em;
}

.edore-footer__top {
	border-bottom: 1px solid rgba(198, 161, 91, 0.32);
}

.edore-footer__bottom {
	border-top: 1px solid rgba(198, 161, 91, 0.22);
}

.edore-social a {
	border-color: rgba(198, 161, 91, 0.45);
	color: var(--edore-gold);
}

.edore-social a:hover {
	background: var(--edore-gold);
	border-color: var(--edore-gold);
	color: var(--e-black);
}

.edore-footer__menu a:hover,
.edore-footer__contact a:hover {
	color: var(--edore-gold-light);
}

.edore-footer__contact .edore-icon {
	color: var(--edore-gold);
}

.edore-footer__lang .edore-lang__item.is-active {
	color: var(--edore-gold);
}

/* --------------------------------------------- 14.17 Buttons & focus */
.edore-btn--gold {
	background: var(--edore-gold);
	color: var(--e-black);
	border-color: var(--edore-gold);
	font-weight: 400;
}

.edore-btn--gold:hover,
.edore-btn--gold:focus-visible {
	background: var(--edore-gold-light);
	border-color: var(--edore-gold-light);
	color: var(--e-black);
}

.edore-sec--black .edore-btn--onblack,
.edore-hero .edore-btn--onblack {
	background: var(--edore-gold);
	border-color: var(--edore-gold);
	color: var(--e-black);
}

.edore-sec--black .edore-btn--onblack:hover {
	background: var(--edore-gold-light);
	border-color: var(--edore-gold-light);
}

.edore-btn--editorial span::after,
.edore-btn--link span::after {
	background: var(--edore-gold);
}

.edore-why__num,
.edore-steps__num,
.edore-rstep__num,
.edore-page-hero .edore-eyebrow {
	color: var(--edore-gold);
}

.edore-why__item {
	border-top: 1px solid rgba(198, 161, 91, 0.4);
}

/* ------------------------------------- 14.18 Mobile keeps the gold */
@media (max-width: 700px) {
	/* Nothing above is dialled back on small screens; only sizes adapt. */
	.edore-collection__word {
		font-size: 38vw;
		opacity: 0.045;
	}

	.edore-founder__word {
		font-size: 16vw;
	}

	.edore-footer__word {
		font-size: 30vw;
	}

	.edore-test__quote {
		font-size: 5rem;
	}

	.edore-six__divider {
		inset-block: auto;
		inset-inline: 12% 12%;
		top: 0;
		width: auto;
		height: 1px;
		background: linear-gradient(90deg, rgba(198, 161, 91, 0), var(--edore-gold) 50%, rgba(198, 161, 91, 0));
	}

	.edore-marquee {
		padding-block: var(--e-4);
	}

	.edore-inside__en {
		font-size: clamp(1.25rem, 7vw, 1.75rem);
	}

	.edore-founder__corner {
		width: 46%;
		height: 30%;
	}
}


/* ==========================================================================
   15. EXPERIENCE LAYER (1.4.0)
   Motion system:
     micro   180-240ms   normal 300-450ms   reveal 500-700ms
     easing  cubic-bezier(.22, 1, .36, 1)
   ========================================================================== */

:root {
	--e-e: cubic-bezier(0.22, 1, 0.36, 1);
	--e-micro: 200ms;
	--e-normal: 380ms;
	--e-reveal: 620ms;
	--e-z-sheet: 95;
}

/* ------------------------------------------------ 15.1 In-view reveals */
[data-edore-reveal] {
	opacity: 0;
	transform: translateY(18px);
	transition: opacity var(--e-reveal) var(--e-e), transform var(--e-reveal) var(--e-e);
}

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

/* Cards: the in-view state gives touch the equivalent of desktop hover. */
.edore-card[data-edore-reveal].is-inview .edore-card__media::before {
	opacity: 0.24;
}

.edore-card[data-edore-reveal].is-inview .edore-card__title {
	border-bottom-color: rgba(198, 161, 91, 0.55);
}

@media (hover: none) {
	.edore-card.is-inview .edore-card__view {
		opacity: 1;
		transform: none;
	}

	.edore-card.is-inview .edore-card__img {
		transform: scale(1.02);
	}
}

/* Collection campaign: gold rule draws in, image lifts out of shadow. */
.edore-six[data-edore-reveal] .edore-six__img {
	opacity: 0.55;
	transform: scale(1.03);
	transition: opacity var(--e-reveal) var(--e-e), transform 900ms var(--e-e);
}

.edore-six[data-edore-reveal].is-inview .edore-six__img {
	opacity: 1;
	transform: none;
}

.edore-six[data-edore-reveal] .edore-six__rule {
	width: 0;
	transition: width var(--e-reveal) var(--e-e) 160ms;
}

.edore-six[data-edore-reveal].is-inview .edore-six__rule {
	width: 62px;
}

/* --------------------------------------------------- 15.2 Quick Peek */
.edore-scrim--peek {
	z-index: calc(var(--e-z-sheet) - 1);
}

.edore-peek {
	position: fixed;
	z-index: var(--e-z-sheet);
	display: flex;
	flex-direction: column;
	background: var(--e-soft);
	color: var(--e-on-dark);
	transition: transform var(--e-normal) var(--e-e);
}

/* Closed state can never intercept a click. */
.edore-peek[hidden],
.edore-scrim--peek[hidden] {
	display: none !important;
	pointer-events: none;
}

.edore-peek {
	pointer-events: none;
}

.edore-peek.is-open {
	pointer-events: auto;
}

/* Desktop: a side panel. */
@media (min-width: 861px) {
	.edore-peek {
		top: 0;
		bottom: 0;
		inset-inline-end: 0;
		width: min(520px, 92vw);
		border-inline-start: 1px solid rgba(198, 161, 91, 0.35);
		transform: translateX(105%);
	}

	html[dir="rtl"] .edore-peek {
		transform: translateX(-105%);
	}

	.edore-peek.is-open {
		transform: translateX(0) !important;
	}

	.edore-peek__grab {
		display: none;
	}
}

/* Mobile: a bottom sheet with rounded top corners only. */
@media (max-width: 860px) {
	.edore-peek {
		inset-inline: 0;
		bottom: 0;
		max-height: 88vh;
		border-radius: 14px 14px 0 0;
		border-top: 1px solid rgba(198, 161, 91, 0.35);
		transform: translateY(102%);
		padding-bottom: env(safe-area-inset-bottom);
	}

	.edore-peek.is-open {
		transform: translateY(0);
	}

	.edore-peek__grab {
		width: 44px;
		height: 4px;
		margin: 10px auto 2px;
		border-radius: 4px;
		background: rgba(198, 161, 91, 0.5);
		flex: 0 0 auto;
	}
}

.edore-peek__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--e-4);
	padding: var(--e-4) var(--e-5);
	border-bottom: 1px solid rgba(198, 161, 91, 0.28);
	flex: 0 0 auto;
}

.edore-peek__head .edore-eyebrow {
	margin: 0;
	color: var(--edore-gold-light);
}

.edore-peek__close {
	color: var(--e-ivory);
	min-width: 44px;
	min-height: 44px;
}

.edore-peek__close:hover {
	color: var(--edore-gold-light);
}

.edore-peek__body {
	flex: 1 1 auto;
	overflow-y: auto;
	-webkit-overflow-scrolling: touch;
	padding: var(--e-5);
}

.edore-peek__loading {
	display: flex;
	gap: 7px;
	align-items: center;
	justify-content: center;
	padding: var(--e-9) 0;
}

.edore-peek__dot {
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: var(--edore-gold);
	animation: edore-pulse 1s var(--e-e) infinite;
}

.edore-peek__dot:nth-child(2) {
	animation-delay: 0.15s;
}

.edore-peek__dot:nth-child(3) {
	animation-delay: 0.3s;
}

@keyframes edore-pulse {
	0%, 100% {
		opacity: 0.3;
	}
	50% {
		opacity: 1;
	}
}

.edore-peek__media {
	background: #100f0e;
	border: 1px solid rgba(198, 161, 91, 0.25);
	margin-bottom: var(--e-5);
}

.edore-peek__img {
	width: 100%;
	aspect-ratio: 4 / 5;
	object-fit: contain;
	padding: var(--e-4);
}

.edore-peek__title {
	margin: 0 0 var(--e-2);
	font-size: var(--e-fs-lg);
	font-weight: 300;
	color: var(--e-on-dark);
}

.edore-peek__price {
	margin: 0 0 var(--e-4);
	font-family: var(--e-serif);
	font-size: var(--e-fs-lg);
	color: var(--edore-gold-light);
}

.edore-peek__price del {
	opacity: 0.55;
	margin-inline-end: var(--e-2);
}

.edore-peek__benefit {
	margin: 0 0 var(--e-5);
	color: var(--e-on-dark-soft);
	font-size: var(--e-fs-base);
}

.edore-peek__meta {
	display: grid;
	grid-template-columns: auto 1fr;
	gap: var(--e-2) var(--e-4);
	margin: 0 0 var(--e-5);
	padding-top: var(--e-4);
	border-top: 1px solid rgba(198, 161, 91, 0.22);
	font-size: var(--e-fs-sm);
}

.edore-peek__meta:empty {
	display: none;
}

.edore-peek__meta dt {
	color: var(--edore-gold-light);
	letter-spacing: 0.06em;
}

.edore-peek__meta dd {
	margin: 0;
	color: var(--e-on-dark-soft);
}

.edore-peek__qty {
	margin-bottom: var(--e-4);
}

.edore-peek__qty[hidden] {
	display: none;
}

.edore-peek__form:empty {
	display: none;
}

.edore-peek__form .variations_form {
	margin-bottom: var(--e-4);
}

.edore-peek__form label,
.edore-peek__form .price {
	color: var(--e-on-dark-soft);
}

.edore-peek__form select {
	width: 100%;
	min-height: 46px;
	background: transparent;
	color: var(--e-ivory);
	border: 1px solid rgba(198, 161, 91, 0.4);
	border-radius: var(--e-radius);
	padding: 0 var(--e-3);
}

.edore-peek__form select option {
	color: #111;
}

.edore-peek__msg {
	min-height: 1.3em;
	margin: 0 0 var(--e-3);
	font-size: var(--e-fs-sm);
	color: var(--edore-gold-light);
}

.edore-peek__msg.is-error {
	color: #e6a3a3;
}

.edore-peek__actions {
	display: grid;
	gap: var(--e-3);
}

.edore-peek__add {
	min-height: 52px;
}

.edore-peek__add[hidden] {
	display: none;
}

.edore-peek__more {
	justify-content: center;
	color: var(--edore-gold-light);
}

/* Card trigger */
.edore-card__peek {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	min-height: 44px;
	padding: 0 var(--e-3) 0 0;
	font-size: var(--e-fs-xs);
	letter-spacing: var(--e-track-mid);
	text-transform: uppercase;
	color: var(--e-ink-soft);
	transition: color var(--e-micro) var(--e-e);
}

.edore-card__peek:hover,
.edore-card__peek:focus-visible {
	color: var(--edore-gold-deep);
}

.edore-card__peek .edore-icon {
	color: var(--edore-gold);
}

.edore-sec--black .edore-card__peek {
	color: var(--e-on-dark-soft);
}

/* --------------------------------------- 15.3 Ingredient explorer
   Superseded by section 16 below; the shared pieces (product links, panels)
   live there so the composition is described in one place. */

/* ------------------------------------------- 15.4 Shoppable stories */
.edore-stories {
	overflow: hidden;
}

.edore-stories__viewport {
	margin-top: var(--e-7);
}

.edore-stories__rail {
	display: flex;
	gap: var(--e-4);
	overflow-x: auto;
	overscroll-behavior-x: contain;
	scroll-snap-type: x mandatory;
	-webkit-overflow-scrolling: touch;
	padding-inline: var(--e-gutter);
	padding-bottom: var(--e-4);
	scrollbar-width: none;
}

.edore-stories__rail::-webkit-scrollbar {
	display: none;
}

.edore-stories__item {
	flex: 0 0 clamp(260px, 30%, 380px);
	scroll-snap-align: center;
}

.edore-story {
	display: flex;
	flex-direction: column;
	height: 100%;
	border: 1px solid rgba(198, 161, 91, 0.28);
	background: #100f0e;
	transition: border-color var(--e-normal) var(--e-e);
}

.edore-story:hover {
	border-color: rgba(198, 161, 91, 0.55);
}

.edore-story__media {
	position: relative;
	display: block;
	aspect-ratio: 4 / 5;
	overflow: hidden;
}

.edore-story__img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	padding: var(--e-5);
	transition: transform 800ms var(--e-e);
}

.edore-story:hover .edore-story__img {
	transform: scale(1.02);
}

.edore-story__veil {
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(9, 9, 9, 0) 55%, rgba(9, 9, 9, 0.55) 100%);
}

.edore-story__num {
	position: absolute;
	top: var(--e-3);
	inset-inline-start: var(--e-4);
	font-family: var(--e-serif);
	font-size: var(--e-fs-xl);
	color: var(--edore-gold);
	opacity: 0.85;
}

.edore-story__body {
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
	padding: var(--e-5);
	border-top: 1px solid rgba(198, 161, 91, 0.22);
}

.edore-story__en {
	margin: 0;
	font-size: var(--e-fs-xs);
	letter-spacing: var(--e-track-wide);
	color: var(--edore-gold-light);
}

.edore-story__he {
	margin: var(--e-2) 0 0;
	font-size: var(--e-fs-lg);
	font-weight: 300;
	color: var(--e-ivory);
}

.edore-story__text {
	margin: var(--e-3) 0 0;
	font-size: var(--e-fs-sm);
	color: var(--e-on-dark-soft);
}

.edore-story__name {
	margin: var(--e-4) 0 0;
	font-size: var(--e-fs-sm);
	color: var(--e-ivory);
}

.edore-story__cta {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	min-height: 44px;
	margin-top: auto;
	padding-top: var(--e-3);
	font-size: var(--e-fs-xs);
	letter-spacing: var(--e-track-mid);
	text-transform: uppercase;
	color: var(--edore-gold-light);
}

.edore-story__cta .edore-icon {
	transition: transform var(--e-micro) var(--e-e);
}

.edore-story__cta:hover .edore-icon {
	transform: translateX(-4px);
}

body:not(.edore-rtl) .edore-story__cta:hover .edore-icon {
	transform: translateX(4px);
}

.edore-stories__foot {
	margin-top: var(--e-4);
}

.edore-stories__hint {
	margin: 0;
	font-size: var(--e-fs-xs);
	letter-spacing: var(--e-track-mid);
	color: rgba(246, 241, 233, 0.45);
}

/* ----------------------------------- 15.5 Find your ritual additions */
.edore-finder__panelrule {
	display: block;
	width: 44px;
	height: 1px;
	margin: var(--e-4) auto 0;
	background: var(--edore-gold);
}

.edore-finder__shop {
	min-height: 52px;
}

.edore-finder__msg {
	flex: 1 1 100%;
	margin: 0;
	text-align: center;
	font-size: var(--e-fs-sm);
	color: var(--edore-gold-light);
}

.edore-finder__msg.is-error {
	color: #e6a3a3;
}

/* -------------------------------------------------- 15.6 Responsive */
@media (max-width: 1024px) {
	.edore-inside__explorer {
		grid-template-columns: 1fr;
		gap: var(--e-5);
	}

	/* The index becomes a swipeable label row. */
	.edore-inside__index {
		display: flex;
		gap: var(--e-2);
		overflow-x: auto;
		scroll-snap-type: x proximity;
		margin-inline: calc(-1 * var(--e-gutter));
		padding-inline: var(--e-gutter);
		padding-bottom: var(--e-2);
		scrollbar-width: none;
	}

	.edore-inside__index::-webkit-scrollbar {
		display: none;
	}

	.edore-inside__tab {
		flex: 0 0 auto;
		scroll-snap-align: center;
		display: flex;
		align-items: center;
		gap: var(--e-2);
		min-height: 48px;
		padding: var(--e-3) var(--e-4);
		border: 1px solid rgba(198, 161, 91, 0.35);
		border-radius: 40px;
		white-space: nowrap;
	}

	.edore-inside__tabhe {
		grid-column: auto;
	}

	.edore-inside__taben {
		font-size: var(--e-fs-md);
	}
}

@media (max-width: 700px) {
	/* One story fills ~85% so the next peeks in and invites the swipe. */
	.edore-stories__item {
		flex-basis: 85%;
	}

	.edore-stories__rail {
		gap: var(--e-3);
	}

	.edore-peek__media {
		max-width: 220px;
		margin-inline: auto;
	}

	.edore-inside__stage {
		min-height: 0;
		padding: var(--e-4);
	}

	.edore-finder__panelfoot {
		flex-direction: column;
	}

	.edore-finder__shop {
		width: 100%;
	}
}

/* ------------------------------------------ 15.7 Reduced motion */
@media (prefers-reduced-motion: reduce) {
	[data-edore-reveal],
	.edore-six[data-edore-reveal] .edore-six__img {
		opacity: 1 !important;
		transform: none !important;
		transition: none !important;
	}

	.edore-six[data-edore-reveal] .edore-six__rule {
		width: 62px !important;
		transition: none !important;
	}

	.edore-peek {
		transition: none !important;
	}

	.edore-peek__dot {
		animation: none !important;
		opacity: 0.7;
	}

	.edore-stories__rail {
		scroll-behavior: auto;
	}
}


/* ==========================================================================
   16. INSIDE EDORÉ — editorial ingredient explorer (1.5.0)
   Desktop: a large photographic stage that cross-fades beside a typographic
   selector. Mobile: a full-card swipe rail with a gold progress indicator.
   ========================================================================== */

/* Tighter heading rhythm — the section used to open with a large void. */
.edore-sec-head--tight {
	margin-bottom: clamp(28px, 3.4vw, 48px);
}

.edore-inside .edore-sec-text {
	max-width: 52ch;
}

.edore-inside__explorer {
	display: grid;
	grid-template-columns: 1.05fr 0.95fr;
	gap: clamp(28px, 4vw, 64px);
	align-items: stretch;
}

/* ------------------------------------------------- 16.1 The stage */
.edore-inside__stage {
	position: relative;
	aspect-ratio: 4 / 5;
	background: linear-gradient(180deg, #efe4cf, #e6d8bf);
	border: 1px solid rgba(198, 161, 91, 0.3);
	overflow: hidden;
}

.edore-inside__shot {
	position: absolute;
	inset: 0;
	margin: 0;
	opacity: 0;
	visibility: hidden;
	transform: scale(1.015);
	transition: opacity var(--e-normal) var(--e-e), transform 700ms var(--e-e), visibility 0s linear var(--e-normal);
}

.edore-inside__shot.is-active {
	opacity: 1;
	visibility: visible;
	transform: none;
	transition: opacity var(--e-normal) var(--e-e), transform 700ms var(--e-e), visibility 0s;
}

.edore-inside__img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	display: block;
}

.edore-inside__shotnum {
	position: absolute;
	bottom: var(--e-4);
	inset-inline-start: var(--e-5);
	font-family: var(--e-serif);
	font-size: clamp(2.5rem, 5vw, 4rem);
	line-height: 1;
	color: var(--e-ivory);
	text-shadow: none;
	opacity: 0.9;
	mix-blend-mode: difference;
}

/* Fallback plate when no photograph has been uploaded yet. */
.edore-inside__plate {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: var(--e-3);
	width: 100%;
	height: 100%;
	background:
		radial-gradient(120% 90% at 50% 20%, rgba(198, 161, 91, 0.22), rgba(198, 161, 91, 0) 70%),
		linear-gradient(180deg, #efe4cf, #e2d2b4);
}

.edore-inside__platenum {
	font-family: var(--e-serif);
	font-size: clamp(2.5rem, 6vw, 4.5rem);
	line-height: 1;
	color: var(--edore-gold-deep);
	opacity: 0.5;
}

.edore-inside__platename {
	font-family: var(--e-serif);
	font-size: var(--e-fs-md);
	letter-spacing: var(--e-track-wide);
	color: var(--edore-gold-deep);
	opacity: 0.75;
}

/* ---------------------------------------------- 16.2 The selector */
.edore-inside__side {
	display: flex;
	flex-direction: column;
}

.edore-inside__index {
	display: grid;
	gap: 0;
}

.edore-inside__tab {
	position: relative;
	display: grid;
	grid-template-columns: 1fr;
	align-items: center;
	width: 100%;
	padding: clamp(12px, 1.6vw, 20px) 0;
	text-align: start;
	border-bottom: 1px solid rgba(198, 161, 91, 0.28);
	transition: padding-inline-start var(--e-normal) var(--e-e);
}

.edore-inside__tabmedia {
	display: none;
}

.edore-inside__tabtext {
	display: flex;
	align-items: baseline;
	gap: var(--e-3);
	flex-wrap: wrap;
}

.edore-inside__tabnum {
	font-family: var(--e-serif);
	font-size: var(--e-fs-sm);
	color: var(--edore-gold-deep);
	opacity: 0.55;
	transition: opacity var(--e-normal) var(--e-e);
}

.edore-inside__taben {
	font-family: var(--e-serif);
	font-size: clamp(1.375rem, 2.8vw, 2.125rem);
	line-height: 1.05;
	letter-spacing: 0.05em;
	color: rgba(119, 84, 38, 0.6);
	transition: color var(--e-normal) var(--e-e);
}

.edore-inside__tabhe {
	font-size: var(--e-fs-sm);
	color: var(--e-ink-soft);
}

.edore-inside__tab:hover .edore-inside__taben,
.edore-inside__tab:focus-visible .edore-inside__taben {
	color: var(--edore-gold-deep);
}

.edore-inside__tab.is-active {
	padding-inline-start: var(--e-4);
}

.edore-inside__tab.is-active .edore-inside__taben {
	color: var(--e-black);
}

.edore-inside__tab.is-active .edore-inside__tabnum {
	opacity: 1;
	color: var(--edore-gold);
}

/* Gold rule that grows across the active row. */
.edore-inside__tabrule {
	position: absolute;
	inset-inline-start: 0;
	bottom: -1px;
	width: 0;
	height: 1px;
	background: var(--edore-gold);
	transition: width var(--e-normal) var(--e-e);
}

.edore-inside__tab.is-active .edore-inside__tabrule {
	width: 100%;
}

/* ----------------------------------------------- 16.3 The story */
.edore-inside__panels {
	margin-top: var(--e-5);
	padding-top: var(--e-5);
	border-top: 1px solid rgba(198, 161, 91, 0.28);
}

[data-edore-ingredients].is-enhanced .edore-inside__panel[hidden] {
	display: none;
}

[data-edore-ingredients].is-enhanced .edore-inside__panel.is-active {
	animation: edore-fade-up var(--e-normal) var(--e-e) both;
}

[data-edore-ingredients]:not(.is-enhanced) .edore-inside__panel + .edore-inside__panel {
	margin-top: var(--e-6);
	padding-top: var(--e-6);
	border-top: 1px solid rgba(198, 161, 91, 0.22);
}

.edore-inside__he {
	margin: 0 0 var(--e-3);
	font-size: var(--e-fs-xl);
	font-weight: 300;
	color: var(--e-black);
}

.edore-inside__text {
	margin: 0 0 var(--e-5);
	color: var(--e-ink-soft);
	font-size: var(--e-fs-base);
}

.edore-inside__in {
	margin: 0 0 var(--e-3);
	font-size: var(--e-fs-xs);
	letter-spacing: var(--e-track-wide);
	text-transform: uppercase;
	color: var(--edore-gold-deep);
}

.edore-inside__prods {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
	gap: var(--e-2);
}

.edore-inside__prod {
	display: flex;
	align-items: center;
	gap: var(--e-3);
	min-height: 56px;
	padding: var(--e-2) var(--e-3);
	border: 1px solid rgba(198, 161, 91, 0.3);
	color: var(--e-ink);
	transition: border-color var(--e-micro) var(--e-e), background var(--e-micro) var(--e-e);
}

.edore-inside__prod:hover,
.edore-inside__prod:focus-visible {
	border-color: var(--edore-gold);
	background: rgba(198, 161, 91, 0.1);
}

.edore-inside__prodmedia {
	flex: 0 0 auto;
	width: 42px;
	height: 42px;
	background: #f2ece0;
	border: 1px solid rgba(198, 161, 91, 0.25);
}

.edore-inside__prodmedia img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	padding: 3px;
}

.edore-inside__prodname {
	flex: 1 1 auto;
	font-size: var(--e-fs-sm);
	line-height: 1.35;
}

.edore-inside__prod .edore-icon {
	color: var(--edore-gold);
	flex: 0 0 auto;
}

.edore-inside__dots {
	display: none;
}

.edore-inside__note {
	max-width: 60ch;
	margin: clamp(28px, 4vw, 56px) auto 0;
	padding-top: var(--e-4);
	border-top: 1px solid rgba(198, 161, 91, 0.3);
	color: var(--e-ink-soft);
	font-size: var(--e-fs-xs);
	text-align: center;
}

/* ------------------------------------- 16.4 Section reveal (once) */
.edore-inside[data-edore-reveal] .edore-inside__stage {
	opacity: 0;
	transform: scale(1.015);
	transition: opacity var(--e-reveal) var(--e-e), transform 800ms var(--e-e);
}

.edore-inside[data-edore-reveal].is-inview .edore-inside__stage {
	opacity: 1;
	transform: none;
}

/* ------------------------------------------------ 16.5 Mobile rail */
@media (max-width: 1024px) {
	.edore-inside__explorer {
		grid-template-columns: 1fr;
		gap: var(--e-5);
	}

	/* The desktop stage is redundant once each card carries its own image. */
	.edore-inside__stage {
		display: none;
	}

	.edore-inside__index {
		display: flex;
		gap: var(--e-3);
		overflow-x: auto;
		overscroll-behavior-x: contain;
		scroll-snap-type: x mandatory;
		-webkit-overflow-scrolling: touch;
		margin-inline: calc(-1 * var(--e-gutter));
		padding: 0 var(--e-gutter) var(--e-3);
		scrollbar-width: none;
	}

	.edore-inside__index::-webkit-scrollbar {
		display: none;
	}

	/* ~86vw leaves the next card visibly peeking in. */
	.edore-inside__tab {
		flex: 0 0 86%;
		scroll-snap-align: center;
		display: block;
		padding: 0;
		border-bottom: 0;
		background: #fff;
		border: 1px solid rgba(198, 161, 91, 0.3);
		transition: border-color var(--e-normal) var(--e-e);
	}

	.edore-inside__tab.is-active {
		padding-inline-start: 0;
		border-color: var(--edore-gold);
	}

	.edore-inside__tabmedia {
		display: block;
		position: relative;
		aspect-ratio: 4 / 5;
		background: linear-gradient(180deg, #efe4cf, #e6d8bf);
		overflow: hidden;
	}

	.edore-inside__tabtext {
		display: block;
		padding: var(--e-4);
	}

	.edore-inside__tabnum {
		display: block;
		font-size: var(--e-fs-md);
		color: var(--edore-gold);
		opacity: 1;
	}

	.edore-inside__taben {
		display: block;
		margin-top: 2px;
		font-size: clamp(1.5rem, 7vw, 2rem);
		color: var(--e-black);
	}

	.edore-inside__tabhe {
		display: block;
		margin-top: 4px;
	}

	.edore-inside__tabrule {
		inset-inline-start: var(--e-4);
		bottom: var(--e-3);
		width: 0;
	}

	.edore-inside__tab.is-active .edore-inside__tabrule {
		width: 38px;
	}

	/* Gold discovery indicator. */
	.edore-inside__dots {
		display: flex;
		gap: var(--e-2);
		justify-content: center;
		margin-top: var(--e-4);
	}

	.edore-inside__dot {
		width: 26px;
		height: 2px;
		background: rgba(198, 161, 91, 0.28);
		transition: background var(--e-normal) var(--e-e), width var(--e-normal) var(--e-e);
	}

	.edore-inside__dot.is-active {
		width: 40px;
		background: var(--edore-gold);
	}

	.edore-inside__panels {
		margin-top: var(--e-4);
		padding-top: var(--e-4);
	}

	.edore-inside__prods {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 430px) {
	.edore-inside__tab {
		flex-basis: 84%;
	}

	.edore-inside__he {
		font-size: var(--e-fs-lg);
	}
}

@media (prefers-reduced-motion: reduce) {
	.edore-inside__shot,
	.edore-inside__stage,
	.edore-inside__tabrule,
	.edore-inside__dot {
		transition: none !important;
	}

	.edore-inside[data-edore-reveal] .edore-inside__stage {
		opacity: 1 !important;
		transform: none !important;
	}

	[data-edore-ingredients].is-enhanced .edore-inside__panel.is-active {
		animation: none !important;
	}
}

/* Latin runs isolated inside RTL copy (see edore_bidi). Presentation only —
   the isolation itself comes from the dir attribute. */
.edore-ltr {
	unicode-bidi: isolate;
}


/* ==========================================================================
   17. SOCIAL PROOF (1.6.0)
   Video results (dark) and the WhatsApp wall (paper).
   ========================================================================== */

.edore-sec--paper {
	position: relative;
	background: #f7f1e7;
	overflow: hidden;
}

/* --------------------------------------------- 17.1 Video results */
.edore-videos {
	background: var(--e-black);
	overflow: hidden;
}

.edore-videos__viewport {
	margin-top: clamp(24px, 3vw, 44px);
}

.edore-videos__rail {
	display: flex;
	gap: var(--e-4);
	overflow-x: auto;
	overscroll-behavior-x: contain;
	scroll-snap-type: x mandatory;
	-webkit-overflow-scrolling: touch;
	padding-inline: var(--e-gutter);
	padding-bottom: var(--e-4);
	scrollbar-width: none;
}

.edore-videos__rail::-webkit-scrollbar {
	display: none;
}

/* One or two videos should sit centred, not stranded at the start. */
.edore-videos__rail--few {
	justify-content: center;
	flex-wrap: wrap;
}

.edore-videos__item {
	flex: 0 0 clamp(240px, 27%, 340px);
	scroll-snap-align: center;
}

.edore-video {
	display: flex;
	flex-direction: column;
	height: 100%;
	border: 1px solid rgba(198, 161, 91, 0.25);
	background: #0d0c0b;
	transition: border-color var(--e-normal) var(--e-e), transform var(--e-normal) var(--e-e);
}

@media (hover: hover) {
	.edore-video:hover {
		border-color: rgba(198, 161, 91, 0.5);
		transform: translateY(-3px);
	}
}

.edore-video.is-playing {
	border-color: var(--edore-gold);
}

.edore-video__frame {
	position: relative;
	aspect-ratio: 9 / 16;
	background: #100f0e;
	overflow: hidden;
}

.edore-video__poster,
.edore-video__el {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.edore-video__el {
	position: absolute;
	inset: 0;
	z-index: 2;
	background: #000;
}

.edore-video__plate {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	font-family: var(--e-serif);
	font-size: clamp(2.5rem, 6vw, 4rem);
	color: var(--edore-gold);
	opacity: 0.35;
	background: radial-gradient(120% 80% at 50% 30%, rgba(198, 161, 91, 0.16), rgba(198, 161, 91, 0) 70%);
}

.edore-video__num {
	position: absolute;
	top: var(--e-3);
	inset-inline-start: var(--e-4);
	z-index: 3;
	font-family: var(--e-serif);
	font-size: var(--e-fs-lg);
	color: var(--edore-gold-light);
}

.edore-video.is-started .edore-video__num,
.edore-video.is-started .edore-video__play {
	display: none;
}

.edore-video__play {
	position: absolute;
	inset: 0;
	z-index: 3;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	background: linear-gradient(180deg, rgba(9, 9, 9, 0.1), rgba(9, 9, 9, 0.45));
	color: var(--edore-gold-light);
}

.edore-video__ring {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 62px;
	height: 62px;
	padding-inline-start: 4px;
	border: 1px solid var(--edore-gold);
	border-radius: 50%;
	background: rgba(9, 9, 9, 0.5);
	transition: background var(--e-normal) var(--e-e), transform var(--e-normal) var(--e-e);
}

/* Play triangles are directionless media controls: they must NOT mirror
   in RTL (a flipped triangle reads as "rewind"). Rule removed on purpose. */

.edore-video__play:hover .edore-video__ring,
.edore-video__play:focus-visible .edore-video__ring {
	background: var(--edore-gold);
	color: var(--e-black);
	transform: scale(1.04);
}

.edore-video__body {
	padding: var(--e-4) var(--e-5) var(--e-5);
	border-top: 1px solid rgba(198, 161, 91, 0.2);
}

.edore-video__title {
	margin: 0;
	font-size: var(--e-fs-md);
	font-weight: 300;
	color: var(--e-ivory);
}

.edore-video__sub {
	margin: var(--e-2) 0 0;
	font-size: var(--e-fs-sm);
	color: var(--e-on-dark-soft);
}

.edore-video__cta {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	min-height: 44px;
	margin-top: var(--e-3);
	font-size: var(--e-fs-xs);
	letter-spacing: var(--e-track-mid);
	text-transform: uppercase;
	color: var(--edore-gold-light);
}

.edore-video__cta:hover {
	color: var(--e-ivory);
}

.edore-videos__note {
	margin: var(--e-5) 0 0;
	font-size: var(--e-fs-xs);
	color: rgba(246, 241, 233, 0.45);
	text-align: center;
}

/* ------------------------------------------- 17.2 WhatsApp wall */
.edore-wall__word {
	position: absolute;
	top: 46%;
	inset-inline-start: 50%;
	transform: translate(50%, -50%);
	font-family: var(--e-serif);
	font-size: clamp(7rem, 26vw, 22rem);
	line-height: 1;
	letter-spacing: 0.05em;
	color: var(--edore-gold-deep);
	opacity: 0.05;
	pointer-events: none;
	user-select: none;
	white-space: nowrap;
	z-index: 0;
}

body:not(.edore-rtl) .edore-wall__word {
	transform: translate(-50%, -50%);
}

.edore-wall .edore-wrap,
.edore-wall__viewport {
	position: relative;
	z-index: 1;
}

.edore-wall__micro {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: var(--e-2);
	margin: calc(-1 * var(--e-4)) 0 0;
	font-size: var(--e-fs-xs);
	letter-spacing: var(--e-track-wide);
	text-transform: uppercase;
	color: var(--edore-gold-deep);
}

.edore-wall__viewport {
	margin-top: clamp(28px, 3.5vw, 52px);
}

/* Desktop: a staggered editorial wall, not a row of equal cards. */
.edore-wall__grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: clamp(20px, 2.6vw, 40px);
	align-items: start;
	max-width: var(--e-wrap);
	margin-inline: auto;
	padding-inline: var(--e-gutter);
}

.edore-wall__item--1 {
	margin-top: clamp(20px, 3vw, 54px);
}

.edore-wall__item--2 {
	margin-top: clamp(8px, 1.4vw, 24px);
}

.edore-wall__grid--few {
	grid-template-columns: repeat(auto-fit, minmax(240px, 320px));
	justify-content: center;
}

.edore-note {
	margin: 0;
}

.edore-note__shot {
	position: relative;
	display: block;
	width: 100%;
	padding: 0;
	border: 1px solid rgba(198, 161, 91, 0.28);
	background: #fff;
	overflow: hidden;
	cursor: zoom-in;
	transition: border-color var(--e-normal) var(--e-e), transform var(--e-normal) var(--e-e);
}

@media (hover: hover) {
	.edore-note__shot:hover {
		border-color: var(--edore-gold);
		transform: translateY(-3px);
	}
}

.edore-note__img {
	display: block;
	width: 100%;
	height: auto;
}

.edore-note__num {
	position: absolute;
	top: var(--e-2);
	inset-inline-start: var(--e-3);
	font-family: var(--e-serif);
	font-size: var(--e-fs-md);
	color: var(--edore-gold-deep);
	background: rgba(247, 241, 231, 0.86);
	padding: 2px 8px;
}

.edore-note__zoom {
	position: absolute;
	bottom: var(--e-2);
	inset-inline-end: var(--e-2);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 34px;
	height: 34px;
	border: 1px solid rgba(198, 161, 91, 0.4);
	background: rgba(247, 241, 231, 0.9);
	color: var(--edore-gold-deep);
	opacity: 0;
	transition: opacity var(--e-normal) var(--e-e);
}

.edore-note__shot:hover .edore-note__zoom,
.edore-note__shot:focus-visible .edore-note__zoom {
	opacity: 1;
}

.edore-note__cap {
	padding-top: var(--e-3);
}

.edore-note__label {
	display: block;
	font-size: var(--e-fs-sm);
	color: var(--e-ink);
}

.edore-note__meta {
	display: block;
	margin-top: 2px;
	font-size: var(--e-fs-xs);
	letter-spacing: 0.06em;
	color: var(--e-ink-soft);
}

.edore-note__prod {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	margin-top: var(--e-2);
	font-size: var(--e-fs-xs);
	letter-spacing: var(--e-track-mid);
	text-transform: uppercase;
	color: var(--edore-gold-deep);
	border-bottom: 1px solid rgba(198, 161, 91, 0.4);
	padding-bottom: 2px;
}

.edore-note__prod:hover {
	border-bottom-color: var(--edore-gold);
}

.edore-wall__dots {
	display: none;
}

/* -------------------------------------------- 17.3 Shared lightbox */
.edore-scrim--lb {
	z-index: calc(var(--e-z-sheet) + 1);
	background: rgba(9, 9, 9, 0.92);
}

.edore-lb {
	position: fixed;
	inset: 0;
	z-index: calc(var(--e-z-sheet) + 2);
	display: flex;
	align-items: center;
	justify-content: center;
	gap: var(--e-3);
	padding: clamp(16px, 4vw, 48px);
	padding-bottom: calc(clamp(16px, 4vw, 48px) + env(safe-area-inset-bottom));
	opacity: 0;
	pointer-events: none;
	transition: opacity var(--e-normal) var(--e-e);
}

.edore-lb[hidden],
.edore-scrim--lb[hidden] {
	display: none !important;
	pointer-events: none;
}

.edore-lb.is-open {
	opacity: 1;
	pointer-events: auto;
}

.edore-lb__stage {
	margin: 0;
	max-width: min(560px, 92vw);
	max-height: 84vh;
	display: flex;
	flex-direction: column;
	gap: var(--e-3);
	align-items: center;
}

.edore-lb__img {
	max-width: 100%;
	max-height: 78vh;
	width: auto;
	height: auto;
	object-fit: contain;
	border: 1px solid rgba(198, 161, 91, 0.35);
	background: #fff;
}

.edore-lb__count {
	font-size: var(--e-fs-xs);
	letter-spacing: var(--e-track-wide);
	color: var(--edore-gold-light);
}

.edore-lb__close {
	position: absolute;
	top: clamp(10px, 2vw, 24px);
	inset-inline-end: clamp(10px, 2vw, 24px);
	min-width: 44px;
	min-height: 44px;
	color: var(--e-ivory);
}

.edore-lb__close:hover {
	color: var(--edore-gold-light);
}

.edore-lb__nav {
	flex: 0 0 auto;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 48px;
	height: 48px;
	border: 1px solid rgba(198, 161, 91, 0.4);
	border-radius: 50%;
	color: var(--edore-gold-light);
	background: rgba(9, 9, 9, 0.5);
}

.edore-lb__nav:hover {
	background: var(--edore-gold);
	color: var(--e-black);
}

.edore-lb__nav--prev .edore-icon {
	transform: rotate(90deg);
}

.edore-lb__nav--next .edore-icon {
	transform: rotate(-90deg);
}

/* --------------------------------------------- 17.4 Mobile rails */
@media (max-width: 860px) {
	.edore-wall__viewport {
		margin-inline: 0;
	}

	.edore-wall__grid {
		display: flex;
		gap: var(--e-3);
		overflow-x: auto;
		overscroll-behavior-x: contain;
		scroll-snap-type: x mandatory;
		-webkit-overflow-scrolling: touch;
		padding-bottom: var(--e-3);
		scrollbar-width: none;
	}

	.edore-wall__grid::-webkit-scrollbar {
		display: none;
	}

	.edore-wall__item,
	.edore-wall__item--1,
	.edore-wall__item--2 {
		flex: 0 0 86%;
		margin-top: 0;
		scroll-snap-align: start;
	}

	.edore-wall__dots {
		display: flex;
		gap: var(--e-2);
		justify-content: center;
		margin-top: var(--e-4);
	}

	.edore-wall__dot {
		width: 24px;
		height: 2px;
		background: rgba(198, 161, 91, 0.28);
		transition: background var(--e-normal) var(--e-e), width var(--e-normal) var(--e-e);
	}

	.edore-wall__dot.is-active {
		width: 38px;
		background: var(--edore-gold);
	}

	.edore-note__zoom {
		opacity: 1;
	}

	.edore-videos__item {
		flex-basis: 84%;
	}

	.edore-videos__rail--few {
		justify-content: flex-start;
		flex-wrap: nowrap;
	}

	.edore-lb__nav {
		width: 44px;
		height: 44px;
	}
}

@media (max-width: 430px) {
	.edore-lb {
		gap: var(--e-2);
		padding-inline: var(--e-2);
	}

	.edore-lb__stage {
		max-width: 100%;
	}
}

@media (prefers-reduced-motion: reduce) {
	.edore-video,
	.edore-note__shot,
	.edore-video__ring,
	.edore-wall__dot,
	.edore-lb {
		transition: none !important;
	}

	.edore-video:hover,
	.edore-note__shot:hover {
		transform: none !important;
	}
}

/* =====================================================================
   18. Live-audit repair pass (Aug 2026)
   Fixes verified against the production site with rendered-browser QA.
   ===================================================================== */

/* --- 18.1 Logo size guard on WooCommerce pages.
   woocommerce-layout.css ships `.woocommerce-page img { height: auto }`
   (specificity 0,1,1) which beat `.edore-logo__img` (0,1,0) and blew the
   header logo up to its natural 440px on every shop/cart/product page,
   pushing the whole header apart. Specificity raised, value unchanged. */
.edore-header .edore-logo .edore-logo__img {
	width: auto;
	height: 58px;
}

.edore-header.is-scrolled .edore-logo .edore-logo__img {
	height: 46px;
}

.edore-footer .edore-logo--footer .edore-logo__img {
	height: 88px;
}

.edore-header--lean .edore-logo--lean .edore-logo__img,
.edore-header__lean .edore-logo--lean .edore-logo__img {
	height: 48px;
}

@media (max-width: 860px) {
	.edore-header .edore-logo .edore-logo__img,
	.edore-header.is-scrolled .edore-logo .edore-logo__img {
		height: 42px;
	}
}

/* --- 18.2 Injected language switcher (.brandup-visual-language-switcher).
   The snippet prints a fixed pill with z-index 2147483646 that covered the
   header, both drawers, the lightbox and the checkout logo. Re-styled here
   to sit inside the announcement-bar line as a quiet gold control, dropped
   below every overlay, and hidden while any drawer/sheet locks the body. */
nav.brandup-visual-language-switcher {
	position: fixed !important;
	top: 5px !important;
	right: auto !important;
	inset-inline-end: 10px !important;
	z-index: 59 !important; /* under .edore-header (60) and all overlays */
	display: inline-flex !important;
	gap: 2px !important;
	padding: 2px !important;
	background: rgba(9, 9, 9, 0.85) !important;
	border: 1px solid rgba(198, 161, 91, 0.45) !important;
	border-radius: 999px !important;
	box-shadow: none !important;
}

nav.brandup-visual-language-switcher a {
	display: inline-block !important;
	padding: 2px 12px !important;
	border-radius: 999px !important;
	font-size: 12px !important;
	line-height: 18px !important;
	text-decoration: none !important;
	color: var(--e-champagne, #d8c19b) !important;
	background: transparent !important;
	border: 0 !important;
	transition: color 200ms ease, background 200ms ease !important;
}

nav.brandup-visual-language-switcher a[aria-current="page"] {
	background: var(--edore-gold, #b99a62) !important;
	color: #090909 !important;
	font-weight: 600 !important;
}

body.edore-locked nav.brandup-visual-language-switcher,
body.edore-lean-header nav.brandup-visual-language-switcher {
	display: none !important; /* never above an open drawer, never on checkout */
}

@media (max-width: 860px) {
	nav.brandup-visual-language-switcher {
		top: 4px !important;
	}
}

/* --- 18.3 Mobile drawer fallback menu.
   With no menu assigned, the fallback prints .edore-nav__list (the desktop
   inline class) inside the drawer, so the links rendered as one cramped
   horizontal row. Scoped to .edore-mnav this restores the intended stacked
   luxury menu whichever class the list arrives with. */
.edore-mnav .edore-nav__list,
.edore-mnav .edore-mnav__list {
	display: block;
	margin: 0;
	padding: 0;
	list-style: none;
}

.edore-mnav .edore-nav__list > li,
.edore-mnav .edore-mnav__list > li {
	display: block;
	margin: 0;
	border-bottom: 1px solid rgba(198, 161, 91, 0.16);
}

.edore-mnav .edore-nav__list > li > a,
.edore-mnav .edore-mnav__list > li > a {
	display: block;
	padding: 16px 2px;
	font-size: 1.15rem;
	line-height: 1.3;
	letter-spacing: 0.01em;
	color: var(--e-ivory);
	text-decoration: none;
	background: none;
	transition: color 200ms ease, padding-inline-start 200ms ease;
}

.edore-mnav .edore-nav__list > li > a:hover,
.edore-mnav .edore-nav__list > li > a:focus-visible,
.edore-mnav .edore-mnav__list > li > a:hover,
.edore-mnav .edore-mnav__list > li > a:focus-visible {
	color: var(--e-champagne);
	padding-inline-start: 8px;
}

.edore-mnav .edore-nav__list .sub-menu,
.edore-mnav .edore-mnav__list .sub-menu {
	position: static;
	display: block;
	margin: 0 0 10px;
	padding: 0 14px 0 0;
	list-style: none;
	background: none;
	border: 0;
	box-shadow: none;
	opacity: 1;
	visibility: visible;
	transform: none;
	pointer-events: auto;
}

.edore-mnav .edore-nav__list .sub-menu a,
.edore-mnav .edore-mnav__list .sub-menu a {
	display: block;
	padding: 8px 2px;
	font-size: 0.95rem;
	color: rgba(246, 241, 233, 0.72);
}

/* --- 18.4 Small type polish. */
.edore-card__title,
.edore-rstep__title {
	text-wrap: balance;
}

/* Brand-intro text column: anchor it to the optical middle of the tall
   image instead of the top, so the ivory below it reads as intentional. */
.edore-intro__text {
	align-self: center;
}

/* =====================================================================
   19. Premium pass v1.7 (Aug 2026)
   Micro-interactions, editorial spine, section transitions, and the new
   intro / why compositions. Everything respects prefers-reduced-motion.
   ===================================================================== */

/* --- 19.1 Text selection carries the brand. */
::selection {
	background: var(--edore-gold, #b99a62);
	color: #090909;
}

/* --- 19.2 Underline that draws itself (footer, drawer, inline links). */
.edore-footer__cols a,
.edore-mnav .sub-menu a,
.edore-rte a {
	background-image: linear-gradient(currentColor, currentColor);
	background-repeat: no-repeat;
	background-position: bottom 0 inline-start 0;
	background-size: 0% 1px;
	transition: background-size var(--e-normal) var(--e-e);
	text-decoration: none;
}

.edore-footer__cols a:hover,
.edore-footer__cols a:focus-visible,
.edore-mnav .sub-menu a:hover,
.edore-rte a:hover {
	background-size: 100% 1px;
}

/* --- 19.3 Gold marquee pauses under the cursor. */
.edore-marquee:hover .edore-marquee__track,
.edore-marquee:focus-within .edore-marquee__track {
	animation-play-state: paused;
}

/* --- 19.4 Hero: imperceptibly slow Ken Burns on the campaign image. */
@keyframes edore-kenburns {
	from { transform: scale(1); }
	to   { transform: scale(1.045); }
}

.edore-hero__media img {
	animation: edore-kenburns 14s var(--e-e) 400ms 1 forwards;
	will-change: transform;
}

/* --- 19.5 Cart count gives one quiet pulse when an item lands. */
@keyframes edore-bump {
	0%   { transform: scale(1); }
	40%  { transform: scale(1.35); }
	100% { transform: scale(1); }
}

.edore-cart-count.is-bump {
	animation: edore-bump 450ms var(--e-e) 1;
}

/* --- 19.6 Announcement rotator (two messages, gentle crossfade). */
.edore-ann__rotator {
	position: relative;
	display: grid;
}

.edore-ann__rotator .edore-ann__text {
	grid-area: 1 / 1;
	opacity: 0;
	transform: translateY(4px);
	transition: opacity 600ms var(--e-e), transform 600ms var(--e-e);
	pointer-events: none;
}

.edore-ann__rotator .edore-ann__text.is-active {
	opacity: 1;
	transform: none;
	pointer-events: auto;
}

/* --- 19.7 Editorial spine: every home section quietly carries its index
   in the eyebrow, continuing the hero's "— 01". */
body.home main.edore-main {
	counter-reset: edosec 1; /* the hero is 01 by design */
}

body.home main.edore-main > section:not(.edore-hero) {
	counter-increment: edosec;
}

body.home main.edore-main > section:not(.edore-hero) .edore-sec-head > .edore-eyebrow::after {
	content: '— ' counter(edosec, decimal-leading-zero);
	margin-inline-start: 12px;
	font-family: var(--e-serif);
	font-size: 1.05em;
	font-feature-settings: 'onum' 1;
	letter-spacing: 0.14em;
	color: var(--edore-gold, #b99a62);
	white-space: nowrap;
	unicode-bidi: isolate;
	direction: ltr;
}

/* --- 19.8 Section transition: the signature product frame breaks the
   boundary and overlaps the next section by one deliberate step. */
@media (min-width: 861px) {
	.edore-featured--signature .edore-frame--signature {
		position: relative;
		z-index: 2;
		margin-bottom: calc(-1 * clamp(36px, 4vw, 64px));
	}

	.edore-featured--signature {
		padding-bottom: 0;
	}

	.edore-featured--signature + .edore-sec {
		padding-top: calc(var(--e-sec-y) + clamp(36px, 4vw, 64px));
	}
}

/* --- 19.9 Brand intro: gold ritual spine + optional overlapping accent. */
.edore-intro__steps {
	margin: clamp(22px, 2.6vw, 36px) 0 0;
	padding: 0 0 0 0;
	padding-inline-start: 18px;
	list-style: none;
	border-inline-start: 1px solid rgba(185, 154, 98, 0.5);
	display: grid;
	gap: 12px;
	counter-reset: none;
}

.edore-intro__step {
	display: flex;
	align-items: baseline;
	gap: 12px;
}

.edore-intro__stepnum {
	font-family: var(--e-serif);
	font-size: 0.8rem;
	letter-spacing: 0.1em;
	color: var(--edore-gold, #b99a62);
	min-width: 1.8em;
}

.edore-intro__steplabel {
	font-size: 0.98rem;
	letter-spacing: 0.02em;
	color: var(--e-soft, #161513);
}

.edore-intro__media {
	position: relative;
}

.edore-intro__accent {
	position: absolute;
	inset-block-end: clamp(-30px, -2.5vw, -18px);
	inset-inline-end: clamp(-26px, -2.2vw, -14px);
	width: clamp(150px, 15vw, 230px);
	aspect-ratio: 1;
	overflow: hidden;
	border: 6px solid var(--e-ivory);
	box-shadow: 0 18px 40px rgba(9, 9, 9, 0.16);
	z-index: 2;
}

.edore-intro__accent-img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

@media (max-width: 900px) {
	.edore-intro__accent {
		width: 128px;
		inset-block-end: -14px;
		inset-inline-end: 10px;
		border-width: 4px;
	}

	.edore-intro__steps {
		gap: 9px;
	}
}

/* --- 19.10 Why EDORÉ: asymmetric split when an image is set. */
.edore-why__grid {
	display: block;
}

.edore-why--split .edore-why__grid {
	display: grid;
	grid-template-columns: 0.9fr 1.1fr;
	gap: clamp(28px, 4.5vw, 72px);
	align-items: center;
	margin-top: clamp(24px, 3vw, 44px);
}

.edore-why--split .edore-why__list {
	display: grid;
	grid-template-columns: 1fr;
	gap: clamp(18px, 2.2vw, 30px);
	margin: 0;
}

.edore-why--split .edore-why__item {
	display: grid;
	grid-template-columns: auto 1fr;
	grid-template-rows: auto auto;
	column-gap: 16px;
	padding-block: clamp(14px, 1.6vw, 22px);
	border-top: 0;
	border-bottom: 1px solid rgba(185, 154, 98, 0.28);
	text-align: start;
}

.edore-why--split .edore-why__num {
	position: static;
	grid-row: 1 / span 2;
	align-self: start;
	margin: 0;
	font-family: var(--e-serif);
	font-size: 1.5rem;
	line-height: 1;
	color: var(--edore-gold, #b99a62);
	opacity: 1;
}

@media (max-width: 900px) {
	.edore-why--split .edore-why__grid {
		grid-template-columns: 1fr;
	}

	.edore-why--split .edore-why__media {
		max-width: 420px;
		margin-inline: auto;
	}
}

/* --- 19.11 Horizontal rails: hairline gold scroll cue on pointer devices. */
@media (hover: hover) and (pointer: fine) {
	.edore-grid--swipe::-webkit-scrollbar,
	.edore-wall__grid::-webkit-scrollbar {
		height: 3px;
	}

	.edore-grid--swipe::-webkit-scrollbar-thumb,
	.edore-wall__grid::-webkit-scrollbar-thumb {
		background: rgba(185, 154, 98, 0.55);
	}

	.edore-grid--swipe::-webkit-scrollbar-track,
	.edore-wall__grid::-webkit-scrollbar-track {
		background: transparent;
	}
}

/* --- 19.12 Reduced motion: every v1.7 movement stands down. */
@media (prefers-reduced-motion: reduce) {
	.edore-hero__media img {
		animation: none;
	}

	.edore-cart-count.is-bump {
		animation: none;
	}

	.edore-ann__rotator .edore-ann__text {
		transition: none;
		transform: none;
	}
}

/* =====================================================================
   20. Cinematic scroll v1.8 (Aug 2026)
   Strong, clearly visible scroll motion — luxury vocabulary only:
   curtain reveals, mask rises, cascades, parallax. Each section owns a
   different entrance so the page never repeats itself. JS tags sections
   with .edore-scene and flips .is-on when they enter; everything here
   is transform/opacity/clip-path only. Reduced motion turns it all off.
   ===================================================================== */

.edore-scene {
	--scene-d: 900ms;
	--scene-e: var(--e-e);
}

/* --- 20.1 Global: every scene title rises out of a mask, its eyebrow
   fades in a beat earlier, the divider draws itself. */
.edore-scene .edore-sec-head .edore-eyebrow {
	opacity: 0;
	transform: translateY(10px);
	transition: opacity 500ms var(--scene-e), transform 500ms var(--scene-e);
}

.edore-scene .edore-sec-head .edore-sec-title {
	clip-path: inset(-0.2em 0 100% 0);
	transform: translateY(0.55em);
	transition: clip-path var(--scene-d) var(--scene-e) 120ms, transform var(--scene-d) var(--scene-e) 120ms;
}

.edore-scene .edore-sec-head .edore-sec-head__rule,
.edore-scene .edore-sec-head hr {
	transform: scaleX(0);
	transition: transform 700ms var(--scene-e) 420ms;
}

.edore-scene.is-on .edore-sec-head .edore-eyebrow {
	opacity: 1;
	transform: none;
}

.edore-scene.is-on .edore-sec-head .edore-sec-title {
	clip-path: inset(-0.2em 0 -0.25em 0);
	transform: none;
}

.edore-scene.is-on .edore-sec-head .edore-sec-head__rule,
.edore-scene.is-on .edore-sec-head hr {
	transform: scaleX(1);
}

/* --- 20.2 Image curtain: a champagne panel slides off every framed
   image while the photo itself settles from a gentle zoom. */
.edore-scene .edore-frame::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 2;
	background: linear-gradient(160deg, var(--e-champagne, #d8c19b), var(--edore-gold, #b99a62));
	transform: none;
	transition: transform 950ms var(--scene-e) 80ms;
	pointer-events: none;
}

.edore-scene .edore-frame .edore-frame__img {
	transform: scale(1.14);
	transition: transform 1400ms var(--scene-e) 80ms;
}

.edore-scene.is-on .edore-frame::before {
	transform: translateY(-101%);
}

.edore-scene.is-on .edore-frame .edore-frame__img {
	transform: scale(1);
}

/* Dark sections get a black-to-gold curtain instead. */
.edore-scene--dark .edore-frame::before {
	background: linear-gradient(160deg, #0d0c0a 30%, var(--edore-gold, #b99a62));
}

/* --- 20.3 Intro: ritual spine steps walk in from the start side. */
.edore-scene .edore-intro__step {
	opacity: 0;
	transform: translateX(calc(var(--e-dir, 1) * 22px));
	transition: opacity 550ms var(--scene-e), transform 550ms var(--scene-e);
}

.edore-scene.is-on .edore-intro__step {
	opacity: 1;
	transform: none;
}

.edore-scene.is-on .edore-intro__step:nth-child(1) { transition-delay: 350ms; }
.edore-scene.is-on .edore-intro__step:nth-child(2) { transition-delay: 450ms; }
.edore-scene.is-on .edore-intro__step:nth-child(3) { transition-delay: 550ms; }
.edore-scene.is-on .edore-intro__step:nth-child(4) { transition-delay: 650ms; }
.edore-scene.is-on .edore-intro__step:nth-child(5) { transition-delay: 750ms; }

body.edore-rtl {
	--e-dir: -1;
}

/* --- 20.4 Collection: cards cascade with a settling zoom. */
.edore-card[data-edore-reveal] .edore-card__img {
	transform: scale(1.1);
	transition: transform 1200ms var(--scene-e);
}

.edore-card[data-edore-reveal].is-inview .edore-card__img {
	transform: scale(1);
}

.edore-grid > .edore-card[data-edore-reveal]:nth-child(2),
.edore-grid > li:nth-child(2) .edore-card[data-edore-reveal] {
	transition-delay: 110ms;
}

.edore-grid > .edore-card[data-edore-reveal]:nth-child(3),
.edore-grid > li:nth-child(3) .edore-card[data-edore-reveal] {
	transition-delay: 220ms;
}

/* --- 20.5 Signature: checklist lands item by item after the curtain. */
.edore-scene .edore-featured__list li,
.edore-scene .edore-checklist li {
	opacity: 0;
	transform: translateY(16px);
	transition: opacity 550ms var(--scene-e), transform 550ms var(--scene-e);
}

.edore-scene.is-on .edore-featured__list li,
.edore-scene.is-on .edore-checklist li {
	opacity: 1;
	transform: none;
}

.edore-scene.is-on .edore-featured__list li:nth-child(1),
.edore-scene.is-on .edore-checklist li:nth-child(1) { transition-delay: 500ms; }
.edore-scene.is-on .edore-featured__list li:nth-child(2),
.edore-scene.is-on .edore-checklist li:nth-child(2) { transition-delay: 620ms; }
.edore-scene.is-on .edore-featured__list li:nth-child(3),
.edore-scene.is-on .edore-checklist li:nth-child(3) { transition-delay: 740ms; }

/* --- 20.6 Why: points enter from alternating sides. */
.edore-scene .edore-why__item {
	opacity: 0;
	transform: translateX(calc(var(--e-dir, 1) * 34px));
	transition: opacity 650ms var(--scene-e), transform 650ms var(--scene-e);
}

.edore-scene .edore-why__item:nth-child(even) {
	transform: translateX(calc(var(--e-dir, 1) * -34px));
}

.edore-scene.is-on .edore-why__item {
	opacity: 1;
	transform: none;
}

.edore-scene.is-on .edore-why__item:nth-child(2) { transition-delay: 120ms; }
.edore-scene.is-on .edore-why__item:nth-child(3) { transition-delay: 240ms; }
.edore-scene.is-on .edore-why__item:nth-child(4) { transition-delay: 360ms; }

/* --- 20.7 Wall: screenshots dealt like cards, settling flat. */
.edore-scene .edore-note {
	opacity: 0;
	transform: translateY(30px) rotate(2deg);
	transition: opacity 600ms var(--scene-e), transform 700ms var(--scene-e);
}

.edore-scene .edore-note:nth-child(even) {
	transform: translateY(30px) rotate(-2deg);
}

.edore-scene.is-on .edore-note {
	opacity: 1;
	transform: none;
}

.edore-scene.is-on .edore-note:nth-child(2)  { transition-delay: 70ms; }
.edore-scene.is-on .edore-note:nth-child(3)  { transition-delay: 140ms; }
.edore-scene.is-on .edore-note:nth-child(4)  { transition-delay: 210ms; }
.edore-scene.is-on .edore-note:nth-child(5)  { transition-delay: 280ms; }
.edore-scene.is-on .edore-note:nth-child(6)  { transition-delay: 350ms; }
.edore-scene.is-on .edore-note:nth-child(7)  { transition-delay: 420ms; }
.edore-scene.is-on .edore-note:nth-child(8)  { transition-delay: 490ms; }
.edore-scene.is-on .edore-note:nth-child(9)  { transition-delay: 560ms; }
.edore-scene.is-on .edore-note:nth-child(10) { transition-delay: 630ms; }

/* --- 20.8 Videos: films rise with a settling scale, one after another. */
.edore-scene .edore-video {
	opacity: 0;
	transform: translateY(26px) scale(0.94);
	transition: opacity 600ms var(--scene-e), transform 750ms var(--scene-e);
}

.edore-scene.is-on .edore-video {
	opacity: 1;
	transform: none;
}

.edore-scene.is-on .edore-video:nth-child(2) { transition-delay: 100ms; }
.edore-scene.is-on .edore-video:nth-child(3) { transition-delay: 200ms; }
.edore-scene.is-on .edore-video:nth-child(4) { transition-delay: 300ms; }
.edore-scene.is-on .edore-video:nth-child(5) { transition-delay: 400ms; }
.edore-scene.is-on .edore-video:nth-child(6) { transition-delay: 500ms; }

/* --- 20.9 Ritual: the five steps climb the ladder in order. */
.edore-scene .edore-rstep,
.edore-scene .edore-ritual__step {
	opacity: 0;
	transform: translateY(28px);
	transition: opacity 650ms var(--scene-e), transform 650ms var(--scene-e);
}

.edore-scene.is-on .edore-rstep,
.edore-scene.is-on .edore-ritual__step {
	opacity: 1;
	transform: none;
}

.edore-scene.is-on .edore-rstep:nth-child(2),
.edore-scene.is-on .edore-ritual__step:nth-child(2) { transition-delay: 130ms; }
.edore-scene.is-on .edore-rstep:nth-child(3),
.edore-scene.is-on .edore-ritual__step:nth-child(3) { transition-delay: 260ms; }
.edore-scene.is-on .edore-rstep:nth-child(4),
.edore-scene.is-on .edore-ritual__step:nth-child(4) { transition-delay: 390ms; }
.edore-scene.is-on .edore-rstep:nth-child(5),
.edore-scene.is-on .edore-ritual__step:nth-child(5) { transition-delay: 520ms; }

/* --- 20.10 Manifesto: statement rises out of its mask, dividers draw. */
.edore-scene .edore-mani__rule,
.edore-scene .edore-mani hr {
	transform: scaleX(0);
	transition: transform 800ms var(--scene-e) 500ms;
}

.edore-scene.is-on .edore-mani__rule,
.edore-scene.is-on .edore-mani hr {
	transform: scaleX(1);
}

/* --- 20.11 Parallax layers (set by JS, transform-only). */
[data-edore-plx] {
	will-change: transform;
}

/* --- 20.12 Reduced motion: the entire cinematic layer stands down. */
@media (prefers-reduced-motion: reduce) {
	.edore-scene .edore-sec-head .edore-sec-title,
	.edore-scene .edore-sec-head .edore-eyebrow,
	.edore-scene .edore-frame::before,
	.edore-scene .edore-frame .edore-frame__img,
	.edore-scene .edore-intro__step,
	.edore-card[data-edore-reveal] .edore-card__img,
	.edore-scene .edore-featured__list li,
	.edore-scene .edore-checklist li,
	.edore-scene .edore-why__item,
	.edore-scene .edore-note,
	.edore-scene .edore-video,
	.edore-scene .edore-rstep,
	.edore-scene .edore-ritual__step,
	.edore-scene .edore-mani__rule {
		opacity: 1;
		transform: none;
		clip-path: none;
		transition: none;
	}

	.edore-scene .edore-frame::before {
		display: none;
	}

	[data-edore-plx] {
		transform: none !important;
	}
}

/* --- 20.13 Side-entrance containment: sections whose children enter
   from the side must clip their own overflow so the shifted (invisible)
   items never widen the page on mobile. `clip` avoids creating a new
   scroll container, so rails elsewhere keep their intentional bleed. */
.edore-scene.edore-why,
.edore-scene.edore-intro {
	overflow-x: clip;
}

/* =====================================================================
   21. Video layer v1.9 (Aug 2026)
   Hero, product cards and the PDP gallery can each carry a silent MP4.
   The still image is always the poster, so nothing regresses when a
   product has no video and the LCP stays an image.
   ===================================================================== */

/* --- 21.1 Hero: the video sits over its own poster image. */
.edore-hero__video {
	position: absolute;
	inset: 0;
	z-index: 1;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	opacity: 0;
	transition: opacity 900ms var(--e-e);
	pointer-events: none;
}

.edore-hero__video[data-ready] {
	opacity: 1;
}

.edore-hero__veil {
	z-index: 2;
}

/* --- 21.2 Product card: video crossfades in over the still on hover. */
/* The still uses object-fit: contain and bleeds slightly outside the
   media box; the video must sit in the same optical box, so it matches
   that fit rather than covering the whole card. */
.edore-card__video {
	position: absolute;
	inset: 0;
	z-index: 1;
	width: 100%;
	height: 100%;
	object-fit: contain;
	opacity: 0;
	transition: opacity 320ms var(--e-e);
	pointer-events: none;
}

.edore-card.is-playing .edore-card__video {
	opacity: 1;
}

.edore-card.is-playing .edore-card__img {
	opacity: 0;
	transition: opacity 320ms var(--e-e);
}

/* --- 21.3 PDP gallery: the video slide behaves exactly like an image
   slide, and its thumbnail carries a small gold play marker. */
.edore-gallery__video {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.edore-gallery__slide--video {
	background: var(--e-warm);
}

.edore-gallery__thumb--video {
	position: relative;
}

.edore-gallery__thumbplay {
	position: absolute;
	inset-block-end: 6px;
	inset-inline-end: 6px;
	display: grid;
	place-items: center;
	width: 20px;
	height: 20px;
	border-radius: 999px;
	background: rgba(9, 9, 9, 0.72);
	color: var(--edore-gold, #b99a62);
	pointer-events: none;
}

/* --- 21.4 Reduced motion / no-hover: stills only. */
@media (prefers-reduced-motion: reduce) {
	.edore-hero__video,
	.edore-card__video {
		display: none;
	}
}

/* =====================================================================
   22. WhatsApp booking assistant v2.0 (Aug 2026)
   Four steps on one screen: service, day, time, details. Nothing is
   stored — the flow only prepares a WhatsApp message, so there is no
   availability state and no disabled slots. Mobile-first: every target
   clears 44px and the whole flow fits a phone screen without overflow.
   ===================================================================== */

.edore-booking {
	overflow-x: clip;
}

.edore-booking__grid {
	display: grid;
	gap: clamp(26px, 3.2vw, 44px);
	margin-top: clamp(28px, 3.4vw, 48px);
}

/* --- 22.1 Step headers carry the same editorial numbering as the page. */
.edore-bstep__head {
	display: flex;
	align-items: baseline;
	gap: 12px;
	margin: 0 0 14px;
}

.edore-bstep__num {
	font-family: var(--e-serif);
	font-size: 0.95rem;
	letter-spacing: 0.14em;
	color: var(--edore-gold, #c6a15b);
	unicode-bidi: isolate;
	direction: ltr;
}

.edore-bstep__label {
	font-size: var(--e-fs-xs);
	letter-spacing: var(--e-track-wide);
	text-transform: uppercase;
	color: var(--e-ivory);
}

/* --- 22.2 Shared control skin: ivory hairline on black, gold when picked. */
.edore-bchip,
.edore-bday,
.edore-btime {
	min-height: 46px;
	padding: 11px 18px;
	border: 1px solid rgba(198, 161, 91, 0.42);
	border-radius: 0;
	background: transparent;
	color: var(--e-ivory);
	font-family: inherit;
	font-size: 0.95rem;
	line-height: 1.25;
	letter-spacing: 0.01em;
	cursor: pointer;
	transition: background var(--e-normal) var(--e-e), color var(--e-normal) var(--e-e), border-color var(--e-normal) var(--e-e);
	-webkit-tap-highlight-color: transparent;
}

.edore-bchip:hover,
.edore-bday:hover,
.edore-btime:hover {
	border-color: var(--edore-gold, #c6a15b);
	background: rgba(198, 161, 91, 0.1);
}

.edore-bchip.is-selected,
.edore-bday.is-selected,
.edore-btime.is-selected {
	background: #c6a15b;
	border-color: #c6a15b;
	color: #090909;
	font-weight: 600;
}

.edore-bchip:focus-visible,
.edore-bday:focus-visible,
.edore-btime:focus-visible {
	outline: 2px solid var(--edore-gold, #c6a15b);
	outline-offset: 3px;
}

/* --- 22.3 Layouts per group. */
.edore-bchips {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

.edore-bdays {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(112px, 1fr));
	gap: 10px;
}

.edore-bday {
	display: grid;
	gap: 3px;
	padding: 12px 10px;
	text-align: center;
}

.edore-bday__name {
	font-size: var(--e-fs-xs);
	letter-spacing: var(--e-track-wide);
	text-transform: uppercase;
	opacity: 0.85;
}

.edore-bday__date {
	font-family: var(--e-serif);
	font-size: 1.05rem;
}

.edore-btimes {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(88px, 1fr));
	gap: 10px;
}

.edore-btime {
	text-align: center;
	font-variant-numeric: tabular-nums;
}

/* --- 22.4 Details. Inputs are 16px so iOS never zooms on focus. */
.edore-bfields {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
	gap: 14px 18px;
}

.edore-bfield {
	margin: 0;
	display: grid;
	gap: 7px;
}

.edore-bfield--wide {
	grid-column: 1 / -1;
}

.edore-bfield label {
	font-size: var(--e-fs-xs);
	letter-spacing: var(--e-track-wide);
	text-transform: uppercase;
	color: rgba(246, 241, 233, 0.72);
}

.edore-bfield input,
.edore-bfield textarea {
	width: 100%;
	min-height: 46px;
	padding: 11px 14px;
	border: 1px solid rgba(198, 161, 91, 0.42);
	border-radius: 0;
	background: rgba(255, 255, 255, 0.04);
	color: var(--e-ivory);
	font-family: inherit;
	font-size: 16px;
	transition: border-color var(--e-normal) var(--e-e);
}

.edore-bfield textarea {
	min-height: 74px;
	resize: vertical;
}

.edore-bfield input:focus,
.edore-bfield textarea:focus {
	outline: none;
	border-color: var(--edore-gold, #c6a15b);
}

/* --- 22.5 Summary before sending. */
.edore-bsummary {
	margin-top: clamp(26px, 3vw, 42px);
	padding: clamp(18px, 2.2vw, 26px);
	border: 1px solid rgba(198, 161, 91, 0.35);
	background: rgba(198, 161, 91, 0.06);
}

.edore-bsummary__list {
	margin: 10px 0 0;
	display: grid;
	gap: 8px;
}

.edore-bsummary__row {
	display: flex;
	justify-content: space-between;
	gap: 16px;
	padding-bottom: 8px;
	border-bottom: 1px solid rgba(198, 161, 91, 0.18);
}

.edore-bsummary__row:last-child {
	border-bottom: 0;
	padding-bottom: 0;
}

.edore-bsummary__row dt {
	font-size: var(--e-fs-xs);
	letter-spacing: var(--e-track-wide);
	text-transform: uppercase;
	color: rgba(246, 241, 233, 0.65);
}

.edore-bsummary__row dd {
	margin: 0;
	color: var(--e-ivory);
	text-align: end;
}

/* --- 22.6 Send + validation + the manual-confirmation note. */
.edore-booking__foot {
	margin-top: clamp(22px, 2.6vw, 34px);
	display: grid;
	justify-items: center;
	gap: 12px;
	text-align: center;
}

.edore-booking__cta {
	min-height: 54px;
	width: min(420px, 100%);
	gap: 10px;
}

.edore-berror {
	margin: 0;
	padding: 9px 14px;
	border: 1px solid rgba(198, 161, 91, 0.5);
	background: rgba(198, 161, 91, 0.1);
	color: var(--e-champagne, #d8c19b);
	font-size: 0.92rem;
}

.edore-booking__note {
	margin: 0;
	max-width: 46ch;
	font-size: 0.85rem;
	line-height: 1.55;
	color: rgba(246, 241, 233, 0.6);
}

/* --- 22.7 Booking CTAs in the header, drawer and footer. */
.edore-btn--ghostgold {
	border: 1px solid var(--edore-gold, #c6a15b);
	background: transparent;
	color: var(--edore-gold, #c6a15b);
}

.edore-btn--ghostgold:hover,
.edore-btn--ghostgold:focus-visible {
	background: var(--edore-gold, #c6a15b);
	color: #090909;
}

.edore-header__book {
	min-height: 38px;
	padding: 8px 16px;
	font-size: 0.85rem;
}

.edore-mnav__book {
	margin-top: 18px;
	width: 100%;
	min-height: 50px;
	justify-content: center;
}

.edore-footer__book {
	margin-top: 16px;
	min-height: 44px;
}

/* --- 22.8 Phones: a little tighter, still 44px+ everywhere. */
@media (max-width: 600px) {
	.edore-bdays {
		grid-template-columns: repeat(auto-fill, minmax(96px, 1fr));
	}

	.edore-btimes {
		grid-template-columns: repeat(auto-fill, minmax(78px, 1fr));
	}

	.edore-bchip,
	.edore-bday,
	.edore-btime {
		font-size: 0.9rem;
	}

	.edore-bsummary__row {
		flex-direction: column;
		gap: 2px;
	}

	.edore-bsummary__row dd {
		text-align: start;
	}
}

/* =====================================================================
   23. Mobile hero — stacked composition v2.0.1 (Aug 2026)
   The overlay hero worked on desktop, where the model sits in the left
   half and the copy in the right. On a phone the same layout collapsed
   into text printed straight over her face, which hid the campaign
   image (and now the video) behind the headline.

   The fix is the editorial answer rather than a darker scrim: give the
   image its own band at the top, let it dissolve into black at its
   lower edge, and set the copy on that black below it. Both halves get
   to be themselves — the face stays fully visible, the type sits on a
   clean ground, and the fade keeps it reading as one composition.
   ===================================================================== */

@media (max-width: 1024px) {

	.edore-hero--split,
	.edore-hero--full {
		display: grid;
		grid-template-columns: 1fr;
		grid-template-rows: auto auto;
		min-height: 0;
	}

	/* The media becomes a real band in the flow, no longer a backdrop. */
	.edore-hero--split .edore-hero__media,
	.edore-hero--full .edore-hero__media {
		position: relative;
		inset: auto;
		grid-row: 1;
		height: clamp(330px, 54vh, 540px);
		overflow: hidden;
	}

	.edore-hero__img,
	.edore-hero__video {
		width: 100%;
		height: 100%;
		object-fit: cover;
		/* Faces sit high in these frames; bias the crop upward so the
		   eyes land near the optical centre of the band. */
		object-position: 50% 22%;
	}

	/* Only the lower third is veiled — just enough to dissolve into the
	   panel. Nothing darkens the face any more. */
	.edore-hero--split .edore-hero__veil,
	.edore-hero--full .edore-hero__veil {
		background: linear-gradient(
			180deg,
			rgba(9, 9, 9, 0) 0%,
			rgba(9, 9, 9, 0) 55%,
			rgba(9, 9, 9, 0.55) 82%,
			var(--e-black, #090909) 100%
		);
	}

	/* Copy sits on solid black, pulled up a touch so the gradient and the
	   type overlap in one continuous surface. */
	.edore-hero--split .edore-hero__panel,
	.edore-hero--full .edore-hero__panel {
		position: relative;
		z-index: 3;
		grid-row: 2;
		display: flex;
		flex-direction: column;
		justify-content: flex-start;
		align-items: stretch;
		min-height: 0;
		margin-top: -1px;
		padding: var(--e-6) var(--e-gutter) var(--e-8);
		background: var(--e-black, #090909);
		text-align: start;
	}

	.edore-hero__content {
		width: 100%;
		max-width: 34rem;
	}

	/* The hairline that reads as a rule on desktop becomes the seam
	   between image and copy: a short gold mark starting the panel. */
	.edore-hero__rule {
		display: block;
		width: 56px;
		height: 1px;
		margin: 0 0 var(--e-4);
		background: var(--edore-gold, #c6a15b);
		transform: none;
	}

	.edore-hero__title {
		text-wrap: balance;
	}

	.edore-hero__actions {
		width: 100%;
	}

	.edore-hero__actions .edore-btn {
		width: 100%;
		justify-content: center;
	}
}

@media (max-width: 700px) {

	.edore-hero--split .edore-hero__media,
	.edore-hero--full .edore-hero__media {
		height: clamp(300px, 48vh, 430px);
	}

	.edore-hero--split .edore-hero__panel,
	.edore-hero--full .edore-hero__panel {
		min-height: 0;
		padding-top: var(--e-5);
		padding-bottom: var(--e-7);
	}
}

/* Short phones (or a landscape phone): keep the whole first screen
   useful by trading image height for copy. */
@media (max-width: 1024px) and (max-height: 700px) {

	.edore-hero--split .edore-hero__media,
	.edore-hero--full .edore-hero__media {
		height: clamp(240px, 40vh, 360px);
	}
}

/* =====================================================================
   24. FAQ v2.2
   Native <details> so it works with zero JS and stays accessible.
   ===================================================================== */

.edore-faq__list {
	margin-top: clamp(24px, 3vw, 40px);
	border-top: 1px solid var(--e-line-soft);
}

.edore-faq__item {
	border-bottom: 1px solid var(--e-line-soft);
}

.edore-faq__q {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	padding: clamp(16px, 2vw, 22px) 0;
	cursor: pointer;
	list-style: none;
	font-size: clamp(1rem, 1.6vw, 1.12rem);
	line-height: 1.4;
	color: var(--e-soft, #161513);
	transition: color 200ms var(--e-e);
}

.edore-faq__q::-webkit-details-marker {
	display: none;
}

.edore-faq__q:hover {
	color: var(--edore-gold-deep, #9a7f4f);
}

.edore-faq__sign {
	flex: 0 0 auto;
	position: relative;
	width: 14px;
	height: 14px;
}

.edore-faq__sign::before,
.edore-faq__sign::after {
	content: "";
	position: absolute;
	inset-block-start: 50%;
	inset-inline-start: 0;
	width: 14px;
	height: 1px;
	background: var(--edore-gold, #c6a15b);
	transition: transform 260ms var(--e-e);
}

.edore-faq__sign::after {
	transform: rotate(90deg);
}

.edore-faq__item[open] .edore-faq__sign::after {
	transform: rotate(0deg);
}

.edore-faq__a {
	padding: 0 0 clamp(18px, 2.2vw, 26px);
	max-width: 62ch;
	font-size: 0.98rem;
	line-height: 1.7;
	color: var(--e-muted, #6f6a63);
}

.edore-faq__a p {
	margin: 0 0 0.8em;
}

.edore-faq__a p:last-child {
	margin-bottom: 0;
}

/* =====================================================================
   25. Result videos — show the whole frame (v2.3.1)
   These clips carry burned-in captions right up to their edges, so
   `cover` was slicing the text off whenever a clip's ratio differed
   even slightly from the 9:16 card. `contain` guarantees the full
   frame is visible; the card's own black takes any letterbox, which
   on a black section reads as intentional rather than as a gap.
   ===================================================================== */

.edore-video__el,
.edore-video__poster {
	object-fit: contain;
	background: #0d0c0b;
}
