/* Резиновая вёрстка поверх general.css старого сайта (тот рассчитан на ширину 940 px).
   ≥ 940 px  — компьютер: вёрстка старого сайта, тянется до 1000 px.
   640–939   — планшет: одна колонка, форма после текста.
   < 640 px  — телефон: то же, меню под кнопкой, шрифт крупнее. */

body {
	width:auto;
	max-width:1000px;
}

/* Телефон и почта выглядят как текст вокруг, рядом иконка «Скопировать» (только со скриптами) */
a.contact-link {
	color:inherit;
	text-decoration:none;
}
.copy-button {
	display:none;
	position:relative;
	margin:0 0 0 0.35em;
	padding:0;
	border:0;
	background:none;
	color:inherit;
	font-size:inherit;
	line-height:0;
	vertical-align:-0.12em;
	opacity:0.6;
	cursor:pointer;
}
.js .copy-button {
	display:inline-block;
}
.copy-button:hover,
.copy-button:focus-visible {
	opacity:1;
}
.copy-button svg {
	width:1em;
	height:1em;
}
.copy-button.is-copied::after {
	content:'Скопировано';
	position:absolute;
	top:calc(100% + 4px);
	/* Иконки стоят у правого края шапки и подвала: подсказка по центру уходила за край экрана */
	right:0;
	padding:3px 6px;
	border-radius:3px;
	background-color:#333;
	color:#fff;
	font:12px/1.3 Arial, sans-serif;
	white-space:nowrap;
	pointer-events:none;
	z-index:3;
}
header .phone-and-feedback .phone .copy-button {
	font-size:0.7em;
}

/* Появляются только на телефоне и планшете */
.menu-toggle,
.sticky-order {
	display:none;
}

/* ---------- планшет и телефон ---------- */
@media (max-width: 939px) {
	body {
		font-size:11px;
	}
	/* iOS увеличивает страницу при вводе в поле со шрифтом меньше 16 px */
	input,
	textarea,
	footer input {
		font-size:16px;
	}

	/* Шапка: логотип, слоган с кнопкой, телефон в строку; ссылки под ними */
	header {
		display:flex;
		flex-wrap:wrap;
		align-items:center;
		justify-content:space-between;
		padding:0 0 10px;
	}
	header .logo,
	header .slogan-and-order,
	header .links,
	header .phone-and-feedback {
		float:none;
	}
	header .slogan-and-order {
		top:0;
		padding:10px 0 0;
	}
	header .slogan-and-order .order-button {
		padding:12px 0 0;
	}
	header .links {
		order:1;
		box-sizing:border-box;
		width:100%;
		margin:8px 0 0;
		padding:0 16px;
		text-align:center;
	}
	header .clearfix {
		display:none;
	}
	.copy-button {
		padding:10px;
		margin:-10px -10px -10px -4px;
	}
	.copy-button.is-copied::after {
		top:calc(100% - 6px);
		right:10px;
	}
	/* В подвале телефон и почта на соседних строках: зоны нажатия наезжали друг на друга,
	   и иконка телефона копировала почту. Строки с иконками раздвигаются на высоту зоны. */
	footer .copy-button {
		margin-top:0;
		margin-bottom:0;
		vertical-align:middle;
	}

	nav.main-menu {
		padding:14px 0 0;
	}
	.breadcrumbs {
		margin:15px 16px 0;
	}

	/* Колонки в одну: текст, форма, затем баннеры и списки новостей */
	#content {
		display:flex;
		flex-wrap:wrap;
		min-height:0;
	}
	#content > * {
		order:3;
		box-sizing:border-box;
		width:100%;
	}
	#content > .left {
		order:1;
	}
	#content > .right {
		order:2;
		float:none;
		width:calc(100% - 32px);
		max-width:560px;
		margin:10px auto 30px;
	}
	#content > .right:not(:has(*)) {
		display:none;
	}
	#content .left .text {
		padding:10px 16px;
	}
	/* В старых текстах у заголовков line-height в пикселях: при переносе строки наезжают друг на друга */
	#content .left h1,
	#content .left h2,
	#content .left h3 {
		line-height:1.25 !important;
	}
	/* Выключка по ширине в узкой колонке даёт дыры между словами */
	#content .left p {
		text-align:left;
	}
	#content img {
		max-width:100%;
		height:auto !important;
	}
	#content .table-scroll {
		overflow-x:auto;
		-webkit-overflow-scrolling:touch;
	}
	#content > .news-articles {
		width:50%;
		padding:20px 16px;
	}

	footer {
		/* место под кнопку «Рассчитать ДМС» */
		padding:18px 16px 90px;
	}

	.sticky-order {
		display:block;
		position:fixed;
		right:16px;
		bottom:16px;
		z-index:1;
		font-size:1.6em;
		padding:12px 20px;
		text-decoration:none;
		box-shadow:0 2px 10px rgba(0,0,0,0.3);
		transition:opacity 0.2s, visibility 0.2s;
	}
	.sticky-order.is-hidden {
		opacity:0;
		visibility:hidden;
	}
}

/* ---------- телефон ---------- */
@media (max-width: 639px) {
	body {
		font-size:12px;
	}

	/* Слоган и «Заказать подбор ДМС» прячем: их заменяет закреплённая кнопка */
	header .slogan-and-order {
		display:none;
	}
	header .logo {
		padding:10px 16px 0;
	}
	header .phone-and-feedback {
		padding:10px 16px 0;
		text-align:right;
	}
	header .phone-and-feedback .phone {
		font-size:1.6em;
	}
	header .phone-and-feedback #header_feedback_link {
		font-size:1.1em;
	}

	/* Меню под кнопкой */
	nav.main-menu {
		padding:0;
		text-align:left;
	}
	.menu-toggle {
		display:flex;
		align-items:center;
		width:100%;
		padding:12px 16px;
		border:0;
		background:none;
		color:#235c6f;
		font-size:1.4em;
		cursor:pointer;
	}
	.menu-toggle-icon {
		position:relative;
		width:18px;
		height:2px;
		margin:0 12px 0 0;
		background-color:currentColor;
		box-shadow:0 -6px 0 currentColor, 0 6px 0 currentColor;
	}
	.js nav.main-menu:not(.open) ul {
		display:none;
	}
	nav.main-menu ul {
		margin:0;
	}
	nav.main-menu ul li {
		display:block;
		margin:0;
		border-top:1px solid rgba(35,92,111,0.2);
		font-size:1.4em;
	}
	nav.main-menu ul li:after {
		display:none;
	}
	nav.main-menu ul li a {
		display:block;
		padding:12px 16px;
	}

	/* Списки клиник и страховых, карточка клиники: по одной колонке */
	#content .left .column-6 {
		float:none;
		width:100%;
	}
	#content > .news-articles {
		width:100%;
	}

	/* Форма заявки: переключатель и короткие поля — каждое на свою строку */
	#content .right .calculator .h1 {
		padding:0 0 20px 30px;
		font-size:1.9em;
	}
	#content .right .calculator #select_form_radio_group .column-6,
	#content .right .calculator .column-8,
	#content .right .calculator .column-4 {
		width:100%;
	}
	#content .right .calculator .radio-group.column-6 {
		width:83.4%;
	}

	footer .column-3,
	footer .column-4,
	footer .column-5,
	footer .label {
		float:none;
		width:100%;
		text-align:left;
	}
	footer .social-icons a {
		margin:0;
	}

	.popup {
		width:calc(100% - 32px);
		max-width:350px;
		margin:15vh auto 0;
	}
}
