.site-footer-bottom {
  box-sizing: border-box;
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  width: 100%;
  margin: 0;
  padding: 56px var(--page-align-x) 168px;
  overflow: hidden;
  background: var(--color-flare);
}

.site-footer-bottom__top {
  box-sizing: border-box;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
  gap: 24px 32px;
  width: 100%;
  max-width: var(--max-width);
  margin: 0 auto 96px;
}

.site-footer-bottom__social-nav {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 16px;
  margin: 0;
  padding: 0;
}

.site-footer-bottom__social-link {
  font-family: var(--font-sans);
  font-size: 14px;
  font-weight: 500;
  line-height: 24px;
  letter-spacing: 0;
  color: var(--color-forge);
  text-decoration: none;
  text-transform: capitalize;
  transition:
    opacity 0.25s ease,
    text-decoration-color 0.25s ease;
}

.site-footer-bottom__social-link:hover,
.site-footer-bottom__social-link:focus-visible {
  text-decoration: underline;
  text-underline-offset: 3px;
  text-decoration-thickness: 1px;
  opacity: 0.92;
}

.site-footer-bottom__legal {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  justify-content: flex-start;
  gap: 8px;
  min-width: 0;
  flex: 1 1 auto;
}

.site-footer-bottom__copyright {
  margin: 0;
  font-family: var(--font-sans);
  font-size: 14px;
  font-weight: 500;
  line-height: 24px;
  letter-spacing: 0;
  color: var(--color-forge);
  text-align: right;
  text-transform: capitalize;
}

.site-footer-bottom__copyright-text {
  display: inline;
}

.site-footer-bottom__copy-mark {
  font-size: 0.65em;
  line-height: 1;
  vertical-align: super;
}

.site-footer-bottom__legal-sep {
  display: none;
}

.site-footer-bottom__policy-nav {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 8px;
  margin: 0;
  padding: 0;
}

.site-footer-bottom__policy-link,
.site-footer-bottom__privacy {
  font-family: var(--font-sans);
  font-size: 14px;
  font-weight: 500;
  line-height: 24px;
  color: var(--color-forge);
  text-decoration: none;
  text-transform: capitalize;
  transition: opacity 0.25s ease;
}

.site-footer-bottom__policy-link:hover,
.site-footer-bottom__policy-link:focus-visible,
.site-footer-bottom__privacy:hover,
.site-footer-bottom__privacy:focus-visible {
  text-decoration: underline;
  text-underline-offset: 3px;
  text-decoration-thickness: 1px;
  opacity: 0.92;
}

.site-footer-bottom__credit {
  margin: 0;
  font-family: var(--font-sans);
  font-size: 14px;
  font-weight: 500;
  line-height: 24px;
  color: var(--color-forge);
  text-align: right;
  text-transform: capitalize;
}

.site-footer-bottom__mark {
  position: absolute;
  right: 0;
  left: 0;
  bottom: 0;
  z-index: 0;
  box-sizing: border-box;
  display: block;
  width: 100%;
  max-width: none;
  padding: 0;
  margin: 0;
  pointer-events: none;
}

.site-footer-bottom__mark-link {
  box-sizing: border-box;
  display: block;
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0;
  text-decoration: none;
  pointer-events: auto;
}

.site-footer-bottom__mark-inner {
  box-sizing: border-box;
  position: relative;
  display: block;
  width: 100%;
  margin: 0;
  padding: 0;
  /* Altura reservada: filhos em position:absolute não empurram o fluxo */
  padding-bottom: clamp(72px, 18vw, 134px);
  direction: ltr;
}

.site-footer-bottom__mark-img--desktop {
  position: absolute;
  right: 0;
  bottom: 0;
  left: auto;
  display: block;
  width: auto;
  height: auto;
  max-width: min(1113px, 100%);
  max-height: clamp(72px, 18vw, 134px);
  margin: 0;
  object-fit: contain;
  object-position: right bottom;
  filter: brightness(0) invert(93%) sepia(6%) saturate(326%) hue-rotate(349deg)
    brightness(102%) contrast(92%);
}

.site-footer-bottom__mark-img--mobile {
  display: none;
}

@media (max-width: 768px) {
  /* [m] Footer: links px-24; gap-40 social↔legal + legal pt-40; legal gap-8; gap-56 até logo; pb-168 */
  .site-footer-bottom {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    min-height: 0;
    overflow: hidden;
    padding: 56px 0 200px;
  }

  .site-footer-bottom__top {
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    gap: 40px;
    width: 100%;
    max-width: none;
    margin: 0 0 20px;
    padding: 0 24px;
    box-sizing: border-box;
  }

  .site-footer-bottom__social-nav {
    width: 100%;
    gap: 16px;
  }

  .site-footer-bottom__social-link {
    text-decoration: underline;
    text-decoration-color: var(--color-forge);
    text-underline-offset: 3px;
    text-decoration-thickness: 1px;
  }

  .site-footer-bottom__social-link:hover,
  .site-footer-bottom__social-link:focus-visible {
    text-decoration: underline;
    text-decoration-color: var(--color-forge);
    opacity: 1;
  }

  .site-footer-bottom__legal {
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    gap: 8px;
    width: 100%;
    padding-top: 0;
  }

  .site-footer-bottom__policy-nav {
    align-items: flex-start;
    width: 100%;
  }

  .site-footer-bottom__copyright {
    text-align: left;
  }

  .site-footer-bottom__credit {
    text-align: left;
  }

  .site-footer-bottom__legal-sep {
    display: none;
  }

  .site-footer-bottom__policy-link,
  .site-footer-bottom__privacy {
    text-decoration: underline;
    text-decoration-color: var(--color-forge);
    text-underline-offset: 3px;
    text-decoration-thickness: 1px;
  }

  .site-footer-bottom__policy-link:hover,
  .site-footer-bottom__policy-link:focus-visible,
  .site-footer-bottom__privacy:hover,
  .site-footer-bottom__privacy:focus-visible {
    text-decoration: underline;
    text-decoration-color: var(--color-forge);
    opacity: 1;
  }

  .site-footer-bottom__mark {
    right: 0;
    left: 0;
    bottom: 0;
    box-sizing: border-box;
    display: block;
    width: 100%;
    max-width: none;
    margin: 0;
  }

  .site-footer-bottom__mark-link {
    display: block;
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 0;
    text-decoration: none;
  }

  .site-footer-bottom__mark-inner {
    display: block;
    width: 100%;
    margin: 0;
    padding: 0;
    padding-bottom: 145px;
  }

  .site-footer-bottom__mark-img--desktop {
    display: none !important;
  }

  .site-footer-bottom__mark-img--mobile {
    position: absolute;
    right: 0;
    bottom: 0;
    left: auto;
    display: block;
    width: auto;
    height: auto;
    max-width: min(369px, 100%);
    max-height: 145px;
    margin: 0;
    object-fit: contain;
    object-position: 100% 100%;
  }
}
