/* Shared footer layout only. Shell, type, surfaces, icon/contact variants and
   media badges come from ui.css/icons.css; configured logo sizing from header-logo.css. */
.sf-ui.sfui-footer { padding: 0; }
.sfui-footer__top { display: grid; grid-template-columns: minmax(0,1.2fr) minmax(0,4fr); gap: var(--sfui-space-32); align-items: start; padding-block: var(--sfui-space-32) var(--sfui-space-24); }
.sfui-footer__brand { display: grid; align-content: start; gap: var(--sfui-space-12); min-width: 0; }
.sfui-footer__contact { display: flex; align-items: center; justify-content: space-between; gap: var(--sfui-space-32); padding-block: var(--sfui-space-12); }
.sfui-footer__contact > .sfui-contact-list { flex: 1; }
.sfui-footer__contact > .sfui-socials { flex: 0 0 auto; }
.sfui-footer__bottom { display: flex; align-items: center; justify-content: space-between; gap: var(--sfui-gap); padding-block: var(--sfui-space-12); }
.sfui-footer__legal { min-width: 0; }
.sfui-footer__badges { display: flex; flex-wrap: wrap; justify-content: flex-end; align-items: center; gap: var(--sfui-space-16) var(--sfui-space-24); min-width: 0; }
@media (max-width: 1199.98px) {
  .sfui-footer__contact { flex-direction: column; align-items: stretch; gap: var(--sfui-space-20); }
  .sfui-footer__contact > .sfui-socials { justify-content: center; }
}
@media (max-width: 991.98px) {
  .sfui-footer__top { grid-template-columns: minmax(0,1fr); padding-top: var(--sfui-space-24); }
  .sfui-footer__bottom { flex-direction: column; align-items: stretch; gap: var(--sfui-space-16); text-align: center; }
  .sfui-footer__badges { justify-content: center; }
}
@media (max-width: 767.98px) {
  .sfui-footer__top { gap: var(--sfui-space-20); padding-bottom: var(--sfui-space-16); }
  .sfui-footer__contact { padding-block: var(--sfui-space-16); }
}
