/* ============================================================
   BDC — Base de Conhecimento
   Identidade: verde-petróleo + âmbar | Sora (títulos) + Inter (texto)
   ============================================================ */

:root {
    --bdc-primaria: #0d4f9e;
    --bdc-primaria-escura: #093a75;
    --bdc-primaria-clara: #e8f0fb;
    --bdc-ambar: #f97316; /* laranja Redework (mantive o nome da variável) */
    --bdc-ambar-clara: #fff0e5;
    --bdc-fundo: #f5f7fa;
    --bdc-superficie: #ffffff;
    --bdc-superficie-2: #edf1f7;
    --bdc-texto: #1a2434;
    --bdc-texto-suave: #5b6779;
    --bdc-borda: #dbe2ec;
    --bdc-sombra: 0 2px 10px rgba(13, 42, 80, .07);
    --bdc-sombra-alta: 0 10px 30px rgba(13, 42, 80, .12);
    --fonte-titulo: 'Sora', sans-serif;
    --fonte-texto: 'Inter', sans-serif;
}

[data-tema="dark"] {
    --bdc-primaria: #3b82f6;
    --bdc-primaria-escura: #2563eb;
    --bdc-primaria-clara: #142643;
    --bdc-ambar: #fb923c;
    --bdc-ambar-clara: #3a2410;
    --bdc-fundo: #0d1420;
    --bdc-superficie: #131c2b;
    --bdc-superficie-2: #1a2536;
    --bdc-texto: #e8edf5;
    --bdc-texto-suave: #94a3b8;
    --bdc-borda: #263450;
    --bdc-sombra: 0 2px 10px rgba(0, 0, 0, .3);
    --bdc-sombra-alta: 0 10px 30px rgba(0, 0, 0, .45);
}

* { box-sizing: border-box; }

html, body {
    overflow-x: hidden;
}

body {
    font-family: var(--fonte-texto);
    background-color: var(--bdc-fundo);
    color: var(--bdc-texto);
    display: flex;
    flex-direction: column;
    min-height: 100vh;
    transition: background-color .25s ease, color .25s ease;
}

h1, h2, h3, h4, h5, h6 {
    font-family: var(--fonte-titulo);
    color: var(--bdc-texto);
}

a { color: var(--bdc-primaria); }
a:hover { color: var(--bdc-primaria-escura); }

.text-muted { color: var(--bdc-texto-suave) !important; }

/* ===== Botões ===== */
.bdc-btn-primario {
    background-color: var(--bdc-primaria);
    border: 1px solid var(--bdc-primaria);
    color: #fff !important;
    font-weight: 600;
    transition: background-color .2s ease, transform .15s ease;
}
.bdc-btn-primario:hover {
    background-color: var(--bdc-primaria-escura);
    border-color: var(--bdc-primaria-escura);
    color: #fff !important;
    transform: translateY(-1px);
}

.bdc-btn-icone {
    width: 40px;
    height: 40px;
    border-radius: 10px;
    border: 1px solid var(--bdc-borda);
    background: var(--bdc-superficie);
    color: var(--bdc-texto);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 1.05rem;
    transition: background-color .2s ease, color .2s ease;
}
.bdc-btn-icone:hover {
    background: var(--bdc-primaria-clara);
    color: var(--bdc-primaria);
}

.bdc-btn-entrar {
    display: inline-flex;
    align-items: center;
    padding: .5rem .9rem;
    border-radius: 10px;
    background: var(--bdc-primaria);
    color: #fff !important;
    text-decoration: none;
    font-weight: 600;
    font-size: .9rem;
    transition: background-color .2s ease;
}
.bdc-btn-entrar:hover { background: var(--bdc-primaria-escura); }

/* ===== Navbar ===== */
.bdc-navbar {
    background: var(--bdc-superficie);
    border-bottom: 1px solid var(--bdc-borda);
    position: sticky;
    top: 0;
    z-index: 1030;
}

.bdc-marca { color: var(--bdc-texto); }
.bdc-marca-texto {
    font-family: var(--fonte-titulo);
    font-size: 1.05rem;
    white-space: nowrap;
}
.bdc-marca-texto strong { color: var(--bdc-primaria); }

.bdc-marca-icone {
    width: 38px;
    height: 38px;
    border-radius: 10px;
    background: var(--bdc-primaria);
    color: #fff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 1rem;
    flex-shrink: 0;
}
.bdc-marca-icone-grande {
    width: 64px;
    height: 64px;
    border-radius: 16px;
    font-size: 1.7rem;
    margin-bottom: 1.2rem;
}

.bdc-busca-nav {
    display: flex;
    align-items: center;
    gap: .5rem;
    background: var(--bdc-superficie-2);
    border: 1px solid var(--bdc-borda);
    border-radius: 10px;
    padding: .45rem .8rem;
    min-width: 260px;
    color: var(--bdc-texto-suave);
    transition: border-color .2s ease;
}
.bdc-busca-nav:focus-within { border-color: var(--bdc-primaria); }
.bdc-busca-nav input {
    border: none;
    background: transparent;
    outline: none;
    width: 100%;
    color: var(--bdc-texto);
    font-size: .92rem;
}
.bdc-busca-nav input::placeholder { color: var(--bdc-texto-suave); }

/* Dropdowns respeitando o tema */
.dropdown-menu {
    background: var(--bdc-superficie);
    border: 1px solid var(--bdc-borda);
}
.dropdown-item { color: var(--bdc-texto); }
.dropdown-item:hover { background: var(--bdc-superficie-2); color: var(--bdc-texto); }
.dropdown-item-text { color: var(--bdc-texto-suave); }
.dropdown-divider { border-color: var(--bdc-borda); }

/* ===== Hero ===== */
.bdc-hero {
    background:
        radial-gradient(circle at 15% 20%, rgba(255, 255, 255, .08) 0, transparent 40%),
        radial-gradient(circle at 85% 80%, rgba(217, 119, 6, .18) 0, transparent 45%),
        linear-gradient(135deg, var(--bdc-primaria-escura), var(--bdc-primaria));
    color: #fff;
    padding: 4.5rem 1rem 5rem;
}

.bdc-hero-eyebrow {
    text-transform: uppercase;
    letter-spacing: .14em;
    font-size: .8rem;
    font-weight: 600;
    opacity: .85;
    margin-bottom: .8rem;
}

.bdc-hero-titulo {
    font-size: clamp(1.7rem, 4.5vw, 2.8rem);
    font-weight: 800;
    color: #fff;
    margin-bottom: 1.8rem;
}

.bdc-hero-busca {
    display: flex;
    align-items: center;
    gap: .6rem;
    background: #fff;
    border-radius: 14px;
    padding: .55rem .55rem .55rem 1.1rem;
    max-width: 640px;
    box-shadow: var(--bdc-sombra-alta);
    color: #5b6b69;
}
.bdc-hero-busca input {
    border: none;
    outline: none;
    width: 100%;
    font-size: 1rem;
    color: #1c2b2a;
    background: transparent;
}
.bdc-hero-busca .btn {
    background: var(--bdc-ambar);
    color: #fff;
    font-weight: 700;
    border-radius: 10px;
    padding: .55rem 1.3rem;
    white-space: nowrap;
    transition: filter .2s ease;
}
.bdc-hero-busca .btn:hover { filter: brightness(.92); color: #fff; }

.bdc-hero-dica {
    margin-top: 1.1rem;
    font-size: .9rem;
    opacity: .8;
    margin-bottom: 0;
}

/* ===== Seções ===== */
.bdc-secao { padding: 2.6rem 0.75rem; }

.bdc-secao-titulo {
    font-size: 1.25rem;
    font-weight: 700;
    margin-bottom: 1.1rem;
    display: flex;
    align-items: center;
}
.bdc-secao-titulo i { color: var(--bdc-primaria); }

/* ===== Cards de categoria ===== */
.bdc-card-categoria {
    display: flex;
    flex-direction: column;
    gap: .35rem;
    background: var(--bdc-superficie);
    border: 1px solid var(--bdc-borda);
    border-radius: 16px;
    padding: 1.3rem 1.1rem;
    height: 100%;
    text-decoration: none;
    color: var(--bdc-texto);
    transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.bdc-card-categoria:hover {
    transform: translateY(-4px);
    box-shadow: var(--bdc-sombra-alta);
    border-color: var(--bdc-primaria);
    color: var(--bdc-texto);
}

.bdc-cat-icone {
    width: 46px;
    height: 46px;
    border-radius: 12px;
    background: var(--bdc-primaria-clara);
    color: var(--bdc-primaria);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 1.2rem;
    margin-bottom: .4rem;
}

.bdc-cat-nome {
    font-family: var(--fonte-titulo);
    font-weight: 700;
    font-size: 1rem;
}

.bdc-cat-desc {
    font-size: .84rem;
    color: var(--bdc-texto-suave);
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.bdc-cat-qtd {
    margin-top: auto;
    padding-top: .5rem;
    font-size: .8rem;
    font-weight: 600;
    color: var(--bdc-primaria);
}

/* ===== Card de artigo ===== */
.bdc-card-artigo {
    display: flex;
    flex-direction: column;
    background: var(--bdc-superficie);
    border: 1px solid var(--bdc-borda);
    border-radius: 16px;
    overflow: hidden;
    height: 100%;
    text-decoration: none;
    color: var(--bdc-texto);
    transition: transform .18s ease, box-shadow .18s ease;
}
.bdc-card-artigo:hover {
    transform: translateY(-4px);
    box-shadow: var(--bdc-sombra-alta);
    color: var(--bdc-texto);
}

.bdc-card-capa {
    display: block;
    width: 100%;
    aspect-ratio: 16 / 9;
    background-size: cover;
    background-position: center;
}

.bdc-card-corpo {
    display: flex;
    flex-direction: column;
    gap: .45rem;
    padding: 1rem 1.1rem 1.1rem;
    height: 100%;
}

.bdc-card-topo {
    display: flex;
    flex-wrap: wrap;
    gap: .4rem;
    align-items: center;
}

.bdc-badge-categoria {
    font-size: .72rem;
    font-weight: 600;
    color: var(--bdc-primaria);
    background: var(--bdc-primaria-clara);
    border-radius: 20px;
    padding: .22rem .6rem;
}

.bdc-badge-interno {
    font-size: .72rem;
    font-weight: 700;
    color: var(--bdc-ambar);
    background: var(--bdc-ambar-clara);
    border-radius: 20px;
    padding: .22rem .6rem;
    align-items: center;
}

.bdc-icone-interno {
    color: var(--bdc-ambar);
    font-size: .75em;
}

.bdc-card-titulo {
    font-family: var(--fonte-titulo);
    font-weight: 700;
    font-size: .98rem;
    line-height: 1.35;
}

.bdc-card-resumo {
    font-size: .85rem;
    color: var(--bdc-texto-suave);
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.bdc-card-meta {
    margin-top: auto;
    padding-top: .5rem;
    display: flex;
    gap: 1rem;
    font-size: .78rem;
    color: var(--bdc-texto-suave);
}

/* ===== Lista de populares ===== */
.bdc-lista-populares {
    background: var(--bdc-superficie);
    border: 1px solid var(--bdc-borda);
    border-radius: 16px;
    overflow: hidden;
}

.bdc-popular-item {
    display: flex;
    gap: .9rem;
    align-items: flex-start;
    padding: .9rem 1.1rem;
    text-decoration: none;
    color: var(--bdc-texto);
    border-bottom: 1px solid var(--bdc-borda);
    transition: background-color .15s ease;
}
.bdc-popular-item:last-child { border-bottom: none; }
.bdc-popular-item:hover { background: var(--bdc-superficie-2); color: var(--bdc-texto); }

.bdc-popular-num {
    font-family: var(--fonte-titulo);
    font-weight: 800;
    font-size: 1.1rem;
    color: var(--bdc-primaria);
    min-width: 22px;
}

.bdc-popular-info { display: flex; flex-direction: column; gap: .15rem; }
.bdc-popular-titulo { font-weight: 600; font-size: .92rem; line-height: 1.35; }
.bdc-popular-meta { font-size: .78rem; color: var(--bdc-texto-suave); }

/* ===== Cabeçalho de página interna ===== */
.bdc-cabecalho-pagina {
    background: linear-gradient(135deg, var(--bdc-primaria-escura), var(--bdc-primaria));
    color: #fff;
    padding: 2.4rem 0.75rem 2.6rem;
}

.bdc-cabecalho-titulo {
    font-size: clamp(1.4rem, 3.5vw, 2rem);
    font-weight: 800;
    color: #fff;
    margin-bottom: .4rem;
}

.bdc-cabecalho-desc { opacity: .88; max-width: 640px; margin-bottom: .6rem; }

.bdc-cabecalho-qtd {
    display: inline-block;
    font-size: .82rem;
    font-weight: 600;
    background: rgba(255, 255, 255, .16);
    padding: .3rem .8rem;
    border-radius: 20px;
}

.bdc-busca-pagina { margin-top: 1.2rem; }

.bdc-breadcrumb .breadcrumb { margin-bottom: 1rem; }
.bdc-breadcrumb .breadcrumb-item a { color: var(--bdc-primaria); text-decoration: none; }
.bdc-breadcrumb .breadcrumb-item.active { color: var(--bdc-texto-suave); }
.bdc-breadcrumb .breadcrumb-item + .breadcrumb-item::before { color: var(--bdc-texto-suave); }

.bdc-breadcrumb-claro .breadcrumb-item a { color: rgba(255, 255, 255, .85); }
.bdc-breadcrumb-claro .breadcrumb-item.active { color: rgba(255, 255, 255, .65); }
.bdc-breadcrumb-claro .breadcrumb-item + .breadcrumb-item::before { color: rgba(255, 255, 255, .5); }

/* ===== Página do artigo ===== */
.bdc-artigo-cabecalho { margin-bottom: 1.4rem; }

.bdc-artigo-titulo {
    font-size: clamp(1.5rem, 4vw, 2.2rem);
    font-weight: 800;
    line-height: 1.25;
    margin-bottom: .6rem;
}

.bdc-artigo-resumo {
    font-size: 1.05rem;
    color: var(--bdc-texto-suave);
    margin-bottom: .8rem;
}

.bdc-artigo-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 1.1rem;
    font-size: .84rem;
    color: var(--bdc-texto-suave);
    padding-bottom: 1.1rem;
    border-bottom: 1px solid var(--bdc-borda);
}

.bdc-artigo-capa {
    width: 100%;
    aspect-ratio: 16 / 9;
    object-fit: cover;
    border-radius: 16px;
    margin-bottom: 1.6rem;
    box-shadow: var(--bdc-sombra);
}

/* Conteúdo renderizado do Quill */
.bdc-artigo-conteudo {
    font-size: 1.02rem;
    line-height: 1.75;
}
.bdc-artigo-conteudo h2,
.bdc-artigo-conteudo h3,
.bdc-artigo-conteudo h4 {
    margin-top: 1.8rem;
    margin-bottom: .7rem;
    font-weight: 700;
}
.bdc-artigo-conteudo h2 { font-size: 1.4rem; }
.bdc-artigo-conteudo h3 { font-size: 1.2rem; }
.bdc-artigo-conteudo h4 { font-size: 1.05rem; }

.bdc-artigo-conteudo img {
    display: block;
    margin: .8rem auto;   /* sempre centralizada */
    max-width: 100%;
    height: auto;
    border-radius: 12px;
    box-shadow: var(--bdc-sombra);
}

/* Alinhamentos aplicados no editor Quill */
.bdc-artigo-conteudo .ql-align-center { text-align: center; }
.bdc-artigo-conteudo .ql-align-right { text-align: right; }
.bdc-artigo-conteudo .ql-align-justify { text-align: justify; }

.bdc-artigo-conteudo blockquote {
    border-left: 4px solid var(--bdc-primaria);
    background: var(--bdc-primaria-clara);
    padding: .8rem 1.1rem;
    border-radius: 0 10px 10px 0;
    margin: 1.1rem 0;
    color: var(--bdc-texto);
}

.bdc-artigo-conteudo pre,
.bdc-artigo-conteudo .ql-code-block-container {
    background: #14201e;
    color: #d9e6e3;
    border-radius: 12px;
    padding: 1rem 1.2rem;
    overflow-x: auto;
    font-size: .88rem;
    margin: 1.1rem 0;
}

.bdc-artigo-conteudo a { text-decoration: underline; }

/* iframe do YouTube (Quill .ql-video) responsivo 16:9 */
.bdc-artigo-conteudo iframe.ql-video,
.bdc-artigo-conteudo iframe {
    width: 100%;
    aspect-ratio: 16 / 9;
    height: auto;
    border: none;
    border-radius: 12px;
    margin: .8rem 0;
    display: block;
}

/* ===== Tags ===== */
.bdc-artigo-tags {
    margin-top: 1.8rem;
    display: flex;
    flex-wrap: wrap;
    gap: .45rem;
    align-items: center;
    color: var(--bdc-texto-suave);
}

.bdc-tag {
    font-size: .8rem;
    font-weight: 600;
    background: var(--bdc-superficie-2);
    border: 1px solid var(--bdc-borda);
    color: var(--bdc-texto);
    padding: .25rem .7rem;
    border-radius: 20px;
    text-decoration: none;
    transition: background-color .15s ease, color .15s ease;
}
.bdc-tag:hover {
    background: var(--bdc-primaria-clara);
    color: var(--bdc-primaria);
}

/* ===== Anexos ===== */
.bdc-anexos {
    margin-top: 2.2rem;
    background: var(--bdc-superficie);
    border: 1px solid var(--bdc-borda);
    border-radius: 16px;
    padding: 1.3rem;
}

.bdc-anexos-titulo {
    font-size: 1.05rem;
    font-weight: 700;
    margin-bottom: 1rem;
}
.bdc-anexos-titulo i { color: var(--bdc-primaria); }

.bdc-anexos-lista { display: flex; flex-direction: column; gap: .55rem; }

.bdc-anexo-item {
    display: flex;
    align-items: center;
    gap: .9rem;
    padding: .75rem .9rem;
    border: 1px solid var(--bdc-borda);
    border-radius: 12px;
    text-decoration: none;
    color: var(--bdc-texto);
    transition: border-color .15s ease, background-color .15s ease;
}
.bdc-anexo-item:hover {
    border-color: var(--bdc-primaria);
    background: var(--bdc-primaria-clara);
    color: var(--bdc-texto);
}

.bdc-anexo-icone { font-size: 1.4rem; color: var(--bdc-primaria); }
.bdc-anexo-info { display: flex; flex-direction: column; overflow: hidden; }
.bdc-anexo-nome {
    font-weight: 600;
    font-size: .92rem;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.bdc-anexo-meta { font-size: .78rem; color: var(--bdc-texto-suave); }
.bdc-anexo-baixar { margin-left: auto; color: var(--bdc-primaria); }

/* ===== Relacionados ===== */
.bdc-relacionados { margin-top: 2.4rem; }

.bdc-relacionado-item {
    display: flex;
    align-items: center;
    gap: .7rem;
    padding: .8rem 1rem;
    background: var(--bdc-superficie);
    border: 1px solid var(--bdc-borda);
    border-radius: 12px;
    text-decoration: none;
    color: var(--bdc-texto);
    font-weight: 600;
    font-size: .92rem;
    height: 100%;
    transition: border-color .15s ease, transform .15s ease;
}
.bdc-relacionado-item:hover {
    border-color: var(--bdc-primaria);
    transform: translateX(3px);
    color: var(--bdc-texto);
}
.bdc-relacionado-item i { color: var(--bdc-primaria); }

/* ===== Estado vazio ===== */
.bdc-vazio {
    text-align: center;
    padding: 3rem 1rem;
    color: var(--bdc-texto-suave);
}
.bdc-vazio i {
    font-size: 2.6rem;
    color: var(--bdc-primaria);
    opacity: .5;
    margin-bottom: .8rem;
    display: block;
}

/* ===== Painel genérico ===== */
.bdc-painel {
    background: var(--bdc-superficie);
    border: 1px solid var(--bdc-borda);
    border-radius: 16px;
    padding: 1.6rem;
}

/* ===== Formulários ===== */
.form-control, .form-select {
    background: var(--bdc-superficie);
    border-color: var(--bdc-borda);
    color: var(--bdc-texto);
}
.form-control:focus, .form-select:focus {
    background: var(--bdc-superficie);
    color: var(--bdc-texto);
    border-color: var(--bdc-primaria);
    box-shadow: 0 0 0 .2rem rgba(13, 79, 158, .15);
}
.form-control::placeholder { color: var(--bdc-texto-suave); }
.form-label { color: var(--bdc-texto); }

.bdc-erros:not(:empty) ul {
    margin: 0;
    padding-left: 1.1rem;
}
.bdc-erros .validation-summary-errors {
    background: #fdecec;
    border: 1px solid #f5c2c2;
    color: #b02a37;
    border-radius: 10px;
    padding: .7rem 1rem;
    font-size: .88rem;
    margin-bottom: 1rem;
}
[data-tema="dark"] .bdc-erros .validation-summary-errors {
    background: #3a1a1d;
    border-color: #6e2a31;
    color: #f1aeb5;
}

.bdc-input-icone { position: relative; }
.bdc-input-icone i {
    position: absolute;
    left: .9rem;
    top: 50%;
    transform: translateY(-50%);
    color: var(--bdc-texto-suave);
}
.bdc-input-icone .form-control { padding-left: 2.4rem; }

/* ===== Login ===== */
.bdc-login {
    display: flex;
    min-height: 100vh;
    background: var(--bdc-fundo);
}

.bdc-login-lateral {
    flex: 1;
    background:
        radial-gradient(circle at 80% 15%, rgba(217, 119, 6, .22) 0, transparent 45%),
        linear-gradient(150deg, var(--bdc-primaria-escura), var(--bdc-primaria));
    color: #fff;
    align-items: center;
    justify-content: center;
    padding: 3rem;
}
.bdc-login-lateral h1 {
    color: #fff;
    font-size: 1.9rem;
    font-weight: 800;
}
.bdc-login-lateral p { opacity: .85; max-width: 380px; }

.bdc-login-form {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 2rem 1rem;
}

.bdc-login-card {
    width: 100%;
    max-width: 400px;
    background: var(--bdc-superficie);
    border: 1px solid var(--bdc-borda);
    border-radius: 20px;
    padding: 2.2rem;
    box-shadow: var(--bdc-sombra-alta);
}
.bdc-login-card h2 { font-weight: 800; }

.bdc-login-voltar {
    display: inline-block;
    font-size: .85rem;
    text-decoration: none;
    margin-bottom: 1.4rem;
    color: var(--bdc-texto-suave);
}
.bdc-login-voltar:hover { color: var(--bdc-primaria); }

/* ===== Paginação ===== */
.pagination .page-link {
    color: var(--bdc-primaria);
    background: var(--bdc-superficie);
    border-color: var(--bdc-borda);
}
.pagination .page-item.active .page-link {
    background: var(--bdc-primaria);
    border-color: var(--bdc-primaria);
    color: #fff;
}

/* ===== Footer ===== */
.bdc-footer {
    background: var(--bdc-superficie);
    border-top: 1px solid var(--bdc-borda);
    color: var(--bdc-texto-suave);
    font-size: .9rem;
}

/* ===== Toasts ===== */
.bdc-toast {
    display: flex;
    align-items: center;
    gap: .7rem;
    background: var(--bdc-superficie);
    border: 1px solid var(--bdc-borda);
    border-left: 4px solid var(--bdc-primaria);
    border-radius: 12px;
    padding: .85rem 1.1rem;
    box-shadow: var(--bdc-sombra-alta);
    color: var(--bdc-texto);
    font-size: .92rem;
    font-weight: 500;
    margin-bottom: .6rem;
    min-width: 260px;
    max-width: 360px;
    animation: toastEntrada .3s ease;
}
.bdc-toast.saindo { animation: toastSaida .3s ease forwards; }

.bdc-toast-sucesso { border-left-color: #16a34a; }
.bdc-toast-sucesso i { color: #16a34a; }
.bdc-toast-erro { border-left-color: #dc2626; }
.bdc-toast-erro i { color: #dc2626; }
.bdc-toast-info { border-left-color: var(--bdc-primaria); }
.bdc-toast-info i { color: var(--bdc-primaria); }

@keyframes toastEntrada {
    from { opacity: 0; transform: translateX(30px); }
    to { opacity: 1; transform: translateX(0); }
}
@keyframes toastSaida {
    from { opacity: 1; transform: translateX(0); }
    to { opacity: 0; transform: translateX(30px); }
}

/* ===== Acessibilidade ===== */
:focus-visible {
    outline: 2px solid var(--bdc-primaria);
    outline-offset: 2px;
}

@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after {
        animation-duration: .01ms !important;
        transition-duration: .01ms !important;
    }
}

/* ===== Responsivo ===== */
@media (max-width: 767.98px) {
    .bdc-hero { padding: 3rem 1rem 3.4rem; }

    .bdc-hero-busca {
        flex-direction: column;
        align-items: stretch;
        padding: .8rem;
        gap: .7rem;
    }
    .bdc-hero-busca i { display: none; }
    .bdc-hero-busca input { padding: .3rem .2rem; }
    .bdc-hero-busca .btn { width: 100%; }

    .bdc-secao { padding: 1.8rem 0.75rem; }
    .bdc-painel { padding: 1.2rem; }
    .bdc-login-card { padding: 1.6rem; border-radius: 16px; }
}
