/* ============================================================
   COMPONENT · Footer  (.footer, .footer-cta, .footer--mega, .footer__live, footer @media)
   Auto-split from main.css (Phase 1). Load order fixed in inc/enqueue.php.
   ============================================================ */


/* footer CTA band — green, centered, upward notch */
.footer-cta{position:relative;background:var(--green);color:#fff;text-align:center;padding:70px 0;}
.footer-cta::before{content:"";position:absolute;top:0;left:50%;transform:translate(-50%,-50%) rotate(45deg);width:26px;height:26px;background:var(--green);}
.footer-cta h2{color:#fff;margin:0 0 1.6rem;font-size:clamp(1.6rem,3vw,2.2rem);text-transform:uppercase;}
.footer-cta .button{border-color:#fff;color:#fff;background:transparent;}
.footer-cta .button:hover{background:#fff;color:var(--ink);}

/* footer — measured: 2 cols (ABOUT | CONTACT US w/ socials), title underlines */
.footer{background:var(--black);color:rgba(255,255,255,.62);}
.footer__grid{display:grid;grid-template-columns:1fr 1fr;gap:3rem;padding:clamp(3rem,6vw,4.5rem) 0;}
.footer__col h4{position:relative;color:#fff;margin-bottom:1.6rem;padding-bottom:14px;text-transform:uppercase;letter-spacing:.02em;}
.footer__col h4::after{content:"";position:absolute;left:0;bottom:0;width:60px;height:2px;background:var(--green);}
.footer__col p{margin:0 0 1.4rem;max-width:46ch;}
.footer__contact li{display:flex;align-items:center;gap:.7rem;padding:.35rem 0;}
.footer__contact svg{color:var(--green);flex:none;}
.footer__social{display:flex;gap:.5rem;margin-top:1.5rem;}
.footer__social a{width:38px;height:38px;border-radius:50%;background:transparent;border:1px solid rgba(255,255,255,.2);color:rgba(255,255,255,.6);display:grid;place-items:center;font-size:.8rem;font-weight:700;text-transform:lowercase;transition:.3s;}
.footer__social a:hover{background:var(--green);border-color:var(--green);color:#fff;}
.footer__bottom{border-top:1px solid var(--line-dark);}
.footer__bottom-inner{display:flex;justify-content:space-between;flex-wrap:wrap;gap:.5rem;padding:1.3rem 0;font-size:.85rem;}
.footer__links a{margin-left:1.2rem;color:rgba(255,255,255,.62);}
.footer__links a:hover{color:var(--green);}

/* ===================== 5-COLUMN MEGA FOOTER ===================== */
.footer--mega{background:var(--sb-dark);color:#fff;padding:0;}
.footer--mega .footer__cols{display:grid;grid-template-columns:1.3fr repeat(5,1fr);gap:22px;padding:48px 0 36px;}
.footer--mega .footer__col h4{color:#fff;font-size:.78rem;text-transform:uppercase;letter-spacing:.06em;margin:0 0 14px;}
.footer--mega .footer__col ul{list-style:none;margin:0;padding:0;}
.footer--mega .footer__col li{margin:8px 0;}
.footer--mega .footer__col a{color:rgba(255,255,255,.72);font-size:.86rem;transition:.2s;}
.footer--mega .footer__col a:hover{color:var(--sb-gold);}
.footer__brand{font-size:1.3rem;font-weight:800;color:#fff;}
.footer__brand-logo{display:inline-block;line-height:0;}
.footer__brand-logo img{max-height:48px;width:auto;height:auto;}
.footer__tag{color:rgba(255,255,255,.6);font-size:.85rem;margin:10px 0 14px;max-width:28ch;}
.footer--mega .footer__contact{list-style:none;margin:0 0 14px;padding:0;}
.footer--mega .footer__contact li{display:flex;gap:8px;align-items:center;margin:7px 0;color:rgba(255,255,255,.8);font-size:.85rem;}
.footer--mega .footer__contact a{color:rgba(255,255,255,.8);}
.footer--mega .footer__contact a:hover{color:var(--sb-gold);}
.footer__social{display:flex;flex-wrap:wrap;gap:8px 14px;margin-bottom:12px;}
.footer__social a{color:rgba(255,255,255,.7);font-size:.8rem;}
.footer__social a:hover{color:var(--sb-gold);}
.footer__maps a{color:var(--sb-gold);font-size:.82rem;}
.footer--mega .footer__bottom{border-top:1px solid rgba(255,255,255,.12);margin-top:0;}
.footer--mega .footer__bottom-inner{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap;padding:18px 0;}
.footer--mega .footer__bottom-inner span{color:rgba(255,255,255,.6);font-size:.82rem;}
.footer__legal{display:flex;gap:18px;flex-wrap:wrap;}
.footer__legal a{color:rgba(255,255,255,.7);font-size:.82rem;}
.footer__legal a:hover{color:var(--sb-gold);}
@media (max-width:1080px){.footer--mega .footer__cols{grid-template-columns:1fr 1fr 1fr;}}
@media (max-width:680px){.footer--mega .footer__cols{grid-template-columns:1fr 1fr;}.footer__col--brand{grid-column:1/-1;}}
@media (max-width:440px){.footer--mega .footer__cols{grid-template-columns:1fr;}}
/* Footer live indicator — circular; space kept for your icon */
.footer__live{display:inline-flex;align-items:center;gap:9px;margin-top:10px;color:var(--sb-navy);font-weight:700;font-size:1rem;}
.footer__live .dot{position:relative;display:inline-flex;width:44px;height:44px;border-radius:50%;border:2px solid var(--sb-blue);align-items:center;justify-content:center;}
.footer__live .dot::before{content:"";width:11px;height:11px;border-radius:50%;background:#2e7d4f;box-shadow:0 0 0 0 rgba(46,125,79,.55);animation:ncLive 1.8s infinite;}
@keyframes ncLive{0%{box-shadow:0 0 0 0 rgba(46,125,79,.55)}70%{box-shadow:0 0 0 12px rgba(46,125,79,0)}100%{box-shadow:0 0 0 0 rgba(46,125,79,0)}}