/* Elodie House storefront. Brand tokens first: change colors and fonts here. */

@font-face {
	font-family: "Inter Tight";
	src: url("../fonts/inter-tight-latin-wght.woff2") format("woff2");
	font-weight: 100 900;
	font-display: swap;
}
@font-face {
	font-family: "Inter";
	src: url("../fonts/inter-latin-wght.woff2") format("woff2");
	font-weight: 100 900;
	font-display: swap;
}

:root {
	--eh-bg: #ffffff;
	--eh-ink: #111111;
	--eh-ink-2: #4a4a4a;
	--eh-muted: #8a8a8a;
	--eh-line: #e4e4e4;
	--eh-soft: #f4f4f2;
	--eh-on-dark: #ffffff;
	--eh-sale: #a4161a;
	--eh-gold: linear-gradient(135deg, #e6c97f, #b8913f);
	--eh-silver: linear-gradient(135deg, #f0f0f0, #a7a7a7);

	--eh-font-display: "Inter Tight", "Helvetica Neue", Arial, sans-serif;
	--eh-font-body: "Inter", "Helvetica Neue", Arial, sans-serif;

	--eh-max: 1440px;
	--eh-gutter: clamp(16px, 3.2vw, 48px);
	--eh-header-h: 60px;
	--eh-announce-h: 34px;
	--eh-section: clamp(56px, 8vw, 112px);
	--eh-ease: cubic-bezier(.2, .7, .2, 1);
}

/* ------------------------------------------------------------------ base */

html { -webkit-text-size-adjust: 100%; }
body.elodie {
	background: var(--eh-bg);
	color: var(--eh-ink);
	font-family: var(--eh-font-body);
	font-size: 15px;
	line-height: 1.6;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}
.elodie h1, .elodie h2, .elodie h3, .elodie h4 {
	font-family: var(--eh-font-display);
	color: var(--eh-ink);
	letter-spacing: -0.01em;
	line-height: 1.1;
}
:where(.elodie) a { color: inherit; text-decoration: none; } /* zero specificity: component colors win */
.elodie img { display: block; max-width: 100%; height: auto; }
.elodie :focus-visible { outline: 2px solid var(--eh-ink); outline-offset: 2px; }
.elodie button { font: inherit; }
.eh-icon { flex: none; }

/* GeneratePress containers: the theme sets its own widths */
.elodie #page.grid-container,
.elodie .site.grid-container { max-width: none; padding: 0; background: none; }
.elodie .site-content { display: block; padding: 0; }
.elodie .content-area { float: none; width: auto; max-width: var(--eh-max); margin: 0 auto; padding: 0 var(--eh-gutter); }
.elodie .site-main { margin: 0 !important; }
.elodie .inside-article,
.elodie .one-container .site-content,
.elodie .separate-containers .inside-article { padding: 0; background: none; }
.elodie .entry-meta, .elodie .site-footer .footer-bar { display: none; }
.elodie .site-footer { background: none; }

.eh-container { max-width: var(--eh-max); margin: 0 auto; padding: 0 var(--eh-gutter); }
.content-area .eh-container { padding: 0; }
.eh-only-desktop { display: none !important; }
@media (min-width: 1000px) {
	.eh-only-desktop { display: inline-flex !important; }
	.eh-only-mobile { display: none !important; }
}

/* ------------------------------------------------------------------ type + buttons */

.eh-kicker {
	margin: 0 0 12px;
	font-family: var(--eh-font-display);
	font-size: 11px;
	font-weight: 600;
	letter-spacing: .18em;
	text-transform: uppercase;
}
.eh-link {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-family: var(--eh-font-display);
	font-size: 12px;
	font-weight: 600;
	letter-spacing: .14em;
	text-transform: uppercase;
	border-bottom: 1px solid currentColor;
	padding-bottom: 3px;
}
.eh-link .eh-icon { transition: transform .3s var(--eh-ease); }
.eh-link:hover .eh-icon { transform: translateX(4px); }

.eh-btn,
.elodie .button,
.elodie button.button,
.elodie .single_add_to_cart_button,
.elodie .wc-block-components-button:not(.is-link),
.elodie .wp-block-button__link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	min-height: 50px;
	padding: 0 28px;
	border: 1px solid var(--eh-ink);
	border-radius: 0;
	background: var(--eh-ink);
	color: var(--eh-on-dark);
	font-family: var(--eh-font-display);
	font-size: 12px;
	font-weight: 600;
	letter-spacing: .14em;
	line-height: 1;
	text-transform: uppercase;
	cursor: pointer;
	transition: background .25s, color .25s, border-color .25s;
}
.eh-btn:hover,
.elodie .button:hover,
.elodie .single_add_to_cart_button:hover,
.elodie .wc-block-components-button:not(.is-link):hover {
	background: var(--eh-bg);
	color: var(--eh-ink);
}
/* WooCommerce colors its .alt buttons purple at high specificity */
body.elodie .button.alt,
body.elodie button.button.alt,
body.elodie button.button.alt.disabled,
body.elodie button.button.alt:disabled,
body.elodie button.button.alt:disabled[disabled] {
	background: var(--eh-ink) !important;
	border-color: var(--eh-ink) !important;
	color: var(--eh-on-dark) !important;
}
body.elodie button.button.alt:not(.disabled):not(:disabled):hover { background: var(--eh-bg) !important; color: var(--eh-ink) !important; }
.elodie .button.disabled, .elodie .button:disabled, .elodie .single_add_to_cart_button.disabled {
	opacity: .35;
	cursor: not-allowed;
}
.eh-btn--light { background: var(--eh-bg); color: var(--eh-ink); border-color: var(--eh-bg); }
.eh-btn--light:hover { background: transparent; color: var(--eh-on-dark); border-color: var(--eh-on-dark); }
.eh-btn--outline-light { background: transparent; color: var(--eh-on-dark); border-color: var(--eh-on-dark); }
.eh-btn--outline-light:hover { background: var(--eh-bg); color: var(--eh-ink); }

/* GeneratePress paints every <button> grey on hover/focus */
.elodie button.eh-iconbtn,
.elodie button.eh-iconbtn:hover,
.elodie button.eh-iconbtn:focus { background: transparent; color: var(--eh-ink); }
.elodie button.eh-option:hover, .elodie button.eh-option:focus { background: var(--eh-bg); color: var(--eh-ink); }
.elodie button.eh-option[aria-pressed="true"]:hover, .elodie button.eh-option[aria-pressed="true"]:focus { background: var(--eh-ink); color: var(--eh-on-dark); }
.elodie button.eh-reel__sound:hover, .elodie button.eh-reel__sound:focus { background: rgba(0, 0, 0, .65); color: #fff; }
.elodie button.eh-rail-nav:hover, .elodie button.eh-rail-nav:focus { background: var(--eh-ink); color: var(--eh-on-dark); }
.eh-iconbtn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	position: relative;
	width: 40px;
	height: 40px;
	padding: 0;
	border: 0;
	background: none;
	color: var(--eh-ink);
	cursor: pointer;
}

.eh-swatch {
	display: inline-block;
	width: 11px;
	height: 11px;
	border-radius: 50%;
	background: var(--eh-gold);
	box-shadow: inset 0 0 0 1px rgba(0, 0, 0, .12);
	flex: none;
}
.eh-swatch--silver-tone { background: var(--eh-silver); }
.eh-swatch--two-tone { background: linear-gradient(90deg, #d6b56a 50%, #c4c4c4 50%); }
.eh-swatch--rose-gold-tone { background: linear-gradient(135deg, #f0c4b4, #b9786a); }

/* ------------------------------------------------------------------ header */

.eh-announcement {
	background: var(--eh-ink);
	color: var(--eh-on-dark);
	text-align: center;
}
.eh-announcement p {
	margin: 0;
	padding: 0 var(--eh-gutter);
	line-height: var(--eh-announce-h);
	font-family: var(--eh-font-display);
	font-size: 11px;
	font-weight: 500;
	letter-spacing: .16em;
	text-transform: uppercase;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.eh-header {
	position: sticky;
	top: 0;
	z-index: 50;
	background: var(--eh-bg);
	border-bottom: 1px solid var(--eh-line);
}
.admin-bar .eh-header { top: 46px; }
@media (min-width: 783px) { .admin-bar .eh-header { top: 32px; } }
.eh-header__inner {
	display: grid;
	grid-template-columns: 1fr auto 1fr;
	align-items: center;
	height: var(--eh-header-h);
	max-width: var(--eh-max);
	margin: 0 auto;
	padding: 0 calc(var(--eh-gutter) - 10px);
}
.eh-header__left { display: flex; align-items: center; height: 100%; }
.eh-header__right { display: flex; align-items: center; justify-content: flex-end; gap: 2px; }
.eh-wordmark {
	font-family: var(--eh-font-display);
	font-size: clamp(15px, 1.6vw, 19px);
	font-weight: 600;
	letter-spacing: .3em;
	margin-right: -.3em; /* optical centering of the tracked caps */
	text-transform: uppercase;
	white-space: nowrap;
}
.eh-bagcount {
	position: absolute;
	top: 4px;
	right: 2px;
	min-width: 16px;
	height: 16px;
	padding: 0 4px;
	border-radius: 8px;
	background: var(--eh-ink);
	color: var(--eh-on-dark);
	font-size: 10px;
	font-weight: 600;
	line-height: 16px;
	text-align: center;
}
.eh-bagcount.is-empty { display: none; }
.eh-drawer__title .eh-bagcount { position: static; display: inline-block; margin-left: 6px; vertical-align: 2px; }

.eh-nav { display: none; height: 100%; }
@media (min-width: 1000px) {
	.eh-nav { display: block; }
}
.eh-nav__list { display: flex; height: 100%; margin: 0; padding: 0 0 0 10px; list-style: none; gap: 28px; }
.eh-nav__list > li { display: flex; align-items: center; margin: 0; }
.eh-nav__list > li > a {
	position: relative;
	font-family: var(--eh-font-display);
	font-size: 12px;
	font-weight: 600;
	letter-spacing: .14em;
	text-transform: uppercase;
	padding: 6px 0;
}
.eh-nav__list > li > a::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	height: 1px;
	background: currentColor;
	transform: scaleX(0);
	transform-origin: left;
	transition: transform .3s var(--eh-ease);
}
.eh-nav__list > li:hover > a::after,
.eh-nav__list > li > a:focus-visible::after,
.eh-nav__list > li.current-menu-item > a::after { transform: scaleX(1); }

.eh-mega {
	position: absolute;
	left: 0;
	right: 0;
	top: 100%;
	background: var(--eh-bg);
	border-top: 1px solid var(--eh-line);
	border-bottom: 1px solid var(--eh-line);
	opacity: 0;
	visibility: hidden;
	transform: translateY(-6px);
	transition: opacity .2s, transform .25s var(--eh-ease), visibility 0s .25s;
}
.eh-has-mega:hover .eh-mega,
.eh-has-mega:focus-within .eh-mega {
	opacity: 1;
	visibility: visible;
	transform: none;
	transition-delay: 0s;
}
.eh-mega__inner {
	display: grid;
	grid-template-columns: 1fr 260px 260px;
	gap: 40px;
	max-width: var(--eh-max);
	margin: 0 auto;
	padding: 36px var(--eh-gutter) 44px;
}
.eh-mega__list {
	columns: 2;
	column-gap: 40px;
	margin: 0;
	padding: 0;
	list-style: none;
}
.eh-mega__list li { margin: 0 0 12px; break-inside: avoid; }
.eh-mega__list a { font-size: 15px; }
.eh-mega__list a:hover { text-decoration: underline; text-underline-offset: 4px; }
.eh-mega__list span { color: var(--eh-muted); font-size: 12px; margin-left: 4px; }
.eh-mega__card { display: block; }
.eh-mega__card img { aspect-ratio: 4 / 5; object-fit: cover; width: 100%; background: var(--eh-soft); }
.eh-mega__card span {
	display: block;
	margin-top: 10px;
	font-family: var(--eh-font-display);
	font-size: 12px;
	font-weight: 600;
	letter-spacing: .14em;
	text-transform: uppercase;
}

/* search */
.eh-search {
	position: absolute;
	left: 0;
	right: 0;
	top: 100%;
	background: var(--eh-bg);
	border-bottom: 1px solid var(--eh-line);
	padding: 20px var(--eh-gutter) 32px;
	max-height: calc(100vh - var(--eh-header-h));
	overflow: auto;
}
.eh-search__form {
	display: flex;
	align-items: center;
	gap: 12px;
	max-width: 900px;
	margin: 0 auto;
	border-bottom: 1px solid var(--eh-ink);
}
.eh-search__form input[type="search"] {
	flex: 1;
	min-width: 0;
	height: 56px;
	border: 0;
	background: none;
	padding: 0;
	font-family: var(--eh-font-display);
	font-size: clamp(18px, 2.4vw, 26px);
	color: var(--eh-ink);
	outline: none;
}
.eh-search__results {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 20px 14px;
	max-width: 900px;
	margin: 24px auto 0;
}
.eh-search__form input[type="search"]::-webkit-search-cancel-button { -webkit-appearance: none; appearance: none; }
@media (min-width: 700px) { .eh-search__results { grid-template-columns: repeat(4, 1fr); } }
.eh-search__results:empty { display: none; }
.eh-search__hit img { aspect-ratio: 4 / 5; object-fit: cover; width: 100%; background: var(--eh-soft); }
.eh-search__hit span { display: block; margin-top: 8px; font-size: 13px; line-height: 1.35; }
.eh-search__hit b { display: block; margin-top: 2px; font-weight: 500; font-size: 13px; }
.eh-search__more, .eh-search__empty { grid-column: 1 / -1; margin: 4px 0 0; color: var(--eh-ink-2); font-size: 14px; }

/* ------------------------------------------------------------------ drawers (menu, bag) */

.eh-scrim {
	position: fixed;
	inset: 0;
	z-index: 90;
	background: rgba(0, 0, 0, .4);
	opacity: 0;
	transition: opacity .3s;
}
.eh-scrim.is-open { opacity: 1; }
.eh-drawer {
	position: fixed;
	top: 0;
	bottom: 0;
	z-index: 100;
	display: flex;
	flex-direction: column;
	width: min(440px, 92vw);
	background: var(--eh-bg);
	transition: transform .4s var(--eh-ease);
}
.eh-drawer--right { right: 0; transform: translateX(100%); }
.eh-drawer--left { left: 0; transform: translateX(-100%); }
.eh-drawer.is-open { transform: none; }
.eh-drawer__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	height: var(--eh-header-h);
	padding: 0 12px 0 24px;
	border-bottom: 1px solid var(--eh-line);
	flex: none;
}
.eh-drawer__head .eh-wordmark { font-size: 15px; }
.eh-drawer__title {
	margin: 0;
	font-family: var(--eh-font-display);
	font-size: 12px;
	font-weight: 600;
	letter-spacing: .14em;
	text-transform: uppercase;
}
.eh-drawer__body { flex: 1; overflow-y: auto; padding: 8px 24px 24px; display: flex; flex-direction: column; }

.eh-mobilenav { margin: 8px 0 0; padding: 0; list-style: none; }
.eh-mobilenav li { margin: 0; border-bottom: 1px solid var(--eh-line); }
.eh-mobilenav a {
	display: block;
	padding: 16px 0;
	font-family: var(--eh-font-display);
	font-size: 20px;
	font-weight: 500;
	letter-spacing: -0.01em;
}
.eh-mobilenav--small a { font-size: 14px; font-weight: 500; letter-spacing: .1em; text-transform: uppercase; padding: 14px 0; }
.eh-mobilenav__account { display: inline-flex; align-items: center; gap: 8px; margin-top: auto; padding-top: 24px; font-size: 14px; }

/* mini cart inside the bag drawer (WooCommerce markup: remove link, product link with image + name, variation, quantity) */
.eh-drawer .woocommerce-mini-cart { margin: 0; padding: 0; list-style: none; }
.eh-drawer .woocommerce-mini-cart-item {
	position: relative;
	min-height: 141px;
	margin: 0 !important;
	padding: 18px 28px 18px 100px !important;
	border-bottom: 1px solid var(--eh-line);
	font-size: 14px;
	line-height: 1.4;
}
.eh-drawer .woocommerce-mini-cart-item > a:not(.remove) { display: block; font-weight: 400 !important; color: var(--eh-ink); }
.eh-drawer .woocommerce-mini-cart-item img {
	position: absolute;
	left: 0;
	top: 18px;
	float: none !important;
	width: 84px !important;
	height: 105px !important;
	margin: 0 !important;
	object-fit: cover;
	background: var(--eh-soft);
	box-shadow: none !important;
}
.eh-drawer .woocommerce-mini-cart-item .quantity { display: block; margin-top: 6px; color: var(--eh-ink-2); font-size: 13px; }
.eh-drawer .woocommerce-mini-cart-item dl.variation { margin: 4px 0 0; padding: 0; border: 0; font-size: 12px; color: var(--eh-muted); }
.eh-drawer .woocommerce-mini-cart-item dl.variation dt, .eh-drawer .woocommerce-mini-cart-item dl.variation dd { display: inline; float: none; margin: 0; padding: 0; font-weight: 400; }
.eh-drawer .woocommerce-mini-cart-item dl.variation dd p { display: inline; margin: 0; }
.eh-drawer .woocommerce-mini-cart-item a.remove {
	position: absolute;
	top: 16px;
	right: 0;
	left: auto;
	width: 22px;
	height: 22px;
	line-height: 20px;
	text-align: center;
	color: var(--eh-muted) !important;
	font-size: 18px;
	font-weight: 400;
	border-radius: 0;
}
.eh-drawer .woocommerce-mini-cart-item a.remove:hover { background: none !important; color: var(--eh-ink) !important; }
.eh-drawer .woocommerce-mini-cart__total {
	display: flex;
	justify-content: space-between;
	margin: 20px 0 4px;
	padding: 0;
	border: 0;
	font-size: 15px;
}
.eh-drawer .woocommerce-mini-cart__total strong { font-weight: 500; }
.eh-minicart__note { margin: 0 0 16px; color: var(--eh-muted); font-size: 12px; }
.eh-drawer .woocommerce-mini-cart__buttons { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin: 0; padding: 0; }
.eh-drawer .woocommerce-mini-cart__buttons::before, .eh-drawer .woocommerce-mini-cart__buttons::after { display: none; }
.eh-drawer .woocommerce-mini-cart__buttons a.button {
	display: flex !important;
	align-items: center;
	justify-content: center;
	min-height: 50px;
	line-height: 1 !important;
	width: 100%;
	margin: 0 !important;
	padding: 0 12px;
	border: 1px solid var(--eh-ink) !important;
	background: var(--eh-bg) !important;
	color: var(--eh-ink) !important;
}
.eh-drawer .woocommerce-mini-cart__buttons a.button.checkout { background: var(--eh-ink) !important; color: var(--eh-on-dark) !important; }
.eh-drawer .woocommerce-mini-cart__buttons a.button:hover { background: var(--eh-ink) !important; color: var(--eh-on-dark) !important; }
.eh-drawer .woocommerce-mini-cart__buttons a.button.checkout:hover { background: var(--eh-bg) !important; color: var(--eh-ink) !important; }
.eh-drawer .woocommerce-mini-cart__empty-message { margin: 40px 0 0; text-align: center; color: var(--eh-ink-2); }

body.eh-locked { overflow: hidden; }

/* ------------------------------------------------------------------ sections + rails */

.eh-section { padding: var(--eh-section) 0 0; }
.eh-section__head {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 16px;
	margin-bottom: clamp(20px, 3vw, 32px);
}
.eh-section__title {
	margin: 0;
	font-size: clamp(22px, 2.6vw, 34px);
	font-weight: 600;
	text-transform: uppercase;
}
.eh-rail {
	display: grid;
	grid-auto-flow: column;
	grid-auto-columns: minmax(0, 1fr);
	gap: 12px;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	scrollbar-width: none;
	margin: 0 calc(var(--eh-gutter) * -1);
	padding: 0 var(--eh-gutter);
	scroll-padding: 0 var(--eh-gutter);
}
.eh-rail::-webkit-scrollbar { display: none; }
.eh-rail__item { scroll-snap-align: start; margin: 0; }
.eh-rail-wrap { position: relative; }
.eh-rail-nav {
	position: absolute;
	top: 40%;
	z-index: 2;
	display: none;
	width: 44px;
	height: 44px;
	border: 1px solid var(--eh-line);
	background: var(--eh-bg);
	color: var(--eh-ink);
	cursor: pointer;
	align-items: center;
	justify-content: center;
}
.eh-rail-nav--prev { left: -8px; }
.eh-rail-nav--prev .eh-icon { transform: rotate(180deg); }
.eh-rail-nav--next { right: -8px; }
@media (min-width: 1000px) and (hover: hover) {
	.eh-rail-wrap.has-overflow .eh-rail-nav { display: inline-flex; }
	.eh-rail-nav[disabled] { opacity: 0; pointer-events: none; }
}

/* ------------------------------------------------------------------ home */

.eh-hero {
	position: relative;
	display: flex;
	align-items: flex-end;
	min-height: min(calc(100svh - var(--eh-header-h) - var(--eh-announce-h)), 900px);
	min-height: min(calc(100vh - var(--eh-header-h) - var(--eh-announce-h)), 900px);
	background: var(--eh-ink);
	color: var(--eh-on-dark);
	overflow: hidden;
}
@supports (height: 100svh) {
	.eh-hero { min-height: min(calc(100svh - var(--eh-header-h) - var(--eh-announce-h)), 900px); }
}
.eh-hero__media { position: absolute; inset: 0; display: grid; grid-template-columns: 1fr; gap: 2px; background: var(--eh-ink); }
.eh-hero__img {
	width: 100%;
	height: 100% !important;
	min-height: 0;
	object-fit: cover;
	object-position: center 30%;
	animation: eh-hero-in 1.6s var(--eh-ease) both;
}
.eh-hero__img--extra { display: none; }
.eh-hero__img:nth-child(2) { animation-delay: .12s; }
.eh-hero__img:nth-child(3) { animation-delay: .24s; }
@media (min-width: 800px) {
	.eh-hero__media--2 { grid-template-columns: repeat(2, 1fr); }
	.eh-hero__media--3 { grid-template-columns: repeat(3, 1fr); }
	.eh-hero__img--extra { display: block; }
}
@keyframes eh-hero-in { from { transform: scale(1.06); opacity: .6; } to { transform: none; opacity: 1; } }
.eh-hero::after {
	content: "";
	position: absolute;
	inset: 0;
	background:
		linear-gradient(to top, rgba(0, 0, 0, .62), rgba(0, 0, 0, .18) 50%, transparent 75%),
		linear-gradient(to right, rgba(0, 0, 0, .35), transparent 60%);
}
.eh-hero__copy {
	position: relative;
	z-index: 1;
	width: 100%;
	max-width: var(--eh-max);
	margin: 0 auto;
	padding: 0 var(--eh-gutter) clamp(40px, 7vw, 88px);
}
.eh-hero__copy .eh-kicker, .eh-hero__title { color: var(--eh-on-dark) !important; }
.eh-hero__title {
	margin: 0;
	font-size: clamp(48px, 10vw, 144px);
	font-weight: 600;
	letter-spacing: -0.035em;
	line-height: .92;
	text-transform: uppercase;
}
.eh-hero__text { max-width: 440px; margin: 18px 0 28px; font-size: clamp(15px, 1.3vw, 17px); color: rgba(255, 255, 255, .9); }
.eh-hero__ctas { display: flex; flex-wrap: wrap; gap: 10px; }

.eh-rail--cats { grid-auto-columns: 42vw; }
@media (min-width: 700px) { .eh-rail--cats { grid-auto-columns: 26vw; } }
@media (min-width: 1000px) { .eh-rail--cats { grid-auto-columns: calc((min(100vw, var(--eh-max)) - 2 * var(--eh-gutter) - 4 * 12px) / 5); } }
.eh-cat__media { display: block; overflow: hidden; background: var(--eh-soft); aspect-ratio: 4 / 5; }
.eh-cat__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .8s var(--eh-ease); }
.eh-cat:hover .eh-cat__media img { transform: scale(1.04); }
.eh-cat__name {
	display: block;
	margin-top: 12px;
	font-family: var(--eh-font-display);
	font-size: 13px;
	font-weight: 600;
	letter-spacing: .12em;
	text-transform: uppercase;
}
.eh-cat__count { display: block; color: var(--eh-muted); font-size: 13px; }

.eh-split { display: grid; gap: 2px; margin-top: var(--eh-section); }
@media (min-width: 800px) { .eh-split { grid-template-columns: 1fr 1fr; } }
.eh-split__panel { position: relative; display: block; overflow: hidden; aspect-ratio: 4 / 5; max-height: 92vh; width: 100%; background: var(--eh-ink); }
.eh-split__panel img { position: absolute; inset: 0; width: 100%; height: 100% !important; object-fit: cover; transition: transform 1s var(--eh-ease); }
.eh-split__panel:hover img { transform: scale(1.03); }
.eh-split__panel::after { content: ""; position: absolute; inset: 0; background: linear-gradient(to top, rgba(0, 0, 0, .5), transparent 50%); }
.eh-split__copy { position: absolute; left: var(--eh-gutter); bottom: clamp(28px, 5vw, 56px); z-index: 1; color: var(--eh-on-dark); }
.eh-split__title {
	display: block;
	margin-bottom: 16px;
	font-family: var(--eh-font-display);
	font-size: clamp(32px, 5vw, 72px);
	font-weight: 600;
	letter-spacing: -0.03em;
	line-height: .95;
	text-transform: uppercase;
}

.eh-rail--reels { grid-auto-columns: 62vw; }
@media (min-width: 700px) { .eh-rail--reels { grid-auto-columns: 260px; } }
.eh-reel { position: relative; aspect-ratio: 9 / 16; background: var(--eh-ink); overflow: hidden; }
.eh-reel video { width: 100%; height: 100%; object-fit: cover; display: block; }
.eh-reel__sound {
	position: absolute;
	top: 10px;
	right: 10px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 34px;
	height: 34px;
	border: 0;
	border-radius: 50%;
	background: rgba(0, 0, 0, .45);
	color: #fff;
	cursor: pointer;
}
.eh-reel__shop {
	position: absolute;
	left: 8px;
	right: 8px;
	bottom: 8px;
	display: grid;
	grid-template-columns: 44px 1fr;
	grid-template-rows: auto auto;
	column-gap: 10px;
	align-items: center;
	padding: 8px;
	background: rgba(255, 255, 255, .96);
	transition: transform .3s var(--eh-ease);
}
.eh-reel__shop:hover { transform: translateY(-2px); }
.eh-reel__shop img { grid-row: 1 / 3; width: 44px; height: 55px; object-fit: cover; }
.eh-reel__name { font-size: 12px; line-height: 1.3; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.eh-reel__price { font-size: 12px; font-weight: 600; }

.eh-values { margin-top: var(--eh-section); border-top: 1px solid var(--eh-line); border-bottom: 1px solid var(--eh-line); }
.eh-values__grid { display: grid; gap: 28px; padding-top: 40px; padding-bottom: 40px; }
@media (min-width: 800px) { .eh-values__grid { grid-template-columns: repeat(3, 1fr); gap: 48px; } }
.eh-values p { margin: 0; color: var(--eh-ink-2); font-size: 14px; }
.eh-values .eh-values__title {
	margin-bottom: 6px;
	color: var(--eh-ink);
	font-family: var(--eh-font-display);
	font-size: 12px;
	font-weight: 600;
	letter-spacing: .14em;
	text-transform: uppercase;
}

.eh-join { background: var(--eh-ink); color: var(--eh-on-dark); padding: clamp(56px, 8vw, 104px) 0; text-align: center; }
.eh-join__title { margin: 0 0 10px; color: var(--eh-on-dark) !important; font-size: clamp(28px, 4vw, 48px); font-weight: 600; text-transform: uppercase; letter-spacing: -0.02em; }
.eh-join p { margin: 0 0 28px; color: rgba(255, 255, 255, .75); }
.eh-join .eh-newsletter { margin: 0 auto; }
.eh-join .eh-newsletter input[type="email"] { background: transparent; color: var(--eh-on-dark); border-color: rgba(255, 255, 255, .5); }
.eh-join .eh-newsletter input[type="email"]::placeholder { color: rgba(255, 255, 255, .6); }
.eh-join .eh-btn { background: var(--eh-bg); color: var(--eh-ink); border-color: var(--eh-bg); }
.eh-join .eh-btn:hover { background: transparent; color: var(--eh-on-dark); }
.eh-join .eh-newsletter__msg { color: rgba(255, 255, 255, .85); }

/* newsletter form (footer + home) */
.eh-newsletter { position: relative; display: flex; flex-wrap: wrap; max-width: 460px; }
.eh-newsletter input[type="email"] {
	flex: 1 1 200px;
	min-width: 0;
	height: 50px;
	padding: 0 16px;
	border: 1px solid var(--eh-ink);
	border-right: 0;
	border-radius: 0;
	background: var(--eh-bg);
	color: var(--eh-ink);
	font-size: 14px;
}
.eh-newsletter .eh-btn { flex: none; }
.eh-newsletter__msg { flex-basis: 100%; margin: 10px 0 0 !important; font-size: 13px; text-align: left; min-height: 1em; }
.eh-hp { position: absolute !important; left: -9999px; width: 1px; height: 1px; opacity: 0; }

/* ------------------------------------------------------------------ footer */

.eh-footer { margin-top: var(--eh-section); border-top: 1px solid var(--eh-line); }
.eh-home + .site-footer .eh-footer,
.elodie.home .eh-footer { margin-top: 0; border-top: 0; }
.eh-footer__top {
	display: grid;
	gap: 40px;
	max-width: var(--eh-max);
	margin: 0 auto;
	padding: 56px var(--eh-gutter) 40px;
}
@media (min-width: 800px) { .eh-footer__top { grid-template-columns: 2fr 1fr 1fr 1fr; } }
.eh-footer__brand .eh-wordmark { display: inline-block; margin-bottom: 14px; }
.eh-footer__brand p { margin: 0 0 18px; color: var(--eh-ink-2); font-size: 14px; }
.eh-footer__title {
	margin: 0 0 14px;
	font-family: var(--eh-font-display);
	font-size: 12px;
	font-weight: 600;
	letter-spacing: .14em;
	text-transform: uppercase;
}
.eh-footer__col ul { margin: 0; padding: 0; list-style: none; }
.eh-footer__col li { margin: 0 0 9px; }
.eh-footer__col a { color: var(--eh-ink-2); font-size: 14px; }
.eh-footer__col a:hover { color: var(--eh-ink); text-decoration: underline; text-underline-offset: 3px; }
.eh-footer__bottom {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 12px;
	max-width: var(--eh-max);
	margin: 0 auto;
	padding: 20px var(--eh-gutter) 28px;
	border-top: 1px solid var(--eh-line);
	color: var(--eh-muted);
	font-size: 12px;
}
.eh-footer__bottom p { margin: 0; }
.eh-footer__social { display: inline-flex; align-items: center; gap: 6px; }

/* ------------------------------------------------------------------ product grid + card */

.elodie ul.products,
.eh-grid {
	display: grid !important;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 36px 12px;
	margin: 0 !important;
	padding: 0 !important;
	list-style: none;
}
@media (min-width: 700px) { .elodie ul.products, .eh-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 44px 16px; } }
@media (min-width: 1100px) { .elodie ul.products, .eh-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.elodie ul.products::before, .elodie ul.products::after { display: none !important; }
.elodie ul.products li.product {
	float: none !important;
	width: auto !important;
	margin: 0 !important;
	padding: 0 !important;
	text-align: left;
}

.eh-card__frame { position: relative; }
.eh-card__media { position: relative; display: block; overflow: hidden; aspect-ratio: 4 / 5; background: var(--eh-soft); }
.eh-card__img {
	position: absolute;
	inset: 0;
	width: 100% !important;
	height: 100% !important;
	object-fit: cover;
	margin: 0 !important;
	transition: opacity .5s var(--eh-ease), transform 1s var(--eh-ease);
}
.eh-card__img--hover { opacity: 0; }
@media (hover: hover) {
	.eh-card:hover .has-hover .eh-card__img--hover { opacity: 1; }
	.eh-card:hover .eh-card__media:not(.has-hover) .eh-card__img { transform: scale(1.04); }
}
.eh-badge {
	position: absolute;
	top: 10px;
	left: 10px;
	padding: 5px 8px;
	background: var(--eh-bg);
	color: var(--eh-ink);
	font-family: var(--eh-font-display);
	font-size: 10px;
	font-weight: 600;
	letter-spacing: .14em;
	text-transform: uppercase;
	line-height: 1;
}
.eh-badge--sale { background: var(--eh-sale); color: #fff; }

.eh-card__add {
	position: absolute;
	right: 8px;
	bottom: 8px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	height: 36px;
	min-width: 36px;
	padding: 0 10px;
	background: var(--eh-bg);
	color: var(--eh-ink);
	font-family: var(--eh-font-display);
	font-size: 11px;
	font-weight: 600;
	letter-spacing: .14em;
	text-transform: uppercase;
	transition: opacity .25s, transform .3s var(--eh-ease), background .2s, color .2s;
}
.eh-card__add span { display: none; }
.eh-card__add:not(.add_to_cart_button) span { display: inline; }
.eh-card__add:hover { background: var(--eh-ink); color: var(--eh-on-dark); }
.eh-card__add.loading { opacity: .5; pointer-events: none; }
.eh-card__add.added::after { content: "✓"; margin-left: 2px; }
.elodie .added_to_cart { display: none !important; } /* the bag drawer opens instead */
@media (hover: hover) and (min-width: 1000px) {
	.eh-card__add { left: 10px; right: 10px; height: 40px; opacity: 0; transform: translateY(8px); }
	.eh-card__add span { display: inline; }
	.eh-card:hover .eh-card__add, .eh-card__add:focus-visible { opacity: 1; transform: none; }
}

.eh-card__body { padding-top: 12px; }
.elodie .eh-card__title {
	margin: 0 0 4px;
	padding: 0;
	font-family: var(--eh-font-body);
	font-size: 14px !important;
	font-weight: 400;
	letter-spacing: 0;
	line-height: 1.4;
}
.eh-card__title a:hover { text-decoration: underline; text-underline-offset: 3px; }
.eh-card__meta { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.elodie .eh-card .price,
.elodie .price { color: var(--eh-ink) !important; font-size: 14px !important; font-weight: 500; }
.elodie .price del { color: var(--eh-muted); font-weight: 400; margin-right: 6px; opacity: 1; }
.elodie .price ins { text-decoration: none; color: var(--eh-sale); }

/* ------------------------------------------------------------------ shop + category pages */

.eh-archive__head { padding: clamp(28px, 4vw, 56px) 0 20px; }
.elodie .woocommerce-breadcrumb { margin: 0 0 18px; color: var(--eh-muted); font-size: 12px; }
.elodie .woocommerce-breadcrumb a { color: var(--eh-ink-2); }
.eh-crumb-sep { margin: 0 8px; }
.eh-archive__title {
	margin: 0;
	font-size: clamp(36px, 6vw, 80px);
	font-weight: 600;
	letter-spacing: -0.035em;
	line-height: .95;
	text-transform: uppercase;
}
.eh-archive__desc { max-width: 560px; margin: 14px 0 0; color: var(--eh-ink-2); }

.eh-chips {
	display: flex;
	gap: 8px;
	overflow-x: auto;
	scrollbar-width: none;
	margin: 8px calc(var(--eh-gutter) * -1) 0;
	padding: 0 var(--eh-gutter) 4px;
}
.eh-chips::-webkit-scrollbar { display: none; }
.eh-chip {
	flex: none;
	padding: 9px 16px;
	border: 1px solid var(--eh-line);
	font-size: 13px;
	white-space: nowrap;
	transition: border-color .2s;
}
.eh-chip:hover { border-color: var(--eh-ink); }
.eh-chip.is-active { background: var(--eh-ink); border-color: var(--eh-ink); color: var(--eh-on-dark); }

.eh-toolbar {
	position: sticky;
	top: var(--eh-header-h);
	z-index: 10;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 10px 20px;
	margin: 20px calc(var(--eh-gutter) * -1) 28px;
	padding: 10px var(--eh-gutter);
	background: var(--eh-bg);
	border-top: 1px solid var(--eh-line);
	border-bottom: 1px solid var(--eh-line);
}
.admin-bar .eh-toolbar { top: calc(var(--eh-header-h) + 46px); }
@media (min-width: 783px) { .admin-bar .eh-toolbar { top: calc(var(--eh-header-h) + 32px); } }
.eh-toolbar__filters { display: flex; flex-wrap: wrap; gap: 4px 18px; }
.eh-filter { display: inline-flex; align-items: center; gap: 7px; padding: 6px 0; font-size: 13px; color: var(--eh-ink-2); border-bottom: 1px solid transparent; }
.eh-filter:hover { color: var(--eh-ink); }
.eh-filter.is-active { color: var(--eh-ink); border-bottom-color: var(--eh-ink); }
.eh-toolbar__sort { display: flex; align-items: center; gap: 16px; margin-left: auto; }
.elodie .woocommerce-result-count { margin: 0 !important; float: none !important; color: var(--eh-muted); font-size: 13px; }
.elodie .woocommerce-ordering { margin: 0 !important; float: none !important; }
.elodie .woocommerce-ordering select {
	height: 36px;
	padding: 0 28px 0 10px;
	border: 1px solid var(--eh-line);
	border-radius: 0;
	background: var(--eh-bg) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23111' stroke-width='1.5'%3E%3Cpath d='m2 4 4 4 4-4'/%3E%3C/svg%3E") no-repeat right 10px center;
	-webkit-appearance: none;
	appearance: none;
	color: var(--eh-ink);
	font-size: 13px;
}
.elodie .woocommerce-pagination { margin-top: 56px; text-align: center; }
.elodie .woocommerce-pagination ul.page-numbers { display: inline-flex; gap: 6px; border: 0 !important; margin: 0; }
.elodie .woocommerce-pagination ul.page-numbers li { border: 0 !important; }
.elodie .woocommerce-pagination .page-numbers a,
.elodie .woocommerce-pagination .page-numbers span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 40px;
	height: 40px;
	padding: 0 8px !important;
	border: 1px solid var(--eh-line);
	font-size: 13px;
	background: none !important;
	color: var(--eh-ink) !important;
}
.elodie .woocommerce-pagination .page-numbers span.current { background: var(--eh-ink) !important; border-color: var(--eh-ink); color: var(--eh-on-dark) !important; }
.elodie .woocommerce-info, .elodie .woocommerce-message, .elodie .woocommerce-error {
	border: 0;
	border-left: 2px solid var(--eh-ink);
	background: var(--eh-soft);
	color: var(--eh-ink);
	font-size: 14px;
}
.elodie .woocommerce-info::before, .elodie .woocommerce-message::before { color: var(--eh-ink); }
.elodie .woocommerce-error { border-left-color: var(--eh-sale); }
.elodie .woocommerce-error::before { color: var(--eh-sale); }

/* ------------------------------------------------------------------ product page */

.single-product .content-area { padding-top: clamp(16px, 2.4vw, 32px); }
.single-product div.product {
	display: grid;
	grid-template-columns: minmax(0, 1fr); /* rails inside must not widen the column */
	gap: 28px;
}
@media (min-width: 1000px) {
	.single-product div.product { grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); gap: 56px; align-items: start; }
}
.single-product div.product > .eh-section,
.single-product div.product > section { grid-column: 1 / -1; }

.eh-gallery { position: relative; margin: 0 calc(var(--eh-gutter) * -1); }
.eh-gallery__track {
	display: grid;
	grid-auto-flow: column;
	grid-auto-columns: 100%;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	scrollbar-width: none;
}
.eh-gallery__track::-webkit-scrollbar { display: none; }
.eh-gallery__slide { margin: 0; scroll-snap-align: start; background: var(--eh-soft); }
.eh-gallery__slide a { display: block; cursor: zoom-in; }
.eh-gallery__slide img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; }
.eh-gallery__dots { position: absolute; left: 0; right: 0; bottom: 14px; display: flex; justify-content: center; gap: 6px; pointer-events: none; }
.eh-gallery__dots span { width: 6px; height: 6px; border-radius: 50%; background: rgba(255, 255, 255, .6); box-shadow: 0 0 0 1px rgba(0, 0, 0, .1); transition: background .2s, transform .2s; }
.eh-gallery__dots span.is-active { background: #fff; transform: scale(1.3); }
@media (min-width: 1000px) {
	.eh-gallery { margin: 0; }
	.eh-gallery__track { grid-auto-flow: row; grid-template-columns: 1fr 1fr; grid-auto-columns: auto; gap: 8px; overflow: visible; }
	.eh-gallery__slide:first-child { grid-column: 1 / -1; }
	.eh-gallery__track:has(> :nth-child(2):last-child) { grid-template-columns: 1fr; }
	.eh-gallery__dots { display: none; }
}

.elodie div.product .summary {
	float: none !important;
	width: auto !important;
	margin: 0 !important;
}
@media (min-width: 1000px) {
	.elodie div.product .summary { position: sticky; top: calc(var(--eh-header-h) + 28px); }
	.admin-bar.elodie div.product .summary { top: calc(var(--eh-header-h) + 60px); }
}
.eh-eyebrow { display: flex; gap: 8px; margin-bottom: 14px; color: var(--eh-muted); font-size: 12px; letter-spacing: .04em; }
.eh-eyebrow a:hover { color: var(--eh-ink); }
.elodie div.product .product_title {
	margin: 0 0 10px;
	font-size: clamp(24px, 2.4vw, 34px);
	font-weight: 500;
	letter-spacing: -0.02em;
	line-height: 1.12;
}
.elodie div.product .summary > .price { margin: 0 0 18px; font-size: 18px !important; }
.elodie div.product .woocommerce-product-details__short-description { color: var(--eh-ink-2); margin-bottom: 18px; }
.elodie div.product .woocommerce-product-details__short-description p { margin: 0; }
.eh-metal { display: flex; align-items: center; gap: 8px; margin: 0 0 22px; font-size: 13px; color: var(--eh-ink-2); }
.eh-metal__sep { color: var(--eh-line); }
.elodie div.product .woocommerce-product-rating { margin-bottom: 12px; }

.elodie div.product form.cart { margin: 0 0 24px !important; }
.elodie div.product form.cart:not(.variations_form),
.elodie div.product .woocommerce-variation-add-to-cart { display: flex; gap: 8px; flex-wrap: wrap; }
.elodie div.product form.cart::before, .elodie div.product form.cart::after { display: none; }
.elodie div.product form.cart .quantity { float: none; margin: 0 !important; }
.elodie div.product form.cart .quantity input.qty {
	width: 64px;
	height: 52px;
	border: 1px solid var(--eh-line);
	border-radius: 0;
	background: var(--eh-bg);
	color: var(--eh-ink);
	text-align: center;
	font-size: 14px;
}
.elodie div.product form.cart .single_add_to_cart_button { float: none; flex: 1; min-height: 52px; }
.elodie div.product .stock { margin: 0 0 10px; font-size: 13px; color: var(--eh-ink-2) !important; }
.elodie div.product .stock.out-of-stock { color: var(--eh-sale) !important; }

/* variation picker: the selects are replaced by buttons (elodie.js), kept for WooCommerce */
.elodie table.variations { margin: 0 0 18px !important; border: 0; }
.elodie table.variations tr { display: block; margin-bottom: 14px; }
.elodie table.variations th, .elodie table.variations td { display: block; padding: 0 !important; border: 0; text-align: left; background: none; line-height: 1.4 !important; }
.elodie table.variations th label {
	display: block;
	margin-bottom: 10px;
	font-family: var(--eh-font-display);
	font-size: 11px;
	font-weight: 600;
	letter-spacing: .16em;
	text-transform: uppercase;
}
.elodie table.variations th label .eh-chosen { margin-left: 6px; color: var(--eh-ink-2); font-family: var(--eh-font-body); font-weight: 400; letter-spacing: 0; text-transform: none; font-size: 13px; }
.elodie table.variations select.eh-replaced { position: absolute !important; width: 1px !important; height: 1px !important; opacity: 0; pointer-events: none; }
.elodie table.variations select:not(.eh-replaced) { height: 46px; width: 100%; border: 1px solid var(--eh-line); border-radius: 0; padding: 0 12px; }
.eh-options { display: flex; flex-wrap: wrap; gap: 8px; }
.eh-option {
	min-height: 42px;
	padding: 0 16px;
	border: 1px solid var(--eh-line);
	background: var(--eh-bg);
	color: var(--eh-ink);
	font-size: 13px;
	cursor: pointer;
	transition: border-color .2s, background .2s, color .2s;
}
.eh-option:hover { border-color: var(--eh-ink); }
.eh-option[aria-pressed="true"] { background: var(--eh-ink); border-color: var(--eh-ink); color: var(--eh-on-dark); }
.eh-option:disabled { color: var(--eh-muted); text-decoration: line-through; cursor: not-allowed; }
.elodie .woocommerce-variation-price { margin-bottom: 12px; }
.elodie .woocommerce-variation-price .price { font-size: 18px !important; }
.elodie .single_variation_wrap { margin-top: 4px; }

.eh-accordions { border-top: 1px solid var(--eh-line); }
.eh-accordion { border-bottom: 1px solid var(--eh-line); }
.eh-accordion summary {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 18px 0;
	list-style: none;
	cursor: pointer;
	font-family: var(--eh-font-display);
	font-size: 12px;
	font-weight: 600;
	letter-spacing: .14em;
	text-transform: uppercase;
}
.eh-accordion summary::-webkit-details-marker { display: none; }
.eh-accordion summary .eh-icon { transition: transform .3s var(--eh-ease); }
.eh-accordion[open] summary .eh-icon { transform: rotate(45deg); }
.eh-accordion__body { padding: 0 0 20px; color: var(--eh-ink-2); font-size: 14px; }
.eh-accordion__body p { margin: 0 0 12px; }
.eh-accordion__body ul { margin: 0 0 12px 18px; padding: 0; }
.eh-accordion__body li { margin-bottom: 4px; }
.eh-accordion__body a { text-decoration: underline; text-underline-offset: 3px; }
.eh-specs { margin: 0; }
.eh-specs div { display: grid; grid-template-columns: 140px 1fr; gap: 12px; padding: 6px 0; }
.eh-specs dt { color: var(--eh-muted); font-weight: 400; }
.eh-specs dd { margin: 0; color: var(--eh-ink); }
.eh-accordion #reviews h2 { font-size: 15px; text-transform: none; }
.eh-accordion #review_form_wrapper input, .eh-accordion #review_form_wrapper textarea { border: 1px solid var(--eh-line); border-radius: 0; width: 100%; padding: 10px 12px; }
.eh-accordion .comment-reply-title { display: block; font-family: var(--eh-font-display); font-size: 13px; font-weight: 600; margin-bottom: 10px; }

.eh-worn .eh-rail { display: flex; }
.eh-worn .eh-rail__item { flex: none; }
.eh-worn .eh-rail__item { height: clamp(360px, 60vw, 480px); }
.eh-worn .eh-reel { aspect-ratio: 9 / 16; }
.eh-worn__photo img { height: 100% !important; width: auto; max-width: none; object-fit: cover; background: var(--eh-soft); }

.eh-sticky {
	position: fixed;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 40;
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 10px 16px calc(10px + env(safe-area-inset-bottom));
	background: var(--eh-bg);
	border-top: 1px solid var(--eh-line);
	transform: translateY(100%);
	transition: transform .35s var(--eh-ease);
}
.eh-sticky.is-shown { transform: none; }
.eh-sticky__info { flex: 1; min-width: 0; }
.eh-sticky__name { display: block; font-size: 13px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.eh-sticky__price .price, .eh-sticky__price { font-size: 13px; font-weight: 600; }
.eh-sticky .eh-btn { min-height: 46px; padding: 0 22px; }
@media (min-width: 1000px) { .eh-sticky { display: none; } }

/* image zoom */
.eh-zoom {
	position: fixed;
	inset: 0;
	z-index: 200;
	display: flex;
	align-items: center;
	justify-content: center;
	background: rgba(255, 255, 255, .98);
	cursor: zoom-out;
}
.eh-zoom img { max-width: 100vw; max-height: 100vh; object-fit: contain; }
.eh-zoom .eh-iconbtn { position: absolute; top: 12px; right: 12px; }

/* ------------------------------------------------------------------ pages, cart, checkout, account */

.elodie .page .entry-header,
.elodie.page .entry-header { max-width: 760px; margin: clamp(32px, 5vw, 64px) auto 24px; }
.elodie.page .entry-title {
	font-size: clamp(32px, 5vw, 64px);
	font-weight: 600;
	letter-spacing: -0.03em;
	text-transform: uppercase;
}
.elodie.page:not(.woocommerce-cart):not(.woocommerce-checkout):not(.woocommerce-account) .entry-content { max-width: 760px; margin: 0 auto; font-size: 16px; }
.elodie.page .entry-content h2 { font-size: 22px; margin: 36px 0 12px; }
.elodie.page .entry-content p a, .elodie.page .entry-content li a { text-decoration: underline; text-underline-offset: 3px; }
.elodie.woocommerce-cart .entry-content a, .elodie.woocommerce-checkout .entry-content a { text-decoration: none; }
/* GeneratePress pulls wide blocks (cart, checkout) outside the content box */
.elodie .entry-content > .alignwide, .elodie .entry-content > .alignfull { width: auto !important; max-width: none !important; margin-left: 0 !important; margin-right: 0 !important; }
.elodie.woocommerce-cart .entry-header, .elodie.woocommerce-checkout .entry-header, .elodie.woocommerce-account .entry-header { max-width: none; }

.elodie input[type="text"], .elodie input[type="email"], .elodie input[type="tel"], .elodie input[type="password"], .elodie input[type="number"], .elodie textarea, .elodie select {
	border-radius: 0;
}
.elodie .wc-block-components-text-input input, .elodie .wc-block-components-combobox input, .elodie .wc-blocks-components-select__select, .elodie .wc-block-components-textarea { border-radius: 0 !important; }
.elodie .wc-block-components-product-name { font-size: 14px; }
.elodie .wc-block-cart__submit-button, .elodie .wc-block-components-checkout-place-order-button { width: 100%; }
.elodie .wc-block-components-title, .elodie .wc-block-cart__totals-title {
	font-family: var(--eh-font-display) !important;
	font-size: 12px !important;
	font-weight: 600 !important;
	letter-spacing: .14em !important;
	text-transform: uppercase !important;
}
.elodie .woocommerce-MyAccount-navigation ul { margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--eh-line); }
.elodie .woocommerce-MyAccount-navigation li { border-bottom: 1px solid var(--eh-line); }
.elodie .woocommerce-MyAccount-navigation a { display: block; padding: 12px 0; font-size: 14px; }
.elodie .woocommerce-MyAccount-navigation .is-active a { font-weight: 600; }

@media (prefers-reduced-motion: reduce) {
	.elodie *, .elodie *::before, .elodie *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}
