/**
 * LTS footer (T2, Figma 107:1137): Hearth stripe, Deep band, logo + blurb,
 * Explore menu, Stay in touch (outline CTA, email, socials), Tide rule, (c) line.
 * Markup = parts/footer.html (rung 4: the parent footer is starter copy).
 * Grid = 622 / 310 / 284 on the 1216 column (Figma x 112 / 734 / 1044).
 */

.lts-footer {
	border-top: var(--wp--custom--layout--header-stripe) solid
		var(--wp--preset--color--accent);
	padding-top: 3.1875rem; /* headings sit 51px under the band top. */
	padding-bottom: 2.1875rem; /* 35 under the (c) row (Alain 10-16; Figma drew 134). Below 1024 stays 48. */
	margin-block-start: 0;
	--kd-nav-link: var(
		--wp--preset--color--base
	); /* the parent forces menu links to this with !important. */
}

.lts-footer__grid {
	display: grid;
	grid-template-columns: 622fr 310fr 284fr;
	column-gap: 0;
	row-gap: 2.5rem;
	align-items: start;
	max-width: var(--wp--style--global--content-size);
	margin-inline: auto;
}
.lts-footer__grid > * {
	margin-block: 0;
}

.lts-footer__brand > *,
.lts-footer__explore > *,
.lts-footer__touch > * {
	margin-block: 0; /* WP flow-layout gaps off: spacing below is explicit. */
}

.lts-footer .lts-footer__brand .lts-footer__logo {
	display: block;
	width: fit-content;
	margin-block-start: -0.5rem;
	margin-inline-start: calc(-1 * var(--wp--custom--layout--logo-offset));
}
.lts-footer__logo img {
	width: 16.5rem;
	height: auto;
}

/* Blurb: Regular 18, capped at 275px. */
.lts-footer__blurb {
	max-width: 17.1875rem;
	margin-block-start: 1.375rem;
	color: var(--wp--preset--color--base);
	font-size: var(--wp--preset--font-size--large);
	line-height: 1.2;
}

.lts-footer__heading {
	margin: 0 0 0.75rem;
	color: var(--wp--preset--color--tint);
	font-size: var(--wp--custom--typography--eyebrow);
	font-weight: var(--wp--custom--typography--weight-medium);
	letter-spacing: 0;
	line-height: 1.25;
}

/* Explore links + the email: Regular 14 (Figma 14.72), +0.13em, uppercase. */
.lts-footer .kd-menu-wrap--footer {
	justify-content: flex-start;
}
.lts-footer .kd-menu--footer {
	flex-direction: column;
	align-items: flex-start;
	gap: 0;
	font-size: var(--wp--preset--font-size--small);
	font-weight: 400;
}
.lts-footer .kd-menu--footer li {
	padding-top: 0.375rem;
}
.lts-footer .kd-menu--footer a,
.lts-footer__email a {
	color: var(--wp--preset--color--base);
	font-size: var(--wp--preset--font-size--small);
	letter-spacing: var(--wp--custom--typography--tracking-chip);
	line-height: 1.735;
	text-decoration: none;
	text-transform: uppercase;
}
.lts-footer .kd-menu--footer a:hover,
.lts-footer__email a:hover {
	color: var(--wp--preset--color--base);
	text-decoration: underline;
	text-decoration-color: var(--wp--preset--color--accent);
	text-decoration-thickness: 2px;
	text-underline-offset: 0.3em;
	opacity: 1;
}

/* Stay in touch. */
.lts-footer__cta {
	margin-block: 1.25rem 0;
}
.lts-footer .lts-footer__cta .wp-block-button .wp-block-button__link {
	min-height: 2.375rem; /* Figma 157 x 38. */
	padding: 0.25rem 1.5rem;
	font-size: 0.75rem;
	letter-spacing: var(--wp--custom--typography--tracking-button);
}
.lts-footer__email {
	margin: 2.8125rem 0 0;
	line-height: 1.735;
}
.lts-footer .kd-social-wrap {
	justify-content: flex-start;
	margin-top: 1.25rem;
}
.lts-footer .kd-social-menu {
	gap: 0.75rem;
}
.lts-footer .kd-social-menu .kd-social-item a svg {
	fill: currentcolor;
}
/* No Social menu assigned (no real profiles yet, J7): the slot stays, empty. The parent prints an
   editor-only "Assign a 'social' menu" link there; hide it so editors see the footer as visitors do
   (Alain 10-13). Assign a Social menu in Appearance > Menus and the icons come back. */
/* The parent replaces the empty mount with the link itself, so target it in the "Stay in touch"
   column (the social mount's only home in both footers; the Explore menu placeholder is elsewhere). */
.lts-footer .lts-footer__touch > .kd-nav-empty {
	display: none;
}

/* Rule: 1px Tide, 1216 wide, 56px under the columns. */
.lts-footer .lts-footer__rule {
	max-width: var(--wp--style--global--content-size);
	margin: 3.1875rem auto 0;
	height: 1px;
	border: 0;
	opacity: 1;
}
/* Legal: Regular 18, centred. Tide is 3.7:1 on Deep (fails), so Horizon. */
/* Bottom row: copyright centred as drawn, the KD credit on the right (Kelsey 10-16, as dovercourt.org).
   Three tracks keep the copyright on the page's centre axis whatever the credit's width. */
.lts-footer__bottom {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
	align-items: center;
	column-gap: 1.5rem;
	margin: 1.9375rem 0 0;
}

.lts-footer__bottom > .lts-footer__legal {
	grid-column: 2;
	margin: 0;
}

.lts-footer__credit {
	grid-column: 3;
	justify-self: end;
	margin: 0;
	color: var(--wp--preset--color--tint);
	font-size: var(--wp--preset--font-size--small);
	line-height: 1;
}

.lts-powered-by {
	display: inline-flex;
	align-items: center;
	gap: 0.625rem;
}

.lts-powered-by__link {
	display: inline-flex;
	border-radius: 0.25rem;
}

.lts-powered-by__link:focus-visible {
	outline: 2px solid var(--wp--preset--color--tint);
	outline-offset: 3px;
}

.lts-powered-by__link img {
	display: block;
	width: 1.5rem;
	height: 1.5rem;
	object-fit: contain;
}

.lts-footer__legal {
	margin: 1.9375rem 0 0;
	color: var(--wp--preset--color--tint);
	font-size: var(--wp--preset--font-size--large);
	line-height: 1;
}

@media (max-width: 1023.98px) {
	.lts-footer {
		padding-top: 3rem;
		padding-bottom: 3rem;
	}
	.lts-footer__grid {
		grid-template-columns: 1fr 1fr;
		column-gap: 2.5rem;
	}
	.lts-footer__brand {
		grid-column: 1 / -1;
	}
}
@media (max-width: 767.98px) {
	.lts-footer__grid {
		grid-template-columns: 1fr;
	}
	.lts-footer__logo img {
		width: 13.5rem;
	}
	.lts-footer .lts-footer__rule {
		margin-top: 2.5rem;
	}
	.lts-footer__legal {
		margin-top: 1.5rem;
		line-height: 1.4;
	}

	/* Stacked and centred: copyright, then the credit. */
	.lts-footer__bottom {
		grid-template-columns: minmax(0, 1fr);
		row-gap: 1rem;
		justify-items: center;
		margin-top: 1.5rem;
	}

	.lts-footer__bottom > .lts-footer__legal,
	.lts-footer__credit {
		grid-column: 1;
		justify-self: center;
	}
}
