/* ==========================================================================
   GODRANK — SiteFooter. Structured editorial footer, loaded on every page.
   Square corners, hairline rules, monospace labels. No cards, no radius.
   ========================================================================== */

#site-footer {
  background: #0A0A0F;
  color: #F0EAD6;
  border-top: 1px solid rgba(201, 168, 76, .32);
  padding-block: clamp(2.5rem, 6vw, 5rem) clamp(1.5rem, 3vw, 2.5rem);
  font-family: "Barlow", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
}
#site-footer .gr-f-wrap {
  max-width: 1440px; margin-inline: auto;
  padding-inline: clamp(1.25rem, 4vw, 5rem);
}

/* ── Columns ────────────────────────────────────────────────────────────── */
.gr-f-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.5fr) repeat(4, minmax(0, 1fr));
  gap: clamp(1.5rem, 3vw, 3rem);
  padding-bottom: clamp(2rem, 4vw, 3rem);
}
@media (max-width: 1080px) { .gr-f-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 560px)  { .gr-f-grid { grid-template-columns: 1fr; } }

.gr-f-logo {
  display: inline-block;
  font-weight: 600; font-size: 1.0625rem; letter-spacing: .3em;
  text-transform: uppercase; color: #F0EAD6; text-decoration: none;
}
.gr-f-logo img, .gr-f-logo-img { display: block; max-height: 34px; width: auto; height: auto; }

.gr-f-tagline {
  margin: 1rem 0 0;
  max-width: 34ch;
  color: rgba(240, 234, 214, .66);
  font-size: .9375rem;
}

/* Column headings — monospace, uppercase, quiet */
.gr-f-title {
  font-family: ui-monospace, "SF Mono", Menlo, Consolas, monospace;
  font-size: .625rem; letter-spacing: .2em; text-transform: uppercase;
  color: #C9A84C;
  margin: 0 0 1rem;
  font-weight: 500;
}

.gr-f-links, #site-footer .footer-links {
  list-style: none; margin: 0; padding: 0;
  display: grid; gap: .55rem;
}
.gr-f-links a, #site-footer .footer-links a {
  color: rgba(240, 234, 214, .78);
  text-decoration: none;
  font-size: .875rem;
  border-bottom: 1px solid transparent;
  transition: color .18s ease, border-color .18s ease;
}
.gr-f-links a:hover, #site-footer .footer-links a:hover {
  color: #E8C96A; border-bottom-color: #E8C96A;
}

/* Scanner call-out — square, bordered, no fill */
.gr-f-scanner {
  display: inline-flex; align-items: center; gap: .5rem;
  margin-top: 1.25rem;
  font-family: ui-monospace, "SF Mono", Menlo, Consolas, monospace;
  font-size: .625rem; letter-spacing: .18em; text-transform: uppercase;
  color: #0A0A0F; background: #E8C96A;
  border: 1px solid #E8C96A; border-radius: 0;
  padding: .7rem 1rem; text-decoration: none;
  box-shadow: 3px 3px 0 rgba(201, 168, 76, .3);
  transition: background-color .18s ease, box-shadow .18s ease;
}
.gr-f-scanner:hover { background: #F0EAD6; border-color: #F0EAD6; box-shadow: 5px 5px 0 rgba(201, 168, 76, .45); }

/* ── Bottom bar ─────────────────────────────────────────────────────────── */
.gr-f-bottom {
  display: flex; flex-wrap: wrap; align-items: center;
  justify-content: space-between; gap: 1rem;
  border-top: 1px solid rgba(240, 234, 214, .12);
  padding-top: clamp(1.25rem, 2vw, 1.75rem);
}
.gr-f-copy {
  margin: 0;
  font-family: ui-monospace, "SF Mono", Menlo, Consolas, monospace;
  font-size: .6875rem; letter-spacing: .04em;
  color: rgba(240, 234, 214, .5);
}
.gr-f-legal { display: flex; flex-wrap: wrap; gap: 1.25rem; }
.gr-f-legal a, .gr-f-legal button {
  font-family: ui-monospace, "SF Mono", Menlo, Consolas, monospace;
  font-size: .6875rem; letter-spacing: .12em; text-transform: uppercase;
  color: rgba(240, 234, 214, .6);
  text-decoration: none;
  background: none; border: 0; padding: 0; cursor: pointer;
  transition: color .18s ease;
}
.gr-f-legal a:hover, .gr-f-legal button:hover { color: #E8C96A; }

/* Complianz consent control.
   The shortcode emits two nodes: a container its JavaScript fills with the
   "Manage consent" button, and a plain-text AMP/no-JS fallback that is NOT
   wrapped in <noscript> and therefore renders as a visible paragraph in the
   legal row. Suppress the fallback text only — the real control still shows,
   and the Privacy Policy link beside it is unaffected. */
/* Note: the fallback is emitted with an id, not a class. */
#site-footer #cmplz-manage-consent-container-nojavascript { display: none; }
#site-footer #cmplz-manage-consent-container { display: inline-flex; align-items: center; }
/* Empty until Complianz's JS injects the button, so it takes no space early. */
#site-footer #cmplz-manage-consent-container:empty { display: none; }

/* Focus — never suppressed */
#site-footer :is(a, button):focus-visible {
  outline: 2px solid #E8C96A; outline-offset: 3px;
}
