/*
Theme Name: El Eman Perfumes
Author: El Eman Perfumes Studio
Description: A live-ready luxury perfume storefront with WooCommerce catalog, product, cart, checkout, account, client-care, USD pricing, and configurable top banners.
Version: 3.9.8
Requires at least: 6.4
Tested up to: 6.8
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: maison-sillage
Tags: e-commerce, custom-logo, custom-menu, featured-images, full-width-template, translation-ready
Update URI: false
*/

:root {
	--ink: #251f17;
	--paper: #f7f4ee;
	--cream: #fffdf8;
	--sand: #e7d29b;
	--plum: #4a3818;
	--plum-mid: #b8892f;
	--lavender: #f0e4c7;
	--gold: #d6ad55;
	--accent: #c89a3f;
	--accent-soft: #f2d98f;
	--muted: #746b5d;
	--line: rgba(74, 56, 24, .16);
	--page-gutter: clamp(22px, 4.5vw, 78px);
	--serif: Georgia, "Times New Roman", serif;
	--sans: Arial, Helvetica, sans-serif;
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; background: #b8892f; }
body { margin: 0; overflow-x: hidden; background: var(--paper); color: var(--ink); font-family: var(--sans); -webkit-font-smoothing: antialiased; }
body.menu-open, body.search-open { overflow: hidden; }
img { max-width: 100%; height: auto; }
button, input, select, textarea { font: inherit; }
button { border-radius: 0; }
a { color: inherit; text-decoration: none; }
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible { outline: 2px solid var(--gold); outline-offset: 3px; }
[hidden] { display: none !important; }
.screen-reader-text { width: 1px; height: 1px; padding: 0; position: absolute; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.sillage-js .revealItem { opacity: 0; transform: translateY(22px); transition: opacity .65s ease, transform .65s cubic-bezier(.2,.7,.2,1); }
.sillage-js .revealItem.is-visible { opacity: 1; transform: none; }

.announcement {
	min-height: 34px;
	padding: 8px var(--page-gutter);
	display: flex;
	align-items: center;
	justify-content: space-between;
	position: relative;
	z-index: 30;
	background: linear-gradient(90deg, #17130d, #6f531f, #d6ad55);
	color: rgba(255,255,255,.9);
	font-size: 9px;
	letter-spacing: .13em;
	text-transform: uppercase;
}
.siteHeader {
	height: 88px;
	position: absolute;
	top: 34px;
	left: 0;
	right: 0;
	z-index: 25;
	color: #fff8e7;
	background: linear-gradient(90deg, rgba(82,60,22,.97) 0%, rgba(142,104,35,.97) 56%, rgba(214,173,85,.98) 100%);
	border-bottom: 1px solid rgba(255,248,229,.34);
	backdrop-filter: blur(10px);
	box-shadow: 0 10px 34px rgba(74,56,24,.16);
}
.siteHeader--solid { position: relative; top: auto; background: linear-gradient(90deg, #523c16 0%, #8e6823 56%, #d6ad55 100%); }
.headerInner {
	width: 100%;
	height: 100%;
	padding: 0 var(--page-gutter);
	display: grid;
	grid-template-columns: minmax(170px, 1fr) auto minmax(170px, 1fr);
	align-items: center;
	gap: 30px;
}
.brandLogoSpacer { display: block; width: 104px; height: 1px; }
.wordmark { display: inline-flex; flex-direction: column; width: max-content; line-height: .78; }
.wordmark span { margin-left: .35em; font-size: 7px; letter-spacing: .55em; }
.wordmark strong { font: 500 22px/1 var(--serif); letter-spacing: .12em; }
.custom-logo-link { display: block; width: max-content; }
.custom-logo { width: auto; max-width: 185px; max-height: 58px; object-fit: contain; }
.desktopNav .menu, .desktopNav ul { margin: 0; padding: 0; display: flex; align-items: center; gap: clamp(22px, 2.5vw, 42px); list-style: none; }
.desktopNav li { margin: 0; }
.desktopNav a { position: relative; font-size: 11px; letter-spacing: .04em; }
.desktopNav a::after { content: ""; height: 1px; position: absolute; left: 0; right: 100%; bottom: -8px; background: currentColor; transition: right .25s ease; }
.desktopNav a:hover::after { right: 0; }
.headerActions { justify-self: end; display: flex; align-items: center; gap: clamp(14px, 1.7vw, 28px); }
.textAction, .bagButton { padding: 9px 0; border: 0; background: transparent; color: inherit; font-size: 10px; letter-spacing: .04em; cursor: pointer; }
.bagButton { display: flex; align-items: center; gap: 8px; }
.bagButton span { width: 21px; height: 21px; display: grid; place-items: center; border: 1px solid rgba(255,255,255,.48); border-radius: 50%; font-size: 8px; }
.menuToggle { width: 30px; height: 28px; padding: 4px 0; display: none; flex-direction: column; justify-content: center; gap: 5px; border: 0; background: transparent; color: inherit; cursor: pointer; }
.menuToggle > span:not(.screen-reader-text) { width: 22px; height: 1px; display: block; background: currentColor; transition: transform .25s ease, opacity .25s ease; }
.menu-open .menuToggle > span:nth-child(1) { transform: translateY(6px) rotate(45deg); }
.menu-open .menuToggle > span:nth-child(2) { opacity: 0; }
.menu-open .menuToggle > span:nth-child(3) { transform: translateY(-6px) rotate(-45deg); }
body.admin-bar .siteHeader { top: 66px; }
body.admin-bar .siteHeader--solid { top: auto; }

.searchPanel {
	position: fixed;
	inset: 0;
	z-index: 100;
	display: grid;
	place-items: start stretch;
	background: rgba(28,22,15,.76);
	backdrop-filter: blur(8px);
}
.searchPanelInner {
	min-height: 290px;
	padding: 68px var(--page-gutter);
	position: relative;
	display: grid;
	grid-template-columns: minmax(160px, .6fr) minmax(320px, 1.4fr);
	align-items: end;
	gap: 7vw;
	background: var(--paper);
}
.searchPanelInner > p { margin: 0 0 13px; color: var(--muted); font: italic 22px/1.4 var(--serif); }
.searchPanel form { display: flex; align-items: flex-end; border-bottom: 1px solid var(--ink); }
.searchPanel input[type="search"] { width: 100%; min-width: 0; padding: 12px 0 14px; border: 0; background: transparent; color: var(--ink); font: 400 clamp(28px, 4vw, 52px)/1.1 var(--serif); outline: 0; }
.searchPanel input::placeholder { color: #a59c94; }
.searchPanel form button { min-width: 100px; padding: 18px 0; display: flex; justify-content: space-between; border: 0; background: transparent; color: var(--ink); font-size: 10px; text-transform: uppercase; cursor: pointer; }
.searchClose { width: 44px; height: 44px; position: absolute; top: 24px; right: var(--page-gutter); border: 1px solid var(--line); border-radius: 50%; background: transparent; color: var(--ink); font-size: 26px; line-height: 1; cursor: pointer; }

.hero { min-height: 760px; height: calc(100svh - 34px); position: relative; overflow: hidden; background: #2d2415; color: #fff; }
.heroSlide { position: absolute; inset: 0; opacity: 0; visibility: hidden; transition: opacity .8s ease, visibility .8s ease; }
.heroSlide.is-active { opacity: 1; visibility: visible; }
.heroImage { position: absolute; inset: 0; background-image: var(--hero-desktop); background-position: var(--hero-position, center); background-size: cover; background-repeat: no-repeat; transform: scale(1.025); transition: transform 8s ease; }
.heroSlide.is-active .heroImage { transform: scale(1); }
.heroShade { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(32,24,13,.84) 0%, rgba(109,78,26,.34) 48%, rgba(214,173,85,.10) 78%), linear-gradient(0deg, rgba(22,16,9,.56), transparent 50%); }
.heroContent { max-width: 760px; position: absolute; z-index: 1; left: clamp(26px, 8vw, 135px); top: 54%; transform: translateY(-45%); }
.eyebrow { margin: 0 0 20px; color: #887f77; font-size: 9px; font-weight: 700; letter-spacing: .25em; text-transform: uppercase; }
.eyebrow.light { color: rgba(255,255,255,.55); }
.hero h1, .centerHeading h2, .storyCopy h2, .collectionStoryCopy h2, .brandStatement p, .insiderCopy h2, .paymentStrip h2, .archiveHeader h1, .singleContent h1, .notFound h1 { font-family: var(--serif); font-weight: 400; letter-spacing: -.045em; }
.hero h1 { max-width: 760px; margin: 0; font-size: clamp(58px, 7vw, 108px); line-height: .91; }
.heroText { max-width: 455px; margin: 28px 0 30px; color: rgba(255,255,255,.72); font-size: 14px; line-height: 1.75; }
.editorialLink, .textLink { width: max-content; padding-bottom: 6px; display: inline-flex; align-items: center; gap: 48px; border-bottom: 1px solid currentColor; font-size: 10px; letter-spacing: .11em; text-transform: uppercase; transition: gap .25s ease; }
.editorialLink:hover, .textLink:hover { gap: 58px; }
.editorialLink--light { color: #fff; }
.heroIndex { position: absolute; z-index: 2; right: var(--page-gutter); bottom: 31px; display: flex; gap: 26px; color: rgba(255,255,255,.65); font-size: 9px; letter-spacing: .13em; text-transform: uppercase; }
.heroControls { position: absolute; z-index: 4; left: var(--page-gutter); bottom: 22px; display: flex; align-items: center; gap: 12px; }
.heroArrow { width: 38px; height: 38px; padding: 0; display: grid; place-items: center; border: 1px solid rgba(255,255,255,.4); border-radius: 50%; background: rgba(25,19,11,.24); color: #fff; cursor: pointer; transition: background .2s ease; }
.heroArrow:hover { background: rgba(255,255,255,.18); }
.heroDots { display: flex; gap: 6px; }
.heroDots button { width: 22px; height: 12px; padding: 0; position: relative; border: 0; background: transparent; cursor: pointer; }
.heroDots button::after { content: ""; height: 1px; position: absolute; left: 0; right: 0; top: 50%; background: rgba(255,255,255,.38); }
.heroDots button[aria-current="true"]::after { height: 2px; background: #fff; }

.storeSection, .familySection, .offersSection, .journalSection { padding: clamp(90px, 10vw, 150px) var(--page-gutter); }
.storeSection { background: var(--cream); }
.centerHeading { max-width: 720px; margin: 0 auto clamp(42px, 5vw, 70px); position: relative; text-align: center; }
.centerHeading h2 { margin: 0; font-size: clamp(46px, 5.6vw, 78px); line-height: .97; }
.centerHeading .textLink { margin-top: 27px; }
.centerHeading--light { color: #fff; }
.productGrid { max-width: 1450px; margin: 0 auto; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr)); gap: clamp(14px, 1.7vw, 28px); }
.productCard { min-width: 0; }
.productVisual { aspect-ratio: 4 / 5.25; position: relative; overflow: hidden; background: #e8e0d7; }
.productVisual > a:first-child { width: 100%; height: 100%; display: block; }
.productVisual img { width: 100%; height: 100%; display: block; object-fit: cover; transition: transform .6s cubic-bezier(.2,.7,.2,1), filter .45s ease; }
.productCard:hover .productVisual img { transform: scale(1.04); filter: saturate(1.08); }
.productBadge { padding: 8px 10px; position: absolute; top: 13px; left: 13px; background: var(--accent); color: #fff; font-size: 8px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.productQuickAdd { padding: 13px 17px; position: absolute; left: 14px; right: 14px; bottom: 14px; display: flex; justify-content: center; background: rgba(255,253,249,.95); color: var(--ink); font-size: 9px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; opacity: 0; transform: translateY(8px); transition: opacity .25s ease, transform .25s ease, background .2s ease; }
.productQuickAdd:hover { background: var(--accent-soft); color: var(--ink); }
.productCard:hover .productQuickAdd, .productQuickAdd:focus-visible { opacity: 1; transform: none; }
.productQuickAdd.added::after { content: " ✓"; margin-left: 5px; }
.productMeta { padding: 17px 1px 0; display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
.productMeta h3 { margin: 0 0 6px; font: 400 20px/1.2 var(--serif); }
.productMeta p { margin: 0; color: #817870; font-size: 8px; letter-spacing: .1em; line-height: 1.5; text-transform: uppercase; }
.productPrice { flex: 0 0 auto; color: var(--ink); font-size: 11px; line-height: 1.4; }
.productPrice del { color: #998f87; font-weight: 400; }
.productPrice ins { color: inherit; text-decoration: none; }
.maisonSecondaryPrice { margin-top: 3px; display: block; color: var(--plum-mid); font: 700 8px/1.25 var(--sans); letter-spacing: .05em; white-space: nowrap; }

.familySection { background: var(--paper); }
.familyPills { max-width: 1040px; margin: -24px auto 55px; display: flex; flex-wrap: wrap; justify-content: center; gap: 9px; }
.familyPills a { padding: 11px 19px; border: 1px solid var(--line); border-radius: 99px; background: rgba(255,255,255,.4); font-size: 9px; letter-spacing: .08em; text-transform: uppercase; transition: background .2s ease, color .2s ease, border-color .2s ease; }
.familyPills a:hover { border-color: var(--accent); background: linear-gradient(115deg, var(--plum-mid), var(--accent)); color: #fff; transform: translateY(-2px); }
.familyVisuals { max-width: 1450px; margin: auto; display: grid; grid-template-columns: 1.2fr .9fr .9fr; gap: 16px; }
.familyCard { height: clamp(390px, 44vw, 610px); position: relative; overflow: hidden; color: #fff; }
.familyCard img { width: 100%; height: 100%; object-fit: cover; transition: transform .8s cubic-bezier(.2,.7,.2,1); }
.familyCard:hover img { transform: scale(1.04); }
.familyCardShade { position: absolute; inset: 0; background: linear-gradient(0deg, rgba(20,12,20,.68), transparent 60%); }
.familyCardIndex { position: absolute; top: 22px; left: 22px; font-size: 9px; letter-spacing: .13em; }
.familyCard strong { position: absolute; left: 25px; right: 25px; bottom: 54px; font: 400 clamp(30px, 3.2vw, 52px)/1 var(--serif); }
.familyCard small { position: absolute; left: 27px; bottom: 25px; font-size: 8px; letter-spacing: .11em; text-transform: uppercase; }

.storySection { min-height: 760px; display: grid; grid-template-columns: 1.08fr .92fr; background: var(--sand); }
.storyGallery { min-height: 760px; padding: clamp(48px, 7vw, 110px); position: relative; overflow: hidden; background: linear-gradient(145deg, #d9b26f, #f1d8b4 55%, #e78a71); }
.storyImage { position: absolute; display: block; object-fit: cover; box-shadow: 0 28px 70px rgba(34,21,30,.15); }
.storyImage--large { width: 55%; height: 70%; left: 14%; top: 12%; }
.storyImage--small { width: 35%; height: 45%; right: 11%; bottom: 8%; border: 8px solid rgba(247,243,237,.58); }
.storyMonogram { position: absolute; left: 7%; bottom: 2%; color: rgba(49,27,41,.18); font: 400 clamp(100px, 16vw, 250px)/1 var(--serif); letter-spacing: -.12em; }
.storyCopy { padding: clamp(65px, 8vw, 135px); display: flex; flex-direction: column; justify-content: center; background: #f1e8dd; }
.storyCopy h2 { max-width: 600px; margin: 0; font-size: clamp(48px, 5.7vw, 82px); line-height: .96; }
.storyCopy > p:not(.eyebrow) { max-width: 550px; margin: 30px 0; color: #655d57; font-size: 14px; line-height: 1.85; }

.offersSection { background: radial-gradient(circle at 88% 18%, rgba(214,173,85,.28), transparent 32%), linear-gradient(135deg, #1b160f, #4a3818 62%, #8b6722); color: #fff; }
.offerFilters { margin: -35px auto 48px; display: flex; justify-content: center; gap: 8px; }
.offerFilters button { padding: 10px 18px; border: 1px solid rgba(255,255,255,.22); border-radius: 99px; background: transparent; color: rgba(255,255,255,.7); font-size: 9px; text-transform: uppercase; cursor: pointer; }
.offerFilters button[aria-pressed="true"] { border-color: #fff; background: #fff; color: var(--plum); }
.productGrid--offers .productVisual { background: #eee2c8; }
.productGrid--offers .productMeta h3, .productGrid--offers .productPrice { color: #fff; }
.productGrid--offers .maisonSecondaryPrice { color: var(--accent-soft); }
.productGrid--offers .productMeta p { color: rgba(255,255,255,.48); }
.offerCard.is-filtered-out { display: none; }

.collectionStories { padding: clamp(95px, 11vw, 170px) var(--page-gutter); display: grid; grid-template-columns: 1fr 1fr; gap: clamp(35px, 6vw, 100px); background: var(--cream); }
.collectionStory:nth-child(2) { margin-top: 72px; }
.collectionStoryImage { aspect-ratio: 4 / 5; display: block; overflow: hidden; background: #e6ddd4; }
.collectionStoryImage img { width: 100%; height: 100%; display: block; object-fit: cover; transition: transform .8s ease; }
.collectionStory:hover .collectionStoryImage img { transform: scale(1.035); }
.collectionStoryCopy { max-width: 610px; padding: 34px 1px 0; }
.collectionStoryCopy h2 { margin: 0; font-size: clamp(40px, 4.2vw, 66px); line-height: .97; }
.collectionStoryCopy > p:not(.eyebrow) { max-width: 480px; margin: 21px 0 25px; color: var(--muted); font-size: 13px; line-height: 1.7; }

.journalSection { background: var(--paper); border-top: 1px solid var(--line); }
.journalGrid { max-width: 1450px; margin: auto; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: clamp(17px, 2vw, 32px); }
.journalImage { aspect-ratio: 4 / 3.5; position: relative; display: block; overflow: hidden; background: #e6ddd4; }
.journalImage img { width: 100%; height: 100%; display: block; object-fit: cover; transition: transform .6s ease; }
.journalCard:hover .journalImage img { transform: scale(1.035); }
.journalImage span { width: 31px; height: 31px; position: absolute; top: 12px; left: 12px; display: grid; place-items: center; border-radius: 50%; background: rgba(255,253,249,.9); font-size: 8px; }
.journalCard > p { margin: 17px 0 10px; color: #847b73; font-size: 8px; letter-spacing: .12em; text-transform: uppercase; }
.journalCard h3 { margin: 0; font: 400 clamp(21px, 2vw, 29px)/1.15 var(--serif); }

.instagramSection { background: var(--cream); }
.instagramHeading { padding: 29px var(--page-gutter); display: flex; align-items: center; justify-content: space-between; border-top: 1px solid var(--line); font-size: 9px; letter-spacing: .13em; text-transform: uppercase; }
.instagramHeading a { font: 400 19px/1 var(--serif); letter-spacing: 0; text-transform: none; }
.instagramGrid { display: grid; grid-template-columns: repeat(6, 1fr); }
.instagramGrid a { aspect-ratio: 1; position: relative; display: block; overflow: hidden; background: #e4dcd3; }
.instagramGrid img { width: 100%; height: 100%; display: block; object-fit: cover; transition: transform .5s ease, filter .5s ease; }
.instagramGrid a:hover img { transform: scale(1.06); filter: brightness(.78); }
.instagramGrid span { position: absolute; left: 50%; top: 50%; color: #fff; font-size: 28px; opacity: 0; transform: translate(-50%,-50%); transition: opacity .25s ease; }
.instagramGrid a:hover span { opacity: 1; }

.brandStatement { padding: clamp(100px, 13vw, 210px) var(--page-gutter); display: flex; flex-direction: column; align-items: center; gap: 30px; background: var(--cream); text-align: center; }
.brandStatement > span { color: var(--gold); font-size: 21px; }
.brandStatement p { max-width: 1150px; margin: 0; font-size: clamp(42px, 6vw, 90px); line-height: 1.02; }

.insiderSection { min-height: 420px; padding: clamp(65px, 8vw, 125px) var(--page-gutter); display: grid; grid-template-columns: 1.1fr .9fr; gap: 9vw; align-items: center; background: radial-gradient(circle at 80% 20%, rgba(244,219,155,.22), transparent 28%), linear-gradient(125deg, #18130d, #4a3818 58%, #b8892f); color: #fff; }
.insiderCopy h2 { margin: 0; font-size: clamp(50px, 6vw, 84px); line-height: .95; }
.insiderCopy > p:last-child { max-width: 550px; margin: 24px 0 0; color: rgba(255,255,255,.62); font-size: 13px; line-height: 1.75; }
.insiderAction { min-height: 110px; padding: 24px 27px; display: flex; flex-direction: column; justify-content: space-between; border: 1px solid rgba(255,255,255,.36); color: #fff; transition: background .25s ease, color .25s ease; }
.insiderAction span { color: rgba(255,255,255,.52); font-size: 8px; letter-spacing: .14em; text-transform: uppercase; }
.insiderAction strong { display: flex; justify-content: space-between; font: 400 20px/1.2 var(--serif); }
.insiderAction:hover { background: #fff; color: var(--plum); }
.insiderAction:hover span { color: #76677a; }

.paymentStrip { padding: clamp(70px, 8vw, 115px) var(--page-gutter); display: grid; grid-template-columns: 1.25fr .75fr; gap: 8vw; align-items: center; background: linear-gradient(115deg, #17130d, #3b2d16 64%, #8e6824); color: #fff; }
.paymentStrip h2 { margin: 0; font-size: clamp(45px, 5.2vw, 75px); line-height: .96; }
.paymentStrip > div > p:last-child { max-width: 560px; margin: 24px 0 0; color: rgba(255,255,255,.56); font-size: 13px; line-height: 1.75; }
.whishCard { width: 100%; min-height: 112px; padding: 22px; display: flex; align-items: center; gap: 16px; background: var(--paper); color: var(--ink); transition: transform .25s ease, background .25s ease; }
.whishCard:hover { transform: translateY(-3px); background: #fff; }
.whishIcon { width: 56px; height: 56px; display: grid; place-items: center; flex: 0 0 56px; border-radius: 18px; background: var(--plum); color: #fff; font: italic 700 24px var(--serif); }
.whishLabel { display: flex; flex-direction: column; gap: 5px; }
.whishLabel strong { font: 400 21px var(--serif); }
.whishLabel small { color: #7a716a; font-size: 8px; letter-spacing: .1em; text-transform: uppercase; }
.whishCard b { margin-left: auto; font-weight: 400; }

.serviceStrip { display: grid; grid-template-columns: repeat(3, 1fr); background: var(--paper); border-bottom: 1px solid var(--line); }
.serviceStrip > div { min-height: 132px; padding: 26px var(--page-gutter); display: grid; grid-template-columns: auto 1fr; grid-template-rows: auto auto; column-gap: 18px; align-content: center; border-right: 1px solid var(--line); }
.serviceStrip > div:last-child { border-right: 0; }
.serviceStrip span { grid-row: 1 / 3; color: #a0958d; font-size: 8px; letter-spacing: .1em; }
.serviceStrip strong { font: 400 19px/1.2 var(--serif); }
.serviceStrip small { margin-top: 5px; color: var(--muted); font-size: 9px; }

.siteFooter { padding: 80px var(--page-gutter) 30px; background: #17130d; color: #fff; }
.footerTop { padding-bottom: 55px; display: flex; justify-content: space-between; align-items: flex-end; gap: 40px; border-bottom: 1px solid rgba(255,255,255,.11); }
.footerBrand { display: flex; flex-direction: column; align-items: flex-start; }
.footerBrand > span { margin-left: .45em; color: rgba(255,255,255,.46); font-size: 7px; letter-spacing: .55em; }
.footerBrand > strong { font: 400 clamp(31px, 4.1vw, 52px)/1 var(--serif); letter-spacing: .1em; }
.footerBrand p { margin: 14px 0 0; color: rgba(255,255,255,.42); font-size: 11px; }
.footerPromise { max-width: 620px; display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 12px 30px; color: rgba(255,255,255,.62); font-size: 8px; letter-spacing: .12em; text-transform: uppercase; }
.footerPromise span::before { content: "✦"; margin-right: 9px; color: var(--gold); }
.footerLinks { padding: 55px 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: 45px; }
.footerLinks > div { display: flex; flex-direction: column; align-items: flex-start; gap: 13px; font-size: 11px; }
.footerLinks > div > span { margin-bottom: 9px; color: rgba(255,255,255,.35); font-size: 8px; letter-spacing: .18em; text-transform: uppercase; }
.footerLinks ul { margin: 0; padding: 0; display: flex; flex-direction: column; gap: 13px; list-style: none; }
.footerLinks a { width: max-content; color: rgba(255,255,255,.72); transition: color .2s ease; }
.footerLinks a:hover { color: #fff; }
.copyright { margin: 0; padding-top: 25px; border-top: 1px solid rgba(255,255,255,.1); color: rgba(255,255,255,.3); font-size: 8px; letter-spacing: .13em; text-transform: uppercase; }
.sillageToast { position: fixed; z-index: 120; left: 50%; bottom: 25px; padding: 14px 21px; background: var(--paper); color: var(--ink); box-shadow: 0 15px 50px rgba(0,0,0,.2); font-size: 9px; letter-spacing: .1em; text-transform: uppercase; opacity: 0; visibility: hidden; transform: translate(-50%, 14px); transition: .25s ease; }
.sillageToast.is-visible { opacity: 1; visibility: visible; transform: translate(-50%, 0); }

.primaryButton { width: max-content; min-width: 225px; padding: 16px 18px; display: inline-flex; align-items: center; justify-content: space-between; background: var(--paper); color: var(--ink); font-size: 9px; letter-spacing: .1em; text-transform: uppercase; }
.primaryButton.darkButton { background: linear-gradient(115deg, var(--plum), var(--plum-mid)); color: #fff; transition: transform .2s ease, box-shadow .2s ease, background .2s ease; }
.primaryButton.darkButton:hover { background: linear-gradient(115deg, var(--plum-mid), var(--accent)); box-shadow: 0 10px 28px rgba(74,56,24,.22); transform: translateY(-2px); }
.contentShell { max-width: 1420px; min-height: 60vh; margin: 0 auto; padding: 110px var(--page-gutter) 130px; }
.archiveHeader { margin-bottom: 58px; }
.archiveHeader h1, .singleContent h1, .notFound h1 { margin: 0; font-size: clamp(48px, 6vw, 88px); line-height: .95; }
.postGrid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 34px; }
.postImage { aspect-ratio: 4 / 3; display: block; overflow: hidden; background: #e7ded4; }
.postImage img { width: 100%; height: 100%; object-fit: cover; transition: transform .4s ease; }
.postCard:hover .postImage img { transform: scale(1.03); }
.postDate { margin: 20px 0 10px; color: #817970; font-size: 8px; letter-spacing: .1em; text-transform: uppercase; }
.postCard h2 { margin: 0; font: 400 30px/1.1 var(--serif); }
.postCard > p:last-child { color: #70685f; font-size: 13px; line-height: 1.7; }
.singleContent { max-width: 1000px; }
.singleContent h1 { margin-bottom: 42px; }
.singleContent .entry-content, .singleContent article { color: #554f49; font-size: 16px; line-height: 1.9; }
.singleContent article > p, .singleContent article > ul, .singleContent article > ol { max-width: 780px; }
.singleHero { margin: 0 0 45px; }
.notFound { min-height: 70vh; padding: 13vh var(--page-gutter); display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; }
.notFound > p:not(.eyebrow) { color: var(--muted); }
.notFound .primaryButton { margin-top: 25px; }

/* WooCommerce */
.commerceShell { max-width: 1500px; }
.woocommerce .woocommerce-breadcrumb { margin-bottom: 36px; color: #7a716a; font-size: 9px; letter-spacing: .09em; text-transform: uppercase; }
.woocommerce-products-header__title.page-title, .woocommerce div.product .product_title, .woocommerce-cart h1, .woocommerce-checkout h1, .woocommerce-account h1 { font: 400 clamp(42px, 5vw, 72px)/1 var(--serif); letter-spacing: -.04em; }

/* Custom catalog sorting — replaces the browser-native dropdown. */
.woocommerce .woocommerce-result-count { margin: 8px 0 28px; color: var(--muted); font-size: 10px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.woocommerce .woocommerce-ordering { position: relative; z-index: 24; margin: 0 0 28px; }
.woocommerce .woocommerce-ordering .emanSortNative { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0, 0, 0, 0) !important; white-space: nowrap !important; border: 0 !important; opacity: 0 !important; pointer-events: none !important; }
.emanSort { position: relative; width: 268px; max-width: 100%; }
.emanSort__trigger { width: 100%; min-height: 56px; padding: 8px 14px 8px 17px; display: grid; grid-template-columns: auto 1fr 34px; align-items: center; gap: 12px; border: 1px solid rgba(74, 56, 24, .14); border-radius: 18px; outline: 0; background: rgba(255, 250, 241, .94); color: var(--ink); box-shadow: 0 12px 32px rgba(74, 56, 24, .08); cursor: pointer; text-align: left; transition: transform .22s ease, border-color .22s ease, box-shadow .22s ease, background .22s ease; }
.emanSort__trigger:hover { transform: translateY(-2px); border-color: rgba(200, 154, 63, .36); background: #fffdf8; box-shadow: 0 16px 38px rgba(74, 56, 24, .13); }
.emanSort__trigger:focus-visible { border-color: var(--accent); box-shadow: 0 0 0 4px rgba(200, 154, 63, .13), 0 16px 38px rgba(74, 56, 24, .12); }
.emanSort.is-open .emanSort__trigger { border-color: rgba(74, 56, 24, .28); background: #fffdf8; box-shadow: 0 15px 40px rgba(74, 56, 24, .13); }
.emanSort__label { color: var(--plum-mid); font-size: 8px; font-weight: 800; letter-spacing: .16em; line-height: 1; text-transform: uppercase; }
.emanSort__value { min-width: 0; overflow: hidden; color: var(--ink); font-size: 12px; font-weight: 700; letter-spacing: -.01em; text-overflow: ellipsis; white-space: nowrap; }
.emanSort__icon { width: 34px; height: 34px; display: grid; place-items: center; border-radius: 11px; background: linear-gradient(135deg, rgba(74, 56, 24, .09), rgba(200, 154, 63, .12)); position: relative; }
.emanSort__icon::before { content: ""; width: 7px; height: 7px; border-right: 1.5px solid var(--plum); border-bottom: 1.5px solid var(--plum); transform: translateY(-2px) rotate(45deg); transition: transform .22s ease; }
.emanSort.is-open .emanSort__icon::before { transform: translateY(2px) rotate(225deg); }
.emanSort__icon span { display: none; }
.emanSort__menu { position: absolute; z-index: 60; top: calc(100% + 10px); right: 0; width: min(300px, calc(100vw - 34px)); padding: 9px; border: 1px solid rgba(74, 56, 24, .12); border-radius: 20px; background: rgba(255, 253, 248, .98); box-shadow: 0 24px 65px rgba(74, 56, 24, .18); backdrop-filter: blur(18px); -webkit-backdrop-filter: blur(18px); transform-origin: top right; }
.emanSort__menu[hidden] { display: none !important; }
.emanSort.is-open .emanSort__menu { animation: emanSortIn .18s cubic-bezier(.2,.8,.2,1) both; }
@keyframes emanSortIn { from { opacity: 0; transform: translateY(-7px) scale(.975); } to { opacity: 1; transform: translateY(0) scale(1); } }
.emanSort__option { position: relative; width: 100%; min-height: 48px; padding: 0 48px 0 15px; display: flex; align-items: center; border: 0; border-radius: 13px; outline: 0; background: transparent; color: var(--ink); cursor: pointer; text-align: left; transition: color .16s ease, background .16s ease, transform .16s ease; }
.emanSort__option + .emanSort__option { margin-top: 2px; }
.emanSort__option:hover, .emanSort__option:focus-visible { background: rgba(74, 56, 24, .065); color: var(--plum); transform: translateX(2px); }
.emanSort__option[aria-selected="true"] { background: linear-gradient(100deg, rgba(74, 56, 24, .095), rgba(200, 154, 63, .07)); color: var(--plum); }
.emanSort__optionText { font-size: 12px; font-weight: 700; letter-spacing: -.01em; }
.emanSort__check { position: absolute; right: 14px; top: 50%; width: 23px; height: 23px; display: grid; place-items: center; border-radius: 50%; border: 1px solid rgba(74, 56, 24, .12); transform: translateY(-50%); transition: border-color .16s ease, background .16s ease; }
.emanSort__check::after { content: ""; width: 6px; height: 10px; border-right: 1.7px solid transparent; border-bottom: 1.7px solid transparent; transform: translateY(-1px) rotate(45deg); }
.emanSort__option[aria-selected="true"] .emanSort__check { border-color: var(--plum); background: var(--plum); }
.emanSort__option[aria-selected="true"] .emanSort__check::after { border-color: #fff; }

.woocommerce ul.products { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 28px 20px; }
.woocommerce ul.products::before, .woocommerce ul.products::after { display: none; }
.woocommerce ul.products li.product { width: auto !important; margin: 0 !important; }
.woocommerce ul.products li.product a img { aspect-ratio: 4 / 5.25; margin: 0 0 17px; object-fit: cover; background: #e7ded4; transition: transform .45s ease, filter .45s ease; }
.woocommerce ul.products li.product:hover a img { transform: translateY(-3px); filter: saturate(1.08); }
.woocommerce ul.products li.product .woocommerce-loop-product__title { padding: 0; color: var(--ink); font: 400 21px/1.2 var(--serif); }
.woocommerce ul.products li.product .price { color: var(--ink); font-size: 11px; }
.woocommerce span.onsale { min-width: auto; min-height: auto; padding: 8px 10px; top: 12px; left: 12px; border-radius: 0; background: var(--accent); color: #fff; font-size: 8px; line-height: 1; text-transform: uppercase; }
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button, .woocommerce #respond input#submit, .wc-block-components-button { min-height: 48px; padding: 0 20px; display: inline-flex; align-items: center; justify-content: center; border: 0; border-radius: 0; background: linear-gradient(115deg, var(--plum), var(--plum-mid)); color: #fff; font-size: 9px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; transition: transform .2s ease, box-shadow .2s ease, background .2s ease; }
.woocommerce a.button:hover, .woocommerce button.button:hover, .woocommerce input.button:hover { background: linear-gradient(115deg, var(--plum-mid), var(--accent)); color: #fff; box-shadow: 0 10px 28px rgba(74,56,24,.22); transform: translateY(-1px); }
.woocommerce div.product { display: flow-root; }
.woocommerce div.product div.images img { background: #e7ded4; }
.woocommerce div.product p.price, .woocommerce div.product span.price { color: var(--ink); font: 400 24px var(--serif); }
.woocommerce div.product .maisonSecondaryPrice, .woocommerce table .maisonSecondaryPrice, .woocommerce .cart_totals .maisonSecondaryPrice, .woocommerce-checkout-review-order .maisonSecondaryPrice { color: var(--plum-mid); font: 700 9px/1.3 var(--sans); }
.woocommerce div.product .woocommerce-product-details__short-description { color: #686058; line-height: 1.8; }
.woocommerce .quantity .qty { min-height: 48px; border: 1px solid var(--line); }
.woocommerce form .form-row input.input-text, .woocommerce form .form-row textarea, .woocommerce form .form-row select { min-height: 48px; padding: 10px 12px; border: 1px solid #d4cbc2; border-radius: 0; background: #fff; }
.woocommerce table.shop_table { border: 1px solid var(--line); border-radius: 0; }
.woocommerce table.shop_table th, .woocommerce table.shop_table td { padding: 16px; border-color: var(--line); }
.woocommerce-checkout #payment { border-radius: 0; background: #ebe2d8; }
.woocommerce-checkout #payment div.payment_box { background: #ddd0c1; }
.woocommerce-checkout #payment div.payment_box::before { border-bottom-color: #ddd0c1; }
.woocommerce-message, .woocommerce-info, .woocommerce-error { border-top-color: var(--gold); background: #f0e8de; }
.woocommerce-message::before, .woocommerce-info::before { color: #9c7429; }
.woocommerce nav.woocommerce-pagination ul { border: 0; }
.woocommerce nav.woocommerce-pagination ul li { border: 0; }
.woocommerce nav.woocommerce-pagination ul li a, .woocommerce nav.woocommerce-pagination ul li span { min-width: 38px; min-height: 38px; display: grid; place-items: center; }
.woocommerce nav.woocommerce-pagination ul li span.current { background: var(--plum); color: #fff; }

@media (max-width: 1100px) {
	.headerInner { grid-template-columns: minmax(145px, .8fr) auto minmax(145px, .8fr); gap: 18px; }
	.desktopNav .menu, .desktopNav ul { gap: 20px; }
	.accountLink { display: none; }
	.familyVisuals { grid-template-columns: 1.15fr 1fr 1fr; }
	.storyCopy { padding: 7vw; }
	.journalGrid { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: 46px; }
	.woocommerce ul.products { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}


@media (max-width: 800px) {
	.woocommerce .woocommerce-result-count { float: none; margin: 0 0 12px; }
	.woocommerce .woocommerce-ordering { float: none; width: 100%; margin: 0 0 28px; }
	.emanSort { width: 100%; }
	.emanSort__trigger { min-height: 58px; border-radius: 17px; }
	.emanSort__menu { left: 0; right: auto; width: 100%; }

	body.admin-bar .siteHeader { top: 80px; }
	body.admin-bar .siteHeader--solid { top: auto; }
	.announcement { justify-content: center; text-align: center; font-size: 7px; }
	.announcementDesktop { display: none; }
	.siteHeader { height: 72px; }
	.headerInner { grid-template-columns: 34px 1fr auto; gap: 12px; }
	.menuToggle { display: flex; }
	.wordmark { justify-self: center; }
	.wordmark strong { font-size: 20px; }
	.custom-logo-link { justify-self: center; }
	.custom-logo { max-width: 145px; max-height: 46px; }
	.desktopNav {
		padding: 110px var(--page-gutter) 60px;
		position: fixed;
		inset: 34px 0 0;
		z-index: -1;
		background: var(--plum);
		opacity: 0;
		visibility: hidden;
		transform: translateY(-15px);
		transition: opacity .3s ease, visibility .3s ease, transform .3s ease;
	}
	.admin-bar .desktopNav { inset: 80px 0 0; }
	.menu-open .desktopNav { opacity: 1; visibility: visible; transform: none; }
	.desktopNav .menu, .desktopNav ul { align-items: flex-start; flex-direction: column; gap: 23px; }
	.desktopNav a { font: 400 42px/1 var(--serif); letter-spacing: -.03em; }
	.desktopNav a::after { display: none; }
	.headerActions { gap: 13px; }
	.textAction { font-size: 9px; }
	.accountLink { display: none; }
	.searchPanelInner { min-height: 320px; padding: 75px var(--page-gutter) 45px; grid-template-columns: 1fr; gap: 15px; }
	.searchPanelInner > p { font-size: 17px; }
	.searchPanel input[type="search"] { font-size: 33px; }
	.hero { min-height: 700px; height: calc(100svh - 34px); }
	.heroImage { background-image: var(--hero-mobile, var(--hero-desktop)); }
	.heroShade { background: linear-gradient(90deg, rgba(32,24,13,.84), rgba(74,56,24,.14)), linear-gradient(0deg, rgba(22,16,9,.60), transparent 62%); }
	.heroContent { left: var(--page-gutter); right: var(--page-gutter); top: 52%; transform: translateY(-43%); }
	.hero h1 { font-size: clamp(51px, 14vw, 74px); }
	.heroText { max-width: 360px; font-size: 12px; }
	.heroIndex { display: none; }
	.heroControls { right: var(--page-gutter); left: auto; }
	.storeSection, .familySection, .offersSection, .journalSection { padding-top: 85px; padding-bottom: 90px; }
	.centerHeading { margin-bottom: 43px; }
	.productGrid { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; }
	.productGrid::-webkit-scrollbar { display: none; }
	.productCard { flex: 0 0 min(78vw, 360px); scroll-snap-align: start; }
	.productQuickAdd { opacity: 1; transform: none; }
	.familyPills { margin-top: -16px; margin-bottom: 38px; justify-content: flex-start; flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; }
	.familyPills a { flex: 0 0 auto; }
	.familyVisuals { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; }
	.familyCard { min-width: min(82vw, 420px); height: 520px; scroll-snap-align: start; }
	.storySection { grid-template-columns: 1fr; }
	.storyGallery { min-height: 580px; }
	.storyCopy { padding: 85px var(--page-gutter) 95px; }
	.offerFilters { margin-top: -25px; }
	.collectionStories { grid-template-columns: 1fr; }
	.collectionStory:nth-child(2) { margin-top: 10px; }
	.collectionStoryImage { max-height: 720px; }
	.journalGrid { grid-template-columns: 1fr 1fr; gap: 38px 16px; }
	.instagramGrid { grid-template-columns: repeat(3, 1fr); }
	.brandStatement { padding-top: 105px; padding-bottom: 105px; }
	.insiderSection, .paymentStrip { grid-template-columns: 1fr; }
	.insiderSection { gap: 50px; }
	.serviceStrip { grid-template-columns: 1fr; }
	.serviceStrip > div { border-right: 0; border-bottom: 1px solid var(--line); }
	.footerTop { align-items: flex-start; flex-direction: column; }
	.footerPromise { justify-content: flex-start; }
	.contentShell { padding-top: 75px; }
	.postGrid { grid-template-columns: 1fr; }
	.woocommerce ul.products { grid-template-columns: 1fr 1fr; gap: 24px 14px; }
}

@media (max-width: 520px) {
	.searchToggle { display: none; }
	.headerActions { gap: 8px; }
	.bagButton { font-size: 8px; }
	.hero h1 { font-size: clamp(48px, 15vw, 66px); }
	.heroText { margin-top: 22px; }
	.editorialLink { gap: 30px; }
	.centerHeading h2 { font-size: 47px; }
	.familyCard { height: 470px; }
	.storyGallery { min-height: 485px; }
	.storyImage--large { width: 65%; height: 68%; left: 7%; }
	.storyImage--small { width: 40%; height: 42%; right: 6%; }
	.offerFilters { overflow-x: auto; justify-content: flex-start; }
	.offerFilters button { flex: 0 0 auto; }
	.journalGrid { grid-template-columns: 1fr; }
	.instagramHeading { align-items: flex-start; flex-direction: column; gap: 8px; }
	.brandStatement p { font-size: 40px; }
	.footerLinks { grid-template-columns: 1fr 1fr; }
	.footerLinks > div:last-child { grid-column: 1 / -1; }
	.woocommerce ul.products { grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	*, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
	.sillage-js .revealItem { opacity: 1; transform: none; }
}

/* Commercial edition: designed core pages */
.maisonAboutHero, .maisonContactHero { min-height: 690px; display: grid; grid-template-columns: .92fr 1.08fr; background: var(--plum); color: #fff; }
.maisonAboutHero > div, .maisonContactHero > div { padding: clamp(65px, 8vw, 130px); display: flex; flex-direction: column; justify-content: center; }
.maisonAboutHero h1, .maisonContactHero h1, .maisonFaq > header h1 { margin: 0; font: 400 clamp(58px, 7vw, 105px)/.92 var(--serif); letter-spacing: -.05em; }
.maisonAboutHero > div > p:last-child, .maisonContactHero > div > p:last-child { margin: 28px 0 0; color: rgba(255,255,255,.62); font-size: 14px; line-height: 1.8; }
.maisonAboutHero > img, .maisonContactHero > img { width: 100%; height: 100%; min-height: 690px; object-fit: cover; }
.maisonManifesto { padding: clamp(90px, 12vw, 185px) var(--page-gutter); display: grid; grid-template-columns: .55fr 1.45fr; gap: 7vw; background: var(--cream); }
.maisonManifesto > span { color: var(--muted); font-size: 8px; letter-spacing: .14em; text-transform: uppercase; }
.maisonManifesto h2, .maisonContactDetails h2 { margin: 0; font: 400 clamp(45px, 5.4vw, 82px)/.98 var(--serif); letter-spacing: -.045em; }
.maisonManifesto p, .maisonManifesto .entry-content { max-width: 760px; margin: 28px 0 0; color: var(--muted); font-size: 14px; line-height: 1.9; }
.maisonValues { display: grid; grid-template-columns: repeat(3, 1fr); background: #e8ddce; }
.maisonValues article { min-height: 330px; padding: clamp(45px, 5vw, 80px); border-right: 1px solid var(--line); }
.maisonValues article:last-child { border-right: 0; }
.maisonValues span { color: var(--gold); font-size: 9px; }
.maisonValues h2 { margin: 70px 0 16px; font: 400 30px var(--serif); }
.maisonValues p { color: var(--muted); font-size: 12px; line-height: 1.75; }
.maisonContactGrid { display: grid; grid-template-columns: .82fr 1.18fr; background: var(--cream); }
.maisonContactDetails { padding: clamp(65px, 8vw, 125px); background: #e7dccd; }
.maisonContactDetails > div { padding: 23px 0; display: flex; flex-direction: column; gap: 8px; border-bottom: 1px solid var(--line); }
.maisonContactDetails > div:first-of-type { margin-top: 50px; border-top: 1px solid var(--line); }
.maisonContactDetails > div span { color: var(--muted); font-size: 8px; letter-spacing: .13em; text-transform: uppercase; }
.maisonContactDetails > div a, .maisonContactDetails > div p { margin: 0; font: 400 19px var(--serif); }
.maisonContactForm { padding: clamp(65px, 8vw, 125px); }
.maisonContactForm form { display: flex; flex-direction: column; gap: 18px; }
.maisonContactForm label { display: flex; flex-direction: column; gap: 8px; color: #5f584f; font-size: 9px; letter-spacing: .08em; text-transform: uppercase; }
.maisonContactForm input, .maisonContactForm select, .maisonContactForm textarea { width: 100%; padding: 13px 0; border: 0; border-bottom: 1px solid #bfb6a9; border-radius: 0; background: transparent; color: var(--ink); font-size: 13px; outline: 0; text-transform: none; }
.maisonContactForm textarea { resize: vertical; }
.contactFields.two { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.contactTrap { width: 1px; height: 1px; position: absolute; overflow: hidden; clip: rect(0 0 0 0); }
.contactNotice { margin-bottom: 25px; padding: 16px 18px; border-left: 3px solid var(--gold); background: #eee4d6; color: #5f5545; }
.contactNotice.success { border-color: #55745c; background: #f3ead6; color: #405344; }
.contactNotice.error { border-color: #9f514a; background: #f4ead2; color: #6e3935; }
.contactNotice p { margin: 6px 0 0; line-height: 1.6; }
.maisonContactForm .primaryButton { margin-top: 10px; border: 0; cursor: pointer; }
.maisonFaq { background: var(--cream); }
.maisonFaq > header { padding: clamp(85px, 10vw, 150px) var(--page-gutter); background: #e9dfd2; text-align: center; }
.maisonFaq > header h1 { max-width: 980px; margin: auto; }
.maisonFaq > header > p:last-child { max-width: 680px; margin: 26px auto 0; color: var(--muted); font-size: 13px; line-height: 1.75; }
.maisonFaqGrid { padding: clamp(70px, 9vw, 135px) var(--page-gutter); display: grid; grid-template-columns: .6fr 1.4fr; gap: 9vw; }
.maisonFaqGrid > aside { align-self: start; position: sticky; top: 25px; padding: 35px; background: var(--plum); color: #fff; }
.maisonFaqGrid > aside > span { color: rgba(255,255,255,.45); font-size: 8px; letter-spacing: .13em; text-transform: uppercase; }
.maisonFaqGrid > aside h2 { margin: 50px 0 25px; font: 400 36px var(--serif); }
.maisonFaqGrid > aside a { padding-bottom: 5px; border-bottom: 1px solid rgba(255,255,255,.55); font-size: 9px; text-transform: uppercase; }
.maisonFaqGrid > div > section { margin-bottom: 65px; }
.maisonFaqGrid > div > section > h2 { margin: 0 0 20px; font: 400 37px var(--serif); }
.maisonFaqGrid details { border-top: 1px solid var(--line); }
.maisonFaqGrid details:last-child { border-bottom: 1px solid var(--line); }
.maisonFaqGrid summary { padding: 20px 0; display: flex; justify-content: space-between; cursor: pointer; font: 400 18px var(--serif); list-style: none; }
.maisonFaqGrid summary::-webkit-details-marker { display: none; }
.maisonFaqGrid details[open] summary span { transform: rotate(45deg); }
.maisonFaqGrid summary span { font: 400 20px var(--sans); transition: transform .2s ease; }
.maisonFaqGrid details p { max-width: 680px; margin: 0; padding: 0 35px 24px 0; color: var(--muted); font-size: 12px; line-height: 1.8; }

@media (max-width: 800px) {
	.maisonAboutHero, .maisonContactHero, .maisonManifesto, .maisonContactGrid, .maisonFaqGrid { grid-template-columns: 1fr; }
	.maisonAboutHero > img, .maisonContactHero > img { min-height: 520px; }
	.maisonValues { grid-template-columns: 1fr; }
	.maisonValues article { min-height: auto; border-right: 0; border-bottom: 1px solid var(--line); }
	.maisonValues h2 { margin-top: 45px; }
	.maisonContactDetails, .maisonContactForm { padding: 70px var(--page-gutter); }
	.maisonFaqGrid > aside { position: static; }
}

@media (max-width: 520px) {
	.maisonAboutHero h1, .maisonContactHero h1 { font-size: 58px; }
	.maisonAboutHero > img, .maisonContactHero > img { min-height: 430px; }
	.maisonManifesto { padding: 75px var(--page-gutter); }
	.contactFields.two { grid-template-columns: 1fr; }
	.maisonFaqGrid > aside { padding: 28px; }
}

@media (prefers-reduced-motion: reduce) {
	.maisonFaqGrid summary span { transition: none; }
}

/* Al Eman gold identity — v3.3.0 */
.brandLogo,
.custom-logo-link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 86px;
	height: 78px;
	overflow: visible;
}
.brandLogo img,
.custom-logo {
	width: auto;
	height: 74px;
	max-width: none;
	max-height: 74px;
	object-fit: contain;
	filter: drop-shadow(0 4px 16px rgba(0,0,0,.18));
}
.siteHeader { height: 96px; }
.headerInner { grid-template-columns: minmax(118px, 1fr) auto minmax(170px, 1fr); }
.siteHeader .desktopNav a,
.siteHeader .textAction,
.siteHeader .bagButton { transition: color .2s ease, opacity .2s ease, transform .2s ease; }
.siteHeader .desktopNav a:hover,
.siteHeader .textAction:hover,
.siteHeader .bagButton:hover { color: #fff3cf; }
.bagButton span { border-color: rgba(255,248,229,.72); background: rgba(255,255,255,.10); }
.heroArrow { border-color: rgba(242,217,143,.56); }
.heroArrow:hover { background: rgba(214,173,85,.18); }
.editorialLink--light:hover { color: #f2d98f; }
.productCard:hover .productMeta h3,
.woocommerce ul.products li.product:hover .woocommerce-loop-product__title { color: #9d7425; }
.productAdd,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.wc-block-components-button {
	background: linear-gradient(115deg, #4a3818, #b8892f 72%, #d6ad55);
	box-shadow: 0 7px 20px rgba(74,56,24,.12);
}
.productAdd:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover {
	background: linear-gradient(115deg, #8e6824, #d6ad55);
	box-shadow: 0 12px 30px rgba(74,56,24,.22);
}
.siteFooter { border-top: 1px solid rgba(214,173,85,.28); }
.footerBrand { align-items: flex-start; }
.footerLogoLink { display: inline-flex; width: 118px; }
.footerLogo { width: 100%; height: auto; filter: drop-shadow(0 6px 18px rgba(0,0,0,.25)); }
.footerBrand p { margin-top: 0; }
.emanSortTrigger { border-color: rgba(184,137,47,.38) !important; background: linear-gradient(180deg, #fffdf8, #f8f0df) !important; }
.emanSortTrigger:hover,
.emanSortTrigger[aria-expanded="true"] { border-color: #d6ad55 !important; box-shadow: 0 10px 28px rgba(74,56,24,.14) !important; }
.emanSortOption:hover,
.emanSortOption[aria-selected="true"] { background: #f6ecd3 !important; color: #8e6824 !important; }
.emanSortOption[aria-selected="true"]::after { color: #c89a3f !important; }
@media (max-width: 760px) {
	.brandLogo,
	.custom-logo-link { width: 68px; height: 64px; }
	.brandLogo img,
	.custom-logo { height: 60px; max-height: 60px; }
	.siteHeader { height: 78px; }
	.footerLogoLink { width: 100px; }
}

/* === El Eman modern contact + coming soon, v3.4.0 === */
.emanContactModern { background: var(--cream); }
.emanContactHero {
	min-height: 620px;
	display: grid;
	grid-template-columns: 1.08fr .92fr;
	position: relative;
	overflow: hidden;
	background:
		radial-gradient(circle at 12% 16%, rgba(214,173,85,.18), transparent 28%),
		linear-gradient(135deg, #17130d 0%, #241d12 58%, #4a3818 100%);
	color: #fff;
}
.emanContactHeroCopy { padding: clamp(75px, 9vw, 145px) var(--page-gutter); display: flex; flex-direction: column; justify-content: center; }
.emanContactHeroCopy h1 { max-width: 820px; margin: 16px 0 24px; font: 400 clamp(56px, 6.6vw, 100px)/.94 var(--serif); letter-spacing: -.05em; }
.emanContactHeroCopy > p:last-of-type { max-width: 610px; margin: 0; color: rgba(255,255,255,.68); font-size: 14px; line-height: 1.85; }
.emanContactHeroActions { margin-top: 38px; display: flex; align-items: center; gap: 28px; }
.goldButton { background: linear-gradient(135deg, #f0d48d, var(--gold)); color: #21190e; box-shadow: 0 16px 40px rgba(214,173,85,.2); }
.goldButton:hover { transform: translateY(-2px); box-shadow: 0 20px 46px rgba(214,173,85,.3); }
.emanTextLink { display: inline-flex; gap: 10px; align-items: center; font-size: 11px; letter-spacing: .08em; text-transform: uppercase; }
.emanTextLink span { transition: transform .25s ease; }
.emanTextLink:hover span { transform: translateX(5px); }
.emanContactHeroVisual { min-height: 620px; display: grid; place-items: center; position: relative; isolation: isolate; }
.emanContactHeroVisual::before { content: ""; width: min(72%, 470px); aspect-ratio: 1; position: absolute; border: 1px solid rgba(214,173,85,.24); border-radius: 50%; z-index: -1; }
.emanContactHeroVisual::after { content: ""; width: min(49%, 320px); aspect-ratio: 1; position: absolute; border: 1px solid rgba(214,173,85,.13); border-radius: 50%; z-index: -1; }
.emanContactHeroVisual img { width: min(64%, 430px); filter: drop-shadow(0 24px 50px rgba(0,0,0,.25)); }
.emanContactGlow { width: 44%; aspect-ratio: 1; position: absolute; border-radius: 50%; background: rgba(214,173,85,.2); filter: blur(60px); z-index: -2; }
.emanContactCards { padding: 0 var(--page-gutter); display: grid; grid-template-columns: repeat(3, 1fr); position: relative; z-index: 2; transform: translateY(-42px); }
.emanContactCard { min-height: 190px; padding: 28px 30px; display: grid; grid-template-columns: auto 1fr auto; align-items: start; gap: 22px; background: #fffdf8; border: 1px solid rgba(74,56,24,.12); transition: transform .3s ease, box-shadow .3s ease, border-color .3s ease; }
.emanContactCard + .emanContactCard { border-left: 0; }
a.emanContactCard:hover { transform: translateY(-7px); box-shadow: 0 24px 54px rgba(67,47,12,.12); border-color: rgba(214,173,85,.65); }
.emanContactCardIndex { width: 34px; height: 34px; display: grid; place-items: center; border: 1px solid rgba(214,173,85,.45); border-radius: 50%; color: #9c772d; font-size: 9px; letter-spacing: .08em; }
.emanContactCard div { min-width: 0; display: flex; flex-direction: column; gap: 8px; }
.emanContactCard small { color: var(--muted); font-size: 8px; letter-spacing: .15em; text-transform: uppercase; }
.emanContactCard strong { overflow-wrap: anywhere; font: 400 clamp(20px, 2vw, 29px)/1.1 var(--serif); }
.emanContactCard p { margin: 5px 0 0; color: var(--muted); font-size: 11px; line-height: 1.65; }
.emanContactCardArrow { color: #9c772d; font-size: 18px; transition: transform .25s ease; }
a.emanContactCard:hover .emanContactCardArrow { transform: translate(3px,-3px); }
.emanContactCardDot { width: 8px; height: 8px; margin-top: 5px; border-radius: 50%; background: var(--gold); box-shadow: 0 0 0 6px rgba(214,173,85,.14); }
.emanContactBody { padding: clamp(65px, 8vw, 125px) var(--page-gutter) clamp(85px, 10vw, 150px); display: grid; grid-template-columns: .72fr 1.28fr; gap: clamp(60px, 8vw, 130px); }
.emanContactIntro h2 { max-width: 540px; margin: 15px 0 24px; font: 400 clamp(48px, 5vw, 78px)/.96 var(--serif); letter-spacing: -.045em; }
.emanContactIntro > p:last-child { max-width: 420px; color: var(--muted); font-size: 13px; line-height: 1.8; }
.emanContactForm { padding: clamp(34px, 4vw, 60px); border: 1px solid rgba(74,56,24,.12); background: rgba(255,255,255,.72); box-shadow: 0 24px 70px rgba(72,50,12,.07); }
.emanContactForm form { display: flex; flex-direction: column; gap: 22px; }
.emanContactForm label { display: flex; flex-direction: column; gap: 9px; color: #625a4d; font-size: 9px; letter-spacing: .1em; text-transform: uppercase; }
.emanContactForm input, .emanContactForm select, .emanContactForm textarea { width: 100%; min-height: 48px; padding: 12px 14px; border: 1px solid rgba(74,56,24,.17); border-radius: 12px; background: #fffdf9; color: var(--ink); outline: 0; text-transform: none; transition: border-color .2s ease, box-shadow .2s ease; }
.emanContactForm textarea { min-height: 150px; resize: vertical; }
.emanContactForm input:focus, .emanContactForm select:focus, .emanContactForm textarea:focus { border-color: var(--gold); box-shadow: 0 0 0 4px rgba(214,173,85,.12); }
.emanContactForm .primaryButton { align-self: flex-start; border: 0; border-radius: 999px; cursor: pointer; }

.emanComingSoonPage { min-height: 100vh; background: #17130d; }
.emanComingSoon { min-height: 100vh; padding: 38px clamp(24px, 5vw, 76px); position: relative; overflow: hidden; display: grid; grid-template-rows: auto 1fr auto; isolation: isolate; background: linear-gradient(145deg,#fffdf8 0%,#f6edda 55%,#eee0bd 100%); color: var(--ink); }
.emanComingSoon::before { content: ""; width: 58vw; height: 58vw; position: absolute; right: -15vw; top: -20vw; border: 1px solid rgba(184,137,47,.18); border-radius: 50%; z-index: -1; }
.emanComingSoon::after { content: ""; width: 36vw; height: 36vw; position: absolute; right: -4vw; top: -8vw; border: 1px solid rgba(184,137,47,.12); border-radius: 50%; z-index: -1; }
.emanComingSoonOrb { position: absolute; border-radius: 50%; filter: blur(2px); z-index: -2; }
.emanComingSoonOrb.orbOne { width: 480px; height: 480px; right: 3vw; top: 10vh; background: radial-gradient(circle,rgba(214,173,85,.32),rgba(214,173,85,0) 70%); }
.emanComingSoonOrb.orbTwo { width: 360px; height: 360px; left: -180px; bottom: -120px; background: radial-gradient(circle,rgba(184,137,47,.16),rgba(184,137,47,0) 70%); }
.emanComingSoonHeader { display: flex; justify-content: space-between; align-items: center; gap: 24px; }
.emanComingSoonLogo img { width: auto; max-width: 180px; max-height: 72px; object-fit: contain; }
.emanComingSoonStatus { padding: 10px 16px; display: inline-flex; align-items: center; gap: 9px; border: 1px solid rgba(74,56,24,.14); border-radius: 999px; background: rgba(255,255,255,.45); backdrop-filter: blur(8px); color: #655a47; font-size: 9px; letter-spacing: .12em; text-transform: uppercase; }
.emanComingSoonStatus i { width: 7px; height: 7px; border-radius: 50%; background: var(--gold); box-shadow: 0 0 0 5px rgba(214,173,85,.15); }
.emanComingSoonContent { width: min(920px, 100%); align-self: center; padding: 80px 0; }
.emanComingSoonContent h1 { max-width: 880px; margin: 18px 0 28px; font: 400 clamp(58px, 7.4vw, 112px)/.9 var(--serif); letter-spacing: -.055em; }
.emanComingSoonLead { max-width: 630px; margin: 0; color: #6e6455; font-size: 14px; line-height: 1.8; }
.emanComingSoonContacts { max-width: 860px; margin-top: 46px; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; }
.emanComingSoonContacts a { min-height: 118px; padding: 24px 26px; display: grid; grid-template-columns: 1fr auto; align-content: center; gap: 7px 20px; border: 1px solid rgba(74,56,24,.13); border-radius: 20px; background: rgba(255,255,255,.58); backdrop-filter: blur(10px); transition: transform .28s ease, background .28s ease, box-shadow .28s ease; }
.emanComingSoonContacts a:hover { transform: translateY(-5px); background: #fffdf8; box-shadow: 0 20px 55px rgba(71,48,8,.1); }
.emanComingSoonContacts small { grid-column: 1; color: #8d7956; font-size: 8px; letter-spacing: .15em; text-transform: uppercase; }
.emanComingSoonContacts strong { grid-column: 1; overflow-wrap: anywhere; font: 400 clamp(20px,2.3vw,32px)/1.1 var(--serif); }
.emanComingSoonContacts span { grid-column: 2; grid-row: 1 / span 2; align-self: center; color: #9c772d; font-size: 22px; }
.emanComingSoonFooter { display: flex; justify-content: space-between; gap: 30px; padding-top: 25px; border-top: 1px solid rgba(74,56,24,.12); color: #756a59; font-size: 9px; letter-spacing: .08em; text-transform: uppercase; }

@media (max-width: 900px) {
	.emanContactHero { grid-template-columns: 1fr; }
	.emanContactHeroVisual { min-height: 420px; }
	.emanContactCards { grid-template-columns: 1fr; transform: none; padding-top: 24px; }
	.emanContactCard + .emanContactCard { border-left: 1px solid rgba(74,56,24,.12); border-top: 0; }
	.emanContactBody { grid-template-columns: 1fr; }
}
@media (max-width: 640px) {
	.emanContactHeroCopy { padding-top: 68px; padding-bottom: 68px; }
	.emanContactHeroCopy h1 { font-size: 50px; }
	.emanContactHeroActions { align-items: flex-start; flex-direction: column; }
	.emanContactHeroVisual { min-height: 330px; }
	.emanContactHeroVisual img { width: min(72%, 330px); }
	.emanContactCard { min-height: 160px; padding: 24px 20px; grid-template-columns: auto 1fr auto; gap: 14px; }
	.emanContactBody { padding-left: 20px; padding-right: 20px; gap: 45px; }
	.emanContactForm { padding: 24px 18px; }
	.emanContactModern .contactFields.two { grid-template-columns: 1fr; }
	.emanComingSoon { padding: 24px 20px; }
	.emanComingSoonHeader { align-items: flex-start; }
	.emanComingSoonLogo img { max-width: 135px; max-height: 58px; }
	.emanComingSoonStatus { max-width: 170px; justify-content: center; text-align: center; line-height: 1.5; }
	.emanComingSoonContent { padding: 60px 0; }
	.emanComingSoonContent h1 { font-size: 57px; }
	.emanComingSoonContacts { grid-template-columns: 1fr; }
	.emanComingSoonFooter { flex-direction: column; gap: 10px; }
}

/* === WooCommerce Coming Soon contact panel, v3.4.1 === */
.emanWooComingContact {
	width: min(980px, calc(100% - 40px));
	margin: clamp(28px, 5vh, 56px) auto 38px;
	padding: clamp(24px, 4vw, 42px);
	border: 1px solid rgba(214, 173, 85, .45);
	border-radius: 30px;
	background: rgba(255, 253, 248, .94);
	box-shadow: 0 28px 80px rgba(37, 31, 23, .14);
	color: #251f17;
	text-align: center;
	backdrop-filter: blur(16px);
	-webkit-backdrop-filter: blur(16px);
}
.emanWooComingContactEyebrow {
	margin: 0 0 10px;
	font: 700 11px/1.2 var(--sans);
	letter-spacing: .22em;
	text-transform: uppercase;
	color: #b8892f;
}
.emanWooComingContact h2 {
	margin: 0;
	font: 500 clamp(30px, 4.4vw, 52px)/1.05 var(--serif);
	letter-spacing: -.035em;
	color: #251f17;
}
.emanWooComingContactLead {
	max-width: 650px;
	margin: 14px auto 26px;
	font: 400 15px/1.7 var(--sans);
	color: #746b5d;
}
.emanWooComingContactCards {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 12px;
}
.emanWooComingContactCard {
	display: grid;
	grid-template-columns: 42px minmax(0, 1fr) auto;
	align-items: center;
	gap: 12px;
	min-height: 86px;
	padding: 15px 16px;
	border: 1px solid rgba(37, 31, 23, .11);
	border-radius: 20px;
	background: #fffdf8;
	color: #251f17 !important;
	text-decoration: none !important;
	text-align: left;
	transition: transform .22s ease, border-color .22s ease, box-shadow .22s ease, background .22s ease;
}
.emanWooComingContactCard:hover,
.emanWooComingContactCard:focus-visible {
	transform: translateY(-3px);
	border-color: rgba(184, 137, 47, .55);
	background: #fffaf0;
	box-shadow: 0 14px 34px rgba(37, 31, 23, .10);
	outline: none;
}
.emanWooComingContactIcon {
	display: grid;
	place-items: center;
	width: 42px;
	height: 42px;
	border-radius: 50%;
	background: linear-gradient(135deg, #e8c976, #b8892f);
	color: #fffdf8;
	font-size: 17px;
}
.emanWooComingContactCard small {
	display: block;
	margin-bottom: 5px;
	font: 700 10px/1.1 var(--sans);
	letter-spacing: .13em;
	text-transform: uppercase;
	color: #9b7a37;
}
.emanWooComingContactCard strong {
	display: block;
	overflow-wrap: anywhere;
	font: 600 14px/1.35 var(--sans);
	color: #251f17;
}
.emanWooComingContactCard b {
	font: 400 19px/1 var(--sans);
	color: #b8892f;
}
@media (max-width: 820px) {
	.emanWooComingContactCards { grid-template-columns: 1fr; }
	.emanWooComingContact { width: min(94%, 620px); border-radius: 24px; }
}

/* === El Eman currency + perfume bottle size controls, v3.5.2 === */
.emanCurrencyMenu {
	position: relative;
	z-index: 45;
	font-family: var(--sans);
}
.emanCurrencyMenu > summary {
	min-height: 34px;
	padding: 0 12px;
	display: inline-flex;
	align-items: center;
	gap: 7px;
	border: 1px solid rgba(214,173,85,.62);
	border-radius: 999px;
	background: rgba(20,16,10,.24);
	color: #fff;
	font-size: 9px;
	font-weight: 800;
	letter-spacing: .06em;
	list-style: none;
	cursor: pointer;
	user-select: none;
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
}
.emanCurrencyMenu > summary::-webkit-details-marker { display: none; }
.emanCurrencyMenu > summary::marker { display: none; content: ''; }
.emanCurrencyMenu__symbol { color: #f2d98f; font-size: 11px; letter-spacing: 0; }
.emanCurrencyMenu__chevron { margin-left: 1px; opacity: .7; transform: translateY(-1px); }
.emanCurrencyMenu[open] .emanCurrencyMenu__chevron { transform: rotate(180deg); }
.emanCurrencyMenu__panel {
	min-width: 154px;
	padding: 6px;
	position: absolute;
	top: calc(100% + 9px);
	right: 0;
	border: 1px solid rgba(74,56,24,.13);
	border-radius: 14px;
	background: #fffdf8;
	color: var(--ink);
	box-shadow: 0 18px 45px rgba(28,21,11,.16);
}
.emanCurrencyMenu__choice {
	min-height: 42px;
	padding: 0 11px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 15px;
	border-radius: 10px;
	font-size: 10px;
	font-weight: 800;
	letter-spacing: .04em;
}
.emanCurrencyMenu__choice:hover { background: #f7efd8; }
.emanCurrencyMenu__choice.is-active { background: linear-gradient(135deg,#fff8e5,#f0dda6); color: #4a3818; }
.emanCurrencyMenu__choice small { color: #8e6824; font-size: 10px; font-weight: 800; }
.siteHeader--solid .emanCurrencyMenu > summary { background: rgba(255,255,255,.12); border-color: rgba(255,248,229,.32); }
.emanPerfumeSize {
	margin: 24px 0 20px;
	padding: 20px;
	border: 1px solid rgba(74,56,24,.14);
	border-radius: 18px;
	background: linear-gradient(145deg, rgba(255,253,248,.92), rgba(242,217,143,.16));
}
.emanPerfumeSize__head {
	margin-bottom: 14px;
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 14px;
}
.emanPerfumeSize__head > span {
	font-size: 10px;
	font-weight: 700;
	letter-spacing: .12em;
	text-transform: uppercase;
}
.emanPerfumeSize__head > small { color: var(--muted); font-size: 9px; }
.emanPerfumeSize__options { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; }
.emanPerfumeSize__option { position: relative; cursor: pointer; }
.emanPerfumeSize__option input {
	width: 1px;
	height: 1px;
	position: absolute;
	opacity: 0;
	pointer-events: none;
}
.emanPerfumeSize__button {
	min-height: 66px;
	padding: 12px 14px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	border: 1px solid rgba(74,56,24,.16);
	border-radius: 13px;
	background: #fffdf8;
	transition: border-color .2s ease, background .2s ease, box-shadow .2s ease, transform .2s ease;
}
.emanPerfumeSize__button strong { font: 600 15px/1 var(--sans); }
.emanPerfumeSize__button small { color: #8e6824; font-size: 11px; font-weight: 700; }
.emanPerfumeSize__option:hover .emanPerfumeSize__button { border-color: rgba(214,173,85,.75); transform: translateY(-1px); }
.emanPerfumeSize__option input:checked + .emanPerfumeSize__button {
	border-color: #d6ad55;
	background: #fff9e9;
	box-shadow: 0 0 0 3px rgba(214,173,85,.12), 0 9px 24px rgba(74,56,24,.08);
}
.emanPerfumeSize__option input:focus-visible + .emanPerfumeSize__button { outline: 2px solid var(--gold); outline-offset: 3px; }

@media (max-width: 800px) {
	.headerActions .emanCurrencyMenu { order: -1; }
	.emanCurrencyMenu > summary { min-height: 30px; padding: 0 9px; font-size: 8px; }
}
@media (max-width: 520px) {
	.emanCurrencyMenu > summary { min-height: 28px; padding: 0 8px; }
	.emanCurrencyMenu__panel { min-width: 142px; right: -8px; }
	.emanPerfumeSize { padding: 16px; border-radius: 15px; }
	.emanPerfumeSize__head { align-items: flex-start; flex-direction: column; gap: 6px; }
	.emanPerfumeSize__options { grid-template-columns: 1fr; }
}

/* Supplied Al Eman logo sizing */
.brandLogo { width: 104px; height: 88px; }
.brandLogo img { height: 84px; max-height: 84px; }
@media (max-width: 760px) {
	.brandLogo { width: 78px; height: 70px; }
	.brandLogo img { height: 66px; max-height: 66px; }
}


/* Modern WooCommerce variable-product size buttons (20 / 30 / 50 / 100 ml). */
.emanVariableSize { margin: 18px 0 22px; }
.emanVariableSize__label { margin: 0 0 10px; display: block; color: var(--ink); font-size: 10px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.emanVariableSize__buttons { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 10px; }
.emanVariableSize__button { min-height: 58px; padding: 10px 15px; border: 1px solid rgba(74,56,24,.18); border-radius: 13px; background: #fffdf8; color: var(--ink); font-weight: 800; cursor: pointer; transition: .2s ease; }
.emanVariableSize__button:hover { border-color: rgba(214,173,85,.8); transform: translateY(-1px); }
.emanVariableSize__button.is-active { border-color: #d6ad55; background: #fff7df; box-shadow: 0 0 0 3px rgba(214,173,85,.11); }
.emanVariableSize__button[disabled] { opacity: .42; cursor: not-allowed; transform: none; }
.emanSizeSelectEnhanced { position: absolute !important; width: 1px !important; height: 1px !important; overflow: hidden !important; clip: rect(0 0 0 0) !important; clip-path: inset(50%) !important; white-space: nowrap !important; }
.woocommerce div.product form.cart .variations tr.emanSizeRow > th,
.woocommerce div.product form.cart .variations tr.emanSizeRow > td { display: block; width: 100%; }
.woocommerce div.product form.cart .variations tr.emanSizeRow > th,
.woocommerce div.product form.cart .variations tr.emanSizeRow > td.label,
.woocommerce div.product form.cart .variations tr.emanSizeRow > th.label {
	display: none !important;
}
.woocommerce div.product form.cart .variations tr.emanSizeRow > td.value,
.woocommerce div.product form.cart .variations tr.emanSizeRow > td {
	width: 100%;
	padding-left: 0;
}
.woocommerce div.product form.cart .variations tr.emanSizeRow > td.value > label,
.woocommerce div.product form.cart .variations tr.emanSizeRow > th > label {
	display: none !important;
}
.woocommerce div.product form.cart .variations tr.emanSizeRow .reset_variations { margin-top: 10px; display: inline-block; }
@media (max-width:760px){ .emanPerfumeSize__options, .emanVariableSize__buttons { grid-template-columns: 1fr 1fr; } }
@media (max-width:520px){ .emanVariableSize__buttons { grid-template-columns: 1fr 1fr; } }


/* Logo removed site-wide — v3.5.4 */
.emanComingSoonHeader--noLogo { justify-content: flex-end; }
@media (max-width: 800px) {
	.brandLogoSpacer { width: 68px; }
}


/* Transparent, high-visibility Al Eman logo — v3.5.8 */
.brandLogoSpacer { display: none; }
.brandLogo--header {
	width: 178px;
	height: 88px;
	padding: 0;
	justify-self: start;
	display: inline-flex;
	align-items: center;
	justify-content: flex-start;
	border: 0;
	border-radius: 0;
	background: transparent;
	box-shadow: none;
	overflow: visible;
}
.brandLogoImage {
	width: auto;
	height: 82px;
	max-width: 168px;
	max-height: 82px;
	object-fit: contain;
	filter: brightness(1.16) contrast(1.08) drop-shadow(0 2px 2px rgba(37,31,23,.60)) drop-shadow(0 0 10px rgba(255,242,196,.18));
}
.headerInner { grid-template-columns: minmax(190px, 1fr) auto minmax(190px, 1fr); }
.footerBrand { gap: 14px; }
.footerLogoLink {
	width: 178px;
	padding: 0;
	display: inline-flex;
	align-items: center;
	justify-content: flex-start;
	border: 0;
	border-radius: 0;
	background: transparent;
	box-shadow: none;
}
.footerLogo { width: 164px; height: auto; max-height: 132px; object-fit: contain; filter: brightness(1.12) drop-shadow(0 2px 3px rgba(0,0,0,.46)); }
.emanComingSoonHeader { justify-content: space-between; }
.emanComingSoonLogo {
	width: 178px;
	padding: 0;
	display: inline-flex;
	align-items: center;
	justify-content: flex-start;
	border: 0;
	border-radius: 0;
	background: transparent;
	box-shadow: none;
}
.emanComingSoonLogo img { width: 164px; height: auto; max-height: 132px; object-fit: contain; filter: contrast(1.10) drop-shadow(0 2px 2px rgba(74,56,24,.24)); }
@media (max-width: 760px) {
	.brandLogo--header { width: 126px; height: 68px; padding: 0; }
	.brandLogoImage { height: 62px; max-width: 120px; max-height: 62px; }
	.headerInner { grid-template-columns: 128px 1fr auto; }
	.footerLogoLink, .emanComingSoonLogo { width: 142px; }
	.footerLogo, .emanComingSoonLogo img { width: 132px; }
}
@media (max-width: 520px) {
	.headerInner { grid-template-columns: 96px 1fr auto; }
	.brandLogo--header { width: 92px; height: 58px; padding: 0; }
	.brandLogoImage { height: 54px; max-width: 88px; max-height: 54px; }
}

/* === Live-ready storefront v3.6.0 === */
.heroImage--blank {
	background-color: #7a5a22;
	background-image: radial-gradient(circle at 78% 24%, rgba(242,217,143,.34), transparent 30%), linear-gradient(125deg, #3c2d13 0%, #8e6824 52%, #d6ad55 100%) !important;
}
.emptyStoreState {
	max-width: 720px;
	margin: 0 auto;
	padding: 34px 38px;
	border: 1px solid rgba(74,56,24,.14);
	background: rgba(255,255,255,.55);
	text-align: center;
}
.emptyStoreState strong { display: block; margin-bottom: 8px; font: 400 clamp(24px,3vw,38px)/1.05 var(--serif); }
.emptyStoreState p { margin: 0; color: var(--muted); font-size: 12px; line-height: 1.7; }
.storySection--brand { background: linear-gradient(135deg, #ead6a4, #f7edd6 58%, #d6ad55); }
.storyBrandPanel {
	min-height: 760px;
	padding: clamp(60px,8vw,120px);
	position: relative;
	display: grid;
	place-items: center;
	overflow: hidden;
	background: radial-gradient(circle at 68% 28%, rgba(255,255,255,.45), transparent 35%), linear-gradient(145deg,#d6ad55,#8e6824);
}
.storyBrandPanel--image { padding: 0; background: #e8dfd1; }
.storyFeatureImage { width: 100%; height: 100%; position: absolute; inset: 0; display: block; object-fit: cover; object-position: center; }
.storyBrandLogo { display: block; width: min(390px,70%); position: relative; z-index: 2; }
.storyBrandLogoImage { width: 100%; height: auto; display: block; filter: drop-shadow(0 16px 38px rgba(54,38,11,.22)); }
.storyBrandPanel .storyMonogram { opacity: .2; color: #fff8e5; }
.maisonAboutHeroBrand {
	min-height: 100%;
	display: grid;
	place-items: center;
	padding: clamp(50px,7vw,100px);
	background: radial-gradient(circle at 70% 25%, rgba(255,255,255,.36), transparent 34%), linear-gradient(145deg,#d6ad55,#8e6824);
}
.maisonAboutBrandLink { display: block; width: min(360px,72%); }
.maisonAboutBrandImage { width: 100%; height: auto; display: block; filter: drop-shadow(0 14px 35px rgba(54,38,11,.22)); }
@media (max-width: 860px) {
	.storyBrandPanel { min-height: 440px; }
	.maisonAboutHeroBrand { min-height: 430px; }
}


/* v3.6.3 — editable homepage contact section */
.homeContact {
    padding: clamp(72px, 9vw, 132px) var(--page-gutter);
    background: linear-gradient(145deg, #fffdf8 0%, #f6edd9 100%);
    border-top: 1px solid rgba(74,56,24,.12);
}
.homeContact__intro {
    max-width: 760px;
    margin: 0 auto clamp(34px, 5vw, 64px);
    text-align: center;
}
.homeContact__intro h2 {
    margin: 10px 0 18px;
    font: 400 clamp(42px, 5vw, 72px)/.98 var(--serif);
    letter-spacing: -.045em;
    color: var(--ink);
}
.homeContact__intro > p:last-child {
    max-width: 620px;
    margin: 0 auto;
    color: var(--muted);
    font-size: 13px;
    line-height: 1.8;
}
.homeContact__cards {
    max-width: 1180px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
}
.homeContact__card {
    min-height: 178px;
    padding: 26px 28px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: 16px;
    border: 1px solid rgba(74,56,24,.14);
    border-radius: 18px;
    background: rgba(255,255,255,.72);
    box-shadow: 0 16px 48px rgba(74,56,24,.05);
    transition: transform .22s ease, border-color .22s ease, box-shadow .22s ease;
}
.homeContact__card:hover {
    transform: translateY(-4px);
    border-color: rgba(184,137,47,.55);
    box-shadow: 0 22px 55px rgba(74,56,24,.10);
}
.homeContact__card span,
.homeContact__card small {
    color: #8e6824;
    font-size: 9px;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
}
.homeContact__card strong {
    overflow-wrap: anywhere;
    color: var(--ink);
    font: 500 clamp(18px, 1.7vw, 25px)/1.2 var(--serif);
}
.homeContact__hours {
    margin: 24px auto 0;
    text-align: center;
    color: var(--muted);
    font-size: 11px;
}
@media (max-width: 820px) {
    .homeContact__cards { grid-template-columns: 1fr; }
    .homeContact__card { min-height: 138px; }
}


/* v3.6.4 — dual Retail / Wholesale contact system */
.homeContact {
	padding: clamp(72px, 9vw, 132px) var(--page-gutter);
	background: linear-gradient(145deg, #fffdf8 0%, #f6edd9 100%);
	border-top: 1px solid rgba(74,56,24,.12);
}
.homeContact__intro,
.dualContactIntro {
	max-width: 780px;
	margin: 0 auto clamp(34px, 5vw, 64px);
	text-align: center;
}
.homeContact__intro h2,
.dualContactIntro h2 {
	margin: 10px 0 18px;
	font: 400 clamp(42px, 5vw, 72px)/.98 var(--serif);
	letter-spacing: -.045em;
	color: var(--ink);
}
.homeContact__intro > p:last-child,
.dualContactIntro > p:last-child {
	max-width: 650px;
	margin: 0 auto;
	color: var(--muted);
	font-size: 13px;
	line-height: 1.8;
}
.departmentContactGrid {
	width: min(1320px, 100%);
	margin: 0 auto;
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: clamp(18px, 2.2vw, 30px);
	align-items: start;
}
.departmentContact {
	padding: clamp(25px, 3vw, 42px);
	border: 1px solid rgba(74,56,24,.14);
	border-radius: 24px;
	background: rgba(255,255,255,.78);
	box-shadow: 0 22px 65px rgba(74,56,24,.07);
	scroll-margin-top: 110px;
}
.departmentContact__head { margin-bottom: 24px; }
.departmentContact__tag {
	width: max-content;
	margin: 0 0 13px;
	padding: 8px 11px;
	border: 1px solid rgba(184,137,47,.32);
	border-radius: 999px;
	background: #fff8e7;
	color: #8e6824;
	font-size: 9px;
	font-weight: 800;
	letter-spacing: .13em;
	text-transform: uppercase;
}
.departmentContact__head h3 {
	margin: 0 0 12px;
	font: 500 clamp(30px, 3vw, 43px)/1 var(--serif);
	letter-spacing: -.035em;
	color: var(--ink);
}
.departmentContact__head > p:last-child {
	margin: 0;
	color: var(--muted);
	font-size: 12px;
	line-height: 1.7;
}
.departmentContact__actions {
	margin-bottom: 28px;
	display: grid;
	grid-template-columns: repeat(2, minmax(0,1fr));
	gap: 10px;
}
.departmentContact__actions > a {
	min-height: 82px;
	padding: 15px 16px;
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 6px;
	border: 1px solid rgba(74,56,24,.12);
	border-radius: 14px;
	background: #fffdf8;
	transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease;
}
.departmentContact__actions > a:hover {
	transform: translateY(-2px);
	border-color: rgba(184,137,47,.55);
	box-shadow: 0 12px 30px rgba(74,56,24,.08);
}
.departmentContact__actions small {
	color: #8e6824;
	font-size: 8px;
	font-weight: 800;
	letter-spacing: .12em;
	text-transform: uppercase;
}
.departmentContact__actions strong {
	overflow-wrap: anywhere;
	color: var(--ink);
	font-size: 12px;
	line-height: 1.35;
}
.departmentContact__form {
	padding-top: 24px;
	border-top: 1px solid rgba(74,56,24,.11);
}
.departmentContact__form form { display: grid; gap: 16px; }
.departmentContact__form label {
	display: grid;
	gap: 8px;
	color: #6d5c40;
	font-size: 9px;
	font-weight: 800;
	letter-spacing: .09em;
	text-transform: uppercase;
}
.departmentContact__form input,
.departmentContact__form select,
.departmentContact__form textarea {
	width: 100%;
	min-height: 48px;
	padding: 12px 14px;
	border: 1px solid rgba(74,56,24,.17);
	border-radius: 12px;
	background: #fffdf9;
	color: var(--ink);
	font: 400 13px/1.4 var(--sans);
	text-transform: none;
	outline: 0;
	transition: border-color .2s ease, box-shadow .2s ease;
}
.departmentContact__form textarea { min-height: 126px; resize: vertical; }
.departmentContact__form input:focus,
.departmentContact__form select:focus,
.departmentContact__form textarea:focus {
	border-color: var(--gold);
	box-shadow: 0 0 0 3px rgba(214,173,85,.12);
}
.departmentContact__form .primaryButton { width: 100%; max-width: none; }
.homeContact__hours,
.dualContactHours {
	margin: 28px auto 0;
	text-align: center;
	color: var(--muted);
	font-size: 11px;
}
.dualContactSection {
	padding: clamp(75px, 9vw, 135px) var(--page-gutter);
	background: linear-gradient(180deg, #fffdf8, #f6edd9);
}
.emanContactHero--dual .emanContactHeroActions { flex-wrap: wrap; }
@media (max-width: 900px) {
	.departmentContactGrid { grid-template-columns: 1fr; }
}
@media (max-width: 560px) {
	.departmentContact { padding: 22px 18px; border-radius: 18px; }
	.departmentContact__actions { grid-template-columns: 1fr; }
	.departmentContact__form .contactFields.two { grid-template-columns: 1fr; }
}


/* === v3.6.5 — full mobile / iPhone responsive pass === */
html, body { width: 100%; max-width: 100%; }
body { overflow-x: clip; }
main, section, article, header, footer, nav, form, .contentShell,
.headerInner, .productGrid, .departmentContactGrid, .departmentContact,
.emanContactModern, .emanContactHero, .dualContactSection, .homeContact {
	min-width: 0;
	max-width: 100%;
}

@media (max-width: 900px) {
	/* WooCommerce product, cart and checkout layouts */
	.woocommerce div.product div.images,
	.woocommerce div.product div.summary,
	.woocommerce-page div.product div.images,
	.woocommerce-page div.product div.summary {
		float: none !important;
		width: 100% !important;
	}
	.woocommerce .cart-collaterals .cart_totals,
	.woocommerce-page .cart-collaterals .cart_totals,
	.woocommerce .cart-collaterals .cross-sells,
	.woocommerce-page .cart-collaterals .cross-sells {
		float: none !important;
		width: 100% !important;
	}
	.woocommerce table.shop_table { width: 100%; }
	.departmentContactGrid { grid-template-columns: 1fr; }
}

@media (max-width: 800px) {
	:root { --page-gutter: clamp(16px, 4.8vw, 22px); }

	/* Prevent horizontal overflow from long emails, prices and labels. */
	* { min-width: 0; }
	img, video, iframe, svg { max-width: 100%; }
	.announcement,
	.siteHeader,
	.siteFooter,
	.hero,
	.storeSection,
	.storySection,
	.collectionStories,
	.homeContact,
	.dualContactSection { width: 100%; }

	/* iPhone-safe announcement + header. */
	.announcement {
		min-height: 32px;
		padding: 7px max(14px, env(safe-area-inset-right)) 7px max(14px, env(safe-area-inset-left));
		white-space: normal;
		line-height: 1.45;
	}
	.siteHeader {
		height: 72px;
		top: 32px;
		background: linear-gradient(90deg, rgba(82,60,22,.99), rgba(142,104,35,.99) 58%, rgba(214,173,85,.99));
	}
	body.admin-bar .siteHeader { top: 78px; }
	.headerInner {
		padding-left: max(13px, env(safe-area-inset-left));
		padding-right: max(13px, env(safe-area-inset-right));
		grid-template-columns: 30px minmax(74px, 1fr) auto !important;
		gap: 8px !important;
	}
	.menuToggle { width: 28px; height: 28px; justify-self: start; }
	.brandLogo--header {
		width: 92px !important;
		height: 64px !important;
		justify-self: center !important;
		justify-content: center !important;
	}
	.brandLogoImage {
		width: auto !important;
		height: 58px !important;
		max-width: 88px !important;
		max-height: 58px !important;
	}
	.headerActions { min-width: max-content; gap: 5px !important; }
	.searchToggle, .accountLink { display: none !important; }
	.emanCurrencyMenu > summary {
		min-height: 30px;
		padding: 0 8px;
		gap: 4px;
		white-space: nowrap;
	}
	.bagButton { gap: 4px; white-space: nowrap; font-size: 8px; }
	.bagButton span { width: 20px; height: 20px; flex: 0 0 20px; }

	/* Full-screen mobile navigation with usable scrolling. */
	.desktopNav {
		inset: 32px 0 0;
		padding: 96px max(20px, env(safe-area-inset-right)) 45px max(20px, env(safe-area-inset-left));
		overflow-y: auto;
		-webkit-overflow-scrolling: touch;
		background: linear-gradient(145deg, #4a3818, #8e6824 72%, #b8892f);
	}
	.admin-bar .desktopNav { inset: 78px 0 0; }
	.desktopNav a { font-size: clamp(34px, 10vw, 45px); }

	/* Hero/banner sizing on phones. */
	.hero {
		min-height: 620px;
		height: calc(100svh - 32px);
		max-height: 820px;
	}
	.heroContent {
		left: var(--page-gutter);
		right: var(--page-gutter);
		top: 51%;
		transform: translateY(-42%);
	}
	.hero h1 { font-size: clamp(48px, 13vw, 70px); overflow-wrap: anywhere; }
	.heroText { max-width: 94%; font-size: 13px; }
	.heroControls { right: var(--page-gutter); bottom: 18px; }

	/* Store/product cards stay inside the viewport. */
	.storeSection, .offersSection { overflow: hidden; }
	.productGrid {
		width: 100%;
		max-width: 100%;
		padding-bottom: 8px;
		scroll-padding-left: 0;
	}
	.productCard { flex-basis: min(82vw, 350px); max-width: min(82vw, 350px); }
	.productMeta, .productMeta h3, .productMeta p, .productPrice { overflow-wrap: anywhere; }

	/* Story area stacks naturally and uploaded image remains full-width. */
	.storySection { grid-template-columns: 1fr !important; min-height: 0; }
	.storyBrandPanel, .storyGallery { min-height: 440px !important; }
	.storyBrandPanel--image { aspect-ratio: 4 / 3; min-height: 0 !important; }
	.storyFeatureImage { object-position: center; }
	.storyCopy { padding: 72px var(--page-gutter) 78px !important; }
	.storyCopy h2 { font-size: clamp(43px, 12vw, 58px); }

	.collectionStories { padding-left: var(--page-gutter); padding-right: var(--page-gutter); }

	/* Retail + Wholesale contact is one clear column on mobile/tablet. */
	.homeContact,
	.dualContactSection { padding-left: var(--page-gutter); padding-right: var(--page-gutter); }
	.departmentContactGrid { width: 100%; grid-template-columns: 1fr !important; gap: 20px; }
	.departmentContact { width: 100%; }
	.departmentContact__actions strong,
	.departmentContact__head > p,
	.departmentContact__form label { overflow-wrap: anywhere; }

	/* Dedicated Contact page: remove the decorative empty right column on mobile. */
	.emanContactHero { grid-template-columns: 1fr !important; min-height: auto; }
	.emanContactHero--dual .emanContactHeroVisual { display: none; }
	.emanContactHeroCopy { padding: 72px var(--page-gutter) 64px; }
	.emanContactHeroCopy h1 { font-size: clamp(45px, 11vw, 62px); }
	.emanContactHeroActions { gap: 16px; }

	/* Footer */
	.footerTop { gap: 34px; }
	.footerLinks { width: 100%; }
}

@media (max-width: 560px) {
	:root { --page-gutter: 17px; }

	.announcement { font-size: 6.5px; letter-spacing: .10em; }
	.headerInner { grid-template-columns: 28px minmax(68px, 1fr) auto !important; gap: 6px !important; }
	.brandLogo--header { width: 82px !important; height: 60px !important; }
	.brandLogoImage { height: 53px !important; max-width: 78px !important; max-height: 53px !important; }
	.emanCurrencyMenu > summary { min-height: 28px; padding: 0 7px; font-size: 7.5px; }
	.emanCurrencyMenu__symbol { font-size: 9px; }
	.emanCurrencyMenu__panel { right: -4px; min-width: 136px; }
	.bagButton { font-size: 0; }
	.bagButton::before { content: "Bag"; font-size: 7.5px; letter-spacing: .04em; }
	.bagButton span { font-size: 8px; }

	.hero { min-height: 590px; }
	.heroContent { top: 50%; }
	.hero h1 { font-size: clamp(44px, 13.5vw, 58px); }
	.heroText { margin: 20px 0 24px; font-size: 12px; line-height: 1.65; }
	.editorialLink, .textLink { gap: 24px; font-size: 9px; }
	.heroArrow { width: 36px; height: 36px; }

	.storeSection, .offersSection { padding-top: 70px; padding-bottom: 76px; }
	.centerHeading { margin-bottom: 34px; }
	.centerHeading h2 { font-size: clamp(40px, 12vw, 48px); }
	.productCard { flex-basis: min(86vw, 340px); max-width: min(86vw, 340px); }

	.storyBrandPanel, .storyGallery { min-height: 360px !important; }
	.storyCopy { padding: 58px 17px 64px !important; }
	.storyCopy h2 { font-size: clamp(40px, 11.5vw, 50px); }
	.storyCopy > p:not(.eyebrow) { margin: 22px 0; font-size: 13px; }

	.homeContact, .dualContactSection { padding-top: 62px; padding-bottom: 68px; }
	.homeContact__intro, .dualContactIntro { margin-bottom: 30px; }
	.homeContact__intro h2, .dualContactIntro h2 { font-size: clamp(39px, 11vw, 49px); }
	.departmentContact { padding: 22px 17px; border-radius: 18px; }
	.departmentContact__head h3 { font-size: clamp(30px, 9vw, 38px); }
	.departmentContact__actions { grid-template-columns: 1fr !important; }
	.departmentContact__actions > a { min-height: 72px; }
	.departmentContact__form .contactFields.two { grid-template-columns: 1fr !important; }

	/* 16px form text prevents Safari from zooming the page when a field is tapped. */
	.departmentContact__form input,
	.departmentContact__form select,
	.departmentContact__form textarea,
	.maisonContactForm input,
	.maisonContactForm select,
	.maisonContactForm textarea,
	.emanContactForm input,
	.emanContactForm select,
	.emanContactForm textarea,
	.woocommerce form .form-row input.input-text,
	.woocommerce form .form-row textarea,
	.woocommerce form .form-row select,
	.woocommerce .quantity .qty {
		font-size: 16px !important;
	}
	.departmentContact__form input,
	.departmentContact__form select { min-height: 50px; }
	.primaryButton { width: 100%; min-width: 0; }

	.emanContactHeroCopy { padding: 58px 17px 52px; }
	.emanContactHeroCopy h1 { font-size: clamp(41px, 11.5vw, 50px); }
	.emanContactHeroCopy > p:last-of-type { font-size: 13px; line-height: 1.7; }
	.emanContactHeroActions { width: 100%; align-items: stretch; flex-direction: column; gap: 14px; }
	.emanContactHeroActions .emanTextLink { width: max-content; }

	/* Product size buttons: comfortable two-column tap targets. */
	.emanPerfumeSize__options,
	.emanVariableSize__buttons { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
	.emanPerfumeSize__button,
	.emanVariableSize__button { min-height: 56px; }

	/* Footer becomes an easy-to-read single column on narrow phones. */
	.footerLinks { grid-template-columns: 1fr !important; gap: 30px; }
	.footerLinks > div:last-child { grid-column: auto !important; }
	.footerBottom { align-items: flex-start; flex-direction: column; gap: 12px; }
}

@media (max-width: 380px) {
	.headerInner { padding-left: 10px; padding-right: 10px; grid-template-columns: 26px minmax(60px,1fr) auto !important; gap: 4px !important; }
	.brandLogo--header { width: 72px !important; }
	.brandLogoImage { max-width: 68px !important; }
	.emanCurrencyMenu > summary { padding: 0 6px; }
	.emanCurrencyMenu__symbol { display: none; }
	.hero h1 { font-size: 42px; }
}


/* === v3.6.8 — iPhone horizontal-scroll hard fix ===
 * Do not force 100vw/100dvw on the document: on Safari those units can become
 * wider than the layout viewport and create sideways page movement. Keep the
 * page at 100% of its containing viewport and clip decorative overflow.
 */
@media (max-width: 900px) {
	html,
	body {
		width: 100% !important;
		min-width: 0 !important;
		max-width: 100% !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
		padding-left: 0 !important;
		padding-right: 0 !important;
		overflow-x: hidden !important;
		overflow-x: clip !important;
	}

	html { overscroll-behavior-x: none; }
	body {
		position: relative;
		touch-action: pan-y pinch-zoom;
	}

	/* The WordPress admin toolbar is visible while the owner is logged in and
	 * must not be allowed to impose a desktop minimum width on the phone. */
	#wpadminbar {
		width: 100% !important;
		min-width: 0 !important;
		max-width: 100% !important;
		overflow-x: hidden !important;
	}

	#page,
	.site,
	.site-content,
	#content,
	.site-main,
	body > main,
	body > footer,
	body > .announcement,
	body > .siteHeader {
		width: 100% !important;
		min-width: 0 !important;
		max-width: 100% !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
	}

	/* Header and announcement use edge anchoring rather than viewport units. */
	body > .announcement,
	body > .siteHeader {
		left: 0 !important;
		right: 0 !important;
	}

	body > main,
	.site-main,
	.hero,
	.heroSlider,
	.heroSlide,
	.storeSection,
	.storySection,
	.offersSection,
	.collectionStories,
	.homeContact,
	.dualContactSection,
	.serviceStrip,
	.siteFooter {
		overflow-x: hidden !important;
		overflow-x: clip !important;
	}

	/* Mobile catalog is vertical. Horizontal product/family carousels were a
	 * second source of sideways gestures and are disabled on phones. */
	.productGrid,
	.familyVisuals {
		display: grid !important;
		grid-template-columns: 1fr !important;
		width: 100% !important;
		max-width: 100% !important;
		overflow-x: visible !important;
		scroll-snap-type: none !important;
	}
	.productCard,
	.familyCard {
		width: 100% !important;
		min-width: 0 !important;
		max-width: 100% !important;
		flex: none !important;
	}
	.familyPills,
	.offerFilters {
		max-width: 100% !important;
		flex-wrap: wrap !important;
		overflow-x: visible !important;
	}

	/* Long addresses, labels and WooCommerce content wrap instead of widening
	 * the document. */
	.woocommerce,
	.woocommerce-page,
	.woocommerce form,
	.woocommerce table,
	.woocommerce table.shop_table,
	.departmentContact,
	.departmentContactGrid,
	.departmentContact__actions,
	.departmentContact__form,
	.footerLinks,
	.headerInner,
	.headerActions,
	.emanCurrencyMenu {
		min-width: 0 !important;
		max-width: 100% !important;
	}
	.departmentContact a,
	.departmentContact p,
	.departmentContact label,
	.woocommerce td,
	.woocommerce th {
		overflow-wrap: anywhere;
		word-break: break-word;
	}
}


/* === v3.6.9 — mobile products side-by-side, page stays fixed ===
 * Keep the document locked to the phone width, but present perfume cards
 * horizontally as a two-column grid instead of one oversized vertical card.
 */
@media (max-width: 900px) {
	.productGrid,
	.productGrid--new,
	.productGrid--offers {
		display: grid !important;
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		gap: 20px 12px !important;
		width: 100% !important;
		max-width: 100% !important;
		overflow: visible !important;
		overflow-x: visible !important;
		scroll-snap-type: none !important;
	}

	.productGrid .productCard,
	.productGrid--new .productCard,
	.productGrid--offers .productCard {
		width: 100% !important;
		min-width: 0 !important;
		max-width: 100% !important;
		flex: none !important;
		margin: 0 !important;
	}

	.productGrid .productVisual {
		width: 100%;
		aspect-ratio: 4 / 5.15;
	}

	.productGrid .productMeta {
		padding-top: 11px;
	}

	.productGrid .productMeta h3 {
		font-size: clamp(16px, 4.4vw, 20px);
		line-height: 1.15;
	}

	.productGrid .productMeta p,
	.productGrid .productPrice {
		font-size: 9px;
		line-height: 1.45;
	}

	/* WooCommerce Shop / categories also remain two-per-row on phones. */
	.woocommerce ul.products,
	.woocommerce-page ul.products {
		display: grid !important;
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		gap: 24px 12px !important;
		width: 100% !important;
		max-width: 100% !important;
	}

	.woocommerce ul.products li.product,
	.woocommerce-page ul.products li.product {
		width: 100% !important;
		min-width: 0 !important;
		max-width: 100% !important;
		margin: 0 !important;
		float: none !important;
	}

	.woocommerce ul.products li.product a img {
		width: 100% !important;
		height: auto !important;
		aspect-ratio: 4 / 5.15;
		object-fit: contain;
	}

	.woocommerce ul.products li.product .woocommerce-loop-product__title {
		font-size: clamp(16px, 4.4vw, 20px) !important;
		line-height: 1.15;
	}

	.woocommerce ul.products li.product .price {
		font-size: 10px !important;
	}

	/* Keep all horizontal movement contained: no sideways page drag. */
	html, body, #page, .site, .site-content, #content, .site-main {
		overflow-x: hidden !important;
		overflow-x: clip !important;
		max-width: 100% !important;
	}
}

@media (max-width: 560px) {
	.productGrid,
	.productGrid--new,
	.productGrid--offers,
	.woocommerce ul.products,
	.woocommerce-page ul.products {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		gap: 22px 10px !important;
	}

	.productQuickAdd {
		left: 7px;
		right: 7px;
		bottom: 7px;
		padding: 10px 6px;
		font-size: 7px;
		letter-spacing: .07em;
	}

	.productBadge,
	.woocommerce span.onsale {
		padding: 6px 7px;
		font-size: 6.5px;
	}
}


/* === v3.6.10 — horizontal swipe only inside perfume rows on mobile ===
 * The whole website remains locked to the viewport. Only homepage perfume
 * product rows can be swiped left/right.
 */
@media (max-width: 900px) {
    html, body, #page, .site, .site-content, #content, .site-main {
        width: 100% !important;
        max-width: 100% !important;
        overflow-x: hidden !important;
        overflow-x: clip !important;
    }

    .productGrid,
    .productGrid--new,
    .productGrid--offers {
        display: flex !important;
        grid-template-columns: none !important;
        gap: 12px !important;
        width: 100% !important;
        max-width: 100% !important;
        overflow-x: auto !important;
        overflow-y: hidden !important;
        padding: 0 0 14px !important;
        margin: 0 !important;
        scroll-snap-type: x mandatory !important;
        scroll-padding-inline: 0;
        overscroll-behavior-x: contain;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
        touch-action: pan-x pan-y;
    }

    .productGrid::-webkit-scrollbar,
    .productGrid--new::-webkit-scrollbar,
    .productGrid--offers::-webkit-scrollbar {
        display: none;
        width: 0;
        height: 0;
    }

    .productGrid .productCard,
    .productGrid--new .productCard,
    .productGrid--offers .productCard {
        flex: 0 0 min(74vw, 300px) !important;
        width: min(74vw, 300px) !important;
        min-width: min(74vw, 300px) !important;
        max-width: min(74vw, 300px) !important;
        margin: 0 !important;
        scroll-snap-align: start;
        scroll-snap-stop: normal;
    }

    .productGrid .productVisual {
        width: 100% !important;
        aspect-ratio: 4 / 5.15;
    }

    /* The normal Shop/category page is NOT a sideways slider. */
    .woocommerce ul.products,
    .woocommerce-page ul.products {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 24px 12px !important;
        width: 100% !important;
        max-width: 100% !important;
        overflow: visible !important;
    }
}

@media (max-width: 560px) {
    .productGrid,
    .productGrid--new,
    .productGrid--offers {
        gap: 10px !important;
    }

    .productGrid .productCard,
    .productGrid--new .productCard,
    .productGrid--offers .productCard {
        flex-basis: 78vw !important;
        width: 78vw !important;
        min-width: 78vw !important;
        max-width: 78vw !important;
    }
}
/* === v3.6.12 — Hero slider restored on mobile ===
 * Banner 1/2/3 can rotate automatically again on phones.
 * Horizontal swipe is captured only inside the hero, while the page itself
 * remains locked against side-to-side movement.
 */
@media (max-width: 900px) {
	.heroSlider {
		touch-action: pan-y pinch-zoom;
		overscroll-behavior-x: contain;
	}

	.heroSlider .heroSlide {
		display: block !important;
	}

	.heroSlider .heroControls {
		display: flex !important;
	}

	.heroSlider .heroIndex {
		display: none !important;
	}

	.heroSlider .heroImage {
		transition: transform 8s ease !important;
	}

	.heroSlider .heroSlide {
		transition: opacity .65s ease, visibility .65s ease !important;
	}

	.heroSlider .heroControls {
		left: max(16px, env(safe-area-inset-left)) !important;
		right: auto !important;
		bottom: 18px !important;
		max-width: calc(100% - 32px);
	}

	.heroSlider .heroArrow {
		width: 38px;
		height: 38px;
		flex: 0 0 38px;
	}

	.heroSlider .heroDots {
		max-width: min(150px, 42vw);
		overflow: hidden;
	}
}

/* === v3.7.1 — animated luxury drawer based on supplied design ===
 * Native CSS/JS adaptation: no Tailwind, Canva SDK, or Lucide dependency.
 */
.mobileDrawer,
.mobileDrawerBackdrop { display: none; }

@media (max-width: 800px) {
	.desktopNav { display: none !important; }
	.headerActions > .emanCurrencyMenu { display: none !important; }

	.mobileDrawerBackdrop {
		display: block;
		position: fixed;
		inset: 34px 0 0 0;
		z-index: 1080;
		background: rgba(59,48,33,.22);
		-webkit-backdrop-filter: blur(4px);
		backdrop-filter: blur(4px);
		opacity: 0;
		visibility: hidden;
		pointer-events: none;
		transition: opacity .40s ease, visibility .40s ease;
	}

	.mobileDrawer {
		display: block;
		position: fixed;
		top: 34px;
		bottom: 0;
		left: 0;
		width: min(92vw, 430px);
		max-width: calc(100% - 28px);
		z-index: 1090;
		overflow-y: auto;
		overflow-x: hidden;
		-webkit-overflow-scrolling: touch;
		overscroll-behavior: contain;
		background:
			radial-gradient(circle at 18% 7%, rgba(255,255,255,.96), transparent 34%),
			linear-gradient(155deg, #fffdf8 0%, #f8efd8 54%, #e8d096 100%);
		color: #3b3021;
		box-shadow: 24px 0 58px rgba(59,48,33,.18);
		transform: translate3d(-100%,0,0);
		visibility: hidden;
		transition: transform .50s cubic-bezier(.77,0,.175,1), visibility .50s ease;
		isolation: isolate;
	}

	body.admin-bar .mobileDrawerBackdrop,
	body.admin-bar .mobileDrawer { top: 80px; }

	body.menu-open .mobileDrawerBackdrop {
		opacity: 1;
		visibility: visible;
		pointer-events: auto;
	}

	body.menu-open .mobileDrawer {
		transform: translate3d(0,0,0);
		visibility: visible;
	}

	.mobileDrawerWatermark {
		position: absolute;
		z-index: -1;
		width: 72%;
		max-width: 300px;
		right: -52px;
		top: 18%;
		opacity: 0;
		filter: sepia(.18) saturate(.76);
		transform: translateX(14px);
		transition: opacity 1s ease .35s, transform 1s ease .35s;
		pointer-events: none;
	}

	body.menu-open .mobileDrawerWatermark {
		opacity: .075;
		transform: translateX(0);
	}

	.mobileDrawerGoldLine {
		position: absolute;
		top: 15%;
		left: 31px;
		width: 1px;
		height: 0;
		background: #c9a34f;
		transition: height .80s ease .25s;
		pointer-events: none;
	}

	body.menu-open .mobileDrawerGoldLine { height: 60%; }

	.mobileDrawerClose {
		position: absolute;
		top: 22px;
		right: 22px;
		z-index: 3;
		width: 42px;
		height: 42px;
		padding: 0;
		display: grid;
		place-items: center;
		border: 0;
		background: transparent;
		color: rgba(59,48,33,.62);
		cursor: pointer;
		font: 300 34px/1 var(--sans);
		transition: color .2s ease, transform .2s ease;
	}
	.mobileDrawerClose:hover,
	.mobileDrawerClose:focus-visible {
		color: #b8892f;
		transform: rotate(5deg);
	}

	.mobileDrawerInner {
		min-height: 100%;
		padding: 82px 34px max(34px, env(safe-area-inset-bottom)) 54px;
		box-sizing: border-box;
		display: flex;
		flex-direction: column;
	}

	.mobileDrawerMain {
		display: flex;
		flex-direction: column;
		gap: 21px;
		padding: 6px 0 30px;
	}

	.mobileDrawerNavLink {
		position: relative;
		width: max-content;
		max-width: 100%;
		color: #3b3021;
		font: 400 clamp(30px, 8.6vw, 39px)/1.06 var(--serif);
		letter-spacing: -.025em;
		opacity: 0;
		transform: translateY(20px);
		transition: color .3s ease, opacity .4s ease, transform .4s ease;
	}

	.mobileDrawerNavLink::after {
		content: "";
		position: absolute;
		left: 0;
		bottom: -6px;
		width: 0;
		height: 1px;
		background: #c9a34f;
		transition: width .3s ease;
	}

	.mobileDrawerNavLink:hover,
	.mobileDrawerNavLink:focus-visible { color: #b8892f; }
	.mobileDrawerNavLink:hover::after,
	.mobileDrawerNavLink:focus-visible::after { width: 100%; }

	body.menu-open .mobileDrawerNavLink {
		opacity: 1;
		transform: translateY(0);
	}
	body.menu-open .mobileDrawerNavLink:nth-child(1) { transition-delay: .16s; }
	body.menu-open .mobileDrawerNavLink:nth-child(2) { transition-delay: .25s; }
	body.menu-open .mobileDrawerNavLink:nth-child(3) { transition-delay: .34s; }

	.mobileDrawerAccount,
	.mobileDrawerSection {
		padding: 20px 0 22px;
		border-top: 1px solid rgba(74,56,24,.13);
	}

	.mobileDrawerLabel {
		display: block;
		margin: 0 0 12px;
		color: rgba(59,48,33,.52);
		font: 700 8px/1 var(--sans);
		letter-spacing: .18em;
		text-transform: uppercase;
	}

	.mobileDrawerAccountActions {
		display: grid;
		grid-template-columns: 1fr;
		gap: 8px;
	}
	.mobileDrawerAccountActions--guest {
		grid-template-columns: repeat(2,minmax(0,1fr));
	}

	.mobileDrawerAccountButton {
		min-height: 46px;
		padding: 0 14px;
		display: inline-flex;
		align-items: center;
		justify-content: center;
		border: 1px solid rgba(74,56,24,.20);
		background: rgba(255,255,255,.44);
		color: #4a3818;
		font: 700 9px/1 var(--sans);
		letter-spacing: .10em;
		text-transform: uppercase;
		transition: background .2s ease, border-color .2s ease, color .2s ease, transform .2s ease;
	}
	.mobileDrawerAccountButton:hover,
	.mobileDrawerAccountButton:focus-visible {
		transform: translateY(-1px);
		border-color: #b8892f;
	}
	.mobileDrawerAccountButton.is-primary {
		border-color: #b8892f;
		background: linear-gradient(135deg,#b8892f,#d6ad55);
		color: #fff;
	}

	.mobileDrawerCategories {
		display: flex;
		flex-direction: column;
	}
	.mobileDrawerCategories a {
		width: max-content;
		max-width: 100%;
		padding: 6px 0;
		color: rgba(59,48,33,.80);
		font: 400 clamp(19px,5.3vw,24px)/1.16 var(--serif);
		letter-spacing: -.015em;
		transition: color .2s ease, transform .2s ease;
	}
	.mobileDrawerCategories a:hover,
	.mobileDrawerCategories a:focus-visible {
		color: #b8892f;
		transform: translateX(3px);
	}

	.mobileDrawerCurrencyChoices {
		display: grid;
		grid-template-columns: repeat(2,minmax(0,1fr));
		gap: 8px;
	}
	.mobileDrawerCurrencyChoice {
		min-height: 45px;
		padding: 0 13px;
		display: flex;
		align-items: center;
		justify-content: space-between;
		border: 1px solid rgba(74,56,24,.20);
		background: rgba(255,255,255,.42);
		color: #4a3818;
		font: 800 10px/1 var(--sans);
		letter-spacing: .05em;
	}
	.mobileDrawerCurrencyChoice strong { color: #8e6824; font-size: 13px; }
	.mobileDrawerCurrencyChoice.is-active {
		background: linear-gradient(135deg,#b8892f,#d6ad55);
		border-color: #b8892f;
		color: #fff;
	}
	.mobileDrawerCurrencyChoice.is-active strong { color: #fff; }
	.mobileDrawerCurrency small {
		display: block;
		margin-top: 9px;
		color: rgba(74,56,24,.55);
		font-size: 8px;
		letter-spacing: .05em;
	}

	.mobileDrawerTagline {
		margin: 16px 0 0;
		padding: 19px 0 0;
		border-top: 1px solid rgba(74,56,24,.11);
		color: rgba(59,48,33,.50);
		font: 600 8px/1.6 var(--sans);
		letter-spacing: .14em;
		text-transform: uppercase;
	}

	body.menu-open .siteHeader {
		z-index: 1100;
		background: transparent !important;
		border-bottom-color: transparent !important;
	}
	body.menu-open .brandLogo,
	body.menu-open .headerActions {
		opacity: 0;
		pointer-events: none;
	}
	body.menu-open .menuToggle {
		opacity: 0;
		pointer-events: none;
	}

	html, body, #page, .site, .site-content, #content, .site-main {
		max-width: 100% !important;
		overflow-x: clip !important;
	}
}

@media (prefers-reduced-motion: reduce) and (max-width: 800px) {
	.mobileDrawer,
	.mobileDrawerBackdrop,
	.mobileDrawerWatermark,
	.mobileDrawerGoldLine,
	.mobileDrawerNavLink {
		transition-duration: .01ms !important;
		transition-delay: 0ms !important;
	}
}


/* === v3.7.2 — remove white iPhone/Safari strip above the website === */
@media (max-width: 800px) {
	/*
	 * Safari may expose the page canvas behind the iPhone status/safe-area.
	 * Paint that canvas with the same champagne-gold used by the header.
	 */
	html {
		background:
			linear-gradient(90deg, #523c16 0%, #8e6823 56%, #d6ad55 100%) !important;
	}

	/* Fill the safe-area itself when Safari gives the page access to it. */
	body::before {
		content: "";
		position: fixed;
		z-index: 2147483000;
		top: 0;
		left: 0;
		right: 0;
		height: env(safe-area-inset-top, 0px);
		pointer-events: none;
		background: linear-gradient(90deg, #523c16 0%, #8e6823 56%, #d6ad55 100%);
	}

	/* Keep the visible announcement/header attached directly to the top canvas. */
	.announcement {
		margin-top: 0 !important;
	}
}


/* === v3.7.3 — drawer/header overlap fix === */
@media (max-width: 800px) {
	/*
	 * When the dedicated mobile drawer is open, the normal storefront header
	 * must not sit above it. Previously the header became transparent but kept
	 * backdrop-filter: blur(), creating the large white/glass strip visible at
	 * the top of the drawer in iPhone Safari.
	 */
	body.menu-open .siteHeader {
		opacity: 0 !important;
		visibility: hidden !important;
		pointer-events: none !important;
		background: transparent !important;
		border: 0 !important;
		box-shadow: none !important;
		backdrop-filter: none !important;
		-webkit-backdrop-filter: none !important;
	}

	/* The drawer starts immediately below the small announcement strip. */
	body.menu-open .mobileDrawer,
	body.menu-open .mobileDrawerBackdrop {
		top: 34px !important;
	}

	/* WordPress' logged-in admin bar has its own reserved height. */
	body.admin-bar.menu-open .mobileDrawer,
	body.admin-bar.menu-open .mobileDrawerBackdrop {
		top: 80px !important;
	}

	/* Keep the dedicated drawer and its own close button above everything else. */
	body.menu-open .mobileDrawerBackdrop { z-index: 1190 !important; }
	body.menu-open .mobileDrawer { z-index: 1200 !important; }
	body.menu-open .mobileDrawerClose { z-index: 1202 !important; }
}


/* === v3.7.4 — modern hero CTA arrow + drawer order === */
.heroCtaLink {
	gap: 18px !important;
}

.heroCtaArrow {
	width: 25px;
	height: 25px;
	flex: 0 0 25px;
	display: inline-grid;
	place-items: center;
	border: 1px solid rgba(255,255,255,.58);
	border-radius: 50%;
	background: rgba(255,255,255,.08);
	transition: transform .25s ease, background .25s ease, border-color .25s ease;
}

.heroCtaArrow svg {
	width: 13px;
	height: 13px;
	display: block;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.8;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.heroCtaLink:hover .heroCtaArrow,
.heroCtaLink:focus-visible .heroCtaArrow {
	transform: translate(2px,-2px);
	background: rgba(255,255,255,.18);
	border-color: rgba(255,255,255,.88);
}

@media (max-width: 800px) {
	.heroCtaLink {
		gap: 14px !important;
	}

	.heroCtaArrow {
		width: 24px;
		height: 24px;
		flex-basis: 24px;
	}

	.heroCtaArrow svg {
		width: 12px;
		height: 12px;
	}
}


/* === v3.7.5 — modern Story CTA arrow === */
.storyCtaLink {
    gap: 16px !important;
}
.storyCtaArrow {
    width: 26px;
    height: 26px;
    flex: 0 0 26px;
    display: inline-grid;
    place-items: center;
    border: 1px solid rgba(74,56,24,.30);
    border-radius: 50%;
    background: rgba(255,255,255,.34);
    color: #4a3818;
    transition: transform .25s ease, background .25s ease, border-color .25s ease, color .25s ease;
}
.storyCtaArrow svg {
    width: 13px;
    height: 13px;
    display: block;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}
.storyCtaLink:hover .storyCtaArrow,
.storyCtaLink:focus-visible .storyCtaArrow {
    transform: translate(2px,-2px);
    background: #d6ad55;
    border-color: #d6ad55;
    color: #fff;
}
@media (max-width: 800px) {
    .storyCtaLink { gap: 13px !important; }
    .storyCtaArrow {
        width: 24px;
        height: 24px;
        flex-basis: 24px;
    }
    .storyCtaArrow svg {
        width: 12px;
        height: 12px;
    }
}


/* === v3.7.6 — flexible modern bottle sizes, 1–200 ml === */
.emanPerfumeSize {
	margin: 22px 0 20px;
	padding: 18px;
	border: 1px solid rgba(74,56,24,.12);
	border-radius: 20px;
	background:
		radial-gradient(circle at 100% 0, rgba(214,173,85,.16), transparent 34%),
		linear-gradient(145deg, rgba(255,253,248,.98), rgba(248,239,216,.72));
	box-shadow: 0 12px 34px rgba(74,56,24,.05);
}

.emanPerfumeSize__head,
.emanVariableSize__head {
	margin-bottom: 13px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
}

.emanPerfumeSize__head > span,
.emanVariableSize__label {
	margin: 0;
	color: var(--ink);
	font: 800 9px/1 var(--sans);
	letter-spacing: .14em;
	text-transform: uppercase;
}

.emanPerfumeSize__head > small,
.emanVariableSize__note {
	color: #8d7956;
	font: 700 8px/1 var(--sans);
	letter-spacing: .04em;
}

.emanPerfumeSize__options,
.emanVariableSize__buttons {
	display: flex !important;
	flex-wrap: wrap;
	gap: 8px;
	grid-template-columns: none !important;
}

.emanPerfumeSize__option {
	flex: 0 0 auto;
}

.emanPerfumeSize__button,
.emanVariableSize__button {
	min-height: 45px;
	padding: 0 15px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 9px;
	border: 1px solid rgba(74,56,24,.16);
	border-radius: 999px;
	background: rgba(255,255,255,.78);
	color: var(--ink);
	box-shadow: 0 4px 14px rgba(74,56,24,.035);
	cursor: pointer;
	white-space: nowrap;
	transition: border-color .2s ease, background .2s ease, color .2s ease, box-shadow .2s ease, transform .2s ease;
}

.emanPerfumeSize__button strong,
.emanVariableSize__button {
	font: 800 12px/1 var(--sans);
	letter-spacing: .01em;
}

.emanPerfumeSize__button small {
	color: #8e6824;
	font: 700 9px/1 var(--sans);
}

.emanPerfumeSize__option:hover .emanPerfumeSize__button,
.emanVariableSize__button:hover {
	border-color: rgba(184,137,47,.78);
	transform: translateY(-1px);
	box-shadow: 0 8px 18px rgba(74,56,24,.07);
}

.emanPerfumeSize__option input:checked + .emanPerfumeSize__button,
.emanVariableSize__button.is-active {
	border-color: #b8892f;
	background: linear-gradient(135deg,#9f7327,#d6ad55);
	color: #fff;
	box-shadow: 0 7px 18px rgba(184,137,47,.20);
}

.emanPerfumeSize__option input:checked + .emanPerfumeSize__button small {
	color: rgba(255,255,255,.86);
}

.emanVariableSize__button[disabled] {
	opacity: .38;
	cursor: not-allowed;
	transform: none;
	box-shadow: none;
}

@media (max-width: 760px) {
	.emanPerfumeSize,
	.emanVariableSize {
		margin: 17px 0 18px;
	}

	.emanPerfumeSize {
		padding: 15px;
		border-radius: 17px;
	}

	.emanPerfumeSize__head,
	.emanVariableSize__head {
		align-items: flex-start;
		flex-direction: column;
		gap: 5px;
	}

	.emanPerfumeSize__options,
	.emanVariableSize__buttons {
		flex-wrap: nowrap !important;
		width: 100%;
		max-width: 100%;
		padding: 2px 1px 7px;
		overflow-x: auto;
		overflow-y: hidden;
		scroll-snap-type: x proximity;
		overscroll-behavior-x: contain;
		-webkit-overflow-scrolling: touch;
		scrollbar-width: none;
	}

	.emanPerfumeSize__options::-webkit-scrollbar,
	.emanVariableSize__buttons::-webkit-scrollbar {
		display: none;
	}

	.emanPerfumeSize__option,
	.emanVariableSize__button {
		flex: 0 0 auto !important;
		scroll-snap-align: start;
	}

	.emanPerfumeSize__button,
	.emanVariableSize__button {
		min-height: 44px;
		padding-left: 14px;
		padding-right: 14px;
	}
}


/* === v3.7.7 — center product-card Select options / Add to cart buttons === */
.woocommerce ul.products li.product .button,
.woocommerce-page ul.products li.product .button {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: fit-content !important;
	min-width: 120px;
	margin-left: auto !important;
	margin-right: auto !important;
	text-align: center !important;
}

@media (max-width: 800px) {
	.woocommerce ul.products li.product .button,
	.woocommerce-page ul.products li.product .button {
		min-width: 118px;
		max-width: calc(100% - 18px);
		margin-left: auto !important;
		margin-right: auto !important;
		padding-left: 14px !important;
		padding-right: 14px !important;
	}
}


/* === v3.7.8 — clean shop product images ===
 * Removes the two beige bands visible above and below each product photo.
 * Product sizing/layout remains unchanged.
 */
.woocommerce ul.products li.product a img,
.woocommerce-page ul.products li.product a img {
	background: #fff !important;
	border: 0 !important;
	outline: 0 !important;
	box-shadow: none !important;
}


/* === v3.7.9 — luxury product Description + Reviews === */
.woocommerce div.product .woocommerce-tabs {
	clear: both;
	width: 100%;
	margin: clamp(34px, 5vw, 72px) 0 0;
	padding: 0;
}

.woocommerce div.product .woocommerce-tabs ul.tabs {
	width: fit-content;
	max-width: 100%;
	margin: 0 0 18px !important;
	padding: 5px !important;
	display: flex;
	align-items: center;
	gap: 5px;
	overflow-x: auto;
	border: 1px solid rgba(74,56,24,.12) !important;
	border-radius: 999px;
	background: rgba(248,239,216,.62);
	box-shadow: 0 9px 30px rgba(74,56,24,.05);
	scrollbar-width: none;
}

.woocommerce div.product .woocommerce-tabs ul.tabs::-webkit-scrollbar {
	display: none;
}

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

.woocommerce div.product .woocommerce-tabs ul.tabs li {
	margin: 0 !important;
	padding: 0 !important;
	flex: 0 0 auto;
	border: 0 !important;
	border-radius: 999px !important;
	background: transparent !important;
	box-shadow: none !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li a {
	min-height: 42px;
	padding: 0 18px !important;
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	border: 0 !important;
	border-radius: 999px;
	color: rgba(37,31,23,.66) !important;
	background: transparent;
	font: 800 9px/1 var(--sans) !important;
	letter-spacing: .11em;
	text-transform: uppercase;
	white-space: nowrap;
	transition: color .2s ease, background .2s ease, box-shadow .2s ease, transform .2s ease;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li a:hover,
.woocommerce div.product .woocommerce-tabs ul.tabs li a:focus-visible {
	color: var(--ink) !important;
	background: rgba(255,255,255,.62);
}

.woocommerce div.product .woocommerce-tabs ul.tabs li.active a {
	color: #fff !important;
	background: linear-gradient(135deg,#94691f 0%,#c99a3d 55%,#dfbd68 100%);
	box-shadow: 0 7px 18px rgba(148,105,31,.20);
}

.woocommerce div.product .woocommerce-tabs .panel {
	margin: 0 !important;
	padding: clamp(22px, 3vw, 38px) !important;
	border: 1px solid rgba(74,56,24,.10);
	border-radius: 24px;
	background:
		radial-gradient(circle at 100% 0, rgba(214,173,85,.10), transparent 30%),
		linear-gradient(145deg,#fffdf9 0%,#fcf8ef 100%);
	box-shadow: 0 18px 52px rgba(74,56,24,.06);
	color: #5f574d;
	overflow: hidden;
}

.woocommerce div.product .woocommerce-tabs .panel > h2:first-child,
.woocommerce div.product .woocommerce-tabs .panel #reviews #comments > h2,
.woocommerce div.product .woocommerce-tabs .panel #review_form_wrapper .comment-reply-title {
	margin: 0 0 20px;
	color: var(--ink);
	font: 400 clamp(28px, 3.2vw, 44px)/1.05 var(--serif);
	letter-spacing: -.035em;
}

.woocommerce div.product .woocommerce-tabs .panel p,
.woocommerce div.product .woocommerce-tabs .panel li {
	color: #625a50;
	font-size: 15px;
	line-height: 1.85;
}

.woocommerce div.product .woocommerce-tabs .panel p {
	margin: 0 0 17px;
}

.woocommerce div.product .woocommerce-tabs .panel p:last-child {
	margin-bottom: 0;
}

.woocommerce div.product .woocommerce-tabs .panel h3,
.woocommerce div.product .woocommerce-tabs .panel h4 {
	color: var(--ink);
	font-family: var(--serif);
	font-weight: 400;
	letter-spacing: -.02em;
}

/* Reviews list */
.woocommerce #reviews #comments ol.commentlist {
	margin: 0 0 28px !important;
	padding: 0 !important;
	display: grid;
	gap: 12px;
}

.woocommerce #reviews #comments ol.commentlist li {
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
}

.woocommerce #reviews #comments ol.commentlist li .comment_container {
	padding: 18px;
	display: grid;
	grid-template-columns: 46px minmax(0,1fr);
	gap: 14px;
	border: 1px solid rgba(74,56,24,.10);
	border-radius: 18px;
	background: rgba(255,255,255,.66);
}

.woocommerce #reviews #comments ol.commentlist li img.avatar {
	position: static !important;
	width: 46px !important;
	height: 46px !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 50%;
	object-fit: cover;
	background: #f3ead7;
}

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

.woocommerce #reviews #comments ol.commentlist li .meta {
	margin: 0 0 8px !important;
	color: #8a7d6a !important;
	font: 700 9px/1.4 var(--sans) !important;
	letter-spacing: .05em;
	text-transform: uppercase;
}

.woocommerce #reviews #comments ol.commentlist li .description p {
	margin: 0 !important;
	font-size: 14px;
	line-height: 1.7;
}

/* Gold stars */
.woocommerce .star-rating,
.woocommerce p.stars a,
.woocommerce .star-rating::before,
.woocommerce .star-rating span::before {
	color: #b8892f !important;
}

/* Review form */
.woocommerce #review_form #respond {
	margin-top: 10px;
	padding: 22px;
	border: 1px solid rgba(74,56,24,.10);
	border-radius: 20px;
	background: rgba(248,239,216,.38);
}

.woocommerce #review_form #respond p {
	margin: 0 0 15px;
}

.woocommerce #review_form #respond label {
	display: block;
	margin: 0 0 7px;
	color: #756956;
	font: 800 8px/1 var(--sans);
	letter-spacing: .13em;
	text-transform: uppercase;
}

.woocommerce #review_form #respond input[type="text"],
.woocommerce #review_form #respond input[type="email"],
.woocommerce #review_form #respond textarea {
	width: 100%;
	min-height: 48px;
	padding: 12px 14px;
	border: 1px solid rgba(74,56,24,.15);
	border-radius: 12px;
	outline: 0;
	background: #fffdf9;
	color: var(--ink);
	font: 400 16px/1.45 var(--sans);
	box-shadow: none;
	transition: border-color .2s ease, box-shadow .2s ease, background .2s ease;
}

.woocommerce #review_form #respond textarea {
	min-height: 135px;
	resize: vertical;
}

.woocommerce #review_form #respond input:focus,
.woocommerce #review_form #respond textarea:focus {
	border-color: rgba(184,137,47,.72);
	background: #fff;
	box-shadow: 0 0 0 4px rgba(184,137,47,.08);
}

.woocommerce #review_form #respond .form-submit {
	margin-bottom: 0;
}

.woocommerce #review_form #respond .form-submit input#submit {
	min-height: 46px;
	padding: 0 22px !important;
	border: 0 !important;
	border-radius: 999px !important;
	background: linear-gradient(135deg,#94691f 0%,#c99a3d 55%,#dfbd68 100%) !important;
	color: #fff !important;
	font: 800 9px/1 var(--sans) !important;
	letter-spacing: .11em;
	text-transform: uppercase;
	box-shadow: 0 8px 20px rgba(148,105,31,.18);
	transition: transform .2s ease, box-shadow .2s ease;
}

.woocommerce #review_form #respond .form-submit input#submit:hover,
.woocommerce #review_form #respond .form-submit input#submit:focus-visible {
	transform: translateY(-1px);
	box-shadow: 0 11px 24px rgba(148,105,31,.24);
}

@media (max-width: 760px) {
	.woocommerce div.product .woocommerce-tabs {
		margin-top: 28px;
	}

	.woocommerce div.product .woocommerce-tabs ul.tabs {
		width: 100%;
		display: grid;
		grid-template-columns: repeat(2,minmax(0,1fr));
		border-radius: 16px;
		overflow: visible;
	}

	.woocommerce div.product .woocommerce-tabs ul.tabs li,
	.woocommerce div.product .woocommerce-tabs ul.tabs li a {
		width: 100%;
	}

	.woocommerce div.product .woocommerce-tabs ul.tabs li a {
		min-height: 43px;
		padding: 0 9px !important;
		font-size: 8px !important;
	}

	.woocommerce div.product .woocommerce-tabs .panel {
		padding: 20px !important;
		border-radius: 19px;
	}

	.woocommerce div.product .woocommerce-tabs .panel > h2:first-child,
	.woocommerce div.product .woocommerce-tabs .panel #reviews #comments > h2,
	.woocommerce div.product .woocommerce-tabs .panel #review_form_wrapper .comment-reply-title {
		font-size: clamp(27px,8vw,36px);
	}

	.woocommerce div.product .woocommerce-tabs .panel p,
	.woocommerce div.product .woocommerce-tabs .panel li {
		font-size: 14px;
		line-height: 1.75;
	}

	.woocommerce #reviews #comments ol.commentlist li .comment_container {
		grid-template-columns: 38px minmax(0,1fr);
		gap: 11px;
		padding: 14px;
		border-radius: 15px;
	}

	.woocommerce #reviews #comments ol.commentlist li img.avatar {
		width: 38px !important;
		height: 38px !important;
	}

	.woocommerce #review_form #respond {
		padding: 16px;
		border-radius: 16px;
	}
}

/* === v3.8.1 — reference-style scrolling brand banner === */
.brandTicker {
	position: relative;
	width: 100%;
	min-height: 94px;
	display: flex;
	align-items: center;
	overflow: hidden;
	border-top: 1px solid rgba(74,56,24,.09);
	border-bottom: 1px solid rgba(74,56,24,.09);
	background:
		radial-gradient(circle at 78% 20%, rgba(224,203,210,.28), transparent 34%),
		linear-gradient(90deg, #fbf9f5 0%, #f8f2f2 48%, #fbf8f1 100%);
}

.brandTickerTrack {
	width: max-content;
	min-width: max-content;
	display: flex;
	align-items: center;
	will-change: transform;
	animation: emanBrandTicker 28s linear infinite;
}

.brandTickerGroup {
	flex: 0 0 auto;
	display: flex;
	align-items: center;
}

.brandTickerName {
	flex: 0 0 auto;
	padding: 0 clamp(28px, 3.7vw, 64px);
	color: rgba(47,43,39,.67);
	font: 300 clamp(17px, 1.55vw, 23px)/1.15 var(--sans);
	letter-spacing: -.018em;
	white-space: nowrap;
	transition: color .2s ease;
}

.brandTickerName:hover,
.brandTickerName:focus-visible {
	color: #9a742b;
	outline: none;
}

.brandTickerStar {
	flex: 0 0 auto;
	color: rgba(69,61,49,.68);
	font-size: 10px;
	line-height: 1;
}

.brandTickerSingle {
	width: 100%;
	min-height: 94px;
	padding: 0 22px;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: clamp(27px, 4vw, 54px);
}

.brandTickerSingle .brandTickerName {
	padding: 0;
}

@keyframes emanBrandTicker {
	from { transform: translate3d(0,0,0); }
	to   { transform: translate3d(-12.5%,0,0); }
}

@media (max-width: 800px) {
	.brandTicker,
	.brandTickerSingle {
		min-height: 78px;
	}

	.brandTickerTrack {
		animation-duration: 22s;
	}

	.brandTickerName {
		padding-left: 28px;
		padding-right: 28px;
		font-size: 17px;
	}

	.brandTickerStar {
		font-size: 8px;
	}

	.brandTickerSingle {
		gap: 25px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.brandTickerTrack {
		animation: none !important;
	}
}


/* === v3.8.2 — always-moving brand ticker === */
.brandTicker--moving .brandTickerTrack {
	animation-name: emanBrandTicker !important;
	animation-duration: 24s !important;
	animation-timing-function: linear !important;
	animation-iteration-count: infinite !important;
	animation-play-state: running !important;
}

.brandTicker--moving:hover .brandTickerTrack,
.brandTicker--moving:focus-within .brandTickerTrack {
	animation-play-state: running !important;
}

/* Keep enough horizontal spacing so a single configured brand still creates
   a smooth, full-width continuous marquee on desktop and mobile. */
.brandTickerGroup {
	min-width: max-content;
}

.brandTickerGroup .brandTickerName {
	padding-left: clamp(34px, 4.5vw, 76px);
	padding-right: clamp(34px, 4.5vw, 76px);
}

@media (max-width: 800px) {
	.brandTicker--moving .brandTickerTrack {
		animation-duration: 18s !important;
	}
}


/* === v3.8.3 — remove white strip between announcement and solid header === */
@media (max-width: 800px) {
	/*
	 * Non-home pages use .siteHeader--solid (relative positioning).
	 * The generic mobile top:32px rule was moving that relative header down
	 * while keeping its original space in the layout, creating the blank strip.
	 */
	.siteHeader.siteHeader--solid {
		top: 0 !important;
		margin-top: 0 !important;
	}

	body.admin-bar .siteHeader.siteHeader--solid {
		top: 0 !important;
	}
}


/* === v3.8.4 — phone-number section in Retail + Wholesale enquiries === */
.departmentContact__actions--primary {
	grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	gap: 12px !important;
}

.departmentContact__directCard {
	min-height: 104px;
	padding: 16px 17px;
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 7px;
	border: 1px solid rgba(74,56,24,.12);
	border-radius: 15px;
	background:
		radial-gradient(circle at 100% 0, rgba(214,173,85,.09), transparent 38%),
		#fffdf8;
	transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}

.departmentContact__directCard:hover {
	transform: translateY(-1px);
	border-color: rgba(184,137,47,.45);
	box-shadow: 0 10px 28px rgba(74,56,24,.06);
}

.departmentContact__directCard > small {
	color: #8e6824;
	font-size: 8px;
	font-weight: 800;
	letter-spacing: .13em;
	text-transform: uppercase;
}

.departmentContact__directValue {
	width: fit-content;
	max-width: 100%;
	color: var(--ink);
}

.departmentContact__directValue strong {
	display: block;
	overflow-wrap: anywhere;
	color: var(--ink);
	font-size: 13px;
	line-height: 1.35;
}

.departmentContact__whatsapp {
	width: fit-content;
	display: inline-flex;
	align-items: center;
	gap: 6px;
	color: #8e6824;
	font-size: 9px;
	font-weight: 800;
	letter-spacing: .08em;
	text-transform: uppercase;
}

.departmentContact__whatsapp span {
	font-size: 11px;
}

.departmentContact__emptyValue {
	color: rgba(37,31,23,.34);
	font: 400 20px/1 var(--serif);
}

@media (max-width: 560px) {
	.departmentContact__actions--primary {
		grid-template-columns: 1fr !important;
	}

	.departmentContact__directCard {
		min-height: 92px;
	}
}

/* === v3.8.6 — fully custom Topic dropdown including the opened list === */
.departmentContact__form .contactTopicLabel {
	gap: 8px;
}

.contactTopicSelect {
	position: relative;
	z-index: 20;
	display: block;
	width: 100%;
}

.sillage-js .contactTopicSelect__native {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	padding: 0 !important;
	margin: -1px !important;
	overflow: hidden !important;
	clip: rect(0,0,0,0) !important;
	white-space: nowrap !important;
	border: 0 !important;
	opacity: 0 !important;
	pointer-events: none !important;
}

/* No-JS fallback keeps the normal select usable. */
html:not(.sillage-js) .contactTopicSelect__button,
html:not(.sillage-js) .contactTopicSelect__menu {
	display: none !important;
}

.contactTopicSelect__button {
	width: 100%;
	min-height: 54px;
	margin: 0;
	padding: 10px 11px 10px 16px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 14px;
	border: 1px solid rgba(74,56,24,.15);
	border-radius: 15px;
	background:
		radial-gradient(circle at 100% 0, rgba(214,173,85,.13), transparent 42%),
		linear-gradient(145deg,#fffdf9 0%,#fbf5e9 100%);
	color: var(--ink);
	font: 600 13px/1.35 var(--sans);
	text-align: left;
	cursor: pointer;
	box-shadow: 0 7px 22px rgba(74,56,24,.035);
	transition:
		border-color .22s ease,
		box-shadow .22s ease,
		transform .22s ease,
		background .22s ease;
}

.contactTopicSelect__button:hover {
	transform: translateY(-1px);
	border-color: rgba(184,137,47,.52);
	box-shadow: 0 10px 26px rgba(74,56,24,.055);
}

.contactTopicSelect__button:focus-visible,
.contactTopicSelect.is-open .contactTopicSelect__button {
	outline: none;
	border-color: #b8892f;
	box-shadow: 0 0 0 4px rgba(214,173,85,.11), 0 10px 28px rgba(74,56,24,.06);
}

.contactTopicSelect__icon {
	flex: 0 0 auto;
	width: 34px;
	height: 34px;
	display: grid;
	place-items: center;
	border: 1px solid rgba(184,137,47,.30);
	border-radius: 50%;
	background: linear-gradient(145deg,rgba(255,255,255,.94),rgba(244,229,196,.88));
	color: #8e6824;
	box-shadow: 0 4px 12px rgba(74,56,24,.055);
	transition: transform .25s ease, background .22s ease, color .22s ease, border-color .22s ease;
}

.contactTopicSelect.is-open .contactTopicSelect__icon {
	transform: rotate(180deg);
	border-color: #b8892f;
	background: linear-gradient(135deg,#9f7327,#d6ad55);
	color: #fff;
}

.contactTopicSelect__icon svg {
	width: 14px;
	height: 14px;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.8;
	stroke-linecap: round;
	stroke-linejoin: round;
}

/* This is the OPEN list itself — no browser/Windows blue native list. */
.contactTopicSelect__menu {
	position: absolute;
	z-index: 999;
	left: 0;
	right: 0;
	top: calc(100% + 8px);
	padding: 7px;
	border: 1px solid rgba(74,56,24,.13);
	border-radius: 17px;
	background:
		radial-gradient(circle at 100% 0, rgba(214,173,85,.11), transparent 35%),
		rgba(255,253,248,.98);
	box-shadow: 0 20px 48px rgba(53,40,17,.16);
	backdrop-filter: blur(18px);
	-webkit-backdrop-filter: blur(18px);
	transform-origin: top center;
	animation: emanTopicMenuIn .18s ease both;
}

.contactTopicSelect__menu[hidden] {
	display: none !important;
}

@keyframes emanTopicMenuIn {
	from {
		opacity: 0;
		transform: translateY(-5px) scale(.985);
	}
	to {
		opacity: 1;
		transform: translateY(0) scale(1);
	}
}

.contactTopicSelect__option {
	width: 100%;
	min-height: 46px;
	padding: 10px 12px 10px 14px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 14px;
	border: 0;
	border-radius: 11px;
	background: transparent;
	color: #4b4338;
	font: 600 13px/1.35 var(--sans);
	text-align: left;
	cursor: pointer;
	transition: background .16s ease, color .16s ease, transform .16s ease;
}

.contactTopicSelect__option + .contactTopicSelect__option {
	margin-top: 2px;
}

.contactTopicSelect__option:hover,
.contactTopicSelect__option:focus-visible {
	outline: none;
	background: rgba(214,173,85,.13);
	color: var(--ink);
	transform: translateX(2px);
}

.contactTopicSelect__option.is-selected {
	background: linear-gradient(135deg,#9f7327 0%,#c89535 54%,#d6ad55 100%);
	color: #fff;
	box-shadow: 0 6px 16px rgba(159,115,39,.17);
}

.contactTopicSelect__check {
	flex: 0 0 auto;
	width: 22px;
	height: 22px;
	display: grid;
	place-items: center;
	border: 1px solid rgba(74,56,24,.12);
	border-radius: 50%;
	color: transparent;
	font-size: 10px;
}

.contactTopicSelect__option.is-selected .contactTopicSelect__check {
	border-color: rgba(255,255,255,.42);
	background: rgba(255,255,255,.13);
	color: #fff;
}

@media (max-width: 560px) {
	.contactTopicSelect__button {
		min-height: 52px;
		padding-left: 14px;
		font-size: 14px;
	}

	.contactTopicSelect__icon {
		width: 32px;
		height: 32px;
	}

	.contactTopicSelect__menu {
		top: calc(100% + 7px);
		border-radius: 15px;
		padding: 6px;
	}

	.contactTopicSelect__option {
		min-height: 48px;
		font-size: 14px;
	}
}


/* === v3.8.7 — social icons at the end of the footer === */
.footerBottom {
	padding-top: 25px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	border-top: 1px solid rgba(255,255,255,.10);
}

.footerBottom .copyright {
	padding-top: 0 !important;
	border-top: 0 !important;
}

.footerSocials {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 9px;
}

.footerSocial {
	width: 39px;
	height: 39px;
	display: grid;
	place-items: center;
	flex: 0 0 39px;
	border: 1px solid rgba(255,255,255,.18);
	border-radius: 50%;
	color: rgba(255,255,255,.72);
	background: rgba(255,255,255,.025);
	transition:
		transform .22s ease,
		color .22s ease,
		border-color .22s ease,
		background .22s ease,
		box-shadow .22s ease;
}

.footerSocial svg {
	width: 17px;
	height: 17px;
	display: block;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.7;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.footerSocial--facebook svg {
	fill: currentColor;
	stroke: none;
}

.footerSocial .socialDot {
	fill: currentColor;
	stroke: none;
}

.footerSocial:hover,
.footerSocial:focus-visible {
	outline: none;
	transform: translateY(-2px);
	color: #fff;
	border-color: rgba(214,173,85,.70);
	background: rgba(184,137,47,.18);
	box-shadow: 0 8px 22px rgba(0,0,0,.22);
}

@media (max-width: 700px) {
	.footerBottom {
		align-items: flex-start;
		flex-direction: column;
		gap: 18px;
	}

	.footerSocials {
		justify-content: flex-start;
	}

	.footerSocial {
		width: 42px;
		height: 42px;
		flex-basis: 42px;
	}
}


/* === v3.8.8 — main product prices at 35px === */
.productPrice,
.woocommerce ul.products li.product .price,
.woocommerce-page ul.products li.product .price,
.woocommerce div.product p.price,
.woocommerce div.product span.price {
	font-size: 35px !important;
	line-height: 1.1 !important;
}

.productPrice del,
.productPrice ins,
.woocommerce ul.products li.product .price del,
.woocommerce ul.products li.product .price ins,
.woocommerce div.product .price del,
.woocommerce div.product .price ins {
	font-size: inherit !important;
}


/* === v3.8.9 — homepage New In prices at 18px === */
.newSection .productGrid--new .productPrice {
	font-size: 18px !important;
	line-height: 1.2 !important;
}

.newSection .productGrid--new .productPrice del,
.newSection .productGrid--new .productPrice ins {
	font-size: inherit !important;
}


/* === v3.9.0 — compact WhatsApp icon below phone number === */
.departmentContact__directCard--phone {
	align-items: flex-start;
}

.departmentContact__directValue {
	padding: 0 !important;
	min-height: 0 !important;
	display: inline-flex !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	transform: none !important;
}

.departmentContact__whatsappIcon {
	width: 30px !important;
	height: 30px !important;
	min-height: 30px !important;
	margin-top: 3px;
	padding: 0 !important;
	display: inline-grid !important;
	place-items: center;
	flex: 0 0 30px;
	border: 1px solid rgba(142,104,36,.24) !important;
	border-radius: 50% !important;
	background: rgba(184,137,47,.08) !important;
	color: #8e6824 !important;
	box-shadow: none !important;
	transform: none !important;
	transition: background .2s ease, color .2s ease, border-color .2s ease, transform .2s ease !important;
}

.departmentContact__whatsappIcon svg {
	width: 15px;
	height: 15px;
	display: block;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.45;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.departmentContact__whatsappIcon:hover,
.departmentContact__whatsappIcon:focus-visible {
	width: 30px !important;
	height: 30px !important;
	min-height: 30px !important;
	padding: 0 !important;
	transform: translateY(-1px) !important;
	border-color: rgba(184,137,47,.65) !important;
	background: linear-gradient(135deg,#9f7327,#d6ad55) !important;
	color: #fff !important;
	box-shadow: 0 5px 13px rgba(159,115,39,.16) !important;
	outline: none;
}

@media (max-width: 560px) {
	.departmentContact__whatsappIcon,
	.departmentContact__whatsappIcon:hover,
	.departmentContact__whatsappIcon:focus-visible {
		width: 28px !important;
		height: 28px !important;
		min-height: 28px !important;
		flex-basis: 28px;
	}

	.departmentContact__whatsappIcon svg {
		width: 14px;
		height: 14px;
	}
}


/* === v3.9.1 — rounded / pill UI across the website === */

/* Main action buttons: Add to cart, Select options, checkout buttons, etc. */
.productAdd,
.primaryButton,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce div.product form.cart .button,
.wc-block-components-button {
	border-radius: 999px !important;
}

/* Shop product buttons stay centered and pill-shaped. */
.woocommerce ul.products li.product .button,
.woocommerce-page ul.products li.product .button {
	border-radius: 999px !important;
	padding-left: 20px !important;
	padding-right: 20px !important;
}

/* Quantity field beside Add to cart. */
.woocommerce .quantity .qty {
	border-radius: 999px !important;
	text-align: center;
	padding-left: 12px !important;
	padding-right: 12px !important;
}

/* WooCommerce input fields and selectors. */
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row select,
.woocommerce input[type="text"],
.woocommerce input[type="email"],
.woocommerce input[type="tel"],
.woocommerce input[type="password"],
.woocommerce input[type="search"] {
	border-radius: 999px !important;
}

.woocommerce form .form-row textarea,
.woocommerce textarea {
	border-radius: 24px !important;
}

/* Sale / status badges. */
.woocommerce span.onsale {
	border-radius: 999px !important;
	padding-left: 12px !important;
	padding-right: 12px !important;
}

/* Shop sorting selector. */
.emanSort__trigger,
.emanSortTrigger {
	border-radius: 999px !important;
}

.emanSort__icon {
	border-radius: 50% !important;
}

.emanSort__menu,
.emanSortMenu {
	border-radius: 26px !important;
}

.emanSort__option,
.emanSortOption {
	border-radius: 999px !important;
}

/* Bottle-size controls. */
.emanPerfumeSize__button,
.emanVariableSize__button {
	border-radius: 999px !important;
}

/* Currency controls. */
.emanCurrencyMenu__panel {
	border-radius: 24px !important;
}

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

/* Mobile drawer account + currency buttons. */
.mobileDrawerAccountButton,
.mobileDrawerCurrencyChoice {
	border-radius: 999px !important;
}

/* Retail / Wholesale enquiry form fields. */
.departmentContact__form input,
.departmentContact__form select {
	border-radius: 999px !important;
}

.departmentContact__form textarea {
	border-radius: 24px !important;
}

/* Main contact forms. */
.emanContactForm input,
.emanContactForm select,
.maisonContactForm input,
.maisonContactForm select {
	border-radius: 999px !important;
}

.emanContactForm textarea,
.maisonContactForm textarea {
	border-radius: 24px !important;
}

/* Custom Topic dropdown including its opened options list. */
.contactTopicSelect__button {
	border-radius: 999px !important;
}

.contactTopicSelect__menu {
	border-radius: 24px !important;
}

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

/* Review form fields. */
.woocommerce #review_form #respond input[type="text"],
.woocommerce #review_form #respond input[type="email"] {
	border-radius: 999px !important;
}

.woocommerce #review_form #respond textarea {
	border-radius: 24px !important;
}

/* Larger utility boxes get soft round corners rather than becoming circles. */
.woocommerce table.shop_table,
.woocommerce-checkout #payment,
.departmentContact__directCard,
.departmentContact,
.emanPerfumeSize,
.woocommerce div.product .woocommerce-tabs .panel {
	border-radius: 28px !important;
	overflow: hidden;
}

/* Pagination becomes circular. */
.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span {
	border-radius: 50% !important;
}

/* Keep compact icon buttons as true circles. */
.searchClose,
.heroArrow,
.footerSocial,
.departmentContact__whatsappIcon,
.contactTopicSelect__icon,
.emanSort__check {
	border-radius: 50% !important;
}

/* Slightly taller pill buttons look cleaner on touch devices. */
@media (max-width: 800px) {
	.productAdd,
	.primaryButton,
	.woocommerce a.button,
	.woocommerce button.button,
	.woocommerce input.button,
	.woocommerce #respond input#submit,
	.woocommerce div.product form.cart .button,
	.wc-block-components-button {
		min-height: 48px;
	}

	.mobileDrawerAccountButton,
	.mobileDrawerCurrencyChoice {
		min-height: 46px;
	}
}


/* === v3.9.3 — Become a Partner page === */
.partnerPage {
	background: #fbf8f1;
	color: var(--ink);
	overflow: hidden;
}

.partnerHero {
	min-height: 720px;
	display: grid;
	grid-template-columns: minmax(0, 1.05fr) minmax(380px, .95fr);
	background:
		radial-gradient(circle at 88% 30%, rgba(214,173,85,.22), transparent 30%),
		linear-gradient(120deg,#2a2116 0%,#5c431a 52%,#9d772e 100%);
	color: #fff;
}

.partnerHero__copy {
	padding: clamp(78px, 9vw, 142px) var(--page-gutter);
	display: flex;
	flex-direction: column;
	justify-content: center;
}

.partnerHero__copy h1 {
	max-width: 880px;
	margin: 16px 0 25px;
	font: 400 clamp(58px, 7vw, 108px)/.92 var(--serif);
	letter-spacing: -.055em;
}

.partnerHero__copy > p:last-of-type {
	max-width: 660px;
	margin: 0;
	color: rgba(255,255,255,.72);
	font-size: 14px;
	line-height: 1.85;
}

.partnerHero__actions {
	margin-top: 38px;
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 28px;
}

.partnerHero__visual {
	position: relative;
	min-height: 620px;
	display: grid;
	place-items: center;
	isolation: isolate;
}

.partnerHero__visual::before {
	content: "";
	position: absolute;
	inset: 12% 9%;
	border: 1px solid rgba(255,255,255,.10);
	border-radius: 50%;
	z-index: -2;
}

.partnerOrb {
	position: absolute;
	border: 1px solid rgba(255,255,255,.17);
	border-radius: 50%;
	animation: partnerOrbFloat 8s ease-in-out infinite;
}

.partnerOrb--one { width: 72%; aspect-ratio: 1; }
.partnerOrb--two { width: 51%; aspect-ratio: 1; animation-delay: -2.3s; }
.partnerOrb--three { width: 30%; aspect-ratio: 1; animation-delay: -4.6s; }

.partnerHero__mark {
	width: min(54%, 290px);
	aspect-ratio: 1;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	border: 1px solid rgba(255,255,255,.28);
	background: rgba(255,255,255,.05);
	backdrop-filter: blur(14px);
	-webkit-backdrop-filter: blur(14px);
	box-shadow: 0 26px 70px rgba(0,0,0,.18);
	text-align: center;
}

.partnerHero__mark span {
	margin-bottom: 10px;
	color: rgba(255,255,255,.63);
	font: 700 9px/1 var(--sans);
	letter-spacing: .24em;
	text-transform: uppercase;
}

.partnerHero__mark strong {
	font: 400 clamp(27px,3vw,44px)/1 var(--serif);
	letter-spacing: -.04em;
}

@keyframes partnerOrbFloat {
	0%,100% { transform: translate3d(0,0,0) scale(1); }
	50% { transform: translate3d(0,-12px,0) scale(1.015); }
}

.partnerBenefits,
.partnerApplication {
	padding: clamp(74px, 8vw, 118px) var(--page-gutter);
}

.partnerSectionIntro,
.partnerApplication__intro {
	max-width: 860px;
	margin-bottom: clamp(34px, 5vw, 62px);
}

.partnerSectionIntro h2,
.partnerApplication__intro h2 {
	margin: 0;
	font: 400 clamp(43px,5.5vw,76px)/.98 var(--serif);
	letter-spacing: -.045em;
}

.partnerSectionIntro > p:last-child,
.partnerApplication__intro > p:last-child {
	max-width: 650px;
	margin: 22px 0 0;
	color: var(--muted);
	font-size: 14px;
	line-height: 1.8;
}

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

.partnerBenefit {
	min-height: 275px;
	padding: clamp(24px,3vw,38px);
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	border: 1px solid rgba(74,56,24,.10);
	border-radius: 30px;
	background:
		radial-gradient(circle at 100% 0, rgba(214,173,85,.13), transparent 40%),
		#fffdf8;
	box-shadow: 0 14px 38px rgba(74,56,24,.045);
}

.partnerBenefit > span {
	width: 40px;
	height: 40px;
	margin-bottom: auto;
	display: grid;
	place-items: center;
	border: 1px solid rgba(184,137,47,.30);
	border-radius: 50%;
	color: #8e6824;
	font: 800 9px/1 var(--sans);
}

.partnerBenefit h3 {
	margin: 38px 0 12px;
	font: 400 clamp(28px,2.5vw,37px)/1.02 var(--serif);
	letter-spacing: -.03em;
}

.partnerBenefit p {
	margin: 0;
	color: #71685d;
	font-size: 13px;
	line-height: 1.75;
}

.partnerApplication {
	background:
		radial-gradient(circle at 0 0, rgba(214,173,85,.10), transparent 28%),
		#f4ecde;
}

.partnerFormCard {
	max-width: 1120px;
	padding: clamp(24px,4vw,48px);
	border: 1px solid rgba(74,56,24,.11);
	border-radius: 32px;
	background: rgba(255,253,248,.96);
	box-shadow: 0 22px 64px rgba(74,56,24,.075);
}

.partnerForm {
	display: grid;
	gap: 18px;
}

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

.partnerForm label {
	display: grid;
	gap: 8px;
	color: #756956;
	font: 800 8px/1.2 var(--sans);
	letter-spacing: .12em;
	text-transform: uppercase;
}

.partnerForm input,
.partnerForm select,
.partnerForm textarea {
	width: 100%;
	min-height: 52px;
	padding: 13px 16px;
	border: 1px solid rgba(74,56,24,.15);
	border-radius: 999px;
	outline: none;
	background: #fffdf9;
	color: var(--ink);
	font: 500 15px/1.4 var(--sans);
	letter-spacing: 0;
	text-transform: none;
	box-shadow: none;
	transition: border-color .2s ease, box-shadow .2s ease, background .2s ease;
}

.partnerForm textarea {
	min-height: 150px;
	border-radius: 26px;
	resize: vertical;
}

.partnerForm input:focus,
.partnerForm select:focus,
.partnerForm textarea:focus {
	border-color: rgba(184,137,47,.72);
	background: #fff;
	box-shadow: 0 0 0 4px rgba(184,137,47,.09);
}

.partnerSubmit {
	width: max-content;
	min-width: 290px;
	margin-top: 4px;
	border: 0;
	cursor: pointer;
}

@media (max-width: 980px) {
	.partnerHero {
		grid-template-columns: 1fr;
		min-height: auto;
	}
	.partnerHero__visual {
		min-height: 420px;
	}
	.partnerBenefits__grid {
		grid-template-columns: 1fr;
	}
	.partnerBenefit {
		min-height: 220px;
	}
}

@media (max-width: 700px) {
	.partnerHero__copy {
		padding: 62px 18px 48px;
	}
	.partnerHero__copy h1 {
		font-size: clamp(44px,12.5vw,60px);
	}
	.partnerHero__copy > p:last-of-type {
		font-size: 13px;
		line-height: 1.7;
	}
	.partnerHero__actions {
		width: 100%;
		align-items: stretch;
		flex-direction: column;
		gap: 14px;
	}
	.partnerHero__actions .primaryButton {
		width: 100%;
	}
	.partnerHero__visual {
		min-height: 330px;
	}
	.partnerHero__mark {
		width: min(52%, 210px);
	}
	.partnerBenefits,
	.partnerApplication {
		padding: 62px 17px 68px;
	}
	.partnerSectionIntro h2,
	.partnerApplication__intro h2 {
		font-size: clamp(39px,11vw,50px);
	}
	.partnerFormCard {
		padding: 20px 16px;
		border-radius: 24px;
	}
	.partnerForm__grid {
		grid-template-columns: 1fr;
	}
	.partnerForm input,
	.partnerForm select {
		min-height: 50px;
	}
	.partnerSubmit {
		width: 100%;
		min-width: 0;
	}
}

@media (prefers-reduced-motion: reduce) {
	.partnerOrb { animation: none !important; }
}


/* === v3.9.4 — partner form fixes + modern Partnership Type selector === */

/* Form reliability: prevent grid overflow and keep dropdowns above the card. */
.partnerFormCard,
.partnerForm,
.partnerForm__grid,
.partnerField {
	min-width: 0;
}

.partnerFormCard {
	position: relative;
	overflow: visible !important;
}

.partnerForm {
	position: relative;
	z-index: 1;
}

.partnerForm__grid {
	align-items: start;
}

.partnerField {
	position: relative;
	display: grid;
	gap: 8px;
}

.partnerField > label {
	display: block;
	color: #756956;
	font: 800 8px/1.2 var(--sans);
	letter-spacing: .12em;
	text-transform: uppercase;
}

.partnerForm .partnerField input,
.partnerForm .partnerField textarea {
	width: 100%;
	box-sizing: border-box;
}

.partnerField__error {
	margin: 7px 2px 0;
	color: #9d3b30;
	font: 700 11px/1.35 var(--sans);
	letter-spacing: 0;
	text-transform: none;
}

/* The browser/native select remains only as a no-JS fallback. */
.sillage-js .partnerTypeSelect__native {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	padding: 0 !important;
	margin: -1px !important;
	overflow: hidden !important;
	clip: rect(0,0,0,0) !important;
	white-space: nowrap !important;
	border: 0 !important;
	opacity: 0 !important;
	pointer-events: none !important;
}

html:not(.sillage-js) .partnerTypeSelect__button,
html:not(.sillage-js) .partnerTypeSelect__menu {
	display: none !important;
}

.partnerTypeSelect {
	position: relative;
	z-index: 40;
	width: 100%;
}

.partnerTypeSelect__button {
	width: 100%;
	min-height: 58px;
	padding: 8px 9px 8px 17px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	border: 1px solid rgba(74,56,24,.15);
	border-radius: 999px;
	background:
		radial-gradient(circle at 100% 0, rgba(214,173,85,.14), transparent 42%),
		linear-gradient(145deg,#fffefb 0%,#f9f1e3 100%);
	color: var(--ink);
	text-align: left;
	box-shadow: 0 8px 24px rgba(74,56,24,.04);
	cursor: pointer;
	transition:
		border-color .2s ease,
		box-shadow .2s ease,
		transform .2s ease,
		background .2s ease;
}

.partnerTypeSelect__button:hover {
	transform: translateY(-1px);
	border-color: rgba(184,137,47,.48);
	box-shadow: 0 11px 27px rgba(74,56,24,.06);
}

.partnerTypeSelect__button:focus-visible,
.partnerTypeSelect.is-open .partnerTypeSelect__button {
	outline: none;
	border-color: #b8892f;
	box-shadow: 0 0 0 4px rgba(184,137,47,.10), 0 12px 30px rgba(74,56,24,.06);
}

.partnerTypeSelect.has-error .partnerTypeSelect__button {
	border-color: rgba(157,59,48,.72);
	box-shadow: 0 0 0 4px rgba(157,59,48,.08);
}

.partnerTypeSelect__buttonText {
	min-width: 0;
	display: grid;
	gap: 3px;
}

.partnerTypeSelect__eyebrow {
	color: #9a7b43;
	font: 800 7px/1 var(--sans);
	letter-spacing: .13em;
	text-transform: uppercase;
}

.partnerTypeSelect__buttonText > span:last-child {
	overflow: hidden;
	color: #3d352a;
	font: 700 14px/1.2 var(--sans);
	letter-spacing: 0;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.partnerTypeSelect__chevron {
	width: 39px;
	height: 39px;
	flex: 0 0 39px;
	display: grid;
	place-items: center;
	border: 1px solid rgba(184,137,47,.30);
	border-radius: 50%;
	background: rgba(255,255,255,.78);
	color: #8e6824;
	box-shadow: 0 5px 14px rgba(74,56,24,.05);
	transition: transform .22s ease, color .22s ease, background .22s ease, border-color .22s ease;
}

.partnerTypeSelect.is-open .partnerTypeSelect__chevron {
	transform: rotate(180deg);
	border-color: #b8892f;
	background: linear-gradient(135deg,#9f7327,#d6ad55);
	color: #fff;
}

.partnerTypeSelect__chevron svg {
	width: 15px;
	height: 15px;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.8;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.partnerTypeSelect__menu {
	position: absolute;
	z-index: 9999;
	left: 0;
	right: 0;
	top: calc(100% + 9px);
	max-height: min(470px, 62vh);
	padding: 8px;
	overflow-y: auto;
	overscroll-behavior: contain;
	border: 1px solid rgba(74,56,24,.13);
	border-radius: 24px;
	background:
		radial-gradient(circle at 100% 0, rgba(214,173,85,.11), transparent 35%),
		rgba(255,253,248,.985);
	box-shadow: 0 24px 58px rgba(53,40,17,.18);
	backdrop-filter: blur(18px);
	-webkit-backdrop-filter: blur(18px);
	transform-origin: top center;
	animation: partnerTypeMenuIn .18s ease both;
}

.partnerTypeSelect__menu[hidden] {
	display: none !important;
}

@keyframes partnerTypeMenuIn {
	from { opacity: 0; transform: translateY(-6px) scale(.985); }
	to   { opacity: 1; transform: translateY(0) scale(1); }
}

.partnerTypeSelect__option {
	width: 100%;
	min-height: 64px;
	padding: 9px 10px;
	display: grid;
	grid-template-columns: 40px minmax(0,1fr) 25px;
	align-items: center;
	gap: 11px;
	border: 0;
	border-radius: 16px;
	background: transparent;
	color: #4b4338;
	text-align: left;
	cursor: pointer;
	transition: background .16s ease, color .16s ease, transform .16s ease, box-shadow .16s ease;
}

.partnerTypeSelect__option + .partnerTypeSelect__option {
	margin-top: 3px;
}

.partnerTypeSelect__option:hover,
.partnerTypeSelect__option:focus-visible {
	outline: none;
	background: rgba(214,173,85,.13);
	transform: translateX(2px);
}

.partnerTypeSelect__option.is-selected {
	background: linear-gradient(135deg,#9f7327 0%,#c89535 54%,#d6ad55 100%);
	color: #fff;
	box-shadow: 0 8px 18px rgba(159,115,39,.18);
}

.partnerTypeSelect__badge {
	width: 38px;
	height: 38px;
	display: grid;
	place-items: center;
	border: 1px solid rgba(184,137,47,.22);
	border-radius: 50%;
	background: rgba(184,137,47,.08);
	color: #8e6824;
	font: 800 11px/1 var(--sans);
}

.partnerTypeSelect__option.is-selected .partnerTypeSelect__badge {
	border-color: rgba(255,255,255,.34);
	background: rgba(255,255,255,.13);
	color: #fff;
}

.partnerTypeSelect__optionCopy {
	min-width: 0;
	display: grid;
	gap: 4px;
}

.partnerTypeSelect__optionCopy strong {
	font: 700 13px/1.15 var(--sans);
}

.partnerTypeSelect__optionCopy small {
	color: #887d6f;
	font: 500 10px/1.35 var(--sans);
}

.partnerTypeSelect__option.is-selected .partnerTypeSelect__optionCopy small {
	color: rgba(255,255,255,.76);
}

.partnerTypeSelect__check {
	width: 23px;
	height: 23px;
	display: grid;
	place-items: center;
	border: 1px solid rgba(74,56,24,.12);
	border-radius: 50%;
	color: transparent;
	font: 800 10px/1 var(--sans);
}

.partnerTypeSelect__option.is-selected .partnerTypeSelect__check {
	border-color: rgba(255,255,255,.42);
	background: rgba(255,255,255,.14);
	color: #fff;
}

/* Keep the existing form fields clean and aligned on iPhone/Safari. */
.partnerForm input,
.partnerForm textarea,
.partnerForm select {
	-webkit-appearance: none;
	appearance: none;
}

.partnerForm input[type="email"],
.partnerForm input[type="tel"],
.partnerForm input[type="text"] {
	min-width: 0;
}

@media (max-width: 700px) {
	.partnerTypeField {
		z-index: 60;
	}

	.partnerTypeSelect__button {
		min-height: 54px;
		padding-left: 15px;
	}

	.partnerTypeSelect__chevron {
		width: 36px;
		height: 36px;
		flex-basis: 36px;
	}

	.partnerTypeSelect__menu {
		top: calc(100% + 7px);
		max-height: 52vh;
		padding: 6px;
		border-radius: 20px;
	}

	.partnerTypeSelect__option {
		min-height: 61px;
		grid-template-columns: 37px minmax(0,1fr) 23px;
		gap: 9px;
		border-radius: 14px;
	}

	.partnerTypeSelect__badge {
		width: 35px;
		height: 35px;
	}

	.partnerTypeSelect__optionCopy strong {
		font-size: 13px;
	}

	.partnerTypeSelect__optionCopy small {
		font-size: 9px;
	}
}


/* === v3.9.7 — International Call contact option === */
.departmentContact__actions--primary {
	grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}

.departmentContact__directCard--international {
	align-items: flex-start;
}

.departmentContact__internationalValue {
	display: inline-flex !important;
	align-items: center;
	gap: 9px;
	max-width: 100%;
	text-decoration: none;
}

.departmentContact__internationalIcon {
	width: 30px;
	height: 30px;
	flex: 0 0 30px;
	display: grid;
	place-items: center;
	border: 1px solid rgba(142,104,36,.24);
	border-radius: 50%;
	background: rgba(184,137,47,.08);
	color: #8e6824;
	transition: background .2s ease, color .2s ease, border-color .2s ease, transform .2s ease;
}

.departmentContact__internationalIcon svg {
	width: 15px;
	height: 15px;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.5;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.departmentContact__internationalValue:hover .departmentContact__internationalIcon,
.departmentContact__internationalValue:focus-visible .departmentContact__internationalIcon {
	transform: translateY(-1px);
	border-color: rgba(184,137,47,.65);
	background: linear-gradient(135deg,#9f7327,#d6ad55);
	color: #fff;
}

@media (max-width: 900px) {
	.departmentContact__actions--primary {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}
}

@media (max-width: 560px) {
	.departmentContact__actions--primary {
		grid-template-columns: 1fr !important;
	}
}
