/* 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 { display: none !important; 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; }
}

/* WhatsApp chat button, fixed on every page */
.fj-wa-float { position: fixed; right: 20px; bottom: 20px; z-index: 900; display: flex; align-items: center; justify-content: center;
  width: 56px; height: 56px; border-radius: 50%; background: #25d366; color: #fff !important; border: 2px solid #fff; transition: transform .2s ease, background-color .2s ease; }
.fj-wa-float:hover, .fj-wa-float:focus-visible { background: #1ebe5b; transform: translateY(-2px); }
.fj-wa-float:focus-visible { outline: 3px solid #0b2a55; outline-offset: 2px; }
.fj-wa-float .fj-ico { width: 30px; height: 30px; }
.fj-wa-float__tip { position: absolute; right: calc(100% + 10px); top: 50%; transform: translateY(-50%); white-space: nowrap; padding: .35rem .65rem; border-radius: 6px;
  background: #0b2a55; color: #fff; font-size: .8rem; font-weight: 600; opacity: 0; pointer-events: none; transition: opacity .2s ease; }
.fj-wa-float:hover .fj-wa-float__tip, .fj-wa-float:focus-visible .fj-wa-float__tip { opacity: 1; }
@media (max-width: 639.98px) { .fj-wa-float { right: 14px; bottom: 14px; width: 50px; height: 50px; } .fj-wa-float__tip { display: none; } }
@media print { .fj-wa-float { display: none; } }

/* ---------------------------------------------------------------- FujAA app promotion (inc/fj_app.php) */
.fj-appbadges { display: flex; flex-wrap: wrap; gap: .7rem; }
.fj-appbadge { position: relative; display: inline-flex; align-items: center; gap: .6rem; min-width: 168px; height: 54px; padding: 0 1.05rem;
  border-radius: 10px; background: #000; color: #fff !important; border: 1px solid rgba(255,255,255,.28); text-decoration: none !important;
  transition: transform .18s ease, border-color .18s ease; }
.fj-appbadge svg { flex: none; width: 26px; height: 26px; }
.fj-appbadge span { display: flex; flex-direction: column; line-height: 1.05; text-align: left; }
.fj-appbadge small { font-size: .66rem; letter-spacing: .02em; opacity: .85; }
.fj-appbadge b { font-size: 1.22rem; font-weight: 600; letter-spacing: -.01em; }
a.fj-appbadge:hover, a.fj-appbadge:focus-visible { transform: translateY(-2px); border-color: var(--fj-gold-400, #e7c25a); }
a.fj-appbadge:focus-visible { outline: 3px solid var(--fj-gold-400, #e7c25a); outline-offset: 2px; }
.fj-appbadge.is-soon { cursor: default; }
.fj-appbadge.is-soon em { position: absolute; top: -9px; right: -6px; padding: .12rem .45rem; border-radius: 4px; background: var(--fj-gold-400, #e7c25a);
  color: #071a36; font: 700 .58rem/1.3 var(--fj-font-body, inherit); letter-spacing: .08em; text-transform: uppercase; font-style: normal; }
.fj-appbadges--sm .fj-appbadge { min-width: 0; height: 42px; padding: 0 .75rem; gap: .45rem; border-radius: 8px; }
.fj-appbadges--sm .fj-appbadge svg { width: 20px; height: 20px; }
.fj-appbadges--sm .fj-appbadge small { font-size: .56rem; }
.fj-appbadges--sm .fj-appbadge b { font-size: .95rem; }
.fj-footer__app { margin-top: var(--fj-s4); }
.fj-footer__app p { margin: 0 0 .6rem; font: 700 .72rem/1.2 var(--fj-font-body, inherit); letter-spacing: .14em; text-transform: uppercase; color: #b9c6e0; }

.fj-app { position: relative; overflow: hidden; color: #e8eefa; background: radial-gradient(90% 120% at 85% 50%, #143a73 0%, #0a2147 45%, var(--fj-navy-950, #050f22) 100%); }
.fj-app .fj-eyebrow { color: var(--fj-gold-400, #e7c25a); }
.fj-app h2 { color: #fff; }
.fj-app__grid { display: grid; gap: var(--fj-s6, 3rem); align-items: center; }
@media (min-width: 880px) { .fj-app__grid { grid-template-columns: 1.1fr .9fr; } }
.fj-app__lead { color: #b9c6e0; font-size: 1.08rem; max-width: 46ch; }
.fj-app__list { list-style: none; margin: 1.2rem 0 1.6rem; padding: 0; display: grid; gap: .55rem; }
.fj-app__list li { position: relative; padding-left: 1.7rem; color: #dbe4f5; }
.fj-app__list li::before { content: ""; position: absolute; left: 0; top: .35em; width: 1rem; height: 1rem; border-radius: 50%;
  background: var(--fj-gold-400, #e7c25a) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 8.2l2.6 2.6L12 5.4' fill='none' stroke='%23071a36' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 80% no-repeat; }
.fj-app__visual { position: relative; display: grid; place-items: center; min-height: 460px; }
.fj-app__glow { position: absolute; width: 380px; height: 380px; border-radius: 50%; background: radial-gradient(circle, rgba(231,194,90,.35), transparent 65%); filter: blur(6px); }
.fj-app__phone { position: relative; width: 236px; height: 470px; border-radius: 38px; padding: 11px; background: #0b0f17;
  border: 2px solid #2a3346; transform: rotate(-6deg); animation: fj-app-float 6s ease-in-out infinite; }
.fj-app__notch { position: absolute; top: 15px; left: 50%; width: 74px; height: 20px; margin-left: -37px; border-radius: 12px; background: #0b0f17; z-index: 2; }
.fj-app__screen { position: relative; height: 100%; border-radius: 28px; overflow: hidden; padding: 44px 14px 14px; display: flex; flex-direction: column; gap: 10px;
  background: linear-gradient(170deg, #f5f8fd 0%, #e4ecf8 100%); color: #0b2a55; }
.fj-app__top { display: flex; align-items: center; gap: .5rem; font: 800 .9rem/1 var(--fj-font-display, inherit); }
.fj-app__top small { display: block; font: 600 .5rem/1.4 var(--fj-font-body, inherit); letter-spacing: .06em; text-transform: uppercase; color: #6b7a90; }
.fj-app__hello { margin: 4px 0 0; font: 800 1.05rem/1.2 var(--fj-font-display, inherit); }
.fj-app__card { padding: 10px 12px; border-radius: 12px; background: #fff; border: 1px solid #dbe3ef; display: grid; gap: 2px; }
.fj-app__card small { font: 700 .55rem/1.2 var(--fj-font-body, inherit); letter-spacing: .1em; text-transform: uppercase; color: #6b7a90; }
.fj-app__card b { font-size: .82rem; line-height: 1.25; }
.fj-app__card span { font-size: .65rem; color: #45556e; }
.fj-app__card--gold { background: #0b2a55; border-color: #0b2a55; color: #fff; }
.fj-app__card--gold small { color: var(--fj-gold-400, #e7c25a); }
.fj-app__card--gold span { color: #b9c6e0; }
.fj-app__card--line { border-left: 3px solid var(--fj-gold-400, #e7c25a); }
.fj-app__row { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.fj-app__plane { position: absolute; right: -6px; bottom: 30px; width: 54px; height: 54px; color: #0b2a55; opacity: .12; transform: rotate(45deg); }
@keyframes fj-app-float { 0%, 100% { transform: rotate(-6deg) translateY(0); } 50% { transform: rotate(-4deg) translateY(-12px); } }
@media (prefers-reduced-motion: reduce) { .fj-app__phone { animation: none; } }
@media (max-width: 879.98px) { .fj-app__visual { min-height: 0; padding: 1rem 0 .5rem; } .fj-app__glow { width: 300px; height: 300px; } }

/* slim app row above the footer on inner pages */
.fj-appstrip { background: var(--fj-surface-2, #eef3fa); border-top: 1px solid var(--fj-line, #dbe3ef); }
.fj-appstrip__in { display: flex; flex-wrap: wrap; align-items: center; gap: .8rem 1.2rem; padding-top: 1rem; padding-bottom: 1rem; }
.fj-appstrip__ico { flex: none; display: grid; place-items: center; width: 42px; height: 42px; border-radius: 10px; background: #0b2a55; color: var(--fj-gold-400, #e7c25a); }
.fj-appstrip__ico svg { width: 22px; height: 22px; }
.fj-appstrip__txt { flex: 1 1 240px; margin: 0; display: flex; flex-direction: column; line-height: 1.3; }
.fj-appstrip__txt b { color: var(--fj-text, #0b2a55); font-size: 1rem; }
.fj-appstrip__txt span { color: var(--fj-muted, #5a6b85); font-size: .88rem; }
.fj-appstrip .fj-appbadge { border-color: #000; }
