/** IFJ single-Event presentation; data and semantics remain plugin-owned. */
.ifj-single-event__source,
.ifj-single-event__rubric {
	margin: 0;
	color: var(--ifj-bleu);
	font-size: var(--ifj-font-size-meta);
	font-weight: 700;
}

.ifj-single-event__date {
	margin: 0;
	color: var(--ifj-noir);
	font-size: var(--ifj-font-size-lead);
	font-weight: 700;
}

.ifj-single-event__media {
	margin-block: 0;
	text-align: start;
}

.ifj-single-event__image {
	display: block;
	inline-size: auto;
	max-inline-size: 100%;
	max-block-size: 42rem;
	block-size: auto;
}

.ifj-single-event__body {
	display: grid;
	gap: var(--ifj-space-xl);
}

.ifj-single-event__body > :where(.ifj-single-event__past, .ifj-single-event__lead, .ifj-single-event__description, .ifj-single-event__practical, .ifj-single-event__return) {
	inline-size: min(100%, var(--ifj-container-narrow));
	margin-inline: auto;
}

.ifj-single-event__past {
	padding-block: var(--ifj-space-sm);
	border-block: 1px solid var(--ifj-ecume);
	color: var(--ifj-bleu);
	font-weight: 700;
}

.ifj-single-event__lead {
	font-size: var(--ifj-font-size-lead);
}

.ifj-single-event__description > * + * {
	margin-block-start: var(--ifj-space-md);
}

.ifj-single-event__description :where(a[href^="http://"], a[href^="https://"])::after {
	content: " ↗";
}

.ifj-single-event__description img {
	max-inline-size: 100%;
	block-size: auto;
}

.ifj-single-event__practical {
	padding-block: var(--ifj-space-lg);
	border-block: 1px solid var(--ifj-ecume);
}

.ifj-single-event__practical h2 {
	color: var(--ifj-bleu);
}

.ifj-single-event__practical dl {
	display: grid;
	gap: var(--ifj-space-sm);
	margin: var(--ifj-space-lg) 0 0;
}

.ifj-single-event__practical dl > div {
	display: grid;
	grid-template-columns: minmax(7rem, 0.35fr) minmax(0, 1fr);
	gap: var(--ifj-space-md);
	padding-block-end: var(--ifj-space-sm);
	border-block-end: 1px solid var(--ifj-cumulus);
}

.ifj-single-event__practical :where(dt, dd) {
	margin: 0;
}

.ifj-single-event__practical dt {
	font-weight: 700;
}

.ifj-single-event__booking {
	margin-block: var(--ifj-space-lg) 0;
}

.ifj-single-event__button {
	display: inline-flex;
	min-block-size: 3rem;
	align-items: center;
	padding-inline: var(--ifj-space-md);
	color: var(--ifj-blanc);
	font-weight: 700;
	text-decoration: none;
	background: var(--ifj-bleu);
}

.ifj-single-event :where(a, .ifj-single-event__button):focus-visible {
	outline: 3px solid var(--ifj-tournesol);
	outline-offset: 3px;
}

.ifj-single-event__return a {
	color: var(--ifj-bleu);
	font-weight: 700;
}

@media (max-width: 47.99rem) {
	.ifj-single-event__practical dl > div {
		grid-template-columns: minmax(0, 1fr);
		gap: var(--ifj-space-xs);
	}
}
