@charset "utf-8";
/* CSS Document */
/* Cards mais compactos na home */
.tool-card .card-body { padding: 0.9rem !important; }
.tool-card .bi { font-size: 1rem; }

/* Clamp de 2 linhas na descrição */
.line-clamp-2 {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

@media (min-width: 1400px) {
  .tool-card .card-body { padding: 1rem !important; }
}
/* Hover suave dos cards */
.tool-card { transition: transform .2s ease, box-shadow .2s ease; }
.tool-card:hover { transform: translateY(-2px); box-shadow: 0 .5rem 1rem rgba(0,0,0,.08); }

/* Respeita usuários com redução de movimento */
@media (prefers-reduced-motion: reduce) {
  .tool-card, .tool-card:hover { transition: none; transform: none; }
}

/* Pequenos ajustes tipográficos */
.tool-card h3 { line-height: 1.3; margin-bottom: .25rem; }
.tool-card p { word-break: break-word; }

/* Compat: Bootstrap 4 → 5 (evita quebra se usarem .text-monospace) */
.text-monospace { font-family: var(--bs-font-monospace) !important; }

/* Clamp genérico (você já tem o de 2 linhas) */
.line-clamp-1{display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden;}
.line-clamp-3{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;}
.line-clamp-4{display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden;}

/* Uma linha com reticências (para títulos longos) */
.truncate{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}

/* Botão com ícone alinhado (evita ficar “apertado”) */
.btn-icon{display:inline-flex;align-items:center;gap:.4rem;}
.btn-icon i{line-height:1;}

/* Linhas “clicáveis” em tabelas (feedback visual) */
.table-clickable tbody tr{cursor:pointer;}
.table-clickable tbody tr:hover{background-color:rgba(0,0,0,.03);}

/* Mega-dropdown (Mais) — responsivo e escalável */
.dropdown-menu-mega{
  width: min(100vw - 2rem, 1000px);
  max-height: 70vh;            /* rolagem se passar muito */
  overflow: auto;
}
.mega-grid{
  display: grid;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  gap: 1rem 1.25rem;
}
@media (min-width: 576px){ .mega-grid{ grid-template-columns: repeat(2, minmax(0,1fr)); } }
@media (min-width: 992px){ .mega-grid{ grid-template-columns: repeat(4, minmax(0,1fr)); } }

.mega-item{
  padding: .35rem .5rem;
  border-radius: .5rem;
  text-decoration: none;
}
.mega-item:hover{ background: rgba(0,0,0,.05); }
.mega-item.active{ font-weight: 600; }

.truncate{ white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }

/* Só no rodapé */
.footer-brand { --nudge: -2px; }   /* ajuste fino aqui (ex.: -1px, -2px) */
.footer-brand img { transform: translateY(var(--nudge)); }