/* Testimonials Slider */

/* Poppins 400, bundled locally (no Google Fonts request). */
@font-face {
	font-family: 'TSL Poppins';
	font-style: normal;
	font-weight: 400;
	font-display: swap;
	src: url(fonts/poppins-latin-ext-400-normal.woff2) format('woff2');
	unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}
@font-face {
	font-family: 'TSL Poppins';
	font-style: normal;
	font-weight: 400;
	font-display: swap;
	src: url(fonts/poppins-latin-400-normal.woff2) format('woff2');
	unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}

.tsl-slider {
	--tsl-font: 'TSL Poppins', 'Poppins', sans-serif;
	--tsl-card-bg: #FAF7F4;
	--tsl-text: #4C382E;
	--tsl-gap: 8px;
	--tsl-per-view: 4;
	position: relative;
	width: 100%;
	color: var(--tsl-text);
}

.tsl-track {
	display: flex;
	gap: var(--tsl-gap);
	margin: 0;
	padding: 0;
	list-style: none;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	scroll-behavior: smooth;
	scrollbar-width: none;
	-webkit-overflow-scrolling: touch;
}
.tsl-track::-webkit-scrollbar { display: none; }
.tsl-track:focus-visible { outline: 2px solid var(--tsl-text); outline-offset: 4px; }

.tsl-slide {
	flex: 0 0 calc((100% - (var(--tsl-per-view) - 1) * var(--tsl-gap)) / var(--tsl-per-view));
	margin: 0;
	padding: 0;
	scroll-snap-align: start;
	list-style: none;
}
.tsl-slide::before { content: none; }

.tsl-slider .tsl-card {
	display: flex;
	flex-direction: column;
	box-sizing: border-box;
	height: 100%;
	min-height: 330px;
	margin: 0;
	padding: 28px 22px 26px;
	background: var(--tsl-card-bg);
	color: var(--tsl-text);
}

.tsl-quote-mark {
	display: block;
	width: 16px;
	height: 13px;
	margin-bottom: 30px;
	color: var(--tsl-text);
}

.tsl-slider .tsl-text {
	flex: 1 1 auto;
	margin: 0;
	padding: 0;
	border: 0;
	background: none;
	quotes: none;
	font-style: normal;
}
.tsl-text::before,
.tsl-text::after { content: none; }
.tsl-slider .tsl-text p {
	margin: 0;
	font-family: var(--tsl-font);
	font-size: 16px;
	line-height: 1.6;
	font-weight: 400;
	font-style: normal;
	letter-spacing: normal;
	text-transform: none;
	color: var(--tsl-text);
}

.tsl-slider .tsl-author {
	margin: 28px 0 0;
	font-family: var(--tsl-font);
	font-size: 20px;
	line-height: 1.3;
	font-weight: 400;
	font-style: normal;
	letter-spacing: normal;
	text-transform: none;
	color: var(--tsl-text);
}

.tsl-nav {
	display: flex;
	justify-content: flex-end;
	gap: 8px;
	margin-top: 40px;
}

.tsl-slider .tsl-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 34px;
	height: 34px;
	padding: 0;
	border: 1.5px solid var(--tsl-text);
	border-radius: 50%;
	background: transparent;
	color: var(--tsl-text);
	cursor: pointer;
	box-shadow: none;
	transition: background-color .2s, opacity .2s;
}
.tsl-slider .tsl-btn:hover,
.tsl-slider .tsl-btn:focus,
.tsl-slider .tsl-btn:active {
	border-color: var(--tsl-text);
	color: var(--tsl-text);
	box-shadow: none;
}
.tsl-slider .tsl-btn:hover:not(:disabled) { background: var(--tsl-card-bg); }
.tsl-slider .tsl-btn:focus:not(:hover),
.tsl-slider .tsl-btn:disabled { background: transparent; }
.tsl-btn:focus-visible { outline: 2px solid var(--tsl-text); outline-offset: 2px; }
.tsl-btn:disabled { opacity: .35; cursor: default; }
.tsl-slider.tsl-no-scroll .tsl-nav { display: none; }

@media (max-width: 1024px) { .tsl-slider { --tsl-per-view: 3; } }
@media (max-width: 768px)  { .tsl-slider { --tsl-per-view: 2; } }
@media (max-width: 520px)  {
	.tsl-slider { --tsl-per-view: 1.15; }
	.tsl-card { min-height: 280px; }
}

@media (prefers-reduced-motion: reduce) {
	.tsl-track { scroll-behavior: auto; }
}
