/* ==========================================================================
   FOOTER - regions `footer` (one block per column) and `footer_bottom`.
   Block titles are shown as small gold uppercase labels.
   ========================================================================== */
.site-footer {
  margin-top: auto;
  padding: clamp(2.7rem, 4.7vw, 4.3rem) var(--epsa-side) 1.875rem;
  background: var(--epsa-navy-deep);
  border-top: 1px solid var(--epsa-line-soft);
  color: var(--epsa-muted);
  font-size: var(--font-size-m);
}
.site-footer__cols {
  max-width: 1240px; margin: 0 auto; padding-bottom: var(--space-7);
  border-bottom: 1px solid #2B333D;
}
.site-footer .region-footer {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 200px), 1fr));
  gap: var(--space-7);
}
.site-footer .block h2, .site-footer .block .block__title {
  margin: 0 0 var(--space-4);
  font-size: var(--font-size-sm); font-weight: 700; letter-spacing: var(--tracking-widest); text-transform: uppercase;
  color: var(--epsa-gold);
}
.site-footer ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: var(--space-3); }
.site-footer a { color: var(--epsa-text); }
.site-footer a:hover { color: #fff; }
.site-footer .footer-brand { font-weight: 700; font-size: var(--font-size-xl); letter-spacing: var(--tracking-wide); color: #fff; }
.site-footer .footer-tagline { margin: var(--space-3) 0 0; color: var(--epsa-muted); line-height: var(--lh-normal); }

.site-footer__bottom {
  max-width: 1240px; margin: 0 auto; padding-top: var(--space-5);
  font-size: var(--font-size-sm);
}
.site-footer__bottom .region-footer-bottom {
  display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: var(--space-4) var(--space-5);
}
.site-footer__bottom ul { flex-direction: row; flex-wrap: wrap; gap: var(--space-3) var(--space-5); }
.site-footer__bottom a { color: var(--epsa-muted); }
.site-footer__bottom .block h2 { display: none; }
