/* ==========================================================================
   Адаптивность сайта. Подключается после style.css (functions.php).
   Брейкпоинты темы: 70em (~1120px), 60em (~960px), 50em (~800px), 30em (~480px).
   ========================================================================== */

html {
	-webkit-text-size-adjust: 100%;
	text-size-adjust: 100%;
}

img, video, iframe, embed, object {
	max-width: 100%;
}
img {
	height: auto;
}

/* --------------------------------------------------------------------------
   Карточка новости (news-card.php): список на главной, в архивах и поиске
   -------------------------------------------------------------------------- */
.news-card {
	display: flex;
	align-items: flex-start;
	gap: 1em;
	margin: 20px auto;
	padding-bottom: 14px;
	border-bottom: 1px solid #f0f0f0;
}
.news-card__thumb {
	flex: 0 0 150px;
	width: 150px;
	line-height: 0;
}
.news-card__thumb img {
	display: block;
	width: 150px;
	height: auto;
}
.news-card__body {
	flex: 1 1 auto;
	min-width: 0;
}
.news-card__title {
	margin: 0 0 .35em;
	font-size: 1em;
	line-height: 1.3;
	font-weight: bold;
}
.news-card .news-card__title a:link,
.news-card .news-card__title a:visited {
	color: #dd2222;
}
/* style.css: .home_page a { margin-left: 20px } сдвигал каждую ссылку внутри карточки */
.home_page .news-card a {
	margin-left: 0;
}
.news-card__excerpt {
	margin: 0;
	text-align: justify;
	overflow-wrap: break-word;
}
.news-card .news-card__more:link,
.news-card .news-card__more:visited {
	display: block;
	margin-top: .6em;
	text-align: right;
	font-size: 12px;
	color: #5191df;
}

/* --------------------------------------------------------------------------
   Планшеты и телефоны: <= 960px
   -------------------------------------------------------------------------- */
@media only screen and (max-width: 60em) {
	/* в style.css стояло word-break: break-all — рвало слова посередине */
	p, li, td, h1, h2, h3, h4 {
		word-break: normal;
		overflow-wrap: break-word;
	}

	/* выравнивание по ширине в узкой колонке даёт большие пропуски между словами */
	.news-card__excerpt {
		text-align: left;
	}

	/* шапка: компактный логотип и аккуратные отступы */
	#logo {
		align-items: center;
		padding: 1.2em 1em;
	}
	#logo-img {
		flex: 0 0 auto;
		width: 96px;
		height: 96px;
		margin: 0;
		background-size: contain;
		background-position: center;
	}
	.header__title {
		margin-left: 1em;
		max-width: none;
	}

	/* длинный архив по месяцам в сайдбаре: ограничиваем высоту и прокручиваем */
	.widget_archive ul {
		max-height: 15em;
		overflow-y: auto;
		-webkit-overflow-scrolling: touch;
		margin: 0;
		padding: .4em .5em .4em 1.8em;
		border: 1px solid #e3e3e3;
		background: #fff;
	}

	/* виджет VK не шире экрана */
	#vk_groups, #vk_groups iframe {
		max-width: 100% !important;
	}

	/* крупнее зона нажатия у пунктов меню и ссылок в списках */
	#mainnav-menu a, .widget li a {
		padding-top: .35em;
		padding-bottom: .35em;
	}
}

/* --------------------------------------------------------------------------
   Телефоны: <= 480px
   -------------------------------------------------------------------------- */
@media only screen and (max-width: 30em) {
	#logo {
		padding: 1em .8em;
	}
	#logo-img {
		width: 64px;
		height: 64px;
	}
	.header__title {
		margin-left: .7em;
	}

	/* карточка новости компактнее */
	.news-card {
		gap: .7em;
		margin: 14px auto;
	}
	.news-card__thumb {
		flex-basis: 96px;
		width: 96px;
	}
	.news-card__thumb img {
		width: 96px;
	}
	.news-card__title {
		font-size: .98em;
	}
	.news-card__excerpt {
		font-size: .95em;
	}

	/* строки Bootstrap с отрицательными отступами давали горизонтальную прокрутку */
	.row {
		margin-left: 0;
		margin-right: 0;
	}

	/* формы и кнопки не шире экрана */
	input, textarea, select, .btn {
		max-width: 100%;
	}
}

/* --------------------------------------------------------------------------
   Страница «Курсы»: на ней свой <style> с .card { min-height: 551px } для двух колонок
   на компьютере. Bootstrap col-md-* переключается на одну колонку при < 992px.
   -------------------------------------------------------------------------- */
@media only screen and (max-width: 991px) {
	.card {
		min-height: 0 !important;
		padding: 16px !important;
	}
}

/* заголовки записей и страниц на телефоне */
@media only screen and (max-width: 30em) {
	.post-title, .page-title, h1.entry-title {
		font-size: 1.45em;
		line-height: 1.25;
	}
}
