/* ==========================================================================
   SHARED SITE FOOTER — used on EVERY page (homepage + interior).
   Fully self-contained + namespaced under .site-footer so it renders
   identically whether the page loads home.css or app.css (no class conflicts).
   ========================================================================== */
.site-footer {
  --sf-bg:#040405; --sf-ink:#f5f5f6; --sf-muted:rgba(255,255,255,.70);
  --sf-muted-2:rgba(255,255,255,.52); --sf-gold:#d4a64a; --sf-line:rgba(255,255,255,.10);
  --sf-radius:14px;
  border-top:1px solid var(--sf-line); background:var(--sf-bg); color:var(--sf-ink);
  font-family:"Inter","Inter Fallback",-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif;
}
.site-footer .wrap { width:min(1180px, 100% - 2*clamp(20px,5vw,44px)); margin-inline:auto; }
.site-footer a { text-decoration:none; }

/* top: brand · page nav · social */
.site-footer .footer-top { display:grid; grid-template-columns:1.6fr 1fr 1fr; gap:40px; padding-top:64px; padding-bottom:48px; align-items:start; }
.site-footer .footer-brand .brand-logo { height:54px; width:auto; margin-bottom:18px; display:block; }
.site-footer .footer-mini { color:var(--sf-muted); font-size:14px; margin:0; }
.site-footer .footer-nav { display:flex; flex-direction:column; gap:10px; }
.site-footer .footer-nav a { color:var(--sf-muted); font-size:14px; font-weight:600; }
.site-footer .footer-nav a:hover { color:var(--sf-gold); }
.site-footer .footer-social { display:flex; flex-direction:column; gap:10px; }
.site-footer .footer-social a { color:var(--sf-muted); font-size:14px; font-weight:600; }
.site-footer .footer-social a:hover { color:var(--sf-gold); }

/* ANPC / SAL compliance strip */
.site-footer .footer-legal { display:flex; flex-direction:column; align-items:center; gap:10px; padding:22px 0; border-top:1px solid var(--sf-line); }
.site-footer .legal-head { margin:0; text-align:center; color:var(--sf-muted-2); font-size:11px; font-weight:800; letter-spacing:.18em; text-transform:uppercase; }
.site-footer .legal-imgs { display:flex; justify-content:center; align-items:center; gap:clamp(16px,3vw,30px); flex-wrap:wrap; }
.site-footer .legal-img { display:inline-flex; align-items:center; opacity:.95; transition:transform .15s ease, opacity .2s; }
.site-footer .legal-img:hover { transform:translateY(-1px); opacity:1; }
.site-footer .legal-img img { height:48px; width:auto; display:block; }
.site-footer .legal-tel { display:inline-flex; flex-direction:column; align-items:center; justify-content:center; gap:1px; height:48px; padding:0 16px; border-radius:10px; background:#2b2b52; }
.site-footer .legal-tel:hover { transform:translateY(-1px); }
.site-footer .legal-tel-label { color:#fff; font-size:8.5px; font-weight:700; letter-spacing:.04em; text-transform:uppercase; }
.site-footer .legal-tel-num { color:#ff6f61; font-size:16px; font-weight:900; letter-spacing:.06em; }

/* bottom: legal links · identity · fine print */
.site-footer .footer-bottom { border-top:1px solid var(--sf-line); padding-top:24px; padding-bottom:36px; text-align:center; }
.site-footer .footer-links { display:flex; flex-wrap:wrap; justify-content:center; gap:7px 18px; margin:0 0 12px; }
.site-footer .footer-links a { color:var(--sf-muted); font-size:13px; font-weight:600; }
.site-footer .footer-links a:hover { color:var(--sf-gold); }
.site-footer .legal-identity { text-align:center; color:var(--sf-muted-2); font-size:11.5px; line-height:1.65; margin:0 auto 12px; max-width:760px; }
.site-footer .legal-identity p { margin:0; }
.site-footer .legal-identity a { color:var(--sf-muted); }
.site-footer .legal-identity a:hover { color:var(--sf-gold); }
.site-footer .footer-fine { max-width:80ch; margin:0 auto; text-align:center; color:var(--sf-muted-2); font-size:11.5px; }

@media (max-width:820px) {
  .site-footer .footer-top { grid-template-columns:1fr 1fr; gap:28px; padding-top:48px; padding-bottom:36px; }
  .site-footer .footer-brand { grid-column:1 / -1; }
}
@media (max-width:560px) {
  .site-footer .footer-top { grid-template-columns:1fr; gap:22px; }
  .site-footer .legal-img img { height:42px; }
  .site-footer .footer-links a { font-size:12px; }
}
