/* ==========================================================================
   Anz Maison — Design system Terres de Savon
   Mobile-first · propriétés logiques (LTR/RTL natif) · anti-CLS
   ========================================================================== */

/* ---------- 1. Tokens ---------- */
:root {
	/* Couleurs */
	--anz-ivory: #f7f3ec;
	--anz-sand: #efe7da;
	--anz-ink: #1e1b18;
	--anz-ink-soft: #5c544c;
	--anz-clay: #a9825a;
	--anz-clay-dark: #8a6643;
	--anz-olive: #5f6b4e;
	--anz-line: #e3dbcd;
	--anz-white: #ffffff;
	--anz-danger: #9b3b2f;
	--anz-success: #4f6b45;

	/* Typographies */
	--anz-font-display: "Cormorant Garamond", "Times New Roman", serif;
	--anz-font-body: "Jost", system-ui, -apple-system, "Segoe UI", sans-serif;

	/* Échelle fluide */
	--anz-fs-xs: 0.75rem;
	--anz-fs-sm: 0.875rem;
	--anz-fs-md: 1rem;
	--anz-fs-lg: clamp(1.125rem, 1rem + 0.4vw, 1.25rem);
	--anz-fs-xl: clamp(1.5rem, 1.2rem + 1vw, 2rem);
	--anz-fs-2xl: clamp(2rem, 1.5rem + 2vw, 3rem);
	--anz-fs-3xl: clamp(2.5rem, 1.8rem + 3.2vw, 4.5rem);

	/* Espacements */
	--anz-space-1: 0.25rem;
	--anz-space-2: 0.5rem;
	--anz-space-3: 0.75rem;
	--anz-space-4: 1rem;
	--anz-space-5: 1.5rem;
	--anz-space-6: 2rem;
	--anz-space-7: 3rem;
	--anz-space-8: clamp(4rem, 3rem + 4vw, 7rem);

	/* Formes & mouvement */
	--anz-radius: 2px;
	--anz-radius-lg: 6px;
	--anz-shadow: 0 10px 40px -12px rgba(30, 27, 24, 0.18);
	--anz-ease: cubic-bezier(0.22, 1, 0.36, 1);
	--anz-dur: 0.45s;
	--anz-dur-fast: 0.2s;

	/* Mise en page */
	--anz-container: 1320px;
	--anz-gutter: clamp(1rem, 0.5rem + 2.5vw, 2.5rem);
	--anz-z-toast: 10000;
}

/* Arabe : police adaptée, interlignage plus généreux */
:lang(ar) {
	--anz-font-display: "Noto Naskh Arabic", "Geeza Pro", serif;
	--anz-font-body: "Noto Naskh Arabic", "Geeza Pro", system-ui, sans-serif;
}

/* ---------- 2. Base (scopée à body.anz pour cohabiter avec WoodMart) ---------- */
body.anz {
	font-family: var(--anz-font-body);
	color: var(--anz-ink);
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
}

body.anz :lang(ar) { line-height: 1.8; }

.anz-display,
.anz-h1,
.anz-h2,
.anz-h3 {
	font-family: var(--anz-font-display);
	font-weight: 500;
	line-height: 1.1;
	letter-spacing: -0.01em;
	color: var(--anz-ink);
	margin-block: 0 var(--anz-space-4);
}
.anz-display { font-size: var(--anz-fs-3xl); }
.anz-h1 { font-size: var(--anz-fs-2xl); }
.anz-h2 { font-size: var(--anz-fs-xl); }
.anz-h3 { font-size: var(--anz-fs-lg); }

.anz-eyebrow {
	font-size: var(--anz-fs-xs);
	letter-spacing: 0.22em;
	text-transform: uppercase;
	color: var(--anz-clay-dark);
}
:lang(ar) .anz-eyebrow { letter-spacing: 0; }

.anz-lead {
	font-size: var(--anz-fs-lg);
	font-weight: 300;
	line-height: 1.7;
	color: var(--anz-ink-soft);
	max-inline-size: 62ch;
}

/* ---------- 3. Layout ---------- */
.anz-container {
	inline-size: 100%;
	max-inline-size: var(--anz-container);
	margin-inline: auto;
	padding-inline: var(--anz-gutter);
}

.anz-section { padding-block: var(--anz-space-8); }
.anz-section--sand { background: var(--anz-sand); }

.anz-stack > * + * { margin-block-start: var(--anz-space-4); }

.anz-grid {
	display: grid;
	gap: var(--anz-space-5);
	grid-template-columns: repeat(auto-fill, minmax(min(100%, 16rem), 1fr));
}

/* Médias à ratio réservé : zéro CLS */
.anz-media {
	position: relative;
	aspect-ratio: var(--anz-ratio, 4 / 5);
	overflow: hidden;
	background: var(--anz-sand);
}
.anz-media > img,
.anz-media > video {
	position: absolute;
	inset: 0;
	inline-size: 100%;
	block-size: 100%;
	object-fit: cover;
}

/* ---------- 4. Boutons ---------- */
.anz-btn {
	--_bg: var(--anz-ink);
	--_fg: var(--anz-ivory);
	--_bd: var(--anz-ink);
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: var(--anz-space-2);
	min-block-size: 3rem;
	padding-inline: var(--anz-space-6);
	font: 500 var(--anz-fs-sm)/1 var(--anz-font-body);
	letter-spacing: 0.14em;
	text-transform: uppercase;
	text-decoration: none;
	color: var(--_fg);
	background: var(--_bg);
	border: 1px solid var(--_bd);
	border-radius: var(--anz-radius);
	cursor: pointer;
	transition: background-color var(--anz-dur-fast) var(--anz-ease),
		color var(--anz-dur-fast) var(--anz-ease),
		border-color var(--anz-dur-fast) var(--anz-ease);
}
:lang(ar) .anz-btn { letter-spacing: 0; text-transform: none; }

.anz-btn:hover { --_bg: var(--anz-clay-dark); --_bd: var(--anz-clay-dark); }
.anz-btn--ghost { --_bg: transparent; --_fg: var(--anz-ink); }
.anz-btn--ghost:hover { --_bg: var(--anz-ink); --_fg: var(--anz-ivory); --_bd: var(--anz-ink); }
.anz-btn[disabled],
.anz-btn[aria-disabled="true"] { opacity: 0.5; pointer-events: none; }

/* État de chargement : le libellé reste dans le flux (largeur figée) */
.anz-btn.is-loading { color: transparent; pointer-events: none; }
.anz-btn.is-loading::after {
	content: "";
	position: absolute;
	inline-size: 1.1rem;
	block-size: 1.1rem;
	border: 1.5px solid var(--_fg);
	border-block-start-color: transparent;
	border-radius: 50%;
	animation: anz-spin 0.7s linear infinite;
}

/* ---------- 5. Skeleton ---------- */
.anz-skeleton {
	display: block;
	border-radius: var(--anz-radius);
	background: linear-gradient(90deg, var(--anz-sand) 0%, #f6f0e6 50%, var(--anz-sand) 100%);
	background-size: 200% 100%;
	animation: anz-shimmer 1.4s ease-in-out infinite;
}
.anz-skeleton--text { block-size: 0.9em; margin-block: 0.4em; }
.anz-skeleton--text:last-child { inline-size: 60%; }
.anz-skeleton--media { aspect-ratio: var(--anz-ratio, 4 / 5); }
[dir="rtl"] .anz-skeleton { animation-direction: reverse; }

/* ---------- 6. Notifications ---------- */
.anz-toasts {
	position: fixed;
	inset-block-end: var(--anz-space-4);
	inset-inline: var(--anz-space-4);
	z-index: var(--anz-z-toast);
	display: flex;
	flex-direction: column;
	gap: var(--anz-space-2);
	pointer-events: none;
}
@media (min-width: 640px) {
	.anz-toasts { inset-inline: auto var(--anz-space-5); inset-block-end: var(--anz-space-5); inline-size: 24rem; }
}

.anz-toast {
	display: flex;
	align-items: flex-start;
	gap: var(--anz-space-3);
	padding: var(--anz-space-4) var(--anz-space-5);
	font-size: var(--anz-fs-sm);
	line-height: 1.5;
	color: var(--anz-ink);
	background: var(--anz-white);
	border-inline-start: 2px solid var(--anz-clay);
	box-shadow: var(--anz-shadow);
	pointer-events: auto;
	animation: anz-toast-in var(--anz-dur) var(--anz-ease) both;
}
.anz-toast--error { border-inline-start-color: var(--anz-danger); }
.anz-toast--success { border-inline-start-color: var(--anz-success); }
.anz-toast.is-leaving { animation: anz-toast-out var(--anz-dur-fast) ease-in both; }
.anz-toast__msg { flex: 1; margin: 0; }
.anz-toast__close {
	flex: none;
	inline-size: 1.5rem;
	block-size: 1.5rem;
	padding: 0;
	font-size: 1.1rem;
	line-height: 1;
	color: var(--anz-ink-soft);
	background: none;
	border: 0;
	cursor: pointer;
}

/* ---------- 7. Accessibilité ---------- */
.anz-visually-hidden {
	position: absolute !important;
	inline-size: 1px;
	block-size: 1px;
	overflow: hidden;
	clip: rect(0 0 0 0);
	clip-path: inset(50%);
	white-space: nowrap;
}

body.anz :focus-visible {
	outline: 1px solid var(--anz-clay-dark);
	outline-offset: 3px;
}

/* ---------- 8. Animations ---------- */
@keyframes anz-spin { to { transform: rotate(360deg); } }
@keyframes anz-shimmer { from { background-position: 100% 0; } to { background-position: -100% 0; } }
@keyframes anz-toast-in { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }
@keyframes anz-toast-out { to { opacity: 0; transform: translateY(4px); } }

@media (prefers-reduced-motion: reduce) {
	.anz *,
	.anz *::before,
	.anz *::after {
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: 0.01ms !important;
	}
}

/* ==========================================================================
   HEADER
   ========================================================================== */
:root {
	--anz-header-h: 4.25rem;
	--anz-admin-bar: var(--wp-admin--admin-bar--height, 0px);
}
@media (min-width: 1024px) { :root { --anz-header-h: 5.5rem; } }

/* Lien d'évitement */
.anz-skip {
	position: absolute;
	inset-inline-start: var(--anz-space-4);
	inset-block-start: -100px;
	z-index: 10001;
	padding: var(--anz-space-2) var(--anz-space-4);
	color: var(--anz-ivory);
	background: var(--anz-ink);
	text-decoration: none;
}
.anz-skip:focus { inset-block-start: var(--anz-space-2); }

/* Bandeau d'annonce */
.anz-announce {
	background: var(--anz-ink);
	color: var(--anz-ivory);
	text-align: center;
}
.anz-announce__text {
	margin: 0;
	padding-block: 0.55rem;
	font-size: var(--anz-fs-xs);
	letter-spacing: 0.18em;
	text-transform: uppercase;
}
:lang(ar) .anz-announce__text { letter-spacing: 0; text-transform: none; font-size: var(--anz-fs-sm); }

/* Barre principale */
.anz-header {
	position: sticky;
	inset-block-start: var(--anz-admin-bar);
	z-index: 900;
	background: var(--anz-ivory);
	border-block-end: 1px solid var(--anz-line);
	transition: box-shadow var(--anz-dur) var(--anz-ease);
}
.anz-header.is-scrolled { box-shadow: 0 6px 24px -18px rgba(30, 27, 24, 0.35); }
@media (max-width: 600px) { .anz-header { inset-block-start: 0; } }

.anz-header__inner {
	display: grid;
	grid-template-columns: 1fr auto 1fr;
	align-items: center;
	block-size: var(--anz-header-h);
	transition: block-size var(--anz-dur) var(--anz-ease);
}
.anz-header.is-scrolled .anz-header__inner { block-size: calc(var(--anz-header-h) - 1rem); }

.anz-header__start,
.anz-header__end { display: flex; align-items: center; gap: var(--anz-space-1); }
.anz-header__end { justify-content: flex-end; }

/* Logo */
.anz-brand {
	font-family: var(--anz-font-display);
	font-size: clamp(1.35rem, 1.1rem + 1vw, 1.9rem);
	font-weight: 500;
	letter-spacing: 0.02em;
	color: var(--anz-ink);
	text-decoration: none;
	white-space: nowrap;
}
.anz-brand--logo img { display: block; max-block-size: 2.75rem; inline-size: auto; }

/* Boutons icônes */
.anz-icon-btn {
	position: relative;
	display: inline-grid;
	place-items: center;
	inline-size: 2.75rem;
	block-size: 2.75rem;
	padding: 0;
	color: var(--anz-ink);
	background: none;
	border: 0;
	border-radius: 50%;
	cursor: pointer;
	text-decoration: none;
	transition: color var(--anz-dur-fast) var(--anz-ease), background-color var(--anz-dur-fast) var(--anz-ease);
}
.anz-icon-btn:hover { color: var(--anz-clay-dark); background: var(--anz-sand); }
.anz-icon { display: block; }
.anz-header__account { display: none; }
@media (min-width: 768px) { .anz-header__account { display: inline-grid; } }

/* Compteur panier : place réservée, pas de CLS */
.anz-cart-count {
	position: absolute;
	inset-block-start: 0.35rem;
	inset-inline-end: 0.2rem;
	min-inline-size: 1.1rem;
	block-size: 1.1rem;
	padding-inline: 0.25rem;
	font-size: 0.65rem;
	font-weight: 500;
	line-height: 1.1rem;
	text-align: center;
	color: var(--anz-ivory);
	background: var(--anz-clay-dark);
	border-radius: 1rem;
	transition: transform var(--anz-dur-fast) var(--anz-ease);
}
.anz-cart-count.is-empty { transform: scale(0); }
.anz-cart-count.is-bump { animation: anz-bump 0.45s var(--anz-ease); }

/* Navigation desktop */
.anz-nav { display: none; }
.anz-header__burger { display: inline-grid; }
@media (min-width: 1024px) {
	.anz-nav { display: block; }
	.anz-header__burger { display: none; }
}
.anz-nav__list {
	display: flex;
	gap: var(--anz-space-6);
	margin: 0;
	padding: 0;
	list-style: none;
}
.anz-nav .menu-item { position: relative; }
.anz-nav .menu-item > a {
	position: relative;
	display: inline-block;
	padding-block: var(--anz-space-2);
	font-size: var(--anz-fs-xs);
	font-weight: 400;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--anz-ink);
	text-decoration: none;
}
:lang(ar) .anz-nav .menu-item > a { letter-spacing: 0; text-transform: none; font-size: var(--anz-fs-md); }
.anz-nav .menu-item > a::after {
	content: "";
	position: absolute;
	inset-inline: 0;
	inset-block-end: 0.2rem;
	block-size: 1px;
	background: currentColor;
	transform: scaleX(0);
	transform-origin: var(--anz-origin, left);
	transition: transform var(--anz-dur) var(--anz-ease);
}
[dir="rtl"] .anz-nav .menu-item > a::after { --anz-origin: right; }
.anz-nav .menu-item > a:hover::after,
.anz-nav .current-menu-item > a::after { transform: scaleX(1); }

/* Sous-menus desktop */
.anz-nav .sub-menu {
	position: absolute;
	inset-block-start: 100%;
	inset-inline-start: calc(var(--anz-space-4) * -1);
	min-inline-size: 14rem;
	margin: 0;
	padding: var(--anz-space-4);
	list-style: none;
	background: var(--anz-white);
	box-shadow: var(--anz-shadow);
	opacity: 0;
	visibility: hidden;
	transform: translateY(6px);
	transition: opacity var(--anz-dur-fast) var(--anz-ease), transform var(--anz-dur-fast) var(--anz-ease), visibility 0s linear var(--anz-dur-fast);
}
.anz-nav .menu-item:hover > .sub-menu,
.anz-nav .menu-item:focus-within > .sub-menu {
	opacity: 1;
	visibility: visible;
	transform: none;
	transition-delay: 0s;
}
.anz-nav .sub-menu a { display: block; padding-block: var(--anz-space-2); text-transform: none; letter-spacing: 0.02em; font-size: var(--anz-fs-sm); }
.anz-nav .sub-menu a::after { display: none; }

/* Sélecteur de langue */
.anz-lang { position: relative; }
.anz-lang__toggle {
	display: inline-flex;
	align-items: center;
	gap: 0.15rem;
	block-size: 2.75rem;
	padding-inline: var(--anz-space-2);
	font: 500 var(--anz-fs-xs)/1 var(--anz-font-body);
	letter-spacing: 0.12em;
	color: var(--anz-ink);
	background: none;
	border: 0;
	cursor: pointer;
}
.anz-lang__toggle .anz-icon { inline-size: 14px; block-size: 14px; transition: transform var(--anz-dur-fast) var(--anz-ease); }
.anz-lang__toggle[aria-expanded="true"] .anz-icon { transform: rotate(180deg); }
.anz-lang__list {
	position: absolute;
	inset-block-start: calc(100% + 0.25rem);
	inset-inline-end: 0;
	min-inline-size: 11rem;
	margin: 0;
	padding: var(--anz-space-2);
	list-style: none;
	background: var(--anz-white);
	box-shadow: var(--anz-shadow);
	animation: anz-toast-in var(--anz-dur-fast) var(--anz-ease) both;
}
.anz-lang__list a {
	display: flex;
	gap: var(--anz-space-3);
	padding: var(--anz-space-2) var(--anz-space-3);
	font-size: var(--anz-fs-sm);
	color: var(--anz-ink);
	text-decoration: none;
}
.anz-lang__list a:hover,
.anz-lang__list a[aria-current="true"] { background: var(--anz-sand); }
.anz-lang__item-code { inline-size: 1.75rem; font-size: var(--anz-fs-xs); letter-spacing: 0.1em; color: var(--anz-ink-soft); }
@media (max-width: 767px) { .anz-header__end .anz-lang { display: none; } }

/* Recherche */
.anz-search {
	position: absolute;
	inset-inline: 0;
	inset-block-start: 100%;
	background: var(--anz-ivory);
	border-block-end: 1px solid var(--anz-line);
	animation: anz-toast-in var(--anz-dur-fast) var(--anz-ease) both;
}
.anz-search__form { display: flex; align-items: center; gap: var(--anz-space-2); padding-block: var(--anz-space-4); }
.anz-search__input {
	flex: 1;
	min-inline-size: 0;
	padding-block: var(--anz-space-3);
	font: 300 var(--anz-fs-lg)/1.3 var(--anz-font-display);
	color: var(--anz-ink);
	background: none;
	border: 0;
	border-block-end: 1px solid var(--anz-ink);
	border-radius: 0;
	outline: none;
}
.anz-search__input::placeholder { color: var(--anz-ink-soft); opacity: 0.7; }

/* Tiroir mobile */
.anz-drawer { position: fixed; inset: 0; z-index: 9999; }
.anz-drawer__backdrop {
	position: absolute;
	inset: 0;
	background: rgba(30, 27, 24, 0.4);
	opacity: 0;
	transition: opacity var(--anz-dur) var(--anz-ease);
}
.anz-drawer__panel {
	position: absolute;
	inset-block: 0;
	inset-inline-start: 0;
	display: flex;
	flex-direction: column;
	inline-size: min(88vw, 24rem);
	background: var(--anz-ivory);
	transform: translateX(-100%);
	transition: transform var(--anz-dur) var(--anz-ease);
	overflow-y: auto;
	overscroll-behavior: contain;
}
[dir="rtl"] .anz-drawer__panel { transform: translateX(100%); }
.anz-drawer.is-open .anz-drawer__backdrop { opacity: 1; }
.anz-drawer.is-open .anz-drawer__panel { transform: none; }

.anz-drawer__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: var(--anz-space-4) var(--anz-space-5);
	border-block-end: 1px solid var(--anz-line);
}
.anz-drawer__nav { flex: 1; padding: var(--anz-space-5); }
.anz-drawer__nav .anz-nav__list,
.anz-drawer__nav .sub-menu { margin: 0; padding: 0; list-style: none; }
.anz-drawer__nav .menu-item > a {
	display: block;
	padding-block: var(--anz-space-3);
	font-family: var(--anz-font-display);
	font-size: var(--anz-fs-xl);
	color: var(--anz-ink);
	text-decoration: none;
}
.anz-drawer__nav .sub-menu { padding-inline-start: var(--anz-space-4); }
.anz-drawer__nav .sub-menu a { font-family: var(--anz-font-body); font-size: var(--anz-fs-md); padding-block: var(--anz-space-2); }
.anz-drawer__foot { padding: var(--anz-space-5); border-block-start: 1px solid var(--anz-line); }
.anz-drawer__link { display: block; margin-block-end: var(--anz-space-4); color: var(--anz-ink); text-decoration: none; font-size: var(--anz-fs-sm); letter-spacing: 0.12em; text-transform: uppercase; }
.anz-drawer__langs { display: flex; flex-wrap: wrap; gap: var(--anz-space-2); margin: 0; padding: 0; list-style: none; }
.anz-drawer__langs a {
	display: inline-block;
	padding: var(--anz-space-2) var(--anz-space-3);
	font-size: var(--anz-fs-sm);
	color: var(--anz-ink);
	text-decoration: none;
	border: 1px solid var(--anz-line);
}
.anz-drawer__langs a[aria-current="true"] { border-color: var(--anz-ink); }

body.anz-lock { overflow: hidden; }

@keyframes anz-bump { 0%, 100% { transform: scale(1); } 40% { transform: scale(1.35); } }

/* ==========================================================================
   ACCUEIL
   ========================================================================== */
body.anz-home-page .site-content > .ast-container { max-width: none; padding: 0; display: block; }
body.anz-home-page .entry-content > * { margin-block: 0; }
body.anz-home-page .site-content #primary { margin: 0; padding: 0; }
.anz-home { overflow-x: clip; background: var(--anz-ivory); }
.anz-center { text-align: center; margin-block-start: var(--anz-space-7); }
.anz-section__head { max-inline-size: 46rem; margin-block-end: var(--anz-space-7); }
.anz-section__head .anz-lead { margin-block-start: var(--anz-space-4); }

/* Couleurs par continent */
[data-continent="moyen-orient"] { --anz-tone: #c9a46a; --anz-tone-ink: #4a3519; }
[data-continent="afrique"]      { --anz-tone: #8c5a3c; --anz-tone-ink: #f3e6d6; }
[data-continent="europe"]       { --anz-tone: #8f9a7a; --anz-tone-ink: #22281a; }
[data-continent="asie"]         { --anz-tone: #2f3a35; --anz-tone-ink: #e8e2d4; }
[data-continent="oceanie"]      { --anz-tone: #d9b88a; --anz-tone-ink: #3b2a13; }
[data-continent="ameriques"]    { --anz-tone: #6d3b2e; --anz-tone-ink: #f2e2d3; }

/* Hero */
.anz-hero {
	position: relative;
	display: grid;
	align-items: center;
	min-block-size: min(88vh, 52rem);
	padding-block: var(--anz-space-8);
	overflow: hidden;
	background: radial-gradient(120% 90% at 50% 0%, #fbf8f2 0%, var(--anz-ivory) 45%, var(--anz-sand) 100%);
}
.anz-hero__bg { position: absolute; inset: 0; pointer-events: none; }
.anz-hero__orb {
	position: absolute;
	border-radius: 50%;
	filter: blur(60px);
	opacity: 0.55;
	animation: anz-float 18s ease-in-out infinite alternate;
}
.anz-hero__orb--1 { inline-size: 38vmax; block-size: 38vmax; inset-block-start: -12vmax; inset-inline-end: -10vmax; background: #e4cfa8; }
.anz-hero__orb--2 { inline-size: 28vmax; block-size: 28vmax; inset-block-end: -10vmax; inset-inline-start: -8vmax; background: #c8cfb4; animation-delay: -6s; }
.anz-hero__orb--3 { inline-size: 16vmax; block-size: 16vmax; inset-block-start: 40%; inset-inline-start: 55%; background: #e9d5c3; animation-delay: -12s; }
.anz-hero__content { position: relative; text-align: center; }
.anz-hero__title { max-inline-size: 14ch; margin-inline: auto; font-weight: 400; }
.anz-hero__text { margin-inline: auto; margin-block: var(--anz-space-5) var(--anz-space-6); }
.anz-hero__actions { display: flex; flex-wrap: wrap; justify-content: center; gap: var(--anz-space-3); }
.anz-hero__meta { margin-block-start: var(--anz-space-6); font-size: var(--anz-fs-xs); letter-spacing: 0.2em; text-transform: uppercase; color: var(--anz-ink-soft); }
.anz-hero__eyebrow,
.anz-hero__title,
.anz-hero__text,
.anz-hero__actions { animation: anz-rise 1.1s var(--anz-ease) both; }
.anz-hero__title { animation-delay: 0.1s; }
.anz-hero__text { animation-delay: 0.25s; }
.anz-hero__actions { animation-delay: 0.4s; }

/* Réassurance */
.anz-reassure { border-block: 1px solid var(--anz-line); background: var(--anz-ivory); }
.anz-reassure__list {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	margin: 0 auto;
	padding-block: var(--anz-space-5);
	list-style: none;
	gap: var(--anz-space-4);
}
@media (min-width: 768px) { .anz-reassure__list { grid-template-columns: repeat(4, 1fr); } }
.anz-reassure__item { display: flex; align-items: baseline; gap: var(--anz-space-3); font-size: var(--anz-fs-sm); color: var(--anz-ink); }
.anz-reassure__num { font-family: var(--anz-font-display); font-style: italic; color: var(--anz-clay-dark); }

/* Grille produits */
.anz-grid--products { grid-template-columns: repeat(2, 1fr); gap: var(--anz-space-5) var(--anz-space-4); }
@media (min-width: 1024px) { .anz-grid--products { grid-template-columns: repeat(4, 1fr); gap: var(--anz-space-6) var(--anz-space-5); } }

/* Carte « étiquette » */
.anz-card__link { display: block; color: inherit; text-decoration: none; }
.anz-card__media { background: var(--anz-tone, var(--anz-sand)); transition: transform var(--anz-dur) var(--anz-ease); }
.anz-card__media img { transition: transform 1.2s var(--anz-ease); }
.anz-card__link:hover .anz-card__media img { transform: scale(1.04); }
.anz-card__label {
	position: absolute;
	inset: var(--anz-space-4);
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: var(--anz-space-2);
	color: var(--anz-tone-ink, var(--anz-ink));
	border: 1px solid currentColor;
	text-align: center;
	opacity: 0.92;
	transition: inset var(--anz-dur) var(--anz-ease);
}
.anz-card__link:hover .anz-card__label { inset: var(--anz-space-3); }
.anz-card__label-region { font-size: 0.65rem; letter-spacing: 0.25em; text-transform: uppercase; padding-inline: var(--anz-space-3); }
.anz-card__label-country { font-family: var(--anz-font-display); font-size: clamp(1.4rem, 1rem + 1.6vw, 2.2rem); font-style: italic; line-height: 1.1; padding-inline: var(--anz-space-3); }
.anz-card__label-line { inline-size: 2rem; block-size: 1px; background: currentColor; }
.anz-card__body { padding-block-start: var(--anz-space-4); }
.anz-card__body .anz-eyebrow { margin: 0 0 var(--anz-space-1); }
.anz-card__title { margin: 0; font-family: var(--anz-font-display); font-size: var(--anz-fs-lg); font-weight: 500; line-height: 1.25; color: var(--anz-ink); }
.anz-card__price { margin: var(--anz-space-2) 0 0; font-size: var(--anz-fs-sm); color: var(--anz-ink-soft); }
.anz-badge {
	position: absolute;
	inset-block-start: var(--anz-space-3);
	inset-inline-start: var(--anz-space-3);
	padding: 0.3rem 0.6rem;
	font-size: 0.6rem;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--anz-ink);
	background: var(--anz-ivory);
}

/* Origines */
.anz-origins { display: grid; gap: var(--anz-space-4); grid-template-columns: 1fr; }
@media (min-width: 640px) { .anz-origins { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .anz-origins { grid-template-columns: repeat(3, 1fr); } }
.anz-origin { background: var(--anz-ivory); padding: var(--anz-space-6); border-block-start: 3px solid var(--anz-tone, var(--anz-clay)); }
.anz-origin__head { display: flex; align-items: baseline; justify-content: space-between; gap: var(--anz-space-3); color: var(--anz-ink); text-decoration: none; margin-block-end: var(--anz-space-4); }
.anz-origin__name { font-family: var(--anz-font-display); font-size: var(--anz-fs-xl); }
.anz-origin__count { font-size: var(--anz-fs-xs); letter-spacing: 0.15em; text-transform: uppercase; color: var(--anz-ink-soft); }
.anz-origin__list { display: flex; flex-wrap: wrap; gap: var(--anz-space-2); margin: 0; padding: 0; list-style: none; }
.anz-origin__list a {
	display: inline-block;
	padding: 0.4rem 0.8rem;
	font-size: var(--anz-fs-sm);
	color: var(--anz-ink);
	text-decoration: none;
	border: 1px solid var(--anz-line);
	transition: border-color var(--anz-dur-fast), background-color var(--anz-dur-fast);
}
.anz-origin__list a:hover { border-color: var(--anz-ink); background: var(--anz-sand); }

/* Rituels (section sombre) */
.anz-section--ink { background: var(--anz-ink); color: var(--anz-ivory); }
.anz-section--ink .anz-h1,
.anz-section--ink .anz-lead { color: var(--anz-ivory); }
.anz-section--ink .anz-lead { opacity: 0.75; }
.anz-section--ink .anz-eyebrow { color: var(--anz-clay); }
.anz-rituals { display: grid; grid-template-columns: 1fr; border-block-start: 1px solid rgba(247, 243, 236, 0.18); }
@media (min-width: 768px) { .anz-rituals { grid-template-columns: repeat(2, 1fr); column-gap: var(--anz-space-7); } }
.anz-ritual {
	display: grid;
	grid-template-columns: 3rem 1fr auto;
	align-items: baseline;
	padding-block: var(--anz-space-5);
	color: var(--anz-ivory);
	text-decoration: none;
	border-block-end: 1px solid rgba(247, 243, 236, 0.18);
	transition: padding var(--anz-dur) var(--anz-ease), color var(--anz-dur-fast);
}
.anz-ritual:hover { padding-inline-start: var(--anz-space-3); color: var(--anz-clay); }
.anz-ritual__num { font-family: var(--anz-font-display); font-style: italic; opacity: 0.6; }
.anz-ritual__name { font-family: var(--anz-font-display); font-size: var(--anz-fs-xl); }
.anz-ritual__count { font-size: var(--anz-fs-xs); letter-spacing: 0.15em; text-transform: uppercase; opacity: 0.6; }

/* Bénéfices */
.anz-benefits { text-align: center; }
.anz-benefits .anz-section__head { margin-inline: auto; }
.anz-chips { display: flex; flex-wrap: wrap; justify-content: center; gap: var(--anz-space-3); margin: 0; padding: 0; list-style: none; }
.anz-chip {
	display: inline-flex;
	align-items: center;
	gap: var(--anz-space-3);
	padding: 0.85rem 1.4rem;
	font-size: var(--anz-fs-md);
	color: var(--anz-ink);
	text-decoration: none;
	border: 1px solid var(--anz-ink);
	border-radius: 999px;
	transition: background-color var(--anz-dur-fast), color var(--anz-dur-fast);
}
.anz-chip span { font-size: var(--anz-fs-xs); opacity: 0.6; }
.anz-chip:hover { background: var(--anz-ink); color: var(--anz-ivory); }

/* Manifeste */
.anz-manifesto__inner { max-inline-size: 52rem; text-align: center; }
.anz-manifesto__title { font-style: italic; font-weight: 400; margin-block: var(--anz-space-4); }
.anz-manifesto__text { margin-inline: auto; }

/* Apparition au défilement */
[data-anz-reveal] { opacity: 0; transform: translateY(24px); transition: opacity 0.9s var(--anz-ease), transform 0.9s var(--anz-ease); }
[data-anz-reveal].is-visible { opacity: 1; transform: none; }
.no-js [data-anz-reveal] { opacity: 1; transform: none; }

@keyframes anz-rise { from { opacity: 0; transform: translateY(20px); } to { opacity: 1; transform: none; } }
@keyframes anz-float { from { transform: translate3d(0, 0, 0) scale(1); } to { transform: translate3d(3vmax, 2vmax, 0) scale(1.08); } }
@media (prefers-reduced-motion: reduce) { [data-anz-reveal] { opacity: 1; transform: none; } }

/* ---------- Correctifs Astra ---------- */
body.anz-home-page.ast-page-builder-template .site-main > article,
body.anz-home-page article.ast-article-single,
body.anz-home-page .ast-article-single .entry-content { padding: 0; margin: 0; }
body.anz-home-page .entry-header { display: none; }
body.anz .anz-home a,
body.anz .anz-home a *,
body.anz .anz-header a,
body.anz .anz-drawer a { text-decoration: none; }
body.anz .anz-home .anz-btn { text-decoration: none; }
body.anz #ast-scroll-top { background-color: var(--anz-ink); color: var(--anz-ivory); border-radius: 50%; }
body.anz #ast-scroll-top:hover { background-color: var(--anz-clay-dark); }

/* ==========================================================================
   PIED DE PAGE
   ========================================================================== */
.anz-footer { background: var(--anz-ink); color: rgba(247, 243, 236, 0.75); padding-block: var(--anz-space-8) var(--anz-space-5); }
.anz-footer__top { display: grid; gap: var(--anz-space-7); grid-template-columns: 1fr; }
@media (min-width: 768px) { .anz-footer__top { grid-template-columns: 2fr 1fr 1fr 1fr; gap: var(--anz-space-6); } }
.anz-footer .anz-brand { color: var(--anz-ivory); font-size: 1.9rem; }
.anz-footer__tagline { margin: var(--anz-space-3) 0 var(--anz-space-4); font-family: var(--anz-font-display); font-style: italic; font-size: var(--anz-fs-lg); color: var(--anz-clay); }
.anz-footer__text { max-inline-size: 30rem; margin: 0; font-size: var(--anz-fs-sm); line-height: 1.8; }
.anz-footer__title { margin: 0 0 var(--anz-space-4); font-size: var(--anz-fs-xs); letter-spacing: 0.2em; text-transform: uppercase; color: var(--anz-ivory); }
:lang(ar) .anz-footer__title { letter-spacing: 0; }
.anz-footer__list { margin: 0; padding: 0; list-style: none; }
.anz-footer__list li + li { margin-block-start: var(--anz-space-2); }
body.anz .anz-footer a { color: rgba(247, 243, 236, 0.75); text-decoration: none; font-size: var(--anz-fs-sm); transition: color var(--anz-dur-fast); }
body.anz .anz-footer a:hover { color: var(--anz-ivory); }
.anz-footer__bottom {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: var(--anz-space-4);
	margin-block-start: var(--anz-space-8);
	padding-block-start: var(--anz-space-5);
	border-block-start: 1px solid rgba(247, 243, 236, 0.15);
}
.anz-footer__copy { margin: 0; font-size: var(--anz-fs-xs); letter-spacing: 0.06em; }
body.anz .anz-footer .anz-drawer__langs a { border-color: rgba(247, 243, 236, 0.2); font-size: var(--anz-fs-xs); }
body.anz .anz-footer .anz-drawer__langs a[aria-current="true"] { border-color: var(--anz-ivory); color: var(--anz-ivory); }
body.anz .anz-footer a.anz-brand { font-size: 1.9rem; color: var(--anz-ivory); }

/* ==========================================================================
   PANIER LATÉRAL
   ========================================================================== */
.anz-cart { position: fixed; inset: 0; z-index: 9999; }
.anz-cart__backdrop { position: absolute; inset: 0; background: rgba(30, 27, 24, 0.4); opacity: 0; transition: opacity var(--anz-dur) var(--anz-ease); }
.anz-cart__panel {
	position: absolute;
	inset-block: 0;
	inset-inline-end: 0;
	display: flex;
	flex-direction: column;
	inline-size: min(100vw, 28rem);
	background: var(--anz-ivory);
	box-shadow: -20px 0 60px -30px rgba(30, 27, 24, 0.4);
	transform: translateX(100%);
	transition: transform var(--anz-dur) var(--anz-ease);
}
[dir="rtl"] .anz-cart__panel { transform: translateX(-100%); }
.anz-cart.is-open .anz-cart__backdrop { opacity: 1; }
.anz-cart.is-open .anz-cart__panel { transform: none; }

.anz-cart__head { display: flex; align-items: center; justify-content: space-between; padding: var(--anz-space-4) var(--anz-space-5); border-block-end: 1px solid var(--anz-line); }
.anz-cart__title { margin: 0; font-family: var(--anz-font-display); font-size: var(--anz-fs-xl); font-weight: 500; color: var(--anz-ink); }
.anz-cart__count { font-size: var(--anz-fs-md); color: var(--anz-ink-soft); }

.anz-cart__shipping { padding: var(--anz-space-4) var(--anz-space-5); background: var(--anz-sand); }
.anz-cart__shipping-text { margin: 0 0 var(--anz-space-2); font-size: var(--anz-fs-sm); color: var(--anz-ink); }
.anz-cart__bar { block-size: 2px; background: rgba(30, 27, 24, 0.12); }
.anz-cart__bar span { display: block; block-size: 100%; inline-size: 0; background: var(--anz-clay-dark); transition: inline-size var(--anz-dur) var(--anz-ease); }

.anz-cart__body { flex: 1; overflow-y: auto; overscroll-behavior: contain; padding: var(--anz-space-2) var(--anz-space-5); }
.anz-cart__item { display: grid; grid-template-columns: 5rem 1fr; gap: var(--anz-space-4); padding-block: var(--anz-space-4); border-block-end: 1px solid var(--anz-line); transition: opacity var(--anz-dur-fast); }
.anz-cart__item.is-busy { opacity: 0.45; pointer-events: none; }
.anz-cart__thumb { display: block; inline-size: 5rem; block-size: 6.25rem; object-fit: cover; background: var(--anz-sand); }
.anz-cart__thumb--label { display: grid; place-items: center; font-family: var(--anz-font-display); font-size: 2rem; font-style: italic; color: var(--anz-clay-dark); }
.anz-cart__info { display: flex; flex-direction: column; gap: var(--anz-space-1); min-inline-size: 0; }
body.anz .anz-cart a { text-decoration: none; }
.anz-cart__name { font-family: var(--anz-font-display); font-size: var(--anz-fs-lg); line-height: 1.25; color: var(--anz-ink); }
.anz-cart__price { margin: 0; font-size: var(--anz-fs-sm); color: var(--anz-ink-soft); }
.anz-cart__actions { display: flex; align-items: center; justify-content: space-between; margin-block-start: auto; padding-block-start: var(--anz-space-2); }
.anz-cart__remove { padding: 0; font-size: var(--anz-fs-xs); letter-spacing: 0.1em; text-transform: uppercase; color: var(--anz-ink-soft); background: none; border: 0; border-block-end: 1px solid currentColor; cursor: pointer; }
.anz-cart__remove:hover { color: var(--anz-danger); }

.anz-qty { display: inline-flex; align-items: center; border: 1px solid var(--anz-line); }
.anz-qty__btn { inline-size: 2rem; block-size: 2rem; padding: 0; font-size: 1rem; color: var(--anz-ink); background: none; border: 0; cursor: pointer; }
.anz-qty__btn:hover { background: var(--anz-sand); }
.anz-qty__btn[disabled] { opacity: 0.3; cursor: default; }
.anz-qty__value { min-inline-size: 2rem; text-align: center; font-size: var(--anz-fs-sm); }

.anz-cart__empty { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: var(--anz-space-3); min-block-size: 60%; padding-block: var(--anz-space-7); text-align: center; }
.anz-cart__empty-title { margin: 0; font-family: var(--anz-font-display); font-size: var(--anz-fs-xl); color: var(--anz-ink); }
.anz-cart__empty-text { margin: 0 0 var(--anz-space-3); color: var(--anz-ink-soft); }

.anz-cart__foot { padding: var(--anz-space-5); border-block-start: 1px solid var(--anz-line); background: var(--anz-ivory); }
.anz-cart__subtotal { display: flex; justify-content: space-between; align-items: baseline; font-size: var(--anz-fs-md); color: var(--anz-ink); }
.anz-cart__subtotal strong { font-family: var(--anz-font-display); font-size: var(--anz-fs-xl); font-weight: 500; }
.anz-cart__note { margin: var(--anz-space-1) 0 var(--anz-space-4); font-size: var(--anz-fs-xs); color: var(--anz-ink-soft); }
.anz-cart__checkout { inline-size: 100%; }
.anz-cart__view { display: block; margin-block-start: var(--anz-space-3); text-align: center; font-size: var(--anz-fs-xs); letter-spacing: 0.14em; text-transform: uppercase; color: var(--anz-ink); }
body.anz .anz-cart .anz-btn { color: var(--_fg); }
@media (min-width: 601px) {
	body.admin-bar .anz-cart__panel,
	body.admin-bar .anz-drawer__panel { inset-block-start: var(--anz-admin-bar); }
}

/* ==========================================================================
   v1.6 — Fiche produit
   ========================================================================== */
body.anz-product-page .site-content > .ast-container { max-inline-size: var(--anz-container); padding-inline: var(--anz-gutter); }
body.anz-product-page div.product { padding-block: var(--anz-space-7); }
body.anz-product-page div.product .summary { display: flex; flex-direction: column; gap: var(--anz-space-3); }
.anz-product__origin { display: flex; flex-wrap: wrap; align-items: center; gap: var(--anz-space-3); }
.anz-product__origin .anz-eyebrow { margin: 0; }
.anz-product__badge { position: static; }
body.anz-product-page .product_title { font-family: var(--anz-font-display); font-size: var(--anz-fs-2xl); font-weight: 500; line-height: 1.1; color: var(--anz-ink); margin: 0; }
body.anz-product-page .summary .price { font-family: var(--anz-font-display); font-size: var(--anz-fs-xl); color: var(--anz-ink); margin: 0; }
body.anz-product-page .woocommerce-product-details__short-description { font-size: var(--anz-fs-lg); font-weight: 300; line-height: 1.7; color: var(--anz-ink-soft); }
body.anz-product-page form.cart { display: flex; flex-wrap: wrap; gap: var(--anz-space-3); margin-block: var(--anz-space-3); }
body.anz-product-page form.cart .quantity .qty { min-block-size: 3rem; inline-size: 4.5rem; border: 1px solid var(--anz-line); border-radius: var(--anz-radius); background: var(--anz-white); }
body.anz-product-page form.cart .single_add_to_cart_button { flex: 1 1 14rem; min-block-size: 3rem; padding-inline: var(--anz-space-6); font: 500 var(--anz-fs-sm)/1 var(--anz-font-body); letter-spacing: 0.14em; text-transform: uppercase; color: var(--anz-ivory); background: var(--anz-ink); border: 1px solid var(--anz-ink); border-radius: var(--anz-radius); transition: background-color var(--anz-dur-fast) var(--anz-ease); }
body.anz-product-page form.cart .single_add_to_cart_button:hover { background: var(--anz-clay-dark); border-color: var(--anz-clay-dark); }
body.anz-product-page.anz-lang-ar form.cart .single_add_to_cart_button { letter-spacing: 0; text-transform: none; }
.anz-product__reassure { list-style: none; margin: 0; padding: var(--anz-space-4) 0 0; border-block-start: 1px solid var(--anz-line); display: grid; gap: var(--anz-space-2); font-size: var(--anz-fs-sm); color: var(--anz-ink-soft); }
.anz-product__reassure li { display: flex; align-items: center; gap: var(--anz-space-2); }
.anz-product__reassure li::before { content: ""; inline-size: 0.4rem; block-size: 0.4rem; border-radius: 50%; background: var(--anz-clay); flex: none; }
.anz-price-soon { font-size: var(--anz-fs-md); color: var(--anz-ink-soft); font-style: italic; }
body.anz-product-page .woocommerce-tabs { margin-block-start: var(--anz-space-7); padding-block-start: var(--anz-space-6); border-block-start: 1px solid var(--anz-line); }
body.anz-product-page .woocommerce-tabs ul.tabs li a { font-size: var(--anz-fs-xs); letter-spacing: 0.22em; text-transform: uppercase; color: var(--anz-ink); }
body.anz-product-page .woocommerce-Tabs-panel { max-inline-size: 72ch; font-size: var(--anz-fs-md); line-height: 1.8; color: var(--anz-ink-soft); }
body.anz-product-page .woocommerce-Tabs-panel h2, body.anz-product-page .woocommerce-Tabs-panel h3 { font-family: var(--anz-font-display); font-weight: 500; color: var(--anz-ink); }
body.anz-product-page .related > h2 { font-family: var(--anz-font-display); font-size: var(--anz-fs-xl); font-weight: 500; text-align: center; margin-block: var(--anz-space-7) var(--anz-space-5); }
body.anz-product-page .woocommerce-product-gallery { background: var(--anz-sand); }

/* ==========================================================================
   v1.6.1 — Palette « galerie » : neutres minéraux, fin des tons jaunes
   ========================================================================== */
:root {
  --anz-ivory: #faf9f7;
  --anz-sand: #f0eeea;
  --anz-line: #e4e1dc;
  --anz-ink: #161514;
  --anz-ink-soft: #6b6762;
  --anz-clay: #7d6a55;
  --anz-clay-dark: #3d352d;
}
.anz-eyebrow { color: var(--anz-ink-soft); }

/* Hero : aplat calme, sans halos colorés */
.anz-hero__bg { background: var(--anz-ivory); }
.anz-hero__orb { display: none; }
.anz-hero { border-block-end: 1px solid var(--anz-line); }

/* Cartes sans photo : une seule teinte pierre, typographie seule */
[data-continent] { --anz-tone: #ebe8e3; --anz-tone-ink: #161514; }
.anz-card__media { background: #ebe8e3; }
.anz-card__label-region { color: var(--anz-ink-soft); }
.anz-card__label-line { background: var(--anz-ink); opacity: .25; }

/* Badge : noir et blanc, discret */
.anz-badge { background: var(--anz-ink); color: var(--anz-ivory); }

/* Sections alternées très légères */
.anz-section--sand { background: var(--anz-sand); }
.anz-skeleton { background: linear-gradient(90deg, var(--anz-sand) 0%, #f7f6f3 50%, var(--anz-sand) 100%); }


/* ==========================================================================
   v1.7 — Direction « Maison » inspirée d'Anazwina
   Crème · bleu nuit · accent prune · Josefin Sans light + Cormorant italique
   ========================================================================== */
:root {
  --anz-ivory: #fbf9f6;
  --anz-sand: #f3efe8;
  --anz-white: #ffffff;
  --anz-ink: #18204b;
  --anz-ink-soft: #4a5072;
  --anz-muted: #77788a;
  --anz-line: rgba(24, 32, 75, .14);
  --anz-clay: #a91557;
  --anz-clay-dark: #861145;
  --anz-accent: #a91557;
  --anz-accent-soft: #e9a9c6;
  --anz-font-display: "Josefin Sans", "Jost", system-ui, sans-serif;
  --anz-font-accent: "Cormorant Garamond", Georgia, serif;
  --anz-font-body: "Jost", system-ui, -apple-system, "Segoe UI", sans-serif;
  --anz-fs-3xl: clamp(2.75rem, 1.6rem + 5vw, 6rem);
  --anz-fs-2xl: clamp(2.1rem, 1.5rem + 2.6vw, 3.6rem);
}
:lang(ar) {
  --anz-font-display: "Noto Naskh Arabic", "Geeza Pro", serif;
  --anz-font-accent: "Noto Naskh Arabic", "Geeza Pro", serif;
  --anz-font-body: "Noto Naskh Arabic", "Geeza Pro", system-ui, sans-serif;
}
body.anz { background: var(--anz-ivory); color: var(--anz-ink); }

/* Titres : light, aérés, accent italique */
.anz-display, .anz-h1, .anz-h2 { font-weight: 300; letter-spacing: -0.005em; line-height: 1.08; color: var(--anz-ink); }
.anz-h3 { font-weight: 400; }
.anz-display em, .anz-h1 em, .anz-h2 em, .anz-manifesto__title em {
  font-family: var(--anz-font-accent); font-style: italic; font-weight: 400;
  color: var(--anz-accent); letter-spacing: 0;
}
:lang(ar) .anz-display, :lang(ar) .anz-h1, :lang(ar) .anz-h2 { font-weight: 500; line-height: 1.35; }
:lang(ar) .anz-display em, :lang(ar) .anz-h1 em, :lang(ar) .anz-h2 em, :lang(ar) .anz-manifesto__title em { font-style: normal; }

/* Sur-titre avec filet */
.anz-eyebrow {
  display: inline-flex; align-items: center; gap: .9rem;
  font-family: var(--anz-font-body); font-weight: 400;
  letter-spacing: .28em; color: var(--anz-ink-soft);
}
.anz-eyebrow::before { content: ""; inline-size: 2.5rem; block-size: 1px; background: currentColor; opacity: .55; }
.anz-lead { color: var(--anz-muted); font-weight: 400; }

/* Sections : alignement éditorial à gauche */
.anz-section__head { text-align: start; margin-inline: 0; }
.anz-section__head .anz-lead { margin-inline: 0; }
.anz-section--sand { background: var(--anz-sand); }
.anz-section--ink, .anz-section--ink .anz-h1, .anz-section--ink .anz-h2 { background: var(--anz-ink); color: #fff; }
.anz-section--ink .anz-eyebrow, .anz-section--ink .anz-lead { color: rgba(255,255,255,.72); }
.anz-section--ink .anz-h1 em, .anz-section--ink .anz-h2 em { color: var(--anz-accent-soft); }

/* Boutons : carrés, capitales espacées */
.anz-btn {
  --_bg: var(--anz-ink); --_fg: #fff; --_bd: var(--anz-ink);
  border-radius: 0; letter-spacing: .22em; text-transform: uppercase;
  font-size: .78rem; font-weight: 500; min-block-size: 3.25rem; padding-inline: 2.2rem;
}
.anz-btn--ghost { --_bg: transparent; --_fg: var(--anz-ink); --_bd: var(--anz-ink); }

/* En-tête */
.anz-header { background: rgba(255,255,255,.96); border-block-end: 1px solid var(--anz-line); }
.anz-brand { font-family: var(--anz-font-display); font-weight: 300; letter-spacing: .14em; text-transform: uppercase; color: var(--anz-ink); }
:lang(ar) .anz-brand { letter-spacing: 0; text-transform: none; }
.anz-icon-btn { color: var(--anz-ink); }
.anz-cart-count { background: var(--anz-accent); color: #fff; }

/* Hero : bleu nuit, grand titre blanc, accent rose */
.anz-hero { background: var(--anz-ink); border: 0; min-block-size: min(86vh, 50rem); }
.anz-hero__bg { background:
  radial-gradient(80% 70% at 85% 15%, rgba(169,21,87,.22), transparent 60%),
  radial-gradient(70% 60% at 0% 100%, rgba(255,255,255,.06), transparent 60%),
  var(--anz-ink); }
.anz-hero__content { text-align: start; }
.anz-hero__title { max-inline-size: 13ch; margin-inline: 0; color: #fff; font-weight: 300; }
.anz-hero__title em { color: var(--anz-accent-soft); }
.anz-hero__text { margin-inline: 0; color: rgba(255,255,255,.78); }
.anz-hero__actions { justify-content: flex-start; }
.anz-hero .anz-eyebrow, .anz-hero__eyebrow, .anz-hero__meta { color: rgba(255,255,255,.7); }
.anz-hero .anz-btn { --_bg: #fff; --_fg: var(--anz-ink); --_bd: #fff; }
.anz-hero .anz-btn--ghost { --_bg: transparent; --_fg: #fff; --_bd: rgba(255,255,255,.55); }

/* Réassurance : numéros en italique prune */
.anz-reassure { background: #fff; border-block: 1px solid var(--anz-line); }
.anz-reassure__num { font-family: var(--anz-font-accent); font-style: italic; color: var(--anz-accent); font-size: 1.05rem; }

/* Cartes produit */
[data-continent] { --anz-tone: #efebe4; --anz-tone-ink: var(--anz-ink); }
.anz-card__media { background: #efebe4; border-radius: 0; }
.anz-card__label-country { font-family: var(--anz-font-accent); font-style: italic; color: var(--anz-ink); }
:lang(ar) .anz-card__label-country { font-style: normal; }
.anz-card__label-region { color: var(--anz-ink-soft); letter-spacing: .28em; }
.anz-card__label-line { background: var(--anz-accent); opacity: .6; }
.anz-card__title { font-family: var(--anz-font-display); font-weight: 300; color: var(--anz-ink); }
.anz-card__price { color: var(--anz-ink-soft); letter-spacing: .08em; }
.anz-badge { background: var(--anz-ink); color: #fff; border-radius: 0; letter-spacing: .18em; }

/* Origines / rituels : listes numérotées façon Anazwina */
.anz-ritual__num, .anz-origin__count { font-family: var(--anz-font-accent); font-style: italic; color: var(--anz-accent); }
.anz-ritual__name, .anz-origin__name { font-family: var(--anz-font-display); font-weight: 300; }
.anz-chip { border-radius: 0; border-color: var(--anz-line); }
.anz-chip:hover { background: var(--anz-ink); color: #fff; border-color: var(--anz-ink); }

/* Manifeste */
.anz-manifesto__title { font-family: var(--anz-font-display); font-weight: 300; }

/* Pied de page bleu nuit */
.anz-footer { background: var(--anz-ink); color: rgba(255,255,255,.82); }
.anz-footer a { color: rgba(255,255,255,.82); }
.anz-footer a:hover { color: #fff; }
.anz-footer__title { color: #fff; letter-spacing: .24em; }
.anz-footer__tagline { font-family: var(--anz-font-accent); font-style: italic; color: #fff; }
.anz-footer__bottom { border-color: rgba(255,255,255,.14); color: rgba(255,255,255,.6); }


/* ==========================================================================
   v1.7.1 — Palette olive (couleurs du savon d'Alep), mise en page v1.7 conservée
   ========================================================================== */
:root {
  --anz-ivory: #f8f6f0;
  --anz-sand: #efede3;
  --anz-ink: #2a3120;
  --anz-ink-soft: #545c45;
  --anz-muted: #7a7f6c;
  --anz-line: rgba(42, 49, 32, .14);
  --anz-clay: #6b7a3a;
  --anz-clay-dark: #4f5c2a;
  --anz-accent: #6b7a3a;
  --anz-accent-soft: #c8d19a;
}
.anz-hero__bg { background:
  radial-gradient(80% 70% at 85% 15%, rgba(200,209,154,.16), transparent 60%),
  radial-gradient(70% 60% at 0% 100%, rgba(255,255,255,.05), transparent 60%),
  #2f3824; }
.anz-hero { background: #2f3824; }
.anz-footer { background: #2a3120; }
[data-continent] { --anz-tone: #ebe9de; }
.anz-card__media { background: #ebe9de; }
