.ellzi-event-gallery {
	margin-block: 2.5rem;
}

.ellzi-event-gallery__title {
	margin-bottom: 1.25rem;
}

.ellzi-event-gallery__grid {
	columns: 280px;
	column-gap: 14px;
}

.ellzi-event-gallery__item {
	display: inline-block;
	width: 100%;
	margin: 0 0 14px;
	break-inside: avoid;
	overflow: hidden;
}

.ellzi-event-gallery__link {
	display: block;
	overflow: hidden;
	background: #f3f3f3;
}

.ellzi-event-gallery__image {
	display: block;
	width: 100%;
	height: auto;
	transition: transform 180ms ease;
}

.ellzi-event-gallery__link:hover .ellzi-event-gallery__image,
.ellzi-event-gallery__link:focus .ellzi-event-gallery__image {
	transform: scale(1.015);
}

.ellzi-event-gallery__caption {
	margin-top: 6px;
	font-size: 0.9em;
	line-height: 1.4;
}

.ellzi-events-archive {
	width: 100%;
}

.ellzi-events-archive__inner {
	width: min(100% - 40px, 1600px);
	margin-inline: auto;
	padding-block: 42px 70px;
}

.ellzi-events-archive__header {
	margin-bottom: 28px;
	padding-bottom: 26px;
	border-bottom: 1px solid rgba(0, 0, 0, 0.13);
	text-align: center;
}

.ellzi-events-archive__title {
	margin: 0;
	text-transform: uppercase;
	font-size: clamp(1.45rem, 2vw, 2rem);
	line-height: 1.2;
}

.ellzi-events-archive__description {
	max-width: 850px;
	margin: 18px auto 0;
}

.ellzi-events-grid {
	display: grid;
	grid-template-columns: repeat(var(--ellzi-event-columns, 4), minmax(0, 1fr));
	align-items: start;
	gap: 42px 34px;
}

.ellzi-events-grid--archive {
	--ellzi-event-columns: 4;
}

.ellzi-event-card {
	min-width: 0;
	margin: 0;
	background: transparent;
	box-shadow: none;
}

.ellzi-event-card__link {
	display: block;
	color: inherit;
	text-decoration: none;
}

.ellzi-events-grid .ellzi-event-card .ellzi-event-card__media {
	display: block !important;
	position: static !important;
	width: 100% !important;
	height: auto !important;
	min-height: 0 !important;
	max-height: none !important;
	aspect-ratio: auto !important;
	margin: 0 !important;
	padding: 0 !important;
	overflow: hidden !important;
	background: transparent !important;
}

.ellzi-events-grid .ellzi-event-card .ellzi-event-card__media picture {
	display: block !important;
	width: 100% !important;
	height: auto !important;
	margin: 0 !important;
	padding: 0 !important;
}

.ellzi-events-grid .ellzi-event-card .ellzi-event-card__image,
.ellzi-events-grid .ellzi-event-card .ellzi-event-card__media picture img {
	display: block !important;
	position: static !important;
	inset: auto !important;
	width: 100% !important;
	max-width: 100% !important;
	height: auto !important;
	min-height: 0 !important;
	max-height: none !important;
	aspect-ratio: auto !important;
	object-fit: initial !important;
	object-position: center !important;
	margin: 0 !important;
	padding: 0 !important;
	transition: transform 180ms ease;
}

.ellzi-event-card__link:hover .ellzi-event-card__image,
.ellzi-event-card__link:focus .ellzi-event-card__image {
	transform: scale(1.015);
}

.ellzi-event-card__body {
	padding: 18px 0 0;
}

.ellzi-event-card__title {
	margin: 0;
	font-size: clamp(1.05rem, 1.2vw, 1.3rem);
	font-weight: 600;
	line-height: 1.35;
	letter-spacing: 0;
	text-transform: none;
}

.ellzi-event-card__categories {
	margin-top: 5px;
	color: #777;
	font-size: 1rem;
	line-height: 1.4;
}

.ellzi-lightbox-open {
	overflow: hidden;
}

.ellzi-lightbox[hidden] {
	display: none;
}

.ellzi-lightbox {
	position: fixed;
	z-index: 999999;
	inset: 0;
	display: grid;
	grid-template-columns: minmax(44px, 7vw) minmax(0, 1fr) minmax(44px, 7vw);
	align-items: center;
	padding: 24px 0;
	background: rgba(0, 0, 0, 0.92);
}

.ellzi-lightbox__figure {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	min-width: 0;
	max-height: calc(100vh - 48px);
	margin: 0;
}

.ellzi-lightbox__image {
	display: block;
	max-width: 100%;
	max-height: calc(100vh - 110px);
	object-fit: contain;
}

.ellzi-lightbox__caption {
	max-width: 900px;
	margin-top: 12px;
	color: #fff;
	text-align: center;
}

.ellzi-lightbox__close,
.ellzi-lightbox__previous,
.ellzi-lightbox__next {
	border: 0;
	background: transparent;
	color: #fff;
	cursor: pointer;
	font: inherit;
}

.ellzi-lightbox__close {
	position: absolute;
	top: 10px;
	right: 16px;
	padding: 8px 12px;
	font-size: 38px;
	line-height: 1;
}

.ellzi-lightbox__previous,
.ellzi-lightbox__next {
	align-self: stretch;
	font-size: clamp(42px, 7vw, 82px);
}

.ellzi-lightbox__close:focus-visible,
.ellzi-lightbox__previous:focus-visible,
.ellzi-lightbox__next:focus-visible,
.ellzi-event-gallery__link:focus-visible,
.ellzi-event-card__link:focus-visible {
	outline: 3px solid currentColor;
	outline-offset: 3px;
}

@media (max-width: 1180px) {
	.ellzi-events-grid,
	.ellzi-events-grid--archive {
		--ellzi-event-columns: 3;
	}
}

@media (max-width: 800px) {
	.ellzi-events-grid,
	.ellzi-events-grid--archive {
		--ellzi-event-columns: 2;
	}

	.ellzi-events-archive__inner {
		width: min(100% - 28px, 1600px);
	}
}

@media (max-width: 520px) {
	.ellzi-events-grid,
	.ellzi-events-grid--archive {
		--ellzi-event-columns: 1;
	}

	.ellzi-lightbox {
		grid-template-columns: 44px minmax(0, 1fr) 44px;
		padding-block: 48px 12px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.ellzi-event-gallery__image,
	.ellzi-event-card__image {
		transition: none;
	}
}


/* Fiche complète d’un événement */
.ellzi-event-single {
	width: 100%;
}

.ellzi-event-single__inner {
	width: 80%;
	max-width: 1600px;
	margin-inline: auto;
	padding-block: 48px 72px;
}

.ellzi-event-single__header {
	margin-bottom: 34px;
	text-align: center;
}

.ellzi-event-single__title {
	margin: 0;
	font-size: clamp(1.65rem, 2.25vw, 2.55rem);
	line-height: 1.25;
}

.ellzi-event-single__content {
	width: 100%;
}

.ellzi-event-single__content > .wp-block-embed,
.ellzi-event-single__content > .wp-video,
.ellzi-event-single__content > iframe,
.ellzi-event-single__content > p:has(iframe),
.ellzi-event-single__content .wp-block-embed__wrapper,
.ellzi-event-single__content .fluid-width-video-wrapper {
	width: 100% !important;
	max-width: 1100px !important;
	margin-left: auto !important;
	margin-right: auto !important;
}

.ellzi-event-single__content iframe,
.ellzi-event-single__content .wp-block-embed__wrapper iframe,
.ellzi-event-single__content .fluid-width-video-wrapper iframe {
	display: block !important;
	width: 100% !important;
	max-width: 1100px !important;
	height: auto !important;
	aspect-ratio: 16 / 9;
	margin-inline: auto !important;
}

.ellzi-event-single .ellzi-event-gallery {
	margin-top: 3rem;
}

.ellzi-event-single .ellzi-event-gallery__title {
	margin-bottom: 1.5rem;
}

@media (max-width: 800px) {
	.ellzi-event-single__inner {
		width: calc(100% - 28px);
		padding-block: 34px 54px;
	}
}


/* Correctif 1.2.1 : neutralise les hauteurs imposées par le thème,
   le CSS personnalisé ou un système de lazy-loading. */
.ellzi-events-grid .ellzi-event-card,
.ellzi-events-grid .ellzi-event-card__link {
	height: auto !important;
	min-height: 0 !important;
	max-height: none !important;
	aspect-ratio: auto !important;
}

.ellzi-events-grid .ellzi-event-card__media::before,
.ellzi-events-grid .ellzi-event-card__media::after {
	display: none !important;
	content: none !important;
}

.ellzi-events-grid .ellzi-event-card__media > img.ellzi-event-card__image {
	position: absolute !important;
	inset: 0 !important;
	width: 100% !important;
	height: 100% !important;
	min-height: 0 !important;
	max-height: none !important;
	object-fit: contain !important;
	object-position: center !important;
}
