:root { --s7-privacy-ink:#13283a; --s7-privacy-surface:#fffaf3; --s7-privacy-deep:#071626; --s7-privacy-gold:#efd394; }
:root[data-s7-brand="cidadania"] { --s7-privacy-ink:#310516; --s7-privacy-deep:#310516; }
:root[data-s7-brand="trabalhista"] { --s7-privacy-ink:#123e33; --s7-privacy-deep:#062e25; }
a[data-s7-privacy] { font-size:14px; line-height:1.5; text-decoration:underline; text-underline-offset:4px; display:inline-flex; align-items:center; min-height:44px; }
footer a[data-s7-privacy] { font:400 11px/1.5 Montserrat,Arial,sans-serif; color:inherit; text-decoration-thickness:1px; text-underline-offset:3px; }
.s7-privacy-dialog, .s7-privacy-page, .s7-notice { font-family:Montserrat,Arial,sans-serif; }
.s7-privacy-dialog *, .s7-privacy-page *, .s7-notice * { box-sizing:border-box; }
.s7-privacy-dialog { position:fixed; z-index:85; inset:auto 16px 88px auto; width:min(320px,calc(100vw - 24px)); max-width:320px; max-height:min(420px,54dvh); margin:0; padding:0; border:1px solid #cdb87c66; border-radius:10px; color:var(--s7-privacy-ink); background:rgb(255 250 243 / 80%); backdrop-filter:blur(6px); box-shadow:0 6px 20px #0002; overflow:auto; overscroll-behavior:contain; scrollbar-width:thin; }
.s7-privacy-dialog:not([open]) { display:none; }
.s7-privacy-close { display:block; position:sticky; z-index:1; top:0; margin:0 6px 0 auto; min-height:44px; padding:4px 8px; border:0; border-radius:4px; background:transparent; color:var(--s7-privacy-ink); font:400 11px/1.5 Montserrat,Arial,sans-serif; cursor:pointer; }
.s7-privacy-dialog-content { padding:0 14px 14px; }
#s7-privacy-content { line-height:1.75; font-size:15px; }
#s7-privacy-content h1 { font-size:clamp(25px,4vw,34px); line-height:1.2; letter-spacing:-.025em; margin:20px 0 16px; color:var(--s7-privacy-ink); }
#s7-privacy-content h2 { font-size:17px; line-height:1.4; margin:28px 0 10px; letter-spacing:0; color:var(--s7-privacy-ink); }
#s7-privacy-content p { margin:0 0 14px; max-width:none; color:var(--s7-privacy-ink); }
#s7-privacy-content a { color:var(--s7-privacy-ink); text-decoration:underline; text-underline-offset:3px; overflow-wrap:anywhere; }
#s7-privacy-content .s7-privacy-summary { font-size:16px; padding-bottom:20px; border-bottom:1px solid #dacdaf; }
#s7-privacy-content .s7-privacy-logo { width:240px; max-width:90%; height:auto; max-height:116px; object-fit:contain; object-position:left center; }
#s7-privacy-content .s7-privacy-updated { font-size:12px; margin-top:26px; color:#655c50; }
.s7-privacy-controls { margin:28px 0 12px; padding:16px; background:#ede5d633; border-left:2px solid #d8cdb7; }
.s7-privacy-controls h2 { margin-top:0!important; }
.s7-privacy-controls button { display:inline-flex; align-items:center; min-height:44px; padding:4px 2px; border:0; border-radius:2px; color:var(--s7-privacy-ink); background:transparent; font:500 13px/1.5 Montserrat,Arial,sans-serif; text-decoration:underline; text-underline-offset:4px; cursor:pointer; }
.s7-privacy-controls button[hidden] { display:none; }
.s7-privacy-dialog #s7-privacy-content, .s7-privacy-page #s7-privacy-content { font-size:12px; line-height:1.55; }
.s7-privacy-dialog #s7-privacy-content h1, .s7-privacy-page #s7-privacy-content h1 { font-size:14px; margin:8px 0; }
.s7-privacy-dialog #s7-privacy-content h2, .s7-privacy-page #s7-privacy-content h2 { font-size:12px; margin:12px 0 5px; }
.s7-privacy-dialog #s7-privacy-content p, .s7-privacy-page #s7-privacy-content p { font-size:12px; margin:0 0 8px; }
.s7-privacy-dialog #s7-privacy-content .s7-privacy-summary, .s7-privacy-page #s7-privacy-content .s7-privacy-summary { font-size:12px; padding-bottom:8px; }
.s7-privacy-dialog #s7-privacy-content .s7-privacy-logo, .s7-privacy-page #s7-privacy-content .s7-privacy-logo { width:104px; max-height:46px; }
.s7-privacy-dialog .s7-privacy-controls button, .s7-privacy-page .s7-privacy-controls button { font-size:12px; }
.s7-privacy-dialog .s7-privacy-controls { margin:14px 0 8px; padding:10px 0 0; background:transparent; border:0; border-top:1px solid #d8cdb7; }
.s7-privacy-dialog #s7-privacy-content .s7-privacy-updated { font-size:11px; margin-top:14px; }
.s7-privacy-dialog :focus-visible, .s7-privacy-page :focus-visible, .s7-notice :focus-visible { outline:3px solid #ab751f; outline-offset:4px; box-shadow:0 0 0 2px #fffaf3; }
.s7-notice { box-sizing:border-box; position:fixed; z-index:80; right:12px; bottom:16px; width:max-content; max-width:calc(100vw - 24px); min-height:44px; padding:0 44px 0 12px; border:1px solid #bda77155; border-radius:8px; color:#fffaf3; background:color-mix(in srgb,var(--s7-privacy-deep) 72%,transparent); backdrop-filter:blur(8px); box-shadow:0 4px 14px #0002; animation:s7-notice-arrive .2s ease-out both; }
.s7-notice[hidden] { display:none!important; }
.s7-notice { transition-property:none!important; }
.s7-notice.s7-notice-no-space { visibility:hidden; pointer-events:none; }
.s7-notice p { font-size:12px; line-height:44px; white-space:nowrap; color:inherit; margin:0; }
.s7-notice a[data-s7-privacy] { font-size:12px; color:#fff; }
.s7-notice-close { position:absolute; right:0; top:0; width:44px; height:44px; padding:0; color:#fffaf3; background:transparent; border:0; border-radius:8px; font:18px/1 Arial,sans-serif; cursor:pointer; }
.s7-privacy-diagnostic { position:fixed; z-index:90; left:12px; bottom:12px; max-width:calc(100vw - 24px); padding:8px 10px; border:1px solid #8b2525; border-radius:6px; color:#5c1010; background:#fff4f4; font:12px/1.4 ui-monospace,SFMono-Regular,Menlo,monospace; overflow-wrap:anywhere; }
@keyframes s7-notice-arrive { from { opacity:0; } to { opacity:1; } }
body.s7-privacy-page { margin:0; min-height:100vh; background:radial-gradient(ellipse at 80% 30%,#bb9f6555,transparent 65%),var(--s7-privacy-deep); color:var(--s7-privacy-surface); }
.s7-privacy-page-header { display:flex; align-items:center; justify-content:space-between; gap:20px; width:min(640px,calc(100% - 32px)); margin:0 auto; padding:16px 0; border-bottom:1px solid #d8cdb755; font-size:12px; }
.s7-privacy-page-header a { color:inherit; min-height:44px; display:inline-flex; align-items:center; }
.s7-privacy-page main { box-sizing:border-box; width:min(480px,calc(100% - 32px)); margin:24px auto 32px; padding:20px; border:1px solid #cdb87c66; border-radius:10px; color:var(--s7-privacy-ink); background:rgb(255 250 243 / 80%); backdrop-filter:blur(6px); }
.s7-privacy-page footer { width:min(640px,calc(100% - 32px)); margin:0 auto; padding:16px 0; border-top:1px solid #d8cdb755; font-size:11px; }
.s7-privacy-page footer a { color:inherit; }
@media (max-width:600px) { .s7-privacy-dialog { right:12px; bottom:88px; max-height:46dvh; } .s7-privacy-page main { margin-top:16px; padding:16px; } }
@media (prefers-reduced-motion:reduce) { .s7-notice { animation:none; } }
