/* FujAA: site footer (assets/fujaa-ds/fujaa-footer.css). Loaded after fujaa-nav.css.

   Takeoff runway (fujaa-aviation.css) -> "Ready for take-off?" call to action -> brand and contact | Programmes |
   The academy | Help | mailing list -> approvals row -> bottom bar (copyright, legal links, back to top) -> credits.
   Flat: hairline dividers, no shadows, no pills. */

.fj-footer { position: relative; overflow: hidden; padding: 0 0 var(--fj-s5); background: var(--fj-navy-950); color: #a9b7d3; font-size: .92rem; box-shadow: none !important; }
.fj-footer a:not(.fj-btn) { color: #dbe5f7 !important; text-decoration: none !important; font-weight: 400; transition: color .15s; }
.fj-footer a:not(.fj-btn):hover { color: var(--fj-gold-400) !important; }
.fj-footer ul { list-style: none; margin: 0; padding: 0; }
.fj-footer p { margin: 0; }
.fj-footer .fj-ico { width: 1.05em; height: 1.05em; flex: none; }

/* ---------- call to action ---------- */
.fj-fcta { position: relative; display: grid; gap: var(--fj-s5); align-items: end; padding: calc(var(--fj-s7) + 8px) 0 var(--fj-s7); border-bottom: 1px solid rgba(255,255,255,.08); }
@media (min-width: 860px) { .fj-fcta { grid-template-columns: 1fr auto; } }
.fj-fcta__eyebrow { font: 700 .72rem/1.2 var(--fj-font-mono); letter-spacing: .14em; text-transform: uppercase; color: var(--fj-gold-400); }
.fj-fcta__title { margin: .6rem 0 0 !important; font: 800 clamp(2rem, 1.4rem + 2.6vw, 3.2rem)/1.05 var(--fj-font-display) !important; letter-spacing: -.02em; color: #fff !important; }
.fj-fcta__lead { margin-top: .8rem !important; max-width: 52ch; color: #b9c6e0; font-size: 1rem; line-height: 1.55; }
.fj-fcta__actions { display: flex; flex-wrap: wrap; gap: .6rem; }
.fj-fcta__actions .fj-btn { border-radius: 6px; box-shadow: none !important; background-image: none; min-height: 48px; padding-inline: 1.4rem; }

/* ---------- columns ---------- */
.fj-footer__grid { display: grid; gap: var(--fj-s6) var(--fj-s5); padding: var(--fj-s7) 0 var(--fj-s6); grid-template-columns: 1fr 1fr; }
.fj-footer__about, .fj-footer__nl { grid-column: 1 / -1; }
@media (min-width: 720px) { .fj-footer__grid { grid-template-columns: repeat(3, 1fr); } }
@media (min-width: 1080px) {
  .fj-footer__grid { grid-template-columns: 1.35fr repeat(3, minmax(0, 1fr)) 1.45fr; }
  .fj-footer__about, .fj-footer__nl { grid-column: auto; }
}
.fj-footer__h { margin: 0 0 1rem !important; padding: 0 !important; border: 0 !important; font: 700 .78rem/1.2 var(--fj-font-body) !important; letter-spacing: .1em; text-transform: uppercase; color: #fff !important; }
.fj-footer__col ul { display: grid; gap: .65rem; }
.fj-footer__col a { line-height: 1.35; }
.fj-footer__cms, .fj-footer__cms * { color: inherit !important; font-weight: 400 !important; }

.fj-footer__about .fj-brand { color: #fff !important; }
.fj-footer__contact { display: grid; gap: .7rem; margin: var(--fj-s5) 0 !important; }
.fj-footer__contact li { display: flex; gap: .65rem; align-items: flex-start; line-height: 1.45; }
.fj-footer__contact .fj-ico { margin-top: .18em; color: var(--fj-gold-400); }
.fj-footer__social { display: flex; flex-wrap: wrap; gap: .4rem; }
.fj-footer__social a { display: grid; place-items: center; width: 38px; height: 38px; border: 1px solid rgba(255,255,255,.14); border-radius: 6px; }
.fj-footer__social a:hover { border-color: var(--fj-gold-400); }
.fj-footer__social .fj-ico { width: 17px; height: 17px; }

/* ---------- mailing list ---------- */
.fj-footer__nl > p { margin-bottom: var(--fj-s4) !important; line-height: 1.5; }
.fj-footer__form { display: grid; gap: .5rem; }
.fj-footer__names { display: grid; grid-template-columns: 1fr 1fr; gap: .5rem; }
.fj-footer__email { display: grid; gap: .5rem; }
.fj-footer__email .fj-btn { width: 100%; }
.fj-footer__form .fj-field { margin: 0; }
.fj-footer__form input { width: 100%; min-height: 44px; border-radius: 6px !important; box-shadow: none !important; }
.fj-footer__form .fj-error:empty { display: none; }
.fj-footer__form .fj-btn { min-height: 44px; border-radius: 6px; box-shadow: none !important; background-image: none; }
.fj-footer__nl .fj-alert { margin-bottom: var(--fj-s3); }

/* ---------- approvals ---------- */
.fj-footer__marks { display: flex; flex-wrap: wrap; gap: var(--fj-s3) var(--fj-s6); padding: var(--fj-s4) 0 !important; border-block: 1px solid rgba(255,255,255,.08); }
.fj-footer__marks li { display: flex; align-items: baseline; gap: .55rem; }
.fj-footer__marks b { font: 800 1rem/1 var(--fj-font-display); letter-spacing: .02em; color: #fff; }
.fj-footer__marks span { font-size: .82rem; color: #8fa0c2; }

/* ---------- bottom bar ---------- */
.fj-footer__base { display: flex; flex-wrap: wrap; align-items: center; gap: var(--fj-s3) var(--fj-s5); padding-top: var(--fj-s4); margin: 0; border: 0; box-shadow: none !important; font-size: .82rem; color: #8fa0c2; }
.fj-footer__legal { display: flex; flex-wrap: wrap; gap: .4rem 1.2rem; }
.fj-footer__legal a { color: #b9c6e0 !important; }
.fj-totop { margin-left: auto; display: inline-flex; align-items: center; gap: .4rem; }
.fj-footer__credits { margin-top: var(--fj-s3) !important; font-size: .68rem; line-height: 1.5; color: #6f80a3; }

@media (max-width: 479.98px) {
  .fj-footer__names { grid-template-columns: 1fr; }
  .fj-totop { margin-left: 0; }
}
