/* ============================================================
   Canonical RT footer (2026-05-18) — mirrors realtimes.co home footer.
   Rule: all pages on the realtimes.co domain use this footer.
   Source of truth: rt-www-home/src/components/SiteFooter.tsx +
   rt-www-home/src/app/globals.css `.cf-footer*` rules.
   Cloned from the MSN26 static port:
   events/msn26-warsaw/website/css/overrides.css (footer block).
   This file loads LAST and deliberately overrides the polo-themed
   footer rules in overrides.css §15 (deep-green bg, serif white h4,
   cream links) with the canonical obsidian footer. Do not fold these
   rules back into style.css / overrides.css.
   ============================================================ */
.cf-footer {
  border-top: 1px solid rgba(255, 255, 255, 0.12);
  padding: 3.5rem 0 2.5rem;
  background: #0f0f0f; /* RT canonical obsidian (literal: polo :root does not define --background) */
  color: #ffffff;
  width: 100%; /* port used 100vw inside a constrained parent; here footer is a body child — 100vw would add horizontal overflow */
  max-width: none;
  margin: 0;
  text-align: left;
}
.cf-footer .cf-container {
  width: min(1160px, calc(100vw - 2rem));
  margin: 0 auto;
  padding: 0 1rem;
}
.cf-footer-grid {
  display: grid;
  grid-template-columns: 1.5fr 1fr 1fr 1fr;
  gap: 2.5rem;
}
.cf-footer-brand img {
  display: block;
  height: 32px;
  width: auto;
  opacity: 1;
  filter: none;
}
.cf-footer-brand p {
  color: #8a8580; /* literal: polo overrides.css redefines --on-dark-muted to #6e6759 (too dark) */
  font-size: 0.88rem;
  line-height: 1.55;
  margin-top: 0.8rem;
  max-width: 420px;
}
.cf-footer h4 {
  font-size: 0.8rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #c5a55a; /* RT canonical gold, full brightness */
  margin: 0 0 0.9rem;
  font-family: 'Geist Mono', ui-monospace, SFMono-Regular, monospace;
  font-weight: 400;
}
.cf-footer div:not(.cf-footer-brand):not(.cf-footer-grid) {
  display: flex;
  flex-direction: column;
  gap: 0.55rem;
}
.cf-footer a {
  color: #8a8580; /* literal: polo overrides.css redefines --on-dark-muted to #6e6759 (too dark) */
  font-size: 0.86rem;
  text-decoration: none;
  transition: color 0.15s ease;
}
.cf-footer a:hover {
  color: #ffffff;
}
.cf-footer span {
  color: rgba(255, 255, 255, 0.38);
  font-size: 0.82rem;
}
@media (max-width: 980px) {
  .cf-footer-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 720px) {
  .cf-footer-grid { grid-template-columns: 1fr; text-align: center; }
  .cf-footer-brand img { margin: 0 auto; }
  .cf-footer-brand p { margin-left: auto; margin-right: auto; }
  .cf-footer div:not(.cf-footer-brand):not(.cf-footer-grid) { align-items: center; }
}
