    :root{ --container-max:1280px; }

    /* Layout base com espaço reservado ao footer fixo */
    html, body { height:100%; }
    body.concurso-page{
      min-height:100vh;
      display:flex;
      flex-direction:column;
      padding-bottom:var(--footer-h, 0px);
    }

    /* Menu principal */
    #menuLink{ font-size:1.08rem }

    /* Mesma largura para busca e conteúdo */
    .search .bar{ max-width:var(--container-max); margin:0 auto; width:100%; }
    .concurso-wrap{ max-width:var(--container-max); margin:24px auto 48px; padding:0 16px; }

    /* Breadcrumbs */
    .crumbs{ display:flex; flex-wrap:wrap; gap:.5rem .75rem; align-items:center; margin:0 0 14px; padding:0; list-style:none; color:#6b7280; font-size:.95rem }
    .crumbs a{ color:#0b7a4b; text-decoration:none }
    .crumbs li+li::before{ content:"›"; color:#94a3b8; margin-right:.25rem }

    /* Card do concurso */
    .hero{ background:#fff; border:2px solid rgba(11,122,75,.12); border-radius:14px; box-shadow:0 14px 34px rgba(18,38,63,.08), 0 3px 10px rgba(18,38,63,.06); padding:18px 20px; margin-bottom:14px }
    .hero-head{ display:flex; gap:.75rem; align-items:center; flex-wrap:wrap }
    .hero h1{ margin:0; font-size:1.35rem; line-height:1.2; color:#0e1726 }
    .pill{ background:#eef7f1; color:#0b7a4b; border:1px solid #cfe7db; border-radius:999px; padding:.2rem .6rem; font-weight:700; font-size:.9rem }
    .hero-desc{ color:#6b7280; margin-top:.35rem; line-height:1.55 }

    /* Abas */
    .tabs-row{ display:flex; gap:.5rem; align-items:flex-end; border-bottom:2px solid #e5e7eb; margin:8px 0; list-style:none; padding:0 }
    .tab-btn{ appearance:none; background:#fff; border:2px solid transparent; border-top-left-radius:10px; border-top-right-radius:10px; padding:.55rem .85rem; font-weight:700; color:#374151; text-decoration:none; cursor:pointer; display:inline-block }
    .tab-btn[aria-selected="true"]{ color:#0b7a4b; border-color:rgba(11,122,75,.18); border-bottom-color:#fff }

    /* Conteúdo das abas */
    .tabbox{ background:#fff; border:2px solid rgba(11,122,75,.12); border-radius:0 10px 10px 10px; padding:14px 16px; box-shadow:0 10px 26px rgba(18,38,63,.06) }

    /* Linhas */
    .doc-row{ display:grid; grid-template-columns:1fr auto; gap:.75rem; padding:12px 0; border-bottom:1px solid #edf2f7 }
    .doc-row:last-child{ border-bottom:0 }
    .doc-title{ font-weight:700; color:#111827 }
    .doc-meta{ color:#6b7280; font-size:.93rem }
    .btn{ display:inline-flex; align-items:center; gap:.4rem; background:#0b7a4b; color:#fff; border-radius:8px; padding:.45rem .7rem; text-decoration:none; font-weight:700 }
    .btn.secondary{ background:#0e1726 }
    @media (max-width:720px){ .doc-row{ grid-template-columns:1fr } }

    /* Social do rodapé */
    .social{ display:flex; gap:.75rem; align-items:center; justify-content:center }
    .social a{ color:#0b7a4b; background:#fff; width:40px; height:40px; display:inline-flex; align-items:center; justify-content:center; border-radius:50%; border:2px solid rgba(0,0,0,.06); box-shadow:0 2px 6px rgba(0,0,0,.12); text-decoration:none }
    .social a svg{ width:18px; height:18px; stroke:currentColor; stroke-width:2 }
    .social a:hover{ color:#094f35; background:#f3faf6; border-color:#0a5e3a33; transform:translateY(-1px) }

    /* Rodapé fixo full-width minimalista (apenas subbar) */
    footer.site{ position:fixed; left:0; right:0; bottom:0; width:100%; z-index:50 }
    .subbar .wrap{ max-width:var(--container-max); margin:0 auto; width:100%; text-align:center }

    /* === Alinhar larguras: busca (container + barra) e conteúdo === */

    /* 1) Use um único valor de largura-alvo para as páginas de detalhes */
    :root { --container-max: 1280px; }

    /* 2) A busca também passa a usar o mesmo container dos detalhes  */
    .search{
      max-width: var(--container-max) !important;  /* sobrepõe site.css (var(--container)) */
      margin: 0 auto;
      padding: 0 16px; /* mesmo padding lateral do conteúdo */
    }

    /* 3) A barra interna ocupa 100% do container acima */
    .search .bar{
      max-width: 100% !important; /* sobrepõe qualquer limite anterior (ex.: 720px) */
    }

    /* 4) Conteúdo dos detalhes com a MESMA largura e padding da busca */
    .concurso-wrap{
      max-width: var(--container-max);
      margin: 24px auto 48px;
      padding: 0 16px;
    }

    /* (Opcional) Se quiser usar exatamente o mesmo “grid” da busca para as abas/box */
    .tabbox { box-sizing: border-box; }

    /* === UNIFICAR LARGURA E VOLTAR O ESPAÇO ENTRE BUSCA E CARD === */

    /* Use o mesmo container do tema para busca e conteúdo */
    .search,
    .concurso-wrap {
      max-width: var(--container) !important;   /* mesmo valor do site.css */
      margin-left: auto;
      margin-right: auto;
      padding-left: 16px;
      padding-right: 16px;
    }

    /* A barra interna ocupa 100% do container (remove o teto de 720px) */
    .search .bar {
      max-width: 100% !important;
      width: 100%;
    }

    /* Espaço entre a busca e o card do concurso */
    .search {
      padding-bottom: 16px !important;
    }

    /* (opcional) garante que o box não “sobrescreve” a largura */
    .tabbox { box-sizing: border-box; }

    /* === MESMA LARGURA DA BUSCA + RESPIRO ABAIXO DA BUSCA === */

/* Container com a MESMA largura do site/header/search */
.container-igual-busca{
  /* usa a variável global do tema já definida em site.css */
  max-width: var(--container);
  margin-left: auto;
  margin-right: auto;
  padding-left: 1rem;   /* igual .search */
  padding-right: 1rem;  /* igual .search */
  width: 100%;
}

/* Garante que os blocos internos ocupem 100% do container */
.container-igual-busca .hero,
.container-igual-busca .tabbox{
  box-sizing: border-box;
  width: 100%;
}

/* página ocupa a tela e reserva espaço para o footer fixo */
html, body { height: 100%; }

body.concurso-page{
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  /* reserva o espaço do footer fixo; 120px é fallback se o JS não rodar */
  padding-bottom: var(--footer-h, 120px);
}

/* footer fixo full width */
footer.site{
  position: fixed;
  left: 0; right: 0; bottom: 0;
  width: 100%;
  z-index: 50;
}



