/* ==========================================================================
   ALBINI E CASTELLI — Footer
   Figma 177:2514. 1440x540, #1e1e1e.
   Logo 194px @ (80,100). Columns @ x = 488 / 814 / 1031 / 1249.
   Headings SemiBold 12/19 tortora · body Light 12/18 white · legal @ y=405.
   ========================================================================== */
.site-footer {
  background: var(--c-surface-dark);
  color: var(--c-text-invert);
}
.site-footer__inner {
  height: var(--h-footer);
  padding-top: 100px;
  display: flex;
  flex-direction: column;
}
.site-footer__cols {
  display: grid;
  /* 80→488 = 408 | 488→814 = 326 | 814→1031 = 217 | 1031→1249 = 218 | rest */
  grid-template-columns: 408px 326px 217px 218px 1fr;
  align-content: start;
}
.site-footer__brand { grid-column: 1; }
.site-footer__logo { width: 194px; aspect-ratio: var(--logo-ratio); }

.site-footer__col-head {
  font-weight: var(--fw-foot-head);
  font-size: var(--fs-foot-head);
  line-height: var(--lh-foot-head);
  text-transform: uppercase;
  color: var(--c-text-muted);
  margin-bottom: 9px;          /* heading y=100, body y=128 → 100+19+9 */
}
.site-footer__body,
.site-footer__list {
  font-weight: var(--fw-foot-body);
  font-size: var(--fs-foot-body);
  line-height: var(--lh-foot-body);
}
.site-footer__list--head {
  font-weight: var(--fw-foot-head);
  line-height: var(--lh-foot-head);
  color: var(--c-text-muted);
  text-transform: uppercase;
}
.site-footer a { transition: color var(--dur) var(--ease); }
.site-footer__body a { text-decoration: underline; text-underline-position: from-font; }
.site-footer a:hover { color: var(--aec-rosso-light); }

.site-footer__social {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-top: 11px;            /* head y=100 (+19) → icons y=130 */
}
.site-footer__social img { height: 11px; width: auto; }

/* Legal row sits on y=405 in a 540px footer: pushed to the bottom, then
   held 117px clear of it (540 - 405 - 18px line = 117). */
.site-footer__legal {
  display: grid;
  grid-template-columns: 408px 326px 217px 1fr;
  margin-top: auto;
  margin-bottom: 117px;
  font-weight: var(--fw-foot-body);
  font-size: var(--fs-foot-body);
  line-height: var(--lh-foot-body);
}
.site-footer__legal > :first-child { grid-column: 2; }

@media (max-width: 1024px) {
  .site-footer__inner { height: auto; padding-block: 64px; }
  .site-footer__cols {
    grid-template-columns: 1fr 1fr;
    gap: var(--space-40);
  }
  .site-footer__brand { grid-column: 1 / -1; }
  .site-footer__legal {
    grid-template-columns: 1fr;
    gap: 8px;
    margin-top: var(--space-40);
    margin-bottom: 0;
  }
  .site-footer__legal > :first-child { grid-column: 1; }
}
@media (max-width: 768px) {
  .site-footer__cols { grid-template-columns: 1fr; }
}
