/* Carousels on lazarus-blocks Snap Carousel (core/group), replacing kindling/carousel
 * 2026-10-14. Same look as the old Splide rules:
 * - Home features (wp_block 58) + Industries hub (179): start aligned with the
 *   old Splide inset (54px / 49px), opening on card 1, nav above,
 *   stacked list at <=781 (the old Splide flattening breakpoint).
 * - About timeline (132): 3 / 2 / 1.05 up, start aligned, nav below; nav hides
 *   itself when all three fit.
 * - Home testimonial (55): one up, dots below, no arrows. */
/* Colour knobs go on the section: the nav is the track's sibling, not its child. */
.cmp-home-features,
.cmp-industries-carousel,
.cmp-about-timeline {
	--lazarus-snap-nav-color: var(--wp--preset--color--theme-06);
	--lazarus-snap-dot: #363c4d;
}

.cmp-home-features .lazarus-snap-carousel-nav__dot[aria-current="true"]::before,
.cmp-industries-carousel .lazarus-snap-carousel-nav__dot[aria-current="true"]::before,
.cmp-about-timeline .lazarus-snap-carousel-nav__dot[aria-current="true"]::before,
.cmp-home-testimonial .lazarus-snap-carousel-nav__dot[aria-current="true"]::before {
	opacity: 1;
}

/* Features + industries: 2.2 up desktop, 1.5 up tablet. Card widths match the
 * old Splide track, which sat inside root padding + its arrow gutters
 * (measured on live 2026-10-14: 589px @1440, 534px @900; 100% here is the
 * padded content box). */
.cmp-home-features .lazarus-snap-carousel,
.cmp-industries-carousel .lazarus-snap-carousel {
	--lazarus-snap-card: calc((100% + 2px - 38.4px) / 2.2);
	padding-inline: 54px;
	scroll-padding-inline: 54px;
}

.cmp-home-features .lazarus-snap-carousel-nav,
.cmp-industries-carousel .lazarus-snap-carousel-nav {
	margin-top: 51px;
	margin-bottom: 32px;
}

/* Room the Splide container kept under the cards. */
.cmp-home-features .lazarus-snap-carousel,
.cmp-industries-carousel .lazarus-snap-carousel {
	margin-bottom: 55px !important;
}

.cmp-industries-carousel .lazarus-snap-carousel > .cmp-card {
	display: flex;
	flex-direction: column;
}

.cmp-industries-carousel .lazarus-snap-carousel > .cmp-card > .wp-block-buttons {
	margin-block-start: auto;
	padding-top: var(--wp--preset--spacing--40);
}

@media (max-width: 1024px) {

	.cmp-home-features .lazarus-snap-carousel,
	.cmp-industries-carousel .lazarus-snap-carousel {
		--lazarus-snap-card: calc((100% - 1px) / 1.5);
		gap: 24px;
		padding-inline: 49px;
		scroll-padding-inline: 49px;
		margin-bottom: 67px !important;
	}

	.cmp-industries-carousel .lazarus-snap-carousel {
		margin-bottom: 50px !important;
	}
}

@media (max-width: 781px) {

	.cmp-home-features .lazarus-snap-carousel,
	.cmp-industries-carousel .lazarus-snap-carousel {
		flex-direction: column;
		overflow: visible;
		scroll-snap-type: none;
		margin-bottom: 0 !important;
		padding-inline: 0;
	}

	.cmp-industries-carousel .lazarus-snap-carousel {
		margin-left: 0 !important;
		margin-right: 0 !important;
	}

	.cmp-home-features .lazarus-snap-carousel::before,
	.cmp-home-features .lazarus-snap-carousel::after,
	.cmp-industries-carousel .lazarus-snap-carousel::before,
	.cmp-industries-carousel .lazarus-snap-carousel::after {
		content: none;
	}

	.cmp-home-features .lazarus-snap-carousel > *,
	.cmp-industries-carousel .lazarus-snap-carousel > * {
		flex: 0 0 auto;
		width: 100%;
	}

	.cmp-home-features .lazarus-snap-carousel-nav,
	.cmp-industries-carousel .lazarus-snap-carousel-nav {
		display: none;
	}

	.cmp-home-features .lazarus-snap-carousel {
		gap: 8px;
	}

	.cmp-industries-carousel .lazarus-snap-carousel {
		gap: 14px;
	}

	.cmp-home-features .lazarus-snap-carousel img {
		width: 100%;
		height: 187px;
		object-fit: cover;
	}
}

/* About timeline: inset 24px so cards sit where the Splide track had them
 * (40-46px from the viewport edge). */
.cmp-about-timeline .lazarus-snap-carousel {
	--lazarus-snap-card: calc((100% - 64px) / 3);
	margin: 54px 24px !important;
}

.cmp-about-timeline .lazarus-snap-carousel > .cmp-card {
	display: flex;
	flex-direction: column;
}

.cmp-about-timeline .lazarus-snap-carousel-nav {
	margin-top: 10px;
}

@media (max-width: 1024px) {

	.cmp-about-timeline .lazarus-snap-carousel {
		--lazarus-snap-card: calc((100% - 32px) / 2);
		margin-top: 49px !important;
		margin-bottom: 0 !important;
	}
}

@media (max-width: 781px) {

	.cmp-about-timeline .lazarus-snap-carousel {
		margin-top: 45px !important;
	}

	.cmp-about-timeline .lazarus-snap-carousel-nav {
		margin-top: 77px;
	}
}

@media (max-width: 768px) {

	.cmp-about-timeline .lazarus-snap-carousel {
		--lazarus-snap-card: calc((100% - 1.6px) / 1.05);
	}
}

/* Home testimonial: one quote per slide, small dots under the author line. */
.cmp-home-testimonial .lazarus-snap-carousel {
	--lazarus-snap-card: 100%;
}

.cmp-home-testimonial {
	--lazarus-snap-nav-color: var(--wp--preset--color--theme-06);
	--lazarus-snap-dot: var(--wp--preset--color--theme-05);
}

.cmp-home-testimonial .lazarus-snap-carousel-nav {
	margin-top: 18px;
}

/* The Splide container's 55px arrow gutter sat above the quote on desktop;
 * mobile dropped it (cmp-mobile-markup pin 70). */
@media (min-width: 782px) {

	.cmp-home-testimonial .lazarus-snap-carousel {
		margin-top: 55px !important;
	}
}

.cmp-home-testimonial .lazarus-snap-carousel-nav__dot {
	width: 16px;
	height: 16px;
}

.cmp-home-testimonial .lazarus-snap-carousel-nav__dot::before {
	width: 8px;
	height: 8px;
}
