/*
	Styles du carrousel et de la visionneuse (remplacent ceux de slides.jquery et fancybox)
*/

/* ---------- Carrousel ---------- */

#slides .slides_container {
	display: block;
	position: relative;
}

.slides_control {
	position: relative;
	width: 940px;
	height: 260px;
}

.slides_control > .content {
	position: absolute;
	top: 0;
	left: 0;
	transform: translateX(100%);
	transition: transform .6s ease-in-out;
}

.slides_control > .content.active {
	transform: translateX(0);
}

.slides_control > .content.sans-transition {
	transition: none;
}

@media (prefers-reduced-motion: reduce) {
	.slides_control > .content {
		transition: none;
	}
}

/* ---------- Visionneuse ---------- */

html.lightbox-ouverte {
	overflow: hidden;
}

dialog.lightbox {
	position: fixed;
	inset: 0;
	margin: auto;
	padding: 8px;
	border: 0;
	max-width: none;
	max-height: none;
	overflow: visible;
	background: #f9f9f9;
	color: #444;
	box-shadow: 0 10px 25px rgba(0, 0, 0, 0.5);
	font: normal 13px/20px "Helvetica Neue", Helvetica, Arial, sans-serif;
}

dialog.lightbox::backdrop {
	background: rgba(0, 0, 0, 0.8);
}

.lightbox-media img {
	display: block;
	max-width: calc(100vw - 160px);
	max-height: calc(100vh - 110px);
	width: auto;
	height: auto;
}

.lightbox-media iframe {
	display: block;
	border: 0;
	width: min(960px, calc(100vw - 160px));
	aspect-ratio: 16 / 9;
	max-height: calc(100vh - 110px);
}

.lightbox-chargement .lightbox-media {
	min-width: 100px;
	min-height: 100px;
	background: url(../img/lightbox_loading.gif) center center no-repeat;
}

.lightbox-chargement .lightbox-media img {
	visibility: hidden;
}

.lightbox-titre {
	padding-top: 10px;
	max-width: calc(100vw - 160px);
}

.lightbox-nav {
	position: absolute;
	top: 0;
	width: 60px;
	height: 100%;
	padding: 0;
	border: 0;
	background: none;
	cursor: pointer;
}

.lightbox-prev {
	left: -60px;
}

.lightbox-next {
	right: -60px;
}

.lightbox-nav span {
	position: absolute;
	top: 50%;
	width: 36px;
	height: 34px;
	margin-top: -18px;
	background-image: url(../img/lightbox_sprite.png);
	opacity: 0.5;
}

.lightbox-prev span {
	left: 10px;
	background-position: 0 -36px;
}

.lightbox-next span {
	right: 10px;
	background-position: 0 -72px;
}

.lightbox-nav:hover span,
.lightbox-nav:focus-visible span {
	opacity: 1;
}

@media (max-width: 480px) {
	.lightbox-media img,
	.lightbox-media iframe,
	.lightbox-titre {
		max-width: calc(100vw - 40px);
	}

	.lightbox-media iframe {
		width: calc(100vw - 40px);
	}

	.lightbox-prev {
		left: 0;
	}

	.lightbox-next {
		right: 0;
	}
}
