/* ==========================================================================
   Site overrides — loaded after style.css (never edit the minified theme)
   ========================================================================== */

/* ==========================================================================
   Footer refinement — calmer hierarchy, tighter rhythm
   Scoped to <footer data-bs-theme="dark">. Specificity notes inline: the
   theme rules being beaten are `.nav.flex-column:not(.nav-pills) .nav-link`
   (0,4,0) and `[data-bs-theme=dark] .nav` (0,2,0).
   ========================================================================== */

/* --- Group headings: small tracked-caps labels ------------------------- */
footer .footer-heading {
	font-family: "Nunito Sans", sans-serif;
	font-size: .8125rem;              /* 13px */
	font-weight: 700;
	line-height: 1.2;
	text-transform: uppercase;
	letter-spacing: .08em;
	color: rgba(255, 255, 255, .55);  /* 5.8:1 on #202124 */
	margin: 0 0 .875rem;
}
footer .footer-heading:not(:first-child) {
	margin-top: 2.25rem;              /* gap between stacked groups */
}

/* --- Links: size/weight/colour via the theme's own tokens -------------- */
/* footer[data-bs-theme=dark] outranks the theme's dark-mode .nav token */
footer[data-bs-theme=dark] .nav {
	--bs-nav-link-font-size: .875rem; /* 14px */
	--bs-nav-link-font-weight: 400;
	--bs-nav-link-color: rgba(255, 255, 255, .65);  /* 7.7:1 */
	--bs-nav-link-hover-color: #ff9933;             /* 7.6:1 */
	line-height: 1.45;                /* inherited by .nav-link */
}

/* Padding is hard-coded by the theme at (0,4,0); mirror-and-raise to win */
footer .nav.flex-column:not(.nav-pills) .nav-link {
	padding: .3125rem 0;              /* ~30px row pitch */
}
footer .nav .nav-link:focus-visible {
	color: #ff9933;
	outline: 2px solid #ff9933;
	outline-offset: 2px;
	border-radius: 2px;
}

/* "Free" badge — scale down with the new link size */
footer a.nav-link .badge {
	font-size: .65em;
	padding: .3em .55em;
	vertical-align: middle;
}

/* --- Brand column ------------------------------------------------------ */
footer .footer-brand p:not(.small) {
	font-size: 1rem;                  /* blurb, down from 1.2rem body size */
	line-height: 1.6;
}
footer .footer-brand .small {
	font-size: .875rem;               /* company name + address */
	line-height: 1.7;
	color: rgba(255, 255, 255, .55);  /* 5.8:1 */
}
footer .footer-brand .small strong {
	font-weight: 600;
	color: rgba(255, 255, 255, .78);  /* 10.2:1 — name leads, address recedes */
}

/* --- Legal bar --------------------------------------------------------- */
footer hr {
	border-top-color: rgba(255, 255, 255, .08);  /* quiet hairline */
	opacity: 1;
}
footer .footer-copyright {
	font-size: .8125rem;              /* 13px */
	line-height: 1.5;
	color: rgba(255, 255, 255, .55);  /* 5.8:1 on #202124 */
}

/* Registration numbers: one wrapping line of nowrap label-value pairs.
   Gap-separated (no middots) so wrapped lines never dangle a separator. */
footer .footer-regs {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;          /* centred on phones, like the bar */
	column-gap: 1.25rem;
	row-gap: .125rem;
	margin-top: .375rem;
	font-size: .75rem;                /* 12px legal furniture */
	line-height: 1.6;
	color: rgba(255, 255, 255, .5);   /* 5.0:1 */
}
footer .footer-regs strong {
	font-weight: 600;
	color: rgba(255, 255, 255, .62);  /* ~7:1 — labels findable, values quiet */
}
@media (min-width: 768px) {
	footer .footer-regs {
		justify-content: flex-start;
	}
}

/* --- Social icons: ghost circles, orange fill on hover ----------------- */
/* Theme hard-codes .btn-light bg/border/colour, so override the properties
   directly; hover/active need own rules — the resting rule (0,2,1) would
   otherwise outrank .btn:hover (0,2,0) and the (0,3,0) active selectors. */
footer .btn-icon.btn-light {
	background: transparent;
	border: 1px solid rgba(255, 255, 255, .16);
	border-radius: 50%;
	color: rgba(255, 255, 255, .65);  /* icon 7.7:1 */
}
footer .btn-icon.btn-light:hover,
footer .btn-icon.btn-light:active {
	background: #ff9933;
	border-color: #ff9933;
	color: #202124;                   /* 7.6:1 on the orange fill */
}
footer .btn-icon.btn-light:focus-visible {
	outline: 2px solid #ff9933;
	outline-offset: 2px;
}
