/* ============================================================
   footer.css — Flex Europa · finaldesign
   DARK, MULTI-SHADE GRAPHITE (not navy — deliberately distinct
   from design3b). Three tonal bands:
     · band    — darker top band  (corporate cross-link)
     · columns — mid-tone columns zone (nav + contact)
     · base    — darkest legal bar (credit + copyright)
   A teal hairline is the only accent. AA verified per band.
   ============================================================ */

.site-footer { background: var(--footer-columns); color: var(--footer-text); }

/* ---- Top band — corporate cross-link + slogan ---- */
.site-footer__band {
  background: var(--footer-band);
  border-block-start: 2px solid var(--color-accent);   /* the one accent line */
  border-block-end: 1px solid var(--footer-border);
}
.site-footer__band-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: var(--space-md);
  padding-block: var(--space-lg);
}
.site-footer__slogan {
  font-family: var(--font-mono);
  font-size: var(--fs-xs);
  letter-spacing: var(--tracking-wider);
  text-transform: uppercase;
  color: var(--color-accent-on-dark);
}
.site-footer__corp {
  display: inline-flex;
  align-items: center;
  gap: var(--space-sm);
  font-family: var(--font-mono);
  font-size: var(--fs-sm);
  letter-spacing: var(--tracking-wide);
  color: var(--footer-text);
}
.site-footer__corp a { color: var(--footer-link); display: inline-flex; align-items: center; gap: 6px; }
.site-footer__corp a:hover { color: var(--color-accent-on-dark); }
.site-footer__corp .icon { inline-size: 1em; block-size: 1em; }

/* ---- Columns zone ---- */
.site-footer__columns { padding-block: var(--space-3xl); }
.site-footer__grid {
  display: grid;
  grid-template-columns: 1.6fr 1fr 1fr 1.3fr;
  gap: var(--space-2xl);
}
.site-footer__brand-logo img { block-size: 28px; inline-size: auto; margin-block-end: var(--space-md); }
.site-footer__blurb { color: var(--footer-text-muted); max-inline-size: 34ch; font-size: var(--fs-sm); line-height: 1.7; }

.site-footer__col-title {
  font-family: var(--font-mono);
  font-size: var(--fs-xs);
  font-weight: var(--fw-medium);
  letter-spacing: var(--tracking-wider);
  text-transform: uppercase;
  color: var(--footer-text-muted);
  margin-block-end: var(--space-md);
}
.site-footer__links { display: flex; flex-direction: column; gap: var(--space-sm); }
.site-footer__links a {
  color: var(--footer-text);
  font-size: var(--fs-sm);
  display: inline-flex;
  /* Was 28px. A footer column is a list of destinations, not prose — these
     are standalone targets and have to be reachable on a phone.
     The inline floor is for the short labels: "About", "Deals" and "Xtool"
     measured 39, 37 and 34px wide. The box grows, the text does not move —
     it stays flex-start aligned and the background is transparent. */
  min-block-size: var(--step-size);
  min-inline-size: var(--step-size);
  align-items: center;
}
.site-footer__links a:hover { color: var(--color-accent-on-dark); }

/* ---- Contact card — raised graphite block ---- */
.site-footer__contact {
  background: var(--footer-raised);
  border: 1px solid var(--footer-border);
  border-radius: var(--radius-card);
  padding: var(--space-lg);
}
.site-footer__contact address {
  display: flex;
  flex-direction: column;
  gap: var(--space-sm);
  color: var(--footer-text-muted);
  font-size: var(--fs-sm);
  line-height: 1.6;
}
.site-footer__contact address a { color: var(--footer-text); display: inline-flex; align-items: center; min-block-size: var(--step-size); gap: var(--space-sm); }
.site-footer__contact address a:hover { color: var(--color-accent-on-dark); }
.site-footer__contact .icon { inline-size: 1.1em; block-size: 1.1em; color: var(--color-accent-on-dark); }

/* ---- Social row (placeholder; full sticky rail arrives in its own turn) ---- */
.site-footer__social { display: flex; gap: var(--space-sm); margin-block-start: var(--space-lg); }
.site-footer__social a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  inline-size: 44px;
  block-size: 44px;
  border: 1px solid var(--footer-border);
  border-radius: var(--radius-control);
  color: var(--footer-text);
  transition: color var(--transition-fast), border-color var(--transition-fast), background-color var(--transition-fast);
}
.site-footer__social a:hover { color: var(--color-accent-on-dark); border-color: var(--color-accent); background: rgba(255, 255, 255, .04); }

/* ---- Legal base — darkest band ---- */
.site-footer__legal { background: var(--footer-base); border-block-start: 1px solid var(--footer-border); }
.site-footer__legal-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: var(--space-sm);
  padding-block: var(--space-lg);
  font-size: var(--fs-sm);
  color: var(--footer-text);        /* readable light — the muted grey was too faint here */
}
/* Override the global `p { color: var(--color-text) }` — otherwise the classless
   copyright <p> renders near-black on the dark band and is invisible. */
.site-footer__legal-inner p { color: var(--footer-text); }
.site-footer__credit { font-size: var(--fs-xs); letter-spacing: var(--tracking-wide); color: var(--footer-text); }
.site-footer__credit a {
  color: var(--footer-text);
  font-family: var(--font-mono);
  letter-spacing: var(--tracking-wide);
}
.site-footer__credit a:hover { color: var(--color-accent-on-dark); }
.site-footer__credit-separator { margin-inline: var(--space-sm); color: var(--footer-border); }

@media (max-width: 991px) {
  .site-footer__grid { grid-template-columns: 1fr 1fr; }
  .site-footer__brand { grid-column: 1 / -1; }
  .site-footer__contact { grid-column: 1 / -1; }
}
@media (max-width: 575px) {
  .site-footer__grid { grid-template-columns: 1fr; }
  .site-footer__legal-inner { justify-content: flex-start; }
}

/* ============================================================
   SLIM FOOTER (§3.5)
   Checkout keeps only the legal band — the same .site-footer__legal
   markup as the full footer, so the copyright line and the mandatory
   CANADA HITECH credit are byte-identical. Nothing else is needed
   mid-purchase, and a full sitemap footer is a page full of exits.
   ============================================================ */
.site-footer--slim { padding-block: 0; }
.site-footer--slim .site-footer__legal { border-block-start: none; }
