/* Схема территории, легенда карты и контактный блок. */

.territory-section {
	padding: 40px 0;
	background: var(--color-bg-v2);
}


/* =========================
   Верхняя часть
========================= */

.territory-grid {
	display: grid;
	grid-template-columns: 430px minmax(0, 1fr);
	gap: 24px;
	align-items: stretch;
}

.territory-info {
	display: flex;
	flex-direction: column;
	height: 100%;
}

.territory-heading {
	margin-bottom: 18px;
}

/* =========================
   Легенда
========================= */

.territory-legend {
	height: 100%;
	padding: 18px;
	background: linear-gradient(90deg, rgba(244, 248, 243, 0.95) 0%, rgba(250, 252, 249, 0.95) 55%, rgba(244, 248, 243, 0.95) 100%);
	border: 1px solid var(--color-border);
	border-radius: var(--radius);
	box-shadow: var(--shadow-dark);
}

.territory-legend__text {
	color: #555d57;
	font-size: 13px;
	font-family: var(--font-montserrat);
	margin: 0;
	margin-bottom: 15px;
}

.territory-legend__list {
	display: flex;
	flex-direction: column;
	gap: 10px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.territory-legend__list li {
	display: flex;
	align-items: center;
	gap: 11px;
	color: #373d39;
	font-size: 13px;
	font-family: var(--font-montserrat);
}

.territory-legend__marker {
	flex: 0 0 15px;
	width: 15px;
	height: 15px;
	border-radius: 3px;
}

.territory-legend__marker--plots {
	background: #80bb65;
}

.territory-legend__marker--infrastructure {
	background: #419455;
}

.territory-legend__marker--common {
	background: #ffdf57;
}

.territory-legend__marker--roads {
	background: #ffffff;
	border: 2px solid #d8dfda;
}

.territory-legend__marker--management {
	background: #195b3b;
}


/* =========================
   Яндекс Карта
========================= */

.territory-map {
	position: relative;
	min-height: 345px;
	overflow: hidden;
	background: linear-gradient(90deg, rgba(244, 248, 243, 0.95) 0%, rgba(250, 252, 249, 0.95) 55%, rgba(244, 248, 243, 0.95) 100%);
	border: 1px solid var(--color-border);
	border-radius: var(--radius);
	box-shadow: var(--shadow-dark);
}

.territory-map iframe {
	position: absolute;
	top: 0;
	left: 0;
	display: block;
	width: 100%;
	height: 100%;
	border: 0;
}


/* =========================
   Контактный блок
========================= */

.territory-contact {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 30px;

	margin-top: 20px;
	padding: 18px;
	background: linear-gradient(90deg, rgba(244, 248, 243, 0.95) 0%, rgba(250, 252, 249, 0.95) 55%, rgba(244, 248, 243, 0.95) 100%);
	border: 1px solid var(--color-border);
	border-radius: var(--radius);
	box-shadow: var(--shadow-dark);

}

.territory-contact__left {
	display: flex;
	align-items: center;
	gap: 22px;
	min-width: 0;
}

.territory-contact__icon {
	display: flex;
	flex: 0 0 60px;
	align-items: center;
	justify-content: center;
	width: 60px;
	height: 60px;
	color: #ffffff;
	background: linear-gradient(135deg, #247548 0%, #125e38 100%);
	border-radius: 15px;
	box-shadow: 0 7px 18px rgba(24, 104, 62, 0.18);
}

.territory-contact__content h3 {
	margin: 0 0 6px;
	color: #202421;
	font-size: 16px;
	font-weight: 700;
	line-height: 1.3;
}

.territory-contact__content p {
	margin: 0;
	color: #777d79;
	font-size: 13px;
	line-height: 1.5;
}

@media (max-width: 820px) {
	.territory-grid {
		grid-template-columns: 1fr;
	}

	.territory-map {
		min-height: 320px;
	}

	.territory-contact {
		align-items: flex-start;
		flex-direction: column;
	}
}
