/* =========================================================================
   КАРТОЧКИ ТУРОВ + СЕТКА + СЛАЙДЕР
   ========================================================================= */

.tcc-cards-grid {
	display: grid;
	grid-template-columns: repeat(var(--tcc-cols, 3), 1fr);
	gap: 24px;
}

/* --- Карточка --- */
.tcc-card {
	background: #fff;
	border: 1px solid #e6e6e6;
	border-radius: 10px;
	overflow: hidden;
	display: flex;
	flex-direction: column;
	box-shadow: 0 10px 26px rgba(15, 23, 42, .07);
	transition: transform .25s ease, box-shadow .25s ease;
	height: 100%;
}
.tcc-card:hover { transform: translateY(-4px); box-shadow: 0 18px 38px rgba(15, 23, 42, .14); }

.tcc-card__media {
	position: relative;
	display: block;
	height: 320px;
	overflow: hidden;
}
.tcc-card__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	display: block;
	transition: transform .4s ease;
}
.tcc-card:hover .tcc-card__media img { transform: scale(1.05); }
.tcc-card__noimg { display: block; width: 100%; height: 100%; background: linear-gradient(135deg, #d8e4ee, #eef2f5); }

.tcc-card__title {
	position: absolute;
	left: 0;
	bottom: 0;
	margin: 0;
	max-width: 85%;
	background: #fff;
	color: var(--tcc-ink);
	font-size: 21px;
	font-weight: 700;
	line-height: 1.28;
	padding: 16px 20px;
	border-top-right-radius: 10px;
}

.tcc-card__body {
	padding: 0 20px 20px;
	display: flex;
	flex-direction: column;
	flex-grow: 1;
}
.tcc-card__divider { height: 1px; background: var(--tcc-ink); margin: 20px 0; }

.tcc-card__meta {
	display: flex;
	flex-wrap: wrap;
	gap: 10px 22px;
	margin-bottom: 16px;
}
.tcc-card__meta-item {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-size: 16px;
	font-weight: 500;
	color: var(--tcc-ink);
}
.tcc-card__icon { display: inline-flex; width: 20px; height: 20px; color: var(--tcc-blue); }
.tcc-card__icon svg { width: 20px; height: 20px; }

.tcc-card__excerpt {
	color: var(--tcc-ink-soft);
	font-size: 15.5px;
	line-height: 1.55;
	margin: 0 0 20px;
	display: -webkit-box;
	-webkit-line-clamp: 4;
	-webkit-box-orient: vertical;
	overflow: hidden;
	flex-grow: 1;
}

.tcc-card__btn {
	display: block;
	text-align: center;
	background: var(--tcc-blue);
	color: #fff !important;
	font-size: 17px;
	font-weight: 600;
	padding: 15px 0;
	border-radius: var(--tcc-radius);
	transition: background .2s;
	margin-top: auto;
	text-decoration: none;
}
.tcc-card__btn,
.tcc-card__btn:link,
.tcc-card__btn:visited,
.tcc-card__btn:hover,
.tcc-card__btn:focus,
.tcc-card__btn:active { color: #fff !important; }
.tcc-card__btn:hover { background: var(--tcc-blue-dark); }

/* --- Слайдер карточек --- */
.tcc-cards-slider { position: relative; display: flex; align-items: center; gap: 6px; --tcc-vis: var(--tcc-cols, 3); }
.tcc-cards-slider__viewport { overflow: hidden; flex: 1 1 auto; min-width: 0; width: 100%; }
.tcc-cards-slider__track {
	display: flex;
	gap: 24px;
	transition: transform .35s ease;
	will-change: transform;
}
.tcc-cards-slider__slide { flex: 0 0 calc((100% - (var(--tcc-vis) - 1) * 24px) / var(--tcc-vis)); box-sizing: border-box; }
/* Стрелки — как у отзывов/статей: плоские галочки «❮ ❯» без рамки/фона, цвет бренда. */
.tcc-cards-slider__nav {
	position: static;
	flex: 0 0 auto;
	width: auto !important;
	height: auto !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: none !important;
	box-shadow: none !important;
	color: var(--tcc-blue, #015e9f) !important;
	font-size: 0 !important;
	line-height: 1;
	padding: 0 8px !important;
	cursor: pointer;
	z-index: 5;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: color .2s;
}
.tcc-cards-slider__nav::before { font-size: 34px; font-weight: 700; line-height: 1; color: inherit; }
.tcc-cards-slider__nav.tcc-prev::before { content: "\276E"; }   /* ❮ */
.tcc-cards-slider__nav.tcc-next::before { content: "\276F"; }   /* ❯ */
.tcc-cards-slider__nav:hover { background: none !important; color: #004a7f !important; }
.tcc-cards-slider__nav svg { display: none !important; }
.tcc-cards-slider__nav:disabled { opacity: .3; cursor: default; background: none !important; color: var(--tcc-blue, #015e9f) !important; }

@media (max-width: 1024px) {
	.tcc-cards-grid { grid-template-columns: repeat(2, 1fr); }
	.tcc-cards-slider { --tcc-vis: 2; }
}
@media (max-width: 640px) {
	.tcc-cards-grid { grid-template-columns: 1fr; }
	/* Мобильный слайдер: 1 карточка на всю ширину, стрелки — оверлеем поверх фото, чтобы не сужать карточку. */
	.tcc-cards-slider { --tcc-vis: 1; display: block; position: relative; gap: 0; }
	.tcc-cards-slider__viewport { width: 100%; }
	.tcc-cards-slider__nav {
		position: absolute; top: 130px; transform: translateY(-50%);
		width: 40px !important; height: 40px !important; border-radius: 50% !important;
		background: rgba(255, 255, 255, .9) !important; box-shadow: 0 2px 10px rgba(0, 0, 0, .22) !important;
		padding: 0 !important; z-index: 6;
	}
	.tcc-cards-slider__nav::before { font-size: 24px; }
	.tcc-cards-slider__nav.tcc-prev { left: 8px; }
	.tcc-cards-slider__nav.tcc-next { right: 8px; }
	.tcc-cards-slider__nav:hover { background: #fff !important; }
	.tcc-cards-slider__nav:disabled { opacity: 0 !important; pointer-events: none; }
	.tcc-card__media { height: 260px; }
	.tcc-card__title { font-size: 18px; }
}

/* Кнопка «Смотреть все» под слайдером — центрируем на ВСЕХ страницах (home.css грузится только на главной). */
.tcc-popular__more { text-align: center; margin-top: 40px; }
