/* GG Soluções — cabeçalho, rodapé e fontes das ferramentas (solar, motores, memorial).
   Espelha o site institucional (design.md). As páginas de ferramenta usam Tailwind
   (styles.css); este arquivo só cobre o que não está no build do Tailwind. */
/* ===== Fontes (design.md: Barlow 600/700, Inter 400–700, IBM Plex Mono 400/500) ===== */
@font-face { font-family:'Barlow Semi Condensed'; font-weight:600; font-display:swap; src:url('../fonts/barlow-semi-condensed-latin-600-normal.woff2') format('woff2'); }
@font-face { font-family:'Barlow Semi Condensed'; font-weight:700; font-display:swap; src:url('../fonts/barlow-semi-condensed-latin-700-normal.woff2') format('woff2'); }
@font-face { font-family:'Inter'; font-weight:400; font-display:swap; src:url('../fonts/inter-latin-400-normal.woff2') format('woff2'); }
@font-face { font-family:'Inter'; font-weight:500; font-display:swap; src:url('../fonts/inter-latin-500-normal.woff2') format('woff2'); }
@font-face { font-family:'Inter'; font-weight:600; font-display:swap; src:url('../fonts/inter-latin-600-normal.woff2') format('woff2'); }
@font-face { font-family:'Inter'; font-weight:700; font-display:swap; src:url('../fonts/inter-latin-700-normal.woff2') format('woff2'); }
@font-face { font-family:'IBM Plex Mono'; font-weight:400; font-display:swap; src:url('../fonts/ibm-plex-mono-latin-400-normal.woff2') format('woff2'); }
@font-face { font-family:'IBM Plex Mono'; font-weight:500; font-display:swap; src:url('../fonts/ibm-plex-mono-latin-500-normal.woff2') format('woff2'); }
body, .font-sans { font-family:'Inter', system-ui, sans-serif; }

/* ===== Cabeçalho e rodapé alinhados ao site institucional ===== */
.ek-skip { position:absolute; left:-9999px; top:8px; z-index:100; background:#2C7BE5; color:#fff; padding:8px 14px; border-radius:4px; }
.ek-skip:focus { left:16px; }
.ek-logo { display:inline-flex; flex:none; border-radius:4px; transition:box-shadow .15s; }
.ek-logo img { height:48px; width:auto; display:block; }
.ek-logo:hover { box-shadow:0 0 0 1px #2C7BE5; }
@media (min-width:1024px) { .ek-logo img { height:52px; } }
.ek-foot .ek-logo img { height:auto; width:176px; }
/* Trilha da marca (gradiente do logotipo, 2px) no topo do cabeçalho e do rodapé */
.ek-head, .ek-foot { background-image:linear-gradient(90deg,#177CD6,#2DC7CD 55%,#4FC791); background-size:100% 2px; background-repeat:no-repeat; }
.ek-nav { display:none; align-items:center; gap:24px; font-size:14px; font-weight:500; }
@media (min-width:1100px) { .ek-nav { display:flex; } }
.ek-nav a { color:#8CA3BC; padding:6px 0; transition:color .15s; }
.ek-nav a:hover { color:#E8F0F8; }
.ek-nav a[aria-current="page"] { color:#E8F0F8; box-shadow:inset 0 -2px 0 #2C7BE5; }
.ek-wa { display:inline-flex; align-items:center; gap:8px; min-height:44px; padding:0 18px; border-radius:6px;
         background:#25D366; color:#06231A; font-weight:600; font-size:14px; white-space:nowrap; transition:filter .15s, transform .15s; }
.ek-wa:hover { filter:brightness(1.06); transform:translateY(-1px); }
.ek-wa--lg { min-height:50px; padding:0 26px; font-size:16px; }
@media (max-width:399px) { .ek-wa__x { display:none; } }
.ek-note { border-left:2px solid #21425F; padding-left:12px; }
.ek-crumb { font-size:12px; color:#8CA3BC; }
.ek-crumb a { color:#8CA3BC; text-decoration:underline; text-underline-offset:3px; }
.ek-crumb a:hover { color:#E8F0F8; }
.ek-crumb li + li::before { content:'›'; margin:0 8px; color:#21425F; }
.ek-crumb ol { display:flex; flex-wrap:wrap; list-style:none; margin:0; padding:0; }
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible, summary:focus-visible {
    outline:2px solid #2C7BE5; outline-offset:2px; }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { transition:none !important; animation:none !important; } }
.ek-ico { width:18px; height:18px; flex:none; fill:currentColor; }
