﻿/* =========================================================
   PORTAL SSP/SE - novo layout (identidade do Governo de Sergipe)
   Depende de tokens.css. Todas as classes novas usam o prefixo nl-
   para nao colidir com o Bootstrap 3 nem com o CSS legado (Content/css/app).
   Carregado por <link> proprio no Views/Index.cshtml (nao passa pelo bundle,
   porque o minificador do System.Web.Optimization nao conhece var(), clamp()
   e aspect-ratio).
   ========================================================= */

/* ---------- base (escopo minimo: nao altera o conteudo das paginas internas) ---------- */
html{font-size:100%}
body{background:var(--bg);color:var(--texto);font-family:var(--fonte) !important;margin-bottom:0}
/* Fundo em toda a altura da pagina: sem isso, em paginas mais altas que a tela o cinza parava na metade e o resto ficava branco. */
html{background:#F3F6FB;min-height:100%}
html:has(body.darkmode){background:#080D1F}
body{min-height:100vh;display:flow-root}
.nl-topbar,.nl-header,.nl-nav,.nl-home,.nl-footer,.nl-cookie{font-family:var(--fonte);line-height:1.55;font-size:1rem}
.nl-topbar a,.nl-header a,.nl-nav a,.nl-home a,.nl-footer a,.nl-cookie a{text-decoration-thickness:1px;text-underline-offset:3px}
.nl-topbar button,.nl-header button,.nl-nav button,.nl-home button,.nl-footer button,.nl-cookie button,.nl-header input{font:inherit;color:inherit;cursor:pointer}
.nl-header input{cursor:text}
.nl-topbar ul,.nl-nav ul,.nl-footer ul{margin:0;padding:0;list-style:none}
.nl-topbar img,.nl-header img,.nl-home img,.nl-footer img{max-width:100%;display:block}
.nl-header h1,.nl-home h2,.nl-home h3,.nl-footer h3,.nl-cookie h3{font-family:var(--fonte-titulo);line-height:1.2;margin:0}
.nl-home a:not(.nl-btn):not(.nl-slide):not(.nl-servico):not(.nl-orgao):not(.nl-banner):not(.nl-video):not([class*="nl-card"]){color:var(--link)}
.nl-main{min-height:55vh}
.nl-main > .ng-cloak{display:block}

.nl-icon{width:1.25em;height:1.25em;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:none}
.nl-container{width:100%;max-width:var(--container);margin:0 auto;padding:0 1rem}
:focus-visible{outline:3px solid var(--amarelo);outline-offset:2px;box-shadow:0 0 0 6px var(--azul-escuro)}

/* ---------- botoes ---------- */
.nl-btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.7rem 1.25rem;border-radius:999px;border:2px solid var(--azul-gov);background:var(--azul-gov);color:#fff;font-weight:600;text-decoration:none;transition:background .15s,transform .15s}
.nl-btn:hover{background:var(--azul-escuro);border-color:var(--azul-escuro);color:#fff}
.nl-btn-outline{background:transparent;color:var(--link)}
.nl-btn-outline:hover{background:var(--azul-gov);color:#fff}
body.darkmode .nl-btn{background:#2B5BD0;border-color:#2B5BD0}
body.darkmode .nl-btn-outline{background:transparent;color:var(--link);border-color:var(--link)}
body.darkmode .nl-btn-amarelo{background:var(--amarelo);border-color:var(--amarelo);color:#17213A}
.nl-btn-amarelo{background:var(--amarelo);border-color:var(--amarelo);color:#17213A}
.nl-btn-amarelo:hover{background:#E5A800;border-color:#E5A800;color:#17213A}

/* ---------- barra superior ---------- */
.nl-topbar{background:var(--azul-escuro);color:var(--sobre-azul);font-size:.8125rem}
.nl-topbar .nl-container{display:flex;flex-wrap:wrap;gap:.5rem 1.25rem;align-items:center;justify-content:space-between;min-height:2.5rem;padding-top:.25rem;padding-bottom:.25rem}
.nl-topbar a,.nl-topbar button{color:#fff;text-decoration:none;background:none;border:0;padding:.25rem .4rem;border-radius:6px;display:inline-flex;align-items:center;gap:.35rem}
.nl-topbar a:hover,.nl-topbar button:hover{background:rgba(255,255,255,.14);color:#fff}
.nl-topbar .nl-grupo{display:flex;align-items:center;gap:.25rem;flex-wrap:wrap}
.nl-topbar .nl-grupo + .nl-grupo{border-left:1px solid rgba(255,255,255,.25);padding-left:.75rem}
.nl-topbar .nl-fonte button{min-width:2rem;justify-content:center;font-weight:700}
.nl-topbar button[aria-pressed="true"]{background:var(--amarelo);color:#17213A}

/* ---------- cabecalho ---------- */
.nl-header{background:var(--azul-gov);color:#fff}
.nl-header .nl-container{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;padding-top:1rem;padding-bottom:1rem}
.nl-header-marca{display:block;flex:none}
.nl-header-marca img{height:6rem;width:auto}
.nl-busca{display:flex;flex:1;max-width:26rem;background:#fff;border-radius:999px;padding:.25rem;box-shadow:inset 0 0 0 2px transparent}
.nl-busca input{flex:1;min-width:0;border:0;background:transparent;padding:.55rem 1rem;font:inherit;color:#17213A;border-radius:999px}
.nl-busca input::placeholder{color:#5B6785}
.nl-busca input:focus-visible{outline:none;box-shadow:none}
.nl-busca:focus-within{box-shadow:0 0 0 3px var(--amarelo)}
.nl-busca .nl-busca-btn,.nl-busca button{flex:0 0 2.6rem;border:0 !important;background:var(--amarelo);color:#17213A;border-radius:50% !important;width:2.6rem !important;height:2.6rem !important;min-width:0;padding:0 !important;margin:0;display:grid;place-items:center;overflow:hidden;box-shadow:none}
.nl-busca button:hover{background:#E5A800}

/* ---------- navegacao ---------- */
.nl-nav{background:var(--surface);box-shadow:var(--sombra-sm);position:sticky;top:0;z-index:50;border-bottom:1px solid var(--borda)}
.nl-nav .nl-container{display:flex;align-items:center;justify-content:space-between}
.nl-nav-toggle{display:none;background:none;border:0;padding:.85rem 0;align-items:center;gap:.5rem;font-weight:700;color:var(--link)}
.nl-nav-list{display:flex;flex-wrap:wrap}
.nl-nav-list > li{position:relative}
.nl-nav-list > li > a,.nl-nav-list > li > button{display:flex;align-items:center;gap:.3rem;padding:1rem .95rem;background:none;border:0;border-bottom:4px solid transparent;color:var(--texto);font-weight:600;text-decoration:none;font-size:.95rem}
.nl-nav-list > li > a:hover,.nl-nav-list > li > button:hover,.nl-nav-list > li.nl-aberto > button,.nl-nav-list > li > a[aria-current="page"]{color:var(--link);border-bottom-color:var(--azul-claro)}
.nl-nav-list .nl-icon{width:1em;height:1em}
.nl-submenu{display:none;position:absolute;left:0;top:100%;min-width:16rem;background:var(--surface);border:1px solid var(--borda);border-radius:0 0 var(--raio-sm) var(--raio-sm);box-shadow:var(--sombra);padding:.4rem;z-index:60}
.nl-has-sub.nl-aberto > .nl-submenu{display:block}
.nl-submenu a{display:block;padding:.6rem .8rem;border-radius:6px;text-decoration:none;color:var(--texto);font-size:.92rem}
.nl-submenu a:hover{background:var(--surface-alt);color:var(--link)}

/* ---------- faixa de emergencia ---------- */
.nl-emergencia{background:var(--amarelo);color:#17213A}
.nl-emergencia .nl-container{display:flex;flex-wrap:wrap;gap:.35rem 1.5rem;align-items:center;justify-content:center;padding-top:.5rem;padding-bottom:.5rem;font-size:.9rem}
.nl-emergencia strong.nl-rotulo{font-weight:800;letter-spacing:.04em;text-transform:uppercase;font-size:.78rem}
.nl-emergencia .nl-num{font-family:var(--fonte-titulo);font-weight:800;font-size:1.15rem;margin-right:.3rem}


/* ---------- secoes ---------- */
.nl-secao{padding:2.25rem 0}
.nl-secao.nl-alt{background:var(--surface-alt)}
.nl-secao-cab{display:flex;align-items:end;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-bottom:1.25rem}
.nl-secao-cab h2{font-size:1.65rem;color:var(--link);display:flex;align-items:center;gap:.6rem}
.nl-secao-cab .nl-data{display:inline-block;color:var(--texto-suave);font-style:italic;font-size:.9rem}
.nl-secao-cab .nl-data::first-letter{text-transform:uppercase}
.nl-secao-rodape{display:flex;justify-content:center;margin-top:1.5rem}

/* ---------- carrossel ---------- */
.nl-carousel{position:relative;border-radius:var(--raio);overflow:hidden;background:var(--azul-escuro);box-shadow:var(--sombra)}
.nl-carousel .nl-slides{position:relative;aspect-ratio:var(--proporcao,16/9)}
.nl-carousel .nl-slide{position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity .6s ease,visibility .6s;display:block;color:#fff;text-decoration:none}
.nl-carousel .nl-slide.nl-ativo{opacity:1;visibility:visible}
.nl-carousel .nl-legenda{position:absolute;left:0;right:0;bottom:0;padding:3rem 1.5rem 3.4rem;background:linear-gradient(transparent,rgba(6,16,48,.92))}
.nl-carousel .nl-legenda .nl-cat{display:inline-block;background:var(--amarelo);color:#17213A;font-weight:700;font-size:.72rem;letter-spacing:.05em;text-transform:uppercase;padding:.15rem .6rem;border-radius:999px;margin-bottom:.5rem}
.nl-carousel .nl-legenda h3{font-size:clamp(1.15rem,2.4vw,1.8rem);font-weight:800;max-width:40ch;color:#fff}
.nl-carousel .nl-controles{position:absolute;left:0;right:0;bottom:.9rem;display:flex;align-items:center;justify-content:center;gap:.5rem;pointer-events:none}
.nl-carousel .nl-controles > *{pointer-events:auto}
.nl-carousel .nl-dots{display:flex;gap:.45rem;align-items:center}
.nl-carousel .nl-dots button{width:.7rem;height:.7rem;border-radius:50%;border:2px solid #fff;background:transparent;padding:0}
.nl-carousel .nl-dots button[aria-current="true"]{background:var(--amarelo);border-color:var(--amarelo);width:1.6rem;border-radius:999px}
.nl-carousel .nl-seta,.nl-carousel .nl-pausa{width:2.5rem;height:2.5rem;border-radius:50%;border:0;background:rgba(255,255,255,.92);color:var(--azul-gov);display:grid;place-items:center;box-shadow:var(--sombra-sm)}
.nl-carousel .nl-seta:hover,.nl-carousel .nl-pausa:hover{background:var(--amarelo);color:#17213A}
.nl-carousel .nl-seta{position:absolute;top:50%;transform:translateY(-50%)}
.nl-carousel .nl-seta.nl-ant{left:.75rem}.nl-carousel .nl-seta.nl-prox{right:.75rem}
.nl-carousel .nl-pausa{width:2rem;height:2rem}

/* placeholders de imagem (producao: imagem vinda da API) */

/* ---------- noticias ---------- */
.nl-noticias-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:1.25rem;align-items:stretch}
.nl-ultimas{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.nl-card-noticia{background:var(--surface);border:1px solid var(--borda);border-radius:var(--raio);overflow:hidden;box-shadow:var(--sombra-sm);transition:transform .15s,box-shadow .15s}
.nl-card-noticia:hover{transform:translateY(-3px);box-shadow:var(--sombra)}
.nl-card-noticia a{display:block;color:inherit;text-decoration:none;height:100%}
.nl-card-noticia .nl-thumb{aspect-ratio:4/3}
.nl-card-noticia .nl-corpo{padding:.8rem .95rem 1rem}
.nl-card-noticia .nl-meta{font-size:.74rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--texto-suave)}
.nl-card-noticia h3{font-size:.98rem;margin-top:.3rem;color:var(--texto);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.nl-card-noticia a:hover h3{color:var(--link)}
.nl-spinner{display:inline-block;width:1.2em;height:1.2em;border:3px solid var(--borda);border-top-color:var(--azul-gov);border-radius:50%;animation:gira 1s linear infinite;vertical-align:-.2em;margin-left:.4rem}
@keyframes gira{to{transform:rotate(360deg)}}

/* ---------- midias ---------- */
.nl-midias{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem}
.nl-painel{background:var(--surface);border:1px solid var(--borda);border-radius:var(--raio);padding:1.1rem;box-shadow:var(--sombra-sm);display:flex;flex-direction:column;gap:1rem}
.nl-painel h3{display:flex;align-items:center;gap:.55rem;color:var(--link);font-size:1.2rem}
.nl-painel h3 .nl-icon{width:1.5rem;height:1.5rem}
.nl-painel .nl-btn{margin-top:auto;align-self:stretch}
.nl-video{position:relative;border-radius:var(--raio-sm);overflow:hidden;aspect-ratio:16/10;display:block}
.nl-video .nl-play{position:absolute;inset:0;margin:auto;width:4rem;height:4rem;border-radius:50%;background:var(--amarelo);color:#17213A;display:grid;place-items:center;box-shadow:0 6px 20px rgba(0,0,0,.35);transition:transform .15s}
.nl-video:hover .nl-play{transform:scale(1.08)}
.nl-video .nl-play .nl-icon{width:1.7rem;height:1.7rem;fill:currentColor;stroke:none;margin-left:.2rem}
.nl-video-titulo{font-weight:700}
.nl-fotos{display:grid;grid-template-columns:1fr 1fr;gap:.6rem}
.nl-fotos a{display:block;aspect-ratio:1;border-radius:var(--raio-sm);overflow:hidden}
.nl-fotos a:hover{outline:3px solid var(--amarelo)}
.nl-audios{display:flex;flex-direction:column;gap:.75rem}
.nl-audio-item{background:var(--surface-alt);border-radius:var(--raio-sm);padding:.75rem}
.nl-audio-item span{display:block;font-weight:600;font-size:.9rem;margin-bottom:.4rem}
.nl-audio-item audio{width:100%;height:2.4rem}

/* ---------- servicos e orgaos ---------- */
.nl-servicos{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}
.nl-servico{display:flex;flex-direction:column;align-items:center;text-align:center;gap:.8rem;background:var(--surface);border:1px solid var(--borda);border-radius:var(--raio);padding:1.4rem 1rem;text-decoration:none;color:var(--texto);box-shadow:var(--sombra-sm);transition:transform .15s,box-shadow .15s,border-color .15s;position:relative;overflow:hidden}
.nl-servico::after{content:"";position:absolute;left:0;right:0;bottom:0;height:4px;background:linear-gradient(90deg,var(--azul-gov),var(--azul-claro),var(--verde),var(--amarelo));transform:scaleX(0);transform-origin:left;transition:transform .25s}
.nl-servico:hover{transform:translateY(-3px);box-shadow:var(--sombra);border-color:var(--azul-claro);color:var(--link)}
.nl-servico:hover::after{transform:scaleX(1)}
.nl-servico .nl-ico{width:3.6rem;height:3.6rem;border-radius:16px;background:var(--surface-alt);color:var(--link);display:grid;place-items:center}
.nl-servico .nl-ico .nl-icon{width:1.9rem;height:1.9rem}
.nl-servico span.nl-nome{font-weight:700;font-size:.95rem;line-height:1.25}
.nl-servico.nl-urgente .nl-ico{background:var(--amarelo);color:#17213A}
.nl-orgaos{display:grid;grid-template-columns:repeat(5,1fr);gap:1rem}
.nl-orgao{display:flex;flex-direction:column;align-items:center;gap:.7rem;background:var(--surface);border:1px solid var(--borda);border-radius:var(--raio);padding:1.2rem .8rem;text-decoration:none;color:var(--texto);text-align:center;box-shadow:var(--sombra-sm);transition:transform .15s,box-shadow .15s}
.nl-orgao:hover{transform:translateY(-3px);box-shadow:var(--sombra);color:var(--link)}
.nl-orgao .nl-logo{height:6rem;display:block;background:#fff;border-radius:var(--raio-sm);width:100%;padding:.35rem;overflow:hidden}
.nl-orgao img{width:100%;height:100%;object-fit:contain}
.nl-orgao span{font-weight:700;font-size:.85rem;line-height:1.25}

/* ---------- faixa de banners (carrossel de varios itens) ---------- */
.nl-strip-wrap{position:relative}
.nl-strip{display:flex;gap:1rem;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;padding:.25rem .25rem 1rem;scrollbar-width:thin}
.nl-strip .nl-banner{flex:0 0 calc((100% - 2rem)/3);scroll-snap-align:start;aspect-ratio:16/6;border-radius:var(--raio);overflow:hidden;position:relative;color:#fff;text-decoration:none;box-shadow:var(--sombra-sm)}
.nl-strip .nl-banner:hover{box-shadow:var(--sombra)}
.nl-strip-seta{position:absolute;top:calc(50% - 1rem);width:2.5rem;height:2.5rem;border-radius:50%;border:0;background:#fff;color:var(--azul-gov);box-shadow:var(--sombra);display:grid;place-items:center;z-index:2}
.nl-strip-seta:hover{background:var(--amarelo);color:#17213A}
.nl-strip-seta.nl-ant{left:-1rem}.nl-strip-seta.nl-prox{right:-1rem}

/* ---------- rodape ---------- */
.nl-footer{background:var(--azul-escuro);color:var(--sobre-azul);margin-top:2rem;position:relative}
.nl-footer::before{content:"";display:block;height:6px;background:linear-gradient(90deg,var(--azul-claro) 0 25%,var(--verde) 25% 50%,var(--amarelo) 50% 75%,var(--azul-gov) 75%)}
.nl-footer a{color:#fff;text-decoration:none}
.nl-footer a:hover{text-decoration:underline;color:var(--amarelo)}
.nl-footer-grid{display:grid;grid-template-columns:1.3fr 1fr 1.2fr;gap:2rem;padding:2.5rem 0 1.5rem}
.nl-footer-grid img{height:4.2rem;width:auto;margin-bottom:1rem}
.nl-footer h3{font-size:.85rem;letter-spacing:.1em;text-transform:uppercase;color:var(--amarelo);margin-bottom:.8rem}
.nl-footer ul{display:grid;gap:.45rem}
.nl-footer address{font-style:normal;display:grid;gap:.5rem}
.nl-footer address > div{display:flex;gap:.6rem;align-items:flex-start}
.nl-redes{display:flex;gap:.6rem;margin-top:1rem}
.nl-redes a{width:2.6rem;height:2.6rem;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.12)}
.nl-redes a:hover{background:var(--amarelo);color:#17213A;text-decoration:none}
.nl-footer-base{border-top:1px solid rgba(255,255,255,.2);padding:1rem 0 1.4rem;font-size:.82rem;color:var(--sobre-azul-suave);display:flex;flex-wrap:wrap;gap:.4rem 1rem;justify-content:space-between}

/* ---------- aviso de cookies ---------- */
.nl-cookie{position:fixed;left:1rem;right:1rem;bottom:1rem;z-index:200;max-width:46rem;margin:0 auto;background:var(--azul-escuro);color:#fff;border-radius:var(--raio);padding:1.1rem 1.25rem;box-shadow:0 12px 40px rgba(0,0,0,.4)}
.nl-cookie p{margin:0 3rem .8rem 0;font-size:.9rem}
.nl-cookie .nl-acoes{display:flex;gap:1rem;align-items:center;flex-wrap:wrap}
.nl-cookie a{color:#fff}
.nl-cookie .nl-fechar{position:absolute;right:.6rem;top:.6rem;background:none;border:0;color:#fff;padding:.4rem;border-radius:6px}
.nl-cookie .nl-fechar:hover{background:rgba(255,255,255,.15)}


/* ---------- responsivo ---------- */
@media (max-width:980px){
  .nl-nav-toggle{display:flex}
  .nl-nav .nl-container{flex-wrap:wrap}
  .nl-nav-list{display:none;width:100%;flex-direction:column;border-top:1px solid var(--borda);padding-bottom:.5rem}
  .nl-nav.nl-aberto .nl-nav-list{display:flex}
  .nl-nav-list > li > a,.nl-nav-list > li > button{width:100%;border-bottom:0;border-left:4px solid transparent;padding:.8rem .5rem}
  .nl-nav-list > li > a:hover,.nl-nav-list > li > button:hover,.nl-nav-list > li.nl-aberto > button{border-left-color:var(--amarelo)}
  .nl-submenu{position:static;box-shadow:none;border:0;border-left:2px solid var(--borda);border-radius:0;margin-left:.9rem}
  .nl-noticias-grid{grid-template-columns:1fr}
  .nl-midias{grid-template-columns:1fr 1fr}
  .nl-servicos{grid-template-columns:repeat(2,1fr)}
  .nl-orgaos{grid-template-columns:repeat(3,1fr)}
  .nl-strip .nl-banner{flex-basis:calc((100% - 1rem)/2)}
  .nl-footer-grid{grid-template-columns:1fr 1fr}
}
@media (max-width:640px){
  .nl-header .nl-container{flex-direction:column;align-items:stretch}
  .nl-header-marca img{height:4.2rem;margin:0 auto}
  .nl-busca{max-width:none}
  .nl-topbar .nl-container{justify-content:center}
  .nl-topbar .nl-grupo + .nl-grupo{border-left:0;padding-left:0}
  .nl-midias{grid-template-columns:1fr}
  .nl-ultimas{grid-template-columns:1fr 1fr}
  .nl-orgaos{grid-template-columns:1fr 1fr}
  .nl-strip .nl-banner{flex-basis:88%}
  .nl-footer-grid{grid-template-columns:1fr}
  .nl-carousel .nl-legenda{padding:2rem 1rem 3.2rem}
  .nl-carousel .nl-seta{display:none}
  .nl-secao-cab h2{font-size:1.4rem}
  .nl-strip-seta{display:none}
}
@media (prefers-reduced-motion:reduce){
  *{transition:none !important;animation:none !important;scroll-behavior:auto !important}
}


/* ---------- complementos do portal real (imagens vindas da API, estados Angular) ---------- */
.nl-secao-cab h2::before{content:"";width:.4rem;height:1.6rem;border-radius:4px;background:linear-gradient(var(--amarelo) 0 50%,var(--verde) 50% 100%)}
.nl-carregando-box{text-align:center;padding:3rem 1rem;color:var(--link);font-family:var(--fonte-titulo);font-size:1.4rem;font-weight:800}
.nl-home .nl-btn{color:#fff}
.nl-home .nl-btn-outline{color:var(--link)}
.nl-home .nl-btn-outline:hover{color:#fff}
.nl-home .nl-btn-amarelo,.nl-home .nl-btn-amarelo:hover{color:#17213A}
.nl-slide img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.nl-card-noticia .nl-thumb{overflow:hidden;background:var(--azul-escuro)}
.nl-card-noticia .nl-thumb img,.nl-video img,.nl-fotos a img{width:100%;height:100%;object-fit:cover}
.nl-video{background:var(--azul-escuro)}
.nl-video img{position:absolute;inset:0}
.nl-fotos a{background:var(--azul-escuro)}
.nl-servico .nl-ico{width:5rem;height:5rem;padding:.5rem}
.nl-servico .nl-ico img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain}
.nl-noticias-grid--so-ultimas{grid-template-columns:1fr}
.nl-noticias-grid--so-ultimas .nl-ultimas{grid-template-columns:repeat(4,1fr)}
.nl-audio-item audio{display:block}
.nl-video-titulo:empty{display:none}

/* banner grande: uma imagem por vez, na proporcao original (slides empilhados na mesma celula) */
.nl-carousel--banner .nl-slides{display:grid;aspect-ratio:auto}
.nl-carousel--banner .nl-slide{position:relative;grid-area:1/1;inset:auto}
.nl-carousel--banner .nl-slide img{position:static;height:auto;object-fit:contain}
.nl-carousel--banner{background:var(--surface-alt)}

/* faixa de banners pequenos: proporcao natural das imagens */
.nl-strip .nl-banner{aspect-ratio:auto;background:var(--surface-alt)}
.nl-strip .nl-banner img{width:100%;height:auto}

/* ---------- ponte: paginas internas continuam em Bootstrap, agora na paleta nova ---------- */
.btn-primary,.btn-primary:visited{background-color:var(--azul-gov);border-color:var(--azul-gov);color:#fff}
.btn-primary:hover,.btn-primary:focus,.btn-primary:active,.btn-primary.active{background-color:var(--azul-escuro);border-color:var(--azul-escuro);color:#fff}
.text-primary,a.text-primary{color:var(--azul-gov)}
a.text-primary:hover,a.text-primary:focus{color:var(--azul-escuro)}
.bg-primary{background-color:var(--azul-gov)}
body.darkmode .btn-primary{background-color:#2B5BD0;border-color:#2B5BD0}
body.darkmode .text-primary{color:var(--link)}

/* busca do cabecalho (div role=search, mantida como no markup anterior) */
.nl-busca-wrap{flex:1;max-width:26rem}
.nl-busca-wrap .nl-busca{max-width:none}

/* destaque de noticias ocupa a altura da coluna das ultimas */
.nl-destaque,.nl-destaque > .nl-carousel{height:100%}
.nl-destaque .nl-slides{height:100%;aspect-ratio:auto;min-height:22rem}
@media (max-width:980px){
  .nl-destaque,.nl-destaque > .nl-carousel{height:auto}
  .nl-destaque .nl-slides{height:auto;aspect-ratio:4/3;min-height:0}
}

/* Botoes circulares: garante o formato contra CSS legado/Bootstrap */
.nl-carousel .nl-seta,.nl-carousel .nl-pausa,.nl-carousel .nl-dots button{border-radius:50% !important;padding:0 !important;min-width:0;line-height:1}
.nl-carousel .nl-seta{width:2.5rem !important;height:2.5rem !important}
.nl-carousel .nl-pausa{width:2rem !important;height:2rem !important}
.nl-carousel .nl-dots button{width:.7rem !important;height:.7rem !important}
.nl-carousel .nl-dots button[aria-current="true"]{width:1.6rem !important;border-radius:999px !important}
.nl-strip-wrap .nl-strip-seta{border-radius:50% !important;padding:0 !important}
/* Topbar: no hover, sublinhado amarelo (identidade) e sem o sublinhado azul do Bootstrap */
.nl-topbar a:hover,.nl-topbar a:focus{text-decoration:underline !important;text-decoration-color:var(--amarelo);text-decoration-thickness:2px !important;text-underline-offset:4px}

/* ==========================================================================
   Pagina interna: detalhes da noticia (.nl-pagina)
   ========================================================================== */
.nl-pagina{max-width:var(--container);margin:0 auto;padding:1.25rem 1rem 3rem;font-family:var(--fonte);color:var(--texto)}
.container .nl-pagina{padding-left:0;padding-right:0}
.nl-migalhas{display:flex;flex-wrap:wrap;gap:.4rem;align-items:center;font-size:.85rem;color:var(--texto-suave);margin-bottom:1rem}
.nl-migalhas a{color:var(--link);text-decoration:none}
.nl-migalhas a:hover{text-decoration:underline;text-decoration-color:var(--azul-claro)}
.nl-noticia-layout{display:grid;grid-template-columns:minmax(0,1fr) 20rem;gap:2rem;align-items:start}
.nl-artigo{background:var(--surface);border:1px solid var(--borda);border-radius:var(--raio);box-shadow:var(--sombra-sm);padding:2rem}
.nl-artigo-cab h1{font-family:var(--fonte-titulo);font-size:2.1rem;line-height:1.2;font-weight:800;color:var(--azul-gov);margin:.75rem 0 .5rem}
.nl-chip{display:inline-block;background:var(--amarelo);color:#17213A !important;font-size:.75rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase;padding:.25rem .7rem;border-radius:999px;text-decoration:none !important}
.nl-chip:hover{background:#E5A800}
.nl-subtitulo{font-size:1.2rem;line-height:1.5;color:var(--texto-suave);margin:0 0 1rem}
.nl-artigo-meta{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem 1.25rem;padding:.9rem 0;border-top:1px solid var(--borda);border-bottom:1px solid var(--borda);font-size:.9rem;color:var(--texto-suave)}
.nl-meta-item i{color:var(--azul-claro);margin-right:.35rem}
.nl-compartilhar{margin-left:auto;display:flex;gap:.4rem}
.nl-icone-btn{width:2.4rem;height:2.4rem;flex:0 0 2.4rem;display:grid;place-items:center;border:1px solid var(--borda) !important;border-radius:50% !important;background:var(--surface);color:var(--azul-gov);padding:0 !important;font-size:1.05rem;cursor:pointer;transition:background .15s,color .15s}
.nl-icone-btn:hover,.nl-icone-btn:focus-visible{background:var(--azul-gov);color:#fff;border-color:var(--azul-gov) !important}
.nl-artigo-foto{margin:1.5rem 0;border-radius:var(--raio);overflow:hidden;background:var(--surface-alt)}
.nl-artigo-foto img{display:block;width:100%;height:auto;margin:0 auto}
.nl-artigo-texto{font-size:1.0625rem;line-height:1.8;max-width:46rem;margin:0 auto;color:var(--texto);overflow-wrap:anywhere}
.nl-artigo-texto p{margin:0 0 1.1rem;text-align:left}
.nl-artigo-texto h2,.nl-artigo-texto h3,.nl-artigo-texto h4{font-family:var(--fonte-titulo);color:var(--azul-gov);margin:1.6rem 0 .6rem;line-height:1.3}
.nl-artigo-texto a{color:var(--link);text-decoration:underline;text-decoration-color:var(--azul-claro);text-underline-offset:3px}
.nl-artigo-texto img{max-width:100% !important;height:auto !important;border-radius:var(--raio-sm)}
.nl-artigo-texto table{display:block;max-width:100%;overflow-x:auto}
.nl-artigo-texto iframe,.nl-artigo-texto video{max-width:100%}
.nl-artigo-texto ul,.nl-artigo-texto ol{margin:0 0 1.1rem;padding-left:1.5rem}
.nl-artigo-texto blockquote{margin:1.2rem 0;padding:.6rem 1.1rem;border-left:4px solid var(--azul-claro);background:var(--surface-alt);font-size:1.05rem}
.nl-artigo-rodape{margin-top:2rem;padding-top:1.25rem;border-top:1px solid var(--borda)}
.nl-lateral{display:grid;gap:1.25rem;position:sticky;top:4.5rem}
.nl-card-lateral{background:var(--surface);border:1px solid var(--borda);border-radius:var(--raio);box-shadow:var(--sombra-sm);padding:1.1rem 1.25rem}
.nl-card-lateral h2{font-family:var(--fonte-titulo);font-size:1.05rem;font-weight:800;color:var(--azul-gov);margin:0 0 .75rem;padding-left:.7rem;border-left:4px solid var(--amarelo);line-height:1.2}
.nl-card-lateral ul{margin:0;padding:0;list-style:none}
.nl-lista-categorias a{display:flex;justify-content:space-between;gap:.75rem;padding:.5rem .6rem;border-radius:6px;color:var(--texto);text-decoration:none;font-size:.93rem}
.nl-lista-categorias a:hover{background:var(--surface-alt);color:var(--link)}
.nl-lista-categorias a.nl-ativa{background:var(--surface-alt);color:var(--link);font-weight:700}
.nl-contagem{color:var(--texto-suave);font-size:.82rem;font-variant-numeric:tabular-nums}
.nl-lista-ultimas li{padding:.65rem 0;border-top:1px solid var(--borda)}
.nl-lista-ultimas li:first-child{border-top:0;padding-top:0}
.nl-lista-ultimas a{color:var(--texto);text-decoration:none;font-size:.93rem;line-height:1.4;font-weight:600}
.nl-lista-ultimas a:hover{color:var(--link);text-decoration:underline;text-decoration-color:var(--azul-claro)}
.nl-lateral-carregando{color:var(--texto-suave);font-size:.9rem;margin:0}
@media (max-width:980px){
  .nl-noticia-layout{grid-template-columns:minmax(0,1fr)}
  .nl-lateral{position:static}
  .nl-artigo{padding:1.25rem}
  .nl-artigo-cab h1{font-size:1.6rem}
  .nl-compartilhar{margin-left:0;width:100%}
}
/* o CSS legado define p{color:#777}; no artigo usamos a cor de texto do tema */
.nl-artigo-texto,.nl-artigo-texto p,.nl-artigo-texto li,.nl-subtitulo,.nl-lateral p{color:var(--texto)}
.nl-subtitulo,.nl-lateral-carregando{color:var(--texto-suave) !important}

/* ==========================================================================
   Impressao da noticia (ImprimirNoticia.cshtml, body.nl-impressao)
   ========================================================================== */
body.nl-impressao{background:#fff !important;margin:0;font-family:var(--fonte);color:#17213A}
.nl-impr-cab{background:#fff;color:#0D2A6B;border-bottom:6px solid var(--azul-gov);-webkit-print-color-adjust:exact;print-color-adjust:exact}
.nl-impr-cab-in{max-width:56rem;margin:0 auto;padding:1rem 1.25rem;display:flex;align-items:center;justify-content:space-between;gap:1.5rem}
.nl-impr-cab img{height:3.25rem;width:auto;display:block;filter:brightness(0)}
.nl-impr-cab p{margin:0;color:#0D2A6B;font-size:.8rem;text-align:right;line-height:1.3;max-width:14rem}
.nl-impr{max-width:56rem;margin:0 auto;padding:1rem 1.25rem 2rem}
.nl-impr p{color:#17213A}
.nl-impr-data{text-align:right;font-size:.8rem;color:#5B6785 !important;margin:0 0 .75rem}
.nl-impr h1{font-family:var(--fonte-titulo);font-size:1.9rem;line-height:1.2;font-weight:800;color:var(--azul-gov);margin:.6rem 0 .4rem}
.nl-impr .nl-chip{-webkit-print-color-adjust:exact;print-color-adjust:exact}
.nl-impr .nl-subtitulo{color:#3D4A68 !important;margin:0 0 .75rem}
.nl-impr-meta{margin:0;padding:.6rem 0;border-top:1px solid #C9D3E8;border-bottom:1px solid #C9D3E8;font-size:.9rem;color:#5B6785 !important}
.nl-impr-meta i{color:var(--azul-claro);margin-right:.35rem}
.nl-impr-foto{margin:1.1rem 0;text-align:center}
.nl-impr-foto img{max-width:100%;max-height:11cm;width:auto;height:auto;object-fit:contain;margin:0 auto;display:block;border-radius:6px}
.nl-impr .nl-artigo-texto{max-width:none;font-size:1rem;line-height:1.65}
.nl-impr-rodape{margin-top:1.5rem;padding-top:.75rem;border-top:2px solid var(--azul-gov);font-size:.8rem;word-break:break-all}
.nl-impr-rodape p{margin:0;color:#3D4A68 !important}
@page{size:A4;margin:1.2cm}
@media print{
  .nl-impr{padding:.5rem 0 0;max-width:none}
  .nl-impr-cab-in{padding:.6rem 0;max-width:none}
  .nl-impr article{break-inside:auto}
  .nl-impr-foto,.nl-impr blockquote,.nl-impr-rodape{break-inside:avoid}
  .nl-impr a{color:inherit;text-decoration:none}
}

/* ==========================================================================
   Paginas dinamicas (conteudo HTML livre vindo do editor): .nl-artigo--pagina
   Mantem estilos inline do editor; so garante leitura, quebra e responsividade.
   ========================================================================== */
.nl-artigo--pagina{max-width:none}
.nl-artigo-meta--simples{margin:0;padding:.75rem 0;display:block;color:var(--texto-suave) !important}
.nl-artigo-meta--simples i{color:var(--azul-claro);margin-right:.35rem}
.nl-conteudo{font-size:1.0625rem;line-height:1.75;color:var(--texto);padding-top:1.25rem;overflow-wrap:anywhere}
.nl-conteudo p,.nl-conteudo li{color:var(--texto)}
.nl-conteudo p{margin:0 0 1.1rem}
.nl-conteudo h1,.nl-conteudo h2,.nl-conteudo h3,.nl-conteudo h4{font-family:var(--fonte-titulo);color:var(--azul-gov);line-height:1.3;margin:1.6rem 0 .6rem}
.nl-conteudo a{color:var(--link);text-decoration:underline;text-decoration-color:var(--azul-claro);text-underline-offset:3px}
.nl-conteudo img{max-width:100% !important;height:auto !important;border-radius:var(--raio-sm)}
.nl-conteudo iframe,.nl-conteudo video,.nl-conteudo embed{max-width:100%}
.nl-conteudo ul,.nl-conteudo ol{margin:0 0 1.1rem;padding-left:1.5rem}
.nl-conteudo blockquote{margin:1.2rem 0;padding:.6rem 1.1rem;border-left:4px solid var(--azul-claro);background:var(--surface-alt)}
.nl-conteudo table{max-width:100%;border-collapse:collapse;margin:0 0 1.25rem}
@media (max-width:640px){.nl-conteudo table{display:block;overflow-x:auto}}
.nl-conteudo th,.nl-conteudo td{padding:.5rem .7rem;vertical-align:top;overflow-wrap:normal;word-break:normal}
.nl-conteudo table[border]:not([border="0"]) th,.nl-conteudo table[border]:not([border="0"]) td{border:1px solid var(--borda)}
.nl-conteudo th{background:var(--surface-alt);color:var(--azul-gov);text-align:left}

/* ==========================================================================
   Fale Conosco / formularios (.nl-form)
   ========================================================================== */
.nl-pagina-titulo{font-family:var(--fonte-titulo);font-size:2rem;line-height:1.2;font-weight:800;color:var(--azul-gov);margin:0 0 1.25rem}
.nl-contato-layout{display:grid;grid-template-columns:20rem minmax(0,1fr);gap:2rem;align-items:start}
.nl-contato-info dl{margin:0}
.nl-contato-info dt{font-size:.78rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:var(--azul-gov);margin:1rem 0 .2rem}
.nl-contato-info dt:first-child{margin-top:0}
.nl-contato-info dd{margin:0;font-size:.97rem;line-height:1.55;color:var(--texto)}
.nl-contato-info a{color:var(--link);text-decoration:underline;text-decoration-color:var(--azul-claro);text-underline-offset:3px}
.nl-form-card h2{font-family:var(--fonte-titulo);font-size:1.35rem;font-weight:800;color:var(--azul-gov);margin:0 0 .25rem}
.nl-form-obs{margin:0 0 1.25rem;color:var(--texto-suave) !important;font-size:.9rem}
.nl-obrigatorio{color:#C62828;font-weight:800}
.nl-form{display:grid;gap:1.1rem;max-width:40rem}
.nl-campo{display:grid;gap:.35rem}
.nl-campo label{font-weight:700;font-size:.93rem;color:var(--texto);margin:0}
.nl-input{width:100%;font:inherit;font-size:1rem;color:var(--texto);background:var(--surface);border:1px solid #8A97B5;border-radius:var(--raio-sm);padding:.65rem .85rem;line-height:1.4;box-shadow:none;height:auto}
textarea.nl-input{resize:vertical;min-height:8rem}
.nl-input:hover{border-color:var(--azul-gov)}
.nl-input:focus{outline:3px solid var(--azul-claro);outline-offset:1px;border-color:var(--azul-gov)}
.nl-input.ng-invalid{border-color:#8A97B5 !important;box-shadow:none !important}
.nl-input.ng-touched.ng-invalid{border-color:#C62828 !important}
.nl-ajuda{color:var(--texto-suave);font-size:.82rem}
.nl-alerta{border-radius:var(--raio-sm);padding:.8rem 1rem;font-size:.93rem}
.nl-alerta--erro{background:#FDECEC;border:1px solid #C62828;color:#7F1D1D}
.nl-captcha{min-height:4.75rem}
.nl-form-acoes{display:flex;justify-content:flex-end}
.nl-btn[disabled],.nl-btn:disabled{opacity:.5;cursor:not-allowed;background:var(--azul-gov);border-color:var(--azul-gov)}
@media (max-width:980px){
  .nl-contato-layout{grid-template-columns:minmax(0,1fr)}
  .nl-pagina-titulo{font-size:1.6rem}
  .nl-form-acoes .nl-btn{width:100%}
}

/* ==========================================================================
   Lista de noticias (.nl-item-noticia)
   ========================================================================== */
.nl-lista-noticias{display:grid;gap:1.25rem;min-width:0}
.nl-item-noticia{display:grid;grid-template-columns:15rem minmax(0,1fr);background:var(--surface);border:1px solid var(--borda);border-radius:var(--raio);box-shadow:var(--sombra-sm);overflow:hidden}
.nl-item-noticia-img{display:block;background:var(--surface-alt);min-height:11rem;position:relative}
.nl-item-noticia-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.nl-item-noticia-corpo{padding:1.1rem 1.35rem 1.2rem;min-width:0}
.nl-item-noticia-corpo h2{font-family:var(--fonte-titulo);font-size:1.3rem;line-height:1.3;font-weight:800;margin:.55rem 0 .4rem}
.nl-item-noticia-corpo h2 a{color:var(--azul-gov);text-decoration:none}
.nl-item-noticia-corpo h2 a:hover{text-decoration:underline;text-decoration-color:var(--azul-claro);text-underline-offset:4px}
.nl-item-noticia-meta{display:flex;flex-wrap:wrap;gap:.25rem 1rem;margin:0 0 .6rem;font-size:.85rem;color:var(--texto-suave) !important}
.nl-item-noticia-meta i{color:var(--azul-claro);margin-right:.25rem}
.nl-item-noticia-resumo{color:var(--texto);font-size:.97rem;line-height:1.6;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.nl-item-noticia-resumo p{margin:0;color:var(--texto)}
.nl-item-noticia-resumo img{display:none}
.nl-link-continuar{display:inline-block;margin-top:.75rem;font-weight:700;color:var(--link);text-decoration:none}
.nl-link-continuar:hover{text-decoration:underline;text-decoration-color:var(--azul-claro);text-underline-offset:4px}
.nl-link-continuar i{margin-left:.25rem;transition:transform .15s}
.nl-link-continuar:hover i{transform:translateX(3px)}
.nl-mais{text-align:center}
.nl-mais .btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;width:auto;min-width:12rem;padding:.7rem 1.5rem;border-radius:999px !important;border:2px solid var(--azul-gov);background:transparent;color:var(--link);font-weight:700}
.nl-mais .btn:hover{background:var(--azul-gov);color:#fff}
.nl-mais .btn[disabled]{opacity:.6}
.nl-estado{text-align:center;color:var(--texto-suave);font-size:1.05rem;margin:0}
.nl-estado--vazio{background:var(--surface);border:1px solid var(--borda);border-radius:var(--raio);padding:1.5rem;text-align:left;color:var(--texto)}
.nl-estado--vazio p{color:var(--texto);margin:0 0 .75rem}
.nl-estado--vazio ul{margin:.4rem 0 0;padding-left:1.25rem}
.nl-busca-noticias{display:flex;gap:.5rem;align-items:center}
.nl-busca-noticias .nl-input{flex:1;min-width:0}
@media (max-width:640px){
  .nl-item-noticia{grid-template-columns:minmax(0,1fr)}
  .nl-item-noticia-img{min-height:0;aspect-ratio:16/9}
}

.nl-filtros{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .6rem;margin:0;font-size:.9rem;color:var(--texto-suave) !important}
.nl-filtro-chip{background:var(--surface-alt);border:1px solid var(--borda);border-radius:999px;padding:.2rem .7rem;color:var(--texto)}
.nl-filtros .nl-link-continuar{margin:0 0 0 .25rem;font-size:.9rem}

/* Servicos (pagina): mesmo card da home; os links ficam fora de .nl-home, entao fixa a cor */
.nl-servicos--pagina .nl-servico{color:var(--texto)}
.nl-servicos--pagina .nl-servico:hover{color:var(--link)}

/* Imagens centralizadas no conteudo do CKEditor (paginas, servicos e noticias).
   Cobre: classe "centralizada", alinhamento nativo do CKEditor 4/5, align="center" e text-align:center no pai. */
.nl-conteudo img.centralizada,.nl-artigo-texto img.centralizada,
.nl-conteudo img.image-style-align-center,.nl-artigo-texto img.image-style-align-center,
.nl-conteudo img[align="middle"],.nl-conteudo img[align="center"],
.nl-artigo-texto img[align="middle"],.nl-artigo-texto img[align="center"]{display:block;margin-left:auto !important;margin-right:auto !important;float:none !important}
.nl-conteudo figure.image,.nl-artigo-texto figure.image,
.nl-conteudo figure.image-style-align-center,.nl-artigo-texto figure.image-style-align-center{display:table;margin:1rem auto !important;text-align:center}
.nl-conteudo figure.image img,.nl-artigo-texto figure.image img{display:block;margin:0 auto}
.nl-conteudo figure.image figcaption,.nl-artigo-texto figure.image figcaption{display:table-caption;caption-side:bottom;font-size:.85rem;color:var(--texto-suave);padding-top:.4rem}
.nl-conteudo [style*="text-align: center"] img,.nl-artigo-texto [style*="text-align: center"] img,
.nl-conteudo [style*="text-align:center"] img,.nl-artigo-texto [style*="text-align:center"] img,
.nl-conteudo [align="center"] img,.nl-artigo-texto [align="center"] img{margin-left:auto;margin-right:auto}
/* Em telas pequenas, imagens flutuantes (esq./dir.) ocupam a linha toda e ficam centralizadas */
@media (max-width:640px){
  .nl-conteudo img[style*="float"],.nl-artigo-texto img[style*="float"]{float:none !important;display:block;margin-left:auto !important;margin-right:auto !important}
}

/* Multimidia: fotos, videos, audios */
.nl-galeria{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.1rem;margin-bottom:1.75rem}
.nl-galeria-item{position:relative;display:block;padding:0 !important;border:1px solid var(--borda) !important;border-radius:var(--raio) !important;overflow:hidden;background:var(--surface-alt);aspect-ratio:4/3;cursor:pointer;box-shadow:var(--sombra-sm)}
.nl-galeria-item img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;transition:transform .3s}
.nl-galeria-item:hover img,.nl-galeria-item:focus img{transform:scale(1.05)}
.nl-galeria-zoom{position:absolute;right:.6rem;bottom:.6rem;width:2.4rem;height:2.4rem;border-radius:50%;background:rgba(22,65,148,.88);color:#fff;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .2s}
.nl-galeria-item:hover .nl-galeria-zoom,.nl-galeria-item:focus .nl-galeria-zoom{opacity:1}
.nl-galeria-item:focus-visible,.nl-mm-video:focus-visible{outline:3px solid var(--azul-claro);outline-offset:2px}

.nl-paginacao{display:flex;justify-content:center;margin-top:1rem}
.nl-paginacao .btn-group{display:inline-flex;align-items:center;gap:.35rem}
.nl-paginacao .btn{float:none;width:auto;min-width:2.5rem;height:2.5rem;padding:0 .8rem;border:1px solid var(--borda) !important;border-radius:999px !important;background:var(--surface);color:var(--link);font-weight:700}
.nl-paginacao .btn:hover{background:var(--azul-gov);border-color:var(--azul-gov) !important;color:#fff}
.nl-paginacao input.btn{min-width:5.5rem;text-align:center;cursor:default;color:var(--texto);background:var(--surface-alt)}
.nl-paginacao input.btn:hover{background:var(--surface-alt);border-color:var(--borda) !important;color:var(--texto)}

.nl-mm-grade{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.25rem}
.nl-mm-video{display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--borda);border-radius:var(--raio);box-shadow:var(--sombra-sm);overflow:hidden;text-decoration:none !important;transition:transform .2s,box-shadow .2s}
.nl-mm-video:hover{transform:translateY(-3px);box-shadow:var(--sombra)}
.nl-mm-video-thumb{position:relative;display:block;aspect-ratio:16/9;background:#17213A;overflow:hidden}
.nl-mm-video-thumb img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.nl-mm-video-play{position:absolute;left:50%;top:50%;width:3.4rem;height:3.4rem;margin:-1.7rem 0 0 -1.7rem;border-radius:50%;background:rgba(251,186,0,.95);color:#17213A;display:flex;align-items:center;justify-content:center;font-size:1.15rem;padding-left:.2rem;transition:transform .2s}
.nl-mm-video:hover .nl-mm-video-play{transform:scale(1.1)}
.nl-mm-video-titulo{display:block;padding:.8rem 1rem 1rem;font-weight:700;line-height:1.35;color:var(--azul-gov)}
.nl-mm-video:hover .nl-mm-video-titulo{color:var(--link)}

.nl-mm-grade--audio{grid-template-columns:repeat(3,minmax(0,1fr))}
.nl-audio-card{background:var(--surface);border:1px solid var(--borda);border-radius:var(--raio);box-shadow:var(--sombra-sm);padding:1rem 1.1rem 1.1rem}
.nl-audio-titulo{display:flex;gap:.55rem;align-items:flex-start;margin:0 0 .75rem;min-height:2.7em;font-weight:700;line-height:1.35;color:var(--azul-gov) !important}
.nl-audio-titulo i{color:var(--azul-claro);margin-top:.2rem}
.nl-audio-card audio{display:block;width:100%}

.nl-artigo--video{max-width:56rem;margin:0 auto}
.nl-video-player{margin:1.25rem 0;border-radius:var(--raio);overflow:hidden;background:#000}
.nl-video-player video{display:block;width:100%;max-height:70vh}
.nl-video-descricao{white-space:pre-line;line-height:1.7;color:var(--texto) !important;margin:0 0 1rem}

.nl-modal-foto .modal-content{border-radius:var(--raio);overflow:hidden;border:0}
.nl-modal-foto .modal-body{padding:0;background:#0d1530;text-align:center}
.nl-modal-foto .modal-body img{display:block;width:auto;max-width:100%;max-height:75vh;margin:0 auto}
.nl-modal-foto .modal-footer{text-align:center}

@media (max-width:1024px){.nl-mm-grade{grid-template-columns:repeat(3,minmax(0,1fr))}.nl-mm-grade--audio{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:760px){.nl-galeria{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.nl-mm-grade{grid-template-columns:repeat(2,minmax(0,1fr));gap:.9rem}}
@media (max-width:480px){.nl-mm-grade,.nl-mm-grade--audio{grid-template-columns:minmax(0,1fr)}}
body.darkmode .nl-modal-foto .modal-footer{background:var(--surface)}
@media (max-width:480px){.nl-paginacao .btn-group{flex-wrap:wrap;justify-content:center;max-width:100%}.nl-paginacao .btn{min-width:2.4rem;padding:0 .6rem}.nl-paginacao input.btn{min-width:4.5rem}}

/* Atestado de Antecedentes: consulta de autenticidade */
.nl-consulta{margin-top:2rem;padding:1.5rem;background:var(--surface-alt);border:1px solid var(--borda);border-left:6px solid var(--azul-gov);border-radius:var(--raio)}
.nl-consulta h2{font-family:var(--fonte-titulo);font-size:1.3rem;font-weight:800;line-height:1.3;color:var(--azul-gov);margin:0 0 .75rem;text-transform:uppercase}
.nl-consulta-texto{margin:0 0 1.25rem;line-height:1.7;color:var(--texto) !important}
.nl-consulta-form{display:grid;gap:1.1rem}
.nl-consulta-captcha{display:flex;justify-content:center;min-height:2px}
.nl-consulta-linha{display:flex;flex-wrap:wrap;gap:.6rem}
.nl-consulta-linha .nl-input{flex:1 1 16rem;min-width:0}
.nl-alerta{position:relative}
.nl-alerta-fechar{position:absolute;right:.6rem;top:.35rem;background:none;border:0;font-size:1.4rem;line-height:1;color:inherit;cursor:pointer;padding:.2rem .4rem}
.nl-consulta .nl-alerta{margin-bottom:1rem}
.nl-resultado{background:var(--surface);border:1px solid var(--borda);border-radius:var(--raio);overflow:hidden}
.nl-resultado-cab{background:var(--azul-gov);color:#fff;padding:.9rem 1.2rem;display:grid;gap:.25rem;overflow-wrap:anywhere}
.nl-resultado-corpo{padding:1.1rem 1.2rem}
.nl-resultado-corpo p{margin:0 0 .8rem;line-height:1.7;color:var(--texto) !important}
.nl-resultado-corpo p:last-child{margin:0}
.nl-resultado-corpo .nl-ok{color:#1B6E2E}
.nl-resultado-corpo .nl-neg{color:#B3261E}
.nl-resultado-rodape{padding:.9rem 1.2rem;border-top:1px solid var(--borda);text-align:center}
body.darkmode .nl-resultado-corpo .nl-ok{color:#7FD08F}
body.darkmode .nl-resultado-corpo .nl-neg{color:#FF8A80}
@media (max-width:480px){.nl-consulta{padding:1.1rem}.nl-consulta-linha .nl-btn{flex:1 1 auto}.nl-so-desktop{display:none}}
.nl-artigo--pagina>.nl-conteudo>h2:first-child{margin-top:0}

/* Instituto de Identificacao (IICM): blocos, tabela de postos */
.nl-iicm-topo{margin:0 0 .4rem}
.nl-iicm-topo img{display:block;width:100%;height:auto;border-radius:var(--raio)}
.nl-iicm-atualizado{margin:0 0 1.25rem;font-size:.85rem;font-weight:700;color:var(--texto-suave) !important}
.nl-blocos{display:grid;gap:1.1rem;margin-bottom:1.75rem}
.nl-bloco{background:var(--surface);border:1px solid var(--borda);border-left:6px solid var(--azul-claro);border-radius:var(--raio);box-shadow:var(--sombra-sm);padding:1.4rem 1.6rem;line-height:1.7;color:var(--texto)}
.nl-bloco h2{font-family:var(--fonte-titulo);font-size:1.25rem;font-weight:800;line-height:1.3;color:var(--azul-gov);margin:0 0 .8rem;text-transform:uppercase}
.nl-bloco h3{font-family:var(--fonte-titulo);font-size:1.05rem;font-weight:800;color:var(--azul-gov);margin:1.1rem 0 .4rem;text-transform:uppercase}
.nl-bloco p,.nl-bloco li{color:var(--texto) !important}
.nl-bloco p{margin:0 0 .85rem}
.nl-bloco ol,.nl-bloco ul{margin:0 0 .85rem;padding-left:1.5rem}
.nl-bloco a:not(.nl-btn){color:var(--link);text-decoration:underline;text-decoration-color:var(--azul-claro);text-underline-offset:3px}
.nl-bloco-destaque{margin-bottom:.4rem}
.nl-bloco-acao{text-align:center;margin:1.1rem 0 !important}
.nl-pagina-subtitulo{font-family:var(--fonte-titulo);font-size:1.5rem;font-weight:800;color:var(--azul-gov);margin:2rem 0 1rem}
.nl-tabela-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}
.nl-tabela{width:100%;border-collapse:collapse;font-size:.95rem}
.nl-tabela th,.nl-tabela td{padding:.65rem .8rem;text-align:left;vertical-align:top;border-bottom:1px solid var(--borda);overflow-wrap:normal;word-break:normal}
.nl-tabela thead th{background:var(--surface-alt);color:var(--azul-gov);font-size:.8rem;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap}
.nl-tabela tbody th{font-weight:700;color:var(--texto)}
.nl-tabela td{color:var(--texto)}
.nl-tabela tbody tr:hover{background:var(--surface-alt)}
.nl-tabela a{color:var(--link);font-weight:700}
.nl-status.nl-ok{color:#1B6E2E;font-weight:700}
.nl-status.nl-neg{color:#B3261E;font-weight:700}
body.darkmode .nl-status.nl-ok{color:#7FD08F}
body.darkmode .nl-status.nl-neg{color:#FF8A80}
.nl-consulta-acoes{display:flex;justify-content:center}
@media (max-width:640px){.nl-bloco{padding:1.1rem 1rem}.nl-tabela{min-width:34rem}}
.nl-blocos>*,.nl-bloco{min-width:0}

/* Secao recolhivel (lista de postos) */
.nl-postos{margin-top:2rem}
.nl-colapso-titulo{margin:0 0 1rem}
.nl-colapso-btn{width:100%;display:flex;align-items:center;justify-content:space-between;gap:1rem;text-align:left;font:inherit;font-weight:800;color:var(--azul-gov);background:var(--surface);border:1px solid var(--borda) !important;border-left:6px solid var(--azul-gov) !important;border-radius:var(--raio) !important;box-shadow:var(--sombra-sm);padding:1rem 1.25rem;cursor:pointer;transition:background .15s}
.nl-colapso-btn:hover{background:var(--surface-alt)}
.nl-colapso-btn:focus-visible{outline:3px solid var(--azul-claro);outline-offset:2px}
.nl-colapso-acao{display:inline-flex;align-items:center;gap:.5rem;font-size:.85rem;font-weight:700;color:var(--link);white-space:nowrap}
.nl-colapso-acao .fa{transition:transform .2s}
.nl-colapso-btn.nl-aberto .nl-colapso-acao .fa{transform:rotate(180deg)}

.nl-bloco--colapso{padding:0;overflow:hidden}
.nl-bloco--colapso>h2{margin:0;font-size:inherit;text-transform:none}
.nl-bloco--colapso .nl-colapso-btn{border:0 !important;border-radius:0 !important;box-shadow:none;background:transparent;text-transform:uppercase;font-family:var(--fonte-titulo);font-size:1.25rem;line-height:1.3}
.nl-bloco--colapso .nl-colapso-btn:hover{background:var(--surface-alt)}
.nl-bloco--colapso .nl-tabela-wrap{padding:0 1.25rem 1.25rem}

/* Divisoes (Contatos), Transito, Pesquisa */
.nl-pagina-intro{margin:-.5rem 0 1.25rem;color:var(--texto-suave) !important}
.nl-tabela-card{background:var(--surface);border:1px solid var(--borda);border-radius:var(--raio);box-shadow:var(--sombra-sm);overflow:hidden;margin-bottom:1.25rem}
.nl-tabela-card .nl-estado{padding:1.25rem}
.nl-tabela-card .nl-estado--vazio{border:0;border-radius:0;box-shadow:none}
@media (max-width:640px){
  .nl-tabela--empilhar{min-width:0 !important}
  .nl-tabela--empilhar thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
  .nl-tabela--empilhar,.nl-tabela--empilhar tbody,.nl-tabela--empilhar tr,.nl-tabela--empilhar th,.nl-tabela--empilhar td{display:block;width:100%}
  .nl-tabela--empilhar tr{padding:.9rem 1rem;border-bottom:1px solid var(--borda)}
  .nl-tabela--empilhar th,.nl-tabela--empilhar td{padding:.15rem 0;border:0;background:transparent}
  .nl-tabela--empilhar tbody th{font-size:1.05rem;color:var(--azul-gov)}
  .nl-tabela--empilhar td[data-label]:not(:empty)::before{content:attr(data-label) ": ";font-weight:800;font-size:.8rem;text-transform:uppercase;letter-spacing:.03em;color:var(--texto-suave)}
}

.nl-atalhos{display:grid;grid-template-columns:repeat(auto-fill,minmax(13.5rem,1fr));gap:1.1rem}
.nl-atalho{display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--borda);border-radius:var(--raio);box-shadow:var(--sombra-sm);overflow:hidden;text-decoration:none !important;transition:transform .2s,box-shadow .2s}
.nl-atalho:hover{transform:translateY(-3px);box-shadow:var(--sombra)}
.nl-atalho:focus-visible{outline:3px solid var(--azul-claro);outline-offset:2px}
.nl-atalho-img{display:block;aspect-ratio:1/1;background:var(--surface-alt);overflow:hidden}
.nl-atalho-img img{display:block;width:100%;height:100%;object-fit:cover}
.nl-atalho-nome{display:block;padding:.85rem 1rem 1rem;font-weight:800;line-height:1.3;color:var(--azul-gov);text-align:center}
.nl-atalho:hover .nl-atalho-nome{color:var(--link)}

.nl-pesquisa-form{display:flex;gap:.6rem;margin-bottom:1.25rem}
.nl-pesquisa-form .nl-input{flex:1;min-width:0}
.nl-pesquisa-termo{margin:0 0 1rem;color:var(--texto) !important}
.nl-abas{display:flex;flex-wrap:wrap;gap:.4rem;border-bottom:2px solid var(--borda);margin-bottom:1.25rem}
.nl-aba{display:inline-flex;align-items:center;gap:.45rem;font:inherit;font-weight:700;color:var(--texto-suave);background:transparent;border:0 !important;border-bottom:4px solid transparent !important;border-radius:0 !important;padding:.7rem 1rem;margin-bottom:-2px;cursor:pointer}
.nl-aba:hover{color:var(--link)}
.nl-aba:focus-visible{outline:3px solid var(--azul-claro);outline-offset:-3px}
.nl-aba--ativa{color:var(--azul-gov);border-bottom-color:var(--amarelo) !important}
.nl-aba-total{background:var(--azul-gov);color:#fff;border-radius:999px;font-size:.75rem;line-height:1;padding:.25rem .55rem}
.nl-lista-resultados{display:grid;gap:1.1rem}
.nl-item-noticia--sem-img{grid-template-columns:minmax(0,1fr)}
.nl-lista-links{list-style:none;margin:0;padding:0;display:grid;gap:.75rem}
.nl-lista-links a{display:flex;align-items:center;gap:1rem;background:var(--surface);border:1px solid var(--borda);border-radius:var(--raio);box-shadow:var(--sombra-sm);padding:.9rem 1.1rem;text-decoration:none !important;color:var(--texto)}
.nl-lista-links a:hover{border-color:var(--azul-claro);box-shadow:var(--sombra)}
.nl-lista-links-ico{flex:0 0 2.8rem;height:2.8rem;border-radius:var(--raio-sm);background:var(--surface-alt);color:var(--azul-gov);display:flex;align-items:center;justify-content:center;font-size:1.3rem;overflow:hidden}
.nl-lista-links-ico--azul{background:var(--azul-gov)}
.nl-lista-links-ico img{width:70%;height:70%;object-fit:contain}
.nl-lista-links-texto{display:grid;gap:.15rem;min-width:0}
.nl-lista-links-texto strong{color:var(--azul-gov);line-height:1.35}
.nl-lista-links a:hover strong{color:var(--link)}
.nl-lista-links-texto small{color:var(--texto-suave)}
@media (max-width:480px){.nl-pesquisa-form{flex-direction:column}.nl-aba{flex:1 1 auto;justify-content:center;padding:.6rem .5rem;font-size:.9rem}}

/* ===== Mapa do Site ===== */
.nl-mapa{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem;align-items:start}
.nl-mapa .nl-bloco h2 a{color:inherit;text-decoration:none}
.nl-mapa .nl-bloco h2 a:hover{text-decoration:underline}
.nl-mapa ul{list-style:none;margin:0;padding:0}
.nl-mapa .nl-bloco>ul>li{padding:.3rem 0;border-bottom:1px solid var(--borda)}
.nl-mapa .nl-bloco>ul>li:last-child{border-bottom:0}
.nl-mapa ul ul{margin:.3rem 0 .2rem;padding-left:1.1rem;border-left:2px solid var(--azul-claro)}
.nl-mapa ul ul li{padding:.15rem 0 .15rem .5rem}
.nl-mapa .fa-external-link{font-size:.75em;margin-left:.3rem}
@media (max-width:800px){.nl-mapa{grid-template-columns:minmax(0,1fr)}}

/* ===== Comunicado eleitoral ===== */
.nl-comunicado-secao{margin:0 auto;max-width:56rem}
.nl-comunicado{background:var(--surface);border:1px solid var(--borda);border-top:6px solid var(--amarelo);border-radius:var(--raio);box-shadow:var(--sombra-sm);padding:1.6rem 1.8rem;line-height:1.7;color:var(--texto)}
.nl-comunicado-titulo{font-family:var(--fonte-titulo);font-size:1.5rem;font-weight:800;text-transform:uppercase;color:var(--azul-gov);margin:0 0 .8rem}
.nl-comunicado-corpo p{margin:0 0 .85rem;color:var(--texto)}
.nl-comunicado-telefones{list-style:none;margin:1.1rem 0 0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem}
.nl-comunicado-telefones li{background:var(--surface-alt);border:1px solid var(--borda);border-radius:var(--raio);padding:.8rem;text-align:center;display:flex;flex-direction:column;gap:.2rem}
.nl-comunicado-telefones strong{font-family:var(--fonte-titulo);font-size:2rem;line-height:1;color:var(--azul-gov)}
.nl-comunicado-telefones span{font-size:.9rem;color:var(--texto-suave)}
@media (max-width:640px){.nl-comunicado{padding:1.2rem 1rem}.nl-comunicado-telefones{grid-template-columns:minmax(0,1fr)}}

/* ===== Obras ===== */
.nl-obras-filtro{background:var(--surface);border:1px solid var(--borda);border-left:6px solid var(--azul-claro);border-radius:var(--raio);box-shadow:var(--sombra-sm);padding:1.2rem 1.4rem;margin-bottom:1.5rem}
.nl-obras-filtro-campos{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr) auto;gap:1rem;align-items:end}
.nl-obras-filtro .nl-filtros{margin:1rem 0 0}
.nl-chip-remover{background:none;border:0;padding:0 .2rem;margin-left:.3rem;cursor:pointer;color:var(--texto-suave);line-height:1}
.nl-chip-remover:hover,.nl-chip-remover:focus{color:#B3261E}
.nl-obras-lista{display:flex;flex-direction:column;gap:1.25rem}
.nl-obra{display:grid;grid-template-columns:minmax(0,18rem) minmax(0,1fr);gap:1.4rem;background:var(--surface);border:1px solid var(--borda);border-radius:var(--raio);box-shadow:var(--sombra-sm);padding:1.2rem;margin:0}
.nl-obra--detalhe{margin-bottom:1.5rem}
.nl-obra-img{min-width:0;border-radius:var(--raio);overflow:hidden;background:var(--surface-alt);display:flex;align-items:center;justify-content:center;min-height:12rem}
.nl-obra-img .carousel{width:100%}
.nl-obra-img .carousel-inner>.item>img{width:100%;height:14rem;object-fit:cover}
.nl-obra-img .carousel-control{padding-top:0 !important;display:flex;align-items:center;justify-content:center;width:12%}
.nl-obra-sem-img{max-width:9rem;opacity:.5}
.nl-obra-corpo{min-width:0}
.nl-obra-corpo h2{font-family:var(--fonte-titulo);font-size:1.25rem;font-weight:800;line-height:1.3;color:var(--azul-gov);margin:0 0 .5rem}
.nl-obra-corpo h2 a{color:inherit;text-decoration:none}
.nl-obra-corpo h2 a:hover{text-decoration:underline}
.nl-obra-objeto{margin:.7rem 0;color:var(--texto);line-height:1.6}
.nl-obra-dados{margin:0 0 1rem;display:grid;grid-template-columns:repeat(auto-fit,minmax(14rem,1fr));gap:.6rem 1.2rem}
.nl-obra-dados dt{font-size:.75rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:var(--texto-suave)}
.nl-obra-dados dd{margin:0;color:var(--texto);overflow-wrap:anywhere}
.nl-obra-rodape{display:flex;flex-wrap:wrap;gap:1rem;align-items:flex-end;justify-content:space-between}
.nl-progresso-bloco{flex:1 1 16rem;min-width:0}
.nl-progresso-rotulo{display:block;font-size:.85rem;font-weight:700;color:var(--texto);margin:.4rem 0 .25rem}
.nl-progresso{height:1.3rem;background:#E3E9F3;border-radius:999px;overflow:hidden}
.nl-progresso-barra{height:100%;min-width:2.4rem;background:var(--verde);border-radius:999px;color:#fff;font-size:.75rem;font-weight:800;display:flex;align-items:center;justify-content:center;white-space:nowrap}
.nl-obra-acoes{display:flex;flex-wrap:wrap;gap:.6rem}
.nl-btn-sm{padding:.3rem .7rem;font-size:.85rem}
.nl-obra-detalhe .nl-bloco{margin-bottom:1.5rem}
.nl-bloco--tabela .nl-tabela{min-width:34rem}
.nl-bloco--tabela .nl-tabela th,.nl-bloco--tabela .nl-tabela td{text-align:center}
@media (max-width:800px){
  .nl-obras-filtro-campos{grid-template-columns:minmax(0,1fr)}
  .nl-obra{grid-template-columns:minmax(0,1fr)}
}

/* ===== Erros ===== */
.nl-erro{max-width:40rem;margin:2rem auto;background:var(--surface);border:1px solid var(--borda);border-top:6px solid var(--amarelo);border-radius:var(--raio);box-shadow:var(--sombra-sm);padding:2.5rem 1.8rem;text-align:center}
.nl-erro-icone{font-size:5rem;line-height:1;color:var(--amarelo);margin-bottom:.8rem}
.nl-erro-logo{display:block;max-width:12rem;width:60%;height:auto;margin:0 auto 1.2rem}
.nl-erro-titulo{font-family:var(--fonte-titulo);font-size:1.9rem;font-weight:800;line-height:1.25;color:var(--azul-gov);margin:0 0 1rem}
.nl-erro-destaque{font-weight:700;font-size:1.15rem;color:#B3261E;margin:0 0 .5rem}
.nl-erro-texto{font-size:1.1rem;color:var(--texto-suave);margin:0 0 1.6rem}
.nl-erro .nl-erro-destaque:last-of-type{margin-bottom:1.2rem}
@media (max-width:640px){.nl-erro{padding:1.8rem 1.1rem;margin:1rem auto}.nl-erro-titulo{font-size:1.5rem}}

/* ===== Download de app ===== */
.nl-app{max-width:32rem;margin:2rem auto;background:var(--surface);border:1px solid var(--borda);border-top:6px solid var(--azul-claro);border-radius:var(--raio);box-shadow:var(--sombra-sm);padding:2.4rem 1.8rem;text-align:center}
.nl-app-logo{display:block;width:7.5rem;height:7.5rem;object-fit:contain;margin:0 auto 1.2rem;border-radius:1.5rem;box-shadow:0 4px 16px rgba(0,0,0,.13)}
.nl-app-titulo{font-family:var(--fonte-titulo);font-size:1.9rem;font-weight:800;color:var(--azul-gov);margin:0 0 .5rem}
.nl-app-sub{font-size:1.1rem;color:var(--texto-suave);line-height:1.6;margin:0 0 1.6rem}
.nl-app-status{font-size:1.05rem;color:var(--texto);margin:0 0 1.2rem;min-height:1.6rem}
.nl-app-loja{min-width:15rem}
.nl-app-loja--android{background:#1a73e8;border-color:#1a73e8}
.nl-app-loja--android:hover{background:#1557b0;border-color:#1557b0}
.nl-app-loja--ios{background:#1c1c1e;border-color:#1c1c1e}
.nl-app-loja--ios:hover{background:#3a3a3c;border-color:#3a3a3c}
.nl-app-fallback{margin:1.5rem 0 0;color:var(--texto-suave);line-height:2}
.nl-app-fallback a{display:inline-block;margin:0 .6rem;color:var(--link);font-weight:700}
@media (max-width:640px){.nl-app{padding:1.8rem 1.1rem}.nl-app-titulo{font-size:1.5rem}}
.nl-artigo--pagina>.nl-conteudo h2{font-size:1.4rem;margin:1.8rem 0 .6rem}

/* ===== Transparência (cards, conteúdo, arquivos, ferramentas Serigy) ===== */
.nl-transp .breadcrumb-transparencia{font-size:.9rem;font-weight:400;color:var(--texto-suave);margin-bottom:1rem;gap:.4rem}
.nl-transp .breadcrumb-transparencia a{color:var(--link);text-decoration:none}
.nl-transp .breadcrumb-transparencia a:hover{text-decoration:underline}
.nl-transp .breadcrumb-transparencia .sep{margin:0;color:var(--texto-suave)}
.nl-transp .breadcrumb-transparencia .current{color:var(--texto);font-weight:600}
.nl-transp .nl-transp-corpo{margin-bottom:1.25rem}
.nl-transp .titulo-transparencia{text-align:left;font-size:2rem;margin:0 0 .5rem}
.nl-transp .atualizacao-transparencia{color:var(--texto-suave);font-size:.9rem;margin:0 0 1.25rem}
.nl-transp .nl-alerta{margin-bottom:1rem}
.nl-transp .nl-estado{padding:1rem 0}
.nl-transp-voltar{text-align:center;margin:1.25rem 0 0}
.nl-transp-imagem{max-width:56rem;margin:1rem auto}
.nl-transp-imagem img{display:block;max-width:100%;height:auto;margin:0 auto;border-radius:var(--raio-sm)}

/* conteúdo HTML vindo do CKEditor */
.nl-transp-conteudo{color:var(--texto);line-height:1.7;overflow-wrap:anywhere}
.nl-transp-conteudo h2,.nl-transp-conteudo h3,.nl-transp-conteudo h4{font-family:var(--fonte-titulo);color:var(--azul-gov);line-height:1.3;margin:1.4rem 0 .6rem}
.nl-transp-conteudo a{color:var(--link);text-decoration:underline;text-decoration-color:var(--azul-claro);text-underline-offset:3px}
.nl-transp-conteudo img{max-width:100% !important;height:auto !important}
.nl-transp-conteudo table{width:100%;border-collapse:collapse;font-size:.95rem;margin:.5rem 0 1rem}
.nl-transp-conteudo th,.nl-transp-conteudo td{padding:.6rem .75rem;border:1px solid var(--borda);vertical-align:top;text-align:left}
.nl-transp-conteudo thead th,.nl-transp-conteudo tr:first-child>th{background:var(--surface-alt);color:var(--azul-gov);font-weight:800}
.nl-transp-conteudo tbody tr:nth-child(even){background:var(--surface-alt)}

/* cards (tipo B): continuam sendo <a href> */
.nl-transp .transparencia-cards-grid{display:flex;flex-wrap:wrap;justify-content:center;margin:0 -.6rem}
.nl-transp .transparencia-card-col{box-sizing:border-box;padding:0 .6rem;margin-bottom:1.2rem;width:50%}
.nl-transp .transparencia-card-col-duas{width:50%}
.nl-transp .transparencia-card-col-quatro{width:25%}
.nl-transp .transparencia-card-col-tres{width:33.3333%}
.nl-transp .transparencia-card-col-uma{width:100%}
/* o numero de colunas vem do campo "Quantidade por linha"; o cartao preenche a coluna; a grade tem largura maxima conforme o numero por linha, para os cartoes nao esticarem e nao sobrar vao entre eles */
.nl-transp .transparencia-cards-grid.grade-1{max-width:21rem}
.nl-transp .transparencia-cards-grid.grade-2{max-width:46rem}
.nl-transp .transparencia-cards-grid.grade-3{max-width:66rem}
.nl-transp .transparencia-cards-grid{margin-left:auto;margin-right:auto}
.nl-transp .card-filho{border-radius:var(--raio);box-shadow:var(--sombra-sm)}
.nl-transp .card-filho:not(.tem-descricao):hover{box-shadow:var(--sombra-md,0 8px 22px rgba(15,40,100,.18));transform:translateY(-3px)}
.nl-transp .card-face-front{border-radius:var(--raio);border:1px solid var(--borda);background:var(--surface)}
.nl-transp .card-face-back{border-radius:var(--raio);background:linear-gradient(145deg,var(--azul-gov),var(--azul-claro));border-color:var(--azul-gov)}
.nl-transp .card-face-back .card-back-titulo{font-family:var(--fonte-titulo);font-size:.95rem}
.nl-transp .card-face-back .card-back-descricao{font-size:.85rem}
.nl-transp .card-filho .card-header-filho{background:var(--azul-gov);font-size:.75rem;min-height:2.2rem}
.nl-transp .card-filho .card-data{opacity:.9}
.nl-transp .card-filho .card-body-filho{min-height:7rem}
.nl-transp .card-filho .card-footer-filho{background:var(--surface-alt);border-top:1px solid var(--borda);color:var(--azul-gov);font-size:.9rem;font-weight:700}
.nl-transp .card-icone-erro{display:none;color:#B8C2D6;margin-bottom:.9rem}
.nl-transp a.card-filho:focus-visible{outline:3px solid var(--amarelo);outline-offset:3px}

/* PDF único / arquivos */
.nl-transp .acoes-arquivo{display:flex;flex-wrap:wrap;gap:.8rem;margin-bottom:1rem}
.nl-transp .visualizador-pdf{width:100%;height:56rem;border:1px solid var(--borda);border-radius:var(--raio-sm)}
.nl-transp .tabela-arquivos td.acoes{white-space:nowrap}
.nl-transp .tabela-arquivos td.acoes a+a{margin-left:1rem}
.nl-transp .tabela-arquivos td.acoes a i{margin-right:.25rem}

/* barra de ferramentas criada pela diretiva (filtro, exercício, exportação) */
.nl-transp .ferramentas-tabela{background:var(--surface-alt);border:1px solid var(--borda);border-radius:var(--raio-sm);padding:.8rem 1rem;margin:.8rem 0}
.nl-transp .ferramentas-filtro label{font-size:.85rem;font-weight:700;color:var(--azul-gov)}
.nl-transp .ferramentas-filtro .form-control{height:2.4rem;border:1px solid var(--borda);border-radius:var(--raio-sm);box-shadow:none;font-size:.9rem}
.nl-transp .ferramentas-filtro .btn{height:2.4rem;border-radius:999px;font-weight:700;padding:0 1.1rem}
.nl-transp .ferramentas-filtro .btn-primary{background:var(--azul-gov);border-color:var(--azul-gov)}
.nl-transp .ferramentas-filtro .btn-default{background:#fff;border:2px solid var(--azul-gov);color:var(--azul-gov)}
.nl-transp .ferramentas-exportar a{border-color:var(--azul-gov);color:var(--azul-gov);border-radius:999px;font-size:.8rem;padding:.2rem .7rem}
.nl-transp .ferramentas-exportar a:hover{background:var(--azul-gov);color:#fff}
.nl-transp .ferramentas-contagem{color:var(--texto-suave);font-size:.8rem}

@media (max-width:991px){.nl-transp .transparencia-card-col,.nl-transp .transparencia-card-col-duas,.nl-transp .transparencia-card-col-tres,.nl-transp .transparencia-card-col-quatro,.nl-transp .transparencia-card-col-uma{width:50%}}
@media (max-width:640px){
  .nl-transp .transparencia-card-col,.nl-transp .transparencia-card-col-duas,.nl-transp .transparencia-card-col-tres,.nl-transp .transparencia-card-col-quatro,.nl-transp .transparencia-card-col-uma{width:100%}
  .nl-transp .titulo-transparencia{font-size:1.6rem}
  .nl-transp .visualizador-pdf{height:36rem}
  .nl-transp .ferramentas-filtro input.form-control{width:100%}
}
.nl-transp .nl-transp-corpo .row{margin-left:0;margin-right:0}
.nl-transp .nl-transp-corpo .row>[class*="col-"]{padding-left:0;padding-right:0}
@media (max-width:640px){.nl-transp .tabela-arquivos td.acoes{white-space:normal;display:flex !important;gap:1rem}.nl-transp .tabela-arquivos td.acoes a+a{margin-left:0}}
.nl-transp .transparencia-card-col{display:flex}
.nl-transp .card-filho-wrapper{flex:1;display:flex;min-width:0}
.nl-transp a.card-filho,.nl-transp a.card-filho:hover,.nl-transp a.card-filho:focus{flex:1;display:flex;flex-direction:column;min-width:0}
.nl-transp .card-face-front{flex:1}
