/* SPVS Biblioteca - Layout dos filtros (duas linhas) e lista */

.spvs-biblioteca-container {
  --gap: 12px;
}

.spvs-biblioteca-search {
  display: block;
  margin-bottom: 16px;
}

.spvs-filtros-linha {
  display: flex;
  flex-wrap: wrap;
  gap: var(--gap);
  align-items: flex-end;
  margin-bottom: var(--gap);
}

/* Linha 1: busca + filtrar */
.spvs-filtros-linha-1 .filtro-grupo-busca {
  flex: 1 1 360px;
}
.spvs-filtros-linha-1 .filtro-busca-linha {
  display: flex;
  gap: var(--gap);
}
.spvs-filtros-linha-1 input[type="text"] {
  flex: 1 1 auto;
}

/* Linha 2: categoria, tag, orderby, order, limpar */
.spvs-filtros-linha-2 .filtro-grupo {
  flex: 1 1 180px;
  min-width: 160px;
}
.spvs-filtros-linha-2 .filtro-grupo-acoes {
  margin-left: auto;
  flex: 0 0 auto;
  white-space: nowrap;
}

/* Inputs básicos */
.spvs-biblioteca-search label {
  display: block;
  font-weight: 600;
  margin-bottom: 6px;
}
.spvs-biblioteca-search input[type="text"],
.spvs-biblioteca-search select {
  width: 100%;
  max-width: 100%;
}

/* Botões: Filtrar e Limpar (mesmo estilo) */
.spvs-biblioteca-search .botao-acao,
.spvs-biblioteca-search button[type="submit"],
.spvs-biblioteca-search a.button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 10px 16px;
  background-color: #2271b1; /* WP primary */
  color: #fff;
  border: 1px solid #1b5f8a;
  border-radius: 4px;
  text-decoration: none;
  font-weight: 600;
  line-height: 1.2;
  cursor: pointer;
  transition: background-color .2s ease, border-color .2s ease, color .2s ease;
}

.spvs-biblioteca-search button[type="submit"]:hover,
.spvs-biblioteca-search a.button:hover,
.spvs-biblioteca-search .botao-acao:hover {
  background-color: #135e96;
  border-color: #0f4c78;
  color: #fff;
}

/* Lista */
.spvs-biblioteca-lista {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px;
}

/* Item da lista */
.spvs-documento-item {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.spvs-documento-titulo {
  margin: 0;
}
.spvs-documento-excerpt {
  font-size: .95rem;
}
.spvs-documento-acoes {
  margin-top: 8px;
}
.spvs-documento-botao.button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 10px 16px;
  background-color: #2271b1;
  color: #fff;
  border: 1px solid #1b5f8a;
  border-radius: 4px;
  text-decoration: none;
  font-weight: 600;
  line-height: 1.2;
  cursor: pointer;
  transition: background-color .2s ease, border-color .2s ease, color .2s ease;
}
.spvs-documento-botao.button:hover {
  background-color: #135e96;
  border-color: #0f4c78;
  color: #fff;
}

/* Paginação (ul gerado pelo paginate_links com type=list) */
.spvs-biblioteca-paginacao ul {
  display: flex;
  gap: 8px;
  list-style: none;
  padding: 0;
  margin: 16px 0 0 0;
}
.spvs-biblioteca-paginacao li a,
.spvs-biblioteca-paginacao li span {
  display: inline-block;
  padding: 6px 10px;
  border: 1px solid #e0e0e0;
  border-radius: 4px;
}
.spvs-biblioteca-paginacao .current {
  background-color: #f0f0f0;
  font-weight: 600;
}

/* Responsividade */
@media (max-width: 1024px) {
  .spvs-biblioteca-lista {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 640px) {
  /* Linha 1: empilhar busca e botão Filtrar */
  .spvs-filtros-linha-1 .filtro-busca-linha {
    flex-direction: column;
    align-items: stretch;
  }
  .spvs-biblioteca-search button[type="submit"],
  .spvs-biblioteca-search a.button,
  .spvs-biblioteca-search .botao-acao {
    width: 100%;
  }

  /* Linha 2: cada grupo ocupa 100% e ações abaixo, 100% */
  .spvs-filtros-linha-2 .filtro-grupo {
    flex: 1 1 100%;
    min-width: 100%;
  }
  .spvs-filtros-linha-2 .filtro-grupo-acoes {
    width: 100%;
    margin-left: 0;
  }

  /* Grid: 1 coluna no mobile */
  .spvs-biblioteca-lista {
    grid-template-columns: 1fr;
  }

  /* Botão por item: pode ocupar 100% no mobile para toque confortável */
  .spvs-documento-botao.button {
    width: 100%;
  }
}
