/* Alexandria Ações Judiciais — página pública
 * Usa a fonte do tema; a cor de destaque vem do sistema (--aaj-cor).
 * Os seletores começam em .aaj para não depender (nem sofrer) dos estilos do tema.
 */

.aaj {
    --aaj-cor: #B32025;
    --aaj-cor-suave: rgba(179, 32, 37, .07);
    --aaj-cor-borda: rgba(179, 32, 37, .28);
    --aaj-texto: #0f172a;
    --aaj-texto-2: #475569;
    --aaj-texto-3: #94a3b8;
    --aaj-linha: #e8ebf0;
    --aaj-fundo: #ffffff;
    --aaj-fundo-2: #f7f8fa;
    --aaj-raio: 14px;

    max-width: 1140px;
    margin: 0 auto;
    padding: 8px 0 24px;
    color: var(--aaj-texto);
    font-family: inherit;
    text-align: left;
    line-height: 1.5;
    -webkit-font-smoothing: antialiased;
}

@supports (color: color-mix(in srgb, red 10%, white)) {
    .aaj {
        --aaj-cor-suave: color-mix(in srgb, var(--aaj-cor) 7%, #fff);
        --aaj-cor-borda: color-mix(in srgb, var(--aaj-cor) 30%, #fff);
    }
}

.aaj *,
.aaj *::before,
.aaj *::after { box-sizing: border-box; }

.aaj h2,
.aaj h3,
.aaj h4,
.aaj p {
    margin: 0;
    padding: 0;
    border: 0;
    background: none;
    text-align: left;
    text-transform: none;
    letter-spacing: normal;
    font-family: inherit;
}

.aaj [hidden] { display: none !important; }

/* ---------- Cabeçalho ---------- */

.aaj .aaj-hero {
    text-align: center;
    margin: 0 auto 32px;
    max-width: 720px;
}

.aaj .aaj-hero__titulo {
    text-align: center;
    font-size: clamp(1.75rem, 3.2vw, 2.5rem);
    font-weight: 700;
    line-height: 1.15;
    letter-spacing: -.02em;
    color: var(--aaj-texto);
}

.aaj .aaj-hero__subtitulo {
    text-align: center;
    margin-top: 10px;
    font-size: 1.05rem;
    color: var(--aaj-texto-2);
}

/* ---------- Filtros e busca ---------- */

.aaj .aaj-toolbar {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 12px 16px;
    margin-bottom: 36px;
    padding: 8px;
    background: var(--aaj-fundo-2);
    border: 1px solid var(--aaj-linha);
    border-radius: 999px;
}

.aaj .aaj-filtros {
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
}

.aaj .aaj-filtro {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin: 0;
    padding: 9px 16px;
    border: 0;
    border-radius: 999px;
    background: transparent;
    color: var(--aaj-texto-2);
    font: inherit;
    font-size: .9rem;
    font-weight: 600;
    line-height: 1.2;
    text-transform: none;
    letter-spacing: normal;
    cursor: pointer;
    box-shadow: none;
    transition: background-color .15s ease, color .15s ease, box-shadow .15s ease;
}

.aaj .aaj-filtro:hover { color: var(--aaj-texto); background: rgba(15, 23, 42, .04); }

.aaj .aaj-filtro:focus-visible,
.aaj .aaj-busca input:focus-visible,
.aaj .aaj-card__link:focus-visible {
    outline: 2px solid var(--aaj-cor);
    outline-offset: 2px;
}

.aaj .aaj-filtro.is-ativo {
    background: var(--aaj-fundo);
    color: var(--aaj-cor);
    box-shadow: 0 1px 2px rgba(15, 23, 42, .08), 0 0 0 1px var(--aaj-linha);
}

.aaj .aaj-filtro__qtd {
    min-width: 22px;
    padding: 1px 7px;
    border-radius: 999px;
    background: rgba(15, 23, 42, .06);
    color: var(--aaj-texto-2);
    font-size: .75rem;
    font-weight: 700;
    text-align: center;
}

.aaj .aaj-filtro.is-ativo .aaj-filtro__qtd {
    background: var(--aaj-cor-suave);
    color: var(--aaj-cor);
}

.aaj .aaj-busca {
    position: relative;
    display: block;
    flex: 0 1 280px;
    min-width: 200px;
    margin: 0;
}

.aaj .aaj-busca__icone {
    position: absolute;
    left: 14px;
    top: 50%;
    width: 17px;
    height: 17px;
    transform: translateY(-50%);
    fill: none;
    stroke: var(--aaj-texto-3);
    stroke-width: 2;
    stroke-linecap: round;
    pointer-events: none;
}

.aaj .aaj-busca input {
    width: 100%;
    height: 40px;
    margin: 0;
    padding: 0 16px 0 40px;
    border: 1px solid var(--aaj-linha);
    border-radius: 999px;
    background: var(--aaj-fundo);
    color: var(--aaj-texto);
    font: inherit;
    font-size: .92rem;
    box-shadow: none;
    transition: border-color .15s ease, box-shadow .15s ease;
}

.aaj .aaj-busca input::placeholder { color: var(--aaj-texto-3); }

.aaj .aaj-busca input:focus {
    outline: none;
    border-color: var(--aaj-cor-borda);
    box-shadow: 0 0 0 4px var(--aaj-cor-suave);
}

/* ---------- Seções ---------- */

.aaj .aaj-secao { margin-bottom: 48px; }
.aaj .aaj-secao:last-of-type { margin-bottom: 8px; }

.aaj .aaj-secao__cabecalho {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 18px;
}

.aaj .aaj-secao__titulo {
    display: flex;
    align-items: center;
    gap: 12px;
    font-size: clamp(1.2rem, 2vw, 1.45rem);
    font-weight: 700;
    line-height: 1.25;
    letter-spacing: -.01em;
    color: var(--aaj-texto);
}

.aaj .aaj-secao__titulo::before {
    content: "";
    flex: 0 0 auto;
    width: 4px;
    height: 1.1em;
    border-radius: 4px;
    background: var(--aaj-cor);
}

.aaj .aaj-secao__cabecalho::after {
    content: "";
    flex: 1 1 auto;
    height: 1px;
    background: var(--aaj-linha);
}

.aaj .aaj-secao__qtd {
    flex: 0 0 auto;
    order: 3;
    color: var(--aaj-texto-3);
    font-size: .85rem;
    font-weight: 500;
    white-space: nowrap;
}

.aaj .aaj-secao__descricao {
    margin: -6px 0 18px;
    color: var(--aaj-texto-2);
    font-size: .95rem;
}

/* ---------- Cartões ---------- */

.aaj .aaj-grade {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(min(100%, 320px), 1fr));
    gap: 16px;
}

.aaj .aaj-card {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 8px;
    min-width: 0;
    margin: 0;
    padding: 22px 22px 20px;
    background: var(--aaj-fundo);
    border: 1px solid var(--aaj-linha);
    border-radius: var(--aaj-raio);
    text-align: left;
    transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}

.aaj .aaj-card:hover {
    border-color: var(--aaj-cor-borda);
    box-shadow: 0 12px 28px -12px rgba(15, 23, 42, .18);
    transform: translateY(-2px);
}

.aaj .aaj-card__num {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    margin-bottom: 6px;
    border-radius: 10px;
    background: var(--aaj-cor-suave);
    color: var(--aaj-cor);
    font-size: .8rem;
    font-weight: 700;
    font-variant-numeric: tabular-nums;
}

.aaj .aaj-card__titulo {
    font-size: 1rem;
    font-weight: 700;
    line-height: 1.4;
    letter-spacing: .005em;
    color: var(--aaj-texto);
    overflow-wrap: anywhere;
}

.aaj .aaj-card__descricao {
    font-size: .93rem;
    line-height: 1.6;
    color: var(--aaj-texto-2);
    overflow-wrap: anywhere;
}

.aaj .aaj-card__link {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin-top: auto;
    padding-top: 10px;
    color: var(--aaj-cor);
    font-size: .9rem;
    font-weight: 600;
    text-decoration: none;
    box-shadow: none;
}

.aaj .aaj-card__link span { transition: transform .15s ease; }
.aaj .aaj-card__link:hover { color: var(--aaj-cor); text-decoration: none; }
.aaj .aaj-card__link:hover span { transform: translateX(3px); }

.aaj .aaj-vazio {
    padding: 32px 16px;
    text-align: center;
    color: var(--aaj-texto-2);
    background: var(--aaj-fundo-2);
    border: 1px dashed var(--aaj-linha);
    border-radius: var(--aaj-raio);
}

/* ---------- Celular ---------- */

@media (max-width: 720px) {
    .aaj .aaj-hero { margin-bottom: 24px; }

    /* Grade de uma coluna: a faixa de filtros rola na horizontal sem alargar a página. */
    .aaj .aaj-toolbar {
        display: grid;
        grid-template-columns: minmax(0, 1fr);
        padding: 0;
        background: none;
        border: 0;
        border-radius: 0;
        margin-bottom: 28px;
    }

    .aaj .aaj-filtros {
        min-width: 0;
        flex-wrap: nowrap;
        overflow-x: auto;
        gap: 6px;
        padding-bottom: 2px;
        scrollbar-width: none;
    }

    .aaj .aaj-filtros::-webkit-scrollbar { display: none; }

    .aaj .aaj-filtro {
        flex: 0 0 auto;
        background: var(--aaj-fundo-2);
        box-shadow: 0 0 0 1px var(--aaj-linha);
    }

    .aaj .aaj-busca { flex: 1 1 auto; min-width: 0; }

    .aaj .aaj-secao { margin-bottom: 36px; }
    .aaj .aaj-secao__cabecalho::after { display: none; }
    .aaj .aaj-secao__cabecalho { justify-content: space-between; }
    .aaj .aaj-card { padding: 18px; }
}

@media (prefers-reduced-motion: reduce) {
    .aaj .aaj-card,
    .aaj .aaj-filtro,
    .aaj .aaj-card__link span { transition: none; }
    .aaj .aaj-card:hover { transform: none; }
}

/* Aviso para administradores quando ainda não há conteúdo. */
.alexandria-acoes-alerta {
    border: 1px solid #f59e0b;
    background: #fffbeb;
    color: #92400e;
    padding: 12px 14px;
    border-radius: 8px;
}
