/**
 * Footer layout and the address block.
 *
 * assets/css/nav.css carries the footer's base styles (dark surface, headings,
 * link list, copyright bar) and assets/css/hours-social.css the hours and the
 * social row inside it. This file adds what US-008 needs on top: the address
 * element, a tablet breakpoint between the mobile stack and the desktop row,
 * and nothing that could overflow a 320px viewport.
 *
 * Contrast on the dark surface (--color-neutral-900, #1c1917):
 *   --color-neutral-50  #fafaf9 → 16.6:1   (headings, brand)
 *   --color-neutral-200 #e7e5e4 → 13.8:1   (body, links)
 *   --color-neutral-300 #d6d3d1 → 11.3:1   (address, muted copy)
 *   --color-accent-300  #f3c653 → 10.4:1   (hover, focus ring)
 * All well past the WCAG AA 4.5:1 floor for body text.
 */

.hcr-site-footer__inner {
	/* Mobile first: one column, nothing wider than the viewport. */
	max-width: 100%;
}

.hcr-site-footer__col {
	min-width: 0;
}

.hcr-site-footer__address {
	margin: 0 0 var(--space-5);
	color: var(--color-neutral-300);
	font-size: var(--text-sm);
	font-style: normal;
	line-height: var(--leading-normal);
}

.hcr-site-footer__address a {
	color: var(--color-neutral-200);
}

.hcr-site-footer__links a {
	display: inline-block;
	/* A comfortable keyboard and thumb target without a fixed width. */
	padding-block: var(--space-1);
}

/*
 * Current page in the footer menu: the crema amber used for footer hover, with
 * a weight change and an underline, so the active entry is never signalled by
 * colour alone. 10.4:1 on the dark surface.
 */
.hcr-site-footer__links .current-menu-item > a,
.hcr-site-footer__links a[aria-current='page'] {
	color: var(--color-accent-300);
	font-weight: var(--weight-medium);
	text-decoration: underline;
	text-decoration-thickness: 2px;
	text-underline-offset: 0.25em;
}

/* Tablet: two columns before the four-column desktop row. */
@media (min-width: 36em) and (max-width: 47.99em) {
	.hcr-site-footer__inner,
	.hcr-site-footer__inner--with-hours {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: var(--space-8);
	}
}

@media (min-width: 48em) {
	.hcr-site-footer__inner,
	.hcr-site-footer__inner--with-hours {
		grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1.1fr);
	}
}
