/*
 * Finance X Capital: header (navbar, menu Soluções, drawer) e footer.
 * Carregado em TODAS as páginas, inclusive nas antigas e nas pSEO, que não usam site.css.
 * Por isso tudo é escopado em .fx-chrome, com os mesmos tokens do MASTER.md declarados aqui.
 */
.fx-chrome{
  --navy-900:#08172B; --navy-700:#102A4C; --navy-500:#1E477A;
  --gold-300:#ECDBAE; --gold-400:#D8B968; --gold-500:#C9A24B; --gold-700:#8A6420;
  --ink:#0E1726; --slate-700:#33445C; --slate-500:#5C6B82; --slate-400:#7C8AA0; --slate-300:#AEB9C9;
  --surface:#FFFFFF; --surface-2:#F6F8FB; --line:#E5E9F0; --line-2:#D7DEE9;
  --shadow-float:0 12px 32px -8px rgba(8,23,43,.18), 0 2px 6px rgba(8,23,43,.06);
  --fx-side:16px; --fx-bar:64px; --fx-ease:cubic-bezier(.2,0,0,1);
  font-family:"Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
  -webkit-font-smoothing:antialiased;
}
@media (min-width:768px){ .fx-chrome{ --fx-side:32px; --fx-bar:72px; } }
.fx-chrome, .fx-chrome *, .fx-chrome *::before, .fx-chrome *::after{ box-sizing:border-box; }
.fx-chrome ul{ list-style:none; margin:0; padding:0; }
.fx-chrome p{ margin:0; max-width:none; }
.fx-chrome img{ display:block; max-width:100%; height:auto; border-radius:0; }
.fx-chrome a{ text-decoration:none; }
.fx-chrome svg{ display:block; }
.fx-chrome :focus-visible{ outline:2px solid var(--navy-500); outline-offset:2px; border-radius:4px; }
.fx-tnum{ font-variant-numeric:tabular-nums; }
.fx-wrap{ width:100%; max-width:calc(1200px + 2 * var(--fx-side)); margin-inline:auto; padding-inline:var(--fx-side); }

/* ---------- Botão (mesmo desenho do .btn--primary do site.css) ---------- */
.fx-btn{
  display:inline-flex; align-items:center; justify-content:center; min-height:44px; padding:10px 20px;
  background:var(--gold-500); color:var(--navy-900); border:1px solid var(--gold-500); border-radius:4px;
  font-family:inherit; font-weight:600; font-size:.9375rem; line-height:1.2; white-space:nowrap; cursor:pointer;
  transition:background-color 150ms var(--fx-ease), border-color 150ms var(--fx-ease);
}
.fx-btn:hover{ background:var(--gold-400); border-color:var(--gold-400); color:var(--navy-900); }

/* ---------- Header ---------- */
.fx-header{
  position:sticky; top:0; z-index:100; margin:0; padding:0;
  background:var(--surface); color:var(--ink); border-bottom:1px solid var(--line);
}
.fx-header__bar{ display:flex; align-items:center; gap:32px; height:var(--fx-bar); }
.fx-brand{ display:inline-flex; align-items:center; min-height:44px; flex:none; }
.fx-brand img{ width:144px; height:auto; }
@media (min-width:768px){ .fx-brand img{ width:162px; } }

.fx-nav{ display:none; margin-left:auto; }
.fx-nav__list{ display:flex; align-items:center; gap:8px; }
.fx-nav__link{
  display:inline-flex; align-items:center; gap:6px; min-height:44px; padding:0 12px;
  background:none; border:0; border-radius:4px; cursor:pointer;
  font-family:inherit; font-weight:500; font-size:.9375rem; line-height:1; color:var(--slate-700);
  transition:color 150ms var(--fx-ease);
}
.fx-nav__link:hover, .fx-nav__trigger[aria-expanded="true"]{ color:var(--ink); }
.fx-nav__link[aria-current="page"], .fx-nav__group:has([aria-current="page"]) .fx-nav__trigger{ color:var(--ink); box-shadow:inset 0 -2px 0 var(--gold-500); }
.fx-chevron{ width:14px; height:14px; fill:none; stroke:currentColor; stroke-width:1.5; stroke-linecap:round; stroke-linejoin:round; transition:transform 150ms var(--fx-ease); }
.fx-nav__trigger[aria-expanded="true"] .fx-chevron, .fx-drawer__toggle[aria-expanded="true"] .fx-chevron{ transform:rotate(180deg); }
.fx-header__cta{ display:none; }

/* Menu Soluções */
.fx-nav__group{ position:relative; }
.fx-menu{
  display:none; position:absolute; top:calc(100% + 14px); left:-12px; width:640px; z-index:110;
  background:var(--surface); border:1px solid var(--line-2); border-radius:8px; box-shadow:var(--shadow-float); padding:8px;
}
.fx-menu::before{ content:""; position:absolute; left:0; right:0; top:-15px; height:15px; } /* ponte para o hover */
.fx-nav__group.is-open .fx-menu{ display:block; }
.fx-header:not(.is-ready) .fx-nav__group:hover .fx-menu,
.fx-header:not(.is-ready) .fx-nav__group:focus-within .fx-menu{ display:block; } /* sem JS */
.fx-menu__list{ display:grid; grid-template-columns:1fr 1fr; gap:4px; }
.fx-menu__item{ display:block; height:100%; padding:14px 16px; border-radius:4px; color:var(--ink); transition:background-color 150ms var(--fx-ease); }
.fx-menu__item:hover{ background:var(--surface-2); color:var(--ink); }
.fx-menu__item[aria-current="page"]{ background:var(--surface-2); }
.fx-menu__title{ display:block; font-weight:600; font-size:1rem; line-height:1.3; }
.fx-menu__desc{ display:block; margin-top:4px; font-size:.875rem; line-height:1.45; color:var(--slate-500); }
.fx-menu__aside{ display:flex; flex-direction:column; justify-content:center; gap:6px; padding:14px 16px; border-radius:4px; background:var(--navy-900); color:var(--slate-300); font-size:.875rem; line-height:1.45; }
.fx-menu__aside a{ color:var(--gold-400); font-weight:600; text-decoration:underline; text-underline-offset:3px; }
.fx-menu__aside a:hover{ color:var(--gold-300); }
.fx-menu__aside :focus-visible{ outline-color:var(--gold-400); }

/* Botão do drawer */
.fx-burger{
  display:inline-flex; align-items:center; justify-content:center; width:44px; height:44px; margin-left:auto; margin-right:-10px;
  background:none; border:0; border-radius:4px; color:var(--ink); cursor:pointer;
}
.fx-burger svg{ width:24px; height:24px; fill:none; stroke:currentColor; stroke-width:1.5; stroke-linecap:round; }
.fx-burger__close, .fx-burger[aria-expanded="true"] .fx-burger__open{ display:none; }
.fx-burger[aria-expanded="true"] .fx-burger__close{ display:inline; }
.fx-header:not(.is-ready) .fx-burger{ display:none; } /* sem JS: navegação completa fica no rodapé */

/* Drawer (celular e tablet) */
.fx-drawer{
  position:fixed; top:var(--fx-bar); left:0; right:0; bottom:0; z-index:105; overflow-y:auto; overscroll-behavior:contain;
  background:var(--surface); border-top:1px solid var(--line); padding:8px 0 32px;
}
.fx-drawer[hidden]{ display:none; }
.fx-drawer__list > li{ border-bottom:1px solid var(--line); }
.fx-drawer__link{
  display:flex; align-items:center; justify-content:space-between; width:100%; min-height:56px; padding:0;
  background:none; border:0; cursor:pointer; text-align:left;
  font-family:inherit; font-weight:500; font-size:1.0625rem; line-height:1.3; color:var(--ink);
}
.fx-drawer__link[aria-current="page"]{ font-weight:600; }
.fx-drawer__sub{ padding:0 0 12px 16px; }
.fx-drawer__sub a{ display:flex; align-items:center; min-height:44px; color:var(--slate-700); font-size:1rem; }
.fx-drawer__sub a[aria-current="page"]{ color:var(--ink); font-weight:600; }
.fx-drawer__cta{ width:100%; min-height:48px; margin-top:24px; }
.fx-drawer__meta{ margin-top:16px !important; font-size:.875rem; line-height:1.6; color:var(--slate-500); }
.fx-drawer__meta a{ display:inline-flex; align-items:center; min-height:44px; color:var(--navy-700); font-weight:600; font-variant-numeric:tabular-nums; }
html.fx-lock, html.fx-lock body{ overflow:hidden; }

@media (min-width:768px){ .fx-header__cta{ display:inline-flex; margin-left:auto; } .fx-burger{ margin-left:0; } }
@media (min-width:1100px){
  .fx-nav{ display:block; }
  .fx-header__cta{ margin-left:0; }
  .fx-burger, .fx-drawer{ display:none !important; }
}

/* ---------- Footer ---------- */
.fx-footer{ margin:0; padding:64px 0 32px; background:var(--navy-900); color:var(--slate-300); font-size:.9375rem; line-height:1.6; }
.fx-footer :focus-visible{ outline-color:var(--gold-400); }
.fx-footer a{ color:#fff; transition:color 150ms var(--fx-ease); }
.fx-footer a:hover{ color:var(--gold-300); }
.fx-footer__top{ display:grid; grid-template-columns:1fr; gap:48px; }
.fx-footer__brand img{ width:162px; }
.fx-footer__tagline{ margin-top:24px !important; font-family:"Sora", ui-sans-serif, system-ui, sans-serif; font-weight:600; font-size:1.25rem; line-height:1.35; color:#fff; }
.fx-footer__brand p + p{ margin-top:8px; }
.fx-footer__title{ margin:0 0 16px; padding:0; font-family:inherit; font-weight:600; font-size:.8125rem; line-height:1.4; letter-spacing:.08em; text-transform:uppercase; color:var(--gold-400); }
.fx-footer__col li{ padding:0; }
.fx-footer__col li a{ display:inline-flex; align-items:center; min-height:44px; }
.fx-footer address{ font-style:normal; }
.fx-footer address li a{ font-variant-numeric:tabular-nums; }
.fx-footer__hint{ display:block; font-size:.8125rem; color:var(--slate-400); }
.fx-footer__cta{ margin-top:24px; }
.fx-footer .fx-btn, .fx-footer .fx-btn:hover{ color:var(--navy-900); } /* vence .fx-footer a */
.fx-footer__legal{ margin-top:64px; padding-top:24px; border-top:1px solid rgba(174,185,201,.24); font-size:.8125rem; line-height:1.6; color:var(--slate-400); }
.fx-footer__ids{ display:flex; flex-wrap:wrap; gap:4px 24px; color:var(--slate-300); }
.fx-footer__notice{ margin-top:16px !important; max-width:80ch !important; }
.fx-footer__notice strong{ color:var(--slate-300); font-weight:600; }
@media (min-width:768px){ .fx-footer__top{ grid-template-columns:repeat(3, minmax(0,1fr)); } .fx-footer__brand{ grid-column:1 / -1; } }
@media (min-width:1100px){ .fx-footer__top{ grid-template-columns:minmax(0,4fr) minmax(0,2fr) minmax(0,2fr) minmax(0,4fr); gap:32px; } .fx-footer__brand{ grid-column:auto; } }

@media (prefers-reduced-motion: reduce){ .fx-chrome *{ transition-duration:0s !important; } }
