/* === FL-FOOTER-CENTER-20260906c: cache-busted strong footer centering (no CM2C) === */
/* Loaded from footer.tpl with ?v= so browsers bypass 7-day custom.css cache. */

#footer,
#footer .footer-container.ln-footer,
.footer-container.ln-footer,
.ln-footer {
  text-align: center !important;
}

#footer .footer-container.ln-footer > .container,
.footer-container.ln-footer > .container,
.ln-footer > .container {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: flex-start !important;
  width: 100% !important;
  max-width: 1140px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  float: none !important;
  text-align: center !important;
  box-sizing: border-box !important;
}

.ln-footer .ln-footer__center,
.footer-container.ln-footer .ln-footer__center,
#footer .ln-footer__center {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: flex-start !important;
  width: 100% !important;
  max-width: 100% !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  text-align: center !important;
  box-sizing: border-box !important;
}

/* Column group: tight cluster centered in viewport (do not grow to fill) */
.ln-footer .ln-footer__grid,
.footer-container.ln-footer .ln-footer__grid,
#footer .ln-footer__grid,
.ln-footer .ln-footer__grid.row,
.footer-container.ln-footer .ln-footer__grid.row {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap !important;
  justify-content: center !important;
  align-items: flex-start !important;
  align-content: center !important;
  gap: 24px 40px !important;
  width: 100% !important;
  max-width: 920px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 12px !important;
  padding-right: 12px !important;
  float: none !important;
  text-align: center !important;
  box-sizing: border-box !important;
}

.ln-footer .ln-footer__col,
.footer-container.ln-footer .ln-footer__col,
#footer .ln-footer__col,
.ln-footer .ln-footer__grid > [class*="col-"],
.footer-container.ln-footer .ln-footer__grid > [class*="col-"],
.ln-footer .ln-footer__grid > .col-md-3,
.footer-container.ln-footer .ln-footer__grid > .col-md-3 {
  float: none !important;
  position: relative !important;
  flex: 0 1 260px !important;
  width: 260px !important;
  min-width: 180px !important;
  max-width: 280px !important;
  padding-left: 10px !important;
  padding-right: 10px !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  text-align: center !important;
  box-sizing: border-box !important;
}

.ln-footer .ln-footer__grid h3,
.ln-footer .ln-footer__grid ul,
.ln-footer .ln-footer__grid li,
.ln-footer .ln-footer__grid p,
.ln-footer .ln-footer__col h3,
.ln-footer .ln-footer__col ul,
.ln-footer .ln-footer__col li,
.ln-footer .ln-footer__col p {
  text-align: center !important;
  margin-left: auto !important;
  margin-right: auto !important;
  float: none !important;
}

.ln-footer .ln-footer__grid ul,
.ln-footer .ln-footer__col ul {
  display: block !important;
  width: 100% !important;
  list-style: none !important;
  padding: 0 !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* Copyright — full-width centered */
.ln-footer .ln-copy,
.footer-container.ln-footer .ln-copy,
#footer .ln-copy {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 12px !important;
  padding-right: 12px !important;
  text-align: center !important;
  float: none !important;
  box-sizing: border-box !important;
}

.ln-footer .ln-copy p,
#footer .ln-copy p {
  text-align: center !important;
  margin-left: auto !important;
  margin-right: auto !important;
  float: none !important;
  width: 100% !important;
}

/* Legal strip — centered flex row, no CM2C */
.ln-footer .ln-legal,
.ln-footer .ln-footer__legal-list,
.footer-container.ln-footer .ln-legal,
.footer-container.ln-footer .ln-footer__legal-list,
#footer .ln-legal,
#footer .ln-footer__legal-list {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap !important;
  justify-content: center !important;
  align-items: center !important;
  align-content: center !important;
  gap: 10px 18px !important;
  width: 100% !important;
  max-width: 100% !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 12px !important;
  padding-right: 12px !important;
  text-align: center !important;
  list-style: none !important;
  float: none !important;
  box-sizing: border-box !important;
}

.ln-footer .ln-legal li,
.ln-footer .ln-footer__legal-list li,
#footer .ln-legal li {
  float: none !important;
  text-align: center !important;
  margin: 0 !important;
  flex: 0 0 auto !important;
}

@media (max-width: 767px) {
  .ln-footer .ln-footer__grid,
  #footer .ln-footer__grid {
    max-width: 100% !important;
    gap: 8px 0 !important;
  }
  .ln-footer .ln-footer__col,
  .footer-container.ln-footer .ln-footer__col,
  #footer .ln-footer__col,
  .ln-footer .ln-footer__grid > [class*="col-"] {
    flex: 0 1 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    width: 100% !important;
    padding-left: 8px !important;
    padding-right: 8px !important;
    margin-bottom: 18px !important;
  }
  .ln-footer .ln-legal,
  .ln-footer .ln-footer__legal-list,
  #footer .ln-legal {
    gap: 8px 12px !important;
    justify-content: center !important;
  }
}
