/* Scoped footer styles shared by the visitor site and the admin preview. */
.site-footer {
  box-sizing: border-box;
  padding: var(--footer-padding-top, 50px) 20px var(--footer-padding-bottom, 40px);
  border-top: var(--footer-border-width, 0px) solid var(--theme-footer-border, #414a80);
  background: var(--theme-footer-background, #252e69);
  color: var(--theme-footer-text, #fff);
  font-size: var(--footer-font-size, 15px);
  line-height: 1.6;
  text-align: center;
  overflow-wrap: anywhere;
}
.site-footer *, .site-footer *::before, .site-footer *::after { box-sizing: border-box; }
.site-footer[hidden], .site-footer [hidden] { display: none !important; }
.site-footer .footer-container { display: flex; flex-direction: column; align-items: center; width: 100%; max-width: var(--footer-max-width, 1170px); margin: 0 auto; gap: var(--footer-gap, 24px); text-align: inherit; }
.site-footer[data-alignment="start"] { text-align: start; }
.site-footer[data-alignment="end"] { text-align: end; }
.site-footer[data-alignment="start"] .footer-container { align-items: flex-start; }
.site-footer[data-alignment="end"] .footer-container { align-items: flex-end; }
.site-footer .footer-brand { display: inline-flex; gap: 10px; align-items: center; font-size: 20px; color: var(--theme-footer-text, #fff); text-decoration: none; }
.site-footer .footer-brand img { display: block; width: 32px; height: 32px; object-fit: contain; }
.site-footer .footer-intro { max-width: 720px; }
.site-footer .footer-heading { margin: 0; padding: 0; color: inherit; font-size: 1.35em; line-height: 1.4; }
.site-footer .footer-description { margin: 8px 0 0; color: inherit; font-size: inherit; white-space: pre-line; }
.site-footer .footer-row { width: 100%; margin: 0; }
.site-footer .footer-links { display: flex; flex-wrap: wrap; flex-direction: row; justify-content: center; align-items: center; gap: 12px 30px; list-style: none; margin: 0; padding: 0; }
.site-footer[data-link-layout="vertical"] .footer-links { flex-direction: column; }
.site-footer[data-alignment="start"] .footer-links { justify-content: flex-start; align-items: flex-start; }
.site-footer[data-alignment="end"] .footer-links { justify-content: flex-end; align-items: flex-end; }
.site-footer .footer-links a { color: var(--theme-footer-link, var(--theme-footer-text, #fff)); font-size: var(--footer-link-font-size, 18px); line-height: 1.6; font-weight: 400; text-decoration: none; }
.site-footer .footer-links a:hover { color: var(--theme-footer-link-hover, #c4b5fd); text-decoration: underline; }
.site-footer a:focus-visible, .site-footer select:focus-visible { outline: 2px solid var(--theme-footer-link-hover, #c4b5fd); outline-offset: 4px; border-radius: 4px; }
.site-footer .footer-disclaimer { max-width: 900px; margin: 0; color: inherit; font-size: inherit; font-weight: 600; line-height: inherit; }
.site-footer .footer-disclaimer p, .site-footer .footer-copyright p { margin: 0; padding: 0; white-space: pre-line; }
.site-footer .footer-copyright { margin: 0; color: inherit; font-size: var(--footer-copyright-font-size, 18px); font-weight: 400; line-height: inherit; }
.site-footer .footer-language { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 8px; margin: 0; padding: 0; }
.site-footer .footer-language label { color: inherit; font-size: inherit; }
.site-footer .footer-language select { min-width: 0; max-width: 100%; padding: 8px 12px; border: 1px solid var(--theme-footer-border, #414a80); border-radius: 8px; font: inherit; font-size: 14px; background: var(--theme-footer-background, #252e69); color: var(--theme-footer-text, #fff); }
@media (max-width: 768px) {
  .site-footer .footer-links { gap: 12px 20px; }
  .site-footer[data-link-layout="horizontal"] .footer-links { flex-direction: row; align-items: baseline; }
}
