/* ==========================================================================
   Explorador da API — ajustes por cima do Swagger UI

   Carrega depois de swagger-ui.css e de api.css. A ideia é só encaixar o
   Swagger na identidade da Central (barra do topo, largura, cores da marca),
   sem reescrever o componente: quanto menos se mexe, mais fácil é trocar a
   versão do swagger-ui-dist depois.
   ========================================================================== */

.pagina-explorar {
  background: var(--fundo-suave);
}

.explorar {
  max-width: 1180px;
  margin: 0 auto;
  padding: 32px 24px 60px;
}

.explorar-intro {
  max-width: 820px;
  margin-bottom: 24px;
}

.explorar-intro h1 {
  font-size: 2em;
  line-height: 1.2;
  margin: 0 0 10px;
  color: var(--verde-escuro);
}

.explorar-intro p {
  margin: 0 0 14px;
}

.explorar-intro code {
  background: var(--verde-claro);
  color: var(--verde-escuro);
  padding: 1px 5px;
  border-radius: 4px;
  font-size: 0.88em;
}

.explorar-intro a {
  color: var(--verde);
}

.explorar-intro h2 {
  font-size: 1.15em;
  margin: 24px 0 8px;
  color: var(--verde-escuro);
}

.passos {
  margin: 0 0 10px;
  padding-left: 22px;
}

.passos li {
  margin-bottom: 7px;
}

.explorar-intro .sub {
  color: var(--texto-fraco);
  font-size: 0.92em;
  margin-bottom: 20px;
}

/* Dentro de um bloco de aviso o .sub é a última linha, e o espaço extra de
   baixo abriria um buraco antes da borda. */
.aviso .sub {
  margin-bottom: 0;
}

/* A URL do openapi.json aparece dentro do aviso do Postman: sem fundo branco
   ela some no fundo verde-claro do bloco. */
.aviso .rota {
  background: var(--fundo);
  margin-bottom: 12px;
}

/* O Swagger UI traz o próprio bloco de título e descrição (o `info` do
   openapi.json). Aqui ele fica escondido porque a abertura desta página já diz
   a mesma coisa, e em português corrido — o texto completo continua vivo no
   openapi.json e na documentação escrita. */
.swagger-ui .information-container {
  display: none;
}

/* Caixa branca em volta da lista, para o Swagger não flutuar solto no fundo. */
#swagger {
  background: var(--fundo);
  border: 1px solid var(--borda);
  border-radius: 10px;
  padding: 8px 4px 18px;
}

.swagger-ui .wrapper {
  max-width: none;
  padding: 0 16px;
}

/* Cores da marca nos poucos lugares em que o Swagger usa azul de link. */
.swagger-ui .btn.authorize {
  color: var(--verde);
  border-color: var(--verde);
}

.swagger-ui .btn.authorize svg {
  fill: var(--verde);
}

.swagger-ui .opblock-tag {
  color: var(--verde-escuro);
  border-bottom-color: var(--borda);
}

.swagger-ui .opblock-tag small {
  color: var(--texto-fraco);
}

.swagger-ui a.nostyle,
.swagger-ui .opblock-summary-path a {
  color: inherit;
}

.swagger-ui .info a,
.swagger-ui .renderedMarkdown a {
  color: var(--verde);
}

/* O campo de filtro nasce colado no bloco de cima. */
.swagger-ui .filter .operation-filter-input {
  border: 1px solid var(--borda);
  border-radius: 6px;
  padding: 8px 11px;
}

/* Nas rotas de escrita o Try it out está desligado (supportedSubmitMethods),
   então o botão nem existe — o que sobra é o corpo de exemplo. Um pouco de ar
   ajuda a ler. */
.swagger-ui .opblock-description-wrapper p {
  color: var(--texto);
}

@media (max-width: 860px) {
  .explorar {
    padding: 24px 12px 50px;
  }

  .explorar-intro h1 {
    font-size: 1.6em;
  }

  .swagger-ui .wrapper {
    padding: 0 6px;
  }
}
