/* White Fortress Academy - site footer v3 (all classes prefixed wf-f-)
   Replaces css/footer.css AND the inline <style id="wf-footer-layout"> block in index.html (delete that block). */
.wf-footer,.wf-footer *{box-sizing:border-box}
.wf-footer{background:#00244d;color:#c3d1e3;font-family:'DM Sans',system-ui,sans-serif;font-size:.95rem;line-height:1.6}
.wf-footer a{color:inherit;text-decoration:none}
.wf-footer a:hover{color:#fff}
.wf-footer :focus-visible{outline:3px solid #4d9bff;outline-offset:2px;border-radius:6px}
.wf-footer ul{list-style:none;margin:0;padding:0}
.wf-fi{width:18px;height:18px;flex:none;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.wf-f-in{max-width:1200px;margin:0 auto;padding:0 24px}

/* ---------- CTA band ---------- */
.wf-f-cta{background:linear-gradient(90deg,#0a4c93,#003366);border-bottom:1px solid rgba(255,255,255,.1)}
.wf-f-ctain{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-top:26px;padding-bottom:26px;flex-wrap:wrap}
.wf-f-ctain strong{display:block;font:600 1.25rem/1.3 'Poppins',sans-serif;color:#fff}
.wf-f-ctain span{display:block;color:#c3d1e3;margin-top:2px}
.wf-f-btn{display:inline-flex;align-items:center;gap:9px;background:#25d366;color:#06361a!important;font-weight:700;padding:12px 24px;border-radius:10px;white-space:nowrap;transition:transform .2s,background .2s}
.wf-f-btn:hover{background:#3be07b;transform:translateY(-1px)}

/* ---------- Main grid ---------- */
.wf-f-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr 1.15fr;gap:40px 36px;align-items:start;padding-top:52px;padding-bottom:44px}
.wf-f-grid>*{min-width:0;margin:0}

/* Brand */
.wf-f-logo{display:inline-flex;align-items:center;gap:11px;font:700 1.2rem/1.2 'Poppins',sans-serif;color:#fff!important;margin-bottom:14px}
.wf-f-logo img{width:42px;height:42px;object-fit:contain}
.wf-f-logo b{color:#ff5a5f;font-weight:700}
.wf-f-brand p{margin:0 0 18px;color:#aebfd3}

/* "Follow us" pill */
.wf-f-follow{display:inline-flex;align-items:center;gap:10px;padding:10px 16px;border-radius:16px;border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.05);font:700 .7rem/1.4 'Poppins',sans-serif;letter-spacing:.03em;text-transform:uppercase;color:#e6eef8;margin-bottom:18px;max-width:100%}
.wf-f-follow i{flex:none}
.wf-f-follow svg{flex:none}
.wf-f-follow i{width:8px;height:8px;border-radius:50%;background:#2ee59d;box-shadow:0 0 0 0 rgba(46,229,157,.6);animation:wf-f-pulse 2s infinite}
.wf-f-follow svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;animation:wf-f-bob 1.6s ease-in-out infinite}
@keyframes wf-f-pulse{70%{box-shadow:0 0 0 8px rgba(46,229,157,0)}100%{box-shadow:0 0 0 0 rgba(46,229,157,0)}}
@keyframes wf-f-bob{50%{transform:translateY(3px)}}

.wf-f-social{display:flex;gap:10px}
.wf-f-social a{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;background:rgba(255,255,255,.08);transition:background .2s,transform .2s}
.wf-f-social a:hover{background:#d32f2f;transform:translateY(-2px)}

/* Contact list */
.wf-f-contact-list{margin-top:22px;display:grid;gap:12px}
.wf-f-contact-list p{margin:0;display:flex;align-items:flex-start;gap:10px;line-height:1.5}
.wf-f-contact-list .wf-fi{margin-top:3px;color:#7fb0ea}
.wf-f-contact-list a:hover{text-decoration:underline}

/* Link columns */
.wf-f-col h4{margin:0 0 16px;font:600 .95rem 'Poppins',sans-serif;color:#fff;letter-spacing:.01em}
.wf-f-col li{margin:0 0 10px;padding:0}
.wf-f-col li a{display:inline-block;opacity:.88;transition:transform .15s,color .15s,opacity .15s}
.wf-f-col li a:hover,.wf-f-col li a:focus-visible{opacity:1;transform:translateX(3px)}
.wf-f-col li.wf-f-viewall{margin-top:14px}
.wf-f-col li.wf-f-viewall a{display:inline-flex;align-items:center;gap:7px;font-weight:700;color:#ff8a8d;opacity:1}
.wf-f-col li.wf-f-viewall a svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;transition:transform .15s}
.wf-f-col li.wf-f-viewall a:hover{color:#fff}
.wf-f-col li.wf-f-viewall a:hover svg{transform:translateX(3px)}
.wf-f-col li.wf-f-city-link{margin-top:14px}
.wf-f-col li.wf-f-city-link a{display:inline-flex;align-items:center;gap:8px;font-weight:700;color:#fff;opacity:1}
.wf-f-col li.wf-f-city-link .wf-fi{color:#ff5a5f;width:17px;height:17px}

.wf-f-stack>div+div{margin-top:30px}
.wf-f-reach .wf-f-contact-list{margin-top:0}
.wf-f-contact-list{gap:14px}
/* Learn Free button + free resources */
.wf-f-learn-sub{margin:0 0 14px;font-size:.84rem;color:#8fa6c0;line-height:1.5}
.wf-f-learn{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 0 16px;padding:11px 16px;border-radius:12px;color:#fff!important;font:700 .95rem/1.2 'Poppins',sans-serif;background:linear-gradient(110deg,#d32f2f,#ff5a5f 55%,#ff8a5f);box-shadow:0 8px 20px -8px rgba(255,90,95,.7);position:relative;overflow:hidden;transition:transform .2s,box-shadow .2s}
.wf-f-learn:hover{transform:translateY(-2px);box-shadow:0 12px 24px -8px rgba(255,90,95,.9)}
.wf-f-learn::after{content:"";position:absolute;top:0;left:-60%;width:40%;height:100%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.35),transparent);transform:skewX(-20deg);animation:wf-f-shine 3.4s infinite}
@keyframes wf-f-shine{0%,60%{left:-60%}100%{left:130%}}
.wf-f-learn span{display:inline-flex;align-items:center;gap:8px}
.wf-f-learn em{font:700 .62rem/1 'DM Sans',sans-serif;font-style:normal;letter-spacing:.08em;background:#fff;color:#c62828;padding:3px 7px;border-radius:999px}
.wf-f-learn svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.wf-f-res li a{display:inline-flex;align-items:center;gap:9px}
.wf-f-res li a .wf-fi{display:inline-block;width:15px;height:15px;color:#7fb0ea}

/* ---------- Bottom bar ---------- */
.wf-f-bottom{border-top:1px solid rgba(255,255,255,.1)}
.wf-f-bin{display:flex;justify-content:space-between;gap:12px 24px;flex-wrap:wrap;padding-top:18px;padding-bottom:18px;font-size:.88rem}
.wf-f-bin p{margin:0;color:#97abc2}
.wf-f-bin p a{margin-left:20px}.wf-f-bin p a:first-child{margin-left:0}
.wf-f-bleft{display:flex;align-items:center;gap:8px 28px;flex-wrap:wrap}
.wf-f-bin{align-items:center}
.wf-f-rating{display:inline-flex;align-items:center;gap:9px;color:#aebfd3!important}
.wf-f-rating i{width:8px;height:8px;border-radius:50%;background:#2ee59d;box-shadow:0 0 0 3px rgba(46,229,157,.18)}
.wf-f-rating b{color:#fff;font-weight:700;margin:0 1px}

/* ---------- Responsive ---------- */
@media (max-width:1024px){
  .wf-f-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:36px 28px}
  .wf-f-brand{grid-column:1/-1}
  .wf-f-brand p{max-width:60ch}
}
@media (max-width:760px){
  .wf-f-grid{grid-template-columns:1fr 1fr;gap:32px 20px;padding-top:40px}
  .wf-f-reach{grid-column:1/-1}
  .wf-f-ctain{padding-top:22px;padding-bottom:22px}
  .wf-f-btn{width:100%;justify-content:center}
  .wf-f-bin{flex-direction:column;align-items:flex-start}
}
@media (max-width:420px){
  .wf-f-grid{grid-template-columns:1fr}
  .wf-f-in{padding:0 18px}
  .wf-f-follow{font-size:.66rem;padding:9px 13px}
}
@media (prefers-reduced-motion:reduce){.wf-f-follow i,.wf-f-follow svg,.wf-f-learn::after{animation:none}}
