/* ============================================================
   FoundationRX — Site Footer (Beaver Themer layout styling)
   Applied to a Themer Footer built from BB rows + modules.
   Row CSS classes: frx-precta (CTA band), frx-foot (shared
   deep-navy shell), frx-footer-main (link columns), frx-ftrust
   (trust strip), frx-fbot (bottom bar). Link columns render BB
   Menu modules (menus: Services / Service Areas / Company).
   Tokens from brand/design-system.css with standalone fallbacks.
   ============================================================ */

.frx-precta, .frx-foot{
  --_primary:var(--color-primary,#2455B8);
  --_accent:var(--color-accent,#E63031);
  --_accent-tint:var(--color-accent-tint,rgba(230,48,49,.20));
  --_deep:var(--color-bg-deep,#0E1A2B);
  --_mint:var(--color-success-bright,#4ADE80);
  --_on:rgba(255,255,255,1);
  --_on-strong:var(--on-dark-strong,rgba(255,255,255,.92));
  --_on-muted:var(--on-dark-muted,rgba(255,255,255,.82));
  --_on-subtle:var(--on-dark-subtle,rgba(255,255,255,.70));
  --_on-eyebrow:var(--on-dark-eyebrow,#A7C3F4);
  --_glass:var(--glass-surface-2,rgba(255,255,255,.10));
  --_glass-border:var(--glass-border,rgba(255,255,255,.22));
  --_fdisplay:var(--f-display,'Manrope',system-ui,sans-serif);
  --_fbody:var(--f-body,'Inter',system-ui,sans-serif);
  --_r-md:var(--r-md,10px); --_r-lg:var(--r-lg,16px); --_r-full:var(--r-full,999px);
  --_container:var(--container,1200px);
}
.frx-precta svg,.frx-foot svg{stroke-width:1.9;stroke:currentColor;fill:none;stroke-linecap:round;stroke-linejoin:round;display:block}

/* ---------- shared deep-navy shell ---------- */
.frx-foot{background:var(--_deep) !important;color:var(--_on-muted);font-family:var(--_fbody)}
.frx-foot .fl-row-content,.frx-precta .fl-row-content{max-width:var(--_container);margin:0 auto}

/* ============================================================
   PRE-CTA BAND
   ============================================================ */
.frx-precta{position:relative;overflow:hidden;color:#fff;font-family:var(--_fbody);
  background:
    radial-gradient(700px 350px at 90% 0%, rgba(230,48,49,.14), transparent 60%),
    radial-gradient(700px 350px at 0% 100%, rgba(36,85,184,.50), transparent 60%),
    var(--_deep) !important}
.frx-precta__in{display:flex;align-items:center;justify-content:space-between;gap:32px;flex-wrap:wrap;padding:44px 28px}
.frx-precta__txt{display:flex;gap:18px;align-items:center;min-width:280px;flex:1}
.frx-precta__ic{width:56px;height:56px;border-radius:16px;flex:none;display:flex;align-items:center;justify-content:center;
  background:var(--_accent-tint);border:1px solid rgba(255,255,255,.2);color:#fff}
.frx-precta__ic svg{width:30px;height:30px}
.frx-precta h3{font-family:var(--_fdisplay);font-weight:800;font-size:1.4rem;letter-spacing:-.01em;color:#fff;margin:0 0 4px}
.frx-precta p{color:var(--_on-muted);margin:0;font-size:.95rem}
.frx-precta__act{display:flex;align-items:center;gap:20px;flex-wrap:wrap}
.frx-precta__phone{display:inline-flex;flex-direction:column;text-decoration:none;color:#fff;font-family:var(--_fdisplay)}
.frx-precta__phone .l{font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--_on-subtle)}
.frx-precta__phone .n{font-size:1.6rem;font-weight:800;letter-spacing:-.01em}
.frx-precta__phone:hover .n{color:#FF6B6C}
.frx-precta__btn{display:inline-flex;align-items:center;gap:9px;padding:13px 22px;min-height:48px;border-radius:var(--_r-md);
  background:var(--_accent);color:#fff;text-decoration:none;font-family:var(--_fdisplay);font-weight:600;font-size:1rem;
  box-shadow:0 8px 22px rgba(230,48,49,.28);transition:background .15s,transform .15s}
.frx-precta__btn svg{width:18px;height:18px}
.frx-precta__btn:hover{background:#B72325;transform:translateY(-1px);color:#fff}

/* ============================================================
   MAIN LINK COLUMNS  (BB 4-column row)
   ============================================================ */
.frx-footer-main .fl-row-content{padding:64px 28px 40px}
/* column headings (HTML module) */
.frx-fcol__h{font-family:var(--_fdisplay);font-weight:700;font-size:.85rem;letter-spacing:.08em;text-transform:uppercase;
  color:#fff;margin:0 0 18px}
/* brand column */
.frx-fbrand__logo{display:inline-block;margin-bottom:18px}
.frx-fbrand__logo img{height:52px;width:auto;display:block}
.frx-fbrand p{color:var(--_on-muted);font-size:.95rem;line-height:1.6;margin:0 0 20px;max-width:34ch}
.frx-nap{display:flex;flex-direction:column;gap:13px;margin-bottom:20px}
.frx-nap a,.frx-nap div{display:flex;align-items:flex-start;gap:11px;color:var(--_on-strong);text-decoration:none;font-size:.95rem}
.frx-nap svg{width:18px;height:18px;color:var(--_on-eyebrow);flex:none;margin-top:2px}
.frx-nap a:hover{color:#fff}
.frx-fsocial{display:flex;gap:10px}
.frx-fsocial a{width:40px;height:40px;border-radius:11px;background:var(--_glass);border:1px solid var(--_glass-border);
  display:flex;align-items:center;justify-content:center;color:#fff;transition:background .15s,transform .15s}
.frx-fsocial a:hover{background:var(--_primary);transform:translateY(-2px)}
.frx-fsocial svg{width:19px;height:19px}

/* BB Menu module -> vertical bulleted link list matching the design */
.frx-footer-main .fl-menu .menu,
.frx-footer-main .fl-menu ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:11px}
.frx-footer-main .fl-menu .menu-item{margin:0;display:block;width:100%;border:0}
.frx-footer-main .fl-menu .menu-item a{display:inline-flex;align-items:center;gap:8px;padding:0;border:0;background:none;
  color:var(--_on-muted);text-decoration:none;font-family:var(--_fbody);font-size:.95rem;line-height:1.3;transition:color .15s}
.frx-footer-main .fl-menu .menu-item a::before{content:"";width:5px;height:5px;border-radius:50%;background:var(--_primary);
  flex:none;opacity:.7;transition:opacity .15s,background .15s}
.frx-footer-main .fl-menu .menu-item a:hover{color:#fff}
.frx-footer-main .fl-menu .menu-item a:hover::before{opacity:1;background:#FF6B6C}
/* neutralize BB menu chrome in the footer */
.frx-footer-main .fl-menu .fl-menu-mobile-toggle{display:none}
.frx-footer-main .fl-menu ul.menu li.menu-item:hover{background:transparent}

/* ============================================================
   TRUST STRIP
   ============================================================ */
.frx-ftrust .fl-row-content{padding:0 28px}
.frx-ftrust__in{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;
  border-top:1px solid var(--_glass-border);border-bottom:1px solid var(--_glass-border);padding:26px 0}
.frx-ftrust__item{display:flex;align-items:center;gap:12px}
.frx-ftrust__ic{width:44px;height:44px;border-radius:12px;flex:none;display:flex;align-items:center;justify-content:center;
  background:var(--_glass);border:1px solid var(--_glass-border);color:var(--_mint)}
.frx-ftrust__ic svg{width:22px;height:22px}
.frx-ftrust__body{display:flex;flex-direction:column;gap:2px;min-width:0}
.frx-ftrust__t{font-family:var(--_fdisplay);font-weight:700;font-size:.95rem;color:#fff}
.frx-ftrust__d{font-size:.85rem;color:var(--_on-subtle)}

/* ============================================================
   BOTTOM BAR
   ============================================================ */
.frx-fbot__in{max-width:var(--_container);margin:0 auto;padding:22px 28px 30px;
  display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.frx-fbot__legal{display:flex;align-items:center;gap:18px;flex-wrap:wrap}
.frx-fbot__legal span{font-size:.85rem;color:var(--_on-subtle)}
.frx-fbot__legal a{font-size:.85rem;color:var(--_on-muted);text-decoration:none}
.frx-fbot__legal a:hover{color:#fff}
.frx-fbot__area{display:inline-flex;align-items:center;gap:8px;font-size:.85rem;color:var(--_on-subtle)}
.frx-fbot__area svg{width:15px;height:15px;color:var(--_on-eyebrow)}

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media (max-width:900px){
  .frx-footer-main .fl-row-content{padding:44px 22px 28px}
  .frx-ftrust__in{grid-template-columns:1fr 1fr;gap:16px}
  .frx-precta__in{padding:32px 22px}
  .frx-precta__act{width:100%}
}
@media (max-width:600px){
  .frx-ftrust__in{grid-template-columns:1fr}
  .frx-fbot__in{flex-direction:column;align-items:flex-start;gap:10px}
  .frx-precta h3{font-size:1.2rem}
}
@media (prefers-reduced-motion:reduce){ .frx-precta *,.frx-foot *{transition:none !important} }
