/* ==========================================================================
   Block: Footer
   1920/1440 — 5 равных колонок · 1024 — «о компании» сверху, ниже 3 меню + контакты ·
   375 — логотип, контакты, преимущества, меню в 2 колонки
   ========================================================================== */

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

.site-footer__top {
	display: flex;
	align-items: flex-start;
	background-color: var(--c-dark-1);
}

.site-footer__top > * {
	flex: 1 1 0;
	min-width: 0;
}

/* О компании: логотип + преимущества */

.site-footer__about {
	display: flex;
	flex-direction: column;
	gap: 40px;
	padding: 40px 60px;
}

.site-footer__logo {
	display: flex;
	align-items: center;
	gap: 12px;
}

.site-footer__logo-text {
	font-size: 36px;
	font-weight: 500;
	line-height: 1;
	white-space: nowrap;
	color: var(--c-orange);
}

.site-footer__logo-tagline {
	width: 159px;
	font-size: 14px;
	line-height: 1.2;
}

.site-footer__features {
	display: flex;
	flex-direction: column;
	gap: 32px;
}

/* Колонки меню */

.site-footer__group {
	/* в макете колонка 384 при контенте 392 — низ поджат до 32 */
	padding: 40px 60px 32px;
}

.site-footer__list {
	display: flex;
	flex-direction: column;
	gap: 20px;
}

.site-footer__list .nav-link {
	width: 100%;
}

/* Контакты */

.site-footer__contacts {
	display: flex;
	flex-direction: column;
	gap: 20px;
	padding: 40px 60px;
}

.site-footer__contacts-title {
	width: 100%;
	pointer-events: none;
}

.site-footer__contacts-body {
	display: flex;
	flex-direction: column;
	gap: 32px;
}

.site-footer__info {
	display: flex;
	flex-direction: column;
	gap: 16px;
}

.site-footer__info-link {
	display: flex;
	align-items: center;
	gap: 12px;
	font-size: 16px;
	font-weight: 600;
	line-height: 1.2;
	white-space: nowrap;
	transition: color var(--t-fast);
}

.site-footer__info-link:hover {
	color: var(--c-grey);
}

.site-footer__info-icon {
	width: 24px;
	height: 24px;
	color: var(--c-orange);
}

.site-footer__info-icon--mail {
	--icon-w: 20px;
	--icon-h: 16px;

	-webkit-mask-image: url("../../../assets/icons/mail-24.svg");
	mask-image: url("../../../assets/icons/mail-24.svg");
}

.site-footer__info-icon--phone {
	-webkit-mask-image: url("../../../assets/icons/phone-24.svg");
	mask-image: url("../../../assets/icons/phone-24.svg");
}

.site-footer__divider {
	width: 100%;
	height: 1px;
	margin: 0;
	border: 0;
	background-color: rgba(255, 255, 255, 0.7);
}

.site-footer__address {
	display: flex;
	flex-direction: column;
	gap: 16px;
}

.site-footer__address-item {
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: 14px;
	line-height: 1.2;
}

.site-footer__address-icon {
	width: 16px;
	height: 16px;
}

.site-footer__address-icon--pin {
	-webkit-mask-image: url("../../../assets/icons/pin-16.svg");
	mask-image: url("../../../assets/icons/pin-16.svg");
}

.site-footer__address-icon--time {
	-webkit-mask-image: url("../../../assets/icons/time-16.svg");
	mask-image: url("../../../assets/icons/time-16.svg");
}

.site-footer__address-mid,
.site-footer__address-short {
	display: none;
}

/* Нижняя строка */

.site-footer__bottom {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 20px;
	padding: 32px 60px;
	background-color: var(--c-dark-2);
}

.site-footer__copy {
	font-size: 18px;
	line-height: 1.2;
}

.site-footer__copy-br {
	display: none;
}

.site-footer__legal {
	display: contents;
}

/* ==========================================================================
   1440
   ========================================================================== */

@media (max-width: 1919.98px) {
	.site-footer__about {
		padding: 32px 40px 40px;
	}

	.site-footer__logo {
		gap: 10px;
	}

	.site-footer__logo-text {
		font-size: 32px;
	}

	.site-footer__logo-tagline {
		width: 137px;
		font-size: 12px;
	}

	.site-footer__features {
		gap: 28px;
	}

	.site-footer__group {
		padding: 32px 40px;
	}

	.site-footer__list {
		gap: 16px;
	}

	.site-footer__contacts {
		padding: 32px 40px 40px;
	}

	.site-footer__contacts-body {
		gap: 28px;
	}

	.site-footer__info {
		gap: 14px;
	}

	.site-footer__info-link {
		gap: 8px;
		font-size: 14px;
	}

	.site-footer__info-icon {
		width: 20px;
		height: 20px;
	}

	.site-footer__info-icon--mail {
		--icon-w: 16.6667px;
		--icon-h: 13.3333px;
	}

	.site-footer__info-icon--phone {
		--icon-w: 20px;
		--icon-h: 20px;
	}

	.site-footer__address {
		gap: 10px;
	}

	.site-footer__address-item {
		font-size: 12px;
		white-space: nowrap;
	}

	.site-footer__address-icon {
		width: 14px;
		height: 14px;
	}

	.site-footer__address-icon--pin {
		-webkit-mask-image: url("../../../assets/icons/pin-14.svg");
		mask-image: url("../../../assets/icons/pin-14.svg");
	}

	.site-footer__address-icon--time {
		-webkit-mask-image: url("../../../assets/icons/time-14.svg");
		mask-image: url("../../../assets/icons/time-14.svg");
	}

	.site-footer__address-full {
		display: none;
	}

	.site-footer__address-mid {
		display: inline;
	}

	.site-footer__bottom {
		padding: 24px 40px;
	}

	.site-footer__copy {
		font-size: 16px;
	}
}

/* ==========================================================================
   1024
   ========================================================================== */

@media (max-width: 1439.98px) {
	.site-footer__top {
		display: grid;
		grid-template-columns: repeat(3, minmax(0, 1fr)) 288px;
	}

	.site-footer__about {
		grid-column: 1 / -1;
		gap: 24px;
		padding: 28px;
	}

	.site-footer__features {
		flex-direction: row;
		justify-content: space-between;
		gap: 0;
	}

	.site-footer__features .feature {
		flex: 1 1 0;
		min-width: 0;
	}

	.site-footer__group {
		padding: 28px;
	}

	.site-footer__bottom {
		flex-direction: column;
		align-items: flex-start;
		gap: 24px;
		padding: 28px;
	}

	.site-footer__copy {
		font-size: 14px;
	}

	.site-footer__legal {
		display: flex;
		flex-direction: column;
	}
}

/* плашки преимуществ — в макетах 1024 и 375 */
@media (max-width: 1439.98px) {
	.site-footer__features .feature {
		gap: 12px;
		padding-right: 4px;
		border-radius: 4px;
		background-color: rgba(255, 255, 255, 0.05);
	}
}

/* ==========================================================================
   375
   ========================================================================== */

@media (max-width: 1023.98px) {
	.site-footer__top {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		row-gap: 12px;
		padding-bottom: 24px;
	}

	.site-footer__about {
		display: contents;
	}

	.site-footer__logo {
		grid-column: 1 / -1;
		grid-row: 1;
		padding: 24px 14px 0;
	}

	.site-footer__contacts {
		grid-column: 1 / -1;
		grid-row: 2;
		padding: 12px 14px 0;
	}

	.site-footer__features {
		grid-column: 1 / -1;
		grid-row: 3;
		flex-direction: column;
		gap: 8px;
		/* отступ до меню: 36 − row-gap 12 */
		padding: 12px 14px 24px;
	}

	.site-footer__group {
		padding: 14px;
	}

	.site-footer__group:nth-of-type(1) {
		grid-column: 1;
		grid-row: 4;
	}

	.site-footer__group:nth-of-type(2) {
		grid-column: 1;
		grid-row: 5;
	}

	.site-footer__group:nth-of-type(3) {
		grid-column: 2;
		grid-row: 4;
	}

	.site-footer__contacts-title,
	.site-footer__divider {
		display: none;
	}

	.site-footer__contacts-body {
		flex-direction: row;
		gap: 28px;
	}

	.site-footer__info {
		flex-shrink: 0;
		gap: 8px;
		width: 128px;
	}

	.site-footer__info-link {
		font-size: 12px;
		font-weight: 400;
	}

	.site-footer__info-icon {
		width: 16px;
		height: 16px;
		color: var(--c-white);
	}

	.site-footer__info-icon--mail {
		--icon-w: 13.3333px;
		--icon-h: 10.6667px;

		-webkit-mask-image: url("../../../assets/icons/mail-16.svg");
		mask-image: url("../../../assets/icons/mail-16.svg");
	}

	.site-footer__info-icon--phone {
		--icon-w: 16px;
		--icon-h: 16px;

		-webkit-mask-image: url("../../../assets/icons/phone-16.svg");
		mask-image: url("../../../assets/icons/phone-16.svg");
	}

	.site-footer__address {
		flex: 1 1 0;
		min-width: 0;
	}

	.site-footer__address-item {
		white-space: normal;
	}

	.site-footer__address-mid {
		display: none;
	}

	.site-footer__address-short {
		display: inline;
	}

	.site-footer__bottom {
		gap: 12px;
		padding: 20px 14px;
	}

	.site-footer__copy-br {
		display: inline;
	}

	.site-footer__legal {
		gap: 8px;
	}
}
