/* UWebbz Technology - Footer (global chrome). Light, four columns.
   See brand guidelines ch. 10. */

footer.wp-block-template-part {
	margin-block-start: 0 !important;
}

.uw-footer {
	margin-block-start: 0 !important;
	padding: var(--wp--preset--spacing--50) 1.5rem 0;
	border-top: 1px solid var(--wp--preset--color--border);
	font-size: var(--wp--preset--font-size--small);
	color: var(--wp--preset--color--gray);
}

.uw-footer :is(.uw-footer-grid, .uw-footer-bottom) {
	max-width: 1400px;
	margin-inline: auto;
}

.uw-footer-grid {
	display: grid;
	grid-template-columns: minmax(0, 1.5fr) repeat(3, minmax(0, 1fr));
	gap: 2.5rem 3rem;
	padding-bottom: var(--wp--preset--spacing--40);
}

.uw-footer-grid > *,
.uw-footer-grid > * > * {
	margin-block: 0 !important;
}

/* Brand column */
.uw-footer-brand {
	display: flex;
	flex-direction: column;
	gap: 1.1rem;
}

.uw-footer-logo img,
.uw-footer .custom-logo-link img {
	max-height: 36px;
	width: auto;
}

.uw-footer-about {
	max-width: 36ch;
	line-height: 1.65;
}

/* Link columns */
.uw-footer-heading {
	margin: 0 0 1rem !important;
	font-family: var(--wp--preset--font-family--body);
	font-size: var(--wp--preset--font-size--x-small) !important;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--wp--preset--color--contrast);
}

.uw-footer-links {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	gap: 0.7rem;
}

.uw-footer-links a {
	color: var(--wp--preset--color--gray);
	text-decoration: none;
	transition: color var(--wp--custom--motion--fast) ease;
}

.uw-footer-links a:hover {
	color: var(--wp--preset--color--primary);
}

.uw-footer-links a[aria-current="page"] {
	color: var(--wp--preset--color--primary);
	font-weight: 600;
}

/* Contact column */
.uw-footer-contact-list {
	gap: 0.9rem;
}

.uw-footer-contact-list li {
	color: var(--wp--preset--color--contrast);
}

.uw-footer-label {
	display: block;
	margin-bottom: 0.1rem;
	font-size: 0.7rem;
	font-weight: 600;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--wp--preset--color--gray);
}

.uw-footer-contact-list a {
	color: var(--wp--preset--color--contrast);
}

.uw-footer-cta {
	margin-top: 1.25rem !important;
}

/* Bottom bar */
.uw-footer-bottom {
	padding: 1.4rem 0 1.6rem;
	border-top: 1px solid var(--wp--preset--color--border);
	font-size: 0.85rem;
	gap: 0.75rem 2rem;
}

.uw-footer-bottom p {
	margin: 0;
}

.uw-footer-bottom-links {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem 1.75rem;
}

.uw-footer-bottom a {
	color: var(--wp--preset--color--gray);
	text-decoration: none;
	transition: color var(--wp--custom--motion--fast) ease;
}

.uw-footer-bottom a:hover {
	color: var(--wp--preset--color--primary);
}

@media (max-width: 1023px) {
	.uw-footer-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.uw-footer-brand {
		grid-column: 1 / -1;
	}
}

@media (max-width: 640px) {
	.uw-footer {
		padding-inline: 1rem;
	}

	.uw-footer-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 2.25rem 1.5rem;
	}

	.uw-footer-contact {
		grid-column: 1 / -1;
	}
}
