/* Footer chrome. Shared. */

.ud-footer { background: var(--ud-ink); color: var(--ud-on-dark-mut); padding-top: var(--ud-section-y); }
.ud-footer a { color: var(--ud-on-dark-mut); }
.ud-footer a:hover { color: var(--ud-accent-text); text-decoration: none; }

.ud-footer__top { display: grid; grid-template-columns: 1.6fr repeat(3, 1fr); gap: 2.5rem; padding-bottom: 3rem; border-bottom: 1px solid var(--ud-line-dark); }

.ud-footer__brand-name { display: inline-flex; align-items: center; gap: 0.6rem; font-family: var(--ud-font-head); font-weight: 800; font-size: 1.2rem; color: var(--ud-on-dark); margin-bottom: 1rem; }
.ud-footer__brand-name img { max-height: 40px; width: auto; }
.ud-footer__blurb { max-width: 34ch; line-height: 1.65; margin-bottom: 1.25rem; }

.ud-footer__col h4 { color: var(--ud-on-dark); font-size: 0.82rem; letter-spacing: 0.14em; text-transform: uppercase; margin-bottom: 1rem; }
.ud-footer__col ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 0.6rem; }

.ud-footer__social { display: flex; gap: 0.6rem; margin-top: 0.25rem; }
.ud-footer__social a { display: grid; place-items: center; width: 40px; height: 40px; border-radius: 50%; border: 1px solid var(--ud-line-dark); color: var(--ud-on-dark); transition: background-color 0.18s, border-color 0.18s, transform 0.18s; }
.ud-footer__social a:hover { background: var(--ud-accent); border-color: var(--ud-accent); color: var(--ud-accent-ink); transform: translateY(-2px); }
.ud-footer__social svg { width: 18px; height: 18px; fill: currentColor; }

.ud-footer__contact { display: flex; flex-direction: column; gap: 0.55rem; font-size: 0.95rem; }
.ud-footer__contact strong { color: var(--ud-on-dark); display: block; }

.ud-footer__bar { display: flex; align-items: center; justify-content: space-between; gap: 1rem; flex-wrap: wrap; padding-block: 1.6rem; font-size: 0.85rem; }
.ud-footer__bar a { text-decoration: underline; text-underline-offset: 3px; }

@media (max-width: 880px) {
	.ud-footer__top { grid-template-columns: 1fr 1fr; gap: 2rem; }
}
@media (max-width: 540px) {
	.ud-footer__top { grid-template-columns: 1fr; }
	.ud-footer__bar { justify-content: center; text-align: center; }
}

/* ── Floating WhatsApp button (renders only when Site Options has a WhatsApp number) ──
   WhatsApp green is the recognised affordance - keep it, don't accent-tint it. */
.ud-wa-fab {
	position: fixed; right: 18px; bottom: 18px; z-index: 90; /* below the drawer scrim (110) */
	display: inline-flex; align-items: center; gap: 0.55em;
	background: #25d366; color: #ffffff;
	padding: 0.8em 1.25em; border-radius: 999px;
	font-family: var(--ud-font-head); font-weight: 600; font-size: 0.95rem;
	box-shadow: 0 14px 32px -12px rgba(13, 128, 73, 0.75);
	transition: transform 0.18s var(--ud-ease), box-shadow 0.18s var(--ud-ease), background-color 0.18s var(--ud-ease);
}
.ud-wa-fab:hover {
	background: #1fbd5b; color: #ffffff; text-decoration: none;
	transform: translateY(-2px);
	box-shadow: 0 18px 38px -12px rgba(13, 128, 73, 0.85);
}
.ud-wa-fab svg { width: 22px; height: 22px; fill: currentColor; flex-shrink: 0; }

@media (max-width: 700px) {
	/* Icon-only circle on mobile so it never crowds the content. */
	.ud-wa-fab { padding: 0; width: 56px; height: 56px; justify-content: center; right: 14px; bottom: 14px; }
	.ud-wa-fab__label { display: none; }
}
