/* Páginas institucionais públicas para privacidade e termos de serviço. */
body.page .hp-legal-page {
    box-sizing: border-box;
    width: min(1720px, calc(100vw - 48px));
    max-width: none;
    margin: 104px auto 72px;
    padding: clamp(28px, 5vw, 64px);
    border: 1px solid rgba(18, 32, 51, .09);
    border-radius: 28px;
    color: #314557;
    background: #fff;
    box-shadow: 0 18px 48px rgba(22, 52, 73, .08);
    font-size: 1.03rem;
    line-height: 1.75;
}
body.page .hp-legal-page h1,
body.page .hp-legal-page h2 { color: #102437; }
body.page .hp-legal-page h1 {
    margin: 0 0 6px;
    font-size: clamp(2rem, 4vw, 3rem);
    line-height: 1.15;
}
/* O título do WordPress seria uma duplicata do h1 dentro do card e ficava
 * encoberto pelo header fixo. */
body.page .wp-site-blocks > main .wp-block-post-title { display: none !important; }
/* Alguns templates envolvem o conteúdo em um bloco de 760px. Como este CSS
 * só é carregado nas três páginas legais, liberamos esse invólucro aqui. */
body.page .wp-site-blocks > main,
body.page .wp-site-blocks > main > .wp-block-group,
body.page .wp-site-blocks > main .entry-content,
body.page .wp-site-blocks > main .wp-block-post-content {
    width: 100% !important;
    max-width: none !important;
}
body.page .hp-legal-page h2 {
    margin: 34px 0 9px;
    font-size: 1.25rem;
    line-height: 1.3;
}
body.page .hp-legal-page p { margin: 0 0 16px; }
body.page .hp-legal-page hr {
    margin: 46px 0 26px;
    border: 0;
    border-top: 1px solid rgba(18, 32, 51, .12);
}
body.page .hp-legal-page a { color: #087eea; font-weight: 700; }
.hp-legal-eyebrow {
    margin-bottom: 10px !important;
    color: #087eea;
    font-size: .78rem;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
}
.hp-legal-updated { color: #66798a; font-size: .88rem; }

html[data-theme="dark"] body.page .hp-legal-page {
    border-color: rgba(154, 204, 224, .16);
    color: #c7d7dc;
    background: linear-gradient(145deg, #17242a 0%, #10191d 100%);
    box-shadow: 0 20px 54px rgba(0, 0, 0, .3);
}
html[data-theme="dark"] body.page .hp-legal-page h1,
html[data-theme="dark"] body.page .hp-legal-page h2 { color: #f1f7f8; }
html[data-theme="dark"] body.page .hp-legal-page hr { border-top-color: rgba(220, 239, 242, .15); }
html[data-theme="dark"] body.page .hp-legal-page a { color: #64c9f4; }
html[data-theme="dark"] .hp-legal-eyebrow { color: #65dcb8; }
html[data-theme="dark"] .hp-legal-updated { color: #9eb5be; }
@media (max-width: 700px) {
    body.page .hp-legal-page { width: calc(100vw - 28px); margin-top: 92px; border-radius: 20px; }
}
