/* ═══════════════════════════════════════════════════════════════════════════
   Template MODERN NOIR & OR — Art Déco, Gatsby, cocktail glamour
   Inspirations : Manhattan 1925, Cartier, Tiffany Gold
   Effets : frises Art Déco SVG, textes or dégradé, vignettes éclairées
   ═══════════════════════════════════════════════════════════════════════════ */

.wpm--noir_or {
	background: #0a0a0a;
	color: var(--wpm-surface);
}

.wpm--noir_or > section {
	padding: 120px 32px;
	max-width: 1080px;
	position: relative;
}

/* Frise Art Déco verticale à droite (sauf hero) */
.wpm--noir_or > section:not(:first-child)::after {
	content: '';
	position: absolute;
	right: 24px; top: 50%; transform: translateY(-50%);
	width: 14px; height: 200px;
	background:
		linear-gradient(180deg,
			transparent 0%, transparent 10%,
			var(--wpm-secondary) 10%, var(--wpm-secondary) 12%,
			transparent 12%, transparent 18%,
			var(--wpm-secondary) 18%, var(--wpm-secondary) 22%,
			transparent 22%, transparent 78%,
			var(--wpm-secondary) 78%, var(--wpm-secondary) 82%,
			transparent 82%, transparent 88%,
			var(--wpm-secondary) 88%, var(--wpm-secondary) 90%,
			transparent 90%);
	border-left: 1px solid var(--wpm-secondary);
	border-right: 1px solid var(--wpm-secondary);
	opacity: .35;
	pointer-events: none;
}
@media (max-width: 720px) { .wpm--noir_or > section:not(:first-child)::after { display: none; } }

/* ────── Titres : Cinzel + frise dorée gradient ────── */
.wpm--noir_or .wpm-section-title {
	font-family: 'Cinzel', serif;
	color: var(--wpm-secondary);
	font-weight: 500;
	letter-spacing: .28em;
	text-transform: uppercase;
	font-size: clamp(1.4rem, 3vw, 2rem);
	background: linear-gradient(180deg, #f9e7a1 0%, var(--wpm-secondary) 60%, #b88a0e 100%);
	-webkit-background-clip: text; background-clip: text;
	-webkit-text-fill-color: transparent;
	color: transparent;
	padding-top: 50px;
	position: relative;
}
.wpm--noir_or .wpm-section-title::before {
	content: '';
	position: absolute;
	top: 12px; left: 50%; transform: translateX(-50%);
	width: 50px; height: 14px;
	background:
		linear-gradient(135deg, transparent 49.5%, var(--wpm-secondary) 49.5%, var(--wpm-secondary) 50.5%, transparent 50.5%),
		linear-gradient(45deg,  transparent 49.5%, var(--wpm-secondary) 49.5%, var(--wpm-secondary) 50.5%, transparent 50.5%);
	background-size: 14px 14px;
	opacity: .8;
}
.wpm--noir_or .wpm-section-title::after {
	width: 120px; height: 1px;
	background: linear-gradient(90deg, transparent, var(--wpm-secondary) 30%, var(--wpm-secondary) 70%, transparent);
	opacity: 1;
	margin-top: 24px;
}

/* ────── HERO : noir profond, prénoms or dégradé, halo radial ────── */
.wpm--noir_or .wpm-hero {
	background-color: #000;
	min-height: 100vh;
}
.wpm--noir_or .wpm-hero__overlay {
	background:
		radial-gradient(ellipse 60% 40% at 50% 100%, color-mix(in srgb, var(--wpm-secondary) 30%, transparent) 0%, transparent 60%),
		linear-gradient(180deg, rgba(0,0,0,.4) 0%, rgba(0,0,0,.85) 100%);
}
.wpm--noir_or .wpm-hero__inner {
	animation: wpm-fade-up 2s cubic-bezier(.2,.7,.2,1) both;
	position: relative;
}
/* Cadre Art Déco autour du hero inner */
.wpm--noir_or .wpm-hero__inner::before,
.wpm--noir_or .wpm-hero__inner::after {
	content: '';
	position: absolute;
	width: 120px; height: 120px;
	border: 1.5px solid var(--wpm-secondary);
	opacity: .8;
	pointer-events: none;
}
.wpm--noir_or .wpm-hero__inner::before {
	top: -60px; left: 50%; margin-left: -200px;
	border-right: 0; border-bottom: 0;
	border-image: linear-gradient(135deg, var(--wpm-secondary) 0%, transparent 100%) 1;
}
.wpm--noir_or .wpm-hero__inner::after {
	bottom: -60px; left: 50%; margin-left: 80px;
	border-left: 0; border-top: 0;
	border-image: linear-gradient(315deg, var(--wpm-secondary) 0%, transparent 100%) 1;
}
@media (max-width: 720px) {
	.wpm--noir_or .wpm-hero__inner::before,
	.wpm--noir_or .wpm-hero__inner::after { display: none; }
}
.wpm--noir_or .wpm-hero__names {
	font-family: 'Cinzel', serif;
	font-weight: 500;
	letter-spacing: .2em;
	text-transform: uppercase;
	background: linear-gradient(180deg, #f9e7a1 0%, var(--wpm-secondary) 50%, #b88a0e 100%);
	-webkit-background-clip: text; background-clip: text;
	-webkit-text-fill-color: transparent;
	color: var(--wpm-secondary);
	filter: drop-shadow(0 4px 20px color-mix(in srgb, var(--wpm-secondary) 40%, transparent));
}
.wpm--noir_or .wpm-hero__amp {
	font-family: 'Cinzel', serif; font-style: normal;
	-webkit-text-fill-color: var(--wpm-secondary);
	font-size: .55em;
}
.wpm--noir_or .wpm-hero__subtitle,
.wpm--noir_or .wpm-hero__date {
	color: var(--wpm-secondary);
	font-family: 'Cinzel', serif;
	letter-spacing: .3em;
}
.wpm--noir_or .wpm-hero__date::before,
.wpm--noir_or .wpm-hero__date::after {
	content: '◆'; margin: 0 14px; font-size: .7em; opacity: .8;
}

/* ────── COUNTDOWN : tableau de banquet doré ────── */
.wpm--noir_or .wpm-countdown {
	background: linear-gradient(180deg, #141414 0%, #0a0a0a 100%);
	border-top: 2px solid var(--wpm-secondary);
	border-bottom: 2px solid var(--wpm-secondary);
	color: var(--wpm-surface);
}
.wpm--noir_or .wpm-countdown__grid > div {
	background: transparent;
	border: 1px solid var(--wpm-secondary);
	color: var(--wpm-secondary);
	border-radius: 0;
	position: relative;
}
.wpm--noir_or .wpm-countdown__grid > div::before {
	content: ''; position: absolute;
	top: 4px; left: 4px; right: 4px; bottom: 4px;
	border: 1px solid var(--wpm-secondary);
	opacity: .35; pointer-events: none;
}
.wpm--noir_or .wpm-countdown__grid strong {
	font-family: 'Cinzel', serif;
	background: linear-gradient(180deg, #f9e7a1 0%, var(--wpm-secondary) 60%, #b88a0e 100%);
	-webkit-background-clip: text; background-clip: text;
	-webkit-text-fill-color: transparent;
}

/* ────── CARDS : noir vellour avec liseré or + shimmer ────── */
.wpm--noir_or .wpm-lieu__step,
.wpm--noir_or .wpm-menu__card,
.wpm--noir_or .wpm-prestas__card,
.wpm--noir_or .wpm-places__card,
.wpm--noir_or .wpm-infos__card,
.wpm--noir_or .wpm-livre__msg {
	background: linear-gradient(135deg, #1a1a1a 0%, #0e0e0e 100%);
	border: 1px solid color-mix(in srgb, var(--wpm-secondary) 50%, transparent);
	color: var(--wpm-surface);
	border-radius: 0;
	box-shadow:
		0 24px 48px -24px rgba(0,0,0,.8),
		inset 0 1px 0 color-mix(in srgb, var(--wpm-secondary) 25%, transparent);
	transition: border-color .4s, transform .4s;
}
.wpm--noir_or .wpm-lieu__step:hover,
.wpm--noir_or .wpm-places__card:hover {
	border-color: var(--wpm-secondary);
	transform: translateY(-4px);
}
.wpm--noir_or .wpm-lieu__step-label,
.wpm--noir_or .wpm-menu__h3,
.wpm--noir_or .wpm-prestas__name,
.wpm--noir_or .wpm-places__name,
.wpm--noir_or .wpm-livre__msg-name {
	color: var(--wpm-secondary);
	font-family: 'Cinzel', serif;
	letter-spacing: .15em;
	text-transform: uppercase;
	font-size: 1.05rem;
}
.wpm--noir_or .wpm-lieu__step-type {
	background: var(--wpm-secondary);
	color: #0a0a0a;
	font-family: 'Cinzel', serif;
	letter-spacing: .25em;
	font-weight: 700;
}

/* ────── RSVP : cocktail invitation ────── */
.wpm--noir_or .wpm-rsvp,
.wpm--noir_or .wpm-liste {
	background: linear-gradient(180deg, #141414 0%, #0a0a0a 100%);
	border-top: 1px solid var(--wpm-secondary);
	border-bottom: 1px solid var(--wpm-secondary);
	color: var(--wpm-surface);
}
.wpm--noir_or .wpm-rsvp__cta,
.wpm--noir_or .wpm-liste__cta {
	background: linear-gradient(135deg, #f9e7a1 0%, var(--wpm-secondary) 50%, #b88a0e 100%);
	color: #0a0a0a;
	font-family: 'Cinzel', serif;
	letter-spacing: .25em;
	text-transform: uppercase;
	font-weight: 700;
	border-radius: 0;
	border: 1.5px solid var(--wpm-secondary);
	padding: 18px 40px;
	position: relative;
	box-shadow: 0 20px 40px -16px color-mix(in srgb, var(--wpm-secondary) 60%, transparent);
	overflow: hidden;
}
.wpm--noir_or .wpm-rsvp__cta::before {
	content: '';
	position: absolute; inset: 4px;
	border: 1px solid #0a0a0a; opacity: .25;
	pointer-events: none;
}

/* ────── GALERIE : N&B avec passage couleur au hover + frame or ────── */
.wpm--noir_or .wpm-galerie__item {
	border-radius: 0;
	box-shadow:
		0 0 0 1px var(--wpm-secondary),
		0 0 0 4px #0a0a0a,
		0 0 0 5px color-mix(in srgb, var(--wpm-secondary) 60%, transparent);
}
.wpm--noir_or .wpm-galerie__item img {
	filter: grayscale(.7) contrast(1.1) brightness(.92);
	transition: filter .4s;
}
.wpm--noir_or .wpm-galerie__item:hover img { filter: grayscale(0) contrast(1.15) brightness(1); }

/* ────── PROGRAMME : timeline or ────── */
.wpm--noir_or .wpm-programme__timeline::before { background: var(--wpm-secondary); opacity: .4; }
.wpm--noir_or .wpm-programme__dot {
	background: var(--wpm-secondary);
	box-shadow: 0 0 0 2px var(--wpm-secondary), 0 0 0 6px rgba(212,175,55,.2);
}
.wpm--noir_or .wpm-programme__time {
	color: var(--wpm-secondary);
	font-family: 'Cinzel', serif;
}

/* ────── FOOTER : noir profond ────── */
.wpm--noir_or .wpm-footer { background: #000; border-top: 1px solid var(--wpm-secondary); }
.wpm--noir_or .wpm-footer__love {
	color: var(--wpm-secondary);
	font-family: 'Cinzel', serif;
	letter-spacing: .2em;
	font-size: 1.1rem;
}
.wpm--noir_or .wpm-footer__love::before,
.wpm--noir_or .wpm-footer__love::after {
	content: '◆'; margin: 0 14px; font-size: .7em; opacity: .8;
}
