/* @font-face — SFT Schrifted Sans */
@font-face {
	font-family: 'SFT Schrifted Sans';
	src: url('/wp-content/uploads/2025/10/SFTSchriftedSansTRIAL-Medium.ttf') format('truetype');
	font-weight: 500;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'SFT Schrifted Sans';
	src: url('/wp-content/uploads/2025/10/SFTSchriftedSansTRIAL-DemiBold.ttf') format('truetype');
	font-weight: 600;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'SFT Schrifted Sans';
	src: url('/wp-content/uploads/2025/10/SFTSchriftedSansTRIAL-ExtraBold.ttf') format('truetype');
	font-weight: 800;
	font-style: normal;
	font-display: swap;
}

/* =============================================
   HERO BANNER — страница направления
   ============================================= */
.ts-hero {
	font-family: var(--ts-font);
	max-width: var(--ts-max-width);
	margin: 0 auto;
	padding: 20px 40px;
}

.ts-hero__inner {
	position: relative;
	overflow: hidden;
	border-radius: 25px;
	background: linear-gradient(104deg, #e4f6fb 4%, #a1c861 143%);
	min-height: 400px;
	display: flex;
	align-items: center;
}

.ts-hero__content {
	position: relative;
	z-index: 2;
	padding: 50px;
	width: 50%;
	flex-shrink: 0;
	display: flex;
	flex-direction: column;
	gap: 19px;
}

.ts-hero__title {
	font-size: 45px;
	font-weight: 600;
	color: var(--ts-dark);
	line-height: 1.18;
	margin: 0;
}

.ts-hero__desc {
	font-size: 18px;
	font-weight: 500;
	color: var(--ts-dark);
	line-height: 1.5;
	margin: 0;
}

/* Теги услуг */
.ts-hero__tags {
	display: flex;
	flex-wrap: wrap;
	gap: 7px;
}

.ts-hero__tag {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	background: #fff;
	border-radius: 49px;
	padding: 8px 16px;
	font-size: 14px;
	font-weight: 500;
	color: var(--ts-cyan);
	text-decoration: none;
	letter-spacing: -0.14px;
	transition: box-shadow .2s, transform .15s;
	white-space: nowrap;
}

.ts-hero__tag:hover {
	box-shadow: 0 4px 12px rgba(25,156,213,.2);
	transform: translateY(-1px);
}

/* Кнопки */
.ts-hero__buttons {
	display: flex;
	gap: 15px;
	flex-wrap: wrap;
	margin-top: 5px;
}

.ts-hero__btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	padding: 14px 24px;
	border-radius: 70px;
	font-size: 18px;
	font-weight: 600;
	text-decoration: none;
	white-space: nowrap;
	transition: opacity .2s, transform .15s;
}

.ts-hero__btn:hover {
	opacity: .9;
	transform: translateY(-1px);
}

.ts-hero__btn--primary {
	background: var(--ts-cyan);
	color: #fff;
}

.ts-hero__btn--whatsapp {
	background: #a1c861;
	color: #fff;
}

/* Визуальная часть */
.ts-hero__visual {
	position: relative;
	flex: 1;
	min-width: 0;
	display: flex;
	align-items: center;
	justify-content: flex-end;
	overflow: visible;
}

.ts-hero__photo {
	display: block;
	max-height: 450px;
	width: auto;
	object-fit: contain;
	pointer-events: none;
	margin-right: -20px;
	border-radius: 20px;
}

/* Бейдж цены */
.ts-hero__price-badge {
	position: absolute;
	left: 20%;
	bottom: -40px;
	width: 180px;
	height: 180px;
	border-radius: 50%;
	background: #fff;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 2px;
	box-shadow: 0 8px 30px rgba(0,0,0,.08);
	z-index: 3;
}

.ts-hero__price-label {
	font-size: 24px;
	font-weight: 600;
	color: var(--ts-dark);
	line-height: 1.2;
}

.ts-hero__price-value {
	font-size: 28px;
	font-weight: 700;
	color: var(--ts-cyan);
	line-height: 1.2;
}

/* =============================================
   RESPONSIVE
   ============================================= */
@media (max-width: 1024px) {
	.ts-hero {
		padding: 0 20px;
	}

	.ts-hero__content {
		max-width: 55%;
		padding: 40px;
	}

	.ts-hero__title {
		font-size: 28px;
	}

	.ts-hero__desc {
		font-size: 16px;
	}

	.ts-hero__visual {
		width: 50%;
	}

	.ts-hero__price-badge {
		width: 150px;
		height: 150px;
		right: 30%;
	}

	.ts-hero__price-label {
		font-size: 20px;
	}

	.ts-hero__price-value {
		font-size: 24px;
	}
}

@media (max-width: 768px) {
	.ts-hero {
		padding: 10px 16px;
	}

	.ts-hero__inner {
		flex-direction: column;
		min-height: auto;
		border-radius: 18px;
	}

	.ts-hero__content {
		width: 100%;
		max-width: 100%;
		padding: 24px 20px;
		gap: 14px;
	}

	.ts-hero__title {
		font-size: 24px;
	}

	.ts-hero__desc {
		font-size: 15px;
	}

	.ts-hero__buttons {
		flex-direction: column;
		gap: 10px;
	}

	.ts-hero__btn {
		width: 100%;
		text-align: center;
		font-size: 15px;
		padding: 12px 20px;
	}

	.ts-hero__visual {
		position: relative;
		width: 100%;
		min-height: 80px;
		display: flex;
		align-items: center;
		justify-content: center;
		padding: 16px 20px;
		gap: 16px;
	}

	.ts-hero__photo {
		max-height: 180px;
		width: auto;
		max-width: calc(100% - 130px);
		border-radius: 14px;
		object-fit: cover;
	}

	.ts-hero__price-badge {
		position: static;
		width: 110px;
		height: 110px;
		flex-shrink: 0;
	}

	.ts-hero__price-label {
		font-size: 14px;
	}

	.ts-hero__price-value {
		font-size: 16px;
	}

	.ts-hero__tags {
		gap: 5px;
	}

	.ts-hero__tag {
		font-size: 13px;
		padding: 6px 12px;
	}
}

/* =============================================
   SERVICES GRID — карточки услуг
   ============================================= */
.ts-services-grid {
	font-family: var(--ts-font);
	max-width: var(--ts-max-width);
	margin: 0 auto;
	padding: 50px 40px 0;
}

.ts-services-grid__inner {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 25px;
}

h2.ts-services-grid__title {
	font-size: 45px;
	font-weight: 600;
	color: var(--ts-dark);
	letter-spacing: -0.45px;
	margin: 0;
	width: 100%;
}

h2.ts-services-grid__title span {
	font-weight: 600;
}

.ts-services-grid__cards {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 20px;
	width: 100%;
}

/* Карточка */
.ts-scard {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	background: #f5f7f9;
	border-radius: 25px;
	padding: 20px 24px;
	min-height: 220px;
	text-decoration: none;
	color: var(--ts-dark);
	position: relative;
	overflow: hidden;
	transition: box-shadow .2s, transform .15s;
}

.ts-scard:hover {
	box-shadow: 0 8px 30px rgba(0,0,0,.07);
	transform: translateY(-3px);
}

.ts-scard--hidden {
	display: none;
}

.ts-scard__title {
	font-size: 18px;
	font-weight: 600;
	line-height: 1.4;
	color: var(--ts-dark);
	padding-right: 50px;
}

.ts-scard__arrow {
	position: absolute;
	top: 0;
	right: 0;
	transition: transform .2s;
}

.ts-scard:hover .ts-scard__arrow {
	transform: translate(3px, -3px);
}

.ts-scard__tooth {
	margin-top: auto;
}

/* Кнопка "Show more" */
.ts-services-grid__more {
	display: flex;
	justify-content: center;
}

.ts-services-grid__btn {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	background: var(--ts-cyan);
	color: #fff;
	border: none;
	border-radius: 70px;
	padding: 14px 24px;
	font-size: 18px;
	font-weight: 600;
	font-family: var(--ts-font);
	cursor: pointer;
	transition: opacity .2s;
}

.ts-services-grid__btn:hover {
	opacity: .85;
}

.ts-services-grid__btn svg {
	width: 18px;
	height: 10px;
}

/* RESPONSIVE */
@media (max-width: 1024px) {
	.ts-services-grid {
		padding: 40px 20px 0;
	}

	h2.ts-services-grid__title {
		font-size: 36px;
	}

	.ts-services-grid__cards {
		grid-template-columns: repeat(3, 1fr);
	}
}

@media (max-width: 768px) {
	h2.ts-services-grid__title {
		font-size: 28px;
	}

	.ts-services-grid__cards {
		grid-template-columns: repeat(2, 1fr);
		gap: 12px;
	}

	.ts-scard {
		min-height: 180px;
		padding: 16px 18px;
		border-radius: 18px;
	}

	.ts-scard__title {
		font-size: 18px;
		padding-right: 40px;
	}

	.ts-scard__arrow {
		width: 40px;
		height: 40px;
	}
}

@media (max-width: 480px) {
	.ts-services-grid {
		padding: 30px 16px 0;
	}

	h2.ts-services-grid__title {
		font-size: 24px;
	}

	.ts-services-grid__cards {
		grid-template-columns: 1fr;
	}

	.ts-scard {
		min-height: 150px;
	}

	.ts-services-grid__btn {
		font-size: 16px;
		padding: 12px 20px;
	}
}

/* =============================================
   CONTENT SECTION — основной контент + сайдбар
   ============================================= */
.ts-content-section {
	font-family: var(--ts-font);
	max-width: var(--ts-max-width);
	margin: 0 auto;
	padding: 50px 40px 20px;
}

.ts-content-section__inner {
	display: flex;
	gap: 40px;
	align-items: flex-start;
}

/* Основной контент */
.ts-content__main {
	flex: 1;
	min-width: 0;
	font-family: 'SFT Schrifted Sans', var(--ts-font);
}

.ts-content__main h2 {
	font-family: 'SFT Schrifted Sans', var(--ts-font);
	font-size: 34px;
	font-weight: 600;
	color: var(--ts-dark);
	letter-spacing: -0.34px;
	margin: 0 0 20px;
	padding-top: 30px;
}

.ts-content__main h2:first-child {
	padding-top: 0;
}

.ts-content__main h3 {
	font-family: 'SFT Schrifted Sans', var(--ts-font);
	font-size: 24px;
	font-weight: 600;
	color: var(--ts-dark);
	margin: 30px 0 16px;
}

.ts-content__main p {
	font-family: 'SFT Schrifted Sans', var(--ts-font);
	font-size: 18px;
	font-weight: 500;
	color: var(--ts-dark);
	line-height: 27px;
	margin: 0 0 16px;
}

.ts-content__main p:last-child {
	margin-bottom: 0;
}

.ts-content__main a {
	color: var(--ts-cyan);
	text-decoration: underline;
	text-underline-offset: 3px;
}

.ts-content__main a:hover {
	text-decoration: none;
}

.ts-content__main ul {
	padding-left: 20px;
	margin: 0 0 16px;
}

.ts-content__main ol {
	list-style: none;
	counter-reset: ol-counter;
	padding-left: 0;
	margin: 0 0 16px;
}

.ts-content__main ol > li {
	counter-increment: ol-counter;
	font-size: 18px;
	line-height: 27px;
	color: var(--ts-dark);
	margin-bottom: 15px;
	font-weight: 500;
	padding-left: 40px;
	position: relative;
}

.ts-content__main ol > li::before {
	content: counter(ol-counter, decimal-leading-zero);
	position: absolute;
	left: 0;
	top: 2px;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 26px;
	height: 26px;
	border-radius: 50%;
	background: var(--ts-cyan);
	color: #fff;
	font-family: 'SFT Schrifted Sans', var(--ts-font);
	font-size: 14px;
	font-weight: 600;
	line-height: 1;
}

.ts-content__main li {
	font-size: 18px;
	line-height: 1.5;
	color: var(--ts-dark);
	margin-bottom: 10px;
}

.ts-content__main li strong,
.ts-content__main li b {
	font-weight: 600;
}

.ts-content__main img {
	max-width: 100%;
	height: auto;
	border-radius: 20px;
	margin: 10px 0;
}

/* Сайдбар — оглавление */
.ts-content__sidebar {
	width: 316px;
	flex-shrink: 0;
	position: sticky;
	top: 100px;
}

.ts-toc {
	background: #f5f7f9;
	border-radius: 20px;
	overflow: hidden;
}

.ts-toc__title {
	font-size: 22px;
	font-weight: 600;
	color: var(--ts-dark);
	padding: 18px 30px 12px;
	margin: 0;
}

.ts-toc__nav {
	display: flex;
	flex-direction: column;
}

.ts-toc__link {
	display: block;
	padding: 10px 30px;
	font-size: 16px;
	font-weight: 600;
	color: var(--ts-dark);
	text-decoration: none;
	transition: background .15s, color .15s;
}

.ts-toc__link:hover {
	background: rgba(25,156,213,.05);
	color: var(--ts-cyan);
}

.ts-toc__link.is-active {
	background: var(--ts-footer-bg);
	color: var(--ts-cyan);
}

/* RESPONSIVE */
@media (max-width: 1024px) {
	.ts-content-section {
		padding: 40px 20px 50px;
	}

	.ts-content__sidebar {
		width: 260px;
	}

	.ts-content__main h2 {
		font-size: 28px;
	}
}

@media (max-width: 768px) {
	.ts-content-section__inner {
		flex-direction: column;
	}

	.ts-content__sidebar {
		width: 100%;
		position: static;
		order: -1;
	}

	.ts-toc__nav {
		flex-direction: row;
		flex-wrap: wrap;
		padding: 0 16px 12px;
		gap: 6px;
	}

	.ts-toc__link {
		padding: 8px 14px;
		font-size: 14px;
		background: #fff;
		border-radius: 20px;
	}

	.ts-content__main h2 {
		font-size: 28px;
	}

	.ts-content__main p,
	.ts-content__main ul li {
		font-size: 16px;
	}

	.ts-content__main ol > li {
		font-size: 16px;
		line-height: 24px;
		padding-left: 36px;
	}

	.ts-content__main ol > li::before {
		width: 24px;
		height: 24px;
		font-size: 12px;
	}
}

@media (max-width: 480px) {
	.ts-content-section {
		padding: 30px 16px 40px;
	}

	.ts-content__main h2 {
		font-size: 24px;
	}
}

/* Pricing moved to shared file: assets/css/blocks-pricing.css */

/* =============================================
   ВРАЧИ — карусель
   ============================================= */
.ts-doctors {
	padding: 0 40px 60px;
}

.ts-doctors__inner {
	max-width: var(--ts-max-width);
	margin: 0 auto;
	background: var(--ts-cyan);
	border-radius: 25px;
	padding: 50px 64px 60px;
	overflow: hidden;
}

.ts-doctors__top {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 30px;
	margin-bottom: 40px;
}

.ts-doctors__info {
	display: flex;
	flex-direction: column;
	gap: 20px;
	max-width: 700px;
}

h2.ts-doctors__title {
	font-size: 45px;
	font-weight: 600;
	color: #fff !important;
	letter-spacing: -0.45px;
	margin: 0;
	line-height: 1.1;
}

.ts-doctors__desc {
	font-size: 18px;
	line-height: 1.5;
	color: #fff;
	margin: 0;
}

.ts-doctors__controls {
	display: flex;
	align-items: center;
	gap: 5px;
	flex-shrink: 0;
}

.ts-doctors__arrow {
	background: none !important;
	border: none;
	padding: 0;
	cursor: pointer;
	transition: opacity .2s;
	line-height: 0;
	outline: none;
}

.ts-doctors__arrow:hover,
.ts-doctors__arrow:focus,
.ts-doctors__arrow:active {
	opacity: .7;
	background: none !important;
}

.ts-doctors__view-all {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: #a1c861;
	color: #fff;
	border: 2px solid #a1c861;
	border-radius: 30px;
	padding: 14px 26px;
	font-size: 17px;
	font-weight: 600;
	font-family: var(--ts-font);
	text-decoration: none;
	white-space: nowrap;
	margin-left: 10px;
	transition: opacity .2s;
}

.ts-doctors__view-all:hover {
	opacity: .85;
	color: #fff;
}

/* Трек */
.ts-doctors__track-wrap {
	overflow: hidden;
}

.ts-doctors__track {
	display: flex;
	gap: 21px;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	scrollbar-width: none;
	-ms-overflow-style: none;
}

.ts-doctors__track::-webkit-scrollbar {
	display: none;
}

/* Карточка врача */
.ts-dcard {
	flex: 0 0 calc((100% - 42px) / 3);
	background: #fff;
	border-radius: 20px;
	overflow: hidden;
	text-decoration: none;
	scroll-snap-align: start;
	transition: box-shadow .25s, transform .25s;
}

.ts-dcard:hover {
	box-shadow: 0 8px 30px rgba(0,0,0,.12);
	transform: translateY(-3px);
}

.ts-dcard__photo {
	position: relative;
	width: 100%;
	aspect-ratio: 400 / 350;
	overflow: hidden;
	border-radius: 20px;
	background: #d4d4d4;
}

.ts-dcard__photo > img:first-child {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: top center;
	display: block;
}

.ts-dcard__flags {
	position: absolute;
	top: 12px;
	right: 16px;
	display: flex;
	gap: 6px;
}

.ts-dcard__flag {
	width: 30px;
	height: 20px;
	object-fit: cover;
	border-radius: 3px;
	box-shadow: 0 1px 4px rgba(0,0,0,.15);
}

.ts-dcard__body {
	padding: 18px 20px 14px;
	display: flex;
	flex-direction: column;
	gap: 6px;
}

h3.ts-dcard__name {
	font-size: 22px;
	font-weight: 600;
	color: var(--ts-orient) !important;
	margin: 0;
	line-height: 19px;
}

.ts-dcard__spec {
	font-size: 15.6px;
	font-weight: 400;
	color: var(--ts-dark);
	line-height: 19px;
}

.ts-dcard__langs {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-top: 6px;
}

.ts-dcard__lang {
	display: inline-flex;
	align-items: center;
	gap: 2px;
	background: #f5f5f5;
	border-radius: 33px;
	padding: 4px 12px;
	font-size: 13px;
	font-weight: 600;
	color: var(--ts-dark);
	text-transform: lowercase;
	white-space: nowrap;
}

/* RESPONSIVE */
@media (max-width: 1024px) {
	.ts-doctors {
		padding: 0 20px 50px;
	}

	.ts-doctors__inner {
		padding: 40px 30px 45px;
	}

	h2.ts-doctors__title {
		font-size: 28px;
	}

	.ts-dcard {
		flex: 0 0 calc((100% - 21px) / 2);
	}
}

@media (max-width: 768px) {
	.ts-doctors__top {
		flex-direction: column;
		gap: 20px;
	}

	.ts-doctors__inner {
		padding: 30px 20px 35px;
		border-radius: 18px;
	}

	h2.ts-doctors__title {
		font-size: 24px;
	}

	.ts-doctors__desc {
		font-size: 16px;
	}

	.ts-dcard {
		flex: 0 0 280px;
	}

	.ts-dcard__name {
		font-size: 19px;
	}
}

@media (max-width: 480px) {
	.ts-doctors {
		padding: 0 16px 40px;
	}

	.ts-doctors__inner {
		padding: 24px 16px 30px;
	}

	.ts-dcard {
		flex: 0 0 260px;
	}
}

/* =============================================
   ПРЕИМУЩЕСТВА — Why Families Trust True Smile
   ============================================= */
.ts-advantages {
	padding: 0 40px 60px;
}

.ts-advantages__inner {
	max-width: var(--ts-max-width);
	margin: 0 auto;
	display: flex;
	flex-direction: column;
	gap: 40px;
}

h2.ts-advantages__title {
	font-size: 45px;
	font-weight: 600;
	color: var(--ts-dark) !important;
	letter-spacing: -0.45px;
	margin: 0;
}

.ts-advantages__subtitle {
	font-size: 18px;
	line-height: 27px;
	font-weight: 500;
	color: var(--ts-dark);
	margin: -20px 0 0;
	max-width: 700px;
}

.ts-advantages__grid {
	display: flex;
	flex-wrap: wrap;
	gap: 22px 28px;
}

/* Карточка — общее */
.ts-adv-card {
	background: #f5f7f9;
	border-radius: 20px;
	padding: 21px;
	position: relative;
	overflow: hidden;
	display: flex;
	justify-content: space-between;
}

.ts-adv-card--sm {
	width: calc((100% - 56px) / 3);
	min-height: 185px;
}

.ts-adv-card--lg {
	width: calc((100% - 28px) / 2);
	min-height: 175px;
}

.ts-adv-card__text {
	display: flex;
	flex-direction: column;
	gap: 12px;
	position: relative;
	z-index: 1;
}

.ts-adv-card__heading {
	font-size: 18px;
	font-weight: 500;
	color: var(--ts-dark);
	line-height: 21px;
	margin: 0;
	max-width: 170px;
}

.ts-adv-card__heading strong {
	font-weight: 700;
}

.ts-adv-card--lg .ts-adv-card__heading {
	max-width: none;
}

.ts-adv-card__desc {
	font-size: 16px;
	font-weight: 500;
	color: var(--ts-dark);
	line-height: 21px;
	margin: 0;
	max-width: 293px;
}

/* Иконка в круге */
.ts-adv-card__icon {
	width: 56px;
	height: 56px;
	border-radius: 50%;
	background: var(--ts-cyan);
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
}

/* Фоновая иконка для больших карточек */
.ts-adv-card__bg-icon {
	position: absolute;
	right: 20px;
	top: -25px;
	width: 190px;
	height: 190px;
	opacity: 1;
	pointer-events: none;
}

/* Награды */
.ts-adv-card__awards {
	display: flex;
	align-items: center;
	padding-right: 8px;
}

.ts-adv-card__award {
	width: 86px;
	min-width: 86px;
	height: 86px;
	border-radius: 50%;
	border: 2px solid var(--ts-cyan);
	background: #fff;
	object-fit: cover;
	padding: 0;
	margin-right: -25px;
	box-shadow: 2px 0 4px rgba(0,0,0,.08);
}

.ts-adv-card__award:last-child {
	margin-right: 0;
}

/* Рейтинг */
.ts-adv-card__rating {
	display: flex;
	align-items: stretch;
	gap: 6px;
}

.ts-adv-card__score {
	font-size: 87px;
	font-weight: 600;
	color: var(--ts-cyan);
	line-height: 0.85;
	letter-spacing: -0.87px;
}

.ts-adv-card__score-right {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	padding: 2px 0 4px;
}

.ts-adv-card__score-max {
	font-size: 26px;
	font-weight: 600;
	color: var(--ts-cyan);
	letter-spacing: -0.26px;
	line-height: 1;
}

.ts-adv-card__reviews {
	font-size: 14px;
	font-weight: 500;
	color: #000;
	margin: 0;
	letter-spacing: -0.14px;
	white-space: nowrap;
}

.ts-adv-card__reviews a {
	color: var(--ts-cyan);
}

/* RESPONSIVE */
@media (max-width: 1024px) {
	.ts-advantages {
		padding: 0 20px 50px;
	}

	h2.ts-advantages__title {
		font-size: 36px;
	}

	.ts-adv-card--sm {
		width: calc((100% - 28px) / 2);
	}

	.ts-adv-card--lg {
		width: 100%;
	}

	.ts-adv-card__score {
		font-size: 64px;
	}
}

@media (max-width: 768px) {
	h2.ts-advantages__title {
		font-size: 28px;
	}

	.ts-advantages__grid {
		flex-wrap: nowrap;
		overflow-x: auto;
		scroll-snap-type: x mandatory;
		-webkit-overflow-scrolling: touch;
		gap: 14px;
		padding-bottom: 10px;
	}

	.ts-advantages__grid::-webkit-scrollbar {
		height: 4px;
	}

	.ts-advantages__grid::-webkit-scrollbar-track {
		background: #e8ecef;
		border-radius: 4px;
	}

	.ts-advantages__grid::-webkit-scrollbar-thumb {
		background: var(--ts-cyan);
		border-radius: 4px;
	}

	.ts-adv-card--sm {
		min-width: 260px;
		width: 260px;
		flex-shrink: 0;
		scroll-snap-align: start;
	}

	.ts-adv-card--lg {
		min-width: 85vw;
		width: 85vw;
		flex-shrink: 0;
		scroll-snap-align: start;
	}

	.ts-adv-card__bg-icon {
		width: 130px;
		height: 130px;
		right: 10px;
		top: -15px;
	}

	.ts-adv-card__award {
		width: 70px;
		min-width: 70px;
		height: 70px;
	}

	.ts-adv-card__score {
		font-size: 52px;
	}
}

@media (max-width: 480px) {
	.ts-advantages {
		padding: 0 16px 40px;
	}

	h2.ts-advantages__title {
		font-size: 24px;
	}

	.ts-advantages__inner {
		gap: 25px;
	}

	.ts-adv-card__award {
		width: 60px;
		min-width: 60px;
		height: 60px;
		padding: 0;
	}
}

/* =============================================
   CTA — форма обратного звонка
   ============================================= */
.ts-cta {
	padding: 0 40px 60px;
}

.ts-cta__inner {
	max-width: var(--ts-max-width);
	margin: 0 auto;
	background: #a1c861;
	border-radius: 25px;
	padding: 50px 65px 60px;
	position: relative;
	overflow: hidden;
}

.ts-cta__content {
	position: relative;
	z-index: 1;
}

h2.ts-cta__title {
	font-size: 45px;
	font-weight: 600;
	color: #fff !important;
	letter-spacing: -0.45px;
	margin: 0 0 20px;
	line-height: 1.1;
}

.ts-cta__desc {
	font-size: 18px;
	line-height: 27px;
	font-weight: 500;
	color: #fff;
	margin: 0 0 30px;
}

.ts-cta__form {
	display: flex;
	flex-direction: column;
	gap: 10px;
	width: 400px;
}

.ts-cta__input {
	width: 100%;
	height: 60px;
	border: none;
	border-radius: 48px;
	padding: 12px 24px;
	font-size: 18px;
	font-weight: 600;
	font-family: var(--ts-font);
	color: var(--ts-dark);
	background: #fff;
	outline: none;
}

.ts-cta__input::placeholder {
	color: #bcbcbc;
	font-weight: 600;
}

.ts-cta__submit {
	width: 100%;
	height: 64px;
	border: 2px solid #fff;
	border-radius: 30px;
	background: #a1c861;
	color: #fff;
	font-size: 18px;
	font-weight: 600;
	font-family: var(--ts-font);
	cursor: pointer;
	transition: background .2s, opacity .2s;
}

.ts-cta__submit:hover {
	background: #8fb854 !important;
}

/* JetForm в CTA секции */
.ts-cta__form .jet-fb-form-block {
	width: 100%;
}

.ts-cta__form .jet-form-builder {
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.ts-cta__form .wp-block-group.is-layout-grid {
	display: flex !important;
	flex-direction: column !important;
	gap: 10px;
	margin: 0 !important;
	padding: 0 !important;
}

.ts-cta__form .jet-form-builder-row {
	padding: 0;
	margin: 0;
}

.ts-cta__form .jet-form-builder__field.text-field,
.ts-cta__form .jet-form-builder__field.select-field {
	width: 100%;
	height: 60px;
	border: none;
	border-radius: 48px;
	padding: 12px 24px;
	font-size: 18px;
	font-weight: 600;
	font-family: var(--ts-font);
	color: var(--ts-dark);
	background: #fff;
	outline: none;
	-webkit-appearance: none;
	appearance: none;
}

.ts-cta__form .jet-form-builder__field.text-field::placeholder {
	color: #bcbcbc;
	font-weight: 600;
}

.ts-cta__form .jet-form-builder__field.select-field {
	color: #bcbcbc;
}

.ts-cta__form .jet-form-builder__field.select-field:valid:not([value=""]) {
	color: var(--ts-dark);
}

.ts-cta__form .field-type-checkbox-field {
	margin-top: 2px;
}

.ts-cta__form .jet-form-builder__field-label.for-checkbox span {
	color: #fff !important;
	font-size: 14px;
	font-family: var(--ts-font);
	line-height: 1.3;
}

.ts-cta__form .jet-form-builder__field-label.for-checkbox span a {
	color: #fff !important;
	text-decoration: underline;
}

.ts-cta__form .jet-form-builder__field.checkboxes-field {
	accent-color: #a1c861;
}

.ts-cta__form .jet-form-builder__submit-wrap {
	width: 100%;
}

.ts-cta__form .jet-form-builder__action-button {
	width: 100%;
	height: 64px;
	border: 2px solid #fff;
	border-radius: 30px;
	background: #a1c861;
	color: #fff;
	font-size: 18px;
	font-weight: 600;
	font-family: var(--ts-font);
	cursor: pointer;
	transition: background .2s, opacity .2s;
	display: flex !important;
	justify-content: center !important;
	align-items: center;
}

.ts-cta__form .jet-form-builder__action-button:hover {
	background: #8fb854 !important;
}

.ts-cta__form .jet-form-builder-messages-wrap .jet-form-builder-message--success {
	border-color: #fff;
	color: #fff;
	border-radius: 12px;
}

.ts-cta__form .jet-form-builder-messages-wrap .jet-form-builder-message--error {
	border-color: #ff6b6b;
	color: #fff;
	background: rgba(255,0,0,.15);
	border-radius: 12px;
}

.ts-cta__smile {
	position: absolute;
	right: 60px;
	bottom: 30px;
	width: 520px;
	height: auto;
	pointer-events: none;
}

/* RESPONSIVE */
@media (max-width: 1024px) {
	.ts-cta {
		padding: 0 20px 50px;
	}

	.ts-cta__inner {
		padding: 40px 30px 45px;
	}

	h2.ts-cta__title {
		font-size: 28px;
	}

	.ts-cta__form {
		width: 100%;
		max-width: 400px;
	}

	.ts-cta__smile {
		width: 400px;
		right: 20px;
	}
}

@media (max-width: 768px) {
	.ts-cta__inner {
		padding: 30px 20px 35px;
		border-radius: 18px;
	}

	h2.ts-cta__title {
		font-size: 28px;
	}

	.ts-cta__content {
		max-width: 100%;
	}

	.ts-cta__form {
		max-width: 100%;
	}

	.ts-cta__smile {
		display: none;
	}
}

@media (max-width: 480px) {
	.ts-cta {
		padding: 0 16px 40px;
	}

	h2.ts-cta__title {
		font-size: 24px;
	}

	.ts-cta__input {
		height: 52px;
		font-size: 16px;
	}

	.ts-cta__submit {
		height: 56px;
		font-size: 16px;
	}

	.ts-cta__form .jet-form-builder__field.text-field,
	.ts-cta__form .jet-form-builder__field.select-field {
		height: 52px;
		font-size: 16px;
	}

	.ts-cta__form .jet-form-builder__action-button {
		height: 56px;
		font-size: 16px;
	}
}

/* =============================================
   FAQ — аккордеон + сайдбар
   ============================================= */
.ts-faq {
	padding: 0 40px 60px;
}

.ts-faq__inner {
	max-width: var(--ts-max-width);
	margin: 0 auto;
	display: flex;
	flex-direction: column;
	gap: 40px;
}

h2.ts-faq__title {
	font-size: 45px;
	font-weight: 600;
	color: var(--ts-dark) !important;
	letter-spacing: -0.45px;
	margin: 0;
}

.ts-faq__layout {
	display: flex;
	gap: 30px;
	align-items: flex-start;
}

/* Список вопросов */
.ts-faq__list {
	flex: 1;
	display: flex;
	flex-direction: column;
	gap: 15px;
	min-width: 0;
}

.ts-faq__item {
	background: #f5f7f9;
	border-radius: 25px;
}

.ts-faq__question {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	width: 100%;
	padding: 24px 33px;
	background: none !important;
	border: none;
	cursor: pointer;
	font-family: var(--ts-font);
	font-size: 20px;
	font-weight: 600;
	color: var(--ts-dark);
	text-align: left;
	letter-spacing: -0.48px;
	line-height: 1.4;
}

.ts-faq__question span {
	flex: 1;
	min-width: 0;
	white-space: normal;
	overflow-wrap: break-word;
}

.ts-faq__chevron {
	flex-shrink: 0;
	transition: transform .3s;
}

.ts-faq__item.is-open .ts-faq__chevron {
	transform: rotate(180deg);
}

.ts-faq__answer {
	display: none;
	padding: 0 33px 30px;
	font-size: 18px;
	line-height: 1.5;
	color: var(--ts-dark);
	letter-spacing: -0.18px;
}

.ts-faq__answer p {
	margin: 0;
}

.ts-faq__item.is-open .ts-faq__answer {
	display: block;
}

/* Сайдбар */
.ts-faq__sidebar {
	width: 446px;
	flex-shrink: 0;
	background: var(--ts-cyan);
	border-radius: 25px;
	padding: 25px 26px 30px;
	display: flex;
	flex-direction: column;
	gap: 10px;
	position: sticky;
	top: 100px;
}

h3.ts-faq__sidebar-title {
	font-size: 28px;
	font-weight: 600;
	color: #fff !important;
	letter-spacing: -0.28px;
	margin: 0 0 10px;
}

.ts-faq__sidebar-form {
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.ts-faq__sidebar-input {
	width: 100%;
	height: 60px;
	border: none;
	border-radius: 48px;
	padding: 12px 24px;
	font-size: 18px;
	font-weight: 600;
	font-family: var(--ts-font);
	color: var(--ts-dark);
	background: #fff;
	outline: none;
	-webkit-appearance: none;
	appearance: none;
}

.ts-faq__sidebar-input::placeholder {
	color: #bcbcbc;
	font-weight: 600;
}

.ts-faq__sidebar-select {
	color: #bcbcbc;
	background-image: url("data:image/svg+xml,%3Csvg width='12' height='8' viewBox='0 0 12 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1.5L6 6.5L11 1.5' stroke='%23bcbcbc' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 24px center;
	padding-right: 48px;
}

.ts-faq__sidebar-select:valid {
	color: var(--ts-dark);
}

.ts-faq__sidebar-btn {
	width: 100%;
	height: 64px;
	border: 2px solid #a1c861;
	border-radius: 30px;
	background: #a1c861 !important;
	color: #fff;
	font-size: 18px;
	font-weight: 600;
	font-family: var(--ts-font);
	cursor: pointer;
	transition: opacity .2s;
}

.ts-faq__sidebar-btn:hover {
	opacity: .85;
	background: #a1c861 !important;
}

/* JetForm в FAQ sidebar */
.ts-faq__sidebar-form .jet-fb-form-block {
	width: 100%;
}

.ts-faq__sidebar-form .jet-form-builder {
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.ts-faq__sidebar-form .wp-block-group.is-layout-grid {
	display: flex !important;
	flex-direction: column !important;
	gap: 10px;
	margin: 0 !important;
	padding: 0 !important;
}

.ts-faq__sidebar-form .jet-form-builder-row {
	padding: 0;
	margin: 0;
}

.ts-faq__sidebar-form .jet-form-builder__field.text-field,
.ts-faq__sidebar-form .jet-form-builder__field.select-field {
	width: 100%;
	height: 60px;
	border: none;
	border-radius: 48px;
	padding: 12px 24px;
	font-size: 18px;
	font-weight: 600;
	font-family: var(--ts-font);
	color: var(--ts-dark);
	background: #fff;
	outline: none;
	-webkit-appearance: none;
	appearance: none;
}

.ts-faq__sidebar-form .jet-form-builder__field.text-field::placeholder {
	color: #bcbcbc;
	font-weight: 600;
}

.ts-faq__sidebar-form .jet-form-builder__field.select-field {
	color: #bcbcbc;
}

.ts-faq__sidebar-form .field-type-checkbox-field {
	margin-top: 2px;
}

.ts-faq__sidebar-form .jet-form-builder__field-label.for-checkbox span {
	color: #fff !important;
	font-size: 14px;
	font-family: var(--ts-font);
	line-height: 1.3;
}

.ts-faq__sidebar-form .jet-form-builder__field-label.for-checkbox span a {
	color: #fff !important;
	text-decoration: underline;
}

.ts-faq__sidebar-form .jet-form-builder__field.checkboxes-field {
	accent-color: #a1c861;
}

.ts-faq__sidebar-form .jet-form-builder__submit-wrap {
	width: 100%;
}

.ts-faq__sidebar-form .jet-form-builder__action-button {
	width: 100%;
	height: 64px;
	border: 2px solid #a1c861;
	border-radius: 30px;
	background: #a1c861 !important;
	color: #fff;
	font-size: 18px;
	font-weight: 600;
	font-family: var(--ts-font);
	cursor: pointer;
	transition: opacity .2s;
	display: flex !important;
	justify-content: center !important;
	align-items: center;
}

.ts-faq__sidebar-form .jet-form-builder__action-button:hover {
	opacity: .85;
}

.ts-faq__sidebar-form .jet-form-builder-messages-wrap .jet-form-builder-message--success {
	border-color: #fff;
	color: #fff;
	border-radius: 12px;
}

.ts-faq__sidebar-form .jet-form-builder-messages-wrap .jet-form-builder-message--error {
	border-color: #ff6b6b;
	color: #fff;
	background: rgba(255,0,0,.15);
	border-radius: 12px;
}

.ts-faq__sidebar-or {
	text-align: center;
	font-size: 20px;
	font-weight: 600;
	color: #fff;
}

.ts-faq__sidebar-wa {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	width: 100%;
	height: 55px;
	background: #fff;
	border-radius: 48px;
	font-size: 18px;
	font-weight: 600;
	color: #a1c861;
	text-decoration: none;
	transition: opacity .2s;
}

.ts-faq__sidebar-wa:hover {
	opacity: .85;
	color: #a1c861;
}

/* RESPONSIVE */
@media (max-width: 1024px) {
	.ts-faq {
		padding: 0 20px 50px;
	}

	h2.ts-faq__title {
		font-size: 28px;
	}

	.ts-faq__sidebar {
		width: 360px;
	}

	.ts-faq__question {
		font-size: 20px;
		padding: 24px 25px;
	}
}

@media (max-width: 768px) {
	.ts-faq__layout {
		flex-direction: column;
	}

	h2.ts-faq__title {
		font-size: 28px;
	}

	h3.ts-faq__sidebar-title {
		font-size: 22px;
	}

	.ts-faq__sidebar {
		width: 100%;
		position: static;
		border-radius: 18px;
	}

	.ts-faq__item {
		border-radius: 18px;
	}

	.ts-faq__question {
		font-size: 18px;
		padding: 20px;
	}

	.ts-faq__answer {
		padding: 0 20px 20px;
		font-size: 16px;
	}
}

@media (max-width: 480px) {
	.ts-faq {
		padding: 0 16px 40px;
	}

	.ts-faq__inner {
		gap: 25px;
	}

	h2.ts-faq__title {
		font-size: 24px;
	}

	h3.ts-faq__sidebar-title {
		font-size: 20px;
	}

	.ts-faq__question {
		font-size: 16px;
	}
}

/* =============================================
   ОТЗЫВЫ — TrustIndex виджет
   ============================================= */
.ts-reviews {
	padding: 0 40px 60px;
}

.ts-reviews__inner {
	max-width: var(--ts-max-width);
	margin: 0 auto;
	background: #fef9e7;
	border-radius: 25px;
	padding: 50px 50px 40px;
}

h2.ts-reviews__title {
	font-size: 45px;
	font-weight: 600;
	color: var(--ts-dark) !important;
	letter-spacing: -0.45px;
	margin: 0 0 15px;
}

.ts-reviews__desc {
	font-size: 18px;
	line-height: 27px;
	font-weight: 500;
	color: var(--ts-dark);
	margin: 0 0 10px;
}

@media (max-width: 1024px) {
	.ts-reviews {
		padding: 0 20px 50px;
	}

	h2.ts-reviews__title {
		font-size: 28px;
	}
}

@media (max-width: 768px) {
	.ts-reviews {
		padding: 0 16px 40px;
	}

	.ts-reviews__inner {
		padding: 24px 16px 20px;
		border-radius: 18px;
	}

	h2.ts-reviews__title {
		font-size: 24px;
		margin: 0 0 8px;
	}

	.ts-reviews__desc {
		font-size: 15px;
		line-height: 22px;
		margin: 0 0 6px;
	}
}

/* =============================================
   БЛОГ — карусель
   ============================================= */
.ts-blog {
	padding: 0 40px 60px;
}

.ts-blog__inner {
	max-width: var(--ts-max-width);
	margin: 0 auto;
}

.ts-blog__top {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 30px;
	margin-bottom: 40px;
}

.ts-blog__info {
	display: flex;
	flex-direction: column;
	gap: 20px;
	max-width: 670px;
}

h2.ts-blog__title {
	font-size: 45px;
	font-weight: 600;
	color: var(--ts-dark) !important;
	letter-spacing: -0.45px;
	margin: 0;
}

.ts-blog__desc {
	font-size: 18px;
	line-height: 27px;
	font-weight: 500;
	color: var(--ts-dark);
	margin: 0;
}

.ts-blog__controls {
	display: flex;
	align-items: center;
	gap: 5px;
	flex-shrink: 0;
}

.ts-blog__arrow {
	background: none !important;
	border: none;
	padding: 0;
	cursor: pointer;
	transition: opacity .2s;
	line-height: 0;
	outline: none;
}

.ts-blog__arrow:hover,
.ts-blog__arrow:focus,
.ts-blog__arrow:active {
	opacity: .7;
	background: none !important;
}

.ts-blog__view-all {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: #a1c861;
	color: #fff;
	border: 2px solid #a1c861;
	border-radius: 30px;
	padding: 14px 26px;
	font-size: 17px;
	font-weight: 600;
	font-family: var(--ts-font);
	text-decoration: none;
	white-space: nowrap;
	margin-left: 10px;
	transition: opacity .2s;
}

.ts-blog__view-all:hover {
	opacity: .85;
	color: #fff;
}

/* Трек */
.ts-blog__track-wrap {
	overflow: hidden;
}

.ts-blog__track {
	display: flex;
	gap: 11px;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	scrollbar-width: none;
	-ms-overflow-style: none;
}

.ts-blog__track::-webkit-scrollbar {
	display: none;
}

/* Карточка поста */
.ts-bcard {
	flex: 0 0 calc((100% - 22px) / 3);
	text-decoration: none;
	scroll-snap-align: start;
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.ts-bcard__image {
	position: relative;
	width: 100%;
	aspect-ratio: 445 / 365;
	border-radius: 22px;
	overflow: hidden;
	background: #d4d4d4;
}

.ts-bcard__image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.ts-bcard__tag {
	position: absolute;
	top: 15px;
	left: 15px;
	background: #fff;
	border-radius: 44px;
	padding: 6px 12px;
	font-size: 14px;
	font-weight: 400;
	color: var(--ts-dark);
	line-height: 1.4;
	letter-spacing: -0.14px;
}

h3.ts-bcard__title {
	font-size: 21px;
	font-weight: 500;
	color: var(--ts-dark) !important;
	margin: 0;
	line-height: 1.3;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.ts-bcard__more {
	font-size: 14px;
	font-weight: 700;
	color: var(--ts-yellow);
}

.ts-bcard:hover .ts-bcard__image img {
	transform: scale(1.03);
	transition: transform .3s;
}

/* RESPONSIVE */
@media (max-width: 1024px) {
	.ts-blog {
		padding: 0 20px 50px;
	}

	h2.ts-blog__title {
		font-size: 28px;
	}

	.ts-bcard {
		flex: 0 0 calc((100% - 11px) / 2);
	}
}

@media (max-width: 768px) {
	.ts-blog__top {
		flex-direction: column;
		gap: 20px;
	}

	h2.ts-blog__title {
		font-size: 24px;
	}

	.ts-bcard {
		flex: 0 0 300px;
	}
}

@media (max-width: 480px) {
	.ts-blog {
		padding: 0 16px 40px;
	}

	.ts-bcard {
		flex: 0 0 260px;
	}
}
