/*
  Prontidão: Consultas de bolso (/consultas/).
  Carregar depois de components.css e guia.css. Só var(--token).
*/

.linha-resumo { justify-content: space-between; }
.linha-resumo .btn { padding-block: 8px; }

/* Categorias e fichas */
.lista-fichas { display: grid; gap: var(--esp-5); }
.categoria { display: grid; gap: var(--esp-2); }
.categoria-titulo {
  font-size: var(--fs-xs);
  font-weight: var(--peso-extra);
  letter-spacing: .06em;
  text-transform: uppercase;
  color: var(--muted);
}
.fichas { display: grid; gap: var(--esp-2); }

/* Ao abrir por ?ficha=, a ficha não fica por baixo da barra de topo fixa */
.ficha { scroll-margin-top: calc(var(--toque-min) + var(--esp-8) + var(--esp-2)); }
.ficha:has(> .ficha-titulo > [aria-expanded="true"]) { border-color: var(--mint); }

.corpo-ficha { gap: var(--esp-4); font-size: 14.5px; }

/* Secções da ficha, com uma risca de cor à esquerda no título */
.seccao-ficha { display: grid; gap: var(--esp-2); min-width: 0; }
.seccao-titulo {
  padding-left: 10px;
  border-left: 4px solid var(--line);
  font-size: var(--fs-xs);
  font-weight: var(--peso-extra);
  letter-spacing: .06em;
  text-transform: uppercase;
}
.seccao-ficha--def .seccao-titulo { border-color: var(--info); color: var(--info); }
.seccao-ficha--ss .seccao-titulo { border-color: var(--parcial); color: var(--parcial); }
.seccao-ficha--param .seccao-titulo { border-color: var(--muted); color: var(--muted); }
.seccao-ficha--at .seccao-titulo { border-color: var(--ok); color: var(--ok); }

.texto-definicao { line-height: 1.6; }

/* Subgrupos (chaves dentro das secções) */
.subgrupo {
  display: grid;
  gap: 6px;
  min-width: 0;
  padding-left: var(--esp-3);
  border-left: 2px solid var(--line);
}
.subgrupo-titulo { font-size: 14px; font-weight: var(--peso-forte); }
.subgrupo .subgrupo .subgrupo-titulo { font-size: 13.5px; color: var(--muted); }

.lista-ficha { margin: 0; padding-left: 1.2em; display: grid; gap: 4px; }
.lista-ficha li { padding-left: 2px; }
.lista-ficha.ss li::marker { color: var(--parcial); }
.lista-ficha.at li::marker { color: var(--ok); }
.lista-ficha.gy li::marker { color: var(--muted); }

.nota-caixa {
  padding: var(--esp-2) var(--esp-3);
  background: var(--bg);
  border-radius: var(--raio-sm);
}

/* Tabelas comparativas: deslizam na horizontal e o texto fica à esquerda */
.tabela-ficha table { font-size: 13px; }
.tabela-ficha th,
.tabela-ficha td {
  min-width: 8.5em;
  text-align: left;
  vertical-align: top;
}
.tabela-ficha thead th { white-space: nowrap; }
.tabela-ficha tbody th { font-weight: var(--peso-forte); }
.tabela-ficha tbody tr:last-child th { border-bottom: 0; }
.tabela-ficha { scrollbar-color: var(--muted) transparent; }
.tabela-ficha:focus-visible { outline-offset: 2px; }

/* Folha das siglas */
.folha-siglas { max-width: 520px; align-content: start; }
.lista-siglas { margin: 0; display: grid; }
.sigla {
  display: grid;
  grid-template-columns: 5.5em minmax(0, 1fr);
  gap: var(--esp-2);
  padding: 8px 0;
  border-bottom: 1px solid var(--line);
}
.sigla:last-child { border-bottom: 0; }
.sigla dt { font-weight: var(--peso-extra); overflow-wrap: anywhere; }
.sigla dd { margin: 0; }

.nota-fonte { color: var(--muted); font-size: var(--fs-sm); }
