/* Slider layout (Pro). Works without JS via scroll-snap; JS adds arrows and dots. */
.tgr--slider { position: relative; }
.tgr--slider .tgr__track {
	display: flex;
	gap: var(--tgr-gap);
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	scroll-behavior: smooth;
	-webkit-overflow-scrolling: touch;
	scrollbar-width: none;
	padding-bottom: .25rem;
}
.tgr--slider .tgr__track::-webkit-scrollbar { display: none; }
.tgr--slider .tgr__card {
	flex: 0 0 calc((100% - (var(--tgr-cols, 3) - 1) * var(--tgr-gap)) / var(--tgr-cols, 3));
	scroll-snap-align: start;
}
.tgr__viewport { position: relative; }
.tgr__arrow {
	position: absolute;
	top: 50%;
	z-index: 2;
	width: 34px;
	height: 34px;
	transform: translateY(-50%);
	border-radius: 50%;
	border: 1px solid var(--tgr-border);
	background: var(--tgr-bg);
	color: var(--tgr-fg);
	font-size: 1.15rem;
	line-height: 1;
	padding: 0;
	cursor: pointer;
	box-shadow: 0 2px 8px rgba(0, 0, 0, .25);
}
.tgr__arrow--prev { left: -14px; }
.tgr__arrow--next { right: -14px; }
.tgr__arrow:hover, .tgr__arrow:focus-visible { border-color: var(--tgr-accent); color: var(--tgr-accent); }
.tgr__arrow:disabled { display: none; }
@media (max-width: 1100px) {
	.tgr--slider .tgr__card { flex-basis: calc((100% - (min(var(--tgr-cols, 3), 3) - 1) * var(--tgr-gap)) / min(var(--tgr-cols, 3), 3)); }
}
@media (max-width: 900px) {
	.tgr--slider .tgr__card { flex-basis: calc((100% - var(--tgr-gap)) / 2); }
}
@media (max-width: 600px) {
	.tgr--slider .tgr__card { flex-basis: 100%; }
}

@media (prefers-reduced-motion: reduce) {
	.tgr--slider .tgr__track { scroll-behavior: auto; }
}
