/* Event Program Manager — modèles de programme « Festival » (cartes illustrées).
   Styles isolés (préfixe .epm-fc), responsive par container query du conteneur .epm. */

.epm .epm-fc {
	--fc-accent: var(--epm-fc-accent, var(--epm-primary, #e11d74));
	--fc-surface: var(--epm-fc-surface, #0f1230);
	--fc-radius: calc(var(--epm-radius, 14px) + 6px);
	--fc-gap: var(--epm-gap, 16px);
	--fc-title: var(--epm-title-size, 22px);
	--fc-ink: var(--epm-heading, #16193a);
	--fc-muted: var(--epm-text, #5b6070);
	--fc-time-bg: #fff1dc;
	--fc-time-ink: #d97a00;
	--fc-type-bg: #ece9ff;
	--fc-type-ink: #5b3df5;
	--fc-live-w: 30px;
	position: relative;
	color: var(--fc-muted);
}

.epm .epm-fc *,
.epm .epm-fc *::before,
.epm .epm-fc *::after {
	box-sizing: border-box;
}

.epm .epm-fc :is(h4, p, ol, ul, li, div, span) {
	margin-top: 0;
}

/* ---- Navigation des jours ---- */
.epm .epm-fc__layout {
	display: grid;
	gap: var(--fc-gap);
	align-items: start;
}

.epm .epm-fc--days-side .epm-fc__layout {
	grid-template-columns: minmax(150px, 230px) minmax(0, 1fr);
}

.epm .epm-fc--days-side:not(.epm-fc--has-nav) .epm-fc__layout {
	grid-template-columns: minmax(0, 1fr);
}

.epm .epm-fc__nav {
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.epm .epm-fc--days-top .epm-fc__layout {
	grid-template-columns: minmax(0, 1fr);
}

.epm .epm-fc--days-top .epm-fc__nav {
	flex-direction: row;
	overflow-x: auto;
	padding-bottom: 4px;
	scroll-snap-type: x proximity;
}

.epm .epm-fc__tab,
.epm .epm-fc__tab:hover,
.epm .epm-fc__tab:focus {
	display: flex;
	align-items: center;
	gap: 12px;
	min-height: 0;
	width: 100%;
	margin: 0;
	padding: 14px 16px;
	border: 0 !important;
	border-radius: calc(var(--fc-radius) - 4px);
	background: var(--epm-card, #fff) !important;
	box-shadow: 0 6px 18px -12px rgba(15, 18, 48, .35) !important;
	color: var(--fc-ink) !important;
	font: inherit;
	text-align: left;
	text-transform: none;
	letter-spacing: normal;
	cursor: pointer;
	scroll-snap-align: start;
	-webkit-appearance: none;
	appearance: none;
}

.epm .epm-fc--days-top .epm-fc__tab {
	flex: 0 0 auto;
	width: auto;
}

.epm .epm-fc__tab.is-active,
.epm .epm-fc__tab[aria-selected="true"] {
	background: var(--fc-accent) !important;
	color: #fff !important;
}

.epm .epm-fc__tab:focus-visible {
	outline: 2px solid var(--fc-accent);
	outline-offset: 2px;
}

.epm .epm-fc__tab-ico {
	display: inline-flex;
	width: 26px;
	height: 26px;
	color: var(--epm-day, var(--fc-accent));
}

.epm .epm-fc__tab.is-active .epm-fc__tab-ico {
	color: #fff;
}

.epm .epm-fc__tab-ico svg {
	width: 100%;
	height: 100%;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.8;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.epm .epm-fc__tab-text {
	display: flex;
	flex-direction: column;
	min-width: 0;
	line-height: 1.2;
}

.epm .epm-fc__tab-text small {
	font-size: .8125rem;
	opacity: .75;
}

.epm .epm-fc__tab-text strong {
	font-size: 1.0625rem;
	font-weight: 800;
	white-space: nowrap;
}

.epm .epm-fc__day-title {
	margin: 0 0 14px;
	color: var(--fc-ink);
	font-size: 1.125rem;
}

.epm .epm-fc__day-title.epm-day-title--tabs {
	position: absolute;
	width: 1px;
	height: 1px;
	margin: -1px;
	overflow: hidden;
	clip-path: inset(50%);
	white-space: nowrap;
}

/* ---- Liste de cartes ---- */
.epm .epm-fc__list {
	display: grid;
	grid-template-columns: repeat(var(--fc-cols, 1), minmax(0, 1fr));
	gap: var(--fc-gap);
	margin: 0;
	padding: 0;
	list-style: none;
}

.epm .epm-fc--cols-2 { --fc-cols: 2; }
.epm .epm-fc--cols-3 { --fc-cols: 3; }

.epm .epm-fc__item {
	margin: 0;
	min-width: 0;
	list-style: none;
}

/* ---- Carte (base) ---- */
.epm .epm-fc__card {
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	height: 100%;
	overflow: hidden;
	border: 1px solid var(--epm-border, #e6e8ef);
	border-radius: var(--fc-radius);
	background: var(--epm-card, #fff);
	box-shadow: 0 14px 34px -24px rgba(15, 18, 48, .45);
	transition: transform .25s ease, box-shadow .25s ease;
}

.epm .epm-fc__item:hover .epm-fc__card {
	transform: translateY(-2px);
	box-shadow: 0 20px 40px -24px rgba(15, 18, 48, .5);
}

.epm .epm-fc__media {
	position: relative;
	min-height: var(--epm-fc-photo-h, 140px);
	overflow: hidden;
	background: linear-gradient(145deg, #2a2f6b, #0f1230);
}

.epm .epm-fc__img {
	position: absolute;
	inset: 0;
	display: block;
	width: 100%;
	height: 100%;
	max-width: none;
	object-fit: cover;
	object-position: 50% 25%;
	transition: transform .6s ease;
}

.epm .epm-fc__item:hover .epm-fc__img {
	transform: scale(1.03);
}

.epm .epm-fc__ph {
	position: absolute;
	inset: 0;
	display: grid;
	place-items: center;
	background: linear-gradient(145deg, color-mix(in srgb, var(--fc-accent) 55%, #1b1f4b), #1b1f4b);
	color: #fff;
}

.epm .epm-fc__ph-text {
	font-size: clamp(1.75rem, 6vw, 3rem);
	font-weight: 800;
	letter-spacing: .04em;
	opacity: .9;
}

.epm .epm-fc__body {
	display: flex;
	flex-direction: column;
	gap: 6px;
	min-width: 0;
	padding: 14px 18px;
}

.epm .epm-fc__top {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 12px;
}

.epm .epm-fc__tags {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
	min-width: 0;
}

.epm .epm-fc__time,
.epm .epm-fc__type {
	display: inline-flex;
	align-items: center;
	max-width: 100%;
	margin: 0;
	padding: 4px 10px;
	border: 0;
	border-radius: 8px;
	font-size: .875rem;
	font-weight: 700;
	line-height: 1.2;
	white-space: nowrap;
}

.epm .epm-fc__time {
	background: var(--fc-time-bg);
	color: var(--fc-time-ink);
}

.epm .epm-fc__type {
	background: var(--fc-type-bg);
	color: var(--fc-type-ink);
}

.epm .epm-fc__kicker {
	color: var(--fc-ink);
	font-size: .9375rem;
	font-weight: 700;
	overflow-wrap: anywhere;
}

.epm .epm-fc__title {
	margin: 0;
	color: var(--fc-ink);
	font-size: calc(var(--fc-title) * 1.15);
	font-weight: 800;
	line-height: 1.15;
	letter-spacing: -.01em;
	overflow-wrap: anywhere;
}

.epm .epm-fc__title.epm-title--long { font-size: calc(var(--fc-title) * 1.05); }
.epm .epm-fc__title.epm-title--xlong { font-size: calc(var(--fc-title) * .9); }

.epm .epm-fc .epm-fc__name,
.epm .epm-fc .epm-fc__name .epm-pbtn {
	color: inherit;
	font: inherit;
}

.epm .epm-fc__name .epm-pbtn,
.epm .epm-fc__name .epm-pbtn:hover,
.epm .epm-fc__name .epm-pbtn:focus {
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	text-align: left;
	text-transform: none;
	letter-spacing: inherit;
	cursor: pointer;
}

.epm .epm-fc__name .epm-pbtn:hover { text-decoration: underline; text-underline-offset: 4px; }
.epm .epm-fc__name .epm-pbtn:focus-visible { outline: 2px solid var(--fc-accent); outline-offset: 3px; border-radius: 4px; }

.epm .epm-fc__rule {
	display: block;
	width: 32px;
	height: 3px;
	border-radius: 3px;
	background: var(--fc-accent);
}

.epm .epm-fc__loc {
	margin: 0;
	font-size: .9375rem;
	color: var(--fc-muted);
}

.epm .epm-fc__details {
	display: flex;
	flex-direction: column;
	gap: 8px;
	margin-top: 2px;
}

.epm .epm-fc__details > * { margin: 0; }

.epm .epm-fc__desc,
.epm .epm-fc__desc p {
	margin: 0;
	max-width: 62ch;
	font-size: .9375rem;
	line-height: 1.5;
	color: var(--fc-muted);
}

.epm .epm-fc__subtitle { font-weight: 600; color: var(--fc-ink); }

.epm .epm-fc__foot {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px 14px;
}

/* ---- Bouton d'ouverture ---- */
.epm .epm-fc__toggle,
.epm .epm-fc__toggle:hover,
.epm .epm-fc__toggle:focus {
	display: inline-flex;
	flex: 0 0 auto;
	align-items: center;
	justify-content: center;
	width: 34px;
	height: 34px;
	min-height: 0;
	margin: 0;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 50%;
	background: var(--fc-type-bg) !important;
	box-shadow: none !important;
	color: var(--fc-type-ink) !important;
	cursor: pointer;
	-webkit-appearance: none;
	appearance: none;
}

.epm .epm-fc__toggle:focus-visible { outline: 2px solid var(--fc-accent); outline-offset: 2px; }

.epm .epm-fc__chev {
	display: block;
	width: 10px;
	height: 10px;
	margin-top: -3px;
	border-right: 2.5px solid currentColor;
	border-bottom: 2.5px solid currentColor;
	transform: rotate(45deg);
	transition: transform .2s ease;
}

.epm .epm-fc__item.is-open .epm-fc__chev { margin-top: 3px; transform: rotate(-135deg); }

.epm .epm-fc__item.epm-acc-empty .epm-fc__toggle { display: none; }

/* Sans JavaScript ou sans accordéon, rien n'est masqué ; le bouton n'existe que si l'accordéon est actif. */
.epm:not(.epm-js) .epm-fc__toggle { display: none; }

/* ======================= Variantes ======================= */

/* Horizontale illustrée */
.epm .epm-fc--horizontal .epm-fc__card,
.epm .epm-fc--night .epm-fc__card,
.epm .epm-fc--cinematic.epm-fc--cin-h .epm-fc__card {
	grid-template-columns: minmax(0, 38%) minmax(0, 1fr);
}

.epm .epm-fc--horizontal .epm-fc__item--nomedia .epm-fc__card,
.epm .epm-fc--night .epm-fc__item--nomedia .epm-fc__card,
.epm .epm-fc--editorial .epm-fc__item--nomedia .epm-fc__card,
.epm .epm-fc--asymmetric .epm-fc__item--nomedia .epm-fc__card,
.epm .epm-fc--cinematic .epm-fc__item--nomedia .epm-fc__card {
	grid-template-columns: minmax(0, 1fr);
}

.epm .epm-fc--horizontal .epm-fc__media {
	margin: 10px 0 10px 10px;
	min-height: var(--epm-fc-photo-h, 140px);
	border-radius: calc(var(--fc-radius) - 6px);
}

.epm .epm-fc--horizontal .epm-fc__item--nomedia .epm-fc__media { display: none; }

/* Éditoriale */
.epm .epm-fc--editorial .epm-fc__card { grid-template-columns: minmax(0, 42%) minmax(0, 1fr); }
.epm .epm-fc--editorial .epm-fc__media { min-height: var(--epm-fc-photo-h, 160px); }
.epm .epm-fc--editorial .epm-fc__body { padding: 18px 24px; gap: 8px; }
.epm .epm-fc--editorial .epm-fc__title { font-size: calc(var(--fc-title) * 1.4); }
.epm .epm-fc--editorial .epm-fc__time,
.epm .epm-fc--editorial .epm-fc__type { background: transparent; padding: 0; border-radius: 0; color: var(--fc-accent); text-transform: uppercase; letter-spacing: .08em; font-size: .8125rem; }
.epm .epm-fc--editorial .epm-fc__type { color: var(--fc-muted); }
.epm .epm-fc--editorial .epm-fc__type::before { content: "·"; margin-right: 8px; opacity: .6; }
.epm .epm-fc--editorial .epm-fc__rule { width: 64px; }

/* Verticale illustrée */
.epm .epm-fc--vertical .epm-fc__media { min-height: var(--epm-fc-photo-h, 170px); }

/* Compacte */
.epm .epm-fc--compact .epm-fc__card { grid-template-columns: 92px minmax(0, 1fr); align-items: stretch; }
.epm .epm-fc--compact .epm-fc__item--nomedia .epm-fc__card { grid-template-columns: minmax(0, 1fr); }
.epm .epm-fc--compact .epm-fc__media { min-height: var(--epm-fc-photo-h, 92px); }
.epm .epm-fc--compact .epm-fc__body { padding: 14px 16px; gap: 6px; }
.epm .epm-fc--compact .epm-fc__title { font-size: calc(var(--fc-title) * .95); }
.epm .epm-fc--compact .epm-fc__time,
.epm .epm-fc--compact .epm-fc__type { padding: 3px 9px; font-size: .8125rem; }
.epm .epm-fc--compact .epm-fc__rule { display: none; }
.epm .epm-fc--compact .epm-fc__toggle { width: 32px; height: 32px; }

/* Timeline minimaliste */
.epm .epm-fc--timeline .epm-fc__list { gap: 10px; }
.epm .epm-fc--timeline .epm-fc__card { border-radius: calc(var(--fc-radius) - 6px); border-left: 4px solid var(--fc-accent); box-shadow: none; }
.epm .epm-fc--timeline .epm-fc__body { padding: 12px 18px; gap: 5px; }
.epm .epm-fc--timeline .epm-fc__title { font-size: calc(var(--fc-title) * 1.05); }
.epm .epm-fc--timeline .epm-fc__rule { display: none; }
.epm .epm-fc--timeline .epm-fc__item:hover .epm-fc__card { transform: none; }

/* Sombre immersive & Cinématique : cartes bleu nuit, texte clair */
.epm .epm-fc--night .epm-fc__card,
.epm .epm-fc--cinematic .epm-fc__card {
	border-color: transparent;
	background: linear-gradient(120deg, var(--fc-surface) 0%, color-mix(in srgb, var(--fc-surface) 82%, #3a1d6e) 100%);
	box-shadow: 0 24px 50px -28px rgba(10, 12, 40, .8);
	color: rgba(255, 255, 255, .86);
}

.epm .epm-fc--night .epm-fc__title,
.epm .epm-fc--cinematic .epm-fc__title,
.epm .epm-fc--night .epm-fc__kicker,
.epm .epm-fc--cinematic .epm-fc__kicker,
.epm .epm-fc--night .epm-fc__subtitle,
.epm .epm-fc--cinematic .epm-fc__subtitle { color: #fff; }

.epm .epm-fc--night .epm-fc__loc,
.epm .epm-fc--cinematic .epm-fc__loc,
.epm .epm-fc--night .epm-fc__desc,
.epm .epm-fc--cinematic .epm-fc__desc,
.epm .epm-fc--night .epm-fc__desc p,
.epm .epm-fc--cinematic .epm-fc__desc p { color: rgba(255, 255, 255, .82); }

.epm .epm-fc--night .epm-fc__media,
.epm .epm-fc--cinematic .epm-fc__media { min-height: var(--epm-fc-photo-h, 150px); margin: 0; border-radius: 0; }

.epm .epm-fc--night .epm-fc__toggle,
.epm .epm-fc--cinematic .epm-fc__toggle,
.epm .epm-fc--night .epm-fc__toggle:hover,
.epm .epm-fc--cinematic .epm-fc__toggle:hover { background: rgba(255, 255, 255, .16) !important; color: #fff !important; }

.epm .epm-fc--night .epm-fc__body,
.epm .epm-fc--cinematic .epm-fc__body { padding: 16px 22px; }

.epm .epm-fc--cinematic .epm-fc__title { font-size: calc(var(--fc-title) * 1.3); }

/* Fondu de l'image vers le fond (Cinématique) */
.epm .epm-fc--cinematic .epm-fc__media::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(90deg, rgba(0, 0, 0, 0) 55%, var(--fc-surface) 100%);
	pointer-events: none;
}

.epm .epm-fc--cinematic.epm-fc--cin-h .epm-fc__card { grid-template-columns: minmax(0, 43%) minmax(0, 1fr); }
.epm .epm-fc--cinematic.epm-fc--cin-h .epm-fc__media { min-height: var(--epm-fc-photo-h, 160px); }
.epm .epm-fc--cinematic.epm-fc--cin-h .epm-fc__body { margin-left: -36px; position: relative; z-index: 1; padding-left: 0; }

.epm .epm-fc--cinematic.epm-fc--cin-v .epm-fc__card { grid-template-columns: minmax(0, 1fr); }
.epm .epm-fc--cinematic.epm-fc--cin-v .epm-fc__media { min-height: var(--epm-fc-photo-h, 170px); }
.epm .epm-fc--cinematic.epm-fc--cin-v .epm-fc__media::after { background: linear-gradient(180deg, rgba(0, 0, 0, 0) 55%, var(--fc-surface) 100%); }
.epm .epm-fc--cinematic.epm-fc--cin-v .epm-fc__body { margin-top: -28px; position: relative; z-index: 1; padding-top: 0; }

/* Asymétrique : image dominante + bloc teinté */
.epm .epm-fc--asymmetric .epm-fc__card { grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr); background: color-mix(in srgb, var(--fc-accent) 9%, var(--epm-card, #fff)); }
.epm .epm-fc--asymmetric .epm-fc__media { min-height: var(--epm-fc-photo-h, 160px); }
.epm .epm-fc--asymmetric .epm-fc__body { padding: 14px 20px; justify-content: center; }
.epm .epm-fc--asymmetric .epm-fc__toggle { background: var(--fc-accent) !important; color: #fff !important; }

/* Proportions choisies */
.epm .epm-fc--ratio-1-1 .epm-fc__media { aspect-ratio: 1 / 1; min-height: 0; }
.epm .epm-fc--ratio-4-3 .epm-fc__media { aspect-ratio: 4 / 3; min-height: 0; }
.epm .epm-fc--ratio-16-9 .epm-fc__media { aspect-ratio: 16 / 9; min-height: 0; }
.epm .epm-fc--ratio-3-4 .epm-fc__media { aspect-ratio: 3 / 4; min-height: 0; }
.epm .epm-fc--ratio-1-1 .epm-fc__media,
.epm .epm-fc--ratio-4-3 .epm-fc__media,
.epm .epm-fc--ratio-16-9 .epm-fc__media,
.epm .epm-fc--ratio-3-4 .epm-fc__media { align-self: start; }

/* ======================= Responsive (container query du bloc .epm) ======================= */
@container epm (max-width: 900px) {
	.epm .epm-fc--days-side .epm-fc__layout { grid-template-columns: minmax(0, 1fr); }
	.epm .epm-fc--days-side .epm-fc__nav { flex-direction: row; overflow-x: auto; padding-bottom: 4px; scroll-snap-type: x proximity; }
	.epm .epm-fc--days-side .epm-fc__tab { flex: 0 0 auto; width: auto; }
	.epm .epm-fc--cols-3 { --fc-cols: 2; }
}

@container epm (max-width: 640px) {
	.epm .epm-fc--cols-2,
	.epm .epm-fc--cols-3 { --fc-cols: 1; }

	.epm .epm-fc--horizontal .epm-fc__card,
	.epm .epm-fc--editorial .epm-fc__card,
	.epm .epm-fc--night .epm-fc__card,
	.epm .epm-fc--asymmetric .epm-fc__card,
	.epm .epm-fc--cinematic.epm-fc--cin-h .epm-fc__card { grid-template-columns: minmax(0, 1fr); }

	.epm .epm-fc--horizontal .epm-fc__media { margin: 10px 10px 0; min-height: var(--epm-fc-photo-h, 150px); }
	.epm .epm-fc--editorial .epm-fc__media,
	.epm .epm-fc--night .epm-fc__media,
	.epm .epm-fc--asymmetric .epm-fc__media,
	.epm .epm-fc--cinematic.epm-fc--cin-h .epm-fc__media { min-height: var(--epm-fc-photo-h, 150px); }

	.epm .epm-fc--cinematic.epm-fc--cin-h .epm-fc__media::after { background: linear-gradient(180deg, rgba(0, 0, 0, 0) 55%, var(--fc-surface) 100%); }
	.epm .epm-fc--cinematic.epm-fc--cin-h .epm-fc__body { margin: -28px 0 0; padding-left: 22px; padding-top: 0; }

	.epm .epm-fc__body,
	.epm .epm-fc--night .epm-fc__body,
	.epm .epm-fc--editorial .epm-fc__body { padding: 14px 16px 16px; }
	.epm .epm-fc--editorial .epm-fc__title { font-size: calc(var(--fc-title) * 1.2); }
	.epm .epm-fc__title { font-size: calc(var(--fc-title) * 1.05); }
	.epm .epm-fc__time,
	.epm .epm-fc__type { padding: 4px 9px; font-size: .8125rem; }

	.epm .epm-fc--compact .epm-fc__card { grid-template-columns: 76px minmax(0, 1fr); }
	.epm .epm-fc--compact .epm-fc__media { min-height: var(--epm-fc-photo-h, 76px); }
}

@media (prefers-reduced-motion: reduce) {
	.epm .epm-fc__card,
	.epm .epm-fc__img,
	.epm .epm-fc__chev { transition: none; }
	.epm .epm-fc__item:hover .epm-fc__card { transform: none; }
	.epm .epm-fc__item:hover .epm-fc__img { transform: none; }
}

/* Carte sans photographie : pas de chevauchement ni de marge négative */
.epm .epm-fc__item--nomedia .epm-fc__body { margin: 0 !important; padding: 14px 18px !important; }
.epm .epm-fc--compact .epm-fc__item--nomedia .epm-fc__body { padding: 12px 14px !important; }
.epm .epm-fc .epm-fc__item--nomedia .epm-fc__card { grid-template-columns: minmax(0, 1fr) !important; }


/* ======================= 1.13.0 : badge LIVE sur le bord gauche de la carte ======================= */
/* La carte reçoit une bande réservée (padding-left) : le badge ne recouvre ni la photo ni le texte.
   Aucune bande n'est créée quand il n'y a pas de LIVE pour l'activité. */
.epm .epm-fc__card--live { padding-left: var(--fc-live-w); }

.epm .epm-fc__live {
	position: absolute;
	z-index: 3;
	top: 0;
	bottom: 0;
	left: 0;
	display: flex;
	width: var(--fc-live-w);
	margin: 0;
}

.epm .epm-fc__live .epm-plive {
	display: flex;
	flex: 1 1 auto;
	align-items: stretch;
	width: 100%;
	margin: 0;
}

.epm .epm-fc__live .epm-plive__badge {
	flex: 1 1 auto;
	flex-direction: row-reverse;
	justify-content: center;
	width: 100%;
	height: auto;
	padding: 10px 0;
	border-radius: 0;
	font-size: .75rem;
	-webkit-writing-mode: vertical-rl;
	writing-mode: vertical-rl;
	transform: rotate(180deg);
	box-shadow: 1px 0 0 rgba(255, 255, 255, .25) inset;
}

/* Fond sombre contrasté pour l'état inactif, rouge franc pour le direct (lisible sur photo comme sur fond clair). */
.epm .epm-fc__live .epm-plive:not(.is-live) .epm-plive__badge { background: #4b5063; }
.epm .epm-fc__live .epm-plive.is-live .epm-plive__badge { background: #d4150f; }

@container epm (max-width: 640px) {
	.epm .epm-fc { --fc-live-w: 26px; }
}

/* ======================= 1.14.0 : carte entière cliquable pendant un LIVE actif ======================= */
.epm .epm-fc__golive { position: absolute; inset: 0; z-index: 0; display: block; cursor: pointer; }

/* Le contenu laisse passer le clic vers la zone globale ; seuls les contrôles propres gardent le leur
   (nom du participant, bascule des détails, liens des détails, badge LIVE). */
.epm .epm-fc__card--golive .epm-fc__media,
.epm .epm-fc__card--golive .epm-fc__body,
.epm .epm-fc__card--golive .epm-fc__details { pointer-events: none; }

.epm .epm-fc__card--golive .epm-fc__name .epm-pbtn,
.epm .epm-fc__card--golive .epm-fc__name a,
.epm .epm-fc__card--golive .epm-fc__toggle,
.epm .epm-fc__card--golive .epm-fc__details :is(a, button) { pointer-events: auto; position: relative; z-index: 2; }

.epm .epm-fc__card--golive { cursor: pointer; }
.epm .epm-fc__item:hover .epm-fc__card--golive { box-shadow: 0 0 0 2px var(--fc-accent), 0 20px 40px -24px rgba(15, 18, 48, .5); }
.epm .epm-fc__card--golive:has(.epm-plive__badge:focus-visible) { outline: 3px solid var(--fc-accent); outline-offset: 3px; }
