/* Legisla — tema "Legislativo" (portado do gabarito Pirangi) */
*{box-sizing:border-box;margin:0}
:root{--azul-dk:#16263b;--bg:#f0f3f7;--card:#fff;--txt:#23344a;--txt2:#5f7185;--txt3:#8a99ab;--borda:#e3e9f0;--r:14px;--sombra:0 2px 10px rgba(20,35,60,.06);--sombra-h:0 10px 26px rgba(20,35,60,.14)}
html{scroll-behavior:smooth}
body{font-family:'Source Sans 3','Segoe UI',system-ui,sans-serif;background:var(--bg);background-image:radial-gradient(#dfe6ee 1px,transparent 1px);background-size:22px 22px;color:var(--txt);font-size:15.5px;line-height:1.6}
h1,h2,h3,h4,.f-tit{font-family:'Raleway',sans-serif;font-weight:800}
a{color:var(--p)}
/* ---- skip + barra de acessibilidade (govbar) ---- */
.skip{position:absolute;left:-9999px;top:0;background:var(--p);color:#fff;padding:10px 18px;z-index:999;border-radius:0 0 8px 0;text-decoration:none}
.skip:focus{left:0}
.abar{background:var(--azul-dk)}
.abar-in{max-width:1120px;margin:0 auto;padding:6px 20px;display:flex;gap:8px;justify-content:flex-end;align-items:center}
.abar button,.abar a{background:none;border:1px solid rgba(255,255,255,.22);color:#cfdcec;font-size:12px;font-weight:700;padding:4px 12px;border-radius:14px;cursor:pointer;text-decoration:none;font-family:inherit;transition:background .15s}
.abar button:hover,.abar a:hover{background:rgba(255,255,255,.14)}
/* ---- header ---- */
header.topo{background:var(--card);border-bottom:1px solid var(--borda)}
.topo-in{max-width:1120px;margin:0 auto;padding:20px;display:flex;align-items:center;gap:16px}
.brasao{width:64px;height:64px;border-radius:12px;background:var(--p);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:800;font-size:12px;flex:0 0 64px;overflow:hidden}
.brasao img{width:100%;height:100%;object-fit:contain}
.brasao-img{background:transparent;border-radius:0;width:auto;flex:0 0 auto}
.brasao-img img{height:100%;width:auto;object-fit:contain}
.t-tag{font-family:'Raleway';font-size:12.5px;color:var(--txt3);text-transform:uppercase;letter-spacing:.14em;font-weight:700}
.t-nome{font-family:'Raleway';font-size:30px;color:var(--p);line-height:1.1;font-weight:800;text-transform:uppercase}
.t-uf{font-family:'Raleway';font-size:12px;color:var(--s);text-transform:uppercase;letter-spacing:.2em;font-weight:800}
/* ---- nav ---- */
nav.menu{background:var(--p);border-bottom:4px solid var(--s);position:sticky;top:0;z-index:90}
.menu-in{max-width:1120px;margin:0 auto;padding:0 12px;display:flex;flex-wrap:wrap}
.menu a,.menu .drop>a{color:#fff;text-decoration:none;padding:15px 17px;font-family:'Raleway';font-weight:800;font-size:13.5px;text-transform:uppercase;letter-spacing:.03em;display:block}
.menu a:hover{background:rgba(255,255,255,.1)}
.drop{position:relative}
.drop .dd{display:none;position:absolute;top:100%;left:0;background:#fff;min-width:250px;box-shadow:var(--sombra-h);border-radius:0 0 12px 12px;z-index:99;padding:6px 0;border-top:3px solid var(--s)}
.drop:hover .dd,.drop:focus-within .dd{display:block}
.drop .dd a{color:var(--txt);padding:11px 18px;text-transform:none;letter-spacing:0;font-weight:600;font-size:14px}
.drop .dd a:hover{background:#fdf0ed;color:#e0533a;box-shadow:inset 3px 0 0 #e0533a}
/* ---- main / crumb / page header ---- */
main{max-width:1120px;margin:26px auto;padding:0 20px}
.crumb{font-size:13px;color:var(--txt3);margin-bottom:14px}
.crumb a{color:var(--s);text-decoration:none;font-weight:700}
.page-h{display:flex;align-items:center;gap:12px;margin-bottom:18px}
.page-h::before{content:'';width:6px;height:30px;background:var(--s);border-radius:3px}
.page-h h1,.page-h h2{font-size:27px;color:var(--p)}
/* ---- cartões / listas / docs / chips / badges (gramática do gabarito) ---- */
.cartao{background:var(--card);border-radius:var(--r);padding:26px;box-shadow:var(--sombra);margin-bottom:18px}
.cartao h2{color:var(--p);font-size:21px;margin-bottom:14px;display:flex;align-items:center;gap:10px}
.cartao h2::before{content:'';width:5px;height:22px;background:var(--s);border-radius:3px}
.cartao h3{color:var(--p);margin:18px 0 8px}
.lista a{display:flex;gap:12px;align-items:baseline;padding:12px 6px;border-bottom:1px solid #eef2f6;color:var(--txt);text-decoration:none;transition:background .12s}
.lista a:hover{background:#f7fafc;color:var(--p)}
.lista .d{color:var(--s);font-weight:800;font-size:13px;font-family:'Raleway';white-space:nowrap}
.chips{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:18px}
.chips a{padding:7px 17px;border-radius:20px;border:1.5px solid #cdd7e2;background:#fff;font-family:'Raleway';font-weight:800;font-size:13px;color:var(--p);text-decoration:none;transition:all .14s}
.chips a.on,.chips a:hover{background:var(--p);border-color:var(--p);color:#fff}
.doc{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;padding:12px 6px;border-bottom:1px solid #eef2f6}
.doc a{color:var(--p);font-weight:700;text-decoration:none}
.doc a:hover{color:var(--s)}
.badge{display:inline-block;background:var(--p);color:#fff;border-radius:7px;font-size:12px;font-weight:800;padding:3px 10px;font-family:'Raleway'}
.badge.enc{background:var(--txt3)}
table{width:100%;border-collapse:collapse}
th{text-align:left;color:var(--p);font-family:'Raleway';border-bottom:2px solid var(--p);padding:9px 6px}
td{padding:10px 6px;border-bottom:1px solid #eef2f6}
/* ---- home: grade + lateral ---- */
.home-grid{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:20px;align-items:start}
.n-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px}
.n-card{background:#fff;border-radius:12px;overflow:hidden;border:1px solid var(--borda);text-decoration:none;display:flex;flex-direction:column;transition:transform .15s,box-shadow .15s}
.n-card:hover{transform:translateY(-3px);box-shadow:var(--sombra-h)}
.n-thumb{aspect-ratio:16/9;background:linear-gradient(135deg,var(--p),var(--azul-dk)) center/cover no-repeat;position:relative}
.n-thumb .nd{position:absolute;left:10px;bottom:10px;background:var(--s);color:#fff;font-size:11.5px;font-weight:800;font-family:'Raleway';padding:3px 10px;border-radius:6px}
.n-tit{padding:12px 14px;font-weight:700;font-size:14.5px;color:var(--txt);line-height:1.4;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.btn{display:inline-block;background:var(--s);color:#fff;border:0;border-radius:10px;padding:12px 26px;font-family:'Raleway';font-weight:800;font-size:14px;text-decoration:none;cursor:pointer;transition:filter .15s}
.btn:hover{filter:brightness(1.08)}
.btn.azul{background:var(--p)}
/* lateral de serviços */
.svc{display:flex;flex-direction:column;gap:10px}
.svc a{display:flex;gap:12px;align-items:center;background:#fff;border:1px solid var(--borda);border-radius:12px;padding:13px 15px;text-decoration:none;color:var(--txt);transition:border-color .15s,box-shadow .15s}
.svc a:hover{border-color:var(--p);box-shadow:var(--sombra)}
.svc .ic{width:42px;height:42px;border-radius:10px;background:var(--p);color:#fff;display:flex;align-items:center;justify-content:center;font-size:19px;flex:0 0 42px}
.svc strong{display:block;font-family:'Raleway';font-size:14px;color:var(--p)}
.svc small{color:var(--txt3);font-size:12px}
.widget{background:#fff;border:1px solid var(--borda);border-radius:12px;overflow:hidden;margin-top:14px}
.widget .wh{background:var(--p);color:#fff;font-family:'Raleway';font-weight:800;font-size:13px;letter-spacing:.05em;padding:11px 16px}
.widget .wb{padding:14px 16px}
/* tv */
.tvc-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:14px}
.tvc{all:unset;cursor:pointer;background:#fff;border:1px solid var(--borda);border-radius:12px;overflow:hidden;display:block;transition:transform .15s,box-shadow .15s}
.tvc:hover{transform:translateY(-2px);box-shadow:var(--sombra-h)}
.tvc-th{position:relative;display:block;aspect-ratio:16/9;background:#0e1722 center/cover no-repeat}
.tvc-th b{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:#fff;font-size:30px;background:rgba(14,23,34,.3)}
.tvc-th i{position:absolute;right:7px;bottom:7px;background:rgba(0,0,0,.8);color:#fff;font-style:normal;font-size:11px;padding:2px 7px;border-radius:5px}
.tvc-tit{display:block;padding:10px 12px 2px;font-weight:600;font-size:13.5px;color:var(--txt)}
.tvc-dt{display:block;padding:0 12px 11px;color:var(--txt3);font-size:12px}
/* selos (radar / tcesp) */
.selos{display:flex;gap:14px;flex-wrap:wrap;margin:22px 0 6px}
.selo{display:flex;align-items:center;gap:14px;flex:1 1 340px;padding:14px 18px;border:1px solid var(--borda);border-radius:12px;background:#f8fafc;text-decoration:none;transition:border-color .15s,box-shadow .15s}
.selo:hover{border-color:var(--p);box-shadow:var(--sombra)}
.selo .ic{flex:0 0 42px;height:42px;color:var(--p)}
.selo b{display:block;color:var(--p);font-family:'Raleway';font-size:14.5px}
.selo small{color:var(--txt2);font-size:12.5px;line-height:1.45}
/* footer */
footer{background:var(--azul-dk);color:#b9c8da;margin-top:40px}
.foot-in{max-width:1120px;margin:0 auto;padding:36px 20px;display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:26px}
.foot-in h4{color:#fff;font-size:15px;margin-bottom:12px}
.foot-in a{color:#b9c8da;text-decoration:none;display:block;padding:4px 0;font-size:14px}
.foot-in a:hover{color:#fff}
.foot-bar{border-top:1px solid rgba(255,255,255,.12);text-align:center;padding:16px;font-size:13px;color:#8fa3b8}
/* contraste + responsivo */
html.contraste body{background:#000!important;background-image:none!important;color:#fff!important}
html.contraste .cartao,html.contraste header.topo,html.contraste .n-card,html.contraste .svc a,html.contraste .widget,html.contraste .selo,html.contraste .tvc{background:#0a0a0a!important;border-color:#444!important;color:#fff!important}
html.contraste h1,html.contraste h2,html.contraste h3,html.contraste p,html.contraste td,html.contraste th,html.contraste .lista a,html.contraste .n-tit,html.contraste .t-nome,html.contraste .svc strong{color:#fff!important}
html.contraste .lista a:hover,html.contraste .doc a{color:#ffd34d!important}
@media(max-width:980px){.home-grid{grid-template-columns:1fr}.t-nome{font-size:23px}.menu a,.menu .drop>a{padding:13px 13px;font-size:12.5px}}
/* ==== layout-01: barra utilitária com links ==== */
.abar-in{justify-content:space-between}
.abar-links{display:flex;gap:2px;flex-wrap:wrap}
.abar-links a{border:0;padding:4px 10px;border-radius:6px}
.abar-links a:hover{background:none;color:#fff;box-shadow:inset 0 -2px 0 #e0533a}
.abar-ac{display:flex;gap:8px;align-items:center}
/* ==== layout-01: busca no menu ==== */
.menu .busca-btn{margin-left:auto;background:var(--s);padding:15px 19px}
.menu .busca-btn:hover{filter:brightness(1.1);background:var(--s)}
/* ==== layout-01: banner em destaque ==== */
.hero{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:0;margin-bottom:30px;border-radius:var(--r);overflow:hidden;box-shadow:var(--sombra-h);background:#fff}
.hero-main{position:relative;aspect-ratio:16/8.4;background:#0e1722}
.hero-slide{position:absolute;inset:0;background:center/cover no-repeat;opacity:0;transition:opacity .5s;text-decoration:none;display:block}
.hero-slide.on{opacity:1;z-index:1}
.hero-grad{position:absolute;inset:0;background:linear-gradient(to top,rgba(10,18,28,.82) 0%,rgba(10,18,28,.1) 55%,transparent 100%)}
.hero-tag{position:absolute;left:22px;bottom:64px;background:var(--s);color:#fff;font-family:'Raleway';font-weight:800;font-size:12px;text-transform:uppercase;letter-spacing:.06em;padding:5px 14px;border-radius:6px;z-index:2}
.hero-tit{position:absolute;left:22px;right:22px;bottom:20px;color:#fff;font-family:'Raleway';font-weight:800;font-size:24px;line-height:1.25;z-index:2;text-shadow:0 2px 8px rgba(0,0,0,.4)}
.hero-dots{position:absolute;right:18px;bottom:20px;display:flex;gap:7px;z-index:3}
.hero-dots button{width:10px;height:10px;border-radius:50%;border:0;background:rgba(255,255,255,.45);cursor:pointer;padding:0}
.hero-dots button.on{background:var(--s)}
.hero-list{display:flex;flex-direction:column;border-left:1px solid var(--borda);min-width:0}
.hl-h{font-family:'Raleway';font-weight:800;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--txt3);padding:14px 16px 10px}
.hl-sc{overflow-y:auto;max-height:340px}
.hl-it{display:flex;gap:10px;align-items:center;width:100%;border:0;background:none;padding:10px 14px;cursor:pointer;text-align:left;border-top:1px solid #eef2f6;font:inherit}
.hl-it:hover{background:#f7fafc}
.hl-it.on{background:#eef4fb;box-shadow:inset 3px 0 0 var(--s)}
.hl-th{flex:0 0 64px;height:42px;border-radius:7px;background:#0e1722 center/cover no-repeat}
.hl-tx{min-width:0}
.hl-tx small{display:block;color:var(--txt3);font-size:11.5px}
.hl-tx b{display:block;color:var(--txt);font-size:13px;font-weight:700;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
/* ==== layout-01: seção com "ver todas" ==== */
.sec-h{justify-content:flex-start}
.sec-h .vt{margin-left:auto;color:var(--s);font-family:'Raleway';font-weight:800;font-size:13.5px;text-decoration:none}
.sec-h .vt:hover{text-decoration:underline}
.n-grid-3{grid-template-columns:repeat(auto-fill,minmax(210px,1fr))}
/* ==== layout-01: navegue no portal (acordeão) ==== */
.navg{padding:6px 0}
.navg details{border-bottom:1px solid #eef2f6}
.navg details:last-child{border-bottom:0}
.navg summary{cursor:pointer;list-style:none;font-weight:700;color:var(--txt);padding:11px 16px;display:flex;justify-content:space-between;align-items:center}
.navg summary::after{content:'▾';color:var(--txt3);font-size:12px;transition:transform .15s}
.navg details[open] summary::after{transform:rotate(180deg)}
.navg summary:hover{color:var(--p)}
.navg details a{display:block;padding:7px 16px 7px 26px;color:var(--txt2);text-decoration:none;font-size:14px}
.navg details a:hover{color:var(--p);background:#f7fafc}
/* ==== layout-01: contraste + responsivo ==== */
html.contraste .hero,html.contraste .hero-list,html.contraste .hl-it{background:#0a0a0a!important;border-color:#444!important}
html.contraste .hl-tx b,html.contraste .navg summary,html.contraste .navg details a{color:#fff!important}
@media(max-width:980px){.hero{grid-template-columns:1fr}.hero-list{display:none}.hero-tit{font-size:18px;bottom:16px}.hero-tag{bottom:52px}.abar-links{display:none}}
/* ==== layout-02: header com identidade + sociais ==== */
.topo-in{display:flex;align-items:center;justify-content:space-between;gap:20px}
.topo-id{display:flex;align-items:center;gap:18px}
.topo-soc{display:flex;gap:10px}
.topo-soc a{width:42px;height:42px;border:1px solid var(--borda);border-radius:10px;display:flex;align-items:center;justify-content:center;color:var(--p);font-weight:800;font-size:17px;text-decoration:none;transition:.15s}
.topo-soc a:hover{background:var(--p);color:#fff;border-color:var(--p)}
/* ==== layout-02: rodapé em 1 linha (5 colunas de menu) ==== */
footer .foot-in{display:grid;grid-template-columns:repeat(5,1fr);gap:26px}
.foot-bar{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px 24px;align-items:center}
.foot-bar .fb-addr{opacity:.8}
/* ==== layout-02: página de notícia ==== */
.art-tit{margin-bottom:6px}
.art-meta{display:flex;flex-wrap:wrap;gap:18px;color:var(--txt3);font-size:14px;margin-bottom:18px}
.art-capa{width:100%;max-height:460px;object-fit:cover;border-radius:var(--r);margin:0 0 22px;display:block}
.art-corpo{line-height:1.75;color:var(--txt)}
.art-corpo p{margin:0 0 14px}
.art-corpo img{max-width:100%;height:auto;border-radius:8px}
.art-corpo h1,.art-corpo h2,.art-corpo h3{margin:22px 0 10px;color:var(--p);font-family:'Raleway'}
.art-corpo table{width:100%;border-collapse:collapse;margin:14px 0}
.art-corpo td,.art-corpo th{border:1px solid var(--borda);padding:8px 10px}
.art-share{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:26px;padding-top:18px;border-top:1px solid var(--borda)}
.art-share>span{font-weight:700;color:var(--txt2);font-size:14px}
.sh{border:0;cursor:pointer;font:inherit;font-size:13.5px;font-weight:700;color:#fff;padding:9px 16px;border-radius:8px;text-decoration:none;display:inline-block}
.sh.wpp{background:#25d366}
.sh.fb{background:#1877f2}
.sh.cp{background:var(--txt2)}
.sh:hover{filter:brightness(1.08)}
.lista-mini a{padding:9px 0}
.lista-mini .d{font-size:12px}
/* ==== layout-02: contraste + responsivo ==== */
html.contraste .topo-soc a{background:#0a0a0a!important;color:#fff!important;border-color:#444!important}
html.contraste .art-corpo,html.contraste .art-corpo p{color:#fff!important}
@media(max-width:980px){footer .foot-in{grid-template-columns:repeat(2,1fr)}.topo-soc{display:none}.foot-bar{flex-direction:column;align-items:flex-start}}

/* ========================================================== */
/* layout-03 — REFINAMENTO INSTITUCIONAL (sobrescreve pontos) */
/* ========================================================== */

/* --- TOPO mais compacto e elegante --- */
.topo-in{padding-top:16px;padding-bottom:16px}
.brasao,.brasao-img{height:80px}
.topo-id{gap:13px}
.t-tag{font-size:12px;letter-spacing:.15em;font-weight:700}
.t-nome{font-size:33px;line-height:1.02;letter-spacing:.03em}
.t-uf{font-size:12px;letter-spacing:.22em}

/* --- BUSCA institucional (SVG, sóbria, sem laranja chapado) --- */
.menu-in{position:relative}
.menu .busca-btn{margin-left:auto;background:rgba(255,255,255,.10);padding:0;width:46px;align-self:stretch;display:flex;align-items:center;justify-content:center;border-left:1px solid rgba(255,255,255,.14)}
.menu .busca-btn:hover{background:rgba(255,255,255,.20)}
.menu .busca-btn svg{width:19px;height:19px;color:#fff}

/* --- SOCIAIS no topo (discretos, SVG) --- */
.topo-soc a{width:38px;height:38px;border-radius:9px}
.topo-soc a svg{width:18px;height:18px}

/* --- ÍCONES de serviço: SVG linha, fundo suave (fim do emoji) --- */
.svc a{padding:12px 14px;border-radius:11px;gap:13px}
.svc .ic{width:44px;height:44px;flex:0 0 44px;border-radius:10px;background:color-mix(in srgb,var(--p) 8%,#fff);color:var(--p);border:1px solid color-mix(in srgb,var(--p) 16%,#fff)}
.svc .ic svg{width:23px;height:23px}
.svc a:hover .ic{background:var(--p);color:#fff;border-color:var(--p)}
.svc strong{font-size:14.5px}
.svc small{font-size:12px}

/* --- Chamada institucional da TV (substitui o bloco de vídeos) --- */
.tv-call{display:flex;align-items:center;gap:13px;background:linear-gradient(135deg,var(--p),var(--azul-dk));color:#fff;border-radius:12px;padding:15px 16px;text-decoration:none;margin-top:14px;transition:filter .15s}
.tv-call:hover{filter:brightness(1.08)}
.tv-call .tv-ic{width:44px;height:44px;flex:0 0 44px;border-radius:10px;background:rgba(255,255,255,.14);display:flex;align-items:center;justify-content:center}
.tv-call .tv-ic svg{width:24px;height:24px;color:#fff}
.tv-call strong{display:block;font-family:'Raleway';font-size:15px}
.tv-call small{display:block;color:rgba(255,255,255,.82);font-size:12.5px;margin-top:1px}

/* --- HOME mais densa: reduzir gaps e altura de cartões --- */
.home-grid{gap:24px}
.hero{margin-bottom:24px}
.cartao{padding:22px}
.cartao-lista{padding:4px 20px}
.sec-mt{margin-top:22px}
.page-h h2{font-size:21px}
.lista a{padding:11px 4px}
.n-grid-3{gap:16px}

/* --- RODAPÉ: barra final centralizada --- */
.foot-bar-c{flex-direction:column;justify-content:center;text-align:center;gap:6px;line-height:1.7}
.foot-bar-c .fb-addr{opacity:.78;font-size:13px}
.foot-bar-c .fb-links{display:inline-flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:0 7px}
.foot-bar-c .sep{opacity:.5}

/* --- contraste p/ novos elementos --- */
html.contraste .svc .ic{background:#0a0a0a!important;color:#fff!important;border-color:#444!important}
html.contraste .tv-call{background:#0a0a0a!important;border:1px solid #444!important}

/* --- responsivo --- */
@media(max-width:980px){.t-nome{font-size:21px}.menu .busca-btn{width:42px}}

/* ========================================================== */
/* layout-04 — ACABAMENTO FINO                                */
/* ========================================================== */

/* --- TOPO: superfície branca sólida, sem o pontilhado do body vazando --- */
header.topo{position:relative;z-index:2;background:#fff}
header.topo::before{content:"";position:absolute;inset:0;background:#fff;z-index:-1}
.abar{position:relative;z-index:3}
.brasao,.brasao-img{background:transparent}

/* --- ÚLTIMAS NOTÍCIAS: tipografia editorial refinada --- */
.lista a{align-items:center;gap:16px;padding:13px 6px}
.lista .d{
  color:var(--txt3);
  font-family:'Source Sans 3',sans-serif;
  font-weight:600;
  font-size:12.5px;
  letter-spacing:.01em;
  font-variant-numeric:tabular-nums;
  white-space:nowrap;
  min-width:84px;
}
.lista a>span:last-child{
  font-family:'Source Sans 3',sans-serif;
  font-weight:600;
  font-size:15px;
  color:var(--txt);
  line-height:1.45;
}
.lista a:hover>span:last-child{color:var(--p)}
.lista a:hover .d{color:var(--s)}

/* --- ENQUETE --- */
.enquete .wb{padding:16px}
.enq-q{font-family:'Raleway';font-weight:800;font-size:15px;color:var(--txt);line-height:1.35;margin:0 0 14px}
.enq-msg{background:color-mix(in srgb,var(--s) 12%,#fff);border:1px solid color-mix(in srgb,var(--s) 30%,#fff);color:var(--txt);font-size:13px;padding:8px 11px;border-radius:8px;margin:0 0 12px}
.enq-form{display:flex;flex-direction:column;gap:8px}
.enq-opt{text-align:left;background:#fff;border:1.5px solid var(--borda);border-radius:9px;padding:11px 14px;font:inherit;font-size:14px;font-weight:600;color:var(--txt);cursor:pointer;transition:all .14s}
.enq-opt:hover{border-color:var(--p);background:color-mix(in srgb,var(--p) 5%,#fff);color:var(--p)}
.enq-res{display:flex;flex-direction:column;gap:11px}
.enq-row{display:flex;flex-direction:column;gap:5px}
.enq-lab{display:flex;justify-content:space-between;align-items:baseline;font-size:13.5px}
.enq-lab span{color:var(--txt2);font-weight:600}
.enq-lab b{color:var(--p);font-family:'Raleway';font-weight:800;font-size:13.5px}
.enq-bar{height:7px;background:#eef2f6;border-radius:5px;overflow:hidden}
.enq-bar span{display:block;height:100%;background:linear-gradient(90deg,var(--s),color-mix(in srgb,var(--s) 70%,#fff));border-radius:5px;transition:width .5s ease}
.enq-tot{text-align:center;color:var(--txt3);font-size:12px;margin:13px 0 0}

/* --- contraste enquete --- */
html.contraste .enq-opt{background:#0a0a0a!important;color:#fff!important;border-color:#444!important}
html.contraste .enq-bar{background:#333!important}

/* ========================================================== */
/* layout-05 — correcoes pontuais                             */
/* ========================================================== */

/* --- BRASAO: fundo branco no proprio elemento (resolve janelas
   transparentes internas e externas, independente de cache/body) --- */
.brasao-img{background:#fff !important}

/* --- LINKS do rodape / barra final: cor visivel inclusive apos clique --- */
.foot-bar-c a,
.foot-bar-c a:visited{color:#cfe0f2;text-decoration:none;border-bottom:1px solid transparent}
.foot-bar-c a:hover,
.foot-bar-c a:focus{color:#fff;border-bottom-color:rgba(255,255,255,.5)}
.foot-bar-c .sep{color:#7f93a8;opacity:1}

/* garante visibilidade tambem nos links das colunas apos visita */
.foot-in a:visited{color:#b9c8da}

/* ========================================================== */
/* layout-06 — LISTAGEM DE NOTICIAS + PAGINACAO               */
/* ========================================================== */

/* topo da pagina: breadcrumb + voltar na mesma linha */
.page-top{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:6px}
.btn-voltar{background:#fff;border:1px solid var(--borda);border-radius:9px;padding:7px 16px;font-family:'Raleway';font-weight:800;font-size:13px;color:var(--p);text-decoration:none;white-space:nowrap;transition:.15s}
.btn-voltar:hover{border-color:var(--p);box-shadow:var(--sombra)}

/* busca da secao */
.busca-bar{display:flex;align-items:center;gap:8px;margin:14px 0 6px;max-width:480px}
.busca-bar input{flex:1;border:1.5px solid var(--borda);border-radius:10px;padding:11px 14px;font:inherit;font-size:15px;color:var(--txt);background:#fff}
.busca-bar input:focus{outline:none;border-color:var(--p);box-shadow:0 0 0 3px color-mix(in srgb,var(--p) 12%,transparent)}
.busca-bar button{flex:0 0 auto;width:46px;height:46px;border:0;border-radius:10px;background:var(--p);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center}
.busca-bar button:hover{filter:brightness(1.1)}
.busca-bar button svg{width:19px;height:19px}
.busca-limpa{color:var(--txt3);font-size:13px;text-decoration:none;white-space:nowrap}
.busca-limpa:hover{color:var(--s)}
.busca-info{color:var(--txt2);font-size:14px;margin:4px 0 14px}

/* card da listagem: data FORA da foto (estilo PHP) */
.n-grid-lista{margin-top:8px}
.n-grid-lista .n-card-body{padding:13px 15px;display:flex;flex-direction:column;gap:5px}
.n-grid-lista .n-data{color:var(--s);font-family:'Raleway';font-weight:800;font-size:12.5px}
.n-grid-lista .n-tit{padding:0;font-size:15px}

/* paginacao elegante (quadradinhos) */
.pag-wrap{margin-top:26px;display:flex;justify-content:center}
.pag{display:flex;flex-wrap:wrap;gap:7px;align-items:center}
.pag-i{min-width:40px;height:40px;padding:0 11px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--borda);border-radius:9px;background:#fff;color:var(--txt);font-family:'Raleway';font-weight:800;font-size:14px;text-decoration:none;transition:.14s;line-height:1}
.pag-i:hover{border-color:var(--p);color:var(--p)}
.pag-on{background:var(--s);border-color:var(--s);color:#fff}
.pag-on:hover{color:#fff}
.pag-dis{opacity:.4;cursor:default}
.pag-dots{border:0;background:none;min-width:auto;padding:0 4px}

/* contraste */
html.contraste .btn-voltar,html.contraste .busca-bar input,html.contraste .pag-i{background:#0a0a0a!important;color:#fff!important;border-color:#444!important}

@media(max-width:980px){.page-top{flex-direction:column;align-items:flex-start;gap:8px}}

/* layout-07: breadcrumb refinado (padrao do portal) */
.crumb{font-family:'Raleway';font-size:12.5px;font-weight:700;letter-spacing:.02em;color:var(--txt3);text-transform:uppercase;margin-bottom:14px}
.crumb a{color:var(--p);text-decoration:none;font-weight:800}
.crumb a:hover{color:var(--s)}
/* layout-07: listagem de noticias 3 por linha */
.n-grid-noticias{grid-template-columns:repeat(3,1fr)}
@media(max-width:860px){.n-grid-noticias{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.n-grid-noticias{grid-template-columns:1fr}}

/* ========================================================== */
/* layout-08 — NOTICIA INDIVIDUAL LIMPA                       */
/* ========================================================== */

/* artigo em largura de leitura confortavel (sem sidebar) */
.artigo{max-width:840px;margin:0 auto}
.artigo .art-tit{font-size:30px;line-height:1.2;margin-bottom:8px}
.artigo .art-meta{display:flex;flex-wrap:wrap;gap:18px;color:var(--txt3);font-size:13.5px;margin-bottom:20px;align-items:center}
.artigo .art-meta span{display:inline-flex;align-items:center;gap:6px}
.artigo .art-meta svg{width:16px;height:16px}

/* compartilhar discreto: botoes redondos com icone da plataforma */
.art-rodape{margin-top:28px;padding-top:20px;border-top:1px solid var(--borda);display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px}
.art-share{display:flex;align-items:center;gap:10px}
.sh-lbl{font-size:13.5px;color:var(--txt2);font-weight:600}
.sh2{width:38px;height:38px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--borda);background:#fff;color:var(--txt2);cursor:pointer;text-decoration:none;transition:.15s;padding:0}
.sh2 svg{width:18px;height:18px}
.sh2.wpp:hover{background:#25d366;border-color:#25d366;color:#fff}
.sh2.fb:hover{background:#1877f2;border-color:#1877f2;color:#fff}
.sh2.cp:hover{background:var(--p);border-color:var(--p);color:#fff}
.sh2.cp.ok{background:#107c10;border-color:#107c10;color:#fff}

/* botao voltar elegante (sobrio, nao bloco laranja) */
.btn-voltar2{background:#fff;border:1px solid var(--borda);border-radius:9px;padding:9px 18px;font-family:'Raleway';font-weight:800;font-size:13.5px;color:var(--p);text-decoration:none;transition:.15s;white-space:nowrap}
.btn-voltar2:hover{border-color:var(--p);box-shadow:var(--sombra);color:var(--p)}

html.contraste .sh2,html.contraste .btn-voltar2{background:#0a0a0a!important;color:#fff!important;border-color:#444!important}

@media(max-width:680px){.art-rodape{flex-direction:column;align-items:flex-start}}

/* botao "ver mais / todas" — outline azul que preenche no hover */
.btn-ver-mais{display:inline-flex;align-items:center;gap:8px;background:#fff;border:1.5px solid var(--p);color:var(--p);font-family:'Raleway';font-weight:800;font-size:14px;padding:11px 24px;border-radius:10px;text-decoration:none;cursor:pointer;transition:.15s}
.btn-ver-mais:hover{background:var(--p);color:#fff}
.btn-ver-mais svg{width:17px;height:17px}
html.contraste .btn-ver-mais{background:#0a0a0a!important;color:#fff!important;border-color:#fff!important}

/* ============================================================
   MENU MOBILE (hamburguer) — adicionado em 2026-06
   Mantem o menu desktop intacto; ativa so em telas estreitas.
   ============================================================ */
.menu-burger{display:none;background:transparent;border:0;cursor:pointer;padding:14px 16px;margin-left:auto;align-self:stretch}
.menu-burger span{display:block;width:24px;height:2.5px;background:#fff;border-radius:2px;margin:5px 0;transition:.25s}
.menu.aberto .menu-burger span:nth-child(1){transform:translateY(7.5px) rotate(45deg)}
.menu.aberto .menu-burger span:nth-child(2){opacity:0}
.menu.aberto .menu-burger span:nth-child(3){transform:translateY(-7.5px) rotate(-45deg)}

@media(max-width:860px){
  .menu-in{flex-direction:column;align-items:stretch;padding:0}
  .menu-burger{display:block;position:absolute;top:0;right:0}
  /* esconde os itens ate abrir */
  .menu-in > a:not(.menu-burger), .menu-in > .drop{display:none}
  .menu.aberto .menu-in > a:not(.menu-burger), .menu.aberto .menu-in > .drop{display:block}
  /* primeira linha: so reserva altura para o burger */
  .menu-in{min-height:50px}
  .menu .menu-burger{display:block!important}
  /* links em coluna, separados, na cor do site */
  .menu a, .menu .drop>a{padding:14px 18px;border-top:1px solid rgba(255,255,255,.12);font-size:13.5px}
  /* dropdown no mobile: abre por classe .open (clique), nao por hover */
  .drop .dd{position:static;display:none;box-shadow:none;border-radius:0;border-top:0;background:rgba(0,0,0,.12);min-width:0;padding:0}
  .drop:hover .dd, .drop:focus-within .dd{display:none}      /* desliga hover no mobile */
  .drop.open .dd{display:block}
  .drop .dd a{color:#fff;padding:12px 30px;border-top:1px solid rgba(255,255,255,.08)}
  .drop .dd a:hover{background:rgba(255,255,255,.10);color:#fff}
  /* botao de busca volta a ser um item normal no fim */
  .menu .busca-btn{margin-left:0;width:auto!important;justify-content:flex-start;padding:14px 18px!important;border-left:0;align-self:stretch;border-top:1px solid rgba(255,255,255,.12)}
  .menu .busca-btn svg{width:18px;height:18px}
}

/* Forca tema claro - impede dark mode automatico do navegador */
:root{color-scheme:light}
html,body{background:#f4f6f9}

/* ============================================================
   BLINDAGEM CONTRA DARK MODE FORCADO (Chrome Auto Dark Mode)
   Reafirma a paleta clara do site mesmo quando o navegador
   tenta inverter as cores. Mantem o tema original azul/coral.
   ============================================================ */
@media (prefers-color-scheme: dark) {
  html, body {
    background: #f4f6f9 !important;
    color: #2b3440 !important;
  }
  .abar { background: #1f3d63 !important; }
  header.topo, .topo { background: #ffffff !important; }
  .t-nome { color: #1f3d63 !important; }
  .t-tag, .t-uf { color: #5f7185 !important; }
  nav.menu, .menu { background: #1f3d63 !important; }
  .menu a, .menu .drop > a { color: #ffffff !important; }
  .drop .dd { background: #ffffff !important; }
  .drop .dd a { color: #2b3440 !important; }
  .cartao, .es-box, .es-card, .es-mini, .inf-card, .ct-card,
  .at-card, main, #conteudo {
    background: #ffffff !important;
    color: #2b3440 !important;
  }
  main, #conteudo { background: #f4f6f9 !important; }
  h1, h2, h3, h4 { color: #1f3d63 !important; }
  footer { background: #1f3d63 !important; color: #ffffff !important; }
  footer a, footer h4 { color: #ffffff !important; }
  /* inputs e textareas claros */
  input, textarea, select, .fi {
    background: #ffffff !important;
    color: #2b3440 !important;
  }
  /* preserva os botoes coral/azul */
  .f-btn, .es-cta .sec { background: #e0533a !important; color: #fff !important; }
  .es-cta .pri { background: #1f3d63 !important; color: #fff !important; }
}

/* Galeria de imagens nas noticias */
.art-galeria{margin:28px 0 8px}
.art-galeria-tit{font-size:1.05rem;margin:0 0 12px;color:#1f3d63;font-weight:700}
.art-galeria-grade{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px}
.art-galeria-item{margin:0}
.art-galeria-item a{display:block;border-radius:10px;overflow:hidden;box-shadow:0 1px 4px rgba(0,0,0,.12)}
.art-galeria-item img{width:100%;height:140px;object-fit:cover;display:block;transition:transform .25s}
.art-galeria-item a:hover img{transform:scale(1.05)}
.art-galeria-item figcaption{font-size:.8rem;color:#555;margin-top:5px;text-align:center}

/* layout-09 — acessibilidade: contraste (WCAG AA) */
:root{ --txt3:#5f6f82; }

/* ============================================================
   PATCH 02 — ACESSIBILIDADE: CONTRASTE (rodada 2) + ÁREAS DE TOQUE
   Câmara Municipal de Pirangi — site v3 (Laravel/Filament)
   ------------------------------------------------------------
   COMO APLICAR:
     Cole TODO este bloco no FINAL do css/tema.css (depois do
     layout-09 do Patch 01). Por vir depois, sobrescreve.

   REVERSÃO:
     Apague este bloco inteiro. Nada mais é afetado.

   O QUE RESOLVE (itens do PageSpeed):
     CONTRASTE:
       .hero-tag  ("PRINCIPAL")   branco sobre coral 12px  -> fundo escurecido
       .nd        (datas carrossel) branco sobre coral 11px -> fundo escurecido
       .vt        ("Ver todas")    coral sobre branco       -> coral reforçado
       .fb-addr   (endereço rodapé) texto apagado no navy   -> clareado
     ÁREAS DE TOQUE (mín. 24x24 px + espaçamento):
       .hero-dots button  (10x10 -> 24x24, alvo de 44px)
       .abar button/.abar a (govbar do topo) -> altura de toque maior

   NÃO toca lógica, rota, JS ou banco. Só CSS.
   ============================================================ */

/* ------------------------------------------------------------
   layout-10a — CONTRASTE: selos pequenos com texto branco
   Em fonte pequena (<14px), branco precisa de fundo >= ~#b03e22
   para cravar 4.5:1. Escurece SÓ estes selos; o coral --s da
   marca continua intacto em botões grandes, bordas e ícones.
   ------------------------------------------------------------ */
.hero-tag,
.n-thumb .nd,
.n-grid-lista .n-data{
  background:#a83a20;      /* branco sobre este tom = ~5,2:1 (AA ok) */
}

/* "Ver todas →" e datas em coral sobre branco: reforça p/ AA pleno */
.sec-h .vt,
.lista .d,
.lista a:hover .d,
.tvc-todas:hover,
.busca-limpa:hover{
  color:#b8431f;           /* coral sobre branco = ~5,0:1 */
}

/* Endereço do rodapé: estava apagado demais sobre o navy */
.foot-bar-c .fb-addr,
.foot-bar .fb-addr{
  opacity:1;
  color:#cdd9e6;           /* sobre o navy --azul-dk = ~7:1 */
}

/* ------------------------------------------------------------
   layout-10b — ÁREAS DE TOQUE: dots do carrossel
   Visual continua um pontinho (10px), mas o ALVO clicável
   passa a 44x44 via padding transparente + box-shadow no miolo.
   ------------------------------------------------------------ */
.hero-dots{
  gap:4px;                 /* o alvo maior já garante separação */
}
.hero-dots button{
  width:24px;              /* mínimo do Lighthouse */
  height:24px;
  background:transparent;  /* o "pontinho" vira o miolo via inset shadow */
  box-shadow:inset 0 0 0 5px rgba(255,255,255,.45);
  border-radius:50%;
  position:relative;
}
.hero-dots button.on{
  background:transparent;
  box-shadow:inset 0 0 0 5px var(--s);
}

/* ------------------------------------------------------------
   layout-10c — ÁREAS DE TOQUE: barra de acessibilidade (govbar)
   Botões/links de A+ A- Contraste etc. ganham altura de toque.
   ------------------------------------------------------------ */
.abar button,
.abar a{
  min-height:32px;
  display:inline-flex;
  align-items:center;
  padding:6px 14px;
}
.abar-links a{
  min-height:32px;
  display:inline-flex;
  align-items:center;
}

/* ------------------------------------------------------------
   layout-10d — contraste no modo alto-contraste (mantém coerência)
   ------------------------------------------------------------ */
html.contraste .hero-tag,
html.contraste .n-thumb .nd,
html.contraste .n-grid-lista .n-data{
  background:#000!important;
  box-shadow:inset 0 0 0 1px #fff;
}

/* ============================================================
   PATCH 03b (layout-11) — RODAPÉ h3 + DOTS DO CARROSSEL
   Câmara Municipal de Pirangi — site v3 (Laravel/Filament)
   ------------------------------------------------------------
   COMO APLICAR:
     Cole TODO este bloco no FINAL do css/tema.css (depois do
     layout-10 do Patch 02). Por vir depois, sobrescreve.

   REVERSÃO:
     Apague este bloco inteiro. Nada mais é afetado.

   O QUE FAZ:
     1) Mantém os títulos das colunas do rodapé idênticos depois
        da troca <h4> -> <h3> (Patch 03). O seletor antigo era
        .foot-in h4; aqui replicamos para .foot-in h3.
     2) Substitui o "anel vazado" dos dots do carrossel por um
        PONTINHO SÓLIDO pequeno (via ::before) com a ÁREA DE
        TOQUE de 24x24 (alvo do Lighthouse) invisível ao redor.
        Visual limpo como o original; acessível como o critério.

   Só CSS. Não toca lógica, rota, JS ou banco.
   ============================================================ */

/* ------------------------------------------------------------
   layout-11a — RODAPÉ: replica o estilo do antigo .foot-in h4
   para .foot-in h3 (mesmo tamanho, cor e espaçamento)
   ------------------------------------------------------------ */
.foot-in h3{
  color:#fff;
  font-size:15px;
  margin-bottom:12px;
  font-family:'Raleway',sans-serif;
  font-weight:800;
}

/* ------------------------------------------------------------
   layout-11b — DOTS: pontinho sólido + alvo de toque (44px)
   Zera o inset-shadow do Patch 02 e usa ::before como o dot.
   ------------------------------------------------------------ */
.hero-dots{
  gap:2px;                 /* alvos grandes já separam o suficiente */
}
.hero-dots button{
  width:24px;              /* área de toque (>= 24 do Lighthouse) */
  height:24px;
  min-width:24px;
  min-height:24px;
  background:transparent;
  box-shadow:none;         /* remove o anel vazado do Patch 02 */
  border:0;
  padding:0;
  border-radius:50%;
  position:relative;
  cursor:pointer;
  -webkit-tap-highlight-color:transparent;
}
/* o pontinho visível, sólido, centralizado */
.hero-dots button::before{
  content:'';
  position:absolute;
  top:50%;
  left:50%;
  width:9px;
  height:9px;
  transform:translate(-50%,-50%);
  border-radius:50%;
  background:rgba(255,255,255,.55);
  transition:background .15s, transform .15s;
}
.hero-dots button:hover::before{
  background:rgba(255,255,255,.85);
}
.hero-dots button.on::before{
  background:var(--s);     /* ativo em coral, sólido */
  transform:translate(-50%,-50%) scale(1.15);
}

/* contraste: dots no modo alto-contraste */
html.contraste .hero-dots button::before{ background:#fff; }
html.contraste .hero-dots button.on::before{ background:#ffd34d; }

/* ============================================================

/* ============================================================
   FIX n-data (layout-12) — tarja da data na listagem de Noticias
   A data herdava fundo #a83a20 (linha 529) mas continuava com texto
   coral (linha 348) e sem padding/largura -> coral sobre vermelho,
   esticada na largura do card. Alinha ao padrao de .nd / .hero-tag:
   branco sobre vermelho (AA ~5,2:1), tarja compacta a esquerda.
   ============================================================ */
.n-grid-lista .n-data{
  color:#fff;
  align-self:flex-start;
  padding:3px 10px;
  border-radius:6px;
  letter-spacing:.02em;
}

/* ============================================================
   FIX rodape mobile (layout-13) — titulos das colunas (.foot-in h3)
   Os <h3> existem e o CSS define #fff, mas no mobile sumiam (apareciam
   so no modo Contraste). Blindagem da cor independente do estado da
   fonte, igual ja existe para footer h4 (!important).
   ============================================================ */
footer .foot-in h3{
  color:#fff!important;
}

/* layout-14 — reserva largura do brasão p/ matar CLS (header) */
.brasao-img{width:104px;flex:0 0 104px}

/* layout-15 — img LCP do 1º slide do hero (P2 carrossel WebP) */
.hero-slide .hero-lcp{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}

/* layout-16 — bloco de Documentos anexos na matéria */
.art-docs{margin:28px 0}
.art-docs-tit{font-family:'Raleway';font-weight:800;font-size:18px;margin:0 0 12px;color:var(--p)}
.art-docs-lista{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
.art-docs-item a{display:flex;align-items:center;gap:14px;padding:14px 16px;border:1px solid var(--borda);border-radius:var(--r);text-decoration:none;background:#fff;transition:border-color .15s,box-shadow .15s}
.art-docs-item a:hover{border-color:var(--s);box-shadow:var(--sombra-h)}
.art-docs-ico{flex:0 0 28px;color:var(--s)}
.art-docs-ico svg{width:28px;height:28px;display:block}
.art-docs-nome{flex:1;color:var(--txt);font-weight:600;font-size:15px}
.art-docs-baixar{flex:0 0 auto;background:var(--s);color:#fff;font-family:'Raleway';font-weight:700;font-size:12px;text-transform:uppercase;letter-spacing:.04em;padding:6px 14px;border-radius:6px}
html.contraste .art-docs-item a{background:#0a0a0a;border-color:#444}
html.contraste .art-docs-nome{color:#fff}
@media(max-width:680px){.art-docs-baixar{display:none}}

/* layout-16 — bloco de Documentos anexos na matéria */
.art-docs{margin:28px 0}
.art-docs-tit{font-family:'Raleway';font-weight:800;font-size:18px;margin:0 0 12px;color:var(--p)}
.art-docs-lista{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
.art-docs-item a{display:flex;align-items:center;gap:14px;padding:14px 16px;border:1px solid var(--borda);border-radius:var(--r);text-decoration:none;background:#fff;transition:border-color .15s,box-shadow .15s}
.art-docs-item a:hover{border-color:var(--s);box-shadow:var(--sombra-h)}
.art-docs-ico{flex:0 0 28px;color:var(--s)}
.art-docs-ico svg{width:28px;height:28px;display:block}
.art-docs-nome{flex:1;color:var(--txt);font-weight:600;font-size:15px}
.art-docs-baixar{flex:0 0 auto;background:var(--s);color:#fff;font-family:'Raleway';font-weight:700;font-size:12px;text-transform:uppercase;letter-spacing:.04em;padding:6px 14px;border-radius:6px}
html.contraste .art-docs-item a{background:#0a0a0a;border-color:#444}
html.contraste .art-docs-nome{color:#fff}
@media(max-width:680px){.art-docs-baixar{display:none}}

/* layout-17 — suavização da redução nos cards de destaque (background cover) */
.n-thumb{
  image-rendering:auto;
  -webkit-backface-visibility:hidden;
  backface-visibility:hidden;
  transform:translateZ(0);
}

/* layout-18 — tipografia do corpo da notícia: neutraliza colagem (Word/PDF) + leitura acima da média */
.art-corpo{font-size:17px;line-height:1.8;max-width:680px;color:var(--txt)}
/* neutraliza estilos inline colados (fontes Calibri/Times, tamanhos, cores e fundos do Word) */
.art-corpo, .art-corpo *{
  font-family:'Source Sans 3','Segoe UI',system-ui,sans-serif !important;
  background-color:transparent !important;
}
.art-corpo [style*="font-size"]{font-size:inherit !important}
.art-corpo span, .art-corpo font{color:inherit !important}
/* parágrafos */
.art-corpo p{margin:0 0 18px;font-size:17px;line-height:1.8}
.art-corpo p:empty{display:none}
/* títulos internos — hierarquia Raleway */
.art-corpo h2{font-size:24px;margin:32px 0 12px;color:var(--p);font-family:'Raleway' !important;font-weight:800;line-height:1.25}
.art-corpo h3{font-size:20px;margin:26px 0 10px;color:var(--p);font-family:'Raleway' !important;font-weight:800;line-height:1.3}
.art-corpo h4{font-size:17px;margin:22px 0 8px;color:var(--azul-dk);font-family:'Raleway' !important;font-weight:700}
/* listas */
.art-corpo ul, .art-corpo ol{margin:0 0 18px;padding-left:26px}
.art-corpo li{margin:0 0 8px;line-height:1.7}
.art-corpo ul li::marker{color:var(--s)}
.art-corpo ol li::marker{color:var(--p);font-weight:700}
/* citações — toque editorial sóbrio */
.art-corpo blockquote{margin:22px 0;padding:6px 0 6px 20px;border-left:4px solid var(--s);color:var(--txt2);font-style:italic;font-size:18px}
.art-corpo blockquote p{margin:0}
/* links no corpo */
.art-corpo a{color:var(--p);text-decoration:underline;text-underline-offset:2px;text-decoration-thickness:1px;transition:color .15s}
.art-corpo a:hover{color:var(--s)}
/* ênfases */
.art-corpo strong, .art-corpo b{font-weight:700;color:var(--azul-dk)}
.art-corpo em, .art-corpo i{font-style:italic}
/* imagens com legenda */
.art-corpo img{max-width:100%;height:auto;border-radius:8px;margin:8px 0}
.art-corpo figure{margin:22px 0}
.art-corpo figcaption{font-size:14px;color:var(--txt3);text-align:center;margin-top:6px;font-style:italic}
/* divisores e tabelas (mantém o existente, reforça) */
.art-corpo hr{border:0;border-top:1px solid var(--borda);margin:28px 0}
/* primeiro parágrafo com leve destaque (lead) */
.art-corpo > p:first-of-type{font-size:18.5px;color:var(--azul-dk);line-height:1.7}
/* modo contraste */
html.contraste .art-corpo, html.contraste .art-corpo *{color:#fff !important}
html.contraste .art-corpo a{color:#9ec5ff !important}
html.contraste .art-corpo blockquote{border-left-color:var(--s);color:#ccd}

/* layout-18b — força alinhamento à esquerda (neutraliza justify colado do Word) */
.art-corpo, .art-corpo p, .art-corpo div, .art-corpo li{text-align:left !important}

/* layout-18c — justificado COM hifenização (substitui o 18b) */
.art-corpo, .art-corpo p, .art-corpo div, .art-corpo li{
  text-align:justify !important;
  -webkit-hyphens:auto;
  -ms-hyphens:auto;
  hyphens:auto;
}
.art-corpo{hyphenate-limit-chars:6 3 3}

/* layout-18d — texto ocupa largura total (anula o max-width:680px do layout-18, alinha com a imagem) */
.art-corpo{max-width:none !important}

/* layout-18e — justify como PADRÃO, mas respeita alinhamento definido no editor */
/* remove o !important: o texto justifica por padrão, mas style="text-align" do painel vence */
.art-corpo{text-align:justify}
.art-corpo p, .art-corpo li{text-align:justify}
/* formatação inline do editor tem prioridade (center, right, left definidos no painel) */
.art-corpo [style*="text-align:center"], .art-corpo [style*="text-align: center"]{text-align:center !important}
.art-corpo [style*="text-align:right"], .art-corpo [style*="text-align: right"]{text-align:right !important}
.art-corpo [style*="text-align:left"], .art-corpo [style*="text-align: left"]{text-align:left !important}


/* layout-14 — selos de acessibilidade no rodape */
.foot-selos{display:flex;justify-content:center;align-items:center;gap:.6rem;flex-wrap:wrap;padding:.85rem 1rem 1.1rem;border-top:1px solid rgba(255,255,255,.08)}
.foot-selos .selo-acc{display:inline-flex;align-items:center;gap:.4rem;padding:.32rem .7rem;border:1px solid rgba(255,255,255,.28);border-radius:999px;color:rgba(255,255,255,.82);font-size:9.5pt;font-weight:600;text-decoration:none;line-height:1;transition:all .15s ease}
.foot-selos .selo-acc:hover,.foot-selos .selo-acc:focus-visible{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.5);color:#fff}
.foot-selos .selo-acc svg{flex:0 0 auto;opacity:.9}
