/* Páginas de documento: mesma linguagem do /sobre (rosado, Quicksand, vermelho da marca). */
.aleg { font-family: Quicksand, sans-serif; --rosa: #f9f0f0; --tinta: #1f1e1a; --suave: #6b6560; --vermelho: #cd212a; --linha: #ead9d7; --sai: cubic-bezier(.16, 1, .3, 1); color: var(--tinta); }
.aleg * { box-sizing: border-box; }
.aleg-caixa { max-width: 1248px; margin: 0 auto; padding: 0 20px; }

/* hero: o header flutua por cima, como no /sobre */
.aleg-hero { margin-top: -102px; padding: 190px 0 110px; background: var(--rosa); text-align: center; }
html body .aleg .aleg-hero__data { display: inline-flex; align-items: center; gap: 8px; margin: 0 0 16px; padding: 6px 14px; border-radius: 999px; background: #fff; font-size: 13px; font-weight: 700; line-height: 1.5; color: var(--suave); }
.aleg-hero__data i { width: 7px; height: 7px; border-radius: 50%; background: #00b102; }
html body .aleg .aleg-hero__titulo { margin: 0; font-size: clamp(38px, 5vw, 60px); font-weight: 700; line-height: 1.08; color: var(--tinta); }
html body .aleg .aleg-hero__lead { max-width: 680px; margin: 18px auto 0; font-size: 17px; line-height: 1.65; color: var(--suave); }

.aleg-corpo { padding: 70px 0 110px; }
.aleg-grade { display: grid; grid-template-columns: 290px minmax(0, 1fr); gap: 72px; align-items: start; }

/* índice: fica preso ao lado enquanto o texto rola */
.aleg-indice { position: sticky; top: 130px; padding: 16px; border-radius: 10px; background: var(--rosa); }
/* no computador o título "Nesta página" sai: a caixa já fala por si */
.aleg-indice summary { display: none; align-items: center; justify-content: space-between; font-size: 14px; font-weight: 700; list-style: none; }
/* o sticky só funciona se nenhum ancestral cortar o overflow: o tema usa overflow-x hidden */
html body.aleg-pagina, html.aleg-html { overflow-x: clip !important; }
.aleg-indice summary::-webkit-details-marker { display: none; }
.aleg-indice__seta { display: none; }
html body .aleg .aleg-indice ol { display: grid; gap: 4px; margin: 0; padding: 0; list-style: none; }
html body .aleg .aleg-indice li { margin: 0; padding: 0; }
.aleg-indice a { display: flex; gap: 10px; padding: 8px 10px; border-radius: 6px; color: var(--suave) !important; font-size: 14.5px; font-weight: 600; line-height: 1.35; text-decoration: none !important; transition: background-color .25s var(--sai), color .25s var(--sai); }
.aleg-indice a b { min-width: 18px; color: var(--vermelho); font-weight: 700; }
.aleg-indice a:hover { color: var(--tinta) !important; }
.aleg-indice a.is-atual { background: #fff; color: var(--tinta) !important; }

/* texto */
html body .aleg .aleg-intro { max-width: 760px; margin: 0 0 40px; font-size: 18px; line-height: 1.7; color: var(--tinta); }
.aleg-sec { max-width: 760px; margin: 0 0 34px; padding: 0 0 34px; border-bottom: 1px solid var(--linha); scroll-margin-top: 120px; }
.aleg-sec:last-of-type { border-bottom: 0; }
html body .aleg .aleg-sec h2 { margin: 0 0 12px; font-size: 24px; font-weight: 700; line-height: 1.25; color: var(--tinta); }
.aleg-sec h2 b { color: var(--vermelho); font-weight: 700; }
html body .aleg .aleg-sec h3 { margin: 22px 0 8px; font-size: 18px; font-weight: 700; line-height: 1.3; color: var(--tinta); }
html body .aleg .aleg-sec p { margin: 0 0 12px; font-size: 16px; line-height: 1.75; color: var(--suave); }
html body .aleg .aleg-sec ul, html body .aleg .aleg-sec ol { margin: 4px 0 14px; padding: 0; list-style: none; }
html body .aleg .aleg-sec li { position: relative; margin: 0 0 8px; padding-left: 22px; font-size: 16px; line-height: 1.65; color: var(--suave); }
.aleg-sec li::before { content: ""; position: absolute; left: 4px; top: .62em; width: 7px; height: 7px; border-radius: 50%; background: var(--vermelho); }
html body .aleg .aleg-sec li p { margin: 0; }
.aleg-sec a:not(.hx-btn):not(.aleg-doc) { color: var(--vermelho) !important; font-weight: 600; }
.aleg-sec .hx-btn { margin-top: 6px; }
.aleg-sec strong { color: var(--tinta); }

/* dúvida no fim */
.aleg-duvida { display: flex; align-items: center; justify-content: space-between; gap: 24px; max-width: 760px; margin-top: 22px; padding: 34px 38px; border-radius: 10px; background: var(--rosa); }
html body .aleg .aleg-duvida h3 { margin: 0 0 4px; font-size: 22px; font-weight: 700; color: var(--tinta); }
html body .aleg .aleg-duvida p { margin: 0; font-size: 15px; line-height: 1.55; color: var(--suave); }

@media (max-width: 1024px) {
    .aleg-grade { grid-template-columns: minmax(0, 1fr); gap: 36px; }
    /* no celular o índice vira uma caixa que abre e fecha, acima do texto */
    .aleg-indice { position: static; padding: 0; }
    .aleg-indice summary { display: flex; margin: 0; padding: 18px 20px; font-size: 15px; cursor: pointer; }
    .aleg-indice__seta { display: grid; place-items: center; width: 34px; height: 34px; border-radius: 50%; background: #fff; color: var(--vermelho); transform: rotate(90deg); transition: transform .3s var(--sai); }
    .aleg-indice[open] .aleg-indice__seta { transform: rotate(-90deg); }
    html body .aleg .aleg-indice ol { padding: 0 10px 14px; }
}
@media (max-width: 767px) {
    .aleg-caixa { padding: 0 16px; }
    .aleg-hero { margin-top: -80px; padding: 140px 0 72px; }
    html body .aleg .aleg-hero__titulo { font-size: 34px; }
    html body .aleg .aleg-hero__lead { font-size: 15px; }
    .aleg-corpo { padding: 40px 0 80px; }
    html body .aleg .aleg-intro { font-size: 16px; margin-bottom: 30px; }
    html body .aleg .aleg-sec h2 { font-size: 20px; }
    html body .aleg .aleg-sec p, html body .aleg .aleg-sec li { font-size: 15px; }
    .aleg-sec { margin-bottom: 28px; padding-bottom: 28px; }
    .aleg-duvida { flex-direction: column; align-items: flex-start; padding: 26px 22px; }
}

/* cards de download (documentos, relatórios, acordo) */
.aleg-docs { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin: 8px 0 18px; }
html body .aleg .aleg-sec a.aleg-doc { display: flex; align-items: center; gap: 14px; padding: 14px 14px 14px 16px; border-radius: 10px; background: var(--rosa); color: var(--tinta) !important; font-weight: 500; text-decoration: none !important; transition: background-color .25s var(--sai); }
.aleg-doc__ic, .aleg-doc__baixar { position: relative; flex: 0 0 auto; display: grid; place-items: center; width: 40px; height: 40px; border-radius: 50%; background: #fff; }
.aleg-doc__ic::before, .aleg-doc__baixar::before { content: ""; width: 20px; height: 20px; background: var(--vermelho); -webkit-mask: var(--ic) center / contain no-repeat; mask: var(--ic) center / contain no-repeat; }
/* Untitled UI file-04 e download (os mesmos da Minha conta) */
.aleg-doc__ic { --ic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 2.27V6.4c0 .56 0 .84.11 1.05a1 1 0 0 0 .44.44c.21.11.49.11 1.05.11h4.13M20 9.99v7.21c0 1.68 0 2.52-.33 3.16a3 3 0 0 1-1.31 1.31c-.64.33-1.48.33-3.16.33H8.8c-1.68 0-2.52 0-3.16-.33a3 3 0 0 1-1.31-1.31C4 19.72 4 18.88 4 17.2V6.8c0-1.68 0-2.52.33-3.16a3 3 0 0 1 1.31-1.31C6.28 2 7.12 2 8.8 2h3.21c.73 0 1.1 0 1.45.08.3.07.6.2.87.36.3.19.56.45 1.08.97l3.18 3.18c.52.52.78.78.97 1.08.16.27.29.56.36.87.08.35.08.72.08 1.45Z'/%3E%3C/svg%3E"); }
.aleg-doc__baixar { --ic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3v12M7.5 10.5 12 15l4.5-4.5M4 20h16'/%3E%3C/svg%3E"); margin-left: auto; width: 36px; height: 36px; isolation: isolate; }
.aleg-doc__baixar::before { width: 17px; height: 17px; transition: background-color .25s var(--sai); }
.aleg-doc__txt { display: grid; gap: 1px; min-width: 0; line-height: 1.3; }
.aleg-doc__txt strong { font-size: 15px; font-weight: 700; color: var(--tinta); }
.aleg-doc__txt small { font-size: 12.5px; color: var(--suave); }
@media (max-width: 767px) { .aleg-docs { grid-template-columns: minmax(0, 1fr); } }
/* o botão de baixar ganha o hover do X dos modais: a bolinha vermelha nasce do centro com a mola e a seta fica branca */
.aleg-doc__baixar::before { position: relative; z-index: 1; }
.aleg-doc__baixar::after { content: ""; position: absolute; inset: 0; z-index: 0; border-radius: 50%; background: var(--vermelho); transform: scale(0); transition: transform .4s var(--amace-curva); pointer-events: none; }
@media (hover: hover) {
    html body .aleg .aleg-sec a.aleg-doc:hover .aleg-doc__baixar::after { transform: scale(1); }
    html body .aleg .aleg-sec a.aleg-doc:hover .aleg-doc__baixar::before { background: #fff; }
}
html body .aleg .aleg-sec a.aleg-doc:focus-visible .aleg-doc__baixar::after { transform: scale(1); }
html body .aleg .aleg-sec a.aleg-doc:focus-visible .aleg-doc__baixar::before { background: #fff; }
@media (prefers-reduced-motion: reduce) { .aleg-doc__baixar::after { transition: none; } }

/* cursos vindos do CRM: pílulas com a situação num pontinho */
.aleg-cursos { display: flex; flex-wrap: wrap; gap: 8px; margin: 4px 0 18px; }
html body .aleg .aleg-sec .aleg-curso { display: inline-flex; align-items: center; gap: 10px; min-height: 48px; padding: 8px 16px 8px 14px; border-radius: 10px; background: var(--rosa); color: var(--tinta) !important; font-weight: 500; text-decoration: none !important; transition: background-color .25s var(--sai); }
html body .aleg .aleg-sec a.aleg-curso:hover { background: #f2e3e2; }
.aleg-curso__ponto { flex: 0 0 auto; width: 8px; height: 8px; border-radius: 50%; background: #b9b1ac; }
.aleg-curso__ponto--aberto { background: #00b102; }
.aleg-curso__ponto--andamento { background: #0045c0; }
.aleg-curso__ponto--breve { background: #fcce45; }
.aleg-curso__txt { display: grid; line-height: 1.25; }
.aleg-curso__txt strong { font-size: 15px; font-weight: 700; }
.aleg-curso__txt small { font-size: 12px; color: var(--suave); }
