/* public-footer.css - the ONE copy of the permanent public footer's look
   (markup: public-footer.js). Brand orange + standard dark text. Each page
   sets only the footer's WIDTH/placement itself (event page = hero width,
   login = full width, staff Preview = its column). The padding/size/letter-
   spacing resets also undo common.css's .page-footer bar on pages that load
   it (the login page's placeholder carries both classes). */
.pub-footer {
  --pf-bg: #F47920; --pf-ink: #1e293b;
  background: var(--pf-bg); color: var(--pf-ink);
  font-family: var(--font, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif);
  text-align: center; padding: 0; font-size: 14px; letter-spacing: 0;
}
/* Pages keep the footer hidden until their own content has loaded, so it
   appears WITH the page, never under a loading spinner (direct instruction,
   2026-09-18). */
.pub-footer[hidden] { display: none !important; }
.pf-top { padding: 22px 20px 16px; border-bottom: 1px solid rgba(30,41,59,0.45); }
.pf-nav { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; justify-content: center; gap: 6px 20px; }
.pf-nav a { color: var(--pf-ink); font-size: 14px; font-weight: 700; text-decoration: none; }
.pf-nav a:hover { text-decoration: underline; }
.pf-social { list-style: none; margin: 12px 0 0; padding: 0; display: flex; justify-content: center; gap: 20px; }
.pf-social a { color: var(--pf-ink); display: block; line-height: 0; }
.pf-social a:hover { opacity: 0.75; }
.pf-social svg { width: 18px; height: 18px; fill: currentColor; }
.pf-social .pf-cut { fill: var(--pf-bg); }
.pf-bottom { padding: 10px 20px; font-size: 12.5px; }
@media (max-width: 767px) {
  .pf-top { padding: 18px 16px 14px; }
  .pf-nav { gap: 6px 16px; }
  .pf-nav a { font-size: 13px; }
}
