/**
 * Footer (Figma: Footer/Strip Desktop/Tablet/Mobile, Appointment badge, Text link Surface=Dark, Ornament divider).
 * Tokens only. Layouts: mobile below 768px (custom.breakpoint.tablet), tablet 768–1279px, desktop from 1280px
 * (custom.breakpoint.footer-wide: the five desktop columns need about 1,150px of content width).
 */

.aa-footer {
	display: flex;
	flex-direction: column;
	gap: var(--wp--preset--spacing--32);
	padding: var(--wp--preset--spacing--64) var(--wp--preset--spacing--margin) var(--wp--preset--spacing--32);
	background-color: var(--wp--custom--color--bg--footer);
	color: var(--wp--custom--color--text--primary);
}

/* The background and torn edge run full width; the contents line up with the header and page container
   (owner decision, 2026-10-21; deviation #41). */
.aa-footer > * {
	box-sizing: border-box;
	inline-size: 100%;
	max-inline-size: var(--wp--style--global--content-size);
	margin-inline: auto;
}

/* ---------- Columns: mobile first (single centred column) ---------- */
.aa-footer__columns {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: var(--wp--preset--spacing--32);
}
.aa-footer__rule {
	display: none;
	inline-size: var(--wp--custom--border-width--hairline);
	align-self: stretch;
	background-color: var(--wp--custom--color--border--gold-subtle);
}
.aa-footer__trust {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: var(--wp--preset--spacing--32);
	inline-size: 100%;
}
/* Figma's footer logo box; header.css sets the shared logo sizing rules. */
.aa-logo--footer img {
	inline-size: var(--wp--custom--logo--footer-width);
	max-block-size: var(--wp--custom--logo--footer-height);
}
/* Client seal asset, 328×218 (2x) shown at Figma's 164×109. */
.aa-footer__seal {
	display: block;
	width: var(--wp--custom--footer--seal-width);
	max-width: 100%;
	height: auto;
}

/* Appointment badge: bg/nav, gold hairline, H2 statement in the gold-text gradient, muted supporting line. */
.aa-badge {
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	gap: var(--wp--preset--spacing--4);
	inline-size: 100%;
	padding: var(--wp--preset--spacing--16) var(--wp--preset--spacing--24);
	border: var(--wp--custom--border-width--hairline) solid var(--wp--custom--color--border--gold);
	border-radius: var(--wp--custom--radius--sm);
	background-color: var(--wp--custom--color--bg--nav);
	text-align: center;
}
.aa-badge__statement {
	margin: 0;
	font-size: var(--wp--preset--font-size--h-2);
	font-style: italic;
	font-weight: 700;
	line-height: var(--wp--custom--line-height--h-2);
	background-image: var(--wp--preset--gradient--gold-text);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
}
.aa-badge__line {
	margin: 0;
	color: var(--wp--custom--color--text--muted);
	font-size: var(--wp--preset--font-size--body-small);
	line-height: var(--wp--custom--line-height--body-small);
}
@media (forced-colors: active) {
	.aa-badge__statement { background-image: none; color: CanvasText; }
}

/* ---------- Contact and footer links (Figma: Text link, Surface=Dark) ---------- */
.aa-footer__contact {
	display: flex;
	flex-direction: column;
	gap: var(--wp--preset--spacing--4);
}
.aa-footer__contact-list {
	display: flex;
	flex-direction: column;
	gap: var(--wp--preset--spacing--4);
	margin: 0;
	padding: 0;
	list-style: none;
}
.aa-footer__contact-list li {
	display: flex;
	align-items: center;
	gap: var(--wp--preset--spacing--8);
}
/* Phosphor Thin icons (MIT, assets/icons/phosphor), filled with the gold-text gradient through a mask. Decorative. */
.aa-icon {
	flex: none;
	inline-size: var(--wp--custom--icon--size);
	block-size: var(--wp--custom--icon--size);
	background-image: var(--wp--preset--gradient--gold-text);
	-webkit-mask: var(--aa-icon) center / contain no-repeat;
	mask: var(--aa-icon) center / contain no-repeat;
}
.aa-icon--phone { --aa-icon: url("../icons/phosphor/phone-thin.svg"); }
.aa-icon--email { --aa-icon: url("../icons/phosphor/envelope-simple-thin.svg"); }
.aa-icon--address { --aa-icon: url("../icons/phosphor/map-pin-thin.svg"); }
@media (forced-colors: active) {
	.aa-icon { background: CanvasText; }
}

.aa-nav-footer,
.aa-nav-footer .wp-block-navigation__container {
	gap: var(--wp--preset--spacing--4);
}
/* Footer/Link text style, gold-light, no underline at rest; hover gold-hover + underline; focus bg/nav + ring. */
.aa-footer__address,
.aa-text-link,
:root .aa-nav-footer .wp-block-navigation-item__content {
	box-sizing: border-box;
	display: inline-block;
	align-content: center;
	min-height: var(--wp--custom--tap-target--base);
	padding: var(--wp--preset--spacing--4);
	border-radius: var(--wp--custom--radius--sm);
	color: var(--wp--custom--color--accent--gold-light);
	font-size: var(--wp--preset--font-size--footer-link);
	font-style: normal;
	font-weight: 400;
	letter-spacing: normal;
	line-height: var(--wp--custom--line-height--footer-link);
	text-decoration: none;
	text-transform: none;
	text-underline-offset: var(--wp--preset--spacing--4);
}
.aa-text-link:hover,
:root .aa-nav-footer .wp-block-navigation-item__content:hover {
	color: var(--wp--custom--color--accent--gold-hover);
	text-decoration: underline var(--wp--custom--border-width--hairline) currentColor;
}
.aa-text-link:focus-visible,
:root .aa-nav-footer .wp-block-navigation-item__content:focus-visible {
	color: var(--wp--custom--color--accent--gold-hover);
	background-color: var(--wp--custom--color--bg--nav);
	outline: var(--wp--custom--border-width--focus) solid transparent;
	box-shadow: var(--wp--preset--shadow--focus-ring);
}

/* ---------- Ornament and copyright ---------- */
.aa-footer__ornament {
	inline-size: 100%;
}
.aa-footer__copyright {
	margin-block: 0;
	color: var(--wp--custom--color--text--muted);
	font-size: var(--wp--preset--font-size--body-small);
	line-height: var(--wp--custom--line-height--body-small);
	text-align: center;
}

/* ---------- Tablet (custom.breakpoint.tablet = 768px): two columns ---------- */
@media (min-width: 768px) {
	.aa-footer__columns {
		display: grid;
		grid-template-columns: 1fr auto 1fr;
		grid-template-areas:
			"brand rule contact"
			"trust rule contact";
		align-items: center;
		column-gap: var(--wp--preset--spacing--32);
		row-gap: var(--wp--preset--spacing--16);
	}
	.aa-footer__brand { grid-area: brand; justify-self: center; }
	.aa-footer__trust { grid-area: trust; gap: var(--wp--preset--spacing--16); }
	.aa-footer__columns > .aa-footer__rule:nth-of-type(2) { display: block; grid-area: rule; }
	.aa-footer__contact { grid-area: contact; justify-self: start; }
}

/* ---------- Desktop (custom.breakpoint.footer-wide = 1280px): five columns in one row ---------- */
@media (min-width: 1280px) {
	.aa-footer__columns {
		display: flex;
		flex-direction: row;
		align-items: center;
		justify-content: space-between;
		gap: var(--wp--preset--spacing--24);
	}
	.aa-footer__rule { display: block; }
	.aa-footer__trust {
		flex-direction: row;
		inline-size: auto;
		gap: var(--wp--preset--spacing--32);
	}
	/* Inside the 1200px container nothing shrinks: the badge keeps its Figma width, the contact column takes
	   its content's width, and space-between shares out what's left. */
	.aa-footer__columns > * { flex: none; }
	.aa-badge { inline-size: var(--wp--custom--footer--badge-width); }
}
