/* HI5 Collections footer. Tokens come from the saved design: HI5 Ink and Signal Red. */
:root {
  --hi5-ink-mute: #8A8A8A;
  --hi5-line-dark: #262626;
}

/* Keep the footer at the bottom on short pages */
#page { position: relative; display: flex; flex-direction: column; min-height: calc(100vh - var(--hi5-adminbar)); box-sizing: border-box; }
#page > #content { flex: 1 0 auto; }

.hi5-footer, .hi5-footer * { box-sizing: border-box; }
.hi5-footer {
  background: var(--hi5-ink);
  color: var(--hi5-bg);
  font-family: var(--hi5-font);
  font-weight: 500;
  -webkit-font-smoothing: antialiased;
}
.hi5-footer__inner { max-width: 1320px; margin: 0 auto; padding: 0 var(--hi5-pad); }
.hi5-footer ul { list-style: none; margin: 0; padding: 0; }
.hi5-footer li { margin: 0; padding: 0; }
.hi5-footer a { color: var(--hi5-bg); text-decoration: none; }
.hi5-footer a:hover {
  color: var(--hi5-bg);
  text-decoration: underline;
  text-decoration-color: var(--hi5-accent);
  text-decoration-thickness: 2px;
  text-underline-offset: 5px;
}
.hi5-footer a:focus-visible { outline: 2px solid var(--hi5-accent); outline-offset: 3px; }

/* Service points */
.hi5-perks { display: grid; grid-template-columns: repeat(4, 1fr); gap: 32px; padding: 72px 0 44px; }
.hi5-perk { display: flex; align-items: center; gap: 18px; min-width: 0; }
.hi5-perk svg { flex: none; width: 46px; height: 46px; fill: none; stroke: currentColor; stroke-width: 1.4; stroke-linecap: round; stroke-linejoin: round; }
.hi5-perk__text { display: block; font: 500 16px/1.3 var(--hi5-font); }
.hi5-perk__text strong { display: block; font-weight: 800; }

/* Policy line */
.hi5-policy { max-width: 62ch; margin: 0 auto; padding: 8px 0 64px; text-align: center; font: 500 18px/1.5 var(--hi5-font); }

/* Link columns */
.hi5-fcols { display: grid; grid-template-columns: 1.35fr 1fr 1fr 1fr; gap: 40px; padding: 48px 0 56px; border-top: 1px solid var(--hi5-line-dark); }
.hi5-footer .hi5-fcol__title {
  margin: 0 0 20px;
  color: var(--hi5-ink-mute);
  font: 800 15px/1.2 var(--hi5-font);
  letter-spacing: .08em;
  text-transform: uppercase;
}
.hi5-flinks a { display: inline-block; padding: 6px 0; font: 500 16px/1.3 var(--hi5-font); }
.hi5-fcontact li { display: flex; align-items: flex-start; gap: 14px; padding: 8px 0; }
.hi5-fcontact svg { flex: none; width: 26px; height: 26px; margin-top: 1px; fill: none; stroke: currentColor; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }
.hi5-fcontact a, .hi5-fcontact span { font: 500 16px/1.4 var(--hi5-font); }

/* Bottom bar */
.hi5-fbar { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 24px 0 32px; border-top: 1px solid var(--hi5-line-dark); color: var(--hi5-ink-mute); font: 500 14px/1.4 var(--hi5-font); }
.hi5-footer .hi5-fbar a { color: var(--hi5-bg); font-weight: 700; }

/* Responsive */
@media (max-width: 1024px) {
  .hi5-perks { grid-template-columns: repeat(2, 1fr); padding-top: 56px; }
  .hi5-fcols { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 600px) {
  .hi5-perks { gap: 28px 16px; padding: 48px 0 32px; }
  .hi5-perk { gap: 12px; }
  .hi5-perk svg { width: 38px; height: 38px; }
  .hi5-perk__text { font-size: 14px; }
  .hi5-policy { padding-bottom: 48px; font-size: 16px; }
  .hi5-fcols { grid-template-columns: 1fr; gap: 36px; padding: 40px 0 44px; }
  .hi5-fbar { flex-direction: column; align-items: flex-start; }
}
