/* Galerie agrandie : commandes inspirées du carrousel de témoignages. */
.lcd-gallery {
	width: min(1200px, calc(100vw - 48px));
	max-width: none;
	max-height: none;
	margin: auto;
	padding: 0;
	border: 1px solid #ded7cc;
	border-radius: 18px;
	background: #fbfaf7;
	color: #17382f;
	box-shadow: 0 18px 60px #0004;
}
.lcd-gallery::backdrop { background: rgba(10, 29, 24, .82); }
.lcd-gallery__shell { position: relative; padding: 58px 20px 16px; }
.lcd-gallery__track {
	display: flex;
	width: 100%;
	height: min(72vh, 850px);
	height: min(72dvh, 850px);
	overflow-x: auto;
	overflow-y: hidden;
	scroll-snap-type: x mandatory;
	scrollbar-width: none;
	overscroll-behavior-x: contain;
	border-radius: 10px;
	background: white;
}
.lcd-gallery__track::-webkit-scrollbar { display: none; }
.lcd-gallery__slide { flex: 0 0 100%; width: 100%; min-width: 0; height: 100%; scroll-snap-align: start; scroll-snap-stop: always; }
.lcd-gallery__slide img { display: block; width: 100%; height: 100%; max-width: none; object-fit: contain; }
.lcd-gallery__controls { display: flex; align-items: center; justify-content: center; gap: 16px; margin-top: 14px; }
.lcd-gallery button { cursor: pointer; font-family: var(--lcd-font-interface, sans-serif); }
.lcd-gallery__arrow, .lcd-gallery__close {
	display: inline-flex; align-items: center; justify-content: center;
	flex: 0 0 48px; width: 48px; height: 48px; padding: 0;
	border: 1px solid #ded7cc; border-radius: 50%; background: #f6f1e8; color: #17382f;
	font-size: 26px; line-height: 1; box-shadow: 0 6px 18px #231c171a;
}
.lcd-gallery__close { position: absolute; right: 12px; top: 6px; width: 44px; height: 44px; }
.lcd-gallery__arrow:hover, .lcd-gallery__close:hover { background: #17382f; color: #f6f1e8; }
.lcd-gallery__arrow:disabled { opacity: .35; cursor: default; }
.lcd-gallery__dots { display: flex; flex-wrap: wrap; justify-content: center; max-width: 360px; }
.lcd-gallery__dots button { display: grid; place-items: center; width: 28px; height: 36px; padding: 0; border: 0; background: transparent; }
.lcd-gallery__dots button::before { content: ''; width: 9px; height: 9px; border-radius: 50%; background: #d8c5a9; }
.lcd-gallery__dots button[aria-current="true"]::before { background: #17382f; }
.lcd-gallery__status { margin: 6px 0 0; text-align: center !important; font: 14px/1.4 var(--lcd-font-interface, sans-serif); color: #496b59; }
.lcd-gallery button:focus-visible, .lcd-gallery__track:focus-visible { outline: 2px solid #496b59; outline-offset: 3px; }
@media (max-width: 1100px) {
	.lcd-gallery { width: calc(100vw - 16px); border-radius: 12px; }
	.lcd-gallery__shell { padding: 54px 8px 12px; }
	.lcd-gallery__track { height: calc(100vh - 196px); height: calc(100dvh - 196px); }
	.lcd-gallery__controls { gap: 6px; margin-top: 10px; }
	.lcd-gallery__dots { max-width: calc(100vw - 148px); }
}
@media (max-height: 500px) {
	.lcd-gallery__shell { padding-top: 48px; padding-bottom: 8px; }
	.lcd-gallery__track { height: calc(100vh - 164px); height: calc(100dvh - 164px); }
	.lcd-gallery__status { display: none; }
}

/* Les grandes galeries gardent leurs commandes dans la hauteur de l'écran. */
.lcd-gallery__dots:has(button:nth-child(13)) {
	flex-wrap: nowrap;
	justify-content: flex-start;
	overflow-x: auto;
	min-width: 0;
}
.lcd-gallery__dots:has(button:nth-child(13)) button { flex: 0 0 28px; }
