/* ═══════════════════════════════════════════════════════════════════════════
   Template MINIMAL — Éditorial moderne, design Kinfolk / Vogue
   Inspirations : magazines de luxe, photographie noir & blanc, espaces massifs
   Effets : prénoms XXL, parallax hero, histoire 2 colonnes, lignes nettes
   ═══════════════════════════════════════════════════════════════════════════ */

.wpm--minimal {
	background: var(--wpm-surface);
	font-feature-settings: "ss01", "salt";
}

/* ────── Sections : XL padding, alignement à gauche, grille ────── */
.wpm--minimal > section {
	padding: 160px 48px;
	max-width: 1280px;
	position: relative;
}
.wpm--minimal > section:first-child { padding: 0; max-width: none; }

@media (max-width: 720px) { .wpm--minimal > section { padding: 80px 24px; } }

/* Numéro de section (style éditorial) */
.wpm--minimal > section:not(:first-child)::before {
	content: counter(wpm-sec, decimal-leading-zero);
	counter-increment: wpm-sec;
	position: absolute;
	top: 60px; right: 60px;
	font-family: var(--wpm-font-body);
	font-size: .75rem;
	font-weight: 500;
	letter-spacing: .25em;
	color: var(--wpm-ink);
	opacity: .35;
}
.wpm--minimal { counter-reset: wpm-sec; }

/* ────── Titres : alignés gauche, sans ornement, taille XXL ────── */
.wpm--minimal .wpm-section-title {
	font-size: clamp(2.4rem, 5.5vw, 4.2rem);
	font-weight: 200;
	letter-spacing: -.025em;
	text-align: left;
	margin: 0 0 80px;
	line-height: 1;
}
.wpm--minimal .wpm-section-title::after { display: none; }

/* ────── HERO : noir profond, prénoms ÉNORMES en bas, parallax bg ────── */
.wpm--minimal .wpm-hero {
	background-color: var(--wpm-ink);
	min-height: 100vh;
	background-attachment: fixed;
	overflow: hidden;
}
@media (max-width: 980px) {
	.wpm--minimal .wpm-hero { background-attachment: scroll; }
}
.wpm--minimal .wpm-hero__overlay {
	background:
		linear-gradient(180deg, rgba(0,0,0,.1) 0%, transparent 30%, transparent 70%, rgba(0,0,0,.7) 100%);
}
.wpm--minimal .wpm-hero__inner {
	align-self: flex-end;
	padding-bottom: 80px;
	padding-left: 48px;
	max-width: 100%;
	text-align: left;
	animation: wpm-fade-up 1.8s cubic-bezier(.2,.7,.2,1) both;
}
.wpm--minimal .wpm-hero__names {
	font-weight: 200;
	font-size: clamp(3.6rem, 13vw, 9rem);
	letter-spacing: -.05em;
	line-height: .92;
	align-items: flex-start;
	gap: -.15em;
}
.wpm--minimal .wpm-hero__amp {
	font-size: .3em; opacity: 1;
	color: var(--wpm-secondary);
	font-style: normal;
	font-weight: 300;
	transform: translateY(-.5em);
	letter-spacing: 0;
}
.wpm--minimal .wpm-hero__subtitle {
	font-weight: 300;
	letter-spacing: .6em;
	font-size: .68rem;
	margin: 0 0 28px;
}
.wpm--minimal .wpm-hero__date {
	letter-spacing: .35em;
	margin-top: 24px;
	font-size: .85rem;
}

/* Indicateur "scroll" sous le hero */
.wpm--minimal .wpm-hero::after {
	content: '↓';
	position: absolute;
	bottom: 32px; left: 50%; transform: translateX(-50%);
	color: #fff; opacity: .6;
	font-size: 24px;
	animation: wpm-float 2.4s ease-in-out infinite;
	pointer-events: none;
}

/* ────── COUNTDOWN : carrés noirs ultra-minimaux ────── */
.wpm--minimal .wpm-countdown {
	background: var(--wpm-ink); color: #fff;
	padding: 100px 48px !important;
}
.wpm--minimal .wpm-countdown__grid > div {
	background: transparent;
	border: 1px solid rgba(255,255,255,.18);
	border-radius: 0;
	padding: 32px 16px;
	backdrop-filter: none;
}
.wpm--minimal .wpm-countdown__grid strong {
	font-weight: 200;
	letter-spacing: -.03em;
}
.wpm--minimal .wpm-countdown__grid small {
	letter-spacing: .3em;
}

/* ────── HISTOIRE : 2 colonnes éditorial avec lettrine numérotée ────── */
.wpm--minimal .wpm-histoire__body {
	column-count: 2;
	column-gap: 48px;
	max-width: 880px;
	font-size: 1.02rem;
	line-height: 1.85;
	column-rule: 1px solid color-mix(in srgb, var(--wpm-ink) 12%, transparent);
}
@media (max-width: 720px) {
	.wpm--minimal .wpm-histoire__body { column-count: 1; }
}
.wpm--minimal .wpm-histoire__body p:first-child {
	margin-top: 0;
	font-size: 1.18rem;
	line-height: 1.7;
	font-weight: 400;
}
.wpm--minimal .wpm-histoire__body p:first-child::first-letter {
	font-family: var(--wpm-font-heading);
	font-size: 4.2em;
	float: left;
	line-height: .85;
	margin: 6px 12px 0 0;
	font-weight: 300;
	color: var(--wpm-ink);
}

/* ────── CARDS : carrées strictes, bordure fine, hover invert ────── */
.wpm--minimal .wpm-lieu__step,
.wpm--minimal .wpm-menu__card,
.wpm--minimal .wpm-places__card,
.wpm--minimal .wpm-prestas__card,
.wpm--minimal .wpm-livre__msg,
.wpm--minimal .wpm-infos__card {
	border-radius: 0;
	border: 1px solid var(--wpm-ink);
	box-shadow: none;
	background: var(--wpm-surface);
	color: var(--wpm-ink);
	transition: background .35s, color .35s;
}
.wpm--minimal .wpm-lieu__step:hover,
.wpm--minimal .wpm-places__card:hover {
	background: var(--wpm-ink);
	color: var(--wpm-surface);
}
.wpm--minimal .wpm-lieu__step:hover .wpm-lieu__step-label,
.wpm--minimal .wpm-places__card:hover .wpm-places__name { color: var(--wpm-surface); }
.wpm--minimal .wpm-lieu__step-type {
	background: var(--wpm-ink); color: var(--wpm-surface);
	border-radius: 0;
	letter-spacing: .25em;
	font-size: .65rem;
}

/* ────── RSVP / CTA : pavé carré ultra-net ────── */
.wpm--minimal .wpm-rsvp,
.wpm--minimal .wpm-liste {
	background: var(--wpm-ink); color: #fff;
}
.wpm--minimal .wpm-rsvp__cta,
.wpm--minimal .wpm-liste__cta {
	background: #fff; color: var(--wpm-ink);
	border-radius: 0;
	padding: 22px 56px;
	letter-spacing: .2em;
	font-weight: 500;
	font-size: .8rem;
	border: 1px solid #fff;
	transition: background .25s, color .25s;
}
.wpm--minimal .wpm-rsvp__cta:hover,
.wpm--minimal .wpm-liste__cta:hover {
	background: transparent; color: #fff;
}

/* ────── GALERIE : grille serrée 2px, hover invert ────── */
.wpm--minimal .wpm-galerie__grid { gap: 2px; }
.wpm--minimal .wpm-galerie__item { border-radius: 0; }
.wpm--minimal .wpm-galerie__item img {
	filter: contrast(1.05);
	transition: filter .4s, transform .6s;
}
.wpm--minimal .wpm-galerie__item:hover img {
	filter: grayscale(1) contrast(1.15);
	transform: scale(1.02);
}

/* ────── FOOTER ultra-minimal ────── */
.wpm--minimal .wpm-footer {
	background: var(--wpm-ink);
	padding: 48px 48px;
	text-align: left;
}
.wpm--minimal .wpm-footer__love {
	font-size: 1.1rem;
	letter-spacing: .12em;
	font-weight: 300;
	text-transform: uppercase;
}
