.carousel-wrapper.slides-contained .nav-group {
	display: none;
}

.carousel-gallery::after {
	content: "";
	display: none;
}

.carousel .flickity-viewport {
	transition: height 500ms var(--ease-in-out-cubic);
}

.carousel-wrapper {
	position: relative;
	width: 100%;
}

.carousel-wrapper.no-cta:where(:not(.slides-contained)) {
	margin-block-start: calc(var(--size-sm) + var(--size-md));
}

.carousel-wrapper .nav-group {
	position: absolute;
	right: 0;
	top: calc(-1 * (var(--size-sm) + var(--size-md)));
}

.carousel-desktop .carousel-cell {
	width: calc((100% - (var(--gutter) * 3)) / 4);
	margin-right: var(--gutter);
}

.carousel-desktop .flickity-page-dots {
	display: none;
}

@media (max-width: 1280px) {
	.carousel-desktop .carousel-cell {
		width: calc((100% - (var(--size-xs) * 2)) / 3);
		margin-right: var(--gutter);
	}
}

@media (max-width: 1024px) {
	.carousel-desktop .carousel-cell {
		width: calc((100% - var(--gutter)) / 2);
		margin-right: var(--gutter);
	}
}

@media (max-width: 640px) {
	.carousel-wrapper .nav-group {
		display: none;
	}

	.carousel-wrapper.no-cta {
		margin-block-start: unset;
	}

	.carousel {
		display: block;
		width: calc(100% + (var(--gutter) * 2));
		overflow: hidden;
		margin-inline-start: calc(-1 * var(--gutter));
		padding-inline: var(--gutter);
		padding-block-end: var(--size-2xs);
	}

	.carousel-gallery::after {
		content: "flickity";
	}

	.carousel .flickity-viewport {
		overflow: visible;
	}

	.carousel .carousel-cell {
		width: calc(100% - var(--size-sm) - var(--gutter));
		margin-right: var(--gutter);
	}

	.carousel .flickity-page-dots {
		display: flex;
	}

	.carousel .flickity-page-dots {
		position: relative;
		margin-top: var(--size-md);
		bottom: unset;
		flex-wrap: nowrap;
		box-shadow: 0 0 0 var(--gutter) var(--color-bg);
	}

	.carousel .flickity-page-dot {
		height: 4px;
		width: 40px;
		margin: 0;
		border-radius: 0;
		height: var(--s-thin);
		width: unset;
		flex: 1;
		background-color: var(--color-fg);
		display: initial;
		position: relative;
		overflow: visible;
	}

	.carousel .flickity-page-dot::before {
		content: "";
		position: absolute;
		inset: calc(-1 * var(--size-2xs));
		cursor: pointer;
	}

	.carousel .flickity-page-dot:focus {
		outline: 0;
		box-shadow: unset;
	}
	.carousel .flickity-page-dot:focus-visible {
		outline: 0;
		box-shadow: var(--focus-primary);
		z-index: 1;
	}

	.carousel .flickity-page-dot.is-selected {
		background-color: var(--color-accent);
	}
}
