/* =====================
   m_footer — site footer.

   Source of truth:
     Desktop: Figma node 4201:4157
     Mobile:  Figma node 4210:16126
   No animations.

   Layout:
     - Section uses .m_feature dark BG. Padding overridden to 48 0
       desktop / 32px top + 56px bottom mobile.
     - Top row (desktop): logo left | links center | copyright right
     - Top row (mobile): logo only, centered
     - Mobile: extra divider row with links spread + copyright centered
     - Bottom: long legal text muted

   Mobile breakpoint: <= 991px.
===================== */

.m_footer {
  padding: 3rem 0;                               /* 48px Y desktop */
}
@media (max-width: 991px) {
  .m_footer { padding: 2rem 0 3.5rem; }          /* 32px top, 56px bottom mobile */
}

.m_footer > .u-container {
  gap: 4rem;                                     /* 64px between top row and legal text desktop */
}
@media (max-width: 991px) {
  .m_footer > .u-container { gap: 2rem; }        /* 32px mobile */
}

/* ---- Top row ------------------------------------------------------ */

.m_footer_top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 2rem;
  width: 100%;
}
@media (max-width: 991px) {
  .m_footer_top {
    flex-direction: column;
    align-items: center;
    gap: 2rem;                                   /* 32px mobile */
  }
}

/* Logo */
.m_footer_logo {
  display: inline-flex;
  align-items: center;
  gap: 0.625rem;                                 /* 10.02px */
  text-decoration: none;
  color: var(--color--white, #ffffff);
  flex-shrink: 0;
  width: 10rem;                                  /* 160px desktop */
}
@media (max-width: 991px) {
  .m_footer_logo { width: auto; }
}

.m_footer_logo_icon {
  width: 2.092rem;                               /* 33.47px */
  height: 2.077rem;                              /* 33.23px */
  display: block;
  flex-shrink: 0;
}
.m_footer_logo_icon svg { width: 100%; height: 100%; display: block; overflow: visible; }

.m_footer_logo_name {
  margin: 0;
  font-family: "Inter", sans-serif;
  font-weight: 500;
  font-size: 0.94rem;                            /* 15.03px */
  line-height: 1.555;                            /* 23.38/15.03 */
  color: var(--color--white, #ffffff);
  white-space: nowrap;
}

/* Links group (desktop centered, mobile spread) */
.m_footer_links {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 2rem;                                     /* 32px desktop */
  list-style: none;
  margin: 0;
  padding: 0;
}
@media (max-width: 991px) {
  /* On mobile, links are inside the divider block; no need to render the
     desktop links list. Keep one source of truth — desktop links. */
}

.m_footer_link {
  font-family: "Inter", sans-serif;
  font-weight: 600;                              /* SemiBold */
  font-size: 1rem;                               /* 16px */
  line-height: 1.5;                              /* 24/16 */
  color: var(--color--lightest-grey, #E4E7EC);
  text-decoration: none;
  white-space: nowrap;
  transition: color 0.2s ease;
}
.m_footer_link:hover { color: var(--color--white, #ffffff); }
.m_footer_link:focus-visible {
  outline: 2px solid var(--color--main-green, #90F99C);
  outline-offset: 4px;
  border-radius: 0.25rem;
}

/* Copyright (right-aligned desktop, centered mobile) */
.m_footer_copyright {
  margin: 0;
  font-family: "Inter", sans-serif;
  font-weight: 400;
  font-size: 1rem;                               /* 16px */
  line-height: 1.5;                              /* 24/16 */
  color: rgba(255, 255, 255, 0.7);
  white-space: nowrap;
  text-align: right;
}
@media (max-width: 991px) {
  .m_footer_copyright {
    text-align: center;
    color: var(--color--lightest-grey, #D0D5DD);
    opacity: 1;
  }
}

/* Mobile-only: divider block above legal — wraps links + copyright with
   a top border line. Hidden on desktop (its content lives in .m_footer_top). */
.m_footer_mobile_divider {
  display: none;
}
@media (max-width: 991px) {
  .m_footer_mobile_divider {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 1rem;                                   /* 16px between links and copyright */
    width: 100%;
    padding-top: 2rem;                           /* 32px */
    border-top: 1px solid rgba(255, 255, 255, 0.2);
  }
  .m_footer_mobile_divider .m_footer_links {
    justify-content: space-between;
    gap: 1rem;
    padding: 0 2.5rem;                           /* 40px X mobile */
  }
  /* Hide the desktop links + copyright when on mobile — content lives in
     the mobile divider block instead. */
  .m_footer_top > .m_footer_links,
  .m_footer_top > .m_footer_copyright {
    display: none;
  }
}

/* ---- Legal text --------------------------------------------------- */

.m_footer_legal {
  margin: 0;
  font-family: "Inter", sans-serif;
  font-weight: 400;
  font-size: 0.875rem;                           /* 14px */
  line-height: 1.4286;                           /* 20/14 */
  color: rgba(255, 255, 255, 0.5);
  text-align: center;
  width: 100%;
}
