/* Public footer from the delivered refonte, isolated from event-card footers. */
.nc-site-footer {
  display: block;
  background: #032d25;
  color: #f3ecdf;
  padding: 40px 5.6% 26px;
  font-family: 'Space Grotesk', sans-serif;
}
.nc-site-footer a { margin: 0; color: inherit; }
.nc-site-footer .footer-top {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 24px;
  padding-bottom: 32px;
  border-bottom: 1px solid #f4f1e725;
}
.nc-site-footer .brand { flex: 0 0 auto; gap: 12px; letter-spacing: -.5px; }
.nc-site-footer .brand img { width: 48px; height: 48px; }
.nc-site-footer .brand > span { display: block; font-size: 21px; font-weight: 700; }
.nc-site-footer .brand small { display: block; font-size: 8px; letter-spacing: .8px; margin-top: 5px; color: inherit; }
.nc-site-footer .footer-links {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 14px 24px;
  max-width: 760px;
  font-size: 12px;
  line-height: 1.7;
}
.nc-site-footer .back-top { flex: 0 0 auto; font-size: 11px; min-height: 44px; display: inline-flex; align-items: center; }
.nc-site-footer .footer-bottom {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 24px;
  font-size: 10px;
  opacity: .65;
  margin-top: 24px;
  line-height: 1.7;
}
.nc-site-footer .footer-legal-links { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 8px 18px; }
.nc-site-footer .footer-links a, .nc-site-footer .footer-legal-links a { transition: color .25s; }
.nc-site-footer a:hover { color: var(--coral); }
.nc-site-footer a:focus-visible { outline: 3px solid var(--coral); outline-offset: 4px; }
@media (max-width: 1000px) {
  .nc-site-footer .footer-top { flex-wrap: wrap; }
  .nc-site-footer .footer-links { order: 3; width: 100%; justify-content: flex-start; padding-top: 14px; }
  .nc-site-footer .footer-bottom { flex-wrap: wrap; }
  .nc-site-footer .footer-legal-links { width: 100%; justify-content: flex-start; }
}
@media (max-width: 540px) {
  .nc-site-footer { padding: 35px 6% 25px; }
  .nc-site-footer .brand { width: 100%; }
  .nc-site-footer .footer-links { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 18px; }
  .nc-site-footer .footer-links a { padding: 10px 0; min-height: 44px; border-bottom: 1px solid #f4f1e718; }
  .nc-site-footer .footer-bottom { flex-direction: column; gap: 10px; }
  .nc-site-footer .footer-legal-links { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .nc-site-footer .footer-legal-links a { padding: 8px 0; min-height: 44px; }
}
