/* MJFrance – Aujourd'hui, Michael Jackson… (thème Scène rouge & noir) */
.mjf-eph {
	--mjf-bg: #0b0b0d;
	--mjf-card: #16131a;
	--mjf-line: #2a2426;
	--mjf-border: #5a5052;
	--mjf-red: #b3121b;
	--mjf-red-text: #ff4d5a;
	--mjf-red-soft: #3a1418;
	--mjf-ink: #f5efe6;
	--mjf-muted: #c9c2ba;
	--mjf-faint: #9a938d;
	--mjf-display: "Anton", "Bebas Neue", Impact, "Arial Narrow Bold", sans-serif;
	color: var(--mjf-ink);
	background: var(--mjf-bg);
	font-size: 16px;
	line-height: 1.55;
	border-radius: 16px;
	overflow: hidden;
	box-sizing: border-box;
}
.mjf-eph *, .mjf-eph *::before, .mjf-eph *::after { box-sizing: border-box; }
.mjf-eph a { color: var(--mjf-red-text); }
.mjf-eph a:hover, .mjf-eph a:focus { color: #ff8a93; }
.mjf-eph p { margin: 0; }

/* Sur la page de la rubrique : la frise remplace le fond « papier » du thème */
.mjf-eph-page .entry-paper { background: transparent !important; padding: 0 !important; box-shadow: none !important; border: 0 !important; max-width: 1000px; }
.mjf-eph-page .entry-content > .mjf-eph { border-radius: 16px; }

/* En-tête */
.mjf-eph-hero {
	text-align: center;
	padding: 56px 20px 40px;
	background: radial-gradient(ellipse at 50% 0%, #4a0a10 0%, var(--mjf-bg) 70%);
}
.mjf-eph-eyebrow {
	font-size: 13px; font-weight: 700; letter-spacing: .22em; text-transform: uppercase;
	color: var(--mjf-red-text) !important; margin: 0 0 10px !important;
}
.mjf-eph .mjf-eph-date {
	font-family: var(--mjf-display); font-weight: 400; text-transform: uppercase;
	font-size: clamp(52px, 10vw, 128px); line-height: .95; letter-spacing: .02em;
	color: #fff; margin: 0; padding: 0; border: 0;
}
.mjf-eph-summary { margin: 16px auto 0 !important; max-width: 560px; color: var(--mjf-muted); font-size: 18px; }

/* Navigation entre les jours */
.mjf-eph-days { margin: 32px auto 0; display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 8px; }
.mjf-eph-arrow {
	width: 48px; height: 48px; border-radius: 999px; border: 1px solid var(--mjf-border);
	display: inline-flex; align-items: center; justify-content: center; color: var(--mjf-ink) !important; text-decoration: none;
}
.mjf-eph-arrow:hover { border-color: var(--mjf-red-text); }
.mjf-eph-chip {
	min-width: 56px; min-height: 56px; padding: 6px 8px; border-radius: 12px;
	background: var(--mjf-card); border: 1px solid var(--mjf-line);
	color: var(--mjf-ink) !important; text-decoration: none; text-align: center;
	display: inline-flex; flex-direction: column; justify-content: center;
}
.mjf-eph-chip:hover { border-color: var(--mjf-red-text); }
.mjf-eph-chip.is-empty { color: var(--mjf-faint) !important; }
.mjf-eph-chip.is-today { border-color: var(--mjf-red-text); }
.mjf-eph-chip.is-current { background: var(--mjf-red); border-color: var(--mjf-red); color: #fff !important; }
.mjf-eph-chip-num { display: block; font-family: var(--mjf-display); font-size: 22px; line-height: 1.1; }
.mjf-eph-chip-sub { display: block; font-size: 11px; letter-spacing: .06em; text-transform: uppercase; }

.mjf-eph-tools { margin-top: 16px; display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 12px; color: var(--mjf-muted); font-size: 14px; }
.mjf-eph-goto { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 8px; margin: 0; }
.mjf-eph-goto select {
	min-height: 44px; padding: 0 10px; border-radius: 8px; border: 1px solid var(--mjf-border);
	background: var(--mjf-card); color: var(--mjf-ink); font: inherit;
}

/* Boutons */
.mjf-eph-btn, .mjf-eph button.mjf-eph-btn {
	display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: 0 18px;
	border-radius: 999px; border: 1px solid var(--mjf-red); background: var(--mjf-red);
	color: #fff !important; font: inherit; font-weight: 700; text-decoration: none; cursor: pointer;
}
.mjf-eph-btn:hover { background: #d0161f; }
.mjf-eph-btn-ghost, .mjf-eph button.mjf-eph-btn-ghost { background: transparent; border-color: var(--mjf-border); color: var(--mjf-ink) !important; }
.mjf-eph-btn-ghost:hover { background: transparent; border-color: var(--mjf-red-text); }
.mjf-eph-btn-block { display: flex; width: 100%; }

/* Filtres */
.mjf-eph-filters { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; padding: 8px 20px 0; max-width: 880px; margin: 0 auto; }
.mjf-eph button.mjf-eph-filter {
	min-height: 44px; padding: 0 16px; border-radius: 999px; font: inherit; font-size: 14px; font-weight: 600; cursor: pointer;
	background: transparent; color: #d9d3cc; border: 1px solid var(--mjf-border); margin: 0;
}
.mjf-eph button.mjf-eph-filter[aria-pressed="true"] { background: var(--mjf-ink); color: var(--mjf-bg); border-color: var(--mjf-ink); }

/* Frise */
.mjf-eph-timeline {
	list-style: none; max-width: 880px; margin: 40px auto 0 !important; padding: 0 20px 0 48px !important;
	position: relative; display: flex; flex-direction: column; gap: 36px;
}
.mjf-eph-timeline::before { content: ""; position: absolute; left: 25px; top: 8px; bottom: 8px; width: 2px; background: var(--mjf-red-soft); }
.mjf-eph-item { position: relative; margin: 0 !important; padding: 0 !important; list-style: none !important; }
.mjf-eph-item[hidden] { display: none; }
.mjf-eph-dot {
	position: absolute; left: -30px; top: 12px; width: 16px; height: 16px; border-radius: 999px;
	background: var(--mjf-red-text); box-shadow: 0 0 0 5px var(--mjf-bg), 0 0 18px var(--mjf-red-text);
}
.mjf-eph-year { font-family: var(--mjf-display); font-size: 42px; line-height: 1; color: var(--mjf-red-text); margin: 0 0 10px !important; }
.mjf-eph-card { background: var(--mjf-card); border: 1px solid var(--mjf-line); border-radius: 14px; overflow: hidden; display: flex; flex-wrap: wrap; }
.mjf-eph-media { flex: 1 1 220px; min-height: 180px; max-height: 300px; background: #1b171d; overflow: hidden; }
.mjf-eph-media img { width: 100%; height: 100%; min-height: 180px; max-height: 300px; object-fit: cover; object-position: center top; display: block; margin: 0; }
.mjf-eph-body { flex: 999 1 320px; min-width: 0; padding: 22px 24px; display: flex; flex-direction: column; gap: 10px; }
.mjf-eph-tag {
	align-self: flex-start; padding: 4px 10px; border-radius: 999px; background: var(--mjf-red-soft);
	color: #ffb3b9; font-size: 12px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase;
}
.mjf-eph .mjf-eph-title { margin: 0; padding: 0; font-size: 21px; line-height: 1.3; color: #fff; font-weight: 700; }
.mjf-eph-text { color: var(--mjf-muted); }
.mjf-eph-meta { display: flex; flex-wrap: wrap; gap: 6px 20px; align-items: center; font-size: 14px; color: var(--mjf-faint); margin-top: 4px !important; }
.mjf-eph-meta a { font-weight: 700; }

/* Jour vide */
.mjf-eph-empty { max-width: 720px; margin: 40px auto 0; padding: 40px 24px; text-align: center; border: 1px dashed var(--mjf-border); border-radius: 14px; color: var(--mjf-muted); }
.mjf-eph-empty-title { font-size: 20px; font-weight: 700; color: #fff; margin-bottom: 8px !important; }
.mjf-eph-empty-actions { margin-top: 20px !important; display: flex; flex-wrap: wrap; gap: 10px; justify-content: center; }

/* Partage */
.mjf-eph-share { max-width: 880px; margin: 40px auto 0; padding: 20px 20px 40px; display: flex; flex-wrap: wrap; gap: 10px 18px; justify-content: center; font-size: 14px; color: var(--mjf-faint); border-top: 1px solid var(--mjf-line); }
.mjf-eph-share a { font-weight: 700; text-decoration: none; }

/* Bloc d'accueil */
.mjf-eph-bloc { padding: 24px; border: 1px solid var(--mjf-red-soft); }
.mjf-eph-bloc-date { font-family: var(--mjf-display); font-size: 44px; line-height: 1; text-transform: uppercase; color: #fff; margin-bottom: 18px !important; }
.mjf-eph-bloc-list { list-style: none; margin: 0 0 20px !important; padding: 0 !important; display: flex; flex-direction: column; gap: 14px; }
.mjf-eph-bloc-list li { display: flex; gap: 14px; align-items: flex-start; padding: 0 0 14px !important; margin: 0 !important; border-bottom: 1px solid var(--mjf-line); color: #e8e2da; font-size: 15px; line-height: 1.45; list-style: none !important; }
.mjf-eph-bloc-list li:last-child { border-bottom: 0; padding-bottom: 0 !important; }
.mjf-eph-bloc-year { font-family: var(--mjf-display); font-size: 24px; line-height: 1.1; color: var(--mjf-red-text); flex: none; }
.mjf-eph-bloc-empty { color: var(--mjf-muted); margin-bottom: 16px !important; }

@media (max-width: 480px) {
	.mjf-eph-chip.is-far { display: none; }
}
@media (max-width: 600px) {
	.mjf-eph-hero { padding: 40px 16px 32px; }
	.mjf-eph-chip { min-width: 44px; padding: 6px 4px; }
	.mjf-eph-arrow { width: 44px; height: 44px; }
	.mjf-eph-timeline { padding: 0 16px 0 40px !important; }
	.mjf-eph-timeline::before { left: 19px; }
	.mjf-eph-dot { left: -28px; }
	.mjf-eph-year { font-size: 34px; }
	.mjf-eph-body { padding: 18px; }
}

/* Le thème souligne les liens : on l'annule pour les pastilles et boutons */
.mjf-eph a.mjf-eph-chip, .mjf-eph a.mjf-eph-arrow, .mjf-eph a.mjf-eph-btn, .mjf-eph-share a,
.mjf-eph a.mjf-eph-chip *, .mjf-eph a.mjf-eph-btn * { text-decoration: none !important; }

/* Bloc page d'accueil */
.mjf-eph-home-wrap { margin-top: 24px; margin-bottom: 24px; }
.mjf-eph-home-section { margin: 0; }
.mjf-eph-home-date .mjf-eph-eyebrow { font-size: 11px; letter-spacing: .16em; }
.mjf-eph-home {
	display: grid; grid-template-columns: minmax(180px, 240px) minmax(0, 1fr) auto; gap: 24px 32px; align-items: center;
	padding: 28px 32px; border: 1px solid var(--mjf-red-soft);
	background: radial-gradient(ellipse at 0% 50%, #3a0a10 0%, var(--mjf-bg) 60%);
}
.mjf-eph a.mjf-eph-home-date { text-decoration: none !important; color: #fff !important; display: block; }
.mjf-eph-home-date .mjf-eph-eyebrow { display: block; margin: 0 0 6px !important; }
.mjf-eph-home-day { display: block; font-family: var(--mjf-display); font-size: 46px; line-height: 1; text-transform: uppercase; }
.mjf-eph-home-list { list-style: none; margin: 0 !important; padding: 0 !important; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.mjf-eph-home-list li { margin: 0 !important; padding: 0 0 0 16px !important; list-style: none !important; border-left: 2px solid var(--mjf-red-soft); }
.mjf-eph-home-list a { display: block; text-decoration: none !important; color: #e8e2da !important; }
.mjf-eph-home-list a:hover .mjf-eph-home-title { color: #fff; text-decoration: underline; }
.mjf-eph-home-year { display: block; font-family: var(--mjf-display); font-size: 26px; line-height: 1.1; color: var(--mjf-red-text); margin-bottom: 4px; }
.mjf-eph-home-title { display: block; font-size: 15px; line-height: 1.4; }
.mjf-eph-home-empty { color: var(--mjf-muted); }
.mjf-eph-home-cta { white-space: nowrap; }
@media (max-width: 1000px) {
	.mjf-eph-home { grid-template-columns: 1fr; }
	.mjf-eph-home-cta { justify-self: start; }
}
@media (max-width: 640px) {
	.mjf-eph-home { padding: 22px 18px; }
	.mjf-eph-home-list { grid-template-columns: 1fr; }
}
