/* JMDC pages — camada de tema para ferramentas e sistemas internos (carregada depois do CSS da página). */

.legacy-stubs { display: none !important; }

/* páginas que não tinham cabeçalho fixo ganham espaço para o novo */
body.has-topbar { padding-top: calc(var(--header-h) + 1.5rem) !important; }

/* fundo técnico discreto atrás das ferramentas */
html[data-guard] body {
  background-color: var(--coal);
  background-image:
    radial-gradient(60% 40% at 80% 0%, rgba(101, 69, 47, .28), transparent 70%),
    linear-gradient(rgba(193, 138, 85, .05) 1px, transparent 1px),
    linear-gradient(90deg, rgba(193, 138, 85, .05) 1px, transparent 1px);
  background-size: auto, 4rem 4rem, 4rem 4rem;
  background-attachment: fixed;
}
#network-canvas { opacity: .35 !important; }

/* tipografia de títulos alinhada ao index */
main h1, main h2, .container h1, .container h2 { font-stretch: 110%; letter-spacing: -.02em; }

/* campos e controles */
input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):focus,
select:focus, textarea:focus {
  outline: none;
  border-color: var(--copper) !important;
  box-shadow: 0 0 0 3px rgba(193, 138, 85, .16);
}
input[type="checkbox"], input[type="radio"], input[type="range"], progress { accent-color: var(--copper); }
::placeholder { color: rgba(217, 208, 197, .38); }

/* barras de rolagem */
* { scrollbar-color: var(--bronze) transparent; scrollbar-width: thin; }
::-webkit-scrollbar { width: 10px; height: 10px; }
::-webkit-scrollbar-thumb { background: var(--bronze); border-radius: 10px; border: 2px solid var(--coal); }
::-webkit-scrollbar-track { background: transparent; }

/* ícones que substituíram emojis no conteúdo legado */
main .ico, .container .ico, button .ico { vertical-align: -0.18em; color: inherit; }

/* o rodapé novo fica acima de fundos/canvas legados */
.footer, .topbar { position: relative; z-index: 50; }
.topbar { position: fixed; z-index: 200; }

/* blindagem: classes legadas homônimas (.btn, .nav, .label...) não alteram cabeçalho/rodapé */
.topbar .btn.nav__cta {
  width: auto; margin: 0; min-height: 2.625rem; padding: 0 1rem;
  font: 600 .875rem/1 var(--f-display); font-stretch: 105%; letter-spacing: .01em; text-transform: none;
  border-radius: var(--radius); box-shadow: none; background: var(--copper); color: var(--coal);
}
.topbar .nav__list a { text-transform: none; letter-spacing: normal; background: none; border: 0; }
.topbar .brand img { width: 5.25rem; height: auto; margin: 0; }
.footer .label { font-size: .75rem; text-transform: uppercase; letter-spacing: .14em; color: var(--muted); background: none; padding: 0; border: 0; }
.footer__nav a { text-transform: none; background: none; border: 0; padding: 0; }
@media (max-width: 1080px) {
  .topbar .btn.nav__cta { min-height: 3.375rem; font-size: 1rem; }
  .topbar .nav__list a { font-size: clamp(1.375rem, 6vw, 1.875rem); }
}
