/* The native Gallery remains editable and scrollable without JavaScript. */
.wp-block-group.harfang-slider-section { width: 100%; max-width: none; margin-inline: 0; padding: clamp(1.5rem, 3vw, 3rem) 0; background: #0f2e3b; color: #fff; }
.harfang-slider-section > .harfang-slider-inner { width: 100%; max-width: none; margin-inline: 0; padding-inline: 0; }
.harfang-slider-inner > h2, .harfang-slider-inner > .harfang-slider-controls { width: min(1180px, calc(100% - 40px)); margin-inline: auto; }
.harfang-slider-section h2 { margin-block: 0 1.25rem; color: inherit; font-size: clamp(2rem, 4vw, 3.5rem); }
.harfang-slider-viewport, .wp-block-gallery.is-style-harfang-slider { --harfang-slider-gap: 20px; }
.wp-block-gallery.has-nested-images.is-style-harfang-slider {
	display: flex; flex-wrap: nowrap; gap: var(--harfang-slider-gap); overflow-x: auto; overscroll-behavior-x: contain;
	scroll-snap-type: x mandatory; border-radius: 0; margin: 0; padding: 0;
	scrollbar-width: none;
}
.wp-block-gallery.is-style-harfang-slider::-webkit-scrollbar { display: none; }
.wp-block-gallery.has-nested-images.is-style-harfang-slider > figure.wp-block-image:not(#individual-image) {
	flex: 0 0 62%; width: 62%; max-width: none; height: clamp(140px, 26vw, 400px); margin: 0;
	scroll-snap-align: center; scroll-snap-stop: always; overflow: hidden; border-radius: 22px;
}
.wp-block-gallery.has-nested-images.is-style-harfang-slider > figure.wp-block-image:not(#individual-image) img {
	display: block; width: 100%; height: 100%; flex: 1; object-fit: cover;
}
/* The full-width viewport clips neighboring photos only at the screen edges. */
.harfang-slider-viewport { width: 100%; overflow: hidden; }
.harfang-swiper.swiper { width: 62%; margin-inline: auto; overflow: visible; }
.harfang-swiper > .wp-block-gallery.is-style-harfang-slider.swiper-wrapper {
	width: 100%; height: auto; gap: 0; overflow: visible; border-radius: 0; scroll-snap-type: none;
}
.harfang-swiper > .wp-block-gallery.is-style-harfang-slider > figure.wp-block-image.swiper-slide:not(#individual-image) {
	flex: 0 0 auto; width: 100%; max-width: none; scroll-snap-align: none;
}
.harfang-slider-controls { display: flex; justify-content: flex-end; align-items: center; gap: 12px; margin-top: 12px; }
.harfang-slider-controls button { display: grid; place-items: center; width: 48px; min-height: 48px; padding: 0; border: 1px solid currentColor; border-radius: 50%; background: #f2ebd1; color: #0f2e3b; font-size: 1.5rem; cursor: pointer; }
.harfang-slider-controls button:hover { background: #bfe6f2; transform: none; }
.harfang-slider-status { min-width: 4rem; color: #fff; text-align: center; font-variant-numeric: tabular-nums; }
.harfang-swiper:focus-visible, .is-style-harfang-slider:focus-visible, .harfang-slider-controls button:focus-visible { outline: 3px solid #e65f3c; outline-offset: 4px; }
@media (max-width: 620px) {
	.harfang-slider-inner > h2, .harfang-slider-inner > .harfang-slider-controls { width: calc(100% - 24px); }
	.harfang-swiper.swiper { width: 80%; }
	.harfang-slider-viewport, .wp-block-gallery.is-style-harfang-slider { --harfang-slider-gap: 12px; }
	.wp-block-gallery.has-nested-images.is-style-harfang-slider > figure.wp-block-image:not(#individual-image) { flex-basis: 80%; width: 80%; border-radius: 16px; }
}
@media print {
	.wp-block-gallery.has-nested-images.is-style-harfang-slider { flex-wrap: wrap; overflow: visible; }
	.harfang-slider-viewport { overflow: visible; }
	.harfang-swiper.swiper { width: 100%; }
	.harfang-swiper > .swiper-wrapper { transform: none !important; }
	.wp-block-gallery.is-style-harfang-slider > [data-swiper-repeat] { display: none; }
	.harfang-slider-controls { display: none; }
}
