/* Scope only to navigation owned by this patch; leave signup controls alone. */
footer [data-iq-legacy-hidden] { display: none !important; }
footer .iq-public-socials { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; padding: 0; margin: 0; list-style: none; }
footer .iq-public-socials li { display: flex; margin: 0; padding: 0; }
/* The legacy label otherwise takes 109px from the icon row and strands its sixth icon. */
.main-footer .footer-social-links { flex-direction: column; align-items: flex-start; gap: 8px; }
.main-footer .footer-social-links .iq-public-socials { width: 100%; }
footer :is(.footer-social-links, .social-links) .iq-public-socials a { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 auto; width: 44px; height: 44px; min-width: 44px; padding: 10px; line-height: 1; color: inherit; border: 1px solid currentColor; border-radius: 50%; text-decoration: none; }
footer :is(.footer-social-links, .social-links) .iq-public-socials svg { display: block; width: 22px; height: 22px; fill: currentColor; flex: 0 0 auto; }
footer .iq-public-socials a.iq-social-text { width: auto; border-radius: 8px; padding: 10px 12px; }
footer .iq-public-socials a:hover { opacity: .8; }
footer .iq-public-socials a:focus-visible { outline: 2px solid currentColor; outline-offset: 4px; }
.main-footer .iq-public-app-link { display: inline-block; padding: .5rem 0; color: inherit; text-decoration: underline; }
.main-footer .iq-public-socials a:focus-visible,
.main-footer .iq-public-app-link:focus-visible { outline: 2px solid currentColor; outline-offset: 4px; }

/* Full legal copy in the existing SPA legal body; no content is collapsed or truncated. */
.terms-content > div { max-width: 860px; margin: 0 auto; overflow-wrap: anywhere; text-align: left; }
.terms-content > div p, .terms-content > div li { line-height: 1.75; }
.terms-content > div p { margin: 0 0 1rem; }
.terms-content > div h2 { font-size: clamp(22px, 3vw, 28px); line-height: 1.35; margin: 2rem 0 1rem; }
.terms-content > div h3 { font-size: 20px; line-height: 1.4; margin: 1.5rem 0 .75rem; }
.terms-content > div ul, .terms-content > div ol { padding-left: 1.5rem; margin: 0 0 1.25rem; }
.terms-content > div ul { list-style: disc; }
.terms-content > div ol { list-style: decimal; }
.terms-content > div table { width: 100%; table-layout: fixed; border-collapse: collapse; margin: 1.5rem 0; }
.terms-content > div td, .terms-content > div th { border: 1px solid #b9c7ca; padding: .65rem; vertical-align: top; text-align: left; }
.terms-content > div td p, .terms-content > div th p { margin: 0; }
.terms-content > div a { text-decoration: underline; }
