/* Event-Stats — « Votre billet en trois gestes » — orange · blanc · vert */
.estp {
	--estp-orange: #FF6B4A;
	--estp-orange-dark: #C2410C;
	--estp-green: #1F7A54;
	--estp-green-dark: #145C3E;
	--estp-ink: #201433;
	--estp-muted: #5B4D74;
	background: #FFFFFF;
	border-top: 1px solid #EAE3F5;
	border-bottom: 1px solid #EAE3F5;
	padding: 104px 0 112px;
	position: relative;
	overflow: hidden;
	scroll-margin-top: 16px;
}
.estp::before {
	/* Discret rappel du billet : ligne de découpe pointillée verte */
	content: "";
	position: absolute;
	left: 0; right: 0; top: 0;
	border-top: 3px dashed rgba(31, 122, 84, .25);
}
.estp-wrap { position: relative; }
.estp-head { max-width: 760px; margin-bottom: 56px; }
.estp-kicker {
	margin: 0 0 14px;
	font-size: 13px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase;
	color: var(--estp-green);
	display: inline-flex; align-items: center; gap: 10px;
}
.estp-kicker::before { content: ""; width: 28px; height: 2px; background: var(--estp-green); }
.estp-title {
	margin: 0;
	font-family: 'Unbounded', 'Work Sans', sans-serif;
	font-weight: 800;
	font-size: clamp(34px, 5vw, 60px);
	line-height: 1.02;
	letter-spacing: -0.02em;
	color: var(--estp-ink);
}
.estp-title em {
	font-family: 'Instrument Serif', Georgia, serif;
	font-style: italic; font-weight: 400;
	font-size: 1.12em; letter-spacing: 0;
	color: var(--estp-green);
}
.estp-steps {
	list-style: none; margin: 0; padding: 0;
	display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 32px;
	counter-reset: none;
}
.estp-step {
	border-top: 3px solid var(--estp-ink);
	padding-top: 26px;
	transition: border-color .3s;
}
.estp-step:hover { border-top-color: var(--estp-orange); }
.estp-num {
	display: block;
	font-family: 'Unbounded', 'Work Sans', sans-serif;
	font-weight: 800; font-size: clamp(56px, 6vw, 80px); line-height: 1;
	color: var(--estp-orange);
	transition: transform .4s cubic-bezier(.2,.7,.2,1);
	transform-origin: left bottom;
}
.estp-step:hover .estp-num { transform: translateY(-4px) rotate(-4deg); }
.estp-step h3 {
	margin: 20px 0 10px;
	font-family: 'Unbounded', 'Work Sans', sans-serif;
	font-weight: 700; font-size: 22px; letter-spacing: -0.01em;
	color: var(--estp-ink);
}
.estp-step p { margin: 0; font-size: 16px; line-height: 1.65; color: var(--estp-muted); }
.estp-step a { white-space: nowrap; color: var(--estp-green); font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }
.estp-step a:hover { color: var(--estp-green-dark); }
.estp-pay { list-style: none; margin: 18px 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.estp-pay li {
	font-size: 13px; font-weight: 700; color: var(--estp-green-dark);
	background: #E8F5EF; border: 1px solid #CDE8DA;
	padding: 7px 12px; border-radius: 999px;
}

/* Apparition au défilement (navigateurs récents ; ailleurs : affichage normal) */
@supports (animation-timeline: view()) {
	.estp-head, .estp-step {
		animation: estp-in linear both;
		animation-timeline: view();
		animation-range: entry 5% cover 30%;
	}
	.estp-step:nth-child(2) { animation-range: entry 12% cover 36%; }
	.estp-step:nth-child(3) { animation-range: entry 19% cover 42%; }
	@keyframes estp-in {
		from { opacity: 0; transform: translateY(44px); }
		to { opacity: 1; transform: none; }
	}
}
@media (prefers-reduced-motion: reduce) {
	.estp-head, .estp-step { animation: none !important; }
	.estp-num, .estp-step { transition: none; }
	.estp-step:hover .estp-num { transform: none; }
}
@media (max-width: 860px) {
	.estp { padding: 72px 0 80px; }
	.estp-head { margin-bottom: 40px; }
	.estp-steps { grid-template-columns: minmax(0, 1fr); gap: 36px; }
}

/* =====================================================================
 * Cadre « Remplissez votre salle. » (organisateurs) — vert, orange, blanc
 * ===================================================================== */
.estp-orga {
	padding: 40px 0 88px;
	scroll-margin-top: 16px;
}
.estp-orga-card {
	position: relative;
	overflow: hidden;
	isolation: isolate;
	display: grid;
	grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr);
	gap: 56px;
	align-items: center;
	padding: 88px 72px;
	border-radius: 36px;
	color: #FFFFFF;
	background:
		radial-gradient(520px 420px at 105% 110%, rgba(255,107,74,.22), rgba(255,107,74,0) 70%),
		linear-gradient(160deg, #124A36 0%, #0E3B2B 60%, #0B2F22 100%);
	box-shadow: 0 50px 90px -60px rgba(14,59,43,.9);
}
/* Grand anneau orange en arrière-plan */
.estp-orga-ring {
	position: absolute;
	right: -170px;
	bottom: -260px;
	width: 620px;
	height: 620px;
	border-radius: 50%;
	border: 88px solid rgba(255,107,74,.20);
	z-index: -1;
	pointer-events: none;
}
.estp-orga-kicker {
	margin: 0 0 18px;
	display: inline-flex;
	align-items: center;
	gap: 12px;
	font-size: 13px;
	font-weight: 800;
	letter-spacing: .16em;
	text-transform: uppercase;
	color: #FFB38F;
}
.estp-orga-kicker::before { content: ""; width: 28px; height: 2px; background: #FF6B4A; }
.estp-orga-title {
	margin: 0 0 28px;
	font-family: 'Unbounded', 'Work Sans', sans-serif;
	font-weight: 800;
	font-size: clamp(38px, 5.4vw, 68px);
	line-height: 1;
	letter-spacing: -0.025em;
	color: #FFFFFF;
}
.estp-orga-title em {
	font-family: 'Instrument Serif', Georgia, serif;
	font-style: italic;
	font-weight: 400;
	font-size: 1.12em;
	letter-spacing: 0;
	color: #FF6B4A;
}
.estp-orga-lead {
	margin: 0 0 32px;
	max-width: 520px;
	font-size: 18px;
	line-height: 1.65;
	color: rgba(255,255,255,.76);
}
.estp-orga-btn {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	background: #FF6B4A;
	color: #201433 !important;
	font-weight: 800;
	font-size: 16px;
	padding: 16px 26px;
	border-radius: 16px;
	text-decoration: none;
	box-shadow: 0 4px 0 #C2410C;
	transition: transform .15s, box-shadow .15s, background .2s;
}
.estp-orga-btn:hover { background: #FF7F62; transform: translateY(-2px); box-shadow: 0 6px 0 #C2410C; }
.estp-orga-btn:active { transform: translateY(2px); box-shadow: 0 2px 0 #C2410C; }
.estp-orga-btn:focus-visible { outline: 3px solid #FFFFFF; outline-offset: 3px; }

.estp-orga-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 18px; }
.estp-orga-item {
	display: flex;
	gap: 18px;
	align-items: flex-start;
	padding: 26px 28px;
	border-radius: 22px;
	background: rgba(255,255,255,.07);
	border: 1px solid rgba(255,255,255,.14);
	backdrop-filter: blur(4px);
	transition: transform .3s cubic-bezier(.2,.7,.2,1), background .3s, border-color .3s;
}
.estp-orga-item:hover { transform: translateX(-4px); background: rgba(255,255,255,.11); border-color: rgba(255,179,143,.45); }
.estp-orga-item svg { flex: none; color: #FF6B4A; margin-top: 1px; }
.estp-orga-item strong {
	display: block;
	font-family: 'Unbounded', 'Work Sans', sans-serif;
	font-size: 18px;
	font-weight: 700;
	letter-spacing: -0.01em;
	color: #FFFFFF;
	margin-bottom: 6px;
}
.estp-orga-item span span { display: block; font-size: 16px; color: rgba(255,255,255,.72); line-height: 1.5; }

@supports (animation-timeline: view()) {
	.estp-orga-item { animation: estp-rv linear both; animation-timeline: view(); animation-range: entry 0% cover 25%; }
}
@keyframes estp-rv { from { opacity: 0; translate: 0 36px; } to { opacity: 1; translate: 0 0; } }

@media (max-width: 980px) {
	.estp-orga-card { grid-template-columns: minmax(0, 1fr); gap: 40px; padding: 56px 32px; border-radius: 28px; }
	.estp-orga-ring { width: 420px; height: 420px; border-width: 60px; right: -160px; bottom: -180px; }
}
@media (max-width: 640px) {
	.estp-orga { padding: 24px 0 56px; }
	.estp-orga .es-wrap { padding: 0 10px; }
	.estp-orga-card { padding: 44px 22px; border-radius: 24px; }
	.estp-orga-lead { font-size: 16px; }
	.estp-orga-item { padding: 20px; gap: 14px; }
	.estp-orga-item strong { font-size: 16px; }
	.estp-orga-item span span { font-size: 15px; }
	.estp-orga-btn { width: 100%; justify-content: center; }
}
@media (prefers-reduced-motion: reduce) {
	.estp-orga-item, .estp-orga-btn { animation: none !important; transition: none !important; }
	.estp-orga-item:hover, .estp-orga-btn:hover { transform: none; }
}
