/* ═══════════════════════════════════════════════════════════════════════════
   Template ÉMERAUDE — Joaillerie : émeraude profond, or antique, ivoire
   Inspirations : velours vert, dorure, écrin précieux, élégance intemporelle.
   Décorations 100% CSS/SVG (zéro émoji). Variables --wpm-* posées par le theme-engine.
   ═══════════════════════════════════════════════════════════════════════════ */

.wpm--emeraude {
	background:
		radial-gradient(ellipse 55% 45% at 8% 0%,    color-mix(in srgb, var(--wpm-primary) 14%, transparent) 0%, transparent 55%),
		radial-gradient(ellipse 45% 40% at 95% 100%, color-mix(in srgb, var(--wpm-secondary) 12%, transparent) 0%, transparent 55%),
		var(--wpm-surface);
}
@supports not (background: color-mix(in srgb, red, blue)) {
	.wpm--emeraude { background: var(--wpm-surface); }
}

.wpm--emeraude > .wpm-section > section { padding: 116px 32px; max-width: 1060px; position: relative; }

/* Filet doré centré en haut de section (sauf hero) */
.wpm--emeraude > .wpm-section:not([data-section="hero"]) > section::before {
	content: '';
	position: absolute; top: 26px; left: 50%; transform: translateX(-50%);
	width: 40px; height: 1px;
	background: linear-gradient(90deg, transparent, var(--wpm-secondary), transparent);
	opacity: .7;
}

/* ── Titres : Fraunces, losange doré + filet ── */
.wpm--emeraude .wpm-section-title {
	font-family: 'Fraunces', serif;
	font-weight: 500;
	letter-spacing: .04em;
	color: var(--wpm-ink);
}
.wpm--emeraude .wpm-section-title::before {
	width: 9px; height: 9px;
	margin: 0 auto 22px;
	background: var(--wpm-secondary);
	transform: rotate(45deg);
	border-radius: 1px;
	-webkit-mask: none; mask: none;
	clip-path: none;
}
.wpm--emeraude .wpm-section-title::after {
	height: 2px; width: 72px;
	background: linear-gradient(90deg, transparent, var(--wpm-secondary), transparent);
	opacity: 1;
	border-radius: 2px;
}

/* ── HERO : voile émeraude profond + accents or ── */
.wpm--emeraude .wpm-hero { background-color: var(--wpm-ink); }
.wpm--emeraude .wpm-hero__overlay {
	background:
		radial-gradient(ellipse 95% 75% at 50% 38%, transparent 0%, color-mix(in srgb, var(--wpm-ink) 55%, transparent) 100%),
		linear-gradient(180deg, color-mix(in srgb, var(--wpm-ink) 24%, transparent) 0%, color-mix(in srgb, var(--wpm-ink) 78%, transparent) 100%);
}
.wpm--emeraude .wpm-hero__inner { animation: wpm-fade-up 1.5s cubic-bezier(.2,.7,.2,1) both; }
.wpm--emeraude .wpm-hero__names { font-family: 'Fraunces', serif; font-weight: 500; }
.wpm--emeraude .wpm-hero__amp { color: var(--wpm-secondary); font-style: italic; opacity: 1; }
.wpm--emeraude .wpm-hero__subtitle {
	color: color-mix(in srgb, var(--wpm-secondary) 78%, #fff);
	letter-spacing: .4em;
}
.wpm--emeraude .wpm-hero__monogram {
	border-color: var(--wpm-secondary);
	color: color-mix(in srgb, var(--wpm-secondary) 85%, #fff);
}
.wpm--emeraude .wpm-hero__date::before,
.wpm--emeraude .wpm-hero__date::after { background: var(--wpm-secondary); opacity: .9; }

/* ── COUNTDOWN : écrin émeraude, chiffres dorés ── */
.wpm--emeraude .wpm-countdown {
	background: linear-gradient(135deg, var(--wpm-ink) 0%, color-mix(in srgb, var(--wpm-primary) 60%, var(--wpm-ink)) 100%);
	color: #fff;
}
.wpm--emeraude .wpm-countdown__grid > div {
	background: color-mix(in srgb, var(--wpm-secondary) 10%, transparent);
	border: 1px solid color-mix(in srgb, var(--wpm-secondary) 45%, transparent);
	border-radius: 6px;
	backdrop-filter: blur(8px);
	-webkit-backdrop-filter: blur(8px);
}
.wpm--emeraude .wpm-countdown__grid strong { font-family: 'Fraunces', serif; color: var(--wpm-secondary); }

/* ── CARTES : ivoire, liseré or, ombre profonde au survol ── */
.wpm--emeraude .wpm-lieu__step,
.wpm--emeraude .wpm-menu__card,
.wpm--emeraude .wpm-places__card,
.wpm--emeraude .wpm-prestas__card {
	border-radius: 10px;
	background: var(--wpm-surface);
	border: 1px solid color-mix(in srgb, var(--wpm-secondary) 38%, transparent);
	box-shadow: 0 14px 34px -18px color-mix(in srgb, var(--wpm-ink) 55%, transparent);
	transition: transform .35s, box-shadow .35s, border-color .35s;
}
.wpm--emeraude .wpm-lieu__step:hover,
.wpm--emeraude .wpm-places__card:hover,
.wpm--emeraude .wpm-prestas__card:hover {
	transform: translateY(-6px);
	border-color: var(--wpm-secondary);
	box-shadow: 0 26px 52px -22px color-mix(in srgb, var(--wpm-primary) 55%, transparent);
}
.wpm--emeraude .wpm-lieu__step-type {
	font-family: 'Fraunces', serif;
	background: linear-gradient(135deg, var(--wpm-primary), color-mix(in srgb, var(--wpm-primary) 70%, var(--wpm-ink)));
	color: color-mix(in srgb, var(--wpm-secondary) 85%, #fff);
	letter-spacing: .14em;
}

/* ── CTA : or sur émeraude, façon écrin ── */
.wpm--emeraude .wpm-rsvp__cta,
.wpm--emeraude .wpm-liste__cta {
	background: linear-gradient(135deg, var(--wpm-secondary) 0%, color-mix(in srgb, var(--wpm-secondary) 75%, #7a5a12) 100%);
	color: var(--wpm-ink);
	font-family: 'Fraunces', serif;
	font-weight: 600;
	letter-spacing: .12em;
	border-radius: 999px;
	padding: 16px 38px;
	box-shadow: 0 12px 28px -12px color-mix(in srgb, var(--wpm-secondary) 70%, transparent);
}
.wpm--emeraude .wpm-rsvp,
.wpm--emeraude .wpm-liste {
	background: linear-gradient(135deg, var(--wpm-primary) 0%, var(--wpm-ink) 100%);
	color: #fff;
}

/* ── GALERIE : cadre doré fin ── */
.wpm--emeraude .wpm-galerie__item {
	border-radius: 8px;
	box-shadow:
		0 0 0 1px var(--wpm-surface),
		0 0 0 4px color-mix(in srgb, var(--wpm-secondary) 55%, transparent),
		0 16px 30px -18px color-mix(in srgb, var(--wpm-ink) 50%, transparent);
}

/* ── FOOTER : velours émeraude, signature dorée ── */
.wpm--emeraude .wpm-footer {
	background: linear-gradient(180deg, var(--wpm-primary) 0%, var(--wpm-ink) 100%);
	color: color-mix(in srgb, var(--wpm-surface) 90%, transparent);
}
.wpm--emeraude .wpm-footer__love {
	font-family: 'Fraunces', serif;
	color: var(--wpm-secondary);
	letter-spacing: .12em;
	font-style: normal;
}
.wpm--emeraude .wpm-footer__love::before,
.wpm--emeraude .wpm-footer__love::after {
	content: '';
	display: inline-block;
	width: .5em; height: .5em;
	margin: 0 .5em;
	vertical-align: .02em;
	background: var(--wpm-secondary);
	transform: rotate(45deg);
	border-radius: 1px;
	opacity: .85;
}
