/*******************************************
 *** Блог: /blog/ и /blog/<статья>/
 *** Подключается поверх legal.css — оттуда
 *** берутся белое полотно, шапка-полоса,
 *** типографика текста и хлебные крошки.
 *******************************************/

/* Список статей шире полотна правовых страниц: карточки идут в два ряда. */
.page-blog main.legal {
	max-width: 1100px;
}

.page-blog .legal-con {
	padding-bottom: 80px;
}


/* ---------- Шапка раздела ---------- */

.blog-head {
	margin-bottom: 44px;
}

.blog-lead {
	font-size: 17px;
	line-height: 1.65;
	color: #56626b;
	max-width: 700px;
	margin: 14px 0 0 0;
}


/* ---------- Карточки ---------- */

.blog-cards {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
	gap: 26px;
}

/* Селектор с .legal-con — чтобы перебить общее правило ссылок оттуда:
   без этого вся карточка целиком оказывается подчёркнутой. */
.legal-con .blog-card {
	display: flex;
	flex-direction: column;
	background: #fff;
	border: 1px solid #e6eaec;
	border-radius: 4px;
	overflow: hidden;
	text-decoration: none;
	color: #2b3237;
	transition: transform .22s cubic-bezier(.2,.7,.3,1), box-shadow .22s cubic-bezier(.2,.7,.3,1);
}

.legal-con .blog-card:hover {
	transform: translateY(-4px);
	box-shadow: 0 12px 30px rgba(40, 50, 56, .12);
}

@media (prefers-reduced-motion: reduce) {
	.legal-con .blog-card {
		transition: none;
	}
	.legal-con .blog-card:hover {
		transform: none;
	}
}

.blog-card__media {
	display: block;
	position: relative;
	/* Место под обложку резервируем заранее, иначе карточки прыгают при загрузке. */
	aspect-ratio: 16 / 9;
	background: #eef1f2;
	overflow: hidden;
}

.blog-card__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.blog-card__ph {
	display: block;
	width: 100%;
	height: 100%;
	background: linear-gradient(135deg, #e8edee, #f6f8f8);
}

.blog-card__body {
	display: flex;
	flex-direction: column;
	gap: 8px;
	padding: 20px 22px 22px 22px;
	flex: 1 1 auto;
}

.blog-card__body strong {
	font-size: 17px;
	line-height: 1.35;
	color: #283238;
	font-weight: 600;
}

.blog-card:hover .blog-card__body strong {
	color: #055749;
}

.blog-card__text {
	font-size: 14px;
	line-height: 1.6;
	color: #6b767d;
}

.blog-card__date {
	margin-top: auto;
	padding-top: 8px;
	font-size: 13px;
	color: #98a1a7;
}

.blog-empty {
	border: 1px dashed #cfd6d9;
	border-radius: 4px;
	padding: 50px 30px;
	text-align: center;
	color: #6b767d;
}

.blog-empty h2 {
	margin-top: 0;
}


/* ---------- Страница статьи ---------- */

/* ace-framework.css задаёт article, наравне с section и main,
   min-width: 1240px, padding: 0 20px и overflow: hidden — и на узких экранах
   сбрасывает это только для section/footer/header/nav. Без сброса текст
   статьи обрезался справа, причём молча: страница даже не прокручивалась. */
.page-blog .post {
	width: 100%;
	min-width: 0;
	max-width: 760px;
	padding: 0;
	overflow: visible;
}

.post__meta {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	align-items: center;
	font-size: 13px;
	color: #98a1a7;
	margin: 0 0 26px 0;
	padding-bottom: 22px;
	border-bottom: 1px solid #e6eaec;
}

.post__meta span[aria-hidden] {
	color: #c9d0d4;
}

.post__cover {
	width: 100%;
	height: auto;
	aspect-ratio: 16 / 9;
	object-fit: cover;
	border-radius: 4px;
	margin: 0 0 28px 0;
}

.post__intro {
	font-size: 17px;
	line-height: 1.7;
	color: #3d474e;
	border-left: 3px solid #055749;
	padding-left: 20px;
	margin: 0 0 28px 0;
}

.page-blog .post h3 {
	font-size: 16px;
	color: #283238;
	margin: 24px 0 6px 0;
}


/* ---------- Таблицы внутри статьи ---------- */

.post .table-wrap {
	overflow-x: auto;
	margin: 0 0 20px 0;
}

.post table {
	width: 100%;
	border-collapse: collapse;
	font-size: 14px;
}

.post th,
.post td {
	border: 1px solid #e6eaec;
	padding: 10px 14px;
	text-align: left;
	vertical-align: top;
}

.post th {
	background: #f4f6f7;
	color: #283238;
	font-weight: 600;
}


/* ---------- Призыв и кнопка ---------- */

.post__cta {
	margin: 46px 0 0 0;
	padding: 30px 32px;
	background: #f4f6f7;
	border-left: 3px solid #055749;
}

.post__cta h2 {
	margin-top: 0;
}

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

.blog-btn {
	display: inline-block;
	background: #055749;
	color: #fff !important;
	text-decoration: none !important;
	padding: 14px 28px;
	font-size: 14px;
	text-transform: uppercase;
	letter-spacing: .04em;
	transition: background-color .18s ease;
}

.blog-btn:hover {
	background: #03382f;
	color: #fff !important;
}

.post__back {
	margin: 44px 0 0 0;
	padding-top: 26px;
	border-top: 1px solid #e6eaec;
}

.post__back a {
	text-decoration: none;
	font-weight: 600;
}


/* ---------- Телефоны ---------- */

@media screen and (max-width: 700px) {
	.blog-cards {
		grid-template-columns: 1fr;
		gap: 20px;
	}

	.post__cta {
		padding: 24px 20px;
	}

	.post__intro {
		font-size: 16px;
		padding-left: 16px;
	}
}
