/* FRONT-09: shared footer; keep these rules inside this component. */
.sp-footer { margin-top: 2rem; border-top: 1px solid rgb(255 255 255 / .1); }
.sp-footer__main { display: grid; gap: 1.5rem; padding-block: 2rem 1.5rem; }
.sp-footer__brand { min-width: 0; max-width: 24rem; }
.sp-footer__home { display: inline-flex; align-items: center; gap: .75rem; min-height: 44px; }
.sp-footer__home img { flex-shrink: 0; }
.sp-footer__description { margin: .75rem 0 0; color: rgb(255 255 255 / .7); font-size: .875rem; line-height: 1.65; }
.sp-footer__nav { min-width: 0; }
.sp-footer__nav ul { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .25rem 1rem; margin: 0; padding: 0; list-style: none; }
.sp-footer__nav a { display: flex; align-items: center; min-height: 44px; padding-block: .5rem; color: rgb(255 255 255 / .8); font-size: .875rem; line-height: 1.5; }
.sp-footer a:hover { color: #fff; }
.sp-footer a:focus-visible { outline: 2px solid #93c5fd; outline-offset: 3px; border-radius: .25rem; }
.sp-footer__bottom { display: flex; flex-direction: column; gap: .75rem; padding-block: 1.25rem 1.5rem; border-top: 1px solid rgb(255 255 255 / .1); color: rgb(255 255 255 / .65); font-size: .75rem; line-height: 1.65; }
.sp-footer__bottom p { margin: 0; }
.sp-footer__legal { display: flex; flex-wrap: wrap; gap: 1.5rem; }
.sp-footer__legal a { display: inline-flex; align-items: center; min-height: 44px; }
@media (min-width: 640px) {
  .sp-footer__nav ul { grid-template-columns: repeat(3, minmax(0, 1fr)); column-gap: 1.5rem; }
  .sp-footer__bottom { flex-direction: row; align-items: center; justify-content: space-between; gap: 1.5rem; }
}
@media (min-width: 900px) {
  .sp-footer__main { grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr); align-items: start; gap: 3rem; padding-top: 2.5rem; }
}
