

/* Start:/local/templates/vine/css/contacts-page.css?17873133511934*/
/*
	Страница «Контакты» (макет 2011:18486) — блоки, у которых нет своего
	компонента: заголовок, вводный текст, реквизиты и «Для СМИ».

	Секции с компонентами описаны в style.css своих шаблонов:
	news.list/contacts-offices, form.result.new/contacts,
	subscribe.edit/contacts-subscribe.

	Кегли заголовков пишутся с `.vine-main`, иначе общее правило
	`.vine-h2, .vine-main h2` перебивает макетное значение.
*/

.vine-main .contacts-title {
	margin: 0 0 var(--vine-gap);
	font-size: 48px;
	font-weight: 400;
	line-height: normal;
}

.contacts-intro {
	max-width: 1248px;
}

.contacts-intro p {
	margin: 0;
	font-size: 18px;
	line-height: normal;
	color: #000;
}

/* --------------------------------------------- Реквизиты (2011:18608) */

.contacts-requisites {
	display: flex;
	flex-direction: column;
	gap: 16px;
	align-items: flex-start;
	max-width: 1248px;
}

.vine-main .contacts-requisites__title {
	margin: 0;
	font-size: 40px;
	font-weight: 400;
	line-height: normal;
}

.contacts-requisites__body {
	display: flex;
	flex-direction: column;
	gap: 16px;
	align-items: flex-start;
	width: 100%;
}

.contacts-requisites__body p {
	margin: 0;
	font-size: 18px;
	line-height: normal;
	color: #000;
}

/* ---------------------------------------------- Для СМИ (2023:9599) */

.contacts-media {
	display: flex;
	flex-direction: column;
	gap: 16px;
	align-items: flex-start;
	max-width: 1248px;
}

.vine-main .contacts-media__title {
	margin: 0;
	font-size: 40px;
	font-weight: 400;
	line-height: normal;
}

.contacts-media__links {
	display: flex;
	gap: 32px;
	align-items: flex-start;
	width: 100%;
}

.contacts-media__links a {
	font-size: 18px;
	line-height: normal;
	color: #0077ff;
	text-decoration: underline;
}

/* End */


/* Start:/local/templates/vine/css/contacts-modal.css?17873146455499*/
/* =========================================================================
   ОБОЛОЧКА МОДАЛКИ «Контакты — Город» (макет 2023:13109).

   Здесь только каркас окна: подложка, само окно 1280x986, кнопка закрытия,
   шапка с ней и служебное скрытие неактивных панелей городов.
   Содержимое (заголовок, вкладки, панель офиса, карта, карусель
   сотрудников) размечает и оформляет шаблон компонента
   news.list/contacts-city — его классы в этом файле не описаны.

   Разметку подложки и окна строит на лету js/contacts-modal.js вокруг
   контейнера [data-contacts-modal], который уже стоит на странице.

   Габариты макета (узел 2023:13109):
     окно            1280 x 986, белое, padding 16, без рамки и скругления;
     кнопка закрытия 2063:17660 — 32x32, рамка 1px #000, радиус 5,
                     иконка 24x24, отступы сверху и справа по 16;
     контент         2023:13111 — 1248 x 912, начинается на y=58,
                     то есть 16 (padding) + 32 (кнопка) + 10 (зазор).

   ВНЕ МАКЕТА: затемнённой подложки в макете нет — сделана
   rgba(0, 0, 0, 0.4), это решение вёрстки, а не значение из Figma.
   ========================================================================= */

/* ------------------------------------------------------------- подложка */

.contacts-modal {
	position: fixed;
	inset: 0;
	z-index: 1000;
	display: flex;
	align-items: flex-start;
	justify-content: center;
	overflow: auto;
	padding: 16px 0;
	background: rgba(0, 0, 0, 0.4);
}

.contacts-modal[hidden] {
	display: none;
}

/* Пока окно открыто, страница под ним не прокручивается.
   Класс вешает скрипт на <html> и <body>. */
.contacts-modal__body-lock {
	overflow: hidden;
}

/* ----------------------------------------------------------------- окно */

.contacts-modal__window {
	display: flex;
	flex-direction: column;
	gap: 10px;
	width: 1280px;
	max-width: 100%;
	min-height: 986px;
	margin: auto;
	padding: 16px;
	background: var(--vine-color-bg, #FFFFFF);
	font-family: var(--vine-font, "Roboto", "Helvetica Neue", Arial, sans-serif);
	font-size: var(--vine-fz-text, 18px);
	line-height: normal;
	color: var(--vine-color-text, #000000);
}

/* Шапка 32px: в макете в ней только кнопка закрытия, прижатая вправо. */
.contacts-modal__head {
	display: flex;
	flex: 0 0 auto;
	align-items: center;
	justify-content: flex-end;
	width: 100%;
	height: 32px;
}

.contacts-modal__close {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 32px;
	height: 32px;
	padding: 0;
	border: 1px solid var(--vine-color-text, #000000);
	border-radius: var(--vine-radius-btn, 5px);
	background: var(--vine-color-bg, #FFFFFF);
	cursor: pointer;
}

.contacts-modal__close img {
	display: block;
	width: 24px;
	height: 24px;
}

/* До того как скрипт обернёт контейнер в окно, он не должен мелькать в
   потоке страницы: класс contacts-modal__content ставит на него скрипт. */
[data-contacts-modal]:not(.contacts-modal__content) {
	display: none;
}

/* Контейнер [data-contacts-modal] — фрейм 2023:13111 1248x912.
   Ширину и внутренние отступы задаёт скрипт этим классом, чтобы шаблон
   контента не зависел от того, чем его обернули. */
.contacts-modal__content {
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
	gap: 16px;
	width: 100%;
	padding: 0 16px;
}

/* --------------------------------------------- переключение городов */
/* Активную вкладку и панель отмечает классом is-active скрипт, а рисует их
   style.css шаблона contacts-city. Здесь только скрытие неактивных панелей:
   без него все города показались бы разом. Правило намеренно не назначает
   display активной панели — её раскладку задаёт шаблон. */

[data-city-panel]:not(.is-active) {
	display: none;
}

/* -------------------------------------------------------------- узкий экран */
/* В макете мобильных состояний модалки нет. Ниже 1312px (1280 окна + 2x16
   подложки) окно занимает всю доступную ширину, а жёсткая высота снимается,
   чтобы содержимое не обрезалось. */

@media (max-width: 1311px) {
	.contacts-modal {
		padding: 16px;
	}

	.contacts-modal__window {
		width: 100%;
		min-height: 0;
	}
}

@media (max-width: 640px) {
	.contacts-modal {
		padding: 8px;
	}

	.contacts-modal__window {
		padding: 8px;
	}

	.contacts-modal__content {
		padding: 0;
	}
}

/* End */


/* Start:/local/templates/vine/components/bitrix/news.list/contacts-offices/style.css?17873154031502*/
/*
	Карточки офисов на «Контактах» (макет 2011:18510).
	Сетка 2 колонки, gap 16; карточка — подложка #C4C4C4, радиус 8, padding 8.
*/

.contacts-offices {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 16px;
	max-width: 1248px;
}

.contacts-offices__card {
	display: flex;
	flex-direction: column;
	gap: 16px;
	align-items: flex-start;
	padding: 8px;
	border-radius: 8px;
	background: #c4c4c4;
}

.vine-main .contacts-offices__city {
	margin: 0;
	width: 100%;
	font-size: 28px;
	font-weight: 700;
	line-height: normal;
	color: #000;
}

.contacts-offices__map {
	display: block;
	width: 100%;
	height: 167px;
	object-fit: cover;
	border: 1px solid #000;
	background: #fff;
}

/* Состояние «схемы проезда ещё нет»: габариты макета сохраняются. */
.contacts-offices__map--empty {
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 18px;
	line-height: normal;
	color: #c4c4c4;
	box-sizing: border-box;
}

/* Кнопка нарисована ссылкой (макет 2011:18525): открывает модалку города,
   поэтому это <button>, а не <a> — адреса у панели города нет. */
.contacts-offices__more {
	padding: 0;
	border: 0;
	background: none;
	font-family: inherit;
	cursor: pointer;
	font-size: 18px;
	line-height: normal;
	color: #0077ff;
	text-decoration: underline;
}

/* End */


/* Start:/local/templates/vine/components/bitrix/form.result.new/contacts/style.css?17873135426981*/
/*
	Блок «Свяжитесь с нами» на «Контактах» (макет 2016:9608).

	Размеры из макета: секция gap 16, заголовок 40px, левая карточка 688px
	с padding 32 и радиусом 16, фотография 624×348, правая колонка 544px,
	поля 544×32, textarea 544×128, подписи 12px, тексты 18px.

	Селекторы заголовка пишутся с `.vine-main`, иначе общее правило
	`.vine-h2, .vine-main h2` перебивает макетный кегль (грабли методики).
*/

.contacts-form {
	display: flex;
	flex-direction: column;
	gap: 16px;
	max-width: 1248px;
}

.vine-main .contacts-form__title {
	margin: 0;
	font-size: 40px;
	font-weight: 400;
	line-height: normal;
	color: #000;
}

.contacts-form__body {
	display: flex;
	gap: 16px;
	align-items: stretch;
}

/* ------------------------------------------------ левая карточка 688px */

.contacts-form__aside {
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	gap: 10px;
	align-items: center;
	justify-content: center;
	flex: 0 0 688px;
	width: 688px;
	padding: 32px;
	border-radius: 16px;
	background: #c4c4c4;
}

.contacts-form__intro {
	margin: 0;
	width: 100%;
	font-size: 18px;
	line-height: normal;
	color: #000;
}

.contacts-form__photo {
	box-sizing: border-box;
	display: block;
	width: 100%;
	height: 348px;
	object-fit: cover;
	border: 1px solid #000;
	background: #fff;
}

/* Состояние «фотографии ещё нет»: габариты макета сохраняются. */
.contacts-form__photo--empty {
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 18px;
	line-height: normal;
	color: #c4c4c4;
}

/* ------------------------------------------------------- форма 544px */

.contacts-form__fields {
	display: flex;
	flex-direction: column;
	gap: 16px;
	align-items: flex-start;
	flex: 0 0 544px;
	width: 544px;
}

.contacts-form__fields form {
	display: contents;
}

.contacts-form__row {
	display: flex;
	flex-direction: column;
	gap: 4px;
	align-items: flex-start;
	width: 100%;
}

/* В макете подпись — строка ровно 12px (2016:9736), из-за чего блок поля
   даёт 12 + 4 + 32 = 48. При line-height: normal строка получается 14.5px
   и блок разъезжается до 51 — поэтому высота задана явно. */
.contacts-form__label {
	height: 12px;
	font-size: 12px;
	line-height: 12px;
	color: #000;
}

.contacts-form__input,
.contacts-form__select,
.contacts-form__textarea {
	box-sizing: border-box;
	width: 100%;
	border: 1px solid #000;
	border-radius: 0;
	background: #fff;
	font-family: inherit;
	font-size: 18px;
	line-height: normal;
	color: #000;
}

.contacts-form__input,
.contacts-form__select {
	height: 32px;
	padding: 0 8px;
}

.contacts-form__textarea {
	height: 128px;
	padding: 5px 8px;
	resize: vertical;
}

.contacts-form__input::placeholder,
.contacts-form__textarea::placeholder {
	color: #c4c4c4;
}

.contacts-form__input--invalid,
.contacts-form__select--invalid,
.contacts-form__textarea--invalid {
	border-color: red;
}

/* Селект: стрелка 24×24 из макета, поле с отступом справа под неё. */

.contacts-form__select-wrap {
	position: relative;
	display: block;
	width: 100%;
}

.contacts-form__select {
	padding-right: 36px;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	cursor: pointer;
}

.contacts-form__select-arrow {
	position: absolute;
	top: 50%;
	right: 4px;
	width: 24px;
	height: 24px;
	transform: translateY(-50%);
	pointer-events: none;
}

.contacts-form__error {
	margin: 0;
	font-size: 18px;
	line-height: normal;
	color: red;
}

.contacts-form__error--hidden {
	display: none;
}

/* --------------------------------------- Физ. лицо / Юр. лицо (радио) */

.contacts-form__persons {
	display: flex;
	gap: 16px;
	align-items: flex-start;
}

.contacts-form__person {
	display: flex;
	gap: 8px;
	align-items: center;
	cursor: pointer;
}

.contacts-form__radio {
	box-sizing: border-box;
	flex: 0 0 auto;
	width: 24px;
	height: 24px;
	margin: 0;
	padding: 0;
	border: 0;
	background-color: transparent;
	background-image: url(/local/templates/vine/components/bitrix/form.result.new/contacts/images/icon-radio.svg);
	background-repeat: no-repeat;
	background-position: center;
	background-size: 24px 24px;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	cursor: pointer;
}

.contacts-form__radio:checked {
	background-image: url(/local/templates/vine/components/bitrix/form.result.new/contacts/images/icon-radio-checked.svg);
}

.contacts-form__person-text {
	width: 176px;
	font-size: 18px;
	line-height: normal;
	color: #000;
}

/* ------------------------------------------------------- файл 10 МБ */

.contacts-form__file-name {
	margin: 0;
	font-size: 18px;
	font-style: italic;
	line-height: normal;
	color: #000;
}

.contacts-form__file-name--hidden {
	display: none;
}

.contacts-form__file {
	box-sizing: border-box;
	display: inline-flex;
	gap: 4px;
	align-items: center;
	justify-content: center;
	height: 40px;
	padding: 0 12px;
	border: 1px solid #000;
	border-radius: 5px;
	background: #fff;
	cursor: pointer;
}

.contacts-form__file-input {
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(0 0 0 0);
	white-space: nowrap;
}

.contacts-form__file-icon {
	width: 24px;
	height: 24px;
}

.contacts-form__file-text {
	font-size: 18px;
	line-height: normal;
	color: #000;
	text-align: center;
}

.contacts-form__hint {
	margin: 0;
	height: 14px;
	font-size: 12px;
	line-height: 14px;
	color: #000;
}

/* --------------------------------------------- согласие и отправка */

.contacts-form__consent {
	display: flex;
	gap: 8px;
	align-items: center;
	width: 544px;
	cursor: pointer;
}

.contacts-form__checkbox {
	box-sizing: border-box;
	flex: 0 0 auto;
	width: 24px;
	height: 24px;
	margin: 0;
	padding: 0;
	border: 3px solid #000;
	border-radius: 0;
	background-color: #fff;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	cursor: pointer;
}

.contacts-form__checkbox:checked {
	background-image: url(/local/templates/vine/components/bitrix/form.result.new/contacts/images/icon-checkbox-check.svg);
	background-repeat: no-repeat;
	background-position: center;
	background-size: 24px 24px;
	background-origin: border-box;
}

.contacts-form__consent-text {
	font-size: 18px;
	line-height: normal;
	color: #000;
}

.contacts-form__consent-link {
	color: #0077ff;
	text-decoration: underline;
	cursor: pointer;
}

.contacts-form__submit {
	box-sizing: border-box;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	height: 40px;
	padding: 0 12px;
	border: 1px solid #000;
	border-radius: 5px;
	background: #151515;
	font-family: inherit;
	font-size: 18px;
	line-height: normal;
	color: #fff;
	text-align: center;
	cursor: pointer;
}

.contacts-form__success {
	margin: 0;
	font-size: 18px;
	line-height: normal;
	color: #000;
}

/* End */


/* Start:/local/templates/vine/components/bitrix/subscribe.edit/contacts-subscribe/style.css?17873135442698*/
/*
	Блок подписки на «Контактах» (макет 2023:9608).
	Слева карточка 688×186 с призывом по центру, справа колонка 544, gap 16:
	пояснение 21px строкой, поле 544×32, согласие 24, кнопка 544×40.
*/

.contacts-subscribe {
	display: flex;
	gap: 16px;
	align-items: stretch;
	max-width: 1248px;
}

.contacts-subscribe__aside {
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	flex: 0 0 688px;
	width: 688px;
	padding: 32px;
	border-radius: 16px;
	background: #c4c4c4;
}

.contacts-subscribe__call {
	margin: 0;
	width: 100%;
	font-size: 18px;
	line-height: normal;
	color: #000;
}

.contacts-subscribe__side {
	display: flex;
	flex-direction: column;
	gap: 16px;
	align-items: flex-start;
	flex: 1 1 auto;
	min-width: 0;
}

.contacts-subscribe__note,
.contacts-subscribe__message {
	margin: 0;
	width: 100%;
	font-size: 18px;
	line-height: normal;
	color: #000;
}

.contacts-subscribe__message--error {
	color: red;
}

.contacts-subscribe__form {
	display: flex;
	flex-direction: column;
	gap: 16px;
	align-items: flex-start;
	width: 100%;
}

.contacts-subscribe__input {
	box-sizing: border-box;
	width: 100%;
	height: 32px;
	padding: 0 8px;
	border: 1px solid #000;
	border-radius: 0;
	background: #fff;
	font-family: inherit;
	font-size: 14px;
	line-height: normal;
	color: #000;
}

.contacts-subscribe__input::placeholder {
	color: #c4c4c4;
}

.contacts-subscribe__consent {
	display: flex;
	gap: 8px;
	align-items: flex-start;
	width: 100%;
	cursor: pointer;
}

.contacts-subscribe__checkbox {
	box-sizing: border-box;
	flex: 0 0 auto;
	width: 24px;
	height: 24px;
	margin: 0;
	padding: 0;
	border: 3px solid #000;
	border-radius: 0;
	background-color: #fff;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	cursor: pointer;
}

.contacts-subscribe__checkbox:checked {
	background-image: url(/local/templates/vine/components/bitrix/subscribe.edit/contacts-subscribe/images/icon-checkbox-check.svg);
	background-repeat: no-repeat;
	background-position: center;
	background-size: 24px 24px;
	background-origin: border-box;
}

.contacts-subscribe__consent-text {
	font-size: 18px;
	line-height: normal;
	color: #000;
}

.contacts-subscribe__consent-link {
	color: #0077ff;
	text-decoration: underline;
	cursor: pointer;
}

.contacts-subscribe__btn {
	box-sizing: border-box;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 40px;
	padding: 0 12px;
	border: 1px solid #000;
	border-radius: 5px;
	background: #151515;
	font-family: inherit;
	font-size: 18px;
	line-height: normal;
	color: #fff;
	text-align: center;
	cursor: pointer;
}

/* End */


/* Start:/local/templates/vine/components/bitrix/news.list/sections-tiles/style.css?1787240270970*/
/* Сквозной блок «Разделы». Макет Figma 2023:12774: мозаика 1248x322 из плиток 400x149, зазор 24 */
.sections-tiles {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	grid-template-rows: repeat(2, 149px);
	grid-auto-flow: column;
	grid-auto-columns: 1fr;
	gap: 24px;
	max-width: 1248px;
	margin: 0 auto;
}

.sections-tiles__cell {
	position: relative;
	box-sizing: border-box;
	display: flex;
	align-items: center;
	justify-content: center;
	min-width: 0;
	padding: 64px 16px;
	border: 1px solid #000;
	border-radius: 24px;
	background: #FFF;
	overflow: hidden;
	text-decoration: none;
}

.sections-tiles__caption {
	font-size: 18px;
	font-weight: 400;
	line-height: normal;
	color: #000;
	text-align: center;
	word-break: break-word;
}

.sections-tiles__image {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	display: block;
	width: 100%;
	height: 100%;
	border-radius: 24px;
	object-fit: cover;
}

/* End */


/* Start:/local/templates/vine/components/bitrix/news.list/contacts-city/style.css?17873151975116*/
/* =========================================================================
   МОДАЛКА «КОНТАКТЫ — ГОРОД»: заголовок, вкладки городов, панель города.
   Макет HA2Vx4dnWPRDdb6SL7tM3y, узлы 2023:13114 / 2023:13493 / 2023:13117.
   Рабочая ширина модалки 1216 (окно 1280 − padding 16 − padding контента 16).
   ========================================================================= */

.contacts-city {
	display: flex;
	flex-direction: column;
	width: 100%;
	max-width: 1216px;
	font-size: 18px;
	line-height: normal;
	color: #000;
}

/* Блок города. В макете заголовок стоит НАД рядом вкладок, а панель — ПОД
   ним, но и то и другое меняется вместе с городом. Поэтому оба лежат в одном
   корне [data-city-panel], корень раскрыт через display: contents, и порядок
   в колонке задаётся order у детей: заголовок 1, вкладки 2, панель 3.
   Оболочке модалки достаточно перевешивать класс is-active на этом корне. */
.contacts-city__city {
	display: contents;
}

.contacts-city__city:not(.is-active) {
	display: none;
}

/* --------------------------------------------------- ЗАГОЛОВОК 2023:13114 */
/* 1216×56, Roboto Regular 48px. Селектор с .vine-main обязателен: иначе общее
   правило .vine-main h2 перебьёт кегль своими 34px. */
.contacts-city .contacts-city__title,
.vine-main .contacts-city__title {
	order: 1;
	width: 100%;
	margin: 0 0 16px;
	font-size: 48px;
	font-weight: 400;
	line-height: normal;
	color: #000;
}

/* ------------------------------------------------------ ВКЛАДКИ 2023:13493 */
/* Ряд 248×41 без зазора: активная «Москва» 86×41, «Санкт-Петербург» 162×41. */
.contacts-city__tabs {
	order: 2;
	display: flex;
	align-items: flex-start;
	gap: 0;
}

/* Обводка в макете внутренняя, в CSS рамка ложится снаружи padding, поэтому
   вертикальные отступы 9/10 вместо макетных 10/10 — иначе вкладка растёт до
   43px. По ширине совпадение точное: 1 + 9 + текст + 9 + 1 = текст + 20, как
   в макете. По высоте на стенде выходит 42 вместо 41: строка 18px при
   line-height: normal занимает 22px, а не макетный 21. Снизу рамки нет —
   вкладка стыкуется с панелью. */
.contacts-city__tab {
	margin: 0;
	padding: 9px 9px 10px;
	background: none;
	border: 1px solid #000;
	border-bottom: 0;
	border-radius: 8px 8px 0 0;
	font-size: 18px;
	font-weight: 400;
	line-height: normal;
	color: #000;
	white-space: nowrap;
	-webkit-appearance: none;
	appearance: none;
}

.contacts-city__tab.is-active {
	background: #000;
	color: #fff;
}

/* -------------------------------------------------------- ПАНЕЛЬ 2023:13117 */
/* 1216×459, подложка #C4C4C4. Левый верхний угол не скруглён — на нём сидит
   вкладка. Две колонки по 600 с зазором 16. */
.contacts-city__panel {
	order: 3;
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 16px;
	min-height: 459px;
	background: #c4c4c4;
	border-radius: 0 24px 24px 24px;
}

/* ------------------------------------------- КОЛОНКА КОНТАКТОВ 2023:13119 */
.contacts-city__info {
	display: flex;
	flex-direction: column;
	gap: 16px;
	align-items: flex-start;
	padding: 8px;
	border-radius: 8px;
}

.contacts-city .contacts-city__office,
.vine-main .contacts-city__office {
	width: 100%;
	margin: 0;
	font-size: 14px;
	font-weight: 700;
	line-height: normal;
	color: #000;
}

.contacts-city .contacts-city__line,
.vine-main .contacts-city__line {
	width: 100%;
	margin: 0;
	font-size: 18px;
	font-weight: 400;
	line-height: normal;
	color: #000;
}

.contacts-city__email {
	font-size: 18px;
	line-height: normal;
	color: #0077ff;
	text-decoration: underline;
}

.contacts-city__social {
	display: flex;
	align-items: flex-start;
	gap: 16px;
}

.contacts-city__social-icon {
	display: block;
	width: 24px;
	height: 24px;
}

/* ---------------------------------------------------------- КАРТА 2023:13516 */
.contacts-city__map {
	align-self: start;
	width: 100%;
	height: 459px;
	border-radius: 24px;
	object-fit: cover;
}

/* Состояние «карты ещё нет»: габариты макета сохраняются, иначе панель
   теряет 459px и город выпадает из ритма модалки. */
.contacts-city__map--empty {
	display: flex;
	align-items: center;
	justify-content: center;
	background: #fff;
	border: 1px solid #000;
	font-size: 18px;
	line-height: normal;
	color: #000;
}

/* End */


/* Start:/local/templates/vine/components/bitrix/news.list/contacts-staff/style.css?17873145974306*/
/* =========================================================================
   Карусель сотрудников модалки «Контакты — Город».
   Макет: Figma HA2Vx4dnWPRDdb6SL7tM3y, узлы 2063:17971 / 2063:17875.

   Строка карусели 1216×287 = стрелка 32 + gap 16 + лента 1120 + gap 16 +
   стрелка 32. Лента прячет переполнение (overflow: hidden) и листается
   скриптом на шаг 216px = карточка 200 + gap 16.

   Селекторы намеренно без .vine-main: блок живёт в модалке, а не внутри
   колонки контента страницы. Конфликта с общим слоем нет — заголовков
   (h1…h4) здесь не используется, а `p { margin: 0 }` там уже задано.
   ========================================================================= */

.contacts-staff {
	display: flex;
	flex-direction: column;
	gap: 16px;
}

/* подпись 2063:17971 «Готовы помочь вам по вопросам» */
.contacts-staff__caption {
	font-size: 18px;
	font-weight: 400;
	line-height: normal;
	color: #000;
}

.contacts-staff__carousel {
	display: flex;
	align-items: center;
	gap: 16px;
}

/* стрелки 2063:17876 и 2063:17895: кнопка 32×32, белая, рамка 1px, радиус 5 */
.contacts-staff__arrow {
	box-sizing: border-box;
	flex: 0 0 32px;
	width: 32px;
	height: 32px;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0;
	border: 1px solid #000;
	border-radius: 5px;
	background: #fff;
	cursor: pointer;
	-webkit-appearance: none;
	appearance: none;
}

/* Крайние положения ленты и случай «карточки помещаются целиком»:
   листать нечего, кнопка выключена атрибутом disabled из script.js. */
.contacts-staff__arrow[disabled] {
	cursor: default;
	opacity: 0.4;
}

.contacts-staff__arrow-icon {
	display: block;
	width: 24px;
	height: 24px;
}

/* лента 2063:17970 */
.contacts-staff__track {
	flex: 1 1 auto;
	min-width: 0; /* без этого flex-элемент раздувается по содержимому */
	display: flex;
	align-items: stretch; /* высота карточек одинаковая — по самой высокой */
	gap: 16px;
	overflow: hidden;
}

/* карточка 2063:17877: 200×287, рамка 1px #000, padding 8, gap 10 */
.contacts-staff__card {
	box-sizing: border-box;
	flex: 0 0 200px;
	width: 200px;
	min-height: 287px;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 10px;
	padding: 8px;
	border: 1px solid #000;
	background: #fff;
	color: #000;
	text-decoration: none;
}

/* карточка-ссылка mailto: (пояснение дизайнера 2063:17974) */
a.contacts-staff__card:hover,
a.contacts-staff__card:focus {
	color: #000;
	text-decoration: none;
}

/* фото 140×140 (2063:17915) */
.contacts-staff__photo {
	box-sizing: border-box;
	flex: 0 0 auto;
	display: block;
	width: 140px;
	height: 140px;
	border: 1px solid #000;
	background: #fff;
	object-fit: cover;
}

/* состояние «фотографии ещё нет»: габариты и подпись плейсхолдера макета */
.contacts-staff__photo--empty {
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 18px;
	line-height: normal;
	color: #000;
}

/* Имя 18px Bold. Ширина по содержимому: короткое имя стоит по центру
   карточки (align-items: center), длинное занимает всю ширину и переносится
   влево — ровно как в макете (2063:17879 против 2063:17885). */
.contacts-staff__name {
	max-width: 100%;
	font-size: 18px;
	font-weight: 700;
	line-height: normal;
	color: #000;
	text-align: left;
	word-break: break-word;
}

/* должность 14px Regular — в макете всегда во всю ширину карточки */
.contacts-staff__position {
	align-self: stretch;
	font-size: 14px;
	font-weight: 400;
	line-height: normal;
	color: #000;
	text-align: left;
	word-break: break-word;
}

/* End */
/* /local/templates/vine/css/contacts-page.css?17873133511934 */
/* /local/templates/vine/css/contacts-modal.css?17873146455499 */
/* /local/templates/vine/components/bitrix/news.list/contacts-offices/style.css?17873154031502 */
/* /local/templates/vine/components/bitrix/form.result.new/contacts/style.css?17873135426981 */
/* /local/templates/vine/components/bitrix/subscribe.edit/contacts-subscribe/style.css?17873135442698 */
/* /local/templates/vine/components/bitrix/news.list/sections-tiles/style.css?1787240270970 */
/* /local/templates/vine/components/bitrix/news.list/contacts-city/style.css?17873151975116 */
/* /local/templates/vine/components/bitrix/news.list/contacts-staff/style.css?17873145974306 */
