/* ==========================================================================
   ABC DANSE - TOUS LES ÉVÉNEMENTS
   ========================================================================== */

.manifestations-page{
	background:var(--home-paper);
}


/* HERO */

.manifestations-hero{
	position:relative;
	overflow:hidden;
	padding:72px 0 76px;
	background:
		radial-gradient(circle at 86% 14%,rgba(238,61,131,.20),transparent 30%),
		linear-gradient(135deg,#211126,#64184e);
	color:#fff;
}

.manifestations-hero:after{
	content:'';
	position:absolute;
	width:520px;
	height:520px;
	border-radius:50%;
	right:-190px;
	top:-250px;
	background:rgba(255,255,255,.05);
}

.manifestations-hero-content{
	position:relative;
	z-index:1;
	max-width:790px;
}

.manifestations-hero .home-kicker{
	color:#ff85b8;
}

.manifestations-hero h1{
	margin:8px 0 20px;
	color:#fff;
	font-size:clamp(3.1rem,7vw,6.4rem);
	line-height:.92;
	letter-spacing:-.055em;
	text-transform:uppercase;
}

.manifestations-hero h1 span{
	display:block;
	margin-top:8px;
	color:#ff4c96;
	font-size:.57em;
	font-style:italic;
	text-transform:none;
	letter-spacing:-.03em;
}

.manifestations-hero p{
	max-width:680px;
	margin:0;
	color:rgba(255,255,255,.82);
	font-size:1.12rem;
	line-height:1.7;
}


/* FILTERS */

.manifestations-filter-section{
	padding:22px 0;
	background:#fff;
	border-bottom:1px solid rgba(25,20,33,.07);
}

.manifestations-filters{
	display:flex;
	flex-wrap:wrap;
	justify-content:center;
	gap:9px;
}

.manifestations-filter{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	min-height:42px;
	padding:8px 17px;
	border:1px solid rgba(111,36,93,.20);
	border-radius:999px;
	background:#fff;
	color:var(--home-purple)!important;
	text-decoration:none;
	font-size:.9rem;
	font-weight:600;
	transition:.18s ease;
}

.manifestations-filter:hover{
	transform:translateY(-1px);
	border-color:var(--home-purple);
}

.manifestations-filter.active{
	background:var(--home-purple);
	border-color:var(--home-purple);
	color:#fff!important;
}


/* Version mobile masquée par défaut */
.manifestations-filters-mobile{
	display:none!important;
}


/* LIST */

.manifestations-list{
	background:#f7f2f5;
}

.manifestations-grid{
	display:grid;
	grid-template-columns:repeat(3,minmax(0,1fr));
	gap:24px;
}

.manifestation-card{
	display:flex;
	flex-direction:column;
	overflow:hidden;
	border-radius:24px;
	background:#fff;
	border:1px solid rgba(25,20,33,.06);
	box-shadow:0 12px 34px rgba(31,18,39,.07);
}

.manifestation-card-image{
	position:relative;
	display:block;
	overflow:hidden;
	aspect-ratio:16/9;
	background:#eee;
}

.manifestation-card-image > img{
	position:static!important;
	display:block;
	width:100%!important;
	height:100%!important;
	object-fit:cover!important;
	transition:transform .28s ease;
}

.manifestation-card:hover .manifestation-card-image > img{
	transform:scale(1.025);
}

.manifestation-card-overlay{
	position:absolute;
	inset:0;
	display:flex;
	align-items:center;
	justify-content:center;
	padding:11%;
	background:rgba(12,7,14,.06);
}

.manifestation-card-overlay img{
	position:static!important;
	width:80%!important;
	height:auto!important;
	object-fit:contain!important;
}

.manifestation-card-body{
	display:flex;
	flex:1;
	flex-direction:column;
	padding:24px 25px 26px;
}

.manifestation-card-topline{
	display:flex;
	flex-wrap:wrap;
	align-items:center;
	justify-content:space-between;
	gap:8px;
	margin-bottom:14px;
}

.manifestation-category{
	color:var(--home-purple);
	font-size:.75rem;
	font-weight:700;
	letter-spacing:.04em;
	text-transform:uppercase;
}

.manifestation-state{
	display:inline-flex;
	align-items:center;
	gap:5px;
	padding:5px 9px;
	border-radius:999px;
	font-size:.72rem;
	font-weight:700;
}

.manifestation-state.confirmed{
	background:#e9f7ed;
	color:#287a40;
}

.manifestation-state.full,
.manifestation-state.cancelled{
	background:#fbe9ea;
	color:#a4313c;
}

.manifestation-card h2{
	margin:0 0 16px;
	font-size:1.35rem;
	line-height:1.22;
	text-transform:none;
}

.manifestation-card h2 a{
	color:var(--home-ink)!important;
	text-decoration:none;
}

.manifestation-card-info{
	display:grid;
	gap:10px;
	margin-bottom:22px;
}

.manifestation-card-info > div{
	display:grid;
	grid-template-columns:20px 1fr;
	gap:8px;
	align-items:start;
	color:var(--home-muted);
	font-size:.9rem;
	line-height:1.5;
}

.manifestation-card-info i{
	margin-top:3px;
	color:var(--home-purple);
}

.manifestation-card-link{
	margin-top:auto;
	color:var(--home-purple)!important;
	font-weight:700;
	text-decoration:none;
}


/* EMPTY */

.manifestations-empty{
	max-width:720px;
	margin:10px auto;
	padding:48px 34px;
	border-radius:24px;
	background:#fff;
	border:1px solid rgba(25,20,33,.06);
	box-shadow:0 12px 34px rgba(31,18,39,.05);
	text-align:center;
}

.manifestations-empty > i{
	margin-bottom:17px;
	color:var(--home-purple);
	font-size:2.2rem;
}

.manifestations-empty h2{
	margin:0 0 12px;
	text-transform:none;
}

.manifestations-empty p{
	color:var(--home-muted);
}


/* RESPONSIVE */

@media(max-width:980px){

	.manifestations-grid{
		grid-template-columns:repeat(2,minmax(0,1fr));
	}
}

@media(max-width:736px){

	.manifestations-hero{
		padding:54px 0 58px;
	}

	.manifestations-hero h1{
		font-size:clamp(2.8rem,13vw,4.6rem);
	}

	.manifestations-hero p{
		font-size:1rem;
	}

	.manifestations-filter-section{
		padding:17px 0;
	}

	/* Sur smartphone, la ligne de filtres PC disparaît totalement */
	.manifestations-filters-desktop{
		display:none!important;
	}

	/* Filtre compact : même philosophie que dans la zone membre */
	.manifestations-filters-mobile{
		display:block!important;
		width:100%;
		margin:0;
		border:1px solid rgba(25,20,33,.09);
		border-radius:12px;
		background:#fff;
		overflow:hidden;
	}

	.manifestations-mobile-filter-summary{
		display:flex;
		min-height:52px;
		padding:0 14px;
		align-items:center;
		justify-content:flex-start;
		gap:8px;
		color:#332d35;
		font-size:1rem;
		font-weight:600;
		line-height:1.2;
		cursor:pointer;
		list-style:none;
		user-select:none;
	}

	.manifestations-mobile-filter-summary::-webkit-details-marker{
		display:none;
	}

	.manifestations-mobile-filter-summary::marker{
		content:'';
	}

	.manifestations-mobile-filter-summary > i{
		flex:0 0 auto;
		color:var(--home-purple);
		font-size:1rem;
	}

	.manifestations-mobile-filter-active{
		dis:inline-flex;
		flex-wrap:wrap;
		align-items:center;
		gap:4px;
	}

	.manifestations-mobile-filter-active strong{
		color:var(--home-purple);
		font-weight:700;
	}

	.manifestations-mobile-filter-content{
		padding:0 14px 14px;
	}

	.manifestations-mobile-filter-list{
		display:flex;
		flex-wrap:wrap;
		gap:8px;
	}

	.manifestations-mobile-filter{
		display:flex;
		flex:1 1 calc(50% - 8px);
		min-height:46px;
		padding:8px 10px;
		align-items:center;
		justify-content:center;
		border:1px solid rgba(119,42,105,.22);
		border-radius:10px;
		background:#fff;
		color:var(--home-purple)!important;
		text-align:center;
		text-decoration:none!important;
		font-size:.9rem;
		font-weight:600;
		line-height:1.15;
	}

	.manifestations-mobile-filter.active{
		border-color:var(--home-purple);
		background:var(--home-purple);
		color:#fff!important;
	}

	.manifestations-grid{
		grid-template-columns:1fr;
	}

	.manifestation-card-body{
		padding:22px;
	}
}
