/* [aros_cards] structure: grid and scroll-snap carousel. Visual card styles live in the theme. */
.aros-cards {
	--aros-cards-gap: 24px;
	position: relative;
}
.aros-cards__track {
	display: grid;
	grid-template-columns: repeat(var(--aros-cards-cols, 3), minmax(0, 1fr));
	gap: var(--aros-cards-gap);
}
.aros-cards--carousel .aros-cards__track {
	display: flex;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	scroll-behavior: smooth;
	scrollbar-width: none;
	-webkit-overflow-scrolling: touch;
}
.aros-cards--carousel .aros-cards__track::-webkit-scrollbar {
	display: none;
}
.aros-cards--carousel .aros-card {
	flex: 0 0 calc((100% - (var(--aros-cards-cols, 3) - 1) * var(--aros-cards-gap)) / var(--aros-cards-cols, 3));
	scroll-snap-align: start;
}
.aros-cards__nav {
	position: absolute;
	top: 50%;
	display: grid;
	place-items: center;
	width: 40px;
	height: 40px;
	padding: 0;
	font-size: 26px;
	line-height: 1;
	cursor: pointer;
	transform: translateY(-50%);
	z-index: 1;
}
.aros-cards__nav--prev { left: -20px; }
.aros-cards__nav--next { right: -20px; }
.aros-cards__filter {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 6px 22px;
	margin: 0 0 28px;
}
.aros-cards__filter-btn {
	padding: 6px 0;
	border: 0;
	border-bottom: 2px solid transparent;
	background: transparent;
	font: inherit;
	font-size: 14px;
	cursor: pointer;
	color: inherit;
}
.aros-cards__filter-btn.is-active {
	border-bottom-color: currentColor;
}
.aros-card[hidden] {
	display: none;
}
.aros-cards__nav[disabled] {
	opacity: .35;
	cursor: default;
}
.aros-cards__dots {
	display: flex;
	justify-content: center;
	gap: 8px;
	margin-top: 20px;
}
.aros-cards__dots:empty {
	display: none;
}
.aros-cards__dot {
	width: 8px;
	height: 8px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: rgba(0, 48, 80, .25);
	cursor: pointer;
}
@media (max-width: 1024px) {
	.aros-cards__track { grid-template-columns: repeat(var(--aros-cards-cols-tablet, 2), minmax(0, 1fr)); }
	.aros-cards--carousel .aros-card {
		flex-basis: calc((100% - (var(--aros-cards-cols-tablet, 2) - 1) * var(--aros-cards-gap)) / var(--aros-cards-cols-tablet, 2));
	}
	.aros-cards__nav--prev { left: 0; }
	.aros-cards__nav--next { right: 0; }
}
@media (max-width: 767px) {
	.aros-cards { --aros-cards-gap: 16px; }
	.aros-cards__track { grid-template-columns: repeat(var(--aros-cards-cols-mobile, 1), minmax(0, 1fr)); }
	.aros-cards--carousel .aros-card {
		flex-basis: calc((100% - (var(--aros-cards-cols-mobile, 1) - 1) * var(--aros-cards-gap)) / var(--aros-cards-cols-mobile, 1));
	}
	.aros-cards__nav { display: none; }
}
