#ecr-social-rail { position: static; z-index: auto; top: auto; right: auto; display: flex; width: fit-content; max-width: 100%; flex-wrap: wrap; align-items: center; gap: 6px; margin: 16px 0 0; padding: 0; color: #0d4f8b; pointer-events: auto; }
#ecr-social-rail .ecr-social-group { display: flex; flex: 0 0 auto; gap: 6px; }
#ecr-social-rail .ecr-social-icon-button { display: grid; box-sizing: border-box; width: 44px; height: 44px; flex: 0 0 44px; place-items: center; margin: 0; padding: 0; border: 1px solid #b9ccdb; border-radius: 0; background: transparent; color: inherit; text-decoration: none; cursor: pointer; transition: background .16s ease, color .16s ease, border-color .16s ease; }
#ecr-social-rail .ecr-social-icon { display: block; width: 23px; height: 23px; color: inherit; }
#ecr-social-rail .ecr-social-icon-button:hover { border-color: #0d4f8b; background: #0d4f8b; color: #fff; text-decoration: none; }
#ecr-social-rail .ecr-social-icon-button:focus-visible { outline: 3px solid #c5def0; outline-offset: 3px; }
.site-footer #ecr-social-rail { color: #fff; }
.site-footer #ecr-social-rail .ecr-social-icon-button { border-color: #ffffff70; }
.site-footer #ecr-social-rail .ecr-social-icon-button:hover { border-color: #fff; background: #fff; color: #0d4f8b; }
.site-footer [data-ecr-social-slot] { min-width: 0; }
.page-footer #ecr-social-rail, .portal-footer #ecr-social-rail, .ecr-admin-footer #ecr-social-rail { margin: 0; }
.page-footer:has(#ecr-social-rail), .portal-footer:has(#ecr-social-rail), .ecr-admin-footer:has(#ecr-social-rail) { flex-wrap: wrap; align-items: center; gap: 20px; }
.ecr-social-footer { display: flex; justify-content: center; padding: 22px 18px; border-top: 1px solid #dce6ee; background: #f5f8fa; }
.ecr-social-footer #ecr-social-rail { justify-content: center; margin: 0; }
.ecr-social-footer[hidden] { display: none !important; }
@media (max-width: 620px) {
  .page-footer:has(#ecr-social-rail), .portal-footer:has(#ecr-social-rail), .ecr-admin-footer:has(#ecr-social-rail) { flex-direction: column; justify-content: center; text-align: center; }
  .site-footer .footer-column:has([data-ecr-social-slot]) { grid-column: 1 / -1; }
  .site-footer #ecr-social-rail { justify-content: center; margin: 15px auto 0; }
}
@media (prefers-reduced-motion: reduce) { #ecr-social-rail .ecr-social-icon-button { transition: none; } }
