/* Minimal footer: company identity, two contact icons and Privacy. */
.footer.component-footer { border-top:0; display:block; padding-top:64px; padding-bottom:max(32px,env(safe-area-inset-bottom,0px)); }
.component-footer .footer-top { display:flex; align-items:flex-start; justify-content:space-between; gap:32px; }
.component-footer .brand { min-height:44px; color:var(--text); font-size:22px; }
.component-footer .footer-brand>p { margin-top:8px; font-size:14px; color:var(--text-2); }
.component-footer .footer-contact { display:flex; flex-direction:column; align-items:flex-end; gap:12px; }
.component-footer ul { padding:0; margin:0; list-style:none; }
.component-footer .footer-socials { display:flex; gap:12px; }
.component-footer .footer-socials a { width:44px; height:44px; display:grid; place-items:center; border-radius:50%; background:var(--text); color:var(--page); transition:background-color 160ms var(--ease-ui); }
.component-footer .footer-socials svg { width:20px; height:20px; }
.component-footer .footer-legal { display:block; }
.component-footer .footer-legal a { min-height:44px; display:inline-flex; align-items:center; text-underline-offset:4px; }
.component-footer .footer-copyright { margin-top:24px; line-height:1.6; color:var(--text-2); font-size:13px; }
.component-footer .footer-copyright p+p { margin-top:4px; }
.component-footer a:focus-visible { outline:2px solid var(--violet-bright); outline-offset:4px; }
.component-footer .footer-socials a:focus-visible { border-radius:50%; }
@media(hover:hover) and (pointer:fine) {
  .component-footer .footer-socials a:hover { background:#E9EAEE; }
  .component-footer .footer-legal a:hover { text-decoration:underline; color:var(--text); }
}
@media(max-width:720px) {
  .footer.component-footer { padding-top:48px; }
  .component-footer .footer-top { flex-direction:column; gap:28px; }
  .component-footer .footer-contact { align-items:flex-start; gap:8px; }
}
@media(prefers-reduced-motion:reduce) { .component-footer .footer-socials a { transition:none; } }
