/*
 * Case-studies carousel layout, ported from FinalWebsite/case-studies.html.
 * Keep the cards on a horizontal flex track; the viewport clips off-screen
 * cards while the page template translates the track with its controls.
 */
#case-studies {
	scroll-margin-top: 100px;
}

.case-tablist,
.case-track {
	-ms-overflow-style: none;
	scrollbar-width: none;
}

.case-tablist::-webkit-scrollbar,
.case-track::-webkit-scrollbar {
	display: none;
}

.case-tab[aria-selected="true"] {
	background: #003b8c;
	border-color: #003b8c;
	color: #ffffff;
	box-shadow: 0 12px 24px rgba(0, 59, 140, 0.18);
}

.case-tab[aria-selected="false"] {
	background: #ffffff;
	color: #434652;
}

.case-tab[aria-selected="false"]:hover {
	background: #f0f4fc;
	color: #003b8c;
}

.case-tab[aria-selected="true"]:focus-visible,
.case-tab[aria-selected="false"]:focus-visible,
.case-arrow:focus-visible {
	outline: 2px solid #003b8c;
	outline-offset: 3px;
}

.case-arrow:disabled {
	cursor: not-allowed;
	opacity: 0.38;
	transform: none;
}

.case-panel[hidden] {
	display: none !important;
}

.case-track {
	scroll-behavior: smooth;
	scroll-snap-type: x mandatory;
	transition: transform 300ms ease;
	will-change: transform;
}

.case-track > .case-card {
	flex: 0 0 100%;
	scroll-snap-align: start;
	scroll-snap-stop: always;
}

@media (min-width: 768px) {
	.case-track > .case-card {
		flex-basis: calc((100% - 1.5rem) / 2);
	}
}

@media (min-width: 1280px) {
	.case-track > .case-card {
		flex-basis: calc((100% - 3rem) / 3);
	}
}
