.hub-busca[b-ygwx396f7e] { display: flex; flex-direction: column; align-items: flex-start; gap: 8px; max-width: 760px; margin-top: 10px; }
.hub-busca[b-ygwx396f7e]  .mud-input-control { width: 100%; }
.hub-busca[b-ygwx396f7e]  .mud-input.mud-input-outlined { background: #fff; border-radius: 12px; box-shadow: 0 4px 14px rgba(46, 130, 200, .12); }
.hub-busca[b-ygwx396f7e]  .mud-button-root { border-radius: 10px; font-weight: 700; text-transform: none; }

.hub-lista[b-ygwx396f7e] { margin: 26px 0; }
.hub-lista h2[b-ygwx396f7e] { font-size: 1.25rem; margin: 0 0 14px; color: #0f3557; }
.hub-grade[b-ygwx396f7e] { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 12px; }
.hub-card[b-ygwx396f7e] {
    display: flex; flex-direction: column; justify-content: space-between; gap: 8px; padding: 16px; border-radius: 16px;
    border: 1px solid #c4e1fa; border-left: 4px solid #2e82c8; background: #fff; text-decoration: none; color: #0f3557;
    box-shadow: 0 4px 14px rgba(46, 130, 200, .08);
    transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.hub-card:hover[b-ygwx396f7e] { transform: translateY(-4px); border-color: #1857ad; box-shadow: 0 12px 26px rgba(46, 130, 200, .22); }
/* nome de assunto da BNCC é frase inteira: quebra em vez de estourar a caixa */
.hub-card strong[b-ygwx396f7e] { color: #1857ad; font-size: .98rem; line-height: 1.35; overflow-wrap: anywhere; }
.hub-qtd[b-ygwx396f7e] { font-size: .82rem; color: #475569; }

.sidebar-card[b-ygwx396f7e]  .hub-btn, .hub-vazio[b-ygwx396f7e]  .hub-btn { margin-top: 8px; border-radius: 10px; font-weight: 700; text-transform: none; }

.hub-vazio[b-ygwx396f7e] { max-width: 640px; margin: 60px auto; text-align: center; color: #0f3557; }

@media (prefers-reduced-motion: reduce) { .hub-card[b-ygwx396f7e] { transition: none; } }
