/**
 * Leno Design — global footer (compact).
 */

.site-footer {
	margin-block-start: 0;
	background-color: var(--ld-color-brand);
	color: var(--ld-color-on-brand);
}

.ld-footer__main {
	display: grid;
	gap: var(--ld-space-5);
	padding-block: var(--ld-space-6);
}

@media (min-width: 768px) {
	.ld-footer__main {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (min-width: 1024px) {
	.ld-footer__main {
		grid-template-columns: minmax(0, 1.35fr) repeat(auto-fit, minmax(10rem, 1fr));
		gap: var(--ld-space-6);
		padding-block: var(--ld-space-8);
	}
}

.ld-footer__logo .custom-logo-link {
	display: inline-flex;
	padding: var(--ld-space-1) var(--ld-space-2);
	border-radius: var(--ld-radius-md);
	background-color: var(--ld-color-surface);
}

.ld-footer__logo .custom-logo {
	width: auto;
	height: 2.35rem;
	max-width: 9.5rem;
	object-fit: contain;
}

.ld-footer__site-title {
	color: var(--ld-color-on-brand);
	font-size: var(--ld-font-size-h3);
	font-weight: var(--ld-font-weight-bold);
	text-decoration: none;
}

.ld-footer__description {
	margin: var(--ld-space-3) 0 0;
	max-width: 22rem;
	color: rgb(255 255 255 / 0.82);
	font-size: var(--ld-font-size-body-sm);
	line-height: var(--ld-line-height-body);
}

.ld-footer__social {
	display: flex;
	flex-wrap: wrap;
	gap: var(--ld-space-2);
	margin: var(--ld-space-4) 0 0;
	padding: 0;
	list-style: none;
}

.ld-footer__social-link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.5rem;
	height: 2.5rem;
	border-radius: var(--ld-radius-md);
	border: 1px solid rgb(255 255 255 / 0.22);
	color: var(--ld-color-on-brand);
	text-decoration: none;
}

.ld-footer__social-link:hover {
	background-color: rgb(255 255 255 / 0.1);
	color: var(--ld-color-on-brand);
}

.ld-footer__heading {
	margin: 0 0 var(--ld-space-3);
	color: var(--ld-color-on-brand);
	font-size: var(--ld-font-size-body-sm);
}

.ld-footer__list,
.ld-footer__contact,
.ld-footer__legal-list {
	margin: 0;
	padding: 0;
	list-style: none;
}

.ld-footer__list li,
.ld-footer__legal-list li {
	margin: 0 0 0.55rem;
}

.ld-footer__list a,
.ld-footer__legal-list a,
.ld-footer__contact a {
	color: rgb(255 255 255 / 0.86);
	text-decoration: none;
	font-size: var(--ld-font-size-body-sm);
}

.ld-footer__list a:hover,
.ld-footer__legal-list a:hover,
.ld-footer__contact a:hover {
	color: var(--ld-color-on-brand);
}

.ld-footer__contact {
	overflow-wrap: anywhere;
	display: grid;
	gap: var(--ld-space-3);
}

.ld-footer__contact-item {
	display: flex;
	gap: var(--ld-space-2);
	align-items: flex-start;
	margin: 0;
	color: rgb(255 255 255 / 0.86);
	font-size: var(--ld-font-size-body-sm);
	line-height: var(--ld-line-height-snug);
}

.ld-footer__contact-icon {
	display: inline-flex;
	color: rgb(255 255 255 / 0.9);
	flex: 0 0 auto;
	margin-block-start: 0.1rem;
}

.ld-footer__bottom {
	border-block-start: 1px solid rgb(255 255 255 / 0.14);
}

.ld-footer__bottom-inner {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: var(--ld-space-2);
	padding-block: var(--ld-space-4);
}

.ld-footer__credit {
	margin: 0;
	color: rgb(255 255 255 / 0.72);
	font-size: var(--ld-font-size-label);
}

.ld-footer__farcom {
	display: inline-flex;
	align-items: center;
}

.ld-footer__farcom:hover {
	text-decoration: none;
}

.ld-footer__farcom img {
	width: auto;
	height: 1.5rem;
	max-width: 7.5rem;
	object-fit: contain;
}

.ld-footer__farcom:focus-visible {
	outline: 2px solid var(--ld-color-on-brand);
	outline-offset: 4px;
}

.ld-footer__legal-list {
	display: flex;
	flex-wrap: wrap;
	gap: var(--ld-space-2) var(--ld-space-4);
}

.ld-footer__legal-list li {
	margin: 0;
}

@media (min-width: 1024px) {
 .ld-footer__main { grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); padding-block: 2.5rem; gap: 3rem; }
 .ld-footer__col { border-inline-start: 1px solid #ffffff26; padding-inline-start: 2rem; }
}
