/*
 * Front-end styles for bsm-footer.
 *
 * Структура по дизайн-макету 01-detail.html:
 *   .bsm-footer
 *     .bsm-footer__grid (4 колонки)
 *       .bsm-footer__brand (лого + описание + соцсети)
 *       .bsm-footer__col × 2 (навигация)
 *       .bsm-footer__contacts-col (контакты)
 *     .bsm-footer__bottom (copyright + домен)
 *
 * Markup: ../template-parts/footer.php
 * Source: ../files/10_Projects/bsm_company/05_Brand/design/01-detail.html (.footer)
 */

.bsm-footer {
	background: var(--surface);
	border-top: var(--hairline);
	padding: 56px 32px 24px;
	margin-top: 64px;
	font-family: inherit;
}

.bsm-footer__grid {
	max-width: var(--container-max);
	margin: 0 auto;
	display: grid;
	grid-template-columns: 1.4fr 1fr 1fr 1fr;
	gap: 40px;
}

/* ---- Brand column ---- */

.bsm-footer__logo-row {
	margin-bottom: 14px;
}

.bsm-footer__logo {
	font-weight: 700;
	font-size: 18px;
	letter-spacing: 0.06em;
	color: var(--navy);
	text-decoration: none;
}

.bsm-footer__logo .b {
	color: var(--accent);
}

.bsm-footer__logo .m {
	color: var(--navy);
}

.bsm-footer__about {
	margin: 0 0 20px;
	font-size: 14px;
	color: var(--text-secondary);
	line-height: 1.55;
	max-width: 320px;
}

/* ---- Socials ---- */

.bsm-footer__socials {
	display: flex;
	gap: 8px;
}

.bsm-footer__socials a {
	width: 36px;
	height: 36px;
	border: var(--hairline);
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--text-secondary);
	padding: 0;
	transition: background 0.15s, color 0.15s, border-color 0.15s;
}

.bsm-footer__socials a:hover {
	background: var(--navy);
	color: #fff;
	border-color: var(--navy);
	text-decoration: none;
}

.bsm-footer__socials svg {
	width: 16px;
	height: 16px;
}

/* ---- Column titles + menu ---- */

.bsm-footer__col-title {
	font-size: 11px;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	color: var(--navy);
	margin: 0 0 16px;
	font-weight: 700;
}

.bsm-footer__menu,
.bsm-footer__contacts-row {
	list-style: none;
	margin: 0;
	padding: 0;
}

.bsm-footer__menu li,
.bsm-footer__contacts-row > * {
	padding: 0;
	margin: 0;
}

.bsm-footer__link,
.bsm-footer__contacts-row a,
.bsm-footer__contacts-row span {
	display: block;
	padding: 5px 0;
	color: var(--text-secondary);
	font-size: 13.5px;
	text-decoration: none;
	transition: color 0.15s;
}

.bsm-footer__link:hover {
	color: var(--accent-strong);
	text-decoration: none;
}

/* ---- Bottom row ---- */

.bsm-footer__bottom {
	max-width: var(--container-max);
	margin: 40px auto 0;
	padding-top: 24px;
	border-top: var(--hairline);
	display: flex;
	justify-content: space-between;
	align-items: center;
	font-size: 12.5px;
	color: var(--gray);
	flex-wrap: wrap;
	gap: 12px;
}

.bsm-footer__bottom a {
	color: var(--gray);
	padding: 0;
	display: inline;
}

.bsm-footer__bottom a:hover {
	color: var(--accent-strong);
	text-decoration: none;
}

/* ---- Responsive ---- */

@media (max-width: 1000px) {
	.bsm-footer__grid {
		grid-template-columns: 1fr 1fr;
		gap: 32px;
	}

	.bsm-footer__brand {
		grid-column: 1 / -1;
	}
}

@media (max-width: 600px) {
	.bsm-footer {
		padding: 40px 20px 24px;
		margin-top: 40px;
	}

	.bsm-footer__grid {
		grid-template-columns: 1fr;
	}

	.bsm-footer__bottom {
		flex-direction: column;
		align-items: flex-start;
	}
}
