/* mibl_footer.css — the public footer, moved out of footer_public.php (audit P1 #9, 2026-10-02).
   ~4.3 KB of inline <style> re-sent byte-identical with page views; no PHP was interpolated into it.
   Loaded from the position the inline block had, so the cascade is unchanged. */
.site-footer { width: 100%; margin-top: 8px; }
.footer-top { display: grid; grid-template-columns: 1.8fr 1fr 1fr 1fr; gap: 40px; padding: 44px 0 36px; max-width: 1400px; width: 95%; margin: 0 auto; border-top: 1px solid rgba(255,255,255,.07); }
.footer-brand-logo-row { display: flex; align-items: center; gap: 10px; margin-bottom: 13px; text-decoration: none; }
.footer-logo-img { width: 34px; height: 34px; border-radius: 8px; border: 1px solid rgba(0,212,255,.28); box-shadow: 0 0 10px rgba(0,212,255,.18); object-fit: cover; flex-shrink: 0; }
.footer-brand-wordmark { font-size: 17px; font-weight: 900; background: linear-gradient(90deg, #00d4ff, #a78bfa); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; letter-spacing: -.2px; }
/* Text alphas below were .18–.36 — 2–3:1 on #070714, below the 4.5:1 AA floor for body text. Raised
   2026-09-30 to the smallest values that clear it with room; the hover colours (.85/.88) stay brighter. */
.footer-brand-desc { font-size: 13px; color: rgba(255,255,255,.66); line-height: 1.85; max-width: 260px; margin-bottom: 18px; }
.footer-socials { display: flex; gap: 8px; flex-wrap: wrap; }
.footer-soc-btn { width: 34px; height: 34px; border-radius: 9px; background: rgba(255,255,255,.04); border: 1px solid rgba(255,255,255,.07); display: flex; align-items: center; justify-content: center; text-decoration: none; font-size: 15px; transition: all .22s; color: rgba(255,255,255,.58); }
.footer-soc-btn img { width: 20px; height: 20px; object-fit: contain; display: block; }
.footer-links-list li a .li-icon { width: 16px; height: 16px; object-fit: contain; display: inline-block; vertical-align: middle; }
.footer-soc-btn:hover { background: rgba(255,255,255,.1); border-color: rgba(167,139,250,.35); transform: translateY(-2px); color: #fff; text-decoration: none; }
.footer-col-title { font-size: 10.5px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: rgba(255,255,255,.70); margin-bottom: 14px; }
.footer-links-list { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 9px; }
.footer-links-list li a { font-size: 13px; color: rgba(255,255,255,.45); text-decoration: none; transition: color .18s; display: flex; align-items: center; gap: 7px; }
.footer-links-list li a:hover { color: rgba(255,255,255,.88); text-decoration: none; }
.footer-bottom-bar { border-top: 1px solid rgba(255,255,255,.05); padding: 14px 0 8px; max-width: 1400px; width: 95%; margin: 0 auto; display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 8px; }
.footer-copy-text { font-size: 12px; color: rgba(255,255,255,.62); letter-spacing: .3px; }
.footer-made-in   { font-size: 12px; color: rgba(255,255,255,.62); }
.footer-bottom-links { display: inline-flex; gap: 14px; align-items: center; }
.footer-bottom-link { font-size: 12px; color: rgba(255,255,255,.66); text-decoration: none; transition: color .18s; }
.footer-bottom-link:hover { color: rgba(255,255,255,.85); text-decoration: none; }
@media (max-width: 900px) { .footer-top { grid-template-columns: 1fr 1fr; gap: 28px; } }
@media (max-width: 560px) {
    .footer-top { grid-template-columns: 1fr; gap: 22px; }
    .footer-bottom-bar { flex-direction: column; text-align: center; }
    .footer-brand-desc { max-width: 100%; }
}
/* Floating "switch to mobile" pill — only on phone-width screens. Lets a user
   who is stuck on the desktop build (mibl_full_site cookie, or "Request Desktop
   Website" forcing a desktop UA) jump back to the light /MIBL_Mobile build in
   one tap. /index.php?mobile clears the desktop-escape cookie via route.php so
   the choice persists. Hidden on real desktops. */
.mibl-mobile-switch { display: none; }
@media (max-width: 768px) {
    .mibl-mobile-switch {
        display: inline-flex; align-items: center; gap: 7px;
        position: fixed; left: 50%; transform: translateX(-50%);
        bottom: calc(14px + env(safe-area-inset-bottom, 0px)); z-index: 9990;
        background: linear-gradient(135deg, #00d4ff, #a78bfa); color: #04121f;
        font-weight: 800; font-size: 13px; line-height: 1; padding: 12px 18px;
        border-radius: 999px; text-decoration: none;
        box-shadow: 0 8px 26px rgba(0,0,0,.5), 0 0 0 1px rgba(255,255,255,.15) inset;
    }
    .mibl-mobile-switch:active { transform: translateX(-50%) scale(.96); }
}
