/* ==========================================================
   Site footer
   ========================================================== */

.site-footer {
	background:
		linear-gradient(180deg, var(--c-ivory-dark) 0%, var(--c-marble-light) 100%);
	color: var(--c-text);
	border-top: 1px solid rgba(201, 169, 110, 0.18);
}

.site-footer__main {
	padding-block: 1.75rem;
}

.site-footer__grid {
	display: grid;
	grid-template-columns: 1.7fr 1fr 1fr;
	column-gap: clamp(2rem, 5vw, 5rem);
	align-items: start;
}

/* --- Brand column --- */
.site-footer__brand {
	max-width: 440px;
}

.brand--footer {
	display: inline-flex;
	transform: translateX(-4px);
}

.brand--footer .brand__logo {
	height: 44px;
}

.site-footer__desc {
	max-width: 360px;
	margin-top: 0.65rem;
	font-size: var(--fs-sm);
	line-height: 1.55;
	color: var(--c-text-2);
}

/* --- Social --- */
.site-footer__social-label {
	margin-top: 1.4rem;
	font-family: var(--f-body);
	font-weight: 700;
	font-size: var(--fs-xs);
	text-transform: uppercase;
	letter-spacing: 0.08em;
	line-height: 1;
	color: var(--c-text);
}

.site-footer__social {
	display: flex;
	gap: 0.6rem;
	margin-top: 0.7rem;
}

.site-footer__social a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 38px;
	height: 38px;
	border-radius: var(--r-full);
	border: 1px solid rgba(201, 169, 110, 0.35);
	color: var(--c-text-2);
	transition: color var(--dur-fast), border-color var(--dur-fast),
		background var(--dur-fast), transform var(--dur-fast);
}

.site-footer__social a:hover {
	color: #fff;
	background: var(--c-accent);
	border-color: var(--c-accent);
	transform: translateY(-2px);
}

.site-footer__social svg {
	width: 18px;
	height: 18px;
}

/* --- Column headings --- */
.site-footer__heading {
	font-family: var(--f-body);
	font-weight: 700;
	font-size: var(--fs-xs);
	text-transform: uppercase;
	letter-spacing: 0.08em;
	line-height: 1;
	margin-bottom: 0.8rem;
}

/* --- Links --- */
.site-footer__links {
	display: flex;
	flex-direction: column;
	gap: 0.65rem;
}

.site-footer__links a {
	font-size: var(--fs-sm);
	color: var(--c-text-2);
	line-height: 1.45;
}

.site-footer__links a { transition: color var(--dur-fast); }

.site-footer__links a:hover {
	color: var(--c-accent);
}

/* --- Bottom bar --- */
.site-footer__bottom {
	border-top: 1px solid var(--c-border);
	padding: 0.8rem 0;
}

.site-footer__bottom .flex-between {
	display: flex;
	flex-wrap: nowrap;
	align-items: center;
	justify-content: space-between;
	gap: var(--sp-lg);
}

.site-footer__copy {
	font-size: var(--fs-xs);
	color: var(--c-text-muted);
	margin: 0;
	white-space: nowrap;
}

/* --- Payment banner --- */
.site-footer__payment {
	display: flex;
	align-items: center;
	flex-shrink: 0;
}

.site-footer__barion-banner {
	height: 28px;
	width: auto;
	opacity: 0.85;
	transition: opacity var(--dur-fast);
}

.site-footer__barion-banner:hover {
	opacity: 1;
}

/* --- Responsive --- */
@media (max-width: 1024px) {
	.site-footer__grid {
		grid-template-columns: 1.4fr 1fr 1fr;
		column-gap: var(--sp-2xl);
	}
}

@media (max-width: 640px) {
	.site-footer__grid {
		grid-template-columns: 1fr 1fr;
		gap: var(--sp-lg);
		align-items: start;
		justify-content: stretch;
	}

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

	.site-footer__bottom .flex-between {
		flex-direction: column;
		align-items: flex-start;
		gap: var(--sp-sm);
	}

	.site-footer__barion-banner {
		height: 20px;
	}

	.site-footer__copy {
		font-size: 0.625rem;
	}
}
