/* Шапка */
.site-header {
	position: sticky;
	top: 0;
	z-index: 500;
	background: var(--color-white);
	border-bottom: 1px solid var(--color-border);
}

.site-header__bar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--space-m);
	padding-block: 14px;
}

.site-header__logo img {
	max-height: 42px;
	width: auto;
}

.site-header__contacts {
	display: flex;
	gap: var(--space-m);
	font-size: 14px;
	color: var(--color-text-muted);
}

.site-header__contacts a {
	color: var(--color-text);
	font-weight: 600;
}

.primary-menu {
	display: flex;
	align-items: center;
	gap: var(--space-m);
	list-style: none;
	margin: 0;
	padding: 0;
}

.primary-menu a {
	color: var(--color-text);
	font-weight: 500;
	font-size: 15px;
	white-space: nowrap;
}

.primary-menu a:hover,
.primary-menu .current-menu-item > a {
	color: var(--color-primary);
}

.site-header__actions {
	display: flex;
	align-items: center;
	gap: var(--space-s);
}

.menu-toggle {
	display: none;
	background: none;
	border: none;
	cursor: pointer;
	padding: 8px;
	width: 44px;
	height: 44px;
	align-items: center;
	justify-content: center;
}

.menu-toggle__box {
	position: relative;
	width: 24px;
	height: 2px;
	background: var(--color-text);
}

.menu-toggle__box::before,
.menu-toggle__box::after {
	content: "";
	position: absolute;
	left: 0;
	width: 24px;
	height: 2px;
	background: var(--color-text);
	transition: transform .2s ease;
}

.menu-toggle__box::before { top: -8px; }
.menu-toggle__box::after { top: 8px; }

.site-header.is-menu-open .menu-toggle__box { background: transparent; }
.site-header.is-menu-open .menu-toggle__box::before { transform: translateY(8px) rotate(45deg); }
.site-header.is-menu-open .menu-toggle__box::after { transform: translateY(-8px) rotate(-45deg); }

@media (max-width: 960px) {
	.site-header__contacts { display: none; }

	.menu-toggle {
		display: inline-flex;
	}

	.primary-nav {
		position: fixed;
		inset: 0;
		top: 70px;
		background: var(--color-white);
		transform: translateX(100%);
		transition: transform .2s ease;
		overflow-y: auto;
		padding: var(--space-m);
	}

	.site-header.is-menu-open .primary-nav {
		transform: translateX(0);
	}

	.primary-menu {
		flex-direction: column;
		align-items: flex-start;
		gap: var(--space-s);
	}

	.primary-menu a {
		font-size: 18px;
	}
}

/* Футер */
.site-footer {
	background: var(--color-text);
	color: #cfd6dc;
	padding-block: var(--space-l);
}

.site-footer a {
	color: #cfd6dc;
}

.site-footer a:hover {
	color: var(--color-white);
}

.footer-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: var(--space-l);
}

.footer-grid h4 {
	color: var(--color-white);
	font-size: 16px;
	margin-bottom: var(--space-s);
}

.footer-grid ul {
	list-style: none;
	padding: 0;
	margin: 0;
	display: flex;
	flex-direction: column;
	gap: 10px;
	font-size: 14px;
}

.site-footer__bottom {
	margin-top: var(--space-l);
	padding-top: var(--space-m);
	border-top: 1px solid rgba(255,255,255,.12);
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: var(--space-s);
	font-size: 13px;
	color: #8a939b;
}

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

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