/* Cruzeiro Engenharia — Hub "Laudo Técnico de Engenharia" (Build 005)
   Complementa css/sanitario.css (componentes san-*), carregado depois dele. */

/* ----- Buscador do hub ----- */
.lau-busca { max-width: 720px; margin: 0 auto var(--space-lg); }
.lau-busca__label { display: block; font-weight: 700; color: var(--primary); margin-bottom: 6px; }
.lau-busca__input {
  width: 100%; padding: 14px 18px; font-size: 1rem; font-family: inherit;
  border: 2px solid var(--gray-200); border-radius: var(--border-radius-lg); background: var(--white);
}
.lau-busca__input:focus { outline: none; border-color: var(--accent); box-shadow: 0 0 0 3px var(--accent-light); }
.lau-busca__status { font-size: 0.875rem; color: var(--text-muted); margin: 6px 0 0; min-height: 1.2em; }
.lau-busca__vazio { text-align: center; color: var(--text-light); margin-top: var(--space-lg); }
.lau-busca__vazio a { color: var(--accent); text-decoration: underline; }
.lau-familias-nav { justify-content: center; margin-bottom: var(--space-2xl); }

/* ----- Grupos de laudos por família ----- */
.lau-familia { margin-bottom: var(--space-2xl); }
.lau-familia h3 {
  font-size: 1.125rem; color: var(--primary); margin-bottom: var(--space-md);
  padding-bottom: 6px; border-bottom: 2px solid var(--accent-light);
}
.lau-familia__n { font-size: 0.8125rem; font-weight: 400; color: var(--text-muted); margin-left: 6px; }
.lau-familia[hidden], .lau-card[hidden] { display: none !important; }

/* ----- Itens (o que verificamos / quem contrata) ----- */
.lau-itens { gap: var(--space-sm); margin-bottom: var(--space-lg); }
.lau-item {
  background: var(--white); border: 1px solid var(--gray-200); border-left: 3px solid var(--accent);
  border-radius: var(--border-radius); padding: 12px 14px; font-size: 0.9375rem; color: var(--text);
}
.lau-item--perfil { border-left-color: var(--primary); font-weight: 600; color: var(--primary); }

/* ----- Contexto local ----- */
.lau-box-title { font-size: 1.125rem; margin-bottom: var(--space-sm); color: var(--primary); }
.lau-bairros .san-chip { cursor: default; }
.lau-bairros .san-chip:hover { border-color: var(--gray-200); color: inherit; background: var(--white); }

/* ----- Texto corrido do hub ----- */
.lau-texto { max-width: 860px; margin: 0 auto var(--space-2xl); }
.lau-normas { min-width: 0; }   /* só 2 colunas: cabe no celular sem rolagem interna */
.lau-normas td:first-child { white-space: nowrap; }
/* ----- Espaçamento: título logo depois de grade, chips ou ficha local ficava colado ----- */
.san-main > h2:not(:first-child) { margin-top: var(--space-2xl); }
.san-main > .san-visa, .san-main > .lau-bairros, .san-main > .grid { margin-bottom: var(--space-lg); }

/* Botão com texto longo dentro de card: quebra linha no celular em vez de alargar o card (scroll lateral) */
.lau-btn-quebra { white-space: normal; text-align: center; max-width: 100%; }
.grid > * { min-width: 0; }

.lau-item__local { display: block; margin-top: 4px; font-size: 0.8125rem; font-weight: 400; color: var(--text-light); }
