/* BlogFlow footer: compact reading navigation, shared editorial palette. */
.bf-footer {
  padding: 48px 24px 24px;
  border: 0;
  background: #f5f6f8;
  color: #20242b;
}
.bf-footer__inner, .bf-footer__bottom, .bf-footer__visitors { max-width: var(--bf-content); margin-inline: auto; }
.bf-footer__inner { grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr) minmax(0, 1fr); gap: 48px; }
.bf-footer .bf-footer__brand { margin: 0 0 8px; font-size: 20px; font-weight: 700; color: #20242b; }
.bf-footer__about > .bf-footer__description { max-width: 36ch; margin: 0; line-height: 1.75; color: #535b67; font-size: 15px; font-weight: 400; }
.bf-footer .bf-footer__label { margin: 0 0 8px; color: #20242b; font-size: 15px; font-weight: 700; }
.bf-footer__topics, .bf-footer__contact { gap: 0; }
.bf-footer a { min-height: 44px; max-width: 100%; color: #20242b; font-size: 14px; font-weight: 400; line-height: 1.6; text-underline-offset: 4px; }
.bf-footer a:hover, .bf-footer a:focus { color: #20242b; }
.bf-footer a:focus-visible { outline: 2px solid #20242b; outline-offset: 3px; }
.bf-footer .bf-footer__guide { text-decoration: underline; font-weight: 500; }
.bf-footer__bottom { padding: 0; margin-top: 28px; border: 0; color: #535b67; font-size: 13px; }
.bf-footer__visitors { margin-top: 24px; font-size: 13px; color: #535b67; }
.bf-footer__visitor-counts { display: flex; flex-wrap: wrap; gap: 8px 24px; margin: 0; }
.bf-footer__visitor-counts > div { display: flex; gap: 8px; align-items: baseline; }
.bf-footer__visitor-counts dt, .bf-footer__visitor-counts dd { margin: 0; }
.bf-footer__visitor-counts dd { color: #20242b; font-weight: 500; font-variant-numeric: tabular-nums; }
.bf-footer__visitor-note { margin: 8px 0 0; font-size: 12px; line-height: 1.7; white-space: pre-line; }
@media (max-width: 800px) {
  .bf-footer { padding: 32px 24px 24px; }
  .bf-footer__inner { grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 24px; }
  .bf-footer__about { grid-column: 1 / -1; }
  .bf-footer__bottom { margin-top: 24px; }
}
@media (max-width: 420px) { .bf-footer { padding-inline: 20px; } .bf-footer__inner { column-gap: 16px; } }
