/* Event Program Manager — Live Streaming (front). Portée : .epm-live*, aucune règle globale. */

:root {
	--epm-live-on: #e11d48;
	--epm-live-off: #6b7280;
}

.epm-live {
	--epm-live-radius: 14px;
	--epm-live-stage-bg: #0b1020;
	--epm-live-gap: 16px;
	display: grid;
	gap: var(--epm-live-gap);
	width: 100%;
	margin: 0 0 24px;
	box-sizing: border-box;
}

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

.epm-live__head {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	align-items: center;
}

.epm-live__title {
	margin: 0;
	font-size: clamp(1.2rem, 2.4vw, 1.75rem);
	line-height: 1.25;
}

.epm-live__body {
	display: grid;
	gap: var(--epm-live-gap);
	min-width: 0;
}

.epm-live__body.has-chat {
	grid-template-columns: minmax(0, 1fr) minmax(280px, 360px);
	align-items: stretch;
}

.epm-live__stage {
	position: relative;
	min-width: 0;
	overflow: hidden;
	border-radius: var(--epm-live-radius);
	background: var(--epm-live-stage-bg);
}


/* Compteur public de spectateurs : superposé au coin supérieur du lecteur. */
.epm-live-viewers {
	position: absolute;
	top: 12px;
	right: 12px;
	z-index: 8;
	display: inline-flex;
	align-items: center;
	gap: 6px;
	max-width: calc(100% - 24px);
	padding: 7px 10px;
	border: 1px solid rgba(255, 255, 255, .2);
	border-radius: 999px;
	background: rgba(15, 23, 42, .82);
	color: #fff;
	font-size: 12px;
	font-weight: 600;
	line-height: 1.2;
	box-shadow: 0 2px 8px rgba(0, 0, 0, .18);
	backdrop-filter: blur(6px);
	pointer-events: none;
}
.epm-live-viewers svg { flex: 0 0 auto; color: #fff !important; }
.epm-live-viewers,
.epm-live-viewers strong,
.epm-live-viewers span {
	color: #fff !important;
	-webkit-text-fill-color: #fff !important;
}
.epm-live-viewers strong {
	font-variant-numeric: tabular-nums;
	font-weight: 800 !important;
}
@media (max-width: 480px) {
	.epm-live-viewers { top: 8px; right: 8px; padding: 6px 8px; font-size: 11px; gap: 5px; }
}

/* ---------------------------------------------------------------- Badge */

.epm-live-badge {
	--epm-live-c: var(--epm-live-off);
	display: inline-flex;
	gap: .5em;
	align-items: center;
	padding: .42em .8em .42em .65em;
	border-radius: 999px;
	background: var(--epm-live-c);
	color: #fff;
	font-size: 13px;
	font-weight: 800;
	line-height: 1;
	letter-spacing: .08em;
	text-transform: uppercase;
	white-space: nowrap;
	vertical-align: middle;
	box-shadow: 0 1px 2px rgba(0, 0, 0, .12);
}

.epm-live-badge--sm {
	font-size: 11px;
}

.epm-live-badge--lg {
	font-size: 15px;
}

.epm-live-badge__dot {
	position: relative;
	width: .7em;
	height: .7em;
	border-radius: 50%;
	background: currentColor;
	opacity: .55;
}

.epm-live-badge__icon {
	display: none;
	line-height: 0;
}

.epm-live-badge__icon svg {
	width: 1.1em;
	height: 1.1em;
}

/* Non actif : logo live gris, sans animation. */
.epm-live-badge.is-upcoming .epm-live-badge__dot,
.epm-live-badge.is-ended .epm-live-badge__dot {
	display: none;
}

.epm-live-badge.is-upcoming .epm-live-badge__icon,
.epm-live-badge.is-ended .epm-live-badge__icon {
	display: inline-flex;
	opacity: .85;
}

/* Actif : rouge, point lumineux et clignotement continu. */
.epm-live-badge.is-live {
	--epm-live-c: var(--epm-live-on);
	animation: epm-live-blink 1.2s ease-in-out infinite;
}

.epm-live-badge.is-live .epm-live-badge__dot {
	opacity: 1;
}

.epm-live-badge.is-live .epm-live-badge__dot::after {
	position: absolute;
	inset: 0;
	border-radius: 50%;
	background: currentColor;
	content: "";
	animation: epm-live-ping 1.2s cubic-bezier(0, 0, .2, 1) infinite;
}

@keyframes epm-live-blink {
	0%,
	100% {
		box-shadow: 0 0 0 0 color-mix(in srgb, var(--epm-live-on) 55%, transparent);
		opacity: 1;
	}

	50% {
		box-shadow: 0 0 0 .45em color-mix(in srgb, var(--epm-live-on) 0%, transparent);
		opacity: .55;
	}
}

@keyframes epm-live-ping {
	0% {
		transform: scale(1);
		opacity: .9;
	}

	100% {
		transform: scale(2.6);
		opacity: 0;
	}
}

@media (prefers-reduced-motion: reduce) {
	.epm-live-badge.is-live {
		animation-duration: 2.4s;
	}

	.epm-live-badge.is-live .epm-live-badge__dot::after {
		animation: none;
	}
}

.epm-live-badge-link {
	text-decoration: none !important;
}

/* --------------------------------------------------------------- Lecteur */

.epm-live-player {
	position: relative;
	width: 100%;
	background: #000;
}

.epm-live-player.has-ratio {
	aspect-ratio: var(--epm-live-ratio, 16 / 9);
}

.epm-live-player.has-ratio iframe,
.epm-live-player.has-ratio video,
.epm-live-player--embed.has-ratio > iframe,
.epm-live-player--embed.has-ratio > video {
	position: absolute;
	inset: 0;
	width: 100% !important;
	height: 100% !important;
	border: 0;
}

.epm-live-player video {
	display: block;
	width: 100%;
	background: #000;
	object-fit: contain;
}

.epm-live-player--embed {
	background: transparent;
}

.epm-live-player--embed:not(.has-ratio) iframe {
	max-width: 100%;
}

.epm-live-player--audio {
	padding: 28px 20px;
	background: linear-gradient(135deg, #111827, #1f2937);
}

.epm-live-player--audio audio {
	display: block;
	width: 100%;
}

/* ---------------------------------------------------------- Hors ligne */

.epm-live-offline {
	position: relative;
	display: grid;
	place-items: center;
	width: 100%;
	min-height: 240px;
	aspect-ratio: var(--epm-live-ratio, 16 / 9);
	padding: 24px;
	overflow: hidden;
	background: radial-gradient(120% 120% at 50% 0%, #1e293b 0%, var(--epm-live-stage-bg, #0b1020) 70%);
	color: #fff;
	text-align: center;
}

.epm-live-offline.has-poster {
	background: var(--epm-live-poster) center / cover no-repeat, var(--epm-live-stage-bg, #0b1020);
}

.epm-live-offline.has-poster::before {
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(0, 0, 0, .35), rgba(0, 0, 0, .7));
	content: "";
}

.epm-live-offline__inner {
	position: relative;
	display: grid;
	gap: 12px;
	justify-items: center;
	max-width: 620px;
}

.epm-live-offline__when {
	margin: 0;
	font-size: 1.05rem;
	font-weight: 600;
}

.epm-live-offline__msg {
	margin: 0;
	opacity: .85;
	font-size: .95rem;
	line-height: 1.5;
}

.epm-live-offline p {
	color: inherit;
}

/* ------------------------------------------------------ Compte à rebours */

.epm-live-countdown {
	display: inline-flex;
	flex-wrap: wrap;
	gap: .4em;
	align-items: baseline;
	justify-content: center;
	padding: .5em 1em;
	border-radius: 10px;
	background: rgba(255, 255, 255, .12);
	font-variant-numeric: tabular-nums;
}

.epm-live-countdown[hidden] {
	display: none;
}

.epm-live-countdown__label {
	opacity: .8;
	font-size: .85em;
	text-transform: uppercase;
	letter-spacing: .06em;
}

.epm-live-countdown__value {
	font-size: 1.25em;
	font-weight: 700;
}

/* ----------------------------------------------------------------- Chat */

.epm-live__chat {
	min-width: 0;
	overflow: hidden;
	border: 1px solid rgba(127, 127, 127, .25);
	border-radius: var(--epm-live-radius);
	background: #fff;
}

.epm-live-chat,
.epm-live-chat iframe {
	display: block;
	width: 100%;
	height: 100%;
	min-height: var(--epm-live-chat-h, 480px);
	border: 0;
}

.epm-live-chat.epm-live-chat--custom {
	height: auto;
	min-height: 0;
}

/* --------------------------------------------------------------- Infos */

.epm-live-info {
	display: grid;
	gap: 12px;
}

.epm-live-info__meta {
	display: flex;
	flex-wrap: wrap;
	gap: 8px 16px;
	align-items: center;
	font-size: .95rem;
	opacity: .9;
}

.epm-live-info__item {
	display: inline-flex;
	gap: .35em;
	align-items: center;
}

.epm-live-info__item--time::before {
	content: "🕒";
}

.epm-live-info__item--place::before {
	content: "📍";
}

.epm-live-info__type {
	padding: .2em .65em;
	border: 1px solid var(--epm-live-type, currentColor);
	border-radius: 999px;
	color: var(--epm-live-type, inherit);
	font-size: .8rem;
	font-weight: 600;
}

.epm-live-info__subtitle {
	margin: 0;
	font-size: 1.05rem;
	font-weight: 600;
}

.epm-live-info__desc > :first-child {
	margin-top: 0;
}

.epm-live-info__desc > :last-child {
	margin-bottom: 0;
}

.epm-live-people {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.epm-live-people__item {
	display: flex;
	gap: 10px;
	align-items: center;
	min-width: 180px;
	margin: 0;
}

.epm-live-people__item img,
.epm-live-people__initials {
	display: grid;
	flex: 0 0 48px;
	place-items: center;
	width: 48px;
	height: 48px;
	border-radius: 50%;
	object-fit: cover;
	background: #e5e7eb;
	color: #374151;
	font-weight: 700;
}

.epm-live-people__item strong,
.epm-live-people__item small {
	display: block;
	line-height: 1.3;
}

.epm-live-people__item small {
	opacity: .7;
}

/* --------------------------------------------------------------- Boutons */

.epm-live__cta {
	margin: 0;
}

.epm-live-btn {
	display: inline-flex;
	gap: .6em;
	align-items: center;
	padding: .75em 1.4em;
	border-radius: 999px;
	background: var(--epm-live-on);
	color: #fff !important;
	font-weight: 700;
	text-decoration: none !important;
	transition: transform .15s ease, filter .15s ease;
}

.epm-live-btn:hover,
.epm-live-btn:focus-visible {
	filter: brightness(1.08);
	transform: translateY(-1px);
}

.epm-live-btn--lg {
	padding: 1em 2em;
	font-size: 1.1rem;
}

.epm-live-btn--badge {
	padding: .4em 1.1em .4em .4em;
	background: #111827;
}

/* ------------------------------------------------------------ Responsive */

@media (max-width: 900px) {
	.epm-live__body.has-chat {
		grid-template-columns: minmax(0, 1fr);
	}

	.epm-live-chat,
	.epm-live-chat iframe {
		min-height: min(var(--epm-live-chat-h, 480px), 420px);
	}
}

@media (max-width: 560px) {
	.epm-live {
		--epm-live-gap: 12px;
		--epm-live-radius: 10px;
	}

	.epm-live-offline {
		min-height: 220px;
		aspect-ratio: auto;
		padding: 28px 14px;
	}

	.epm-live-countdown__value {
		font-size: 1.05em;
	}
}

/* ---------------------------------------------- Programme : indicateur LIVE */
/* Icône LIVE + bouton ▶ d'accès dans la liste des activités (EPM_View::live_html). */

.epm-plive {
	--epm-plive-on: #e5261f;
	--epm-plive-off: #9e9e9e;
	--epm-plive-h: 30px;
	display: inline-flex;
	flex: 0 0 auto;
	gap: 6px;
	align-items: center;
	vertical-align: middle;
	line-height: 1;
}

.epm-plive .epm-plive__badge,
.epm-plive .epm-plive__go {
	display: inline-flex;
	gap: 7px;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	height: var(--epm-plive-h);
	margin: 0;
	padding: 0 11px;
	border: 0;
	border-radius: 5px;
	background: var(--epm-plive-off);
	color: #fff !important;
	font-family: inherit;
	font-size: 14px;
	font-weight: 800;
	line-height: 1;
	letter-spacing: .06em;
	text-decoration: none !important;
	text-transform: uppercase;
	white-space: nowrap;
	box-shadow: none;
}

/* Bouton ▶ : carré, même hauteur et même style que l'icône LIVE. */
.epm-plive .epm-plive__go {
	width: var(--epm-plive-h);
	padding: 0;
}

.epm-plive__dot {
	flex: 0 0 auto;
	width: 10px;
	height: 10px;
	border-radius: 50%;
	background: #fff;
}

.epm-plive__play {
	flex: 0 0 auto;
	width: 13px;
	height: 13px;
}

/* LIVE désactivé : gris, fixe ; bouton ▶ inactif (aucun lien). */
.epm-plive:not(.is-live) .epm-plive__go {
	opacity: .5;
	cursor: not-allowed;
}

/* LIVE activé : rouge, clignotant ; bouton ▶ cliquable. */
.epm-plive.is-live .epm-plive__badge,
.epm-plive.is-live .epm-plive__go {
	background: var(--epm-plive-on);
}

.epm-plive.is-live .epm-plive__badge {
	animation: epm-plive-blink 1.1s ease-in-out infinite;
}

.epm-plive.is-live .epm-plive__go {
	cursor: pointer;
	transition: filter .15s ease, transform .15s ease;
}

.epm-plive.is-live .epm-plive__go:hover,
.epm-plive.is-live .epm-plive__go:focus-visible {
	filter: brightness(.9);
	transform: scale(1.05);
}

.epm-plive.is-live .epm-plive__go:focus-visible {
	outline: 2px solid var(--epm-plive-on);
	outline-offset: 2px;
}

@keyframes epm-plive-blink {
	0%,
	100% {
		opacity: 1;
	}

	50% {
		opacity: .55;
	}
}

@media (prefers-reduced-motion: reduce) {
	.epm-plive.is-live .epm-plive__badge {
		animation-duration: 2.2s;
	}
}

/* Hors liste compacte : l'indicateur se place sous le titre de l'activité. */
:not(.epm-accl__row) > .epm-plive {
	margin: 6px 0 2px;
}

.epm-accl__row > .epm-plive {
	margin: 0;
}

/* Liste compacte, tablette / mobile : le LIVE se place à droite, sous la flèche,
   à la hauteur du titre (modèle « model 1 »). */
@container epm (max-width: 700px) {
	.epm .epm-accl__row:has(> .epm-plive) {
		grid-template-areas:
			"dot tags btn"
			". main live";
	}

	.epm .epm-accl__row:not(:has(.epm-accl__tags)):has(> .epm-plive) {
		grid-template-areas:
			"dot main btn"
			". main live";
	}

	.epm .epm-accl__row > .epm-plive {
		grid-area: live;
		align-self: end;
		justify-self: end;
	}
}

@container epm (max-width: 300px) {
	.epm .epm-accl__row:has(> .epm-plive) {
		grid-template-areas:
			"dot tags btn"
			". main main"
			". live live";
	}

	.epm .epm-accl__row:not(:has(.epm-accl__tags)):has(> .epm-plive) {
		grid-template-areas:
			"dot main btn"
			". live live";
	}

	.epm .epm-accl__row > .epm-plive {
		justify-self: start;
	}
}

@media (max-width: 600px) {
	.epm-plive {
		--epm-plive-h: 28px;
	}

	.epm-plive .epm-plive__badge {
		padding: 0 9px;
		font-size: 13px;
	}

	.epm-plive__dot {
		width: 9px;
		height: 9px;
	}
}

/* ======================================================= Widget « Prochain LIVE » */
/* [epm_live_next] et widget Elementor : titre, compte à rebours, bouton LIVE.
   Tailles : --sm (en-tête), --md, --lg. */

.epm-lnext {
	--epm-lnext-on: #e5261f;
	--epm-lnext-off: #6b7280;
	--epm-lnext-fs: 14px;
	--epm-lnext-h: 32px;
	display: inline-flex;
	flex-wrap: wrap;
	gap: 8px 12px;
	align-items: center;
	max-width: 100%;
	font-size: var(--epm-lnext-fs);
	line-height: 1.3;
	vertical-align: middle;
}

.epm-lnext--sm {
	--epm-lnext-fs: 12.5px;
	--epm-lnext-h: 26px;
	gap: 6px 10px;
}

.epm-lnext--lg {
	--epm-lnext-fs: 17px;
	--epm-lnext-h: 42px;
	gap: 10px 16px;
}

.epm-lnext__text {
	display: inline-flex;
	flex-direction: column;
	min-width: 0;
}

.epm-lnext__title {
	overflow: hidden;
	color: inherit !important;
	font-weight: 700;
	text-decoration: none !important;
	text-overflow: ellipsis;
	white-space: nowrap;
	max-width: 32ch;
}

a.epm-lnext__title:hover,
a.epm-lnext__title:focus-visible {
	text-decoration: underline !important;
}

.epm-lnext__when {
	opacity: .7;
	font-size: .82em;
}

.epm-lnext__timer {
	display: inline-flex;
	align-items: center;
}

.epm-lnext__cd {
	display: inline-flex;
	align-items: center;
	height: var(--epm-lnext-h);
	padding: 0 .8em;
	border-radius: 6px;
	background: rgba(127, 127, 127, .14);
	font-variant-numeric: tabular-nums;
	font-weight: 700;
	white-space: nowrap;
}

.epm-lnext__cd[hidden],
.epm-lnext__now {
	display: none;
}

.epm-lnext.is-live .epm-lnext__now {
	display: inline-flex;
	color: var(--epm-lnext-on);
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: .04em;
}

.epm-lnext__btn {
	display: inline-flex;
	gap: .5em;
	align-items: center;
	box-sizing: border-box;
	height: var(--epm-lnext-h);
	padding: 0 .9em;
	border-radius: 6px;
	background: var(--epm-lnext-off);
	color: #fff !important;
	font-weight: 800;
	letter-spacing: .06em;
	line-height: 1;
	text-decoration: none !important;
	text-transform: uppercase;
	white-space: nowrap;
	transition: filter .15s ease;
}

.epm-lnext__btn .epm-plive__dot {
	width: .7em;
	height: .7em;
}

a.epm-lnext__btn:hover,
a.epm-lnext__btn:focus-visible {
	filter: brightness(.9);
}

.epm-lnext.is-live .epm-lnext__btn {
	background: var(--epm-lnext-on);
	animation: epm-plive-blink 1.1s ease-in-out infinite;
}

.epm-lnext__empty {
	opacity: .75;
	color: inherit !important;
}

@media (max-width: 600px) {
	.epm-lnext__title {
		max-width: 22ch;
	}

	.epm-lnext--lg {
		--epm-lnext-fs: 15px;
		--epm-lnext-h: 36px;
	}
}

/* ============================================================ Page des prochains LIVE */

.epm-lup {
	display: grid;
	gap: 12px;
	margin: 0 0 24px;
}

.epm-lup--empty p {
	margin: 0;
	padding: 18px;
	border: 1px dashed rgba(127, 127, 127, .4);
	border-radius: 12px;
	text-align: center;
	opacity: .8;
}

.epm-lup__item {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr) auto;
	gap: 14px 18px;
	align-items: center;
	padding: 14px 16px;
	border: 1px solid rgba(127, 127, 127, .22);
	border-left: 4px solid var(--epm-live-off, #6b7280);
	border-radius: 12px;
	background: #fff;
	color: #1f2937;
	box-shadow: 0 1px 2px rgba(16, 24, 40, .05);
}

.epm-lup__item.is-live {
	border-left-color: #e5261f;
	box-shadow: 0 0 0 1px rgba(229, 38, 31, .18), 0 4px 14px rgba(229, 38, 31, .1);
}

.epm-lup__date {
	display: grid;
	place-items: center;
	width: 58px;
	height: 58px;
	border-radius: 10px;
	background: #f1f3f7;
	line-height: 1;
}

.epm-lup__day {
	font-size: 22px;
	font-weight: 800;
}

.epm-lup__month {
	margin-top: -8px;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: .04em;
	text-transform: uppercase;
	opacity: .7;
}

.epm-lup__body {
	display: grid;
	gap: 6px;
	min-width: 0;
}

.epm-lup__state {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	align-items: center;
}

.epm-lup__state .epm-plive {
	--epm-plive-h: 24px;
}

.epm-lup__state .epm-plive .epm-plive__badge {
	padding: 0 8px;
	font-size: 12px;
}

.epm-lup__cd {
	font-size: 13px;
	font-variant-numeric: tabular-nums;
	opacity: .8;
}

.epm-lup__cd .epm-live-countdown__value {
	font-weight: 700;
}

.epm-lup__cd[hidden],
.epm-lup__now {
	display: none;
}

.epm-lup__item.is-live .epm-lup__now {
	display: inline;
	color: #e5261f;
	font-size: 13px;
	font-weight: 800;
}

.epm-lup__title {
	margin: 0 !important;
	font-size: 17px !important;
	line-height: 1.3 !important;
	overflow-wrap: anywhere;
}

.epm-lup__title a {
	color: inherit !important;
	text-decoration: none !important;
}

.epm-lup__title a:hover,
.epm-lup__title a:focus-visible {
	text-decoration: underline !important;
}

.epm-lup__meta {
	display: flex;
	flex-wrap: wrap;
	gap: 2px 16px;
	margin: 0 !important;
	font-size: 13.5px;
	opacity: .78;
}

.epm-lup__when::before {
	content: "📅 ";
}

.epm-lup__time::before {
	content: "🕒 ";
}

.epm-lup__place::before {
	content: "📍 ";
}

.epm-lup__actions {
	display: flex;
	flex-direction: column;
	gap: 8px;
	align-items: flex-end;
}

.epm-lup__actions .epm-plive {
	--epm-plive-h: 38px;
}

.epm-lup__more {
	font-size: 13px;
	white-space: nowrap;
}

@media (max-width: 600px) {
	.epm-lup__item {
		grid-template-columns: auto minmax(0, 1fr);
		padding: 12px;
	}

	.epm-lup__date {
		width: 48px;
		height: 48px;
	}

	.epm-lup__actions {
		grid-column: 1 / -1;
		flex-direction: row;
		align-items: center;
		justify-content: space-between;
	}
}

/* ===================================================== 1.9.1 — Icône LIVE cliquable */
.epm-plive .epm-plive__link {
	cursor: pointer;
	transition: filter .15s ease, transform .15s ease;
}

.epm-plive .epm-plive__link:hover,
.epm-plive .epm-plive__link:focus-visible {
	filter: brightness(.9);
	transform: translateY(-1px);
}

.epm-plive .epm-plive__link:focus-visible {
	outline: 2px solid var(--epm-plive-on);
	outline-offset: 2px;
}

.epm-plive:not(.is-live) .epm-plive__link:focus-visible {
	outline-color: var(--epm-plive-off);
}

.epm-plive .epm-sr-only,
.epm-lup-sr {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	margin: -1px !important;
	padding: 0 !important;
	overflow: hidden !important;
	clip: rect(0, 0, 0, 0) !important;
	white-space: nowrap !important;
	border: 0 !important;
}

/* ===================================================== 1.9.1 — Page des LIVE par jour */
.epm-lup-days {
	--epm-lup-accent: var(--epm-current-day, #f59e0b);
	display: grid;
	grid-template-columns: minmax(220px, 300px) minmax(0, 1fr);
	gap: 28px;
	align-items: start;
	margin: 0 0 24px;
}

.epm-lup-days__nav {
	position: sticky;
	top: 24px;
	display: grid;
	gap: 14px;
}

.epm-lup-days__tab {
	position: relative;
	display: flex;
	gap: 16px;
	align-items: center;
	width: 100%;
	margin: 0;
	padding: 18px 20px;
	border: 0;
	border-radius: 16px;
	background: #fff;
	color: #1f2937;
	font: inherit;
	text-align: left;
	box-shadow: 0 1px 3px rgba(16, 24, 40, .06);
	cursor: pointer;
	transition: background-color .15s ease, box-shadow .15s ease, transform .15s ease;
	-webkit-appearance: none;
	appearance: none;
}

.epm-lup-days__tab:hover {
	box-shadow: 0 4px 14px rgba(16, 24, 40, .1);
	transform: translateY(-1px);
}

.epm-lup-days__tab:focus-visible {
	outline: 2px solid var(--epm-day, #f59e0b);
	outline-offset: 2px;
}

.epm-lup-days__ico {
	display: inline-grid;
	flex: 0 0 auto;
	place-items: center;
	color: var(--epm-day, #f59e0b);
}

.epm-lup-days__txt {
	display: grid;
	flex: 1 1 auto;
	gap: 2px;
	min-width: 0;
	line-height: 1.15;
}

.epm-lup-days__txt small {
	color: #6b7280;
	font-size: 14px;
}

.epm-lup-days__txt strong {
	font-size: 22px;
	font-weight: 800;
	white-space: nowrap;
}

.epm-lup-days__count {
	display: inline-flex;
	flex: 0 0 auto;
	gap: 5px;
	align-items: center;
	padding: 3px 9px;
	border-radius: 999px;
	background: #f1f3f7;
	color: #374151;
	font-size: 12px;
	font-weight: 700;
}

.epm-lup-days__dot {
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: #e5261f;
	animation: epm-plive-blink 1.1s ease-in-out infinite;
}

.epm-lup-days__tab.is-active {
	background: var(--epm-day, #f59e0b);
	color: #fff;
	box-shadow: 0 6px 18px color-mix(in srgb, var(--epm-day, #f59e0b) 35%, transparent);
}

.epm-lup-days__tab.is-active .epm-lup-days__ico,
.epm-lup-days__tab.is-active .epm-lup-days__txt small {
	color: rgba(255, 255, 255, .9);
}

.epm-lup-days__tab.is-active .epm-lup-days__count {
	background: rgba(255, 255, 255, .25);
	color: #fff;
}

.epm-lup-days__tab.is-active .epm-lup-days__dot {
	background: #fff;
}

.epm-lup-days__panels {
	min-width: 0;
	padding-top: 6px;
	border-top: 4px solid var(--epm-current-day, #f59e0b);
	border-radius: 2px;
}

.epm-lup-days__panel[hidden] {
	display: none;
}

.epm-lup-days__panel .epm-lup {
	margin: 12px 0 0;
}

.epm-lup__ended {
	color: #6b7280;
	font-size: 13px;
	font-weight: 700;
}

.epm-lup__item.is-ended {
	opacity: .78;
}

.epm-lup__actions .epm-lup__more {
	padding: 7px 14px;
	border: 1px solid rgba(127, 127, 127, .3);
	border-radius: 8px;
	color: inherit;
	font-weight: 600;
	text-decoration: none;
}

.epm-lup__actions .epm-lup__more:hover,
.epm-lup__actions .epm-lup__more:focus-visible {
	border-color: currentColor;
}

/* Tablette / mobile : jours en barre horizontale défilante. */
@media (max-width: 900px) {
	.epm-lup-days {
		grid-template-columns: minmax(0, 1fr);
		gap: 14px;
	}

	.epm-lup-days__nav {
		position: static;
		display: flex;
		gap: 10px;
		max-width: 100%;
		margin: 0;
		padding: 4px 2px 8px;
		overflow-x: auto;
		scroll-snap-type: x proximity;
		-webkit-overflow-scrolling: touch;
	}

	.epm-lup-days__tab {
		flex: 0 0 auto;
		width: auto;
		padding: 12px 14px;
		gap: 10px;
		scroll-snap-align: start;
	}

	.epm-lup-days__txt strong {
		font-size: 17px;
	}

	.epm-lup-days__txt small {
		font-size: 12px;
	}

	.epm-lup-days__ico svg {
		width: 22px;
		height: 22px;
	}
}

/* ===================================================== 1.9.1 — Compte à rebours personnalisé */
/* Classes posées uniquement par [epm_live_countdown], le widget Elementor « Compte à rebours »
   et le widget « Prochain LIVE ». L'écran d'attente de la page live garde son rendu. */
.epm-cd {
	--epm-cd-fs: 16px;
	color: var(--epm-cd-color, inherit);
	font-size: var(--epm-cd-fs);
}

.epm-cd--sm {
	--epm-cd-fs: 13px;
}

.epm-cd--lg {
	--epm-cd-fs: 22px;
}

.epm-live-countdown.epm-cd .epm-live-countdown__label {
	color: var(--epm-cd-accent, inherit);
}

/* Standard : pastille (fond personnalisable) */
.epm-live-countdown.epm-cd--default {
	background: var(--epm-cd-bg, rgba(127, 127, 127, .14));
}

.epm-lnext__cd.epm-cd--default {
	background: var(--epm-cd-bg, rgba(127, 127, 127, .14));
	color: var(--epm-cd-color, inherit);
}

/* Minimal : texte seul */
.epm-cd--minimal,
.epm-lnext__cd.epm-cd--minimal {
	padding: 0 !important;
	background: var(--epm-cd-bg, transparent) !important;
}

/* Contour */
.epm-cd--outline,
.epm-lnext__cd.epm-cd--outline {
	border: 2px solid var(--epm-cd-accent, currentColor);
	background: var(--epm-cd-bg, transparent) !important;
}

/* Carte sombre */
.epm-cd--dark,
.epm-lnext__cd.epm-cd--dark {
	background: var(--epm-cd-bg, #111827) !important;
	color: var(--epm-cd-color, #fff);
	box-shadow: 0 6px 18px rgba(17, 24, 39, .25);
}

.epm-live-countdown.epm-cd--dark {
	padding: .7em 1.2em;
	border-radius: 12px;
}

/* Blocs séparés */
.epm-cd--boxes,
.epm-lnext__cd.epm-cd--boxes {
	height: auto !important;
	padding: 0 !important;
	background: transparent !important;
}

.epm-cd--boxes .epm-live-countdown__value {
	display: inline-flex;
	flex-wrap: nowrap;
	gap: .3em;
}

.epm-wpw .epm-cd--boxes {
	justify-content: flex-start;
}

.epm-cd__seg {
	display: inline-grid;
	justify-items: center;
	min-width: 2.7em;
	padding: .4em .4em .35em;
	border-radius: .5em;
	background: var(--epm-cd-bg, #111827);
	color: var(--epm-cd-color, #fff);
	line-height: 1;
}

.epm-cd__seg b {
	font-size: 1.35em;
	font-weight: 800;
	font-variant-numeric: tabular-nums;
}

.epm-cd__seg small {
	margin-top: .3em;
	color: var(--epm-cd-accent, currentColor);
	font-size: .62em;
	letter-spacing: .04em;
	text-transform: uppercase;
	opacity: .85;
}

.epm-live-countdown.epm-cd--boxes {
	gap: .6em;
	align-items: center;
}

@media (max-width: 480px) {
	.epm-cd--lg {
		--epm-cd-fs: 18px;
	}

	.epm-cd__seg {
		min-width: 2.7em;
	}
}

/* ===================================================== 1.9.1 — Widgets WordPress */
.epm-wpw {
	display: grid;
	gap: 10px;
}

.epm-wpw__room {
	color: inherit;
	font-weight: 700;
	text-decoration: none;
}

.epm-lmini {
	display: grid;
	gap: 10px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.epm-lmini__item {
	display: flex;
	gap: 10px;
	align-items: flex-start;
	margin: 0;
	padding: 0 0 10px;
	border-bottom: 1px solid rgba(127, 127, 127, .18);
}

.epm-lmini__item:last-child {
	padding-bottom: 0;
	border-bottom: 0;
}

.epm-lmini .epm-plive {
	--epm-plive-h: 24px;
	margin-top: 1px;
}

.epm-lmini .epm-plive .epm-plive__badge {
	gap: 5px;
	padding: 0 7px;
	font-size: 11px;
}

.epm-lmini .epm-plive__dot {
	width: 7px;
	height: 7px;
}

.epm-lmini__body {
	display: grid;
	gap: 2px;
	min-width: 0;
}

.epm-lmini__title {
	color: inherit;
	font-weight: 700;
	line-height: 1.3;
	text-decoration: none;
	overflow-wrap: anywhere;
}

.epm-lmini__title:hover,
.epm-lmini__title:focus-visible {
	text-decoration: underline;
}

.epm-lmini__when,
.epm-lmini__cd {
	font-size: .85em;
	opacity: .75;
	font-variant-numeric: tabular-nums;
}

.epm-lmini__cd {
	font-weight: 700;
	opacity: .9;
}

.epm-lmini__more {
	margin: 0;
	font-weight: 600;
}

/* ===================================================== 1.9.1 — Partage */
.epm-share {
	display: flex;
	flex-wrap: wrap;
	gap: 8px 12px;
	align-items: center;
}

.epm-share__label {
	font-weight: 700;
	font-size: 14px;
}

.epm-share__list {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.epm-share__btn {
	display: inline-grid;
	place-items: center;
	width: 38px;
	height: 38px;
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: #f1f3f7;
	color: #1f2937 !important;
	text-decoration: none !important;
	cursor: pointer;
	transition: transform .15s ease, background-color .15s ease, color .15s ease;
	-webkit-appearance: none;
	appearance: none;
}

.epm-share__btn[hidden] {
	display: none;
}

.epm-share__btn:hover,
.epm-share__btn:focus-visible {
	color: #fff !important;
	transform: translateY(-2px);
}

.epm-share__btn--facebook:hover,
.epm-share__btn--facebook:focus-visible { background: #1877f2; }
.epm-share__btn--x:hover,
.epm-share__btn--x:focus-visible { background: #000; }
.epm-share__btn--whatsapp:hover,
.epm-share__btn--whatsapp:focus-visible { background: #25d366; }
.epm-share__btn--linkedin:hover,
.epm-share__btn--linkedin:focus-visible { background: #0a66c2; }
.epm-share__btn--telegram:hover,
.epm-share__btn--telegram:focus-visible { background: #229ed9; }
.epm-share__btn--email:hover,
.epm-share__btn--email:focus-visible,
.epm-share__btn--copy:hover,
.epm-share__btn--copy:focus-visible,
.epm-share__btn--copytext:hover,
.epm-share__btn--copytext:focus-visible,
.epm-share__btn--native:hover,
.epm-share__btn--native:focus-visible { background: #374151; }

.epm-share__btn.is-done {
	background: #16a34a;
	color: #fff !important;
}

.epm-share__msg {
	font-size: 13px;
	color: #16a34a;
	font-weight: 600;
}

/* ===================================================== 1.9.2 — Compteurs : réglages détaillés */
/* Variables : --epm-cd-text (texte avant), --epm-cd-text-size, --epm-cd-digits (chiffres),
   --epm-cd-units (libellés jours/heures…), --epm-cd-bg, --epm-cd-accent (contours / accents).
   Uniquement sur les compteurs .epm-cd (shortcodes / widgets), jamais sur l'écran d'attente des pages LIVE. */
.epm-cd--xl {
	--epm-cd-fs: 30px;
}

.epm-cd .epm-live-countdown__label {
	color: var(--epm-cd-text, var(--epm-cd-accent, inherit));
	font-size: var(--epm-cd-text-size, .85em);
	opacity: 1;
}

.epm-cd .epm-live-countdown__value {
	color: var(--epm-cd-digits, var(--epm-cd-color, inherit));
}

.epm-cd__seg b {
	color: var(--epm-cd-digits, var(--epm-cd-color, #fff));
}

.epm-cd__seg small {
	color: var(--epm-cd-units, var(--epm-cd-accent, currentColor));
}

.epm-lnext__cd .epm-live-countdown__label {
	margin-right: .45em;
}

.epm-lnext__cd.epm-cd--sm,
.epm-lnext__cd.epm-cd--md,
.epm-lnext__cd.epm-cd--lg,
.epm-lnext__cd.epm-cd--xl {
	font-size: var(--epm-cd-fs);
}

@media (max-width: 480px) {
	.epm-cd--xl {
		--epm-cd-fs: 22px;
	}
}

/* Compteur B : [epm_live_countdown_next] */
.epm-cdn {
	display: inline-flex;
	flex-wrap: wrap;
	gap: 10px 14px;
	align-items: center;
	max-width: 100%;
}

.epm-cdn__title {
	color: var(--epm-cd-text, inherit) !important;
	font-weight: 700;
	text-decoration: none !important;
	overflow-wrap: anywhere;
}

.epm-cdn__title:hover,
.epm-cdn__title:focus-visible {
	text-decoration: underline !important;
}

.epm-cdn__now {
	display: none;
	gap: .5em;
	align-items: center;
	padding: .45em .9em;
	border-radius: 999px;
	background: #e5261f;
	color: #fff;
	font-weight: 800;
	animation: epm-plive-blink 1.1s ease-in-out infinite;
}

.epm-cdn.is-live .epm-cdn__now {
	display: inline-flex;
}

.epm-cdn__btn {
	display: inline-flex;
	align-items: center;
	padding: .55em 1.1em;
	border: 2px solid var(--epm-cd-accent, currentColor);
	border-radius: 8px;
	color: var(--epm-cd-accent, inherit) !important;
	font-weight: 700;
	text-decoration: none !important;
}

.epm-cdn__btn:hover,
.epm-cdn__btn:focus-visible {
	background: var(--epm-cd-accent, #111827);
	color: #fff !important;
}

.epm-cdn__empty {
	color: var(--epm-cd-text, inherit);
	opacity: .8;
}

.epm-cdn--sm { font-size: 13px; }
.epm-cdn--md { font-size: 15px; }
.epm-cdn--lg { font-size: 18px; }
.epm-cdn--xl { font-size: 22px; }

/* ===================================================== 1.9.2 — Page des LIVE : modèles */
.epm-lup-days {
	--epm-lup-accent: var(--epm-lup-accent-c, var(--epm-current-day, #f59e0b));
}

.epm-lup .epm-lup__item {
	border-radius: var(--epm-lup-radius, 12px);
	background: var(--epm-lup-card, #fff);
	color: var(--epm-lup-text, #1f2937);
}

.epm-lup-days__tab.is-active {
	background: var(--epm-lup-accent-c, var(--epm-day, #f59e0b));
}

.epm-lup-days__panels {
	border-top-color: var(--epm-lup-accent);
}

.epm-lup-days__tab {
	border-radius: calc(var(--epm-lup-radius, 12px) + 4px);
}

.epm-lup__hour {
	display: none;
}

/* Navigation des jours en haut */
.epm-lup-days--top {
	grid-template-columns: minmax(0, 1fr);
	gap: 14px;
}

.epm-lup-days--top .epm-lup-days__nav {
	position: static;
	display: flex;
	gap: 10px;
	max-width: 100%;
	padding: 4px 2px 8px;
	overflow-x: auto;
}

.epm-lup-days--top .epm-lup-days__tab {
	flex: 0 0 auto;
	width: auto;
	padding: 12px 16px;
}

.epm-lup-days--top .epm-lup-days__txt strong {
	font-size: 18px;
}

/* Modèle Agenda : lignes compactes comme le programme */
.epm-lup--agenda {
	gap: 8px;
}

.epm-lup--agenda .epm-lup__item {
	grid-template-columns: auto minmax(0, 1fr) auto;
	padding: 10px 14px;
	border-left-width: 1px;
	box-shadow: none;
}

.epm-lup--agenda .epm-lup__date {
	display: none;
}

.epm-lup--agenda .epm-lup__hour {
	display: inline-grid;
	justify-items: center;
	padding: 6px 10px;
	border-radius: 8px;
	background: color-mix(in srgb, var(--epm-lup-accent, #f59e0b) 14%, transparent);
	color: color-mix(in srgb, var(--epm-lup-accent, #f59e0b) 75%, #000);
	font-weight: 700;
	font-variant-numeric: tabular-nums;
	line-height: 1.2;
}

.epm-lup--agenda .epm-lup__hour small {
	font-weight: 600;
	opacity: .75;
}

.epm-lup--agenda .epm-lup__body {
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 2px 14px;
	align-items: center;
}

.epm-lup--agenda .epm-lup__state {
	grid-column: 2;
	grid-row: 1 / span 2;
	justify-content: flex-end;
}

.epm-lup--agenda .epm-lup__title {
	grid-column: 1;
	grid-row: 1;
	font-size: 15px !important;
}

.epm-lup--agenda .epm-lup__meta {
	grid-column: 1;
	font-size: 12.5px;
}

.epm-lup--agenda .epm-lup__when {
	display: none;
}

/* Modèle Timeline */
.epm-lup--timeline {
	position: relative;
	gap: 14px;
	padding-left: 22px;
}

.epm-lup--timeline::before {
	position: absolute;
	top: 6px;
	bottom: 6px;
	left: 6px;
	width: 2px;
	background: color-mix(in srgb, var(--epm-lup-accent, #f59e0b) 35%, transparent);
	content: "";
}

.epm-lup--timeline .epm-lup__item {
	position: relative;
	grid-template-columns: 70px minmax(0, 1fr) auto;
	border-left-width: 1px;
}

.epm-lup--timeline .epm-lup__item::before {
	position: absolute;
	top: 22px;
	left: -22px;
	width: 12px;
	height: 12px;
	border: 3px solid var(--epm-lup-card, #fff);
	border-radius: 50%;
	background: var(--epm-lup-accent, #f59e0b);
	box-shadow: 0 0 0 1px color-mix(in srgb, var(--epm-lup-accent, #f59e0b) 40%, transparent);
	content: "";
}

.epm-lup--timeline .epm-lup__item.is-live::before {
	background: #e5261f;
}

.epm-lup--timeline .epm-lup__date {
	display: none;
}

.epm-lup--timeline .epm-lup__hour {
	display: grid;
	align-self: start;
	gap: 2px;
	color: var(--epm-lup-accent, #f59e0b);
	font-size: 18px;
	font-weight: 800;
	font-variant-numeric: tabular-nums;
	line-height: 1.1;
}

.epm-lup--timeline .epm-lup__hour small {
	color: inherit;
	font-size: 13px;
	font-weight: 600;
	opacity: .7;
}

/* Modèle Grille */
.epm-lup--grid {
	grid-template-columns: repeat(auto-fill, minmax(min(100%, 260px), 1fr));
	gap: 14px;
}

.epm-lup--grid .epm-lup__item {
	grid-template-columns: auto minmax(0, 1fr);
	align-content: start;
	border-top: 4px solid var(--epm-live-off, #6b7280);
	border-left-width: 1px;
}

.epm-lup--grid .epm-lup__item.is-live {
	border-top-color: #e5261f;
}

.epm-lup--grid .epm-lup__actions {
	grid-column: 1 / -1;
	flex-direction: row;
	justify-content: flex-start;
}

.epm-lup--grid .epm-lup__meta {
	flex-direction: column;
}

@media (max-width: 600px) {
	.epm-lup--agenda .epm-lup__item {
		grid-template-columns: auto minmax(0, 1fr);
	}

	.epm-lup--agenda .epm-lup__body {
		grid-template-columns: minmax(0, 1fr);
	}

	.epm-lup--agenda .epm-lup__state {
		grid-column: 1;
		grid-row: auto;
		justify-content: flex-start;
	}

	.epm-lup--timeline .epm-lup__item {
		grid-template-columns: 56px minmax(0, 1fr);
	}

	.epm-lup--timeline .epm-lup__hour {
		font-size: 15px;
	}
}

/* Agenda / Timeline : l'horaire est déjà affiché à gauche */
.epm-lup--agenda .epm-lup__time,
.epm-lup--timeline .epm-lup__time {
	display: none;
}

/* ===================================================== 1.9.8 — Partage : fenêtre d'aide au collage (Facebook / LinkedIn) */
html.epm-smodal-open {
	overflow: hidden;
}

.epm-smodal {
	--epm-sm-accent: #1877f2;
	position: fixed;
	inset: 0;
	z-index: 2147483000;
	display: grid;
	place-items: center;
	padding: 16px;
	font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
	color: #111827;
	text-align: left;
}

.epm-smodal--linkedin {
	--epm-sm-accent: #0a66c2;
}

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

.epm-smodal__backdrop {
	position: absolute;
	inset: 0;
	background: rgba(15, 23, 42, .55);
	-webkit-backdrop-filter: blur(3px);
	backdrop-filter: blur(3px);
	opacity: 0;
	transition: opacity .2s ease;
}

.epm-smodal__box {
	position: relative;
	width: min(440px, 100%);
	max-height: calc(100vh - 32px);
	overflow: auto;
	padding: 28px 26px 22px;
	border-radius: 20px;
	background: #fff;
	box-shadow: 0 30px 70px -20px rgba(15, 23, 42, .5);
	opacity: 0;
	transform: translateY(14px) scale(.97);
	transition: opacity .22s ease, transform .22s ease;
}

.epm-smodal.is-open .epm-smodal__backdrop,
.epm-smodal.is-open .epm-smodal__box {
	opacity: 1;
	transform: none;
}

.epm-smodal__x {
	position: absolute;
	top: 12px;
	right: 12px;
	width: 34px;
	height: 34px;
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: #f3f4f6;
	color: #4b5563;
	font: 400 22px/1 system-ui, sans-serif;
	cursor: pointer;
}

.epm-smodal__x:hover,
.epm-smodal__x:focus-visible {
	background: #e5e7eb;
	color: #111827;
}

.epm-smodal__icon {
	display: grid;
	place-items: center;
	width: 52px;
	height: 52px;
	margin: 0 0 14px;
	border-radius: 50%;
	background: #dcfce7;
	color: #16a34a;
}

.epm-smodal.is-fail .epm-smodal__icon {
	background: #fef3c7;
	color: #b45309;
}

.epm-smodal__title {
	margin: 0 40px 6px 0;
	color: #111827;
	font: 800 22px/1.25 inherit;
	font-family: inherit;
	letter-spacing: -.01em;
}

.epm-smodal__ko,
.epm-smodal.is-fail .epm-smodal__ok {
	display: none;
}

.epm-smodal.is-fail .epm-smodal__ko {
	display: inline;
}

.epm-smodal__lead {
	margin: 0 0 16px;
	color: #4b5563;
	font-size: 14.5px;
	line-height: 1.5;
}

.epm-smodal__steps {
	display: grid;
	gap: 10px;
	margin: 0 0 16px;
	padding: 0;
	list-style: none;
	counter-reset: epm-sm;
}

.epm-smodal__steps li {
	display: flex;
	gap: 12px;
	align-items: center;
	margin: 0;
	font-size: 14.5px;
	line-height: 1.4;
	counter-increment: epm-sm;
}

.epm-smodal__steps li::before {
	content: counter(epm-sm);
	display: grid;
	flex: none;
	place-items: center;
	width: 26px;
	height: 26px;
	border-radius: 50%;
	background: color-mix(in srgb, var(--epm-sm-accent) 12%, #fff);
	color: var(--epm-sm-accent);
	font-weight: 700;
	font-size: 13px;
}

.epm-smodal kbd {
	display: inline-block;
	min-width: 26px;
	margin: 0 2px;
	padding: 2px 7px;
	border: 1px solid #d1d5db;
	border-bottom-width: 3px;
	border-radius: 6px;
	background: #fff;
	color: #111827;
	font: 700 12.5px/1.4 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
	text-align: center;
}

.epm-smodal__preview {
	margin: 0 0 18px;
	padding: 10px 12px 4px;
	border: 1px solid #e5e7eb;
	border-radius: 12px;
	background: #f9fafb;
}

.epm-smodal__label {
	display: block;
	color: #6b7280;
	font-size: 11.5px;
	font-weight: 700;
	letter-spacing: .06em;
	text-transform: uppercase;
}

.epm-smodal__text {
	display: block;
	width: 100%;
	min-height: 0;
	margin: 4px 0 0;
	padding: 0;
	border: 0;
	background: transparent;
	color: #1f2937;
	font: 14px/1.5 inherit;
	font-family: inherit;
	resize: none;
	box-shadow: none;
	outline: 0;
}

.epm-smodal.is-fail .epm-smodal__preview {
	border-color: #f59e0b;
	background: #fffbeb;
}

.epm-smodal__actions {
	display: grid;
	gap: 8px;
}

.epm-smodal__go,
.epm-smodal__again {
	display: inline-flex;
	gap: 8px;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-height: 46px;
	margin: 0;
	padding: 10px 16px;
	border-radius: 12px;
	font: 700 15px/1.2 inherit;
	font-family: inherit;
	cursor: pointer;
	transition: background-color .15s ease, transform .15s ease;
}

.epm-smodal__go {
	border: 0;
	background: var(--epm-sm-accent);
	color: #fff;
}

.epm-smodal__go:hover,
.epm-smodal__go:focus-visible {
	background: color-mix(in srgb, var(--epm-sm-accent) 85%, #000);
	transform: translateY(-1px);
}

.epm-smodal__again {
	border: 1px solid #e5e7eb;
	background: #fff;
	color: #374151;
	font-weight: 600;
}

.epm-smodal__again:hover,
.epm-smodal__again:focus-visible {
	background: #f3f4f6;
}

.epm-smodal__again.is-done {
	border-color: #16a34a;
	background: #f0fdf4;
	color: #15803d;
}

.epm-smodal__note {
	margin: 12px 0 0;
	color: #6b7280;
	font-size: 12.5px;
	line-height: 1.45;
	text-align: center;
}

@media (max-width: 480px) {
	.epm-smodal {
		place-items: end center;
		padding: 0;
	}

	.epm-smodal__box {
		width: 100%;
		max-height: 92vh;
		padding: 24px 20px calc(18px + env(safe-area-inset-bottom));
		border-radius: 20px 20px 0 0;
		transform: translateY(40px);
	}
}

@media (prefers-reduced-motion: reduce) {
	.epm-smodal__backdrop,
	.epm-smodal__box {
		transition: none;
	}
}

/* ===================================================== 1.9.7 — Pages LIVE individuelles */
/* Uniquement sur body.epm-live-single (pages du type epm_live) : les autres pages du site ne changent pas. */

/* Bandeaux de titre génériques des thèmes (« Blog details », fil d'Ariane…). */
body.epm-live-single :is(.page-title-area, .page-title-section, .page-title-wrap, .page-title-wrapper, .page-banner, .page-banner-area, .breadcrumb-area, .breadcrumb-section, .breadcrumbs-area, .breadcrumb-wrapper, .inner-banner, .inner-page-banner, .sub-banner, .banner-inner, .page-header-area, .page-heading-area, .single-post-banner, .blog-details-banner, .blog-banner),
.epm-live-hidden {
	display: none !important;
}

.epm-live-pagehead {
	margin: 0 0 clamp(16px, 2vw, 24px);
	padding-top: clamp(8px, 1.4vw, 16px);
}

.epm-live-pagehead__title {
	position: relative;
	margin: 0;
	padding-bottom: 14px;
	font-size: clamp(26px, 3.6vw, 40px);
	font-weight: 800;
	line-height: 1.18;
	letter-spacing: -.01em;
	overflow-wrap: anywhere;
}

.epm-live-pagehead__title::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	width: 56px;
	height: 4px;
	border-radius: 4px;
	background: var(--epm-live-on, #e11d48);
}

/* Hiérarchie : titre → statut / lecteur → partage → compte à rebours / infos. */
body.epm-live-single .epm-live-pagehead + .epm-live,
body.epm-live-single .epm-live-pagehead ~ * .epm-live {
	margin-top: 0;
}

body.epm-live-single .epm-live .epm-share {
	margin-top: 4px;
}

body.epm-live-single .epm-live > .epm-live-info {
	margin-top: 4px;
	padding-top: 18px;
	border-top: 1px solid rgba(15, 23, 42, .08);
}

/* ===================================================== 1.9.13 — Livepush : version audio uniquement */
.epm-live-player--livepush-audio {
	overflow: hidden;
	border-radius: var(--epm-live-radius, 14px);
	background: #0b1020;
}

.epm-live-player--livepush-audio iframe {
	display: block;
	width: 100%;
	height: 180px;
	border: 0;
}

/* ===================================================== 1.9.14 — Lecteur YouTube (éléments du site autour de l'iframe) */
.epm-yt {
	display: grid;
	gap: 10px;
	width: 100%;
}

.epm-yt__player {
	overflow: hidden;
	border-radius: var(--epm-yt-radius, 14px);
}

.epm-yt--frame .epm-yt__player {
	box-shadow: 0 0 0 3px var(--epm-yt-accent, var(--epm-live-on, #e11d48));
}

.epm-yt__title {
	position: relative;
	margin: 0;
	padding-left: 14px;
	font-size: clamp(17px, 2.2vw, 22px);
	font-weight: 700;
	line-height: 1.3;
}

.epm-yt__title::before {
	content: "";
	position: absolute;
	left: 0;
	top: .15em;
	bottom: .15em;
	width: 4px;
	border-radius: 4px;
	background: var(--epm-yt-accent, var(--epm-live-on, #e11d48));
}

.epm-yt__notice {
	margin: 0;
	padding: 10px 14px;
	border-left: 4px solid var(--epm-yt-accent, var(--epm-live-on, #e11d48));
	border-radius: 8px;
	background: rgba(15, 23, 42, .06);
	font-size: 15px;
	line-height: 1.45;
}

.epm-yt__notice[hidden] {
	display: none;
}

/* La scène LIVE laisse la main au cadre YouTube (coins, fond) quand il est présent. */
.epm-live__stage:has(> .epm-yt) {
	overflow: visible;
	border-radius: 0;
	background: transparent;
}

.epm-yt__player {
	background: var(--epm-live-stage-bg, #000);
}
