/* Footer styles - scoped under .site-footer to avoid conflicts */
.site-footer{font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Oxygen', 'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue', sans-serif;color:var(--footer-text, #ffffff);position:relative;overflow:hidden}

/* background & decorative glows (scoped) */
.site-footer{--footer-bg: linear-gradient(to bottom right, #0B4678, #0B4678, #1075CD);background:var(--footer-bg);}
.site-footer::before{content:"";position:absolute;left:0;top:0;width:24rem;height:24rem;background:rgba(255,255,255,0.05);border-radius:9999px;filter:blur(96px);transform:translate(-50%,-50%);pointer-events:none}
.site-footer::after{content:"";position:absolute;right:0;bottom:0;width:24rem;height:24rem;background:rgba(255,0,0,0.1);border-radius:9999px;filter:blur(96px);transform:translate(50%,50%);pointer-events:none}

/* container sizing (matches spec) */
.site-footer__container{max-width:1400px;margin:0 auto;padding-left:16px;padding-right:16px;padding-top:3rem;padding-bottom:0}
@media(min-width:640px){.site-footer__container{padding-left:24px;padding-right:24px;padding-top:4rem;padding-bottom:0}}
@media(min-width:1024px){.site-footer__container{padding-left:32px;padding-right:32px}}

/* grid: 12-column layout on lg, fallback to simpler grids */
.site-footer__grid{display:grid;grid-template-columns:1fr;gap:2rem}
@media(min-width:640px){.site-footer__grid{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1024px){.site-footer__grid{grid-template-columns:repeat(12,1fr);gap:3rem}}

.footer__brand{grid-column:1 / -1}
.footer__links{grid-column:1 / -1}
.footer__support{grid-column:1 / -1}
.footer__contact{grid-column:1 / -1}
@media(min-width:1024px){
  .footer__brand{grid-column:span 4}
  .footer__links{grid-column:span 2}
  .footer__support{grid-column:span 3}
  .footer__contact{grid-column:span 3}
}

.footer__logo{height:40px;width:auto;margin-bottom:12px}
@media(min-width:640px){.footer__logo{height:48px}}
.footer__desc{color:rgba(255,255,255,0.9);max-width:24rem;margin-bottom:12px;line-height:1.625}

.footer__social{display:flex;gap:0.75rem}
.social-link{width:2.75rem;height:2.75rem;display:inline-flex;align-items:center;justify-content:center;border-radius:0.75rem;background:rgba(255,255,255,0.1);border:1px solid rgba(255,255,255,0.2);transition:all 300ms ease}
.social-link:hover{transform:scale(1.1);background:#FF0000;border-color:#FF0000}
.social-icon{width:1.25rem;height:1.25rem;color:#fff}

.footer__links h4,.footer__support h4,.footer__contact h4{color:#fff;font-size:1.125rem;margin-bottom:1.25rem}
.footer__links ul,.footer__support ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:0.75rem}
.footer__links li,.footer__support li{margin:0}
.footer__links a,.footer__support a{color:rgba(255,255,255,0.8);text-decoration:none;font-size:0.875rem;display:inline-flex;align-items:center;gap:0.5rem;transition:color 300ms ease}
.footer__links a:hover,.footer__support a:hover{color:#fff}
/* red dot before link */
.footer__links a::before,.footer__support a::before{content:"";display:inline-block;width:0.25rem;height:0.25rem;background:var(--accent-red,#FF0000);border-radius:9999px;transition:width 300ms ease}
.footer__links a:hover::before,.footer__support a:hover::before{width:0.5rem}

.contact-list{list-style:none;padding:0;margin:0}
.contact-list li{display:flex;gap:0.75rem;align-items:flex-start;margin-bottom:0.9rem}
.contact-icon{width:2.5rem;height:2.5rem;background:rgba(255,255,255,0.06);border-radius:0.6rem;display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,0.08);flex-shrink:0}
.contact-icon svg{width:1.125rem;height:1.125rem;stroke:rgba(255,255,255,0.95);fill:none;stroke-width:1.6}
.contact-kicker{font-size:0.75rem;color:rgba(255,255,255,0.65);margin-bottom:0.25rem}
.contact-link{display:block;color:rgba(255,255,255,0.9);font-weight:600;text-decoration:none}
.contact-link:hover{color:#FF0000}

/* Bottom bar */
.site-footer__bottom{border-top:2px solid rgba(255,255,255,0.06);margin-top:-10px;padding-top:0px;padding-bottom:0}
.site-footer__bottom-inner{padding-left:8px;padding-right:8px}
@media(min-width:640px){.site-footer__bottom-inner{padding-left:24px;padding-right:24px}}
.site-footer__bottom-row{display:flex;flex-direction:row;gap:0;padding:0;align-items:center;justify-content:space-between;min-height:44px}
@media(min-width:640px){.site-footer__bottom-row{flex-direction:row;align-items:center}}
.copyright{color:rgba(255,255,255,0.72);font-size:0.825rem;line-height:1;text-align:left}
.policies{display:flex;flex-wrap:nowrap;align-items:center;justify-content:center;gap:0.6rem;color:rgba(255,255,255,0.72);font-size:0.825rem}
@media(min-width:640px){.policies{justify-content:flex-end}}
.policies a{color:rgba(255,255,255,0.72);text-decoration:none}
.policies a:hover{color:#fff}
.sep{color:rgba(255,255,255,0.3)}

.site-footer__bottom{border-top:1px solid rgba(255,255,255,0.06);margin-top:-12px;padding-top:0;padding-bottom:0;position:relative;z-index:2}
.site-footer__bottom-inner{padding-left:16px;padding-right:16px}
@media(min-width:640px){.site-footer__bottom-inner{padding-left:24px;padding-right:24px}}
@media(min-width:1024px){.site-footer__bottom-inner{padding-left:32px;padding-right:32px}}
/* small tweaks for readability */
.site-footer a{outline-offset:2px}
