.contacts-page .container {
	padding-left: 28px;
}

.contacts-page .contacts-hero {
	padding: 64px 0;
	background-color: var(--color-bg-secondary);
}

.contacts-page .contacts-hero h1 {
	font-size: var(--font-size-38);
	line-height: var(--line-height-110);
	margin-bottom: 16px;
}

.contacts-page .contacts-hero h5 {
	margin-top: 16px;
}

.contacts-page .contacts-hero .text-p2 {
	font-family: var(--font-primary);
	font-size: var(--font-size-lg);
	font-weight: var(--font-weight-regular);
}

.contacts-section {
	padding: 48px 0;
}

.contacts-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 32px;
}

.contacts-info {
	display: grid;
	gap: 16px;
}

.contacts-card h4 {
	font-family: var(--font-primary);
	font-size: var(--font-size-xl);
	font-weight: var(--font-weight-semibold);
}

.contacts-card .text-p2, .contacts-card a.text-p2 {
	font-family: var(--font-primary);
	font-size: var(--font-size-base);
	font-weight: var(--font-weight-regular);
}

/* Стили для гиперссылок в контактах - зеленый цвет */
.contacts-card a {
	color: var(--color-primary);
	text-decoration: none;
	transition: color 0.2s ease, text-decoration 0.2s ease;
}

.contacts-card a:hover {
	color: var(--color-hover-green);
	text-decoration: underline;
	text-decoration-color: var(--color-primary);
}

.contacts-card a:focus {
	color: var(--color-text-main);
	outline: 2px solid var(--color-primary);
	outline-offset: 2px;
}

.contacts-social {
	display: flex;
	gap: 20px;
	margin-top: 8px;
}

.contacts-page .contacts-social .social-link {
	padding: 0;
	border: none;
	background: transparent;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 54px;
	height: 54px;
	border-radius: 12px;
	transition: none;
}

.contacts-page .contacts-social .social-link img { transition: none; }

.contacts-page .contacts-social .social-link:hover { transform: none; box-shadow: none; }

.contacts-page .contacts-social .social-link:hover img { transform: none; }

.contacts-page .contacts-social .social-link:active { transform: none; box-shadow: none; }

.contacts-page .contacts-social .social-link:focus-visible {
	outline: 2px solid var(--color-primary);
	outline-offset: 2px;
}

.contacts-form .contact-form-card {
	box-shadow: var(--shadow-md);
}

.contacts-map-section {
	padding: 48px 0 72px;
}

.contacts-map-placeholder {
	height: 320px;
	background: var(--color-bg-secondary);
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 16px;
	box-shadow: var(--shadow-sm);
}

@media screen and (max-width: 1024px) {
	.contacts-grid {
		grid-template-columns: 1fr;
	}
}

@media screen and (max-width: 768px) {
	.contacts-page .contacts-hero {
		padding: 40px 0;
	}
}


