/* Consistent footer layout, isolated from page-specific article styles. */
#rux-footer { box-sizing:border-box; width:100%; max-width:none; margin:40px 0 0; padding:0; background:#2b414d; color:#e6edf2; text-align:left; font-family:'DM Sans',system-ui,sans-serif; font-size:14px; line-height:1.65; }
#rux-footer * { box-sizing:border-box; }
#rux-footer .footer-gold-strip { height:3px; background:#edc767; width:100%; }
#rux-footer .footer-inner { width:100%; max-width:1240px; margin:0 auto; padding:36px clamp(20px,3vw,40px) 24px; }
#rux-footer .footer-grid { display:grid; grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) minmax(0,1fr); gap:32px; margin:0 0 28px; }
#rux-footer .footer-grid>div { min-width:0; }
#rux-footer p { font-family:'DM Sans',system-ui,sans-serif; font-weight:400; letter-spacing:normal; text-transform:none; margin:0 0 12px; font-size:14px; line-height:1.65; color:#e6edf2; }
#rux-footer .footer-wordmark { display:inline-flex; align-items:center; gap:5px; margin:0 0 12px; font-family:Anton,Impact,sans-serif; font-size:24px; line-height:1.1; }
#rux-footer .footer-ribbon { display:inline-flex; flex-shrink:0; }
#rux-footer .footer-tagline { color:#fff; font-weight:700; }
#rux-footer .footer-bio { color:#d4e0e7; }
#rux-footer .footer-col-title { color:#edc767; font-size:12px; font-weight:800; letter-spacing:.09em; text-transform:uppercase; margin:0 0 10px; }
#rux-footer a { color:#e6edf2; text-decoration:none; border-bottom:0; overflow-wrap:anywhere; }
#rux-footer a:hover { color:#fff; text-decoration:underline; }
#rux-footer a:focus-visible { outline:2px solid #edc767; outline-offset:3px; }
#rux-footer .footer-link { display:block; padding:5px 0; margin:0; font-size:14px; line-height:1.5; font-weight:600; }
#rux-footer .footer-link-sub { display:block; margin-top:2px; color:#d4e0e7; font-size:13px; font-weight:400; }
#rux-footer .footer-cta-block { margin:0 0 18px; }
#rux-footer .footer-cta-title { color:#fff; font-size:14px; font-weight:700; margin:0 0 6px; }
#rux-footer .footer-cta-sub { color:#d4e0e7; font-size:13px; line-height:1.6; margin:0 0 8px; }
#rux-footer .footer-btn { display:inline-flex; justify-content:center; align-items:center; min-height:44px; width:100%; padding:10px 16px; border-radius:8px; font-size:14px; font-weight:700; line-height:1.4; }
#rux-footer .footer-btn-gold { background:#edc767; color:#243844; border:1px solid #edc767; }
#rux-footer .footer-btn-outline { background:transparent; color:#fff; border:1px solid #a6bac7; margin-top:4px; }
#rux-footer .footer-divider { height:1px; background:#69818e; margin:0 0 20px; }
#rux-footer .footer-bottom { border:0; padding:0; margin:0; display:flex; justify-content:space-between; align-items:flex-start; flex-wrap:wrap; gap:20px; }
#rux-footer .footer-bottom-left { display:flex; flex-direction:column; gap:6px; max-width:60%; }
#rux-footer .footer-attribution { display:flex; align-items:center; gap:8px; color:#e6edf2; font-size:14px; font-weight:600; }
#rux-footer .footer-attribution svg { width:16px; height:16px; }
#rux-footer .footer-disclaimer, #rux-footer .footer-legal { color:#d4e0e7; font-size:13px; line-height:1.65; }
#rux-footer .footer-disclaimer a { color:#fff; text-decoration:underline; }
#rux-footer .footer-bottom-right { text-align:right; }
#rux-footer .footer-util-links { display:flex; gap:6px 16px; flex-wrap:wrap; justify-content:flex-end; margin:0 0 8px; }
#rux-footer .footer-util-links a { color:#e6edf2; font-size:13px; padding:4px 0; }
#rux-footer .footer-copy { color:#d4e0e7; font-size:13px; }
#rux-footer .footer-social { display:flex; gap:10px; flex-wrap:wrap; }
#rux-footer .footer-social-icon { display:inline-flex; align-items:center; justify-content:center; width:44px; height:44px; border-radius:50%; background:#203440; }
#rux-footer .footer-social-icon svg { width:18px; height:18px; fill:#fff; }
#rux-footer .footer-crisis { padding:16px; margin:0 0 20px; border:1px solid #8ba2ae; border-radius:8px; font-size:14px; }
#rux-footer .footer-medical-notice { border-top:1px solid #69818e; padding:24px clamp(20px,3vw,40px); margin:0; }
#rux-footer .footer-medical-notice p { max-width:800px; margin:0 auto; color:#e6edf2; text-align:center; font-size:14px; line-height:1.65; }
#rux-footer .riseup-analytics-settings { display:inline-flex; align-items:center; min-height:44px; padding:4px 8px; text-decoration:underline; }
@media(max-width:768px) {
 #rux-footer .footer-grid { grid-template-columns:1fr; gap:24px; }
 #rux-footer .footer-bottom { flex-direction:column; }
 #rux-footer .footer-bottom-left { max-width:100%; }
 #rux-footer .footer-bottom-right { text-align:left; }
 #rux-footer .footer-util-links { justify-content:flex-start; }
 #rux-footer .footer-util-links a, #rux-footer .footer-link { min-height:44px; display:flex; flex-direction:column; justify-content:center; }
}
@media print { #rux-footer { display:none!important; } }

/* Optional page resources share the public footer structure without duplicate utilities. */
#rux-footer .footer-extra-links { display:flex; flex-wrap:wrap; gap:6px 20px; margin:0 0 20px; }
#rux-footer .footer-extra-links a { display:inline-flex; align-items:center; min-height:44px; padding:4px 0; font-size:14px; }
#rux-footer .footer-bottom-left { flex:1 1 300px; max-width:480px; }
#rux-footer .footer-bottom-right { flex:1 1 380px; min-width:0; }
@media(max-width:768px) { #rux-footer .footer-bottom-left, #rux-footer .footer-bottom-right { flex:0 1 auto; width:100%; max-width:100%; } }
