/* Infraestrutura do cliente (#/infra/<slug>) — selo de destaque, grade lista + detalhe lateral. */
.selo-infra { display: inline-flex; align-items: center; gap: 8px; padding: 5px 14px; border-radius: var(--r-pilula); font-family: var(--dados); font-size: calc(12px * var(--fs, 1)); letter-spacing: .06em; text-transform: uppercase;
  background: var(--aviso-fundo); color: var(--aviso); border: 1px solid currentColor; margin-bottom: 10px; }
.selo-infra i { width: 8px; height: 8px; border-radius: 50%; background: currentColor; }
.infra-grade { display: grid; grid-template-columns: minmax(0, 1fr) minmax(280px, 380px); gap: 20px; align-items: start; margin-top: 4px; }
.infra-detalhe { background: var(--superficie); border: 1px solid var(--linha-suave); border-radius: var(--r-card); padding: 18px; box-shadow: var(--sombra); position: sticky; top: 16px; max-height: calc(100vh - 40px); overflow: auto; min-width: 0; }
.infra-detalhe h3 { font-size: calc(17px * var(--fs, 1)); margin-bottom: 6px; overflow-wrap: anywhere; }
.infra-detalhe h4 { font-size: calc(13px * var(--fs, 1)); margin: 16px 0 8px; color: var(--tinta-2); }
.infra-dl { display: grid; grid-template-columns: auto 1fr; gap: 4px 12px; font-size: calc(13px * var(--fs, 1)); margin: 10px 0; }
.infra-dl dt { color: var(--tinta-2); }
.infra-dl dd { margin: 0; overflow-wrap: anywhere; }
.infra-lista { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; font-size: calc(13px * var(--fs, 1)); }
.infra-lista li { display: flex; flex-wrap: wrap; gap: 4px 8px; align-items: center; padding-bottom: 8px; border-bottom: 1px solid var(--linha-suave); }
.infra-lista li p { flex-basis: 100%; margin: 0; overflow-wrap: anywhere; }
.infra-cel { max-width: 260px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.infra-ghl { max-width: 520px; display: grid; gap: 12px; justify-items: start; }
.link-botao { background: none; border: 0; padding: 0; font: inherit; color: inherit; text-align: left; cursor: pointer; text-decoration: underline; text-decoration-color: var(--linha); text-underline-offset: 3px; }
.link-botao:hover, .link-botao:focus-visible { text-decoration-color: currentColor; }
.tabela tr.ativa { background: var(--aviso-fundo); }
.abas--sub { margin-bottom: 14px; }
@media (max-width: 900px) { .infra-grade { grid-template-columns: minmax(0, 1fr); } .infra-detalhe { position: static; max-height: none; } }
