/* components/footer/ap-footer.css — styles for the shared footer.
   Single source of truth: linked once per page (cached site-wide), loads its
   own font so it never borrows a page's body font, and is scoped under
   .apx-ft-* so it can't clash with page CSS.

   Re-theme in one line: change --apx-ft-hover below. It drives every hover
   colour (links + social icons). It's currently the footer's existing link-
   hover blue; swap it for the brand accent if that's what you want site-wide. */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap');

.apx-ft{--apx-ft-hover:#3b82f6;
  font-family:'Inter',system-ui,-apple-system,'Segoe UI',Roboto,Arial,sans-serif;
  background:#020610;border-top:1px solid rgba(255,255,255,.08);padding:60px 40px 28px;
  color:rgba(255,255,255,.72);box-sizing:border-box;}
.apx-ft *{box-sizing:border-box;}
.apx-ft-container{max-width:1400px;margin:0 auto;}

.apx-ft-grid{display:grid;grid-template-columns:1.5fr repeat(4,1fr);gap:48px;margin-bottom:48px;}
.apx-ft--no-cols .apx-ft-grid{grid-template-columns:1fr;margin-bottom:36px;}   /* brand-only */
.apx-ft--no-brand .apx-ft-grid{grid-template-columns:repeat(4,1fr);}           /* columns-only */
.apx-ft-brand{max-width:340px;}
.apx-ft-logo{display:flex;align-items:center;gap:12px;text-decoration:none;margin-bottom:16px;}
.apx-ft-logo-icon{width:38px;height:38px;flex-shrink:0;}
.apx-ft-logo-icon svg{width:100%;height:100%;}
.apx-ft-logo-text{display:flex;flex-direction:column;line-height:1.05;}
.apx-ft-logo-text h2{font-size:20px;font-weight:800;letter-spacing:-.02em;color:#fff;margin:0;}
.apx-ft-logo-text h2 .apx-ft-accent{color:#fbbf24;}
.apx-ft-logo-text p{font-size:10.5px;color:#fbbf24;margin:2px 0 0;letter-spacing:.12em;
  text-transform:uppercase;font-weight:600;}
.apx-ft-tag{font-size:14px;color:rgba(255,255,255,.72);line-height:1.6;margin:0;}

.apx-ft-col h5{font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;
  color:#fff;margin:0 0 18px;}
.apx-ft-col ul{list-style:none;margin:0;padding:0;}
.apx-ft-col li{margin-bottom:10px;}
.apx-ft-col a{font-size:14px;color:rgba(255,255,255,.72);text-decoration:none;transition:color .16s;}
.apx-ft-col a:hover{color:var(--apx-ft-hover);}

/* bottom bar: copyright + legal links (left cluster) ---- social icons (right) */
.apx-ft-bottom{padding-top:24px;border-top:1px solid rgba(255,255,255,.05);display:flex;
  align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px 24px;
  font-size:13px;color:rgba(255,255,255,.55);}
.apx-ft-bottom-info{display:flex;align-items:center;flex-wrap:wrap;gap:6px 16px;}
.apx-ft-copy{color:rgba(255,255,255,.55);}
.apx-ft-links a{color:rgba(255,255,255,.72);text-decoration:none;margin:0 4px;transition:color .16s;}
.apx-ft-links a:hover{color:var(--apx-ft-hover);}

/* social icons — inline SVG glyphs, right-aligned on desktop, centred on mobile */
.apx-ft-social{display:flex;align-items:center;gap:12px;}
.apx-ft-social-link{display:inline-flex;align-items:center;justify-content:center;
  width:34px;height:34px;border-radius:9px;color:rgba(255,255,255,.6);
  background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);
  transition:color .18s ease,background .18s ease,border-color .18s ease,transform .18s ease;}
.apx-ft-social-link svg{width:16px;height:16px;display:block;}
.apx-ft-social-link:hover{color:#fff;background:var(--apx-ft-hover);
  border-color:var(--apx-ft-hover);transform:translateY(-2px);}
.apx-ft-social-link:focus-visible{outline:2px solid var(--apx-ft-hover);outline-offset:2px;}

@media(max-width:1200px){.apx-ft-grid{grid-template-columns:1.5fr 1fr 1fr;gap:36px;}
  .apx-ft--no-cols .apx-ft-grid{grid-template-columns:1fr;}
  .apx-ft--no-brand .apx-ft-grid{grid-template-columns:repeat(3,1fr);}}
@media(max-width:768px){.apx-ft-grid{grid-template-columns:1fr 1fr;gap:28px;}
  .apx-ft-brand{grid-column:1/-1;max-width:none;}.apx-ft{padding:44px 22px 24px;}
  .apx-ft-bottom{flex-direction:column;text-align:center;gap:16px;}
  .apx-ft-bottom-info{justify-content:center;}.apx-ft-social{justify-content:center;}}
@media(max-width:480px){.apx-ft-grid{grid-template-columns:1fr;}}

@media(prefers-reduced-motion:reduce){
  .apx-ft-social-link{transition:none;}.apx-ft-social-link:hover{transform:none;}}
