/* Camada compartilhada: acervo, LGPD, acessibilidade e FABs. */

.av-brand,.db-brand,.mv-brand{display:inline-flex;align-items:center;flex-shrink:0;line-height:0;min-width:0}
.brand-logo{display:block;height:52px;width:auto;max-width:min(220px,48vw);object-fit:contain}
.brand-logo--on-dark{background:#fff;border-radius:10px;padding:6px 10px;height:58px;max-width:min(260px,70vw)}
.brand-logo--preview{height:28px;max-width:150px;background:#fff;border-radius:6px;padding:2px 6px}
@media(max-width:640px){
  .brand-logo{height:42px}
  .brand-logo--on-dark{height:46px}
}

.lgpd-consent{position:fixed;left:88px;right:88px;bottom:20px;z-index:1100;max-width:560px;margin:0 auto;opacity:0;transform:translateY(16px);pointer-events:none;transition:opacity .28s,transform .28s}
.lgpd-consent.is-on{opacity:1;transform:none;pointer-events:auto}
.lgpd-card{background:var(--lgpd-bg,#fff);color:var(--lgpd-ink,#1b2e2c);border:1px solid var(--lgpd-line,#dee8e5);border-radius:18px;padding:1.1rem 1.2rem;box-shadow:0 18px 50px rgba(0,0,0,.18)}
.lgpd-badge{font:600 .65rem/1 "IBM Plex Mono",monospace;letter-spacing:.14em;text-transform:uppercase;color:var(--lgpd-accent,#419a36)}
.lgpd-head h2{font-size:1.05rem;margin:.35rem 0 .4rem}
.lgpd-head p{font-size:.84rem;margin:0;opacity:.85}
.lgpd-head a{color:var(--lgpd-accent,#419a36);font-weight:600}
.lgpd-opts{display:grid;gap:.55rem;margin:1rem 0 .8rem}
.lgpd-opt{display:flex;align-items:center;justify-content:space-between;gap:.8rem;padding:.7rem .8rem;border:1px solid var(--lgpd-line,#dee8e5);border-radius:12px;font-size:.82rem}
.lgpd-opt small{display:block;opacity:.7}
.lgpd-opt--lock em{font-size:.72rem;font-style:normal;opacity:.6}
.lgpd-actions{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:flex-end}
.lgpd-btn{border:0;border-radius:999px;padding:.55rem 1rem;font-weight:700;cursor:pointer}
.lgpd-btn--ghost{background:transparent;border:1px solid var(--lgpd-line,#dee8e5);color:inherit}
.lgpd-btn--soft{background:transparent;color:inherit}
.lgpd-btn--ok{background:var(--lgpd-accent,#419a36);color:#fff}

.acervo-news-card,.acervo-doc{background:var(--card-bg,#fff);border:1px solid var(--line,#dee8e5);border-radius:16px;padding:1.1rem 1.15rem}
.acervo-news-card.is-feat{grid-column:1/-1}
.acervo-news-meta{display:flex;gap:.6rem;align-items:center;margin-bottom:.5rem;font-size:.75rem}
.acervo-chip{font:600 .62rem/1 "IBM Plex Mono",monospace;letter-spacing:.08em;text-transform:uppercase;background:var(--chip-bg,#e6eeec);padding:.25rem .5rem;border-radius:999px}
.acervo-news-card h3,.acervo-doc h3{font-size:1rem;margin:0 0 .35rem}
.acervo-news-card p,.acervo-doc p{margin:0;font-size:.86rem;opacity:.8}
.acervo-doc{display:flex;justify-content:space-between;gap:1rem;align-items:center}
.acervo-kicker{font:500 .68rem/1 "IBM Plex Mono",monospace;letter-spacing:.1em;text-transform:uppercase;opacity:.7}
.acervo-status{font-size:.72rem;font-weight:700;padding:.28rem .6rem;border-radius:999px}
.acervo-status--open{background:#dcfce7;color:#166534}
.acervo-status--soon{background:#fef9c3;color:#854d0e}
.acervo-status--closed{background:#e5e7eb;color:#374151}
.acervo-list{display:grid;gap:.8rem}
.acervo-news-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}
.acervo-tabs{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.2rem}
.acervo-tabs button,.filter-chip{font-family:inherit;font-weight:600;font-size:.82rem;padding:.45rem 1rem;border-radius:999px;border:1.5px solid var(--line,#dee8e5);background:var(--card-bg,#fff);color:inherit;cursor:pointer}
.acervo-tabs button.active,.acervo-tabs button.is-active,.filter-chip.active,.filter-chip.is-active{background:var(--lgpd-accent,#155761);border-color:var(--lgpd-accent,#155761);color:#fff}
.page-hero{padding:clamp(2.2rem,5vw,3.5rem) 0 1.2rem}
.page-hero h1{margin-bottom:.4rem}
.crumb{font-size:.8rem;opacity:.7;margin-bottom:.7rem}
.crumb a{color:inherit}

/* Acessibilidade */
.a11y-fab{position:fixed;left:20px;bottom:20px;z-index:1200;width:54px;height:54px;border-radius:50%;border:0;display:grid;place-items:center;color:#fff;font-size:1.72rem;cursor:pointer;background:var(--a11y-fab,var(--blue,#155761));box-shadow:0 10px 30px rgba(14,62,69,.18);transition:transform .25s,box-shadow .25s}
.a11y-fab:hover{transform:translateY(-3px) scale(1.05);color:#fff}
.a11y-fab:focus-visible{outline:3px solid #5fbe4e;outline-offset:3px}
.a11y-panel{position:fixed;left:20px;bottom:84px;z-index:1200;width:min(330px,calc(100vw - 40px));max-height:min(78vh,620px);overflow-y:auto;background:var(--a11y-panel,#fff);color:var(--a11y-ink,#1b2e2c);border:1px solid var(--line,#dee8e5);border-radius:20px;box-shadow:0 26px 70px rgba(14,62,69,.26);opacity:0;transform:translateY(16px) scale(.97);transform-origin:left bottom;transition:opacity .26s,transform .3s}
.a11y-panel.is-open{opacity:1;transform:none}
.a11y-panel[hidden]{display:none}
.a11y-head{position:sticky;top:0;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.85rem 1rem;background:var(--a11y-head,linear-gradient(135deg,#0e3e45,#155761));color:#fff;border-radius:20px 20px 0 0}
.a11y-title{font-weight:700;font-size:.98rem;display:inline-flex;align-items:center;gap:.5rem}
.a11y-close{width:30px;height:30px;border-radius:9px;border:0;background:rgba(255,255,255,.16);color:#fff;cursor:pointer;display:grid;place-items:center}
.a11y-body{padding:.85rem;display:flex;flex-direction:column;gap:.45rem}
.a11y-row{border:1px solid var(--line,#dee8e5);border-radius:14px;padding:.7rem .8rem;background:var(--card-bg,#fff)}
.a11y-font{display:flex;flex-direction:column;gap:.55rem}
.a11y-row-label{font-weight:600;font-size:.82rem;display:inline-flex;align-items:center;gap:.45rem}
.a11y-stepper{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:.5rem}
.a11y-step{border:1.5px solid var(--line,#dee8e5);background:#fff;color:var(--blue,#155761);border-radius:10px;padding:.4rem 0;font-weight:700;cursor:pointer}
.a11y-step:disabled{opacity:.4;cursor:not-allowed}
.a11y-font-val{font-family:"IBM Plex Mono",monospace;font-size:.8rem;min-width:3.2ch;text-align:center}
.a11y-toggle{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:.65rem;cursor:pointer;margin:0}
.a11y-row-ico{width:32px;height:32px;border-radius:9px;background:var(--chip-bg,#e6eeec);color:var(--blue,#155761);display:grid;place-items:center}
.a11y-row-txt b{display:block;font-size:.82rem}
.a11y-row-txt small{display:block;opacity:.7;font-size:.71rem;margin-top:.08rem}
.a11y-switch{appearance:none;-webkit-appearance:none;width:42px;height:24px;border-radius:999px;background:#cbd9d5;position:relative;cursor:pointer;flex:0 0 auto}
.a11y-switch::before{content:"";position:absolute;width:18px;height:18px;left:3px;top:3px;border-radius:50%;background:#fff;box-shadow:0 2px 6px rgba(14,62,69,.24);transition:transform .2s}
.a11y-switch:checked{background:linear-gradient(135deg,var(--blue,#155761),var(--cyan,#419a36))}
.a11y-switch:checked::before{transform:translateX(18px)}
.a11y-reset{margin:0 .85rem .85rem;width:calc(100% - 1.7rem);border:0;border-radius:999px;padding:.62rem 1rem;font-weight:600;font-size:.84rem;color:var(--blue,#155761);background:var(--chip-bg,#e6eeec);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:.45rem}

html.a11y-contrast{--paper:#000;--paper-2:#000;--ink:#fff;--slate:#fff;--muted:#eaeaea;--navy:#fff;--blue:#ffec3d;--cyan:#ffec3d;--line:#fff;--lgpd-bg:#000;--lgpd-ink:#fff;--card-bg:#000;--a11y-panel:#000}
html.a11y-contrast,html.a11y-contrast body{background:#000!important}
html.a11y-contrast *,html.a11y-contrast *::before,html.a11y-contrast *::after{background-color:transparent!important;background-image:none!important;box-shadow:none!important;border-color:#fff!important;color:#fff!important}
html.a11y-contrast a,html.a11y-contrast a *{color:#ffec3d!important;text-decoration:underline!important}
html.a11y-contrast .a11y-fab,.a11y-contrast .lgpd-btn--ok{background:#ffec3d!important;color:#000!important}
html.a11y-contrast .a11y-fab i{color:#000!important}
html.a11y-light{--paper:#fff;--paper-2:#f4f4f4;--ink:#111;--slate:#222;--muted:#333;--navy:#0a2a2f;--line:#c9c9c9;--lgpd-bg:#fff;--lgpd-ink:#111;--card-bg:#fff;--a11y-panel:#fff}
html.a11y-light body{background:#fff}
html.a11y-light header,html.a11y-light footer,html.a11y-light section,html.a11y-light [class*="hero"],html.a11y-light [class*="topbar"]{background-color:#fff!important}
html.a11y-light h1,html.a11y-light h2,html.a11y-light h3,html.a11y-light p,html.a11y-light li{color:#111!important}
html.a11y-readable{--font-d:Verdana,Tahoma,"Segoe UI",sans-serif;--font-b:Verdana,Tahoma,"Segoe UI",sans-serif}
html.a11y-readable body{letter-spacing:.02em;word-spacing:.06em;line-height:1.7}
html.a11y-links a:not(.btn):not(.a11y-fab):not(.fab){text-decoration:underline!important;text-decoration-thickness:2px!important;text-underline-offset:2px;background:rgba(255,205,0,.22);border-radius:3px;font-weight:600}

.float-stack{position:fixed;right:20px;bottom:20px;z-index:900;display:flex;flex-direction:column;gap:.7rem}
.fab{width:54px;height:54px;border-radius:50%;display:grid;place-items:center;color:#fff;font-size:1.4rem;box-shadow:0 10px 30px rgba(14,62,69,.18);cursor:pointer;transition:.25s;border:0;text-decoration:none}
.fab-wa{background:#25D366}
.fab-wa:hover{transform:scale(1.08) translateY(-2px);color:#fff}
.fab-top{background:var(--navy,#0e3e45);opacity:0;visibility:hidden;transform:translateY(10px);position:relative}
.fab-top.show{opacity:1;visibility:visible;transform:none}
.fab-top::before{content:"";position:absolute;inset:-4px;border-radius:50%;z-index:-1;background:conic-gradient(from -90deg,#5fbe4e calc(var(--sp,0)*1%),rgba(255,255,255,.16) 0);-webkit-mask:radial-gradient(farthest-side,#0000 calc(100% - 4px),#000 calc(100% - 3.5px));mask:radial-gradient(farthest-side,#0000 calc(100% - 4px),#000 calc(100% - 3.5px))}

@media(max-width:1100px){
  .acervo-news-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:720px){
  .acervo-news-grid{grid-template-columns:1fr}
  .acervo-doc{flex-direction:column;align-items:flex-start}
  .lgpd-consent{left:16px;right:16px;bottom:88px}
  .brand-logo{height:40px;max-width:min(168px,46vw)}
  .brand-logo--on-dark{height:44px}
}
@media(prefers-reduced-motion:reduce){
  .a11y-fab,.a11y-panel,.fab,.lgpd-consent{transition:none!important}
}
