/* ═══════════════════════════════════════════════════════════════════════════
   Template CHERRY BLOSSOM — Japandi printanier, sakura, glassmorphism
   Inspirations : hanami, papier mochi, rosés tendres, légèreté
   Effets : pétales SVG en chute, cartes blur backdrop, halos roses
   ═══════════════════════════════════════════════════════════════════════════ */

.wpm--cherry_blossom {
	background:
		radial-gradient(circle at 90% 10%, color-mix(in srgb, var(--wpm-primary) 25%, transparent) 0%, transparent 30%),
		radial-gradient(circle at 10% 90%, color-mix(in srgb, var(--wpm-primary) 22%, transparent) 0%, transparent 30%),
		radial-gradient(circle at 50% 50%, color-mix(in srgb, var(--wpm-primary) 8%, transparent) 0%, transparent 40%),
		var(--wpm-surface);
	position: relative;
	overflow-x: hidden;
}

/* Pétales tombants animés — position absolute contenue dans le wrapper.
   Évite que les pétales surnagent par-dessus l'éditeur ou la page admin. */
.wpm--cherry_blossom { position: relative; }
.wpm--cherry_blossom::before,
.wpm--cherry_blossom::after {
	content: '';
	position: absolute;
	top: -50px; width: 16px; height: 16px;
	background: var(--wpm-primary);
	clip-path: polygon(50% 0%, 65% 35%, 100% 50%, 65% 65%, 50% 100%, 35% 65%, 0% 50%, 35% 35%);
	opacity: .35;
	animation: wpm-petals-fall 14s linear infinite;
	pointer-events: none;
	z-index: 1;
}
.wpm--cherry_blossom::before { left: 15%; animation-delay: -2s; }
.wpm--cherry_blossom::after  { left: 75%; animation-delay: -8s; width: 12px; height: 12px; }
/* Désactive l'animation sur petits écrans pour économiser les perfs et la batterie */
@media (max-width: 720px), (prefers-reduced-motion: reduce) {
	.wpm--cherry_blossom::before,
	.wpm--cherry_blossom::after { display: none; }
}

.wpm--cherry_blossom > section {
	padding: 110px 32px;
	max-width: 1080px;
	position: relative;
	z-index: 2;
}

/* ────── Titres : Italiana + cercle ouvert "fleur" ────── */
.wpm--cherry_blossom .wpm-section-title {
	font-weight: 400;
	letter-spacing: .03em;
	position: relative;
	padding-top: 48px;
}
.wpm--cherry_blossom .wpm-section-title::before {
	content: '❀';
	position: absolute;
	top: 0; left: 50%; transform: translateX(-50%);
	color: var(--wpm-primary);
	font-size: 1.6rem;
	opacity: .6;
}
.wpm--cherry_blossom .wpm-section-title::after {
	width: 60px; height: 1px;
	background: linear-gradient(90deg, transparent, var(--wpm-primary), transparent);
	opacity: .55;
	margin-top: 18px;
}

/* ────── HERO : prénoms souples avec halo + pétales ────── */
.wpm--cherry_blossom .wpm-hero { min-height: 100vh; overflow: hidden; }
.wpm--cherry_blossom .wpm-hero__overlay {
	background:
		radial-gradient(ellipse at 50% 100%, color-mix(in srgb, var(--wpm-primary) 30%, transparent) 0%, transparent 50%),
		linear-gradient(180deg, transparent 30%, rgba(0,0,0,.35) 100%);
}
.wpm--cherry_blossom .wpm-hero__inner { animation: wpm-fade-up 1.6s cubic-bezier(.2,.7,.2,1) both; }
.wpm--cherry_blossom .wpm-hero__amp {
	color: var(--wpm-primary);
	opacity: .85;
}
.wpm--cherry_blossom .wpm-hero__subtitle::before { content: '❀ '; opacity: .8; }
.wpm--cherry_blossom .wpm-hero__subtitle::after  { content: ' ❀'; opacity: .8; }

/* ────── COUNTDOWN : verre poli rose ────── */
.wpm--cherry_blossom .wpm-countdown {
	background: linear-gradient(135deg, color-mix(in srgb, var(--wpm-primary) 80%, #fff), var(--wpm-primary));
	color: var(--wpm-on-primary);
}
.wpm--cherry_blossom .wpm-countdown__grid > div {
	background: rgba(255,255,255,.4);
	border: 1px solid rgba(255,255,255,.6);
	backdrop-filter: blur(14px);
	border-radius: 20px;
}

/* ────── CARDS : verre poli (glassmorphism) ────── */
.wpm--cherry_blossom .wpm-lieu__step,
.wpm--cherry_blossom .wpm-menu__card,
.wpm--cherry_blossom .wpm-places__card,
.wpm--cherry_blossom .wpm-prestas__card,
.wpm--cherry_blossom .wpm-livre__msg,
.wpm--cherry_blossom .wpm-infos__card {
	border-radius: 24px;
	background: rgba(255, 255, 255, .55);
	backdrop-filter: blur(12px);
	-webkit-backdrop-filter: blur(12px);
	border: 1px solid rgba(255,255,255,.7);
	box-shadow:
		0 16px 40px -20px color-mix(in srgb, var(--wpm-primary) 60%, transparent),
		inset 0 1px 0 rgba(255,255,255,.8);
	transition: transform .35s, box-shadow .35s;
}
.wpm--cherry_blossom .wpm-lieu__step:hover,
.wpm--cherry_blossom .wpm-places__card:hover {
	transform: translateY(-6px);
	box-shadow:
		0 28px 56px -24px color-mix(in srgb, var(--wpm-primary) 80%, transparent),
		inset 0 1px 0 rgba(255,255,255,.9);
}
.wpm--cherry_blossom .wpm-lieu__step-type {
	background: linear-gradient(135deg, var(--wpm-primary), color-mix(in srgb, var(--wpm-primary) 70%, #fff));
	border-radius: 999px;
}

/* ────── CTA : doux pétale ────── */
.wpm--cherry_blossom .wpm-rsvp__cta,
.wpm--cherry_blossom .wpm-liste__cta {
	background: linear-gradient(135deg, var(--wpm-primary), color-mix(in srgb, var(--wpm-primary) 70%, #fff));
	color: var(--wpm-on-primary);
	border-radius: 999px;
	box-shadow: 0 14px 28px -12px color-mix(in srgb, var(--wpm-primary) 70%, transparent);
	padding: 16px 36px;
}
.wpm--cherry_blossom .wpm-rsvp__cta::before { content: '❀ '; }

/* ────── GALERIE : arrondi doux + filtre rosé ────── */
.wpm--cherry_blossom .wpm-galerie__item { border-radius: 18px; }
.wpm--cherry_blossom .wpm-galerie__item img {
	filter: brightness(1.04) saturate(1.05);
}

/* ────── FOOTER : pétale sombre ────── */
.wpm--cherry_blossom .wpm-footer {
	background: linear-gradient(180deg, var(--wpm-primary) 0%, color-mix(in srgb, var(--wpm-primary) 60%, #000) 100%);
}
.wpm--cherry_blossom .wpm-footer__love::before { content: '❀ '; opacity: .8; }
.wpm--cherry_blossom .wpm-footer__love::after  { content: ' ❀'; opacity: .8; }
