/**
 * ASlab22 — Footer 10
 * Customizer-managed logo, claim below logo, icon-only social links.
 */

.site-footer {
	width: 100%;
	overflow-x: clip;
	padding: clamp(26px, 3vw, 40px) var(--aslab-gutter) clamp(18px, 2vw, 28px);
	color: var(--aslab-on-dark-muted);
	background: var(--aslab-ink);
	border-top: 0;
	box-shadow: none;
}

.site-footer a { color: inherit; }
.site-footer a:focus-visible,
.footer-cta:focus-visible {
	outline: 2px solid var(--aslab-accent);
	outline-offset: 4px;
}

.site-footer__inner {
	display: grid;
	width: 100%;
	max-width: var(--aslab-wide);
	margin-inline: auto;
	grid-template-columns: minmax(150px, 190px) minmax(0, 1fr) max-content;
	grid-template-areas:
		"brand menu social"
		"copyright copyright copyright";
	align-items: center;
	gap: 20px clamp(28px, 4vw, 64px);
}

.site-footer__brand {
	grid-area: brand;
	display: flex;
	min-width: 0;
	flex-direction: column;
	align-items: flex-start;
	gap: 8px;
}

.site-footer__logo-link,
.site-footer .custom-logo-link {
	display: inline-flex;
	max-width: 100%;
	align-items: center;
	text-decoration: none;
}

.site-footer__logo,
.site-footer .custom-logo {
	display: block;
	width: min(88px, 100%);
	max-width: 100%;
	height: auto;
	object-fit: contain;
	object-position: left center;
}

.site-footer__claim {
	max-width: 12rem;
	margin: 0;
	color: var(--aslab-on-dark-muted);
	font-size: 13px;
	line-height: 1.35;
}

.footer-nav {
	grid-area: menu;
	min-width: 0;
	justify-self: center;
}

.footer-nav__list {
	display: flex;
	margin: 0;
	padding: 0;
	align-items: center;
	justify-content: center;
	flex-wrap: wrap;
	gap: 12px clamp(18px, 2vw, 30px);
	list-style: none;
}

.footer-nav__list li { display: inline-flex; align-items: center; }
.footer-nav__list li::before,
.footer-nav__list li::after,
.footer-nav__list li + li::before { content: none !important; display: none !important; }

.footer-nav__list a {
	display: inline-flex;
	padding-block: .3em;
	align-items: center;
	color: var(--aslab-on-dark);
	font-family: var(--aslab-font-body);
	font-size: var(--aslab-text-sm);
	font-weight: 600;
	line-height: 1.35;
	text-decoration: none;
}
.footer-nav__list a:hover,
.footer-nav__list a:focus-visible,
.footer-nav__list .current-menu-item > a,
.footer-nav__list .current_page_item > a { color: var(--aslab-accent); }

.footer-social {
	grid-area: social;
	justify-self: end;
}

.footer-social__list {
	display: flex;
	margin: 0;
	padding: 0;
	align-items: center;
	justify-content: flex-end;
	flex-wrap: wrap;
	gap: 10px;
	list-style: none;
}

.footer-social__link {
	display: inline-flex;
	width: 44px;
	height: 44px;
	align-items: center;
	justify-content: center;
	padding: 0;
	color: var(--aslab-on-dark-muted);
	text-decoration: none;
	border: 1px solid color-mix(in srgb, var(--aslab-on-dark) 15%, transparent);
	border-radius: 50%;
}

.footer-social__icon {
	display: inline-flex;
	width: 21px;
	height: 21px;
	align-items: center;
	justify-content: center;
}
.footer-social__icon svg { display: block; width: 100%; height: 100%; }
.footer-social__label { display: none !important; }
.footer-social__link:hover,
.footer-social__link:focus-visible {
	color: var(--aslab-on-dark);
	background: color-mix(in srgb, var(--aslab-accent) 16%, transparent);
	border-color: currentColor;
}

.site-footer__contact,
.footer-cta { min-width: 0; }

.site-footer__copyright {
	grid-area: copyright;
	margin: 0;
	padding-top: 12px;
	color: var(--aslab-on-dark-muted);
	font-size: 13px;
	line-height: 1.5;
	border-top: 1px solid color-mix(in srgb, var(--aslab-on-dark) 14%, transparent);
}

@media (max-width: 1100px) {
	.site-footer__inner {
		grid-template-columns: minmax(150px, 190px) 1fr max-content;
		grid-template-areas:
			"brand menu social"
			"copyright copyright copyright";
		gap: 18px 28px;
	}
	.footer-nav__list { justify-content: flex-start; gap: 10px 18px; }
}

@media (max-width: 820px) {
	.site-footer__inner {
		grid-template-columns: minmax(0, 1fr) max-content;
		grid-template-areas:
			"brand social"
			"menu menu"
			"copyright copyright";
	}
	.footer-nav { justify-self: start; }
	.footer-nav__list { justify-content: flex-start; }
}

@media (max-width: 600px) {
	.site-footer { padding-top: 24px; padding-bottom: 16px; }
	.site-footer__inner {
		grid-template-columns: minmax(0, 1fr);
		grid-template-areas: "brand" "menu" "social" "copyright";
		gap: 14px;
	}
	.site-footer__logo,
	.site-footer .custom-logo { width: 76px; }
	.footer-social { justify-self: start; }
	.footer-social__list { justify-content: flex-start; }
	.footer-social__link { width: 40px; height: 40px; }
	.site-footer__copyright { padding-top: 10px; }
}

/* ------------------------------------------------------------------
 * FOOTER-SPACING-POLISH-12
 * Keep Customizer-managed identity and reduce the empty gap after H06.
 * ------------------------------------------------------------------ */
.site-footer {
	padding-top: clamp(20px, 2.2vw, 30px);
	padding-bottom: clamp(14px, 1.8vw, 22px);
}

.site-footer__inner {
	gap: 14px clamp(22px, 3.2vw, 48px);
}

.site-footer__brand {
	gap: 6px;
}

.site-footer__claim {
	font-size: 12px;
	line-height: 1.3;
}

.site-footer__copyright {
	padding-top: 9px;
}
