/* ==========================================================================
   parts/footer.css — site footer (live footer#brx-footer; GLOBAL-SPEC §5). Mobile-first.
   Heights (final): 811.6 @390, 548.16 @768, 605.25 @1440. No background: html's --secondary shows.
   Column widths come from flex shrink (33% + 67% + gap > 100%), as live, so they are not hard-coded.
   ========================================================================== */

.site-footer {
  position: relative;
  flex-shrink: 0;
  width: 100%;
  margin-top: auto;
}

.site-footer__section {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--container-gap);
  width: 100%;
  margin-inline: auto;
  padding-block: var(--section-padding-block);
  padding-inline: var(--gutter);
}

.site-footer__container {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--content-gap);
  width: var(--content-width);
  max-width: 100%;
  margin-inline: auto;
}

/* ---- Row 1 (live #brxe-plgxmg) ------------------------------------------------------------------ */
.site-footer__top {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: var(--content-gap);
  width: 100%;
}

.site-footer__brand,              /* live #brxe-bfiyex */
.site-footer__brand-inner {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--content-gap);
  width: 100%;
}

.site-footer__logo {              /* live #brxe-lzmpbl: 300 × 83.97 (285.97 × 80.03 @768) */
  width: 100%;
  max-width: 30rem;
  height: auto;
}

.site-footer__afsl {
  color: var(--white);
  font-size: 1.5rem;
}

.site-footer__email {
  --link-color: var(--white);
  --link-color-hover: var(--white);
  font-size: 1.4rem;
}
.site-footer__email:hover { text-decoration: underline; }

.site-footer__nav-col {           /* live #brxe-nioxxt */
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--content-gap);
  width: 100%;
}

.site-footer__cols {              /* live #brxe-einrye: shrink-to-fit row, pushed right ≥768 */
  display: flex;
  flex-direction: row;
  align-self: flex-start;
  gap: var(--space-xxl);
  max-width: 100%;
}

.site-footer__col {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--content-gap);
  width: 100%;
}

.site-footer__heading {
  color: var(--white);
  font-weight: 700;
}

.site-footer__nav { display: block; }
.site-footer__menu {              /* live #brxe-bbiuej */
  display: flex;
  flex-direction: column;
  gap: 2rem;
  margin: 0;
  padding: 0;
  list-style: none;
  line-height: inherit;
}
.site-footer__menu > li {
  position: relative;
  margin: 0;
}
.site-footer__menu > li > a {
  display: flex;
  width: 100%;
  --link-color: var(--white);
  --link-color-hover: var(--white);
  font-weight: 400;
  white-space: pre;
}
.site-footer__menu > li > a:hover { text-decoration: underline; }

.site-footer__socials {
  display: flex;
  flex-direction: column;
  gap: var(--space-xs);
}
.site-footer__social {            /* live a.wlp-social: icon + label, no hover change */
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: center;
  gap: var(--space-s);
  width: 100%;
}
.site-footer__social-icon {       /* live i.wlp-social-icon: 41×41, 20px glyph */
  display: flex;
  justify-content: center;
  align-items: center;
  width: 41px;
  height: 41px;
  padding: .6rem;
  border-radius: var(--radius-l);
  background-color: var(--white);
  color: var(--secondary);
  fill: var(--secondary);
  font-size: 2rem;
  line-height: 1;
}
.site-footer__social-text { color: var(--white); }

/* ---- Row 2 (live #brxe-cnirpe) ------------------------------------------------------------------ */
.site-footer__bottom {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: 10px;                      /* live ≤478 one-off */
  width: 100%;
}

.site-footer__copy-col,           /* live #brxe-lxayem */
.site-footer__copy-wrap {         /* live #brxe-prbskx */
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--content-gap);
  width: 100%;
}
.site-footer__copy-wrap { align-items: center; }

.site-footer__copyright {
  color: var(--white);
  font-size: 1.4rem;
}

.site-footer__legal {             /* live #brxe-bhveyp */
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: center;
  align-items: flex-start;
  gap: var(--space-s);
  width: 100%;
}
.site-footer__legal-link {        /* live a.brxe-text-link.link--base-semi-light.link-hover--primary */
  display: inline-flex;
  align-items: center;
  gap: 5px;
  --link-color: var(--base-semi-light);
  --link-color-hover: var(--primary);
  font-size: 1.4rem;
}

@media (min-width: 479px) {
  .site-footer__brand,
  .site-footer__copy-col { width: 50%; }
  .site-footer__copy-wrap { align-items: flex-start; }
  .site-footer__bottom { gap: var(--content-gap); }
  .site-footer__legal { justify-content: flex-start; }
}

@media (min-width: 768px) {
  .site-footer__top,
  .site-footer__bottom,
  .site-footer__legal { flex-wrap: nowrap; }
  .site-footer__nav-col,
  .site-footer__legal { width: 67%; }
  .site-footer__cols { align-self: flex-end; }
  .site-footer__legal { justify-content: flex-end; }
}

@media (min-width: 992px) {
  .site-footer__brand,
  .site-footer__copy-col { width: 33%; }
}
