/**
 * Contact form section and site footer. Mobile-first single column, two
 * columns from tablet (48em) and the three Figma columns from laptop (64em).
 * Breakpoints: only the fixed set documented in CLAUDE-starter.md.
 */

/* Contact form section above the footer */
.contact-cta {
	padding: var(--wp--preset--spacing--90) var(--wp--custom--gutter);
	border-top: 1px solid var(--wp--preset--color--surface-alt);
	background: var(--wp--preset--color--base);
	scroll-margin-top: var(--wp--preset--spacing--60);
}

.contact-cta__card {
	max-inline-size: calc(var(--wp--style--global--content-size) - var(--wp--preset--spacing--90) * 2);
	margin-inline: auto;
	padding: var(--wp--preset--spacing--80) var(--wp--preset--spacing--50);
	background: var(--wp--preset--color--base);
	box-shadow: var(--wp--preset--shadow--soft);
	text-align: center;
}

.contact-cta__eyebrow {
	margin: 0 0 var(--wp--preset--spacing--10);
	font-size: var(--wp--preset--font-size--caption);
	font-weight: 700;
	line-height: var(--wp--custom--line-height--caption);
	letter-spacing: var(--wp--custom--letter-spacing--wide);
	text-transform: uppercase;
}

.contact-cta__title {
	margin: 0 0 var(--wp--preset--spacing--60);
	color: var(--wp--preset--color--primary);
	line-height: var(--wp--custom--line-height--h-1);
}

.contact-cta__highlight {
	color: var(--wp--preset--color--accent);
}

.contact-cta__notice {
	margin: 0;
	padding: var(--wp--preset--spacing--40);
	border: 1px dashed var(--wp--preset--color--divider);
	color: var(--wp--preset--color--foreground-secondary);
	font-size: var(--wp--preset--font-size--body-sm);
}

/* Footer */
.site-footer {
	padding: var(--wp--preset--spacing--80) var(--wp--custom--gutter) var(--wp--preset--spacing--50);
	background: var(--wp--custom--footer--background, var(--wp--preset--color--foreground));
	color: var(--wp--custom--footer--text, var(--wp--preset--color--base));
	font-size: var(--wp--preset--font-size--body-sm);
	line-height: var(--wp--custom--line-height--body-sm);
}

/* The footer pads outside this box, sections inside theirs: from
   contentSize + 2 gutters wide, footer.contentWidth set to
   calc(contentSize - 2 * gutter) puts it on the content edge. */
.site-footer__inner {
	max-inline-size: var(--wp--custom--footer--content-width, var(--wp--style--global--content-size));
	margin-inline: auto;
}

.site-footer__grid,
.site-footer__column {
	display: grid;
	align-content: start;
	gap: var(--wp--preset--spacing--70);
}

.site-footer__brand .custom-logo-link {
	display: inline-block;
}

.site-footer__brand .custom-logo {
	display: block;
	inline-size: auto;
	block-size: var(--wp--custom--logo--footer);
}

/* No logo yet: the firm name as text. */
.site-footer__name {
	color: var(--wp--custom--footer--text, var(--wp--preset--color--base));
	font-family: var(--wp--preset--font-family--display);
	font-size: var(--wp--preset--font-size--h-4);
	line-height: var(--wp--custom--line-height--h-4);
	text-decoration: none;
}

.site-footer__block > * {
	margin-block: 0;
}

/* Footer titles are paragraphs (not in the SEO heading outline) styled as h6. */
.site-footer__title {
	margin-block-end: var(--wp--preset--spacing--20);
	color: inherit;
	font-family: var(--wp--preset--font-family--display);
	font-weight: 400;
	font-size: var(--wp--preset--font-size--h-6);
	line-height: var(--wp--custom--line-height--h-6);
}

.site-footer__block p + p {
	margin-block-start: var(--wp--preset--spacing--30);
}

.site-footer a {
	color: inherit;
	text-decoration: none;
}

/* Links and social icons turn accent on hover and keyboard focus (client
   request; accent on the black footer is 2.81:1, see the client's design notes). The
   focus ring stays base so it remains visible. */
.site-footer a:is(:hover, :focus-visible) {
	color: var(--wp--custom--footer--link-hover, var(--wp--preset--color--accent));
}

.site-footer a:hover {
	text-decoration: underline;
}

.site-footer a:focus-visible {
	outline-color: var(--wp--custom--footer--text, var(--wp--preset--color--base));
}

/* [firm_phone] in the footer texts keeps its underline, so it reads as a
   link without relying on color. */
.site-footer a.firm-phone--inline {
	text-decoration: underline;
}

.firm-phone--footer {
	font-family: var(--wp--preset--font-family--display);
	font-size: var(--wp--preset--font-size--h-5);
	line-height: var(--wp--custom--line-height--h-5);
}

.office__address {
	font-style: normal;
}

/* An office's own line, under its address (no Figma frame shows one). */
.firm-phone--footer-office {
	display: inline-block;
	margin-block-start: var(--wp--preset--spacing--10);
}

.office__hours {
	margin: var(--wp--preset--spacing--20) 0 0;
	padding: 0;
	list-style: none;
}

.office__days {
	font-weight: 700;
}

.office__note {
	margin-block-start: var(--wp--preset--spacing--10);
	font-style: italic;
}

.footer-nav__list {
	display: grid;
	gap: var(--wp--preset--spacing--20);
	margin: 0;
	padding: 0;
	list-style: none;
}

.footer-nav .menu-item__label--pending {
	color: var(--wp--preset--color--divider);
}

.social-links--footer {
	color: var(--wp--custom--footer--text, var(--wp--preset--color--base));
}

.site-footer__bottom {
	margin-block-start: var(--wp--preset--spacing--80);
	padding-block-start: var(--wp--preset--spacing--50);
	border-top: 1px solid color-mix(in srgb, var(--wp--custom--footer--text, var(--wp--preset--color--base)) 48%, transparent);
	font-size: var(--wp--preset--font-size--body-xs);
	line-height: var(--wp--custom--line-height--body-xxs);
	text-align: center;
}

.site-footer__disclaimer > * {
	margin: 0 0 var(--wp--preset--spacing--30);
}

.site-footer__copyright {
	margin: 0;
	text-transform: uppercase;
}

/* tablet: two footer columns; the third column spans the full width below. */
@media (min-width: 48em) {
	.contact-cta__card {
		padding-inline: var(--wp--preset--spacing--90);
	}

	.site-footer__grid {
		grid-template-columns: 1fr 1fr;
		column-gap: var(--wp--preset--spacing--80);
	}

	.site-footer__column:last-child {
		grid-column: 1 / -1;
	}
}

/* laptop: the three Figma columns. */
@media (min-width: 64em) {
	.site-footer__column:last-child {
		grid-column: auto;
	}

	.site-footer__grid {
		/* Figma column widths at 1920: 520 / 296 / 555 with 64px gaps. */
		grid-template-columns: 1.76fr 1fr 1.88fr;
		column-gap: var(--wp--preset--spacing--80);
	}

	.site-footer__column {
		gap: var(--wp--preset--spacing--60);
	}
}
