/* Страница «Контакты»: компактная карточка слева, карта справа */
body.lf-section-heading-page:not(.lf-catalog-page):not(.lf-merch-page) #bx_eshop_wrap > .container.bx-content-section.lf-after-header {
	padding-bottom: 32px !important;
}

.lf-contacts-fullbleed {
	--lf-contact-icon-address: url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cg opacity='0.4'%3E%3Cpath d='M20 11C20 16.4183 13 21 12 21C11 21 4 16.4183 4 11C4 6.58172 7.58172 3 12 3C16.4183 3 20 6.58172 20 11Z' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M10 11C10 12.1046 10.8954 13 12 13C13.1046 13 14 12.1046 14 11C14 9.89543 13.1046 9 12 9C10.8954 9 10 9.89543 10 11Z' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/g%3E%3C/svg%3E");
	--lf-contact-icon-phone: url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cg opacity='0.4'%3E%3Cpath d='M9.10305 3.95004C7.83633 2.68332 5.78256 2.68332 4.51584 3.95004L4.03689 4.42899C3.39533 5.07055 2.97047 5.91596 3.0016 6.82273C3.11338 10.0781 4.66127 13.6302 7.51554 16.4845C10.3698 19.3387 13.9219 20.8866 17.1773 20.9984C18.084 21.0295 18.9294 20.6047 19.571 19.9631L20.05 19.4842C21.3167 18.2174 21.3167 16.1637 20.05 14.897L19.8609 14.7079C18.8488 13.6958 17.2533 13.5637 16.0886 14.3957C15.4434 14.8565 14.6284 15.0628 13.8846 14.7881C12.8685 14.4129 11.8911 13.7991 11.046 12.954C10.2009 12.1089 9.58715 11.1315 9.2119 10.1154C8.93725 9.37158 9.14348 8.55657 9.60432 7.91139C10.4363 6.74668 10.3042 5.15121 9.29212 4.13911L9.10305 3.95004Z' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/g%3E%3C/svg%3E");
	--lf-contact-icon-email: url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cg opacity='0.4'%3E%3Cpath d='M6 8L9.39488 10.2384C10.3605 10.875 10.8433 11.1934 11.364 11.3153C11.8241 11.4231 12.3033 11.4207 12.7623 11.3082C13.2817 11.1809 13.7612 10.8576 14.7202 10.2111L18 8M14 20H10C7.19974 20 5.79961 20 4.73005 19.455C3.78924 18.9757 3.02433 18.2108 2.54497 17.27C2 16.2004 2 14.8003 2 12C2 9.19974 2 7.79961 2.54497 6.73005C3.02433 5.78924 3.78924 5.02433 4.73005 4.54497C5.79961 4 7.19974 4 10 4L14 4C16.8003 4 18.2004 4 19.27 4.54497C20.2108 5.02433 20.9757 5.78924 21.455 6.73005C22 7.79961 22 9.19974 22 12C22 14.8003 22 16.2004 21.455 17.27C20.9757 18.2108 20.2108 18.9757 19.27 19.455C18.2004 20 16.8003 20 14 20Z' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/g%3E%3C/svg%3E");
	display: grid;
	grid-template-columns: minmax(0, 380px) minmax(0, 1fr);
	align-items: start;
	column-gap: 24px;
	width: 100%;
	max-width: 100%;
	margin-left: 0;
	margin-right: 0;
	position: relative;
	box-sizing: border-box;
	min-height: 742px;
	background: transparent;
	font-family: "Rubik", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.lf-contacts-map {
	position: relative;
	grid-column: 2;
	grid-row: 1;
	width: 100%;
	height: 742px;
	min-height: 742px;
	overflow: hidden;
	background: #cbd5e1;
}

/* Виджет Яндекс.Карт в iframe — как в подвале (lf-footer__map-frame) */
.lf-contacts-map-frame-wrap {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	min-height: 0;
	background: #cbd5e1;
}

.lf-contacts-map-frame {
	position: absolute;
	left: 0;
	top: 0;
	display: block;
	width: 100%;
	height: 100%;
	border: 0;
	filter: grayscale(0.15) contrast(1.02);
}

/* JS API 2.1: тот же размер, что у iframe */
.lf-contacts-map-frame-wrap--js .lf-contacts-map-js,
#lf-yandex-map.lf-contacts-map-js {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	overflow: hidden;
}

.lf-contacts-map-fallback {
	position: absolute;
	inset: 0;
	z-index: 2;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 24px;
	text-align: center;
	font-size: 15px;
	color: #475569;
	background: linear-gradient(160deg, #e2e8f0 0%, #cbd5e1 100%);
}

.lf-contacts-map-fallback[hidden] {
	display: none !important;
}

.lf-contacts-layout {
	grid-column: 1;
	grid-row: 1;
	position: relative;
	z-index: 1;
	display: block;
	min-width: 0;
	min-height: 0;
	padding: 0;
	box-sizing: border-box;
}

.lf-contacts-card {
	width: 380px;
	max-width: 100%;
	min-height: 320px;
	margin: 0;
	background: #fff;
	border-radius: 8px;
	border: 0;
	box-shadow: 0 6px 22px rgba(0, 0, 0, 0.04);
	overflow: hidden;
	box-sizing: border-box;
	font-family: "Rubik", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.lf-contacts-card__body {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: 24px;
	min-height: 320px;
	padding: 24px;
	box-sizing: border-box;
}

.lf-contacts-card__item {
	display: grid;
	grid-template-columns: 24px minmax(0, 1fr);
	align-items: center;
	column-gap: 8px;
	min-width: 0;
}

.lf-contacts-card__icon {
	display: block;
	width: 24px;
	height: 24px;
	background-repeat: no-repeat;
	background-position: center;
	background-size: 24px 24px;
}

.lf-contacts-card__icon--address {
	background-image: var(--lf-contact-icon-address);
}

.lf-contacts-card__icon--phone {
	background-image: var(--lf-contact-icon-phone);
}

.lf-contacts-card__icon--email {
	background-image: var(--lf-contact-icon-email);
}

.lf-contacts-card__value {
	margin: 0;
	font-family: "Rubik", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	font-size: 15px;
	font-style: normal;
	font-weight: 400;
	line-height: 22px;
	letter-spacing: 0;
	vertical-align: middle;
	color: #111;
	overflow-wrap: anywhere;
}

.lf-contacts-card__value a {
	color: #111;
	font-weight: 400;
	text-decoration: none;
	border-bottom: none;
	transition: color 0.15s ease;
}

.lf-contacts-card__value a:hover {
	color: #000;
}

.lf-contacts-card__emails-list {
	display: flex;
	flex-direction: column;
	gap: 4px;
}

button.lf-contacts-card__btn {
	cursor: pointer;
	appearance: none;
}

.lf-contacts-card__btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	width: 100%;
	height: 48px;
	min-height: 48px;
	max-height: 48px;
	margin: 0;
	padding: 17px 14px 17px 12px;
	box-sizing: border-box;
	font-family: "Rubik", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	font-size: 16px;
	font-style: normal;
	font-weight: 500;
	line-height: 22px;
	letter-spacing: -0.01em;
	color: #0a0a0a;
	text-decoration: none;
	text-align: center;
	border: 1px solid #000;
	border-radius: 8px;
	background: #fff;
	box-shadow: none;
	transition: background-color 0.15s ease, color 0.15s ease, border-color 0.15s ease, box-shadow 0.15s ease;
}

@media (hover: hover) and (pointer: fine) {
	.lf-contacts-card__btn:hover:not(:focus) {
		background: #404042;
		color: #fff;
		border-color: #404042;
	}
}

.lf-contacts-card__btn:focus:not(:focus-visible),
.lf-contacts-card__btn:focus:not(:focus-visible):hover {
	color: #0a0a0a;
	background: #fff;
	border: 1px solid #000;
	outline: none;
}

.lf-contacts-card__btn:focus-visible {
	outline: 2px solid rgba(64, 64, 66, 0.45);
	outline-offset: 2px;
}

.lf-contacts-card__btn.lf-request-price--cooldown,
.lf-contacts-card__btn.lf-request-price--cooldown:hover {
	color: #0a0a0a !important;
	background: #fff !important;
	border: 1px solid #000 !important;
}

.lf-contacts-card__messengers + .lf-contacts-card__btn {
	margin-top: 8px;
}

.lf-contacts-card__messengers {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: flex-start;
	gap: 6px;
	margin: 0;
	padding-left: 1px;
}

.lf-contacts-card__messenger {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 48px;
	height: 48px;
	flex: 0 0 48px;
	border-radius: 12px;
	color: #fff;
	text-decoration: none;
	line-height: 0;
	overflow: hidden;
	background: #1256eb;
	transition: transform 0.15s ease, opacity 0.15s ease;
}

.lf-contacts-card__messenger--tg {
	background: #2aabee;
}

.lf-contacts-card__messenger:hover {
	transform: translateY(-1px);
	opacity: 0.92;
}

.lf-contacts-card__messenger:focus-visible {
	outline: 2px solid #000;
	outline-offset: 2px;
}

.lf-contacts-card__messenger svg {
	display: block;
	width: 44px;
	height: 44px;
	fill: currentColor;
}

.lf-contacts-card__messenger img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
	object-position: center;
	border-radius: inherit;
}

.lf-contacts-empty {
	margin: 0;
	font-size: 13px;
	line-height: 1.45;
	color: #64748b;
}

.lf-contacts-empty a {
	color: #1e3a5f;
	font-weight: 500;
	text-decoration: none;
	border-bottom: none;
}

.lf-contacts-empty a:hover {
	color: #0f172a;
}

@media (max-width: 767px) {
	.lf-contacts-fullbleed {
		display: grid;
		grid-template-columns: minmax(0, 1fr);
		gap: 14px;
		min-height: auto;
		overflow-x: hidden;
		width: 100%;
		max-width: 100%;
		margin-left: 0;
		margin-right: 0;
		padding-left: 0;
		padding-right: 0;
		padding-bottom: clamp(20px, 6vw, 36px);
		box-sizing: border-box;
	}

	.lf-contacts-map {
		grid-column: 1;
		grid-row: 2;
		width: 100%;
		height: min(46vh, 320px);
		height: min(46dvh, 320px);
		min-height: 220px;
		max-height: 400px;
		border-radius: 14px;
		overflow: hidden;
		background: #cbd5e1;
	}

	.lf-contacts-map-frame-wrap,
	.lf-contacts-map-frame-wrap--js {
		border-radius: inherit;
	}

	.lf-contacts-map-fallback {
		position: relative;
		min-height: min(46vh, 320px);
		min-height: min(46dvh, 320px);
		border-radius: inherit;
	}

	.lf-contacts-layout {
		grid-column: 1;
		grid-row: 1;
		padding: 0;
		box-sizing: border-box;
	}

	.lf-contacts-card {
		max-width: none;
		width: 100%;
		border-radius: 6px;
	}

	.lf-contacts-card__body {
		padding: 16px;
	}

	.lf-contacts-card__value {
		overflow-wrap: anywhere;
		word-break: break-word;
	}

	.lf-contacts-card__value a {
		display: inline-flex;
		align-items: center;
		min-height: 44px;
		padding: 6px 0;
		box-sizing: border-box;
	}

	.lf-contacts-card__emails .lf-contacts-card__value a {
		display: flex;
		align-items: center;
		min-height: 44px;
		padding: 8px 0;
	}

	.lf-contacts-card__btn {
		width: 100%;
		margin: 0;
		box-sizing: border-box;
	}

	.lf-contacts-card__messengers {
		gap: 8px;
	}

	.lf-contacts-empty {
		font-size: 15px;
	}
}

@media (max-width: 479px) {
	.lf-contacts-map {
		min-height: 200px;
		height: min(42vh, 280px);
		height: min(42dvh, 280px);
		border-radius: 12px;
	}

	.lf-contacts-card__body {
		padding: 14px;
	}

}
