/* Rodapé configurável pelo módulo Configurações. */
.site-footer {
  background: var(--footer-background, #17243a);
  color: var(--footer-text, #eaf0f7);
}

.site-footer a { color: var(--footer-link, #fff); }

.footer-content {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto auto;
  gap: 1.25rem 2rem;
  align-items: center;
}

.footer-brand { min-width: 0; }
.footer-brand strong { display: block; }
.footer-brand p { margin: .35rem 0 0; }
.footer-brand small { display: block; margin-top: .6rem; opacity: .82; }

.footer-contact {
  display: flex;
  flex-direction: column;
  gap: .28rem;
  font-style: normal;
  font-size: .92rem;
}

.footer-contact a { text-decoration: none; }
.footer-contact a:hover, .footer-contact a:focus-visible { text-decoration: underline; }

.footer-menu-links {
  display: flex;
  flex-wrap: wrap;
  gap: .5rem .85rem;
  max-width: 26rem;
}

.footer-menu-links a {
  color: var(--footer-link, #fff);
  font-weight: 650;
  text-decoration: none;
}

.footer-menu-links a:hover, .footer-menu-links a:focus-visible { text-decoration: underline; }

.site-footer[data-footer-layout="stacked"] .footer-content {
  grid-template-columns: 1fr;
  gap: 1rem;
}

.site-footer[data-footer-layout="compact"] { padding: 1.4rem 0; }
.site-footer[data-footer-layout="compact"] .footer-content { gap: .8rem 1.25rem; }
.site-footer[data-footer-layout="compact"] .footer-brand p { margin-top: .15rem; }
.site-footer[data-footer-layout="compact"] .footer-brand small { margin-top: .35rem; }

.site-footer[data-footer-alignment="center"] .footer-content { text-align: center; justify-items: center; }
.site-footer[data-footer-alignment="center"] .social-links { justify-content: center; }
.site-footer[data-footer-alignment="center"] .footer-menu-links { justify-content: center; }
.site-footer[data-footer-alignment="right"] .footer-content { text-align: right; justify-items: end; }
.site-footer[data-footer-alignment="right"] .social-links { justify-content: flex-end; }
.site-footer[data-footer-alignment="right"] .footer-menu-links { justify-content: flex-end; }

@media (max-width: 760px) {
  .footer-content { grid-template-columns: 1fr; align-items: start; }
  .site-footer[data-footer-alignment="right"] .footer-content { justify-items: start; text-align: left; }
  .site-footer[data-footer-alignment="right"] .social-links { justify-content: flex-start; }
  .site-footer[data-footer-alignment="right"] .footer-menu-links { justify-content: flex-start; }
}
