/* ═══════════════════════════════════════════════════════════════════════════
   Template CHAMPÊTRE — Rustique chic, lin et bois, fleurs des champs
   Inspirations : granges françaises, lavande de Provence, kraft
   Effets : texture lin SVG, étiquettes manuscrites, paper-cut
   ═══════════════════════════════════════════════════════════════════════════ */

.wpm--champetre {
	background-color: var(--wpm-surface);
	/* Texture lin subtile via SVG noise + halos végétaux */
	background-image:
		url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='100' height='100'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 .4  0 0 0 0 .32  0 0 0 0 .25  0 0 0 .08 0'/></filter><rect width='100' height='100' filter='url(%23n)'/></svg>"),
		radial-gradient(ellipse 80% 60% at 100% 0%, color-mix(in srgb, var(--wpm-secondary) 25%, transparent) 0%, transparent 60%),
		radial-gradient(ellipse 60% 50% at 0% 100%, color-mix(in srgb, var(--wpm-primary) 20%, transparent) 0%, transparent 60%);
}

.wpm--champetre > section {
	padding: 100px 32px;
	max-width: 980px;
}

/* ────── Titres : glyphe ✿ champêtre + bordure dashed ────── */
.wpm--champetre .wpm-section-title {
	font-style: italic;
	font-weight: 400;
	position: relative;
	padding-top: 50px;
}
.wpm--champetre .wpm-section-title::before {
	content: '❀';
	position: absolute;
	top: 0; left: 50%; transform: translateX(-50%);
	font-size: 1.8rem;
	color: var(--wpm-primary);
	opacity: .65;
	animation: wpm-float 5s ease-in-out infinite;
}
.wpm--champetre .wpm-section-title::after {
	width: 100px; height: 0;
	border-top: 1px dashed var(--wpm-primary);
	background: none;
	opacity: .7;
	margin-top: 18px;
}

/* ────── HERO : photo + cadre rustique ────── */
.wpm--champetre .wpm-hero {
	min-height: 96vh;
}
.wpm--champetre .wpm-hero__overlay {
	background:
		linear-gradient(180deg, transparent 40%, rgba(0,0,0,.5) 100%);
}
.wpm--champetre .wpm-hero__inner { animation: wpm-fade-up 1.6s cubic-bezier(.2,.7,.2,1) both; }
.wpm--champetre .wpm-hero__names { font-weight: 400; }
.wpm--champetre .wpm-hero__amp {
	font-family: 'Special Elite', cursive;
	font-size: .55em; font-style: normal;
	transform: rotate(-3deg);
}
.wpm--champetre .wpm-hero__subtitle {
	font-family: 'Special Elite', cursive;
	letter-spacing: .1em;
	text-transform: none;
	font-size: 1rem;
	transform: rotate(-1deg);
}
.wpm--champetre .wpm-hero__date {
	font-family: 'Special Elite', cursive;
	letter-spacing: .15em;
	font-size: 1.1rem;
}
.wpm--champetre .wpm-hero__date::before { content: '✿ '; opacity: .7; }
.wpm--champetre .wpm-hero__date::after  { content: ' ✿'; opacity: .7; }

/* ────── CARDS : style "étiquette kraft" ────── */
.wpm--champetre .wpm-lieu__step,
.wpm--champetre .wpm-menu__card,
.wpm--champetre .wpm-places__card,
.wpm--champetre .wpm-prestas__card,
.wpm--champetre .wpm-livre__msg {
	background:
		repeating-linear-gradient(135deg, transparent 0 6px, rgba(0,0,0,.018) 6px 12px),
		var(--wpm-surface);
	border: 1px dashed var(--wpm-primary);
	border-radius: 6px;
	box-shadow:
		0 1px 0 rgba(0,0,0,.04),
		0 12px 24px -16px rgba(0,0,0,.18);
	transition: transform .35s ease;
}
.wpm--champetre .wpm-lieu__step:hover,
.wpm--champetre .wpm-places__card:hover {
	transform: rotate(-.5deg) translateY(-4px);
}
.wpm--champetre .wpm-menu__card:nth-child(even) { transform: rotate(.4deg); }
.wpm--champetre .wpm-menu__card:nth-child(odd)  { transform: rotate(-.4deg); }
.wpm--champetre .wpm-menu__card { transition: transform .3s; }
.wpm--champetre .wpm-menu__card:hover { transform: rotate(0) scale(1.02) !important; }

/* ────── COUNTDOWN : bouquet de cards penchées ────── */
.wpm--champetre .wpm-countdown {
	background: var(--wpm-accent); color: var(--wpm-on-accent);
}
.wpm--champetre .wpm-countdown__grid > div {
	background: rgba(255,255,255,.6);
	border: 1px dashed var(--wpm-primary);
	border-radius: 8px;
	backdrop-filter: blur(4px);
}
.wpm--champetre .wpm-countdown__grid > div:nth-child(odd)  { transform: rotate(-1deg); }
.wpm--champetre .wpm-countdown__grid > div:nth-child(even) { transform: rotate(1deg); }

/* ────── CTA "tampon" ────── */
.wpm--champetre .wpm-rsvp__cta,
.wpm--champetre .wpm-liste__cta {
	background: transparent;
	color: var(--wpm-ink);
	border: 2px solid var(--wpm-primary);
	letter-spacing: .15em;
	border-radius: 4px;
	font-family: 'Special Elite', cursive;
	transition: background .25s, color .25s;
	transform: rotate(-1deg);
}
.wpm--champetre .wpm-rsvp__cta:hover,
.wpm--champetre .wpm-liste__cta:hover {
	background: var(--wpm-primary);
	color: var(--wpm-on-primary);
	transform: rotate(0);
}

/* ────── PROGRAMME : timeline en chemin de table ────── */
.wpm--champetre .wpm-programme__timeline::before {
	border-left: 2px dashed var(--wpm-primary);
	background: none;
	opacity: .5;
}
.wpm--champetre .wpm-programme__dot {
	background: var(--wpm-primary);
	border: 3px solid var(--wpm-surface);
	box-shadow: 0 0 0 2px var(--wpm-primary);
}

/* ────── GALERIE : photos polaroïd avec ombre ────── */
.wpm--champetre .wpm-galerie__item {
	background: #fff;
	padding: 8px 8px 32px;
	border-radius: 4px;
	box-shadow: 0 10px 24px -12px rgba(0,0,0,.3);
	transition: transform .4s;
}
.wpm--champetre .wpm-galerie__item:nth-child(3n)   { transform: rotate(-1.5deg); }
.wpm--champetre .wpm-galerie__item:nth-child(3n+1) { transform: rotate(1deg); }
.wpm--champetre .wpm-galerie__item:hover { transform: rotate(0) scale(1.05); z-index: 3; }
.wpm--champetre .wpm-galerie__item img { border-radius: 2px; aspect-ratio: 1; }

/* ────── FOOTER : signature manuscrite encadrée ────── */
.wpm--champetre .wpm-footer__love {
	font-family: 'Special Elite', cursive;
	font-style: normal;
}
.wpm--champetre .wpm-footer__love::before,
.wpm--champetre .wpm-footer__love::after {
	content: '~'; margin: 0 14px; opacity: .65;
}
