/* =========================================================
   STYLES - GLOBAL do site: variaveis (:root) + regras globais.
   Para mudar o visual, comece pelas variaveis logo abaixo.
   Carregar PRIMEIRO.

   Escalas de tamanho:  pp < p < m < g < gg < g1 < g2 ...
     --raio-*     bordas arredondadas
     --fonte-*    tamanho de texto
     --espaco-*   padding, margin e gap
     --tamanho-*  largura/altura de botoes, icones e caixas
   Cores:  --cor-*  (marca, fundos, texto, links, bordas, estados)
   Botoes: --botao-*  (usados pelas classes .btn, .btn-sm, .btn-lg do Bootstrap)
========================================================= */

:root {
    /* MARCA */
    --cor-primaria: #25528c;
    --cor-primaria-escura: #112540;
    --cor-primaria-suave: #2e63ad;
    --cor-secundaria: #5a93e2;
    --cor-secundaria-clara: #82afed;
    --cor-destaque: #f0a020;
    --cor-destaque-hover: #d98e10;

    /* FUNDOS */
    --cor-branco: #ffffff;
    --cor-fundo-base: var(--cor-branco);
    --cor-fundo-pagina: #f4f7fb;
    --cor-fundo-destaque: #e3ecfd;
    --cor-fundo-destaque-forte: #d3e2f8;
    --cor-borda-destaque: #e3ecfd;
    --cor-borda-destaque-forte: #acc9f1;
    --cor-fundo-cinza: #e9ecef;
    --cor-fundo-neutro: #dddddd;
    --cor-fundo-neutro-escuro: #cccccc;
    --cor-fundo-cinza-claro: #f2f2f2;

    /* TEXTO */
    --cor-texto: #122136;
    --cor-texto-forte: #212529;
    --cor-texto-corpo: #333333;
    --cor-texto-neutro: #727272;
    --cor-texto-claro: #cccccc;
    --cor-texto-suave: #627084;
    --cor-texto-cinza: #6c757d;
    --cor-preto: #000000;
    --cor-titulo: #25528c;
    --cor-titulo-escuro: #112540;
    --cor-titulo-acesso: #1f3047;

    /* LINKS E INTERACAO */
    --cor-link: #2e63ad;
    --cor-link-hover: #25528c;
    --cor-pills: #25528c;
    --cor-botao-hover: #112540;

    /* BORDAS E SOMBRAS */
    --cor-borda-clara: var(--cor-branco);
    --cor-borda-media: #cccccc;
    --cor-borda-escura: var(--cor-preto);
    --cor-borda-sobre-escuro: rgb(var(--rgb-branco) / 0.12);
    --sombra-padrao: 0 18px 40px rgb(var(--rgb-primaria-escura-5) / 0.18);

    /* ESTADOS */
    --cor-sucesso: #08a149; /* verde padrao: confirmacao, ativo, ok */
    --cor-falha: #c62828;   /* vermelho padrao: erro, exclusao, invalido */

    /* CANAIS RGB - usados para cores com transparencia: rgb(var(--rgb-NOME) / 0.2).
       Sao as cores base das sombras, bordas e fundos translucidos (nao use direto em color/background). */
    --rgb-preto: 0 0 0;
    --rgb-branco: 255 255 255;
    --rgb-primaria: 37 82 140;          /* = --cor-primaria */
    --rgb-primaria-escura-1: 11 37 96;
    --rgb-primaria-escura-2: 7 26 74;
    --rgb-primaria-escura-3: 5 19 50;
    --rgb-primaria-escura-4: 15 31 61;
    --rgb-primaria-escura-5: 17 36 62;
    --rgb-primaria-escura-6: 11 24 44;
    --rgb-secundaria-vivo: 47 169 255;
    --rgb-secundaria-brilho: 83 161 255;
    --rgb-rodape: 4 31 70;
    --rgb-rodape-escuro: 3 24 56;
    --rgb-menu: 7 17 44;
    --rgb-destaque-suave: 215 173 47;

    /* RAIO DE BORDA   (pp < p < m < g < gg < g1 < g2) */
    --raio-pp: 4px;
    --raio-p: 6px;
    --raio-m: 8px;
    --raio-g: 10px;
    --raio-gg: 12px;
    --raio-g1: 16px;
    --raio-g2: 20px;
    --raio-redondo: 999px;

    /* FONTE   (familia + tamanho de texto) */
    --fonte-familia: "Inter", "Segoe UI", Roboto, Arial, sans-serif;   /* fonte do site: troque so aqui por cliente */
    --fonte-body: var(--fonte-g);   /* tamanho base do texto do site (body) */
    --fonte-pp: 12px;
    --fonte-p: 13px;
    --fonte-m: 14px;
    --fonte-g: 16px;
    --fonte-gg: 18px;
    --fonte-g1: 20px;
    --fonte-g2: 24px;
    --fonte-g3: 30px;
    --fonte-g4: 32px;

    /* ESPACO   (padding, margin, gap) */
    --espaco-pp: 4px;
    --espaco-p: 8px;
    --espaco-m: 10px;
    --espaco-g: 12px;
    --espaco-gg: 16px;
    --espaco-g1: 20px;
    --espaco-g2: 24px;
    --espaco-g3: 30px;
    --espaco-g4: 40px;
    --espaco-g5: 48px;

    /* TAMANHO DE COMPONENTES   (largura/altura de botoes, icones, caixas) */
    --tamanho-pp: 24px;
    --tamanho-p: 32px;
    --tamanho-m: 36px;
    --tamanho-g: 40px;
    --tamanho-gg: 48px;
    --tamanho-g1: 54px;
    --tamanho-g2: 58px;
    --tamanho-g3: 64px;

    /* BOTOES (--botao-*; espaco-v = vertical, espaco-h = horizontal). Valores padrao do Bootstrap 5.2:
       pp=.btn-xs (extra do site)  p=.btn-sm  m=.btn  g=.btn-lg */
    --botao-pp-espaco-v: 2px;
    --botao-pp-espaco-h: 8px;
    --botao-pp-fonte: var(--fonte-pp);
    --botao-pp-altura: var(--tamanho-pp);
    --botao-p-espaco-v: var(--espaco-pp);
    --botao-p-espaco-h: var(--espaco-p);
    --botao-p-fonte: 14px;
    --botao-p-altura: var(--tamanho-m);
    --botao-m-espaco-v: 6px;
    --botao-m-espaco-h: var(--espaco-g);
    --botao-m-fonte: var(--fonte-g);
    --botao-m-altura: var(--tamanho-g);
    --botao-g-espaco-v: var(--espaco-p);
    --botao-g-espaco-h: var(--espaco-gg);
    --botao-g-fonte: var(--fonte-g1);
    --botao-g-altura: var(--tamanho-gg);
    --botao-raio: var(--raio-p);
    --botao-raio-redondo: var(--raio-redondo);
    --botao-peso: 400;
    --botao-icone-tamanho: var(--tamanho-p);   /* botoes quadrados so com icone */

    /* BOOTSTRAP 5.2 - tema do Bootstrap apontando para a paleta acima */
    --bs-primary: var(--cor-primaria);
    --bs-primary-rgb: 37, 82, 140; /* = --cor-primaria em rgb (rgb() nao aceita var) */
    --bs-body-color: var(--cor-texto);
    --bs-body-font-family: var(--fonte-familia);
    --bs-body-font-size: var(--fonte-body);
    --bs-body-bg: var(--cor-fundo-base);
    --bs-border-color: var(--cor-borda-media);

    /* DEMAIS CORES - variacoes de azul, cinza e alertas usadas em componentes */
    --cor-primaria-profunda: #133b72;
    --cor-primaria-media: #2063c2;
    --cor-primaria-pastel: #acc9f1;
    --cor-cinza-medio: #b5b5b5;
    --cor-cinza-escuro: #555555;
    --cor-cinza-grafite: #374151;
    --cor-quase-preto: #161718;
    --cor-primaria-acinzentada: #4b6589;
    --cor-primaria-acinzentada-clara: #9aa5bb;
    --cor-falha-claro: #ff9e9e;
    --cor-falha-escuro: #721c24;
    --cor-aviso-fundo: #fff8e1;
    --cor-aviso-texto: #6d4c00;
    --cor-whatsapp: #25d366;
    --cor-realce: #ffff00;   /* marca-texto: termo buscado destacado no resultado */
    --cor-sucesso-escuro: #14532d;
    --cor-sucesso-fundo: #ecfdf5;
    --cor-sucesso-borda: #bbf7d0;
    --cor-falha-fundo: #fef2f2;
    --cor-falha-borda: #fecaca;
    --cor-aviso-borda: #d6d6a0;

    /* MENU DO CABECALHO (dropdown e submenu) */
    --seta-drop-menu: 7px;          /* setinha ao lado do item com dropdown */
    --menu-dropdown-largura: 250px;    /* largura minima da caixa do dropdown */
    --menu-submenu-largura: 240px;     /* largura minima do submenu */

    /* GRAFICOS (paleta do donut; o JS le com getComputedStyle) */
    --cor-grafico-1: #3b82f6;
    --cor-grafico-2: #06b6d4;
    --cor-grafico-3: #10b981;
    --cor-grafico-4: #ef4444;
    --cor-grafico-5: #f97316;
    --cor-grafico-6: #8b5cf6;
    --cor-grafico-7: #ec4899;
    --cor-grafico-8: #fbbf24;
    --cor-texto-olho: #5c5f62;
    --cor-botao-claro-fundo: #c9daff;
    --cor-botao-claro-texto: #1372a8;

    /* DEGRADES - nome = cores de origem -> destino (mesmo nome das --cor-*, sem o "cor-"); 135deg e o padrao, -vertical = 180deg, -horizontal = 90deg */
    --degrade-texto-primaria: linear-gradient(to right, var(--cor-texto) 0%, transparent 50%), linear-gradient(to left, var(--cor-texto) 0%, transparent 50%), var(--cor-primaria);   /* to right + to left: centro mais claro, as duas laterais mais escuras */
    --degrade-primaria-primaria-suave: linear-gradient(135deg, var(--cor-primaria), var(--cor-primaria-suave));
    --degrade-primaria-suave-primaria: linear-gradient(135deg, var(--cor-primaria-suave), var(--cor-primaria));
    --degrade-primaria-escura-primaria-suave: linear-gradient(135deg, var(--cor-primaria-escura), var(--cor-primaria-suave));
    --degrade-primaria-escura-texto-vertical: linear-gradient(180deg, var(--cor-primaria-escura) 0%, var(--cor-texto) 100%);
    --degrade-secundaria-primaria-vertical: linear-gradient(180deg, var(--cor-secundaria), var(--cor-primaria));
    --degrade-secundaria-primaria-horizontal: linear-gradient(90deg, var(--cor-secundaria), var(--cor-primaria));
    --degrade-secundaria-clara-secundaria-horizontal: linear-gradient(90deg, var(--cor-secundaria-clara) 0%, var(--cor-secundaria) 100%);
    --degrade-link-primaria-suave: linear-gradient(135deg, var(--cor-link), var(--cor-primaria-suave));
    --degrade-branco-fundo-secao: linear-gradient(135deg, var(--cor-branco) 0%, var(--cor-fundo-pagina) 100%);
    --degrade-branco-transparente-vertical: linear-gradient(180deg, rgb(var(--rgb-branco) / .10), rgb(var(--rgb-branco) / 0));
    --degrade-pontos-branco: radial-gradient(rgb(var(--rgb-branco) / 0.08) 1px, transparent 1px);
    --degrade-primaria-vivo-horizontal: linear-gradient(90deg, #006be6, #0260dd, #0555d4, #0749cb, #093ec2);   /* faixa azul do meio.php (cores fixas) */
    /* COMPONENTES - cada um aponta para as escalas acima. Para mudar so o botao de share, edite aqui. */
    --logo-filtro-branco: brightness(0) invert(1);   /* deixa a logo toda branca, qualquer que seja a cor original */
    --barra-titulo-altura: 4px;   /* tracinho abaixo do titulo das paginas internas (h1::after) */
    --breadcrumb-fonte: var(--fonte-gg);   /* trilha de navegacao: texto */
    --breadcrumb-fonte-mobile: 15px;
    --breadcrumb-peso: 300;
    --breadcrumb-peso-atual: 500;   /* item da pagina atual */
    --breadcrumb-espaco: var(--espaco-m);   /* espaco entre texto e seta */
    --breadcrumb-espaco-mobile: var(--espaco-p);
    --breadcrumb-padding: 22px;   /* respiro acima/abaixo da trilha */
    --breadcrumb-padding-mobile: var(--espaco-gg);
    --breadcrumb-icone-tamanho: var(--fonte-pp);   /* seta ">" (bootstrap-icons) */
    --breadcrumb-icone-tamanho-mobile: 10px;
    --breadcrumb-icone-cor: var(--cor-destaque);   /* seta e texto ao passar o mouse */
    --sombra-flutuante: 0 var(--espaco-m) var(--espaco-g3) rgb(var(--rgb-preto) / 0.2);   /* popup e caixas que flutuam */
    --popup-direita: var(--espaco-g1);   /* posicao do popup aberto (ajustavel por cliente) */
    --popup-base: 150px;
    --popup-chip-esquerda: var(--espaco-g1);   /* botao do popup fechado */
    --popup-chip-base: calc(var(--espaco-g1) + env(safe-area-inset-bottom));
    --sombra-card: 0 var(--espaco-pp) var(--espaco-g) rgb(var(--rgb-preto) / 0.06);   /* cards de listagem */
    --listagem-card-espaco: var(--espaco-gg);   /* espaco interno e entre os cards das listagens */
    --listagem-campo-altura: var(--tamanho-g);   /* campos e botoes da busca detalhada */
    --tamanho-5: var(--espaco-5);   /* largura simbolica das opcoes dos filtros (91.php) */
    --logo-altura: 150px;   /* logo do cabecalho e do rodape; largura automatica */
    --botao-share-tamanho: var(--tamanho-p);
    --botao-share-raio: var(--raio-pp);
    --botao-share-fundo: var(--cor-whatsapp);
    --botao-share-cor: var(--cor-branco);

    /* BORDA   (espessura) */
    --borda-p: 1px;
    --borda-m: 2px;
    --borda-g: 3px;
    --borda-gg: 4px;
    --borda-g1: 5px;
    --borda-g2: 6px;
    /* TRANSICAO   (duracao) */
    --transicao-rapida: .2s;
    --transicao-padrao: .3s;
    --transicao-lenta: .5s;
    /* DESFOQUE   (blur) */
    --desfoque-p: 6px;
    /* VALORES FORA DA ESCALA (exatos, usados em componentes especificos) */
    --borda-0-5: 0.5px;
    --borda-1-5: 1.5px;
    --borda-7: 7px;
    --borda-8: var(--espaco-p);
    --borda-10: var(--espaco-m);
    --borda-15: 15px;
    --borda-20: var(--espaco-g1);
    --cor-acao: #0d6efd;
    --cor-popup-texto: #2d2751;
    --cor-switch-ativo: #6f42c1;
    --cor-popup-alerta: #b3261e;
    --espaco-0-2: 0.2px;
    --espaco-0-24: 0.24px;
    --espaco-0-3: 0.3px;
    --espaco-1: 1px;
    --espaco-2: 2px;
    --espaco-3: 3px;
    --espaco-5: 5px;
    --espaco-6: 6px;
    --espaco-7: 7px;
    --espaco-13: var(--fonte-p);
    --espaco-14: var(--fonte-m);
    --espaco-15: 15px;
    --espaco-18: var(--fonte-gg);
    --espaco-22: 22px;
    --espaco-25: 25px;
    --espaco-26: 26px;
    --espaco-28: 28px;
    --espaco-34: 34px;
    --espaco-45: 45px;
    --fonte-10: var(--espaco-m);
    --fonte-11: 11px;
    --fonte-22-4: 22.4px;
    --fonte-27-2: 27.2px;
    --fonte-28: 28px;
    --fonte-28-8: 28.8px;
    --raio-2: 2px;
    --raio-3: 3px;
    --raio-30: var(--espaco-g3);
    --raio-50: 50px;
    --rgb-foco-1: 0 123 255;
    --rgb-foco-2: 37 99 235;
    --tamanho-1: 1px;
    --tamanho-2: 2px;
    --tamanho-3: 3px;
    --tamanho-8: var(--espaco-p);
    --tamanho-10: var(--espaco-m);
    --tamanho-12: var(--espaco-g);
    --tamanho-14: var(--fonte-m);
    --tamanho-18: var(--fonte-gg);
    --tamanho-20: var(--espaco-g1);
    --tamanho-26: 26px;
    --tamanho-28: 28px;
    --tamanho-29: 29px;
    --tamanho-30: var(--espaco-g3);
    --tamanho-34: 34px;
    --tamanho-42: 42px;
    --tamanho-44: 44px;
    --tamanho-50: 50px;
    --tamanho-51: 51px;
    --tamanho-52: 52px;
    --tamanho-55: 55px;
    --tamanho-56: 56px;
    --tamanho-72: 72px;
    --tamanho-74: 74px;
    --tamanho-75: 75px;
    --tamanho-78: 78px;
    --tamanho-80: 80px;
    --tamanho-88: 88px;
    --tamanho-95: 95px;
    --tamanho-96: 96px;
    --tamanho-98: 98px;
    --tamanho-100: 100px;
    --tamanho-110: 110px;
    --tamanho-112: 112px;
    --tamanho-115: 115px;
    --tamanho-118: 118px;
    --tamanho-120: 120px;
    --tamanho-125: 125px;
    --tamanho-126: 126px;
    --tamanho-130: 130px;
    --tamanho-132: 132px;
    --tamanho-140: 140px;
    --tamanho-145: 145px;
    --tamanho-148: 148px;
    --tamanho-150: 150px;
    --tamanho-152: 152px;
    --tamanho-155: 155px;
    --tamanho-160: 160px;
    --tamanho-170: 170px;
    --tamanho-176: 176px;
    --tamanho-180: 180px;
    --tamanho-190: 190px;
    --tamanho-200: 200px;
    --tamanho-205: 205px;
    --tamanho-210: 210px;
    --tamanho-220: 220px;
    --tamanho-230: 230px;
    --tamanho-240: 240px;
    --tamanho-250: 250px;
    --tamanho-260: 260px;
    --tamanho-280: 280px;
    --tamanho-290: 290px;
    --tamanho-296: 296px;
    --tamanho-300: 300px;
    --tamanho-302: 302px;
    --tamanho-320: 320px;
    --tamanho-330: 330px;
    --tamanho-331: 331px;
    --tamanho-340: 340px;
    --tamanho-360: 360px;
    --tamanho-430: 430px;
    --tamanho-440: 440px;
    --tamanho-450: 450px;
    --tamanho-464: 464px;
    --tamanho-480: 480px;
    --tamanho-490: 490px;
    --tamanho-500: 500px;
    --tamanho-520: 520px;
    --tamanho-600: 600px;
    --tamanho-1180: 1180px;
    --tamanho-9999: 9999px;
    --tamanho-10000: 10000px;

    /* (continuacao) */
    --rgb-cookies-botao: 0 39 168;
    --rgb-cookies-botao-hover: 2 33 134;

    /* (continuacao) */
    --espaco-2-4: 2.4px;
    --fonte-0-75em: 0.75em;
    --fonte-0-9em: 0.9em;
    --fonte-0-95em: 0.95em;
    --fonte-1em: 1em;
    --fonte-1-2em: 1.2em;
    --fonte-1-3em: 1.3em;
    --fonte-1-5em: 1.5em;
    --letra-0-01em: 0.01em;
    --letra-0-02em: 0.02em;
    --letra-0-03em: 0.03em;
    --letra-0-04em: 0.04em;
    --letra-0-045em: 0.045em;
    --letra-0-08em: 0.08em;
    --tamanho-3-5em: 3.5em;
    --tamanho-40em: 40em;

    /* PESO DA FONTE   (font-weight) */
    --peso-leve: 300;
    --peso-normal: 400;
    --peso-medio: 500;
    --peso-semi: 600;
    --peso-forte: 700;
    --peso-extra: 800;
    --peso-preto: 900;
    /* ALTURA DE LINHA   (line-height) */
    --linha-1: 1;
    --linha-1-04: 1.04;
    --linha-1-05: 1.05;
    --linha-1-1: 1.1;
    --linha-1-15: 1.15;
    --linha-1-18: 1.18;
    --linha-1-2: 1.2;
    --linha-1-25: 1.25;
    --linha-1-3: 1.3;
    --linha-1-35: 1.35;
    --linha-1-4: 1.4;
    --linha-1-5: 1.5;
    --linha-1-55: 1.55;
    --linha-1-6: 1.6;
    --linha-120p: 120%;
    --linha-130p: 130%;
    --linha-180p: 180%;
    /* CAMADA   (z-index) */
    --camada-1: 1;
    --camada-2: 2;
    --camada-50: 50;
    --camada-98: 98;
    --camada-99: 99;
    --camada-999: 999;
    --camada-1000: 1000;
    --camada-1050: 1050;
    --camada-1051: 1051;
    --camada-9999: 9999;
    --camada-99990: 99990;
    --camada-99998: 99998;
    --camada-999999: 999999;
    --camada-10000000: 10000000;
    /* OPACIDADE */
    --opacidade-0-12: 0.12;
    --opacidade-0-45: 0.45;
    --opacidade-0-5: 0.5;
    --opacidade-0-6: 0.6;
    --opacidade-0-65: 0.65;
    --opacidade-0-75: 0.75;
    --opacidade-0-85: 0.85;
    --opacidade-0-9: 0.9;
    --opacidade-0-95: 0.95;

    /* (continuacao) */
    --tamanho-16: 16px;

    /* (continuacao) */
    --raio-35: 35px;


}

/* =========================================================
   REGRAS GLOBAIS
========================================================= */
.sr-only {
    border: 0;
    clip: rect(0, 0, 0, 0);
    height: var(--tamanho-1);
    margin: calc(var(--espaco-1) * -1);
    overflow: hidden;
    padding: 0;
    position: absolute;
    white-space: nowrap;
    width: var(--tamanho-1);
}

.custom-menu .nav-link {
    color: var(--cor-branco);
    transition: all var(--transicao-padrao) ease-in-out;
    font-size: var(--fonte-g);
    font-weight: var(--peso-medio);
    text-decoration: none;
    padding: var(--espaco-p) var(--espaco-g1);
    border-radius: var(--raio-g2);
}

.custom-menu .nav-link.active {
    background-color: var(--cor-link);
    color: var(--cor-branco);
    font-weight: var(--peso-semi);
}

.custom-menu .nav-link:hover {
    background-color: var(--cor-fundo-base);
    color: var(--cor-texto);
}

.offcanvas-backdrop.show {
    opacity: var(--opacidade-0-5);
    background-color: rgb(var(--rgb-preto) / 0.7);
}

.offcanvas .navbar-nav .nav-link {
    color: var(--cor-branco);
    background-color: var(--cor-link);
    margin-bottom: var(--espaco-m);
    padding: var(--espaco-m) var(--espaco-gg);
    text-align: left;
    border-radius: var(--raio-pp);
    text-transform: uppercase;
}

.offcanvas .navbar-nav .nav-link:hover {
    background-color: var(--cor-link);
}

.redes ul li i {
    font-size: var(--fonte-g);
}

.redes ul li a {
    text-decoration: none;
    color: var(--cor-branco);
}

.redes ul li {
    color: var(--cor-branco);
}

.header {
    padding-top: 0px;
    border-bottom: solid var(--borda-p) var(--cor-borda-media);
}

.nav-pills .nav-link {
    background-color: var(--cor-pills);
    color: var(--cor-branco);
    transition: background-color var(--transicao-padrao) ease, color var(--transicao-padrao) ease;
    font-size: var(--fonte-g);
    padding: var(--espaco-m) var(--espaco-gg);
    border-radius: var(--raio-m);
}

.nav-pills .nav-link.active {
    background-color: var(--cor-fundo-base);
    color: var(--cor-pills);
    font-weight: var(--peso-forte);
}

.nav-pills .nav-link:hover {
    background-color: var(--cor-fundo-base);
    color: var(--cor-pills);
}

.tab-pane.show {
    opacity: 1;
    transform: scale(1);
}

.menu-item:hover .menu-content {
    color: var(--cor-pills);
}

.item-card .card-body {
    color: var(--cor-texto-corpo);
}

.noticias-section {
    background-color: var(--cor-fundo-base);
}

.button-lado-noticia .btn.active {
    background-color: var(--cor-primaria-profunda);
    color: var(--cor-branco);
}

.menu-scroll {
    overflow: visible;
}

@media (max-width: 768px) {
    .menu-scroll {
        overflow-x: auto;
        white-space: nowrap;
        -webkit-overflow-scrolling: touch;
    }
}

.info-card .icon {
    font-size: var(--fonte-g2);
    background-color: var(--cor-fundo-cinza-claro);
    border-radius: 50%;
    width: var(--tamanho-gg);
    height: var(--tamanho-gg);
    display: flex;
    align-items: center;
    justify-content: center;
}

.info-card .title {
    font-size: var(--fonte-g1);
    font-weight: var(--peso-semi);
    margin: 0;
}

.info-card .description {
    font-size: var(--fonte-m);
    color: var(--cor-texto-cinza);
    height: var(--tamanho-gg);
}

.info-card .divider {
    height: var(--tamanho-1);
    background-color: var(--cor-fundo-cinza);
    margin: var(--espaco-m) 0;
}

.info-card .details {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    gap: var(--espaco-m);
    font-size: var(--fonte-m);
    color: var(--cor-texto-cinza);
}

.info-card .details .date,
.info-card .details .type {
    display: flex;
    align-items: center;
    gap: var(--espaco-pp);
}

.info-card .details i {
    font-size: var(--fonte-g);
    color: var(--cor-link);
}

.option-card {
    display: flex;
    align-items: center;
    gap: var(--espaco-p);
    padding: var(--espaco-pp) var(--espaco-g);
    background-color: var(--cor-fundo-base);
    border-radius: var(--raio-m);
    cursor: pointer;
    transition: all var(--transicao-padrao) ease;
    border: var(--borda-p) solid transparent;
}

.option-card.active {
    border-color: var(--cor-borda-media);
    background-color: var(--cor-fundo-pagina);
}

.option-card:hover {
    border-color: var(--cor-borda-media);
    box-shadow: 0px var(--espaco-6) var(--espaco-g) rgb(var(--rgb-preto) / 0.2);
}

.info-card.active {
    opacity: 1;
    transform: translateY(0);
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.rounded-slide {
    border-radius: var(--raio-g2);
    overflow: hidden;
}

.section-slide {
    padding: var(--espaco-gg);
}

/* =========================================================
   VEREADORES - cards da listagem (93.php)
========================================================= */
.card-container {
    display: flex;
    flex-wrap: wrap;
    gap: var(--espaco-g1);
    -ms-overflow-style: none;
    scrollbar-width: none;
}

.card-container::-webkit-scrollbar {
    display: none;
}

.vereador-card {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    width: calc(20% - var(--espaco-g1));
    min-height: var(--tamanho-250);
    padding: var(--espaco-g1);
    background: var(--cor-branco);
    border: var(--borda-p) solid var(--cor-borda-media);
    border-radius: var(--raio-g1);
    color: var(--cor-texto-forte);
}

.vereador-card img {
    position: absolute;
    top: var(--tamanho-75);
    left: var(--espaco-g1);
    border: var(--borda-g) solid var(--cor-borda-destaque);
    border-radius: 50%;
    background-color: var(--cor-destaque);
    object-fit: cover;
    object-position: top;
}

.vereador-card h5 {
    margin-top: var(--tamanho-130);
    margin-bottom: var(--espaco-5);
    font-size: var(--fonte-g1);
    font-weight: var(--peso-forte);
}

.vereador-card p {
    margin-bottom: var(--espaco-15);
    font-size: var(--fonte-m);
    text-align: left;
}

.vereador-card .badge {
    background-color: var(--cor-fundo-destaque);
    color: var(--cor-texto);
    font-size: var(--fonte-pp);
}

.vereador-card .btn {
    align-self: flex-start;
    padding: var(--espaco-5) var(--espaco-15);
    background-color: var(--cor-primaria-media);
    border-radius: var(--raio-g1);
    color: var(--cor-branco);
    font-size: var(--fonte-pp);
    font-weight: var(--peso-forte);
}

.vereador-card .btn:hover {
    background-color: var(--cor-link);
}

/* celular: cards em fila com rolagem lateral */
@media (max-width: 576px) {
    .card-container {
        flex-wrap: nowrap;
        gap: var(--espaco-m);
        padding: var(--espaco-m);
        overflow-x: auto;
        scroll-behavior: smooth;
    }

    .vereador-card {
        flex: 0 0 var(--tamanho-250);
    }

    .card-container > .vereador-card:last-child {
        margin-right: calc((100vw - var(--tamanho-250)) / 2);
    }

    .vereador-card img {
        margin: 0 auto calc(var(--tamanho-g) * -1);
    }

    .vereador-card .btn {
        align-self: normal;
    }
}

.breadcrumb-custom li.active {
    background-color: var(--cor-fundo-destaque-forte);
    color: var(--cor-titulo);
}

.breadcrumb-custom li.active,
.breadcrumb-custom li a:hover {
    text-decoration: none;
}

.compartilhe_noticia .face {
    margin-left: var(--espaco-3);
}

.acesso_rapido h2 {
    cursor: default;
    background-color: var(--cor-titulo);
    color: var(--cor-branco);
    width: 100%;
    margin: 0;
    padding: var(--espaco-gg);
    font-size: var(--fonte-g);
}

.acesso_rapido a {
    font-weight: var(--peso-forte);
    letter-spacing: calc(var(--espaco-0-24) * -1);
    line-height: var(--linha-120p);
    margin-bottom: var(--espaco-m);
    transition: color var(--transicao-rapida);
}

.noticias_baixo:hover span strong.titulo {
    color: var(--cor-link-hover);
}

.noticias_baixo span strong.titulo {
    font-style: normal;
    font-weight: var(--peso-semi);
    font-size: var(--fonte-m);
    color: var(--cor-texto-forte);
    display: inline-block;
    margin-bottom: var(--espaco-p);
}

/* Ultimas Noticias (lateral): texto ocupa o espaco que sobra, foto numa caixa quadrada de tamanho fixo */
.noticias_baixo {
    padding: var(--espaco-15);
}

.noticias_baixo > a > .row {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    gap: var(--espaco-m);
    margin: 0;
}

.noticias_baixo > a > .row > div {
    width: auto;
    max-width: none;
    padding: 0;
}

.noticias_baixo > a > .row > div:first-child {
    flex: 1 1 auto;
    min-width: 0;
}

.noticias_baixo > a > .row > div:last-child {
    flex: 0 0 auto;
}

.noticias_baixo img {
    display: block;
    max-width: none;
    object-fit: contain;
    border-radius: var(--raio-g);
    background-color: var(--cor-fundo-cinza);
}

.noticias_baixo img + br {
    display: none;
}

.txtacess {
    text-decoration: none;
    color: inherit;
    cursor: pointer;
}

.content_noticia {
    margin-top: var(--espaco-g1);
    padding-bottom: var(--espaco-g5);
    border-bottom: var(--borda-p) dotted var(--cor-borda-media);
}

.content_noticia img {
    border: var(--borda-p) solid var(--cor-borda-media);
    border-radius: var(--raio-g);
    object-fit: contain;
    width: 100%;
}

.content_noticia .content_right a {
    display: inline-block;
}

.content_noticia .content_right .data_noticia,
.data_noticia_int {
    background-color: var(--cor-cinza-medio);
    display: inline-block;
    padding: var(--espaco-p) var(--espaco-pp);
    color: var(--cor-branco);
    font-weight: var(--peso-leve);
    font-size: var(--fonte-p);
    margin: var(--espaco-m) 0;
    border-radius: var(--raio-pp);
}

.content_noticia .content_right h2,
h4 {
    margin: var(--espaco-m) 0 var(--espaco-m) 0;
    font-size: var(--fonte-g);
    color: var(--cor-texto-forte);
    font-weight: var(--peso-semi);
}

.content_noticia .content_right h5 {
    margin: var(--espaco-g1) 0 var(--espaco-m) 0;
    font-size: var(--fonte-g);
    color: var(--cor-preto);
    font-weight: var(--peso-semi);
}

.content_noticia .content_right p {
    font-size: var(--fonte-p);
    color: var(--cor-texto-neutro);
}

.content_noticia .content_right a:hover .data_noticia {
    background-color: var(--cor-link-hover);
}

.content_noticia .content_right a:hover h2 {
    color: var(--cor-link-hover);
}

.carousel-control-prev-icon,
.carousel-control-next-icon {
    filter: invert(1);
}

.carousel-control-prev,
.carousel-control-next {
    width: 5%;
}

.date {
    font-size: var(--fonte-pp);
    color: var(--cor-primaria-acinzentada);
    font-weight: var(--peso-semi);
    display: flex;
    align-items: center;
    margin-top: var(--espaco-g);
}

.date i {
    margin-right: var(--espaco-pp);
}

.title {
    font-size: var(--fonte-gg);
    font-weight: var(--peso-forte);
    color: var(--cor-primaria-profunda);
    margin: var(--espaco-pp) 0;
}

.title:hover,
.news-link:hover .title {
    color: var(--cor-primaria-escura);
}

.description {
    font-size: var(--fonte-m);
    color: var(--cor-texto-corpo);
}

.page-item.active .page-link {
    background-color: var(--cor-link);
    color: var(--cor-branco);
}

.page-item.disabled .page-link {
    background-color: var(--cor-fundo-pagina);
    color: var(--cor-cinza-medio);
    cursor: not-allowed;
}

#bloco-governo-digital {
    border-radius: var(--raio-m);
    border: var(--borda-p) solid var(--cor-borda-media);
    margin-bottom: var(--espaco-g1);
}

#bloco-governo-digital .container {
    position: relative;
}

#bloco-governo-digital .header-bloco-governo-digital {
    line-height: var(--tamanho-30);
}

#bloco-governo-digital h2 {
    font-size: var(--fonte-1-5em);
    font-weight: var(--peso-forte);
    display: inline-block;
    margin: 10 var(--espaco-g1) 0 var(--espaco-gg);
    color: var(--cor-titulo-escuro);
}

#bloco-governo-digital .btn-default {
    color: rgb(var(--rgb-primaria-escura-6));
    border: var(--borda-p) solid var(--cor-borda-media);
    display: inline-block;
    font-size: var(--botao-m-fonte);
    font-weight: var(--botao-peso);
    height: var(--botao-m-altura);
    line-height: var(--tamanho-g);
    margin-right: var(--espaco-gg);
    padding: 0 var(--botao-m-espaco-h);
    margin-top: var(--espaco-m);
    border-radius: var(--botao-raio);
}

#bloco-governo-digital .btn-default:hover {
    border: var(--borda-p) solid var(--cor-botao-hover);
    box-shadow: var(--espaco-1) var(--espaco-2) var(--espaco-3) rgb(var(--rgb-preto) / 0.3);
}

#bloco-governo-digital .btn-default.active {
    background: var(--cor-fundo-base);
    color: var(--cor-texto-claro);
}

#bloco-governo-digital .box-servicos {
    margin-top: var(--espaco-pp);
    font-size: var(--fonte-1em);
    -webkit-transition: all var(--transicao-lenta) ease-in-out;
    border-top: var(--borda-p) solid rgb(var(--rgb-branco) / 0.3);
    transition: all var(--transicao-lenta) ease-in-out;
    padding: var(--espaco-g3) 0;
}

#bloco-governo-digital .box-servicos.active {
    position: relative;
    visibility: visible;
    height: auto;
    opacity: 1;
}

#bloco-governo-digital .fechar-categorias {
    display: none;
    font-size: var(--fonte-1-5em);
    color: var(--cor-texto-claro) !important;
    position: absolute;
    z-index: var(--camada-999);
    right: var(--espaco-g3);
    margin-top: var(--espaco-g3);
}

#bloco-governo-digital #exibeCategoria {
    background: var(--cor-fundo-base);
    border-radius: var(--raio-pp);
    font-size: var(--fonte-0-75em);
    left: 0;
    margin: var(--espaco-g1) 0 0;
    padding: var(--espaco-g1);
    position: absolute;
    visibility: hidden;
    width: 100%;
    opacity: 0;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
    filter: alpha(opacity=0);
    -webkit-transition: var(--transicao-padrao);
    transition: var(--transicao-padrao);
}

#bloco-governo-digital .box-servicos a {
    width: 100%;
    height: 100%;
    padding: var(--espaco-g) var(--espaco-g) var(--espaco-g) var(--espaco-g1);
    -webkit-transition: var(--transicao-padrao);
    transition: var(--transicao-padrao);
}

#bloco-governo-digital.por-categoria .box-servicos .lista-categorias li a {
    color: var(--cor-titulo-escuro);
    text-transform: none;
}

#bloco-governo-digital.por-categoria .box-servicos .lista-categorias {
    padding-bottom: var(--espaco-m);
}

#bloco-governo-digital .box-servicos ul {
    padding: 0;
    display: block;
    width: 100%;
    -webkit-column-count: 3;
    column-count: 3;
    -webkit-column-gap: var(--espaco-g1);
    column-gap: var(--espaco-g1);
}

#bloco-governo-digital .box-servicos ul ul {
    column-count: 1;
    column-gap: 0;
    padding-left: var(--espaco-m);
}

#bloco-governo-digital .box-servicos li {
    display: block;
    margin: 0;
    text-transform: uppercase;
}

.fas {
    font-weight: var(--peso-preto);
}

@media (max-width: 575px) {
    #bloco-governo-digital .header-bloco-governo-digital a {
        width: 100% !important;
        margin-top: 0 !important;
    }
}

@media (max-width: 575px) {

    #bloco-governo-digital .box-servicos ul {
        -webkit-column-count: 1;
        column-count: 1;
    }
}

@media (max-width: 575px) {

    #bloco-governo-digital .btn-default {
        width: 100% !important;
    }
}

@media (max-width: 991px) {
    #bloco-governo-digital .header-bloco-governo-digital a {
        margin-bottom: var(--espaco-p);
        margin-right: var(--espaco-pp) !important;
    }
}

@media (max-width: 991px) {
    #bloco-governo-digital h2 {
        display: block;
        padding: var(--espaco-m) 0px var(--espaco-m) 0px !important;
        margin: 0;
        text-align: left;
        font-size: var(--fonte-1-3em);
    }
}

@media (max-width: 575px) {
    #bloco-governo-digital .header-bloco-governo-digital {
        margin-top: var(--espaco-pp);
        line-height: var(--tamanho-3-5em);
    }
}

@media (min-width: 991px) {
    #bloco-governo-digital .header-bloco-governo-digital {
        line-height: var(--tamanho-3-5em);
        text-align: center;
    }
}

.capitalize {
    text-transform: capitalize;
}

.section-menu-transparencia .nav-pills .nav-link {
    background-color: var(--cor-fundo-pagina);
    color: var(--cor-titulo-escuro);
    border-color: var(--cor-borda-media);
    border: var(--borda-p) solid var(--cor-borda-media);
    border-radius: var(--raio-m);
    font-weight: var(--peso-semi);
    padding: var(--espaco-p) var(--espaco-gg);
    margin: var(--espaco-pp);
}

.section-menu-transparencia .nav-pills .nav-link.active {
    background-color: var(--cor-botao-hover);
    color: var(--cor-branco);
    border-color: var(--cor-botao-hover);
}

.section-menu-transparencia .menu-item {
    display: block;
    background-color: var(--cor-fundo-base);
    padding: var(--espaco-g1);
    border: var(--borda-p) solid var(--cor-borda-media);
    border-radius: var(--raio-m);
    color: var(--cor-titulo-escuro);
    font-weight: var(--peso-semi);
    text-align: center;
    transition: var(--transicao-padrao);
    height: 100%;
}

.section-menu-transparencia .menu-item:hover {
    background-color: var(--cor-fundo-cinza);
    text-decoration: none;
}

#anterior,
#proximo {
    background-color: transparent;
    width: var(--tamanho-g);
    height: var(--tamanho-g);
    border-radius: 50%;
    box-shadow: none;
    cursor: pointer;
    z-index: var(--camada-1000);
}

#anterior {
    left: var(--espaco-m);
    margin-right: var(--espaco-p);
}

#anterior:hover,
#proximo:hover {
    opacity: var(--opacidade-0-5);
}

.indicatorr.active {
    background-color: var(--cor-sucesso);
    transform: scale(1.2);
}

.navbar-toggler.active span:nth-child(1) {
    transform: rotate(45deg) translate(var(--espaco-5), var(--espaco-5));
}

.navbar-toggler.active span:nth-child(2) {
    opacity: 0;
}

.navbar-toggler.active span:nth-child(3) {
    transform: rotate(-45deg) translate(var(--espaco-5), calc(var(--espaco-5) * -1));
}

.card {
    border-color: var(--cor-borda-media);
    box-shadow: 0 var(--espaco-2) var(--espaco-pp) rgb(var(--rgb-preto) / 0.1);
}

.sec-card {
    display: flex;
    align-items: flex-start;
}

.competencias-secretaria .collapse {
    padding-top: var(--espaco-m);
}

.card-title .position {
    margin: 0;
    font-size: var(--fonte-0-9em);
    color: var(--cor-branco);
}

.card h5 {
    margin: 0;
    font-size: var(--fonte-gg);
    font-weight: var(--peso-forte);
    line-height: var(--linha-130p);
    transition: color var(--transicao-rapida);
}

.info-notice {
    padding-left: var(--espaco-gg);
}

.info-notice a {
    font-size: var(--fonte-m);
    color: var(--cor-texto-corpo);
    text-decoration: none;
}

.info-notice a:hover {
    text-decoration: underline;
}

.info-notice h2 {
    margin: var(--espaco-m) 0 var(--espaco-pp);
    font-size: var(--fonte-1-2em);
}

.info-notice h4 {
    margin: 0;
    font-size: var(--fonte-1em);
    color: var(--cor-cinza-escuro);
}

@media (max-width: 768px) {
    .sec-card {
        flex-direction: column;
        text-align: center;
    }
}

@media (max-width: 768px) {

    .info-notice {
        padding-left: 0;
    }
}

#prev,
#next {
    background-color: transparent;
    width: var(--tamanho-g);
    height: var(--tamanho-g);
    border-radius: 50%;
    box-shadow: none;
    cursor: pointer;
    top: 50%;
    z-index: var(--camada-1000);
}

#prev {
    margin-right: var(--espaco-p);
}

#next {
    right: var(--espaco-m);
}

#prev:hover,
#next:hover {
    opacity: var(--opacidade-0-5);
}

#indicators {
    position: relative;
    bottom: calc(var(--espaco-g1) * -1);
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    gap: var(--espaco-m);
    justify-content: center;
}

.indicator {
    width: var(--tamanho-20);
    height: var(--tamanho-8);
    background-color: var(--cor-fundo-neutro-escuro);
    border-radius: var(--raio-pp);
    cursor: pointer;
    transition: background-color var(--transicao-padrao) ease, transform var(--transicao-padrao) ease;
}

.indicator.active {
    background-color: var(--cor-titulo-acesso);
    transform: scale(1.2);
}

.text-primary {
    color: var(--cor-pills);
    cursor: pointer;
}

/* reset: seletor universal (especificidade 0), perde para as classes do Bootstrap */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

.menu-container {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    gap: 0px;
    width: 100%;
}

.menu-item {
    text-decoration: none;
    background-color: var(--cor-fundo-base);
    padding: var(--espaco-gg) var(--espaco-m);
    text-align: center;
    border: var(--borda-0-5) solid var(--cor-borda-media);
    transition: background-color var(--transicao-padrao), color var(--transicao-padrao);
    cursor: pointer;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    height: var(--tamanho-160);
    color: var(--cor-quase-preto);
    border-radius: 0px;
}

.menu-item i {
    font-size: var(--fonte-g3);
    color: var(--cor-titulo);
    margin-bottom: var(--espaco-p);
}

.tit {
    font-size: var(--fonte-g);
    font-weight: var(--peso-semi);
    align-items: flex-start;
    line-height: var(--tamanho-18);
}

.sub {
    font-size: var(--fonte-pp);
    font-weight: var(--peso-semi);
    padding: var(--espaco-m) var(--espaco-2) var(--espaco-pp);
    line-height: var(--tamanho-12);
}

.menu-item:hover {
    background-color: var(--cor-titulo);
    color: var(--cor-branco);
}

.menu-item:hover i {
    color: var(--cor-branco);
}

.menu-container a {
    text-decoration: none !important;
    color: inherit;
    display: block;
}

@media (max-width: 1200px) {
    .menu-container {
        grid-template-columns: repeat(4, 1fr);
    }
}

@media (max-width: 768px) {
    .menu-container {
        grid-template-columns: repeat(2, 1fr);
    }
}

.portal-floating-tools {
    position: fixed;
    left: var(--espaco-gg);
    bottom: var(--tamanho-120);
    z-index: var(--camada-999999);
    display: flex;
    flex-direction: column;
    gap: var(--espaco-m);
    align-items: flex-start;
}

.portal-tool-item {
    width: var(--tamanho-g1);
    height: var(--tamanho-g1);
    border: none;
    border-radius: var(--raio-g1);
    background: var(--cor-fundo-base);
    box-shadow: 0 var(--espaco-p) var(--espaco-22) rgb(var(--rgb-preto) / 0.18);
    display: flex;
    align-items: center;
    overflow: hidden;
    cursor: pointer;
    text-decoration: none;
    padding: 0;
    color: var(--cor-primaria-profunda);
    transition: width var(--transicao-rapida) ease, transform var(--transicao-rapida) ease, box-shadow var(--transicao-rapida) ease;
}

.portal-floating-tools:hover .portal-tool-item,
.portal-floating-tools:focus-within .portal-tool-item {
    width: var(--tamanho-205);
}

.portal-tool-item:hover {
    transform: translateX(var(--espaco-3));
    box-shadow: 0 var(--espaco-m) var(--espaco-25) rgb(var(--rgb-preto) / 0.22);
}

.portal-tool-icon {
    min-width: var(--tamanho-g1);
    width: var(--tamanho-g1);
    height: var(--tamanho-g1);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--cor-branco);
    font-size: var(--fonte-g1);
}

.portal-tool-label {
    opacity: 0;
    white-space: nowrap;
    font-size: var(--fonte-m);
    font-weight: var(--peso-forte);
    padding: 0 var(--espaco-g);
    transition: opacity var(--transicao-rapida) ease;
}

.portal-floating-tools:hover .portal-tool-label,
.portal-floating-tools:focus-within .portal-tool-label {
    opacity: 1;
}

.portal-tool-arrow {
    margin-left: auto;
    padding-right: var(--espaco-g);
    opacity: 0;
    font-size: var(--fonte-gg);
    font-weight: var(--peso-forte);
    transition: opacity var(--transicao-rapida) ease;
}

.portal-floating-tools:hover .portal-tool-arrow,
.portal-floating-tools:focus-within .portal-tool-arrow {
    opacity: 1;
}

.portal-tool-duvidas .portal-tool-icon {
    background: var(--cor-link);
}

.portal-tool-cookies .portal-tool-icon {
    background: var(--cor-destaque);
}

.portal-tool-acessibilidade .portal-tool-icon {
    background: var(--cor-primaria-media);
}

.cookies-float-btn,
.accessibility-float-btn,
.duvidas-float-btn {
    display: none !important;
}

@media (min-width: 769px) {
    .portal-floating-tools {
        position: fixed;
        left: var(--espaco-gg);
        bottom: var(--tamanho-120);
        z-index: var(--camada-999999);
        display: flex;
        flex-direction: column;
        gap: var(--espaco-m);
        align-items: flex-start;
    }
}

@media (min-width: 769px) {

    .portal-tool-item {
        width: var(--tamanho-g1);
        height: var(--tamanho-g1);
    }
}

@media (min-width: 769px) {

    .portal-floating-tools:hover .portal-tool-item,
    .portal-floating-tools:focus-within .portal-tool-item {
        width: var(--tamanho-205);
    }
}

@media (min-width: 769px) {

    .portal-floating-tools:hover .portal-tool-label,
    .portal-floating-tools:focus-within .portal-tool-label,
    .portal-floating-tools:hover .portal-tool-arrow,
    .portal-floating-tools:focus-within .portal-tool-arrow {
        opacity: 1;
    }
}

@media (max-width: 768px) {
    .portal-floating-tools {
        position: fixed;
        left: var(--espaco-g);
        right: var(--espaco-g);
        bottom: var(--tamanho-72);
        z-index: var(--camada-99990);
        display: flex;
        flex-direction: row;
        justify-content: center;
        align-items: center;
        gap: var(--espaco-m);
        pointer-events: auto;
    }
}

@media (max-width: 768px) {

    .portal-tool-item {
        width: var(--tamanho-g1) !important;
        height: var(--tamanho-g1);
        border-radius: var(--raio-g1);
        flex: 0 0 var(--tamanho-g1);
    }
}

@media (max-width: 768px) {

    .portal-tool-icon {
        min-width: var(--tamanho-g1);
        width: var(--tamanho-g1);
        height: var(--tamanho-g1);
        font-size: var(--fonte-g1);
    }
}

@media (max-width: 768px) {

    .portal-tool-label,
    .portal-tool-arrow {
        display: none !important;
        opacity: 0 !important;
    }
}

@media (max-width: 768px) {

    .portal-floating-tools:hover .portal-tool-item,
    .portal-floating-tools:focus-within .portal-tool-item {
        width: var(--tamanho-g1) !important;
    }
}

@media (max-width: 768px) {

    .portal-tool-item.is-active-mobile {
        opacity: var(--opacidade-0-45);
        pointer-events: none;
    }
}

.index_body {
    background: var(--cor-fundo-pagina);
    color: var(--cor-texto);
}

.mapa-site-page {
    max-width: var(--tamanho-1180);
}

.mapa-site-toolbar {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: var(--espaco-gg);
    margin-bottom: var(--espaco-gg);
    padding-top: var(--espaco-m);
}

.mapa-site-actions .btn {
    color: var(--cor-primaria);
    background: var(--cor-fundo-base);
    border-color: rgb(var(--rgb-primaria-escura-1) / 0.2);
    transition: color var(--transicao-rapida) ease,
        background-color var(--transicao-rapida) ease,
        border-color var(--transicao-rapida) ease,
        box-shadow var(--transicao-rapida) ease,
        transform var(--transicao-rapida) ease;
}

.mapa-site-actions .btn:hover {
    color: var(--cor-branco);
    background: var(--cor-primaria);
    border-color: var(--cor-primaria);
    box-shadow: 0 var(--espaco-6) var(--espaco-14) rgb(var(--rgb-primaria-escura-2) / 0.24);
    transform: translateY(calc(var(--espaco-2) * -1));
}

.mapa-site-actions .btn:focus {
    box-shadow: none;
}

.mapa-site-hero {
    position: relative;
    overflow: hidden;
    margin-bottom: var(--espaco-g3);
    padding: var(--espaco-g3) var(--espaco-g3);
    background: var(--degrade-branco-fundo-secao);
    border: var(--borda-p) solid rgb(var(--rgb-primaria-escura-1) / 0.12);
    border-radius: var(--raio-g1);
    box-shadow: 0 var(--espaco-m) var(--espaco-28) rgb(var(--rgb-primaria-escura-3) / 0.08);
}

.mapa-site-hero::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: var(--tamanho-8);
    height: 100%;
    background: var(--degrade-secundaria-primaria-vertical);
}

.mapa-site-label {
    display: inline-block;
    margin-bottom: var(--espaco-p);
    color: var(--cor-primaria);
    font-size: var(--fonte-m);
    font-weight: var(--peso-forte);
    letter-spacing: var(--letra-0-03em);
    text-transform: uppercase;
}

.mapa-site-hero h2 {
    margin-bottom: var(--espaco-m);
    color: var(--cor-primaria-escura);
    font-size: var(--fonte-g4);
    font-weight: var(--peso-extra);
    line-height: var(--linha-1-2);
}

.mapa-site-hero p {
    margin-bottom: 0;
    color: var(--cor-texto-suave);
    font-size: var(--fonte-g);
    line-height: var(--linha-1-6);
}

.mapa-site-content {
    padding-bottom: var(--espaco-g5);
}

.mapa-site-grid {
    row-gap: var(--espaco-g2);
}

.mapa-site-col {
    display: flex;
}

.mapa-site-card {
    position: relative;
    width: 100%;
    height: 100%;
    overflow: hidden;
    padding: var(--espaco-g1) var(--espaco-g1) var(--espaco-gg);
    background: var(--cor-fundo-base);
    border: var(--borda-p) solid rgb(var(--rgb-primaria-escura-1) / 0.12);
    border-radius: var(--raio-g1);
    box-shadow: 0 var(--espaco-p) var(--espaco-22) rgb(var(--rgb-primaria-escura-3) / 0.07);
    transition: transform var(--transicao-padrao) ease,
        border-color var(--transicao-padrao) ease,
        box-shadow var(--transicao-padrao) ease;
}

.mapa-site-card::after {
    content: "";
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    height: var(--barra-titulo-altura);
    background: var(--degrade-secundaria-primaria-horizontal);
    opacity: 0;
    transition: opacity var(--transicao-padrao) ease;
}

.mapa-site-card:hover {
    border-color: rgb(var(--rgb-secundaria-vivo) / 0.45);
    box-shadow: var(--sombra-padrao);
    transform: translateY(calc(var(--espaco-6) * -1));
}

.mapa-site-card:hover::after {
    opacity: 1;
}

.mapa-site-card-header {
    display: flex;
    align-items: center;
    gap: var(--espaco-m);
    margin-bottom: var(--espaco-g);
    padding-bottom: var(--espaco-g);
    border-bottom: var(--borda-p) solid rgb(var(--rgb-primaria-escura-1) / 0.1);
}

.mapa-site-card-icon {
    width: var(--tamanho-m);
    height: var(--tamanho-m);
    min-width: var(--tamanho-m);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: var(--cor-primaria);
    background: rgb(var(--rgb-secundaria-vivo) / 0.12);
    border-radius: var(--raio-gg);
    font-size: var(--fonte-gg);
    transition: color var(--transicao-padrao) ease,
        background-color var(--transicao-padrao) ease,
        transform var(--transicao-padrao) ease;
}

.mapa-site-card:hover .mapa-site-card-icon {
    color: var(--cor-branco);
    background: var(--cor-primaria);
    transform: rotate(-4deg) scale(1.05);
}

.mapa-site-card-header h6 {
    margin: 0;
    color: var(--cor-primaria-escura);
    font-size: var(--fonte-g);
    font-weight: var(--peso-extra);
    line-height: var(--linha-1-25);
}

.mapa-site-list {
    margin: 0;
    padding: 0;
    list-style: none;
}

.mapa-site-list li {
    margin-bottom: var(--espaco-p);
}

.mapa-site-list li:last-child {
    margin-bottom: 0;
}

.mapa-site-list a {
    display: flex;
    align-items: center;
    gap: var(--espaco-p);
    padding: var(--espaco-p) var(--espaco-p);
    color: var(--cor-primaria);
    border-radius: var(--raio-g);
    font-size: var(--fonte-g);
    font-weight: var(--peso-medio);
    line-height: var(--linha-1-35);
    text-decoration: none;
    transition: color var(--transicao-rapida) ease,
        background-color var(--transicao-rapida) ease,
        box-shadow var(--transicao-rapida) ease,
        padding-left var(--transicao-rapida) ease;
}

.mapa-site-list a i {
    color: var(--cor-secundaria);
    font-size: var(--fonte-m);
    transition: color var(--transicao-rapida) ease,
        transform var(--transicao-rapida) ease;
}

.mapa-site-list a span {
    flex: 1;
}

.mapa-site-list a:hover {
    padding-left: var(--espaco-g);
    color: var(--cor-branco);
    background: var(--degrade-primaria-suave-primaria);
    box-shadow: 0 var(--espaco-6) var(--espaco-14) rgb(var(--rgb-primaria-escura-2) / 0.2);
}

.mapa-site-list a:hover i {
    color: var(--cor-branco);
    transform: translateX(var(--espaco-3));
}

.mapa-site-list a:focus {
    outline: var(--borda-g) solid rgb(var(--rgb-secundaria-vivo) / 0.3);
    outline-offset: var(--borda-m);
}

@media (max-width: 991px) {
    .mapa-site-hero {
        padding: var(--espaco-g2) var(--espaco-g2);
    }
}

@media (max-width: 991px) {

    .mapa-site-hero h2 {
        font-size: var(--fonte-27-2);
    }
}

@media (max-width: 767px) {
    .mapa-site-toolbar {
        flex-direction: column;
        align-items: flex-start;
    }
}

@media (max-width: 767px) {

    .mapa-site-actions {
        width: 100%;
        justify-content: flex-start;
    }
}

@media (max-width: 767px) {

    .mapa-site-hero {
        padding: var(--espaco-g1);
        border-radius: var(--raio-g1);
    }
}

@media (max-width: 767px) {

    .mapa-site-hero h2 {
        font-size: var(--fonte-g2);
    }
}

@media (max-width: 767px) {

    .mapa-site-hero p {
        font-size: var(--fonte-g);
    }
}

@media (max-width: 767px) {

    .mapa-site-card {
        padding: var(--espaco-gg);
        border-radius: var(--raio-g1);
    }
}

@media print {
    .mapa-site-toolbar,
    .mapa-site-actions {
        display: none !important;
    }
}

@media print {

    .index_body {
        background: var(--cor-fundo-base) !important;
    }
}

@media print {

    .mapa-site-hero,
    .mapa-site-card {
        border: var(--borda-p) solid var(--cor-borda-media) !important;
        box-shadow: none !important;
    }
}

@media print {

    .mapa-site-card:hover {
        transform: none !important;
    }
}

@media print {

    .mapa-site-list a {
        color: var(--cor-preto) !important;
        background: transparent !important;
        box-shadow: none !important;
    }
}

.pagina-legislacao {
    padding-top: var(--espaco-g1);
    padding-bottom: var(--espaco-g4);
    color: var(--cor-texto);
}

.planejamento-orcamentario {
    display: flex;
    align-items: center;
    justify-content: center;
    width: calc(100% - var(--tamanho-p));
    min-height: var(--tamanho-100);
    margin: var(--espaco-g1) var(--espaco-gg) 0;
    padding: var(--espaco-gg);
    border: 0;
    border-radius: var(--raio-m);
    background: var(--degrade-primaria-escura-primaria-suave);
    color: var(--cor-branco);
    text-align: center;
    text-decoration: none;
    font-size: var(--fonte-g);
    font-weight: var(--peso-forte);
    box-shadow: var(--sombra-padrao);
    transition: background-color var(--transicao-rapida) ease,
        transform var(--transicao-rapida) ease,
        box-shadow var(--transicao-rapida) ease;
}

.planejamento-orcamentario:hover,
.planejamento-orcamentario:focus {
    background: var(--cor-secundaria);
    color: var(--cor-branco);
    text-decoration: none;
    transform: translateY(calc(var(--espaco-2) * -1));
    box-shadow: 0 var(--espaco-g1) var(--espaco-45) rgb(var(--rgb-primaria-escura-3) / 0.24);
}

.formulario-legislacao {
    margin-top: var(--espaco-g1);
    margin-bottom: var(--espaco-g1);
    padding: var(--espaco-gg);
    border: var(--borda-p) solid rgb(var(--rgb-primaria-escura-4) / 0.12);
    border-radius: var(--raio-m);
    background-color: var(--cor-fundo-pagina);
    box-shadow: 0 var(--espaco-p) var(--espaco-22) rgb(var(--rgb-primaria-escura-3) / 0.08);
    text-align: center;
}

.titulo-busca {
    padding-bottom: var(--espaco-m);
}

.titulo-busca h4 {
    margin-top: 0;
    margin-bottom: var(--espaco-m);
    color: var(--cor-primaria-escura);
    font-weight: var(--peso-forte);
}

.formulario-legislacao label {
    display: block;
    margin-bottom: var(--espaco-pp);
    color: var(--cor-texto);
    text-align: left;
    font-size: var(--fonte-m);
    font-weight: var(--peso-semi);
}

.campo-legislacao {
    min-height: var(--tamanho-m);
    border: var(--borda-p) solid rgb(var(--rgb-primaria-escura-4) / 0.18);
    border-radius: var(--raio-p);
    background-color: var(--cor-fundo-base);
    color: var(--cor-texto);
    font-size: var(--fonte-pp);
    transition: border-color var(--transicao-rapida) ease,
        box-shadow var(--transicao-rapida) ease;
}

.campo-legislacao:focus {
    border-color: var(--cor-secundaria);
    outline: none;
    box-shadow: 0 0 0 var(--espaco-3) rgb(var(--rgb-secundaria-vivo) / 0.18);
}

/* destaque do filtro selecionado (100.php) */
.campo-legislacao.ativo {
    border-color: var(--cor-acao);
    background-color: var(--cor-fundo-destaque);
    font-weight: var(--peso-semi);
    box-shadow: 0 0 0 var(--espaco-2) rgb(var(--rgb-secundaria-vivo) / 0.15);
}

.botao-filtrar {
    min-height: var(--botao-p-altura);
    padding: var(--botao-p-espaco-v) var(--botao-p-espaco-h);
    border-color: var(--cor-primaria);
    border-radius: var(--botao-raio);
    background-color: var(--cor-primaria);
    color: var(--cor-branco);
    font-size: var(--botao-p-fonte);
    font-weight: var(--botao-peso);
}

.botao-filtrar:hover,
.botao-filtrar:focus {
    border-color: var(--cor-primaria-suave);
    background-color: var(--cor-primaria-suave);
    color: var(--cor-branco);
}

.acoes-legislacao {
    display: flex;
    justify-content: flex-end;
    flex-wrap: wrap;
    gap: var(--espaco-p);
    padding-bottom: var(--espaco-g);
}

.botao-acao {
    min-height: var(--botao-p-altura);
    padding: var(--botao-p-espaco-v) var(--botao-p-espaco-h);
    border-radius: var(--botao-raio-redondo);
    font-size: var(--botao-p-fonte);
    font-weight: var(--botao-peso);
}

.declaracao-ausencia-publicacoes {
    margin-bottom: var(--espaco-gg);
    padding: var(--espaco-g) var(--espaco-gg);
    border-left: var(--borda-g1) solid var(--cor-secundaria);
    border-radius: var(--raio-p);
    background-color: rgb(var(--rgb-secundaria-vivo) / 0.1);
    color: var(--cor-primaria-escura);
    font-size: var(--fonte-m);
    line-height: var(--linha-1-5);
}

.declaracao-ausencia-publicacoes strong {
    font-weight: var(--peso-forte);
}

.tabelalicitacao {
    width: 100%;
    margin-bottom: var(--espaco-g1);
    border-collapse: collapse;
    border: var(--borda-p) solid rgb(var(--rgb-primaria-escura-4) / 0.12);
    border-radius: var(--raio-m);
    background-color: var(--cor-fundo-base);
    color: var(--cor-texto);
    box-shadow: 0 var(--espaco-p) var(--espaco-22) rgb(var(--rgb-primaria-escura-3) / 0.08);
    overflow: hidden;
}

.tabelalicitacao td {
    padding: var(--espaco-m);
    border-color: rgb(var(--rgb-primaria-escura-4) / 0.12);
    vertical-align: middle;
}

.cabecalho-legislacao {
    background: var(--degrade-primaria-primaria-suave);
    color: var(--cor-branco);
}

.cabecalho-legislacao strong {
    color: var(--cor-branco);
}

.tdcinza {
    background-color: var(--cor-fundo-pagina);
    color: var(--cor-texto);
}

.btn-download {
    padding: var(--botao-pp-espaco-v) var(--botao-pp-espaco-h);
    border-color: var(--cor-primaria);
    border-radius: var(--botao-raio);
    background-color: var(--cor-primaria);
    color: var(--cor-branco);
    font-size: var(--botao-pp-fonte);
}

.btn-download:hover,
.btn-download:focus {
    border-color: var(--cor-secundaria);
    background-color: var(--cor-secundaria);
    color: var(--cor-branco);
}

.link-download,
.link-download:hover,
.link-download:focus {
    color: var(--cor-branco);
    text-decoration: none;
}

.arquivo-indisponivel {
    color: var(--cor-texto-suave);
    font-size: var(--fonte-m);
    font-style: italic;
}

.tabelalicitacao a {
    color: var(--cor-primaria);
    text-decoration: none;
    font-weight: var(--peso-medio);
}

.tabelalicitacao a:hover,
.tabelalicitacao a:focus {
    color: var(--cor-secundaria);
    text-decoration: underline;
}

.tabelalicitacao .link-download,
.tabelalicitacao .link-download:hover,
.tabelalicitacao .link-download:focus {
    color: var(--cor-branco);
    text-decoration: none;
}

.nenhum-registro {
    padding: var(--espaco-g1);
    border: var(--borda-p) solid rgb(var(--rgb-primaria-escura-4) / 0.12);
    border-radius: var(--raio-p);
    background-color: var(--cor-fundo-pagina);
    color: var(--cor-texto-suave);
    text-align: center;
    font-weight: var(--peso-semi);
}

.bootpag {
    padding: var(--espaco-m) 0;
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: var(--espaco-pp);
    padding-left: 0;
    list-style: none;
}

.bootpag li {
    margin: 0 var(--espaco-2);
    display: inline-block;
}

.bootpag li a {
    font-size: var(--fonte-m);
    display: block;
    min-width: var(--tamanho-m);
    padding: var(--espaco-p) var(--espaco-g);
    border: var(--borda-p) solid rgb(var(--rgb-primaria-escura-4) / 0.16);
    border-radius: var(--raio-pp);
    background-color: var(--cor-fundo-base);
    color: var(--cor-primaria);
    text-align: center;
    text-decoration: none;
    transition: background-color var(--transicao-rapida) ease,
        border-color var(--transicao-rapida) ease,
        color var(--transicao-rapida) ease;
}

.bootpag li a:hover {
    border-color: var(--cor-secundaria);
    background-color: rgb(var(--rgb-secundaria-vivo) / 0.1);
    color: var(--cor-primaria-escura);
}

.bootpag li.active a {
    border-color: var(--cor-primaria);
    background-color: var(--cor-primaria);
    color: var(--cor-branco);
}

.bootpag li.disabled a {
    color: var(--cor-texto-cinza);
    pointer-events: none;
    background-color: var(--cor-fundo-cinza);
    border-color: var(--cor-borda-media);
    cursor: not-allowed;
    opacity: var(--opacidade-0-5);
}

.linha-paginacao {
    margin-right: 0;
    margin-left: 0;
}

.ultima-atualizacao {
    margin-top: var(--espaco-g1);
    color: var(--cor-texto-suave);
    font-size: var(--fonte-m);
}

.php-error-box {
    position: relative;
    z-index: var(--camada-999999);
    margin: var(--espaco-g1);
    padding: var(--espaco-g1);
    border: var(--borda-m) solid var(--cor-falha-claro);
    border-radius: var(--raio-p);
    background-color: var(--cor-falha-escuro);
    color: var(--cor-branco);
    font-size: var(--fonte-m);
    line-height: var(--linha-1-6);
    white-space: pre-wrap;
}

.pagina-impressao {
    margin: 0;
    padding: var(--espaco-g1);
    background-color: var(--cor-fundo-base);
    color: var(--cor-texto);
}

.pagina-impressao table {
    width: 100%;
    margin-bottom: var(--espaco-gg);
    border-collapse: collapse;
    page-break-inside: avoid;
}

.pagina-impressao table,
.pagina-impressao th,
.pagina-impressao td {
    border: var(--borda-p) solid var(--cor-borda-media);
}

.pagina-impressao th,
.pagina-impressao td {
    padding: var(--espaco-p);
}

@media (max-width: 991px) {
    .formulario-legislacao .form-group {
        margin-bottom: var(--espaco-g);
    }
}

@media (max-width: 767px) {
    .pagina-legislacao {
        padding-top: var(--espaco-m);
    }
}

@media (max-width: 767px) {

    .planejamento-orcamentario {
        width: calc(100% - var(--tamanho-pp));
        min-height: var(--tamanho-75);
        margin-right: var(--espaco-m);
        margin-left: var(--espaco-m);
        padding: var(--espaco-g);
    }
}

@media (max-width: 767px) {

    .formulario-legislacao {
        padding: var(--espaco-g);
    }
}

@media (max-width: 767px) {

    .acoes-legislacao {
        justify-content: center;
    }
}

@media (max-width: 767px) {

    .botao-acao {
        flex: 1 1 auto;
    }
}

@media (max-width: 767px) {

    .tabelalicitacao {
        font-size: var(--fonte-m);
    }
}

@media (max-width: 767px) {

    .tabelalicitacao td {
        padding: var(--espaco-p);
    }
}

@media print {
    .no-print,
    .planejamento-orcamentario,
    .formulario-legislacao,
    #page-selection {
        display: none !important;
    }
}

@media print {

    .pagina-legislacao {
        padding: 0;
    }
}

@media print {

    .panel,
    .tabelalicitacao {
        box-shadow: none;
        page-break-inside: avoid;
    }
}

@media print {

    .cabecalho-legislacao {
        background: var(--cor-fundo-cinza) !important;
        color: var(--cor-preto) !important;
    }
}

@media print {

    .cabecalho-legislacao strong {
        color: var(--cor-preto) !important;
    }
}

@media print {

    .btn-download {
        border: 0;
        background-color: transparent;
        color: var(--cor-preto);
    }
}

@media print {

    .link-download,
    .link-download:hover,
    .link-download:focus {
        color: var(--cor-preto);
    }
}

body.index_body {
    color: var(--cor-texto);
    background-color: var(--cor-fundo-pagina);
}

body.index_body .conteudo_noticias {
    padding: var(--espaco-g3) 0 var(--espaco-g5);
    background-color: var(--cor-fundo-pagina) !important;
}

body.index_body .conteudo_noticias .padrao1_h2.padrao_interna {
    margin-bottom: var(--espaco-g2);
}

body.index_body .conteudo_noticias .padrao1_h2.padrao_interna h1 {
    position: relative;
    display: inline-block;
    margin: 0;
    padding: 0 0 var(--espaco-g);
    color: var(--cor-primaria-escura) !important;
    font-size: var(--fonte-g4);
    font-weight: var(--peso-forte);
    line-height: var(--linha-1-25);
    border: 0 !important;
}

body.index_body .conteudo_noticias .padrao1_h2.padrao_interna h1::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: var(--tamanho-72);
    height: var(--barra-titulo-altura);
    background-color: var(--cor-secundaria);
    border-radius: var(--raio-redondo);
}

body.index_body .conteudo_noticias .underline_ccc {
    margin-bottom: 0;
    border-bottom: 0 !important;
}

body.index_body .conteudo_noticias .col-md-9 > .panel.panel-default {
    margin: 0;
    padding: 0;
    overflow: visible;
    background-color: transparent;
    border: 0;
    border-radius: 0;
    box-shadow: none;
}

body.index_body .conteudo_noticias .col-md-9 > .panel.panel-default > .panel-heading {
    padding: 0;
    background-color: transparent;
    border: 0;
}

body.index_body .conteudo_noticias .panel-heading .navbar.navbar-default {
    background-color: transparent;
    min-height: auto;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
}

body.index_body .conteudo_noticias #contentAtual,
body.index_body .conteudo_noticias #content {
    width: 100%;
    margin: 0;
    padding: 0;
}

body.index_body .conteudo_noticias #content > form {
    margin: 0 0 var(--espaco-g2);
    padding: var(--espaco-g1) var(--espaco-g1) var(--espaco-m) !important;
    background: var(--degrade-primaria-escura-primaria-suave) !important;
    border: var(--borda-p) solid var(--cor-borda-sobre-escuro);
    border-radius: var(--raio-gg);
    box-shadow: var(--sombra-padrao);
}

body.index_body .conteudo_noticias #content > form .form-group {
    margin-bottom: var(--espaco-g);
}

body.index_body .conteudo_noticias #content > form label {
    display: block;
    margin: 0 0 var(--espaco-p);
    color: var(--cor-branco);
    font-size: var(--fonte-m);
    font-weight: var(--peso-forte);
    line-height: var(--linha-1-4);
}

body.index_body .conteudo_noticias #content > form .form-control {
    color: var(--cor-texto);
    background-color: var(--cor-fundo-base);
    border-color: rgb(var(--rgb-branco) / 0.3);
    box-shadow: none;
    transition: border-color var(--transicao-rapida) ease,
        box-shadow var(--transicao-rapida) ease;
}

body.index_body .conteudo_noticias #content > form .form-control::placeholder {
    color: var(--cor-texto-suave);
    opacity: 1;
}

body.index_body .conteudo_noticias #content > form .form-control:focus {
    background-color: var(--cor-fundo-base);
    border-color: var(--cor-secundaria);
    box-shadow: 0 0 0 var(--espaco-3) rgb(var(--rgb-secundaria-vivo) / 0.2);
}

body.index_body .conteudo_noticias #content > form select.form-control {
    cursor: pointer;
}

body.index_body .conteudo_noticias #content > form select.form-control option {
    color: var(--cor-texto);
    background-color: var(--cor-fundo-base);
}

body.index_body .conteudo_noticias #content > form .no-print {
    display: flex;
    align-items: center;
    gap: var(--espaco-p);
}

body.index_body .conteudo_noticias #content > form .no-print br {
    display: none;
}

body.index_body .conteudo_noticias #content > form .btn {
    color: var(--cor-branco);
    cursor: pointer;
    background-color: var(--cor-secundaria);
    border-color: var(--cor-secundaria);
    box-shadow: none;
    transition: background-color var(--transicao-rapida) ease,
        border-color var(--transicao-rapida) ease,
        box-shadow var(--transicao-rapida) ease,
        transform var(--transicao-rapida) ease;
}

body.index_body .conteudo_noticias #content > form .btn:hover,
body.index_body .conteudo_noticias #content > form .btn:focus {
    color: var(--cor-branco);
    background-color: var(--cor-primaria-media);
    border-color: var(--cor-primaria-media);
    transform: translateY(calc(var(--espaco-1) * -1));
    box-shadow: 0 var(--espaco-7) var(--espaco-gg) rgb(var(--rgb-secundaria-vivo) / 0.28);
}

body.index_body .conteudo_noticias #content > form .btn.btn-xs {
    color: var(--cor-branco);
    background-color: transparent;
    border-color: rgb(var(--rgb-branco) / 0.55);
}

body.index_body .conteudo_noticias #content > form .btn.btn-xs:hover,
body.index_body .conteudo_noticias #content > form .btn.btn-xs:focus {
    color: var(--cor-primaria-escura);
    background-color: var(--cor-fundo-base);
    border-color: var(--cor-borda-clara);
}

body.index_body .conteudo_noticias #content > form .btn i {
    margin-right: var(--espaco-pp);
}

body.index_body .conteudo_noticias #content > form .btn.btn-xs i {
    margin-right: var(--espaco-pp);
}

body.index_body .conteudo_noticias #content > .panel.panel-default {
    margin: 0 0 var(--espaco-g1);
    padding: 0;
    overflow: hidden;
    background-color: var(--cor-fundo-base);
    border: var(--borda-p) solid rgb(var(--rgb-primaria-escura-1) / 0.12);
    border-radius: var(--raio-gg);
    box-shadow: 0 var(--espaco-7) var(--espaco-22) rgb(var(--rgb-primaria-escura-3) / 0.07);
    transition: border-color var(--transicao-rapida) ease,
        box-shadow var(--transicao-rapida) ease,
        transform var(--transicao-rapida) ease;
}

body.index_body .conteudo_noticias #content > .panel.panel-default:hover {
    border-color: rgb(var(--rgb-secundaria-vivo) / 0.4);
    box-shadow: 0 var(--espaco-13) var(--espaco-28) rgb(var(--rgb-primaria-escura-3) / 0.12);
    transform: translateY(calc(var(--espaco-2) * -1));
}

body.index_body .conteudo_noticias .tabelalicitacao {
    width: 100%;
    max-width: 100%;
    margin: 0;
    color: var(--cor-texto);
    background-color: var(--cor-fundo-base);
    border: 0;
    border-collapse: collapse;
    border-spacing: 0;
    table-layout: auto;
}

body.index_body .conteudo_noticias .tabelalicitacao tbody,
body.index_body .conteudo_noticias .tabelalicitacao tr {
    width: 100%;
}

body.index_body .conteudo_noticias .tabelalicitacao td {
    padding: var(--espaco-g) var(--espaco-gg) !important;
    color: var(--cor-texto);
    font-size: var(--fonte-m);
    line-height: var(--linha-1-55);
    vertical-align: middle !important;
    overflow-wrap: normal;
    word-break: normal;
    background-color: var(--cor-fundo-base) !important;
    border: var(--borda-p) solid rgb(var(--rgb-primaria-escura-1) / 0.09) !important;
}

body.index_body .conteudo_noticias .tabelalicitacao tr:nth-child(even) td {
    background-color: var(--cor-fundo-base) !important;
}

body.index_body .conteudo_noticias .tabelalicitacao tr:first-child td,
body.index_body .conteudo_noticias .tabelalicitacao td.tdpreto {
    padding: var(--espaco-gg) var(--espaco-gg) !important;
    color: var(--cor-branco) !important;
    font-size: var(--fonte-g);
    background: var(--degrade-primaria-primaria-suave) !important;
    border-color: var(--cor-primaria) !important;
}

body.index_body .conteudo_noticias .tabelalicitacao tr:first-child td strong,
body.index_body .conteudo_noticias .tabelalicitacao td.tdpreto strong {
    color: var(--cor-branco) !important;
    font-weight: var(--peso-forte);
}

body.index_body .conteudo_noticias .tabelalicitacao td.tdcinza {
    width: var(--tamanho-145);
    color: var(--cor-primaria-escura);
    background-color: var(--cor-fundo-pagina) !important;
}

body.index_body .conteudo_noticias .tabelalicitacao td.tdcinza strong {
    color: var(--cor-primaria-escura);
    font-weight: var(--peso-forte);
}

body.index_body .conteudo_noticias .tabelalicitacao td a {
    color: var(--cor-primaria);
    font-weight: var(--peso-semi);
    text-decoration: none;
}

body.index_body .conteudo_noticias .tabelalicitacao td a:hover,
body.index_body .conteudo_noticias .tabelalicitacao td a:focus {
    color: var(--cor-secundaria);
    text-decoration: underline;
}

body.index_body .conteudo_noticias #content {
    color: var(--cor-texto-suave);
}

body.index_body .conteudo_noticias #content > .panel {
    color: var(--cor-texto);
}

body.index_body .conteudo_noticias .loading-indication {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: var(--espaco-p);
    margin: 0 0 var(--espaco-g1);
    padding: var(--espaco-gg);
    color: var(--cor-primaria);
    font-weight: var(--peso-semi);
    background-color: var(--cor-fundo-base);
    border: var(--borda-p) solid rgb(var(--rgb-primaria-escura-1) / 0.1);
    border-radius: var(--raio-g);
    box-shadow: 0 var(--espaco-6) var(--espaco-18) rgb(var(--rgb-primaria-escura-3) / 0.06);
}

body.index_body .conteudo_noticias .loading-indication img {
    width: var(--tamanho-pp);
    height: var(--tamanho-pp);
}

body.index_body .conteudo_noticias #page-selection {
    display: flex;
    justify-content: center;
    width: 100%;
    margin: var(--espaco-g3) 0 var(--espaco-gg);
}

body.index_body .conteudo_noticias #page-selection .pagination > li,
body.index_body .conteudo_noticias #page-selection .bootpag > li {
    display: inline-block;
    margin: 0;
}

body.index_body .conteudo_noticias #page-selection .pagination > li > a,
body.index_body .conteudo_noticias #page-selection .pagination > li > span,
body.index_body .conteudo_noticias #page-selection .bootpag > li > a,
body.index_body .conteudo_noticias #page-selection .bootpag > li > span {
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: var(--tamanho-g);
    height: var(--tamanho-g);
    margin: 0;
    padding: var(--espaco-p) var(--espaco-m);
    color: var(--cor-primaria);
    font-weight: var(--peso-semi);
    line-height: var(--linha-1);
    text-decoration: none;
    background-color: var(--cor-fundo-base);
    border: var(--borda-p) solid rgb(var(--rgb-primaria-escura-1) / 0.14);
    border-radius: var(--raio-m);
    transition: color var(--transicao-rapida) ease,
        background-color var(--transicao-rapida) ease,
        border-color var(--transicao-rapida) ease,
        transform var(--transicao-rapida) ease;
}

body.index_body .conteudo_noticias #page-selection .pagination > li > a:hover,
body.index_body .conteudo_noticias #page-selection .pagination > li > a:focus,
body.index_body .conteudo_noticias #page-selection .bootpag > li > a:hover,
body.index_body .conteudo_noticias #page-selection .bootpag > li > a:focus {
    color: var(--cor-branco);
    background-color: var(--cor-primaria-suave);
    border-color: var(--cor-primaria-suave);
    outline: none;
    transform: translateY(calc(var(--espaco-1) * -1));
}

body.index_body .conteudo_noticias #page-selection .pagination > .active > a,
body.index_body .conteudo_noticias #page-selection .pagination > .active > span,
body.index_body .conteudo_noticias #page-selection .bootpag > .active > a,
body.index_body .conteudo_noticias #page-selection .bootpag > .active > span {
    color: var(--cor-branco);
    background-color: var(--cor-secundaria);
    border-color: var(--cor-secundaria);
    box-shadow: 0 var(--espaco-6) var(--espaco-14) rgb(var(--rgb-secundaria-vivo) / 0.25);
}

body.index_body .conteudo_noticias #page-selection .pagination > .disabled > a,
body.index_body .conteudo_noticias #page-selection .pagination > .disabled > span,
body.index_body .conteudo_noticias #page-selection .bootpag > .disabled > a,
body.index_body .conteudo_noticias #page-selection .bootpag > .disabled > span {
    color: var(--cor-texto-suave);
    cursor: not-allowed;
    background-color: var(--cor-fundo-pagina);
    border-color: rgb(var(--rgb-primaria-escura-1) / 0.08);
    opacity: var(--opacidade-0-65);
}

body.index_body .hidden-ancora {
    position: absolute;
    width: var(--tamanho-1);
    height: var(--tamanho-1);
    margin: calc(var(--espaco-1) * -1);
    padding: 0;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    border: 0;
}

body.index_body .hidden-ancora:focus {
    top: var(--espaco-m);
    left: var(--espaco-m);
    z-index: var(--camada-9999);
    width: auto;
    height: auto;
    margin: 0;
    padding: var(--espaco-m) var(--espaco-gg);
    overflow: visible;
    clip: auto;
    color: var(--cor-branco);
    background-color: var(--cor-primaria-escura);
    border-radius: var(--raio-p);
}

@media (max-width: 991px) {
    body.index_body .conteudo_noticias {
        padding-top: var(--espaco-g2);
    }
}

@media (max-width: 991px) {

    body.index_body .conteudo_noticias #content > form .form-group {
        width: 100%;
    }
}

@media (max-width: 991px) {

    body.index_body .conteudo_noticias #content > form .no-print {
        padding-top: 0;
    }
}

@media (max-width: 767px) {
    body.index_body .conteudo_noticias {
        padding: var(--espaco-g1) 0 var(--espaco-g5);
    }
}

@media (max-width: 767px) {

    body.index_body .conteudo_noticias .padrao1_h2.padrao_interna h1 {
        font-size: var(--fonte-g2);
    }
}

@media (max-width: 767px) {

    body.index_body .conteudo_noticias #content > form {
        padding: var(--espaco-gg) var(--espaco-gg) var(--espaco-p) !important;
        border-radius: var(--raio-g);
    }
}

@media (max-width: 767px) {

    body.index_body .conteudo_noticias #content > form .no-print {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: var(--espaco-p);
        width: 100%;
    }
}

@media (max-width: 767px) {

    body.index_body .conteudo_noticias #content > .panel.panel-default {
        overflow-x: auto;
        border-radius: var(--raio-g);
    }
}

@media (max-width: 767px) {

    body.index_body .conteudo_noticias .tabelalicitacao,
    body.index_body .conteudo_noticias .tabelalicitacao tbody,
    body.index_body .conteudo_noticias .tabelalicitacao tr,
    body.index_body .conteudo_noticias .tabelalicitacao td {
        display: block;
        width: 100% !important;
    }
}

@media (max-width: 767px) {

    body.index_body .conteudo_noticias .tabelalicitacao tr {
        display: flex;
        flex-wrap: wrap;
    }
}

@media (max-width: 767px) {

    body.index_body .conteudo_noticias .tabelalicitacao tr:first-child {
        display: block;
    }
}

@media (max-width: 767px) {

    body.index_body .conteudo_noticias .tabelalicitacao tr:first-child td {
        display: block;
        width: 100% !important;
    }
}

@media (max-width: 767px) {

    body.index_body .conteudo_noticias .tabelalicitacao td.tdcinza {
        padding-bottom: var(--espaco-pp) !important;
        border-bottom: 0 !important;
    }
}

@media (max-width: 767px) {

    body.index_body .conteudo_noticias .tabelalicitacao td.tdcinza + td {
        padding-top: var(--espaco-p) !important;
    }
}

@media (max-width: 767px) {

    body.index_body .conteudo_noticias .tabelalicitacao td {
        border-right: 0 !important;
        border-left: 0 !important;
    }
}

@media (max-width: 767px) {

    body.index_body .conteudo_noticias #page-selection .pagination > li > a,
    body.index_body .conteudo_noticias #page-selection .pagination > li > span,
    body.index_body .conteudo_noticias #page-selection .bootpag > li > a,
    body.index_body .conteudo_noticias #page-selection .bootpag > li > span {
        min-width: var(--tamanho-m);
        height: var(--tamanho-m);
        padding: var(--espaco-pp) var(--espaco-p);
    }
}

@media print {
    body.index_body,
    body.index_body .conteudo_noticias {
        color: var(--cor-preto) !important;
        background-color: var(--cor-fundo-base) !important;
    }
}

@media print {

    body.index_body .conteudo_noticias .no-print,
    body.index_body .conteudo_noticias #content > form,
    body.index_body .conteudo_noticias #page-selection,
    body.index_body .conteudo_noticias .loading-indication,
    body.index_body .hidden-ancora {
        display: none !important;
    }
}

@media print {

    body.index_body .conteudo_noticias {
        padding: 0;
    }
}

@media print {

    body.index_body .conteudo_noticias #content > .panel.panel-default {
        break-inside: avoid;
        border: var(--borda-p) solid var(--cor-borda-media);
        box-shadow: none;
        transform: none;
    }
}

@media print {

    body.index_body .conteudo_noticias .tabelalicitacao tr:first-child td,
    body.index_body .conteudo_noticias .tabelalicitacao td.tdpreto {
        color: var(--cor-preto) !important;
        background: var(--cor-fundo-cinza) !important;
        border-color: var(--cor-borda-media) !important;
    }
}

@media print {

    body.index_body .conteudo_noticias .tabelalicitacao tr:first-child td strong,
    body.index_body .conteudo_noticias .tabelalicitacao td.tdpreto strong {
        color: var(--cor-preto) !important;
    }
}

@media print {

    body.index_body .conteudo_noticias .tabelalicitacao td.tdcinza {
        background-color: var(--cor-fundo-cinza-claro) !important;
    }
}

#contentAtual,
#content {
    width: 100%;
}

.filtros-concurso .form-group {
    margin-bottom: var(--espaco-m);
}

.filtros-concurso .form-control {
    border-color: rgb(var(--rgb-primaria-escura-4) / 0.18);
    background-color: var(--cor-fundo-base);
    color: var(--cor-texto);
    transition: border-color var(--transicao-rapida) ease, box-shadow var(--transicao-rapida) ease;
}

.filtros-concurso .form-control:focus {
    border-color: var(--cor-secundaria);
    box-shadow: 0 0 0 var(--espaco-3) rgb(var(--rgb-secundaria-vivo) / 0.15);
}

.filtros-concurso .form-control::placeholder {
    color: var(--cor-texto-suave);
}

.filtros-concurso .btn-primary {
    border-color: var(--cor-primaria);
    background: var(--cor-primaria);
    color: var(--cor-branco);
    transition: all var(--transicao-rapida) ease;
}

.filtros-concurso .btn-primary:hover,
.filtros-concurso .btn-primary:focus {
    border-color: var(--cor-primaria-suave);
    background: var(--cor-primaria-suave);
    color: var(--cor-branco);
    transform: translateY(calc(var(--espaco-1) * -1));
}

.acoes-concurso .btn {
    cursor: pointer;
    transition: all var(--transicao-rapida) ease;
}

.acoes-concurso .btn-outline-secondary {
    border-color: var(--cor-borda-media);
    background: transparent;
    color: var(--cor-texto-suave);
}

.acoes-concurso .btn-outline-secondary:hover {
    background: var(--cor-texto-suave);
    color: var(--cor-branco);
}

.acoes-concurso .btn-outline-primary {
    border-color: var(--cor-primaria);
    background: transparent;
    color: var(--cor-primaria);
}

.acoes-concurso .btn-outline-primary:hover {
    background: var(--cor-primaria);
    color: var(--cor-branco);
}

.acoes-concurso .btn-outline-danger {
    border-color: var(--cor-falha);
    background: transparent;
    color: var(--cor-falha);
}

.acoes-concurso .btn-outline-danger:hover {
    background: var(--cor-falha);
    color: var(--cor-branco);
}

.acoes-concurso .btn:hover {
    transform: translateY(calc(var(--espaco-2) * -1));
    box-shadow: 0 var(--espaco-7) var(--espaco-18) rgb(var(--rgb-primaria-escura-3) / 0.14);
}

.panel.panel-default {
    margin-bottom: var(--espaco-gg);
    overflow: hidden;
    border: var(--borda-p) solid rgb(var(--rgb-primaria-escura-4) / 0.1);
    border-radius: var(--raio-gg);
    background: var(--cor-fundo-base);
    box-shadow: 0 var(--espaco-p) var(--espaco-g2) rgb(var(--rgb-primaria-escura-3) / 0.08);
}

.tabelalicitacao,
.bloco-terceirizados .table {
    background: var(--cor-fundo-base);
    color: var(--cor-texto);
}

.tabelalicitacao td,
.tabelalicitacao th,
.bloco-terceirizados .table td,
.bloco-terceirizados .table th {
    padding: var(--espaco-g) var(--espaco-g);
    border: var(--borda-p) solid rgb(var(--rgb-primaria-escura-4) / 0.1);
    vertical-align: middle;
    word-break: normal;
    overflow-wrap: break-word;
}

.tabelalicitacao .tdcinza {
    width: var(--tamanho-150);
    background: rgb(var(--rgb-primaria-escura-1) / 0.06);
    color: var(--cor-primaria-escura);
    white-space: nowrap;
}

.tabelalicitacao strong,
.bloco-terceirizados strong {
    color: var(--cor-primaria-escura);
}

.tabelalicitacao .cabecalho-legislacao strong {
    color: var(--cor-branco) !important;
}

.tabelalicitacao .btn-outline-primary {
    border-color: var(--cor-primaria);
    background: transparent;
    color: var(--cor-primaria);
    transition: all var(--transicao-rapida) ease;
}

.tabelalicitacao .btn-outline-primary:hover {
    background: var(--cor-primaria);
    color: var(--cor-branco);
    transform: translateY(calc(var(--espaco-1) * -1));
}

.alert-warning {
    border-left-color: var(--cor-destaque-hover);
    background: var(--cor-aviso-fundo);
    color: var(--cor-aviso-texto);
}

.alert-info {
    border-left-color: var(--cor-secundaria);
    background: rgb(var(--rgb-secundaria-vivo) / 0.1);
    color: var(--cor-primaria-escura);
}

.text-muted {
    color: var(--cor-texto-suave);
}

.small {
    font-size: var(--fonte-m);
}

#page-selection {
    width: 100%;
    margin: var(--espaco-g3) 0;
    text-align: center;
}

.pagination > li,
.bootpag > li {
    display: inline-block;
}

.pagination > li > a,
.pagination > li > span,
.bootpag > li > a,
.bootpag > li > span {
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: var(--tamanho-m);
    height: var(--tamanho-m);
    padding: var(--espaco-pp) var(--espaco-m);
    border: var(--borda-p) solid rgb(var(--rgb-primaria-escura-4) / 0.15);
    border-radius: var(--raio-m);
    background: var(--cor-fundo-base);
    color: var(--cor-primaria);
    font-weight: var(--peso-semi);
    text-decoration: none;
    transition: all var(--transicao-rapida) ease;
}

.pagination > li > a:hover,
.bootpag > li > a:hover {
    border-color: var(--cor-secundaria);
    background: rgb(var(--rgb-secundaria-vivo) / 0.1);
    color: var(--cor-primaria-escura);
}

.pagination > .active > a,
.pagination > .active > span,
.bootpag > .active > a,
.bootpag > .active > span {
    border-color: var(--cor-primaria);
    background: var(--cor-primaria);
    color: var(--cor-branco);
}

.pagination > .disabled > a,
.pagination > .disabled > span,
.bootpag > .disabled > a,
.bootpag > .disabled > span {
    cursor: not-allowed;
    opacity: var(--opacidade-0-45);
}

.bloco-terceirizados .table {
    overflow: hidden;
    box-shadow: 0 var(--espaco-p) var(--espaco-g2) rgb(var(--rgb-primaria-escura-3) / 0.08);
}

@media (max-width: 767px) {
    .conteudo_noticias {
        padding: var(--espaco-g1) 0 var(--espaco-g4);
    }
}

@media (max-width: 767px) {

    .padrao_interna h1 {
        font-size: var(--fonte-g2);
    }
}

@media (max-width: 767px) {

    .filtros-concurso .form-group {
        width: 100%;
        margin-bottom: var(--espaco-gg);
    }
}

@media (max-width: 767px) {

    .filtros-concurso .hidden-xs {
        display: none;
    }
}

@media (max-width: 767px) {

    .panel.panel-default,
    .bloco-terceirizados {
        overflow-x: auto;
    }
}

@media (max-width: 767px) {

    .tabelalicitacao .tdcinza {
        width: var(--tamanho-125);
    }
}

@media print {
    .filtros-concurso,
    .acoes-concurso,
    #page-selection,
    .loading-indication,
    .tabelalicitacao .btn {
        display: none !important;
    }
}

@media print {

    .conteudo_noticias {
        padding: 0;
    }
}

@media print {

    .panel.panel-default,
    .bloco-terceirizados .table {
        border-color: var(--cor-borda-media);
        box-shadow: none;
    }
}

@media print {

    .tabelalicitacao td,
    .tabelalicitacao th,
    .bloco-terceirizados .table td,
    .bloco-terceirizados .table th {
        border: var(--borda-p) solid var(--cor-borda-media);
    }
}

.padrao1_h2 {
    margin-bottom: var(--espaco-g2);
}

.padrao1_h2 h1 {
    position: relative;
    margin: 0;
    padding-bottom: var(--espaco-g);
    color: var(--cor-primaria-escura);
    font-size: var(--fonte-g3);
    font-weight: var(--peso-forte);
    line-height: var(--linha-1-2);
}

.padrao1_h2 h1::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: var(--tamanho-g3);
    height: var(--barra-titulo-altura);
    border-radius: var(--raio-g);
    background: var(--cor-secundaria);
}

.titulo-concurso {
    margin: 0 0 var(--espaco-g1);
    color: var(--cor-primaria-escura);
    font-size: var(--fonte-g2);
    font-weight: var(--peso-forte);
    line-height: var(--linha-1-35);
}

.informacoes-gerais-row {
    margin-bottom: var(--espaco-g2);
}

.info-gerais {
    width: 100%;
    padding: var(--espaco-g3);
    border: var(--borda-p) solid rgb(var(--rgb-primaria-escura-4) / 0.1);
    border-radius: var(--raio-gg);
    background: var(--cor-fundo-base);
    box-shadow: var(--sombra-padrao);
}

.titulo-informacoes-gerais,
.titulo-publicacoes {
    margin: 0 0 var(--espaco-g2);
    color: var(--cor-primaria-escura);
    font-size: var(--fonte-g1);
    font-weight: var(--peso-forte);
    line-height: var(--linha-1-3);
    text-align: center;
}

.titulo-informacoes-gerais span,
.titulo-publicacoes span {
    position: relative;
    display: inline-block;
    padding-bottom: var(--espaco-m);
}

.titulo-informacoes-gerais span::after,
.titulo-publicacoes span::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 50%;
    width: var(--tamanho-g1);
    height: var(--tamanho-3);
    border-radius: var(--raio-g);
    background: var(--cor-secundaria);
    transform: translateX(-50%);
}

.info-gerais p {
    margin: 0;
    padding: var(--espaco-g) 0;
    border-bottom: var(--borda-p) solid rgb(var(--rgb-primaria-escura-4) / 0.08);
    color: var(--cor-texto);
    font-size: var(--fonte-g);
    line-height: var(--linha-1-6);
}

.info-gerais p:last-child {
    border-bottom: 0;
}

.info-gerais strong {
    color: var(--cor-primaria);
    font-weight: var(--peso-forte);
}

.blocoPadrao {
    width: 100%;
    margin-bottom: var(--espaco-g3);
    padding: var(--espaco-g3);
    border: var(--borda-p) solid rgb(var(--rgb-primaria-escura-4) / 0.1);
    border-radius: var(--raio-gg);
    background: var(--cor-fundo-base);
    box-shadow: var(--sombra-padrao);
    overflow: hidden;
}

.blocoPadrao .dados {
    padding: 0;
}

#blocoPublicacoes ul {
    margin: 0;
    padding: 0;
    list-style: none;
}

#blocoPublicacoes ul li {
    position: relative;
    display: flex;
    align-items: center;
    gap: var(--espaco-g);
    margin: 0;
    padding: var(--espaco-gg) var(--espaco-m);
    border-bottom: var(--borda-p) solid rgb(var(--rgb-primaria-escura-4) / 0.1);
    color: var(--cor-texto);
    list-style: none;
}

#blocoPublicacoes ul li:last-child {
    border-bottom: 0;
}

#blocoPublicacoes ul li.pdf {
    transition: background-color var(--transicao-rapida) ease,
        transform var(--transicao-rapida) ease;
}

#blocoPublicacoes ul li.pdf:hover {
    background: rgb(var(--rgb-secundaria-vivo) / 0.08);
    transform: translateX(var(--espaco-3));
}

#blocoPublicacoes ul li.pdf img {
    width: var(--tamanho-pp);
    max-width: var(--tamanho-pp);
    height: auto;
    flex-shrink: 0;
}

#blocoPublicacoes ul li.pdf a {
    display: flex;
    flex: 1;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: var(--espaco-p) var(--espaco-gg);
    color: var(--cor-primaria);
    font-size: var(--fonte-m);
    font-weight: var(--peso-semi);
    line-height: var(--linha-1-5);
    text-decoration: none;
    text-transform: uppercase;
    transition: color var(--transicao-rapida) ease;
}

#blocoPublicacoes ul li.pdf a:hover {
    color: var(--cor-secundaria);
}

#blocoPublicacoes ul li.pdf a span {
    color: var(--cor-texto-suave);
    font-size: var(--fonte-p);
    font-weight: var(--peso-medio);
    white-space: nowrap;
}

.cabecalho-publicacoes {
    display: block !important;
    padding: var(--espaco-gg) var(--espaco-m) !important;
    border-bottom: var(--borda-m) solid var(--cor-secundaria) !important;
    background: rgb(var(--rgb-primaria-escura-2) / 0.04);
}

.titulo-editais-anexos {
    margin: 0;
    color: var(--cor-primaria-escura);
    font-size: var(--fonte-g);
    font-weight: var(--peso-forte);
    line-height: var(--linha-1-4);
    text-transform: uppercase;
}

#content > p {
    margin: 0;
    padding: var(--espaco-g1);
    border-left: var(--borda-gg) solid var(--cor-secundaria);
    border-radius: var(--raio-m);
    background: rgb(var(--rgb-secundaria-vivo) / 0.08);
    color: var(--cor-texto);
    font-size: var(--fonte-g);
    line-height: var(--linha-1-5);
}

@media (max-width: 991px) {
    .conteudo_noticias {
        padding: var(--espaco-g2) 0 var(--espaco-g5);
    }
}

@media (max-width: 991px) {

    .padrao1_h2 h1 {
        font-size: var(--fonte-g3);
    }
}

@media (max-width: 991px) {

    .titulo-concurso {
        font-size: var(--fonte-g1);
    }
}

@media (max-width: 991px) {

    .info-gerais,
    .blocoPadrao {
        padding: var(--espaco-g2);
    }
}

@media (max-width: 767px) {
    .conteudo_noticias {
        padding: var(--espaco-g1) 0 var(--espaco-g3);
    }
}

@media (max-width: 767px) {

    .padrao1_h2 {
        margin-bottom: var(--espaco-g1);
    }
}

@media (max-width: 767px) {

    .padrao1_h2 h1 {
        font-size: var(--fonte-g2);
    }
}

@media (max-width: 767px) {

    .titulo-concurso {
        font-size: var(--fonte-g1);
    }
}

@media (max-width: 767px) {

    .info-gerais,
    .blocoPadrao {
        padding: var(--espaco-g1);
        border-radius: var(--raio-g);
    }
}

@media (max-width: 767px) {

    .titulo-informacoes-gerais,
    .titulo-publicacoes {
        margin-bottom: var(--espaco-g1);
        font-size: var(--fonte-g1);
    }
}

@media (max-width: 767px) {

    .info-gerais p {
        font-size: var(--fonte-m);
    }
}

@media (max-width: 767px) {

    #blocoPublicacoes ul li {
        align-items: flex-start;
        padding: var(--espaco-gg) var(--espaco-pp);
    }
}

@media (max-width: 767px) {

    #blocoPublicacoes ul li.pdf a {
        display: block;
        font-size: var(--fonte-m);
    }
}

@media (max-width: 767px) {

    #blocoPublicacoes ul li.pdf a span {
        display: block;
        margin-top: var(--espaco-pp);
        white-space: normal;
    }
}

@media (max-width: 480px) {
    .info-gerais,
    .blocoPadrao {
        padding: var(--espaco-gg);
    }
}

@media (max-width: 480px) {

    #blocoPublicacoes ul li.pdf img {
        width: var(--tamanho-pp);
        max-width: var(--tamanho-pp);
    }
}

@media (max-width: 480px) {

    .titulo-editais-anexos {
        font-size: var(--fonte-m);
    }
}

.secretaria-grid > .text-white {
    grid-column: 1 / -1;
    padding: var(--espaco-g1);
    color: var(--cor-texto) !important;
    text-align: center;
    background-color: var(--cor-fundo-base);
    border: var(--borda-p) solid rgb(var(--rgb-primaria-escura-4) / 0.12);
    border-radius: var(--raio-gg);
    box-shadow: var(--sombra-padrao);
}

.conteudo_noticias .padrao1_h2 h1 {
    color: var(--cor-primaria);
}

.conteudo_noticias p.text-white {
    color: var(--cor-branco) !important;
    font-size: var(--fonte-g);
    line-height: var(--linha-1-6);
}

.conteudo_noticias {
    width: 100%;
    padding: var(--espaco-g3) 0 var(--espaco-g5);
}

.padrao_interna h1 {
    position: relative;
    margin: 0 0 var(--espaco-g3);
    padding-bottom: var(--espaco-g);
    color: var(--cor-primaria-escura);
    font-size: var(--fonte-g3);
    font-weight: var(--peso-forte);
    line-height: var(--linha-1-2);
}

.padrao_interna h1::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: var(--tamanho-g3);
    height: var(--barra-titulo-altura);
    border-radius: var(--raio-g2);
    background: var(--cor-secundaria);
}

.panel {
    margin-bottom: var(--espaco-g2);
    border: 0;
    border-radius: var(--raio-gg);
    background: var(--cor-fundo-base);
    box-shadow: var(--sombra-padrao);
    overflow: hidden;
}

.panel-heading {
    padding: 0;
    border: 0;
    background: transparent;
}

.navbar.navbar-default {
    background: transparent;
    min-height: 0;
    margin: 0;
    border: 0;
}

#content {
    width: 100%;
    padding: var(--espaco-g1);
}

.form-filtros-ubs .form-group {
    margin-bottom: var(--espaco-gg);
}

.form-filtros-ubs .form-control {
    border-color: rgb(var(--rgb-primaria-escura-1) / 0.2);
    background: var(--cor-fundo-base);
    color: var(--cor-texto);
    box-shadow: none;
    transition: border-color var(--transicao-rapida) ease, box-shadow var(--transicao-rapida) ease;
}

.form-filtros-ubs .form-control::placeholder {
    color: var(--cor-texto-suave);
}

.form-filtros-ubs .form-control:focus {
    border-color: var(--cor-secundaria);
    box-shadow: 0 0 0 var(--espaco-3) rgb(var(--rgb-secundaria-vivo) / 0.15);
}

.paginacao-ubs .pagination > li > a,
.paginacao-ubs .pagination > li > span {
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: var(--tamanho-g);
    min-height: var(--tamanho-g);
    padding: var(--espaco-p) var(--espaco-g);
    border: var(--borda-p) solid rgb(var(--rgb-primaria-escura-1) / 0.15);
    border-radius: var(--raio-m);
    background: var(--cor-fundo-base);
    color: var(--cor-primaria);
    font-size: var(--fonte-p);
    font-weight: var(--peso-semi);
    text-decoration: none;
    transition: background var(--transicao-rapida) ease, color var(--transicao-rapida) ease, border-color var(--transicao-rapida) ease;
}

.paginacao-ubs .pagination > li > a:hover,
.paginacao-ubs .pagination > li > a:focus {
    border-color: var(--cor-secundaria);
    background: rgb(var(--rgb-secundaria-vivo) / 0.1);
    color: var(--cor-primaria-escura);
}

.paginacao-ubs .pagination > .active > a,
.paginacao-ubs .pagination > .active > span {
    border-color: var(--cor-primaria);
    background: var(--cor-primaria);
    color: var(--cor-branco);
}

.loading-indication {
    background-color: rgb(var(--rgb-secundaria-vivo) / 0.1);
    margin-bottom: var(--espaco-gg);
    padding: var(--espaco-g) var(--espaco-gg);
    border-radius: var(--raio-m);
    background: rgb(var(--rgb-secundaria-vivo) / 0.1);
    color: var(--cor-primaria);
    font-size: var(--fonte-m);
    font-weight: var(--peso-semi);
    text-align: center;
}

.modal-content {
    background: rgb(var(--rgb-preto) / 0.8);
    border: 0;
    border-radius: var(--raio-gg);
    box-shadow: var(--sombra-padrao);
    overflow: hidden;
}

.modal-header .close {
    border: 0;
    background: transparent;
    color: var(--cor-branco);
    font-size: var(--fonte-g3);
    opacity: 1;
}

.modal-body {
    padding: var(--espaco-g1);
    color: var(--cor-texto);
}

.hidden-ancora {
    top: calc(var(--tamanho-9999) * -1);
    position: absolute;
    left: calc(var(--tamanho-9999) * -1);
    width: var(--tamanho-1);
    height: var(--tamanho-1);
    overflow: hidden;
}

.hidden-ancora:focus {
    text-decoration: none;
    top: var(--espaco-m);
    left: var(--espaco-m);
    z-index: var(--camada-9999);
    width: auto;
    height: auto;
    padding: var(--espaco-m) var(--espaco-g);
    border-radius: var(--raio-p);
    background: var(--cor-primaria-escura);
    color: var(--cor-branco);
}

@media (max-width: 991px) {
    .conteudo_noticias {
        padding-top: var(--espaco-g2);
    }
}

@media (max-width: 991px) {

    #content {
        padding: var(--espaco-gg);
    }
}

@media (max-width: 767px) {
    .padrao_interna h1 {
        font-size: var(--fonte-g2);
    }
}

@media (max-width: 767px) {

    #content {
        padding: var(--espaco-g);
    }
}

@media (max-width: 767px) {

    .paginacao-ubs .pagination > li > a,
    .paginacao-ubs .pagination > li > span {
        min-width: var(--tamanho-m);
        min-height: var(--tamanho-m);
        padding: var(--espaco-p) var(--espaco-m);
    }
}

@media print {
    .form-filtros-ubs,
    .acoes-filtro-ubs,
    .paginacao-ubs,
    .modal,
    .no-print {
        display: none !important;
    }
}

@media print {

    .panel,
    .painel-ubs {
        box-shadow: none;
    }
}


/* =========================================================
   BOOTSTRAP - classes do Bootstrap com as variaveis do site
========================================================= */

/* links soltos (sem classe) - nao afeta .btn, .nav-link, etc. */
a:not([class]) {
    color: var(--cor-link);
}

a:not([class]):hover {
    color: var(--cor-link-hover);
}

.btn-primary {
    --bs-btn-bg: var(--cor-primaria);
    --bs-btn-border-color: var(--cor-primaria);
    --bs-btn-hover-bg: var(--cor-primaria-escura);
    --bs-btn-hover-border-color: var(--cor-primaria-escura);
    --bs-btn-active-bg: var(--cor-primaria-escura);
    --bs-btn-active-border-color: var(--cor-primaria-escura);
    --bs-btn-disabled-bg: var(--cor-primaria);
    --bs-btn-disabled-border-color: var(--cor-primaria);
}

.btn-outline-primary {
    --bs-btn-color: var(--cor-primaria);
    --bs-btn-border-color: var(--cor-primaria);
    --bs-btn-hover-bg: var(--cor-primaria);
    --bs-btn-hover-border-color: var(--cor-primaria);
    --bs-btn-active-bg: var(--cor-primaria);
    --bs-btn-active-border-color: var(--cor-primaria);
    --bs-btn-disabled-color: var(--cor-primaria);
    --bs-btn-disabled-border-color: var(--cor-primaria);
}

.nav-pills {
    --bs-nav-pills-link-active-bg: var(--cor-primaria);
}

.nav-link {
    --bs-nav-link-color: var(--cor-link);
    --bs-nav-link-hover-color: var(--cor-link-hover);
}

.pagination {
    --bs-pagination-color: var(--cor-link);
    --bs-pagination-hover-color: var(--cor-link-hover);
    --bs-pagination-active-bg: var(--cor-primaria);
    --bs-pagination-active-border-color: var(--cor-primaria);
}

.form-control:focus,
.form-select:focus {
    border-color: var(--cor-secundaria);
    box-shadow: 0 0 0 var(--espaco-pp) rgb(var(--rgb-primaria) / 0.25);
}

/* =========================================================
   BOTOES - mesmas classes do Bootstrap, valores das variaveis do site
   .btn-xs (extra do site) = pp | .btn-sm = p | .btn = m | .btn-lg = g
   Para mudar o tamanho de TODOS os botoes: edite --botao-*-* em styles.css
========================================================= */
.btn {
    --bs-btn-padding-y: var(--botao-m-espaco-v);
    --bs-btn-padding-x: var(--botao-m-espaco-h);
    --bs-btn-font-size: var(--botao-m-fonte);
    --bs-btn-font-weight: var(--botao-peso);
    --bs-btn-border-radius: var(--botao-raio);
}

.btn-xs {
    --bs-btn-padding-y: var(--botao-pp-espaco-v);
    --bs-btn-padding-x: var(--botao-pp-espaco-h);
    --bs-btn-font-size: var(--botao-pp-fonte);
    min-height: var(--botao-pp-altura);
}

.btn-sm {
    --bs-btn-padding-y: var(--botao-p-espaco-v);
    --bs-btn-padding-x: var(--botao-p-espaco-h);
    --bs-btn-font-size: var(--botao-p-fonte);
}

.btn-lg {
    --bs-btn-padding-y: var(--botao-g-espaco-v);
    --bs-btn-padding-x: var(--botao-g-espaco-h);
    --bs-btn-font-size: var(--botao-g-fonte);
    --bs-btn-border-radius: var(--botao-raio);
}

/* cores de estado: sucesso (verde) e falha (vermelho) */
.btn-success {
    --bs-btn-bg: var(--cor-sucesso);
    --bs-btn-border-color: var(--cor-sucesso);
    --bs-btn-hover-bg: var(--cor-sucesso);
    --bs-btn-hover-border-color: var(--cor-sucesso);
    --bs-btn-active-bg: var(--cor-sucesso);
    --bs-btn-active-border-color: var(--cor-sucesso);
}

.btn-danger {
    --bs-btn-bg: var(--cor-falha);
    --bs-btn-border-color: var(--cor-falha);
    --bs-btn-hover-bg: var(--cor-falha);
    --bs-btn-hover-border-color: var(--cor-falha);
    --bs-btn-active-bg: var(--cor-falha);
    --bs-btn-active-border-color: var(--cor-falha);
}

.btn-outline-success {
    --bs-btn-color: var(--cor-sucesso);
    --bs-btn-border-color: var(--cor-sucesso);
    --bs-btn-hover-bg: var(--cor-sucesso);
    --bs-btn-hover-border-color: var(--cor-sucesso);
}

.btn-outline-danger {
    --bs-btn-color: var(--cor-falha);
    --bs-btn-border-color: var(--cor-falha);
    --bs-btn-hover-bg: var(--cor-falha);
    --bs-btn-hover-border-color: var(--cor-falha);
}

/*  NAVBAR - regras restauradas do original (tamanhos/espacamentos)  */

.custom-menu {
    display: flex;
    justify-content: center;
    list-style-type: none;
    margin: 0;
    padding: 0;
    gap: var(--espaco-g1);
}

.custom-menu .nav-item {
    flex: none;
}

@media (max-width: 768px) {
    .custom-menu {
        flex-direction: column;
        gap: var(--espaco-m);
    }
}

.navbar-toggler {
    display: flex;
    align-items: center;
    justify-content: center;
    border: none;
    background-color: transparent;
    font-size: var(--fonte-g);
    color: var(--cor-texto-corpo);
}

.navbar-toggler-icon {
    margin-right: var(--espaco-pp);
    width: var(--tamanho-pp);
    height: var(--tamanho-pp);
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23333' viewBox='0 0 16 16'%3E%3Cpath fill-rule='evenodd' d='M0 2a2 2 0 012-2h12a2 2 0 012 2H0zm0 5h16v2H0V7zm0 5h16v2H0v-2z'/%3E%3C/svg%3E");
    background-size: contain;
}

@media (max-width: 768px) {
    .nav-pills .nav-link {
        font-size: var(--fonte-m);
        padding: var(--espaco-p) var(--espaco-g);
    }
}

@media (max-width: 575px) {

    .nav-item {
        width: 100% !important;
    }
}

.section-menu-transparencia .nav-pills {
    border: none;
    background-color: transparent;
    justify-content: center;
    flex-wrap: wrap;
}

.navbar-toggler span {
    display: block;
    width: var(--tamanho-pp);
    height: var(--tamanho-3);
    background-color: var(--cor-branco);
    margin: var(--espaco-pp) auto;
    transition: var(--transicao-padrao) ease;
    border-radius: var(--raio-2);
}

/* =========================================================
   HEADER
========================================================= */

body.ex-menu-open {
    overflow: hidden;
}

.ex-header {
    position: relative;
    z-index: var(--camada-50);
    background: var(--cor-primaria-escura);
}
.ex-utility-bar {
    background: var(--cor-fundo-pagina);
    border-top: var(--borda-p) solid rgb(var(--rgb-preto) / 0.06);
    border-bottom: var(--borda-p) solid rgb(var(--rgb-primaria-escura-4) / 0.08);
    font-size: var(--fonte-p);
}

.ex-utility-inner {
    width: 100%;
}

.ex-utility-desktop {
    min-height: var(--tamanho-m);
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    align-items: center;
    gap: var(--espaco-gg);
}

.ex-utility-left {
    display: flex;
    align-items: center;
    justify-content: flex-start;
}

.ex-utility-center {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: var(--espaco-g);
}

.ex-utility-right {
    display: flex;
    align-items: center;
    justify-content: flex-end;
}

.ex-utility-date,
.ex-utility-center a,
.ex-utility-right a {
    font-size: var(--fonte-pp);
    font-weight: var(--peso-normal);
    color: var(--cor-texto-suave);
    text-decoration: none;
    white-space: nowrap;
}

.ex-utility-center a:hover,
.ex-utility-right a:hover {
    color: var(--cor-primaria);
}

.ex-utility-center .sep {
    color: var(--cor-primaria-acinzentada-clara);
}

.ex-utility-mobile {
    display: none;
}

.ex-utility-mobile .ex-utility-left {
    justify-content: center;
    margin-bottom: var(--espaco-pp);
}

@media (max-width: 991.98px) {
    .ex-utility-mobile .ex-utility-left {
        display: none;
    }
}

.ex-utility-mobile-scroll {
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
}

.ex-utility-mobile-scroll::-webkit-scrollbar {
    display: none;
}

.ex-utility-mobile-track {
    display: inline-flex;
    align-items: center;
    gap: 0;
    min-width: max-content;
    padding: var(--espaco-pp) var(--espaco-gg) var(--espaco-pp);
}

.ex-utility-mobile-track a {
    display: inline-flex;
    align-items: center;
    white-space: nowrap;
    text-decoration: none;
    color: var(--cor-primaria-acinzentada);
    font-size: var(--fonte-p);
    font-weight: var(--peso-medio);
    padding: 0 var(--espaco-m);
    position: relative;
}

.ex-utility-mobile-track a:hover {
    color: var(--cor-primaria);
}

.ex-utility-mobile-track a:not(:last-child)::after {
    content: "|";
    position: absolute;
    right: calc(var(--espaco-2) * -1);
    color: var(--cor-primaria-acinzentada-clara);
}

.ex-utility-mobile-scroll::after {
    content: "";
    display: block;
    width: var(--tamanho-120);
    height: var(--tamanho-pp);
    border-radius: var(--raio-redondo);
    background: rgb(var(--rgb-primaria-escura-2) / 0.18);
    margin: 0 0 0 var(--espaco-gg);
}
.ex-main-bar {
    background: var(--degrade-texto-primaria);
    border-bottom: var(--borda-p) solid var(--cor-borda-sobre-escuro);
}

.ex-main-grid {
    min-height: var(--tamanho-78);
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    align-items: center;
}

.ex-main-actions {
    display: flex;
    align-items: center;
    gap: var(--espaco-p);
    justify-self: start;
}

.ex-main-logo {
    display: flex;
    justify-content: center;
    align-items: center;
}

.ex-main-social {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: var(--espaco-gg);
}

.ex-logo img {
    height: var(--logo-altura);
    width: auto;
    display: block;
    filter: var(--logo-filtro-branco);
}

.ex-main-social a,
.ex-icon-btn,
.ex-mobile-search-btn,
.ex-mobile-close {
    color: var(--cor-branco);
    background: transparent;
    border: 0;
    text-decoration: none;
    transition: all var(--transicao-rapida) ease;
}

.ex-main-social a {
    font-size: var(--fonte-g1);
}

.ex-main-social a:hover {
    color: var(--cor-secundaria);
    transform: translateY(calc(var(--espaco-2) * -1));
}

.ex-icon-btn i,
.ex-mobile-search-btn i,
.ex-mobile-close i {
    font-size: var(--fonte-g1);
    line-height: var(--linha-1);
}
.ex-nav-bar {
    background: var(--cor-primaria-escura);
    border-bottom: var(--borda-p) solid var(--cor-borda-sobre-escuro);
}

.ex-desktop-menu {
    list-style: none;
    margin: 0;
    padding: 0;
    min-height: var(--tamanho-g1);
    display: flex;
    align-items: center;
    justify-content: center;
    gap: var(--espaco-g3);
}

.ex-menu-item {
    position: relative;
}

.ex-menu-item>a {
    display: inline-flex;
    align-items: center;
    min-height: var(--tamanho-g1);
    color: var(--cor-branco);
    font-size: var(--fonte-pp);
    font-weight: var(--peso-semi);
    text-transform: uppercase;
    text-decoration: none;
    transition: var(--transicao-rapida) ease;
    white-space: nowrap;
}

.ex-menu-item>a:hover,
.ex-menu-item.active>a {
    color: var(--cor-secundaria);
}

.ex-menu-item.has-dropdown>a::after {
    content: "";
    display: inline-block;
    flex: 0 0 auto;
    box-sizing: border-box;
    width: var(--seta-drop-menu);
    height: var(--seta-drop-menu);
    margin-left: var(--espaco-p);
    border-right: var(--borda-1-5) solid var(--cor-borda-clara);
    border-bottom: var(--borda-1-5) solid var(--cor-borda-clara);
    transform: translateY(calc(var(--espaco-2) * -1)) rotate(45deg);
    transition: var(--transicao-rapida) ease;
}

.ex-menu-item.has-dropdown:hover>a::after,
.ex-menu-item.active>a::after {
    border-color: var(--cor-secundaria);
}

.ex-dropdown {
    position: absolute;
    top: calc(100% + var(--espaco-p));
    left: 0;
    min-width: var(--menu-dropdown-largura);
    background: var(--cor-fundo-base);
    border-radius: var(--raio-gg);
    box-shadow: var(--sombra-padrao);
    padding: var(--espaco-g) 0;
    opacity: 0;
    visibility: hidden;
    transform: translateY(var(--espaco-p));
    transition: var(--transicao-rapida) ease;
}

.ex-menu-item:hover .ex-dropdown {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.ex-dropdown ul {
    list-style: none;
    margin: 0;
    padding: 0;
}

.ex-dropdown li {
    position: relative;
}

.ex-dropdown li a {
    display: block;
    padding: var(--espaco-m) var(--espaco-gg);
    color: var(--cor-texto);
    text-decoration: none;
    font-size: var(--fonte-pp);
    font-weight: var(--peso-normal);
}

.ex-dropdown li a:hover {
    background: rgb(var(--rgb-primaria-escura-1) / 0.06);
    color: var(--cor-primaria);
}
.ex-dropdown li.has-submenu>a::after {
    content: "›";
    float: right;
    font-size: var(--fonte-g);
}

.ex-submenu {
    list-style: none;
    margin: 0;
    padding: var(--espaco-m) 0;
    position: absolute;
    top: 0;
    left: 100%;
    min-width: var(--menu-submenu-largura);
    background: var(--cor-fundo-base);
    border-radius: var(--raio-gg);
    box-shadow: 0 var(--espaco-18) var(--espaco-g4) rgb(var(--rgb-primaria-escura-3) / 0.18);
    opacity: 0;
    visibility: hidden;
    transform: translateX(var(--espaco-p));
    transition: var(--transicao-rapida) ease;
}

.ex-dropdown li.has-submenu:hover>.ex-submenu {
    opacity: 1;
    visibility: visible;
    transform: translateX(0);
}

.ex-submenu li a {
    display: block;
    padding: var(--espaco-m) var(--espaco-gg);
    color: var(--cor-texto);
    text-decoration: none;
    font-size: var(--fonte-m);
}

.ex-submenu li a:hover {
    background: rgb(var(--rgb-primaria-escura-1) / 0.06);
    color: var(--cor-primaria);
}
.ex-section-bar {
    background: var(--degrade-texto-primaria);
    border-top: var(--borda-p) solid rgb(var(--rgb-branco) / 0.06);
}
.ex-desktop-search {
    background: var(--cor-primaria-escura);
    max-height: 0;
    overflow: hidden;
    transition: max-height var(--transicao-padrao) ease;
    border-bottom: var(--borda-p) solid rgb(var(--rgb-branco) / 0.06);
}

.ex-desktop-search.is-open {
    max-height: var(--tamanho-120);
}

.ex-search-form {
    display: flex;
    align-items: center;
    padding: var(--espaco-gg) 0;
}

.ex-search-form input {
    width: 100%;
    height: var(--tamanho-gg);
    border: 0;
    outline: 0;
    border-radius: var(--raio-m) 0 0 var(--raio-m);
    padding: 0 var(--espaco-gg);
    font-size: var(--fonte-m);
    font-weight: var(--peso-normal);
    color: var(--cor-texto);
}

.ex-search-form button {
    width: var(--tamanho-g2);
    height: var(--tamanho-gg);
    border: 0;
    border-radius: 0 var(--raio-m) var(--raio-m) 0;
    background: var(--cor-secundaria);
    color: var(--cor-branco);
    font-size: var(--fonte-g1);
}
.ex-mobile-overlay {
    position: fixed;
    inset: 0;
    background: rgb(var(--rgb-menu) / 0.45);
    opacity: 0;
    visibility: hidden;
    transition: var(--transicao-rapida) ease;
    z-index: var(--camada-98);
}

.ex-mobile-overlay.is-active {
    opacity: 1;
    visibility: visible;
}
.ex-mobile-drawer {
    position: fixed;
    top: 0;
    left: 0;
    width: min(var(--tamanho-360), 92vw);
    height: 100vh;
    background: var(--degrade-primaria-escura-texto-vertical);
    transform: translateX(-100%);
    transition: var(--transicao-padrao) ease;
    z-index: var(--camada-99);
    display: flex;
    flex-direction: column;
    box-shadow: var(--espaco-18) 0 var(--espaco-g4) rgb(var(--rgb-preto) / 0.28);
}

.ex-mobile-drawer.is-open {
    transform: translateX(0);
}

.ex-mobile-header {
    min-height: var(--tamanho-74);
    padding: 0 var(--espaco-gg);
    border-bottom: var(--borda-p) solid rgb(var(--rgb-branco) / 0.12);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--espaco-g);
}

.ex-mobile-logo img {
    max-height: var(--tamanho-g);
    filter: var(--logo-filtro-branco);
}

.ex-mobile-search {
    display: none;
    padding: var(--espaco-g) var(--espaco-gg) 0;
}

.ex-mobile-search.is-open {
    display: block;
}

.ex-mobile-panels {
    position: relative;
    flex: 1;
    overflow: hidden;
}

.ex-mobile-panel {
    position: absolute;
    inset: 0;
    overflow-y: auto;
    padding: 0 0 var(--espaco-gg);
    transform: translateX(100%);
    transition: transform var(--transicao-padrao) ease;
}

.ex-mobile-panel.is-active {
    transform: translateX(0);
}

.ex-mobile-panel-title {
    color: var(--cor-branco);
    font-size: var(--fonte-pp);
    font-weight: var(--peso-semi);
    padding: var(--espaco-m) var(--espaco-gg) var(--espaco-g);
}

.ex-mobile-subheader {
    min-height: var(--tamanho-g2);
    display: flex;
    align-items: center;
    gap: var(--espaco-m);
    padding: var(--espaco-m) var(--espaco-gg) 0;
}

.ex-mobile-back {
    width: var(--tamanho-g);
    height: var(--tamanho-g);
    border-radius: 50%;
    border: 0;
    background: rgb(var(--rgb-branco) / 0.08);
    color: var(--cor-branco);
    font-size: var(--fonte-gg);
}

.ex-mobile-list {
    list-style: none;
    margin: 0;
    padding: 0 0 var(--espaco-g);
}

.ex-mobile-list li {
    border-bottom: var(--borda-p) solid rgb(var(--rgb-branco) / 0.08);
}

.ex-mobile-list a,
.ex-mobile-list button {
    width: 100%;
    min-height: var(--tamanho-g1);
    padding: 0 var(--espaco-gg);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--espaco-g);
    color: var(--cor-branco);
    text-decoration: none;
    font-size: var(--fonte-pp);
    font-weight: var(--peso-normal);
    background: transparent;
    border: 0;
    text-align: left;
}

.ex-mobile-list span {
    display: inline-flex;
    align-items: center;
    gap: var(--espaco-g);
}

.ex-mobile-list a:hover,
.ex-mobile-list button:hover {
    background: rgb(var(--rgb-branco) / 0.05);
}

@media (min-width: 992px) {
    .ex-utility-mobile {
        display: none !important;
    }
}

@media (max-width: 991.98px) {
    .ex-utility-desktop {
        display: none !important;
    }
}

@media (max-width: 991.98px) {

    .ex-utility-mobile {
        display: block;
        padding: var(--espaco-p) 0 var(--espaco-pp);
    }
}

@media (max-width: 991.98px) {

    .ex-main-grid {
        min-height: var(--tamanho-g3);
        grid-template-columns: auto 1fr auto;
        gap: var(--espaco-m);
    }
}

@media (max-width: 991.98px) {

    .ex-main-logo {
        justify-content: flex-start;
    }
}

@media (max-width: 991.98px) {

    .ex-main-social {
        display: none;
    }
}

@media (max-width: 991.98px) {

    .ex-logo img {
        max-height: var(--tamanho-110);
        margin: 0px var(--espaco-m) 0 var(--espaco-m);
    }
}

/* =========================================================
   FOOTER
========================================================= */

.ex-footer {
  padding: var(--espaco-g4) 0 0;
}

.ex-footer-main {
  gap: var(--espaco-g4);
}

.ex-footer-brand img {
  max-width: var(--tamanho-260);
}

.ex-footer-brand p {
  font-size: var(--fonte-p);
}

.ex-footer-social-card {
  max-width: var(--tamanho-300);
  padding: var(--espaco-g1);
}

.ex-footer-social-card span {
  font-size: var(--fonte-g);
}

.ex-footer-social-card strong {
  font-size: var(--fonte-g2);
}

.ex-footer-menu-title {
  font-size: var(--fonte-p);
}

.ex-footer-menu-title i {
  font-size: var(--fonte-gg);
}

.ex-footer-menu-list a {
  font-size: var(--fonte-p);
}

.ex-footer-contact-card {
  margin-top: var(--espaco-g3);
  padding: var(--espaco-g1) var(--espaco-g2);
}

.ex-footer-contact-icon {
  width: var(--tamanho-m);
  height: var(--tamanho-m);
  font-size: var(--fonte-gg);
}

.ex-footer-contact-item {
  grid-template-columns: var(--tamanho-gg) 1fr;
}

.ex-footer-contact-item strong {
  font-size: var(--fonte-p);
}

.ex-footer-contact-item span {
  font-size: var(--fonte-p);
}

.ex-footer-contact-item small {
  font-size: var(--fonte-pp);
}

.ex-footer-bottom {
  font-size: var(--fonte-p);
}

.ex-footer {
  width: 100%;
  position: relative;
  overflow: hidden;
  background: var(--cor-primaria-escura);
  color: var(--cor-branco);
  padding: var(--espaco-g5) 0 0;
}

.ex-footer::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image: var(--degrade-pontos-branco);
  background-size: var(--tamanho-18) var(--tamanho-18);
  opacity: var(--opacidade-0-12);
  pointer-events: none;
}

.ex-footer .container {
  position: relative;
  z-index: var(--camada-1);
}

.ex-footer-main {
  display: grid;
  grid-template-columns: var(--tamanho-360) 1fr;
  gap: var(--espaco-g5);
  align-items: start;
}

.ex-footer-brand img {
  max-width: 100%;
  height: var(--logo-altura);
  width: auto;
  display: block;
  margin-bottom: var(--espaco-gg);
  filter: var(--logo-filtro-branco);
}

.ex-footer-brand p {
  margin: 0 0 var(--espaco-g3);
  color: rgb(var(--rgb-branco) / 0.78);
  font-size: var(--fonte-pp);
}

.ex-footer-social-card {
  max-width: var(--tamanho-330);
  padding: var(--espaco-g3);
  border: var(--borda-p) solid rgb(var(--rgb-secundaria-brilho) / 0.35);
  /*background: rgb(var(--rgb-rodape) / 0.58);*/
  border-radius: var(--raio-g1);
}

.ex-footer-social-card span {
  display: block;
  color: rgb(var(--rgb-branco) / 0.86);
  font-size: var(--fonte-m);
  line-height: var(--linha-1-25);
}

.ex-footer-social-card strong {
  display: block;
  color: var(--cor-branco);
  font-size: var(--fonte-g1);
  line-height: var(--linha-1-1);
  font-weight: var(--peso-extra);
}

.ex-footer-social-line {
  width: var(--tamanho-g1);
  height: var(--tamanho-2);
  background: var(--cor-secundaria-clara);
  border-radius: var(--raio-redondo);
  margin: var(--espaco-gg) 0 var(--espaco-g2);
}

.ex-footer-socials {
  display: flex;
  align-items: center;
  gap: var(--espaco-g);
  flex-wrap: wrap;
}

.ex-footer-socials a {
  width: var(--tamanho-m);
  height: var(--tamanho-m);
  border-radius: 50%;
  border: var(--borda-p) solid rgb(var(--rgb-branco) / 0.24);
  color: var(--cor-branco);
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: var(--transicao-rapida) ease;
  font-size: var(--fonte-gg);
}

.ex-footer-socials a:hover {
  background: var(--cor-link);
  border-color: var(--cor-link);
  color: var(--cor-branco);
  transform: translateY(calc(var(--espaco-3) * -1));
}

.ex-footer-map-link {
  display: inline-block;
  margin-top: var(--espaco-g);
  color: var(--cor-branco);
  text-decoration: none;
  font-weight: var(--peso-medio);
}

.ex-footer-map-link:hover {
  color: var(--cor-secundaria-clara);
}

.ex-footer-menu-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(var(--tamanho-150), 1fr));
  gap: var(--espaco-g3) var(--espaco-g4);
}

.ex-footer-menu-title {
  width: 100%;
  border: 0;
  padding: 0;
  margin: 0 0 var(--espaco-m);
  background: transparent;
  color: var(--cor-secundaria-clara);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--espaco-m);
  text-align: left;
  font-size: var(--fonte-pp);
  font-weight: var(--peso-extra);
  text-transform: uppercase;
  letter-spacing: var(--letra-0-01em);
}

.ex-footer-menu-title span {
  display: inline-flex;
  align-items: center;
  gap: var(--espaco-m);
}

.ex-footer-menu-title i {
  font-size: var(--fonte-g1);
}

.ex-footer-menu-arrow {
  display: none;
}

.ex-footer-menu-list {
  list-style: none;
  padding: 0;
  margin: 0;
}

.ex-footer-menu-list.collapse {
  display: block;
  height: auto !important;
  visibility: visible;
}

.ex-footer-menu-list li {
  margin-bottom: var(--espaco-1);
}

.ex-footer-menu-list a {
  color: var(--cor-branco);
  text-decoration: none;
  font-size: var(--fonte-pp);
  line-height: var(--linha-1-35);
  transition: var(--transicao-rapida) ease;
}

.ex-footer-menu-list a:hover {
  color: var(--cor-secundaria-clara);
  padding-left: var(--espaco-pp);
}

.ex-footer-contact-card {
  margin-top: var(--espaco-g4);
  padding: var(--espaco-g2) var(--espaco-g3);
  border: var(--borda-p) solid rgb(var(--rgb-secundaria-brilho) / 0.28);
  border-radius: var(--raio-g1);
  /*background: rgb(var(--rgb-rodape-escuro) / 0.62);*/
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0;
}

.ex-footer-contact-item {
  display: grid;
  grid-template-columns: var(--tamanho-56) 1fr;
  gap: var(--espaco-gg);
  align-items: center;
  padding: 0 var(--espaco-g1);
  border-right: var(--borda-p) solid rgb(var(--rgb-branco) / 0.16);
}

.ex-footer-contact-item:first-child {
  padding-left: 0;
}

.ex-footer-contact-item:last-child {
  border-right: 0;
  padding-right: 0;
}

.ex-footer-contact-icon {
  width: var(--tamanho-gg);
  height: var(--tamanho-gg);
  border-radius: 50%;
  background: var(--degrade-link-primaria-suave);
  color: var(--cor-branco);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: var(--fonte-g1);
}

.ex-footer-contact-item strong {
  display: block;
  color: var(--cor-primaria-pastel);
  font-size: var(--fonte-p);
  margin-bottom: var(--espaco-pp);
}

.ex-footer-contact-item span {
  display: block;
  color: var(--cor-branco);
  font-size: var(--fonte-pp);
  font-weight: var(--peso-forte);
  line-height: var(--linha-1-35);
  word-break: normal;
  overflow-wrap: normal;
}

.ex-footer-contact-item small {
  display: block;
  color: rgb(var(--rgb-branco) / 0.76);
  font-size: var(--fonte-p);
  line-height: var(--linha-1-35);
  margin-top: var(--espaco-3);
}

.ex-footer-email {
  color: var(--cor-branco);
  font-size: var(--fonte-m);
  font-weight: var(--peso-forte);
  text-decoration: none;
  white-space: nowrap;
}

.ex-footer-email:hover {
  color: var(--cor-secundaria-clara);
}

.ex-footer-bottom {
  margin-top: var(--espaco-g2);
  padding: var(--espaco-g2) 0;
  border-top: var(--borda-p) solid rgb(var(--rgb-branco) / 0.16);
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  gap: var(--espaco-g1);
  align-items: center;
  color: var(--cor-branco);
  font-size: var(--fonte-p);
}

.ex-footer-copy {
  color: rgb(var(--rgb-branco) / 0.9);
}

.ex-footer-bottom-links {
  display: inline-flex;
  align-items: center;
  gap: var(--espaco-g2);
}

.ex-footer-bottom-links a {
  color: var(--cor-branco);
  text-decoration: none;
}

.ex-footer-bottom-links a:hover {
  color: var(--cor-secundaria-clara);
}

.ex-footer-dev {
  text-align: right;
  color: rgb(var(--rgb-branco) / 0.9);
}

@media (max-width: 1199.98px) {
  .ex-footer-main {
    grid-template-columns: 1fr;
    gap: var(--espaco-g3);
  }
}

@media (max-width: 1199.98px) {

  .ex-footer-brand {
    text-align: center;
  }
}

@media (max-width: 1199.98px) {

  .ex-footer-brand img,
  .ex-footer-social-card {
    margin-left: auto;
    margin-right: auto;
  }
}

@media (max-width: 1199.98px) {

  .ex-footer-menu-grid {
    grid-template-columns: repeat(3, 1fr);
  }
}

@media (max-width: 1199.98px) {

  .ex-footer-contact-card {
    grid-template-columns: repeat(2, 1fr);
    gap: var(--espaco-g1) 0;
  }
}

@media (max-width: 1199.98px) {

  .ex-footer-contact-item:nth-child(2) {
    border-right: 0;
    padding-right: 0;
  }
}

@media (max-width: 1199.98px) {

  .ex-footer-contact-item:nth-child(3) {
    padding-left: 0;
  }
}

@media (min-width: 768px) {
  .ex-footer-menu-list.collapse {
    display: block !important;
    height: auto !important;
    visibility: visible !important;
  }
}

@media (min-width: 768px) {

  .ex-footer-menu-title {
    pointer-events: none;
  }
}

@media (max-width: 767.98px) {

  .ex-footer-menu-title {
    pointer-events: auto;
  }
}

@media (max-width: 767.98px) {
  .ex-footer {
    padding-top: var(--espaco-g3);
  }
}

@media (max-width: 767.98px) {

  .ex-footer-main {
    gap: var(--espaco-g3);
  }
}

@media (max-width: 767.98px) {

  .ex-footer-brand img {
    max-width: var(--tamanho-290);
  }
}

@media (max-width: 767.98px) {

  .ex-footer-brand p {
    font-size: var(--fonte-p);
    margin-bottom: var(--espaco-g1);
  }
}

@media (max-width: 767.98px) {

  .ex-footer-social-card {
    max-width: 100%;
    padding: var(--espaco-g2);
    text-align: center;
  }
}

@media (max-width: 767.98px) {

  .ex-footer-social-card strong {
    font-size: var(--fonte-g2);
  }
}

@media (max-width: 767.98px) {

  .ex-footer-social-line {
    margin-left: auto;
    margin-right: auto;
  }
}

@media (max-width: 767.98px) {

  .ex-footer-socials {
    justify-content: center;
    gap: var(--espaco-gg);
  }
}

@media (max-width: 767.98px) {

  .ex-footer-socials a {
    width: var(--tamanho-g1);
    height: var(--tamanho-g1);
  }
}

@media (max-width: 767.98px) {

  .ex-footer-menu-grid {
    grid-template-columns: 1fr;
    gap: 0;
  }
}

@media (max-width: 767.98px) {

  .ex-footer-menu-col {
    border-bottom: var(--borda-p) solid rgb(var(--rgb-secundaria-brilho) / 0.24);
  }
}

@media (max-width: 767.98px) {

  .ex-footer-menu-title {
    min-height: var(--tamanho-g2);
    margin: 0;
    cursor: pointer;
  }
}

@media (max-width: 767.98px) {

  .ex-footer-menu-arrow {
    display: inline-flex;
    transition: transform var(--transicao-rapida) ease;
  }
}

@media (max-width: 767.98px) {

  .ex-footer-menu-title[aria-expanded="true"] .ex-footer-menu-arrow {
    transform: rotate(180deg);
  }
}

@media (max-width: 767.98px) {

  .ex-footer-menu-list {
    padding: 0 0 var(--espaco-g) var(--espaco-g4);
  }
}

@media (max-width: 767.98px) {

  .ex-footer-menu-list.collapse {
    display: none;
  }
}

@media (max-width: 767.98px) {

  .ex-footer-menu-list.collapse.show {
    display: block;
  }
}

@media (max-width: 767.98px) {

  .ex-footer-contact-card {
    margin-top: var(--espaco-g3);
    padding: var(--espaco-gg);
    grid-template-columns: 1fr;
    gap: 0;
  }
}

@media (max-width: 767.98px) {

  .ex-footer-contact-item,
  .ex-footer-contact-item:first-child,
  .ex-footer-contact-item:nth-child(2),
  .ex-footer-contact-item:nth-child(3),
  .ex-footer-contact-item:last-child {
    padding: var(--espaco-gg) 0;
    border-right: 0;
    border-bottom: var(--borda-p) solid rgb(var(--rgb-branco) / 0.16);
    grid-template-columns: var(--tamanho-g2) 1fr;
  }
}

@media (max-width: 767.98px) {

  .ex-footer-contact-item:first-child {
    padding-top: 0;
  }
}

@media (max-width: 767.98px) {

  .ex-footer-contact-item:last-child {
    padding-bottom: 0;
    border-bottom: 0;
  }
}

@media (max-width: 767.98px) {

  .ex-footer-contact-icon {
    width: var(--tamanho-g2);
    height: var(--tamanho-g2);
  }
}

@media (max-width: 767.98px) {

  .ex-footer-bottom {
    grid-template-columns: 1fr;
    text-align: center;
    gap: var(--espaco-gg);
  }
}

@media (max-width: 767.98px) {

  .ex-footer-bottom-links {
    justify-content: center;
    flex-wrap: wrap;
    gap: var(--espaco-g) var(--espaco-g2);
  }
}

@media (max-width: 767.98px) {

  .ex-footer-dev {
    text-align: center;
  }
}

/* =========================================================
   COMPARTILHADO - titulo de secao (usado pela home e por outros modulos)
========================================================= */

.home-section-title {
    margin: 0;
    color: var(--cor-primaria-escura);
    font-size: var(--fonte-g3);
    font-weight: var(--peso-extra);
    letter-spacing: calc(var(--letra-0-02em) * -1);
}

@media (max-width: 767.98px) {
    .home-section-title {
        font-size: var(--fonte-g2);
    }
}


/* =========================================================
   INDEX - pagina nao encontrada, destaque de busca, filtro de exportacao
========================================================= */
.pagina-notfound {
    height: var(--tamanho-200);
    margin-top: var(--tamanho-220);
    text-align: center;
}

.pagina-notfound a {
    text-decoration: underline;
}

.destaque-busca {
    background-color: var(--cor-realce);
    color: var(--cor-preto);
    font-weight: var(--peso-forte);
}

.box-filtro-exportacao {
    width: 100%;
    background-color: var(--cor-fundo-pagina);
    border-radius: var(--raio-m);
    border: var(--borda-p) solid var(--cor-borda-media);
}


/* =========================================================
   BREADCRUMB - trilha de navegacao (breadcrumb.php)
   Estrutura: <ol class="breadcrumb-site"><li><a>...</a><i class="bi bi-chevron-right"></i></li>...</ol>
========================================================= */
.breadcrumb-site {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--breadcrumb-espaco);
    margin: 0;
    padding: var(--breadcrumb-padding) 0;
    list-style: none;
}

.breadcrumb-site li {
    display: inline-flex;
    align-items: center;
    gap: var(--breadcrumb-espaco);
    color: var(--cor-branco);
    font-size: var(--breadcrumb-fonte);
    font-weight: var(--breadcrumb-peso);
    line-height: var(--linha-1-3);
}

.breadcrumb-site li a {
    color: var(--cor-branco);
    text-decoration: none;
    transition: color var(--transicao-rapida);
}

.breadcrumb-site li a:hover {
    color: var(--breadcrumb-icone-cor);
}

.breadcrumb-site li.is-current span {
    color: var(--cor-branco);
    font-weight: var(--breadcrumb-peso-atual);
}

.breadcrumb-site li i {
    color: var(--breadcrumb-icone-cor);
    font-size: var(--breadcrumb-icone-tamanho);
}

@media (max-width: 991.98px) {
    .breadcrumb-site {
        gap: var(--breadcrumb-espaco-mobile);
        padding: var(--breadcrumb-padding-mobile) 0;
    }

    .breadcrumb-site li {
        font-size: var(--breadcrumb-fonte-mobile);
    }

    .breadcrumb-site li i {
        font-size: var(--breadcrumb-icone-tamanho-mobile);
    }
}


/* =========================================================
   LISTAGENS EM CARDS - busca detalhada, barra de exportacao e cards
   (diarias 102.php; mesmas classes servem para legislacao, licitacoes etc.)
========================================================= */
.busca-leg {
    margin-bottom: var(--listagem-card-espaco);
    padding: var(--listagem-card-espaco);
    background-color: var(--cor-fundo-pagina);
    border: var(--borda-p) solid var(--cor-borda-media);
    border-radius: var(--raio-g1);
    box-shadow: var(--sombra-card);
}

.busca-leg__titulo {
    margin: 0 0 var(--espaco-g);
    color: var(--cor-primaria-escura);
    font-size: var(--fonte-g);
    font-weight: var(--peso-forte);
    text-align: center;
    text-transform: uppercase;
}

.busca-leg__titulo i {
    margin-right: var(--espaco-p);
    color: var(--cor-primaria);
}

.busca-leg__label {
    display: block;
    margin-bottom: var(--espaco-pp);
    color: var(--cor-texto-suave);
    font-size: var(--fonte-p);
    font-weight: var(--peso-semi);
}

.busca-leg__campo {
    min-height: var(--listagem-campo-altura);
    background-color: var(--cor-branco);
    border: var(--borda-p) solid var(--cor-borda-media);
    border-radius: var(--raio-m);
    color: var(--cor-texto-forte);
    font-size: var(--fonte-m);
}

.busca-leg__campo:focus {
    border-color: var(--cor-primaria);
    box-shadow: 0 0 0 var(--borda-g) rgb(var(--rgb-primaria) / 0.15);
    outline: 0;
}

.busca-leg__acoes {
    display: flex;
    align-items: flex-end;
}

.busca-leg__botao {
    width: 100%;
    min-height: var(--listagem-campo-altura);
    background-color: var(--cor-primaria);
    border: 0;
    border-radius: var(--raio-m);
    color: var(--cor-branco);
    font-size: var(--fonte-m);
    font-weight: var(--peso-semi);
    transition: background-color var(--transicao-rapida);
}

.busca-leg__botao:hover {
    background-color: var(--cor-primaria-escura);
}

.export-toolbar {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: var(--espaco-p);
    margin-bottom: var(--espaco-gg);
}

.export-tool {
    display: inline-flex;
    align-items: center;
    gap: var(--espaco-pp);
    padding: var(--espaco-pp) var(--espaco-g);
    background-color: var(--cor-branco);
    border: var(--borda-p) solid currentColor;
    border-radius: var(--raio-redondo);
    font-size: var(--fonte-p);
    font-weight: var(--peso-semi);
    transition: background-color var(--transicao-rapida), color var(--transicao-rapida);
}

.export-tool--print {
    color: var(--cor-texto-cinza);
}

.export-tool--excel {
    color: var(--cor-sucesso);
}

.export-tool--pdf {
    color: var(--cor-falha);
}

.export-tool:hover {
    background-color: currentColor;
}

.export-tool:hover i,
.export-tool:hover span {
    color: var(--cor-branco);
}

.leg-card {
    margin-bottom: var(--listagem-card-espaco);
    padding: var(--listagem-card-espaco);
    background-color: var(--cor-branco);
    border: var(--borda-p) solid var(--cor-borda-media);
    border-left: var(--borda-g2) solid var(--cor-primaria);
    border-radius: var(--raio-g);
    box-shadow: var(--sombra-card);
}

.leg-card__head {
    margin-bottom: var(--espaco-g);
    padding-bottom: var(--espaco-g);
    border-bottom: var(--borda-p) solid var(--cor-borda-media);
}

.leg-card__tags {
    display: flex;
    flex-wrap: wrap;
    gap: var(--espaco-p);
    margin-bottom: var(--espaco-p);
}

.leg-tag,
.leg-fundo {
    display: inline-flex;
    align-items: center;
    gap: var(--espaco-pp);
    padding: var(--espaco-pp) var(--espaco-g);
    border-radius: var(--raio-redondo);
    font-size: var(--fonte-pp);
    font-weight: var(--peso-semi);
}

.leg-tag {
    background-color: var(--cor-fundo-destaque);
    color: var(--cor-primaria-profunda);
}

.leg-fundo {
    background-color: var(--cor-fundo-cinza);
    color: var(--cor-texto-suave);
}

.leg-card__titulo {
    margin: 0 0 var(--espaco-pp);
    color: var(--cor-primaria-escura);
    font-size: var(--fonte-g1);
    font-weight: var(--peso-forte);
    line-height: var(--linha-1-3);
}

.leg-card__data {
    margin: 0;
    color: var(--cor-texto-suave);
    font-size: var(--fonte-m);
}

.leg-card__data i {
    margin-right: var(--espaco-pp);
}

.dia-bloco {
    margin-bottom: var(--espaco-g);
}

.leg-rotulo {
    display: block;
    margin-bottom: var(--espaco-pp);
    color: var(--cor-texto-suave);
    font-size: var(--fonte-pp);
    font-weight: var(--peso-forte);
    letter-spacing: var(--letra-0-04em);
    text-transform: uppercase;
}

.dia-destaque {
    color: var(--cor-texto-forte);
    font-size: var(--fonte-g);
}

.leg-sumula {
    color: var(--cor-texto-corpo);
    font-size: var(--fonte-m);
    line-height: var(--linha-1-5);
}

.leg-card__foot {
    margin-top: var(--espaco-g);
    padding-top: var(--espaco-g);
    border-top: var(--borda-p) solid var(--cor-borda-media);
}

.leg-baixar {
    display: inline-flex;
    align-items: center;
    gap: var(--espaco-p);
    padding: var(--espaco-p) var(--espaco-gg);
    background-color: var(--cor-primaria-media);
    border-radius: var(--raio-m);
    color: var(--cor-branco);
    font-size: var(--fonte-m);
    font-weight: var(--peso-semi);
    text-decoration: none;
    transition: background-color var(--transicao-rapida);
}

.leg-baixar:hover {
    background-color: var(--cor-link-hover);
    color: var(--cor-branco);
}

/* tabela lida pelo exportar-listagem.js: fica no HTML, mas sem aparecer */
.lic-export {
    position: absolute;
    width: var(--tamanho-1);
    height: var(--tamanho-1);
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
}
/* =========================================================
   LISTAGEM EM COLUNAS - uma tabela para todos os itens (cabecalho uma vez, uma linha por item).
   O outro padrao e a TABELA QUADRO (.tabelalicitacao): uma tabela por item, rotulo e valor.
   Ordem linear da pagina (modelo: Votacoes Nominais):
     .listagem-titulo > .listagem-atualizacao > .listagem-resumo > .listagem-filtro > .listagem-total-linha
     (total + .export-toolbar) > .tabela-coluna-caixa > .listagem-paginacao
   Primeira pagina a usar: 143 (bens patrimoniais). So variaveis do :root.
========================================================= */
.pagina-listagem { padding: var(--espaco-g4) 0; }

.pagina-listagem .bi { vertical-align: -.125em; line-height: var(--linha-1); }

/* 1. Titulo */
.listagem-titulo {
    margin-bottom: var(--espaco-gg);
    padding: var(--espaco-g) var(--espaco-gg);
    background: var(--cor-fundo-cinza);
    border-radius: var(--raio-m);
    color: var(--cor-primaria);
    font-size: var(--fonte-g);
    font-weight: var(--peso-extra);
    text-transform: uppercase;
}

/* 2. Ultima atualizacao */
.listagem-atualizacao {
    display: flex;
    align-items: center;
    gap: var(--espaco-p);
    margin-bottom: var(--espaco-gg);
    padding: var(--espaco-m) var(--espaco-g);
    background: var(--cor-fundo-destaque);
    border: var(--borda-p) solid var(--cor-borda-destaque-forte);
    border-left: var(--borda-g1) solid var(--cor-primaria);
    border-radius: var(--raio-m);
    color: var(--cor-titulo-escuro);
    font-size: var(--fonte-p);
    line-height: var(--linha-1-4);
}

.listagem-atualizacao .bi { color: var(--cor-primaria); font-size: var(--fonte-m); }

.listagem-atualizacao.sem-data {
    background: var(--cor-fundo-cinza-claro);
    border-color: var(--cor-borda-media);
    border-left-color: var(--cor-texto-cinza);
    color: var(--cor-texto-cinza);
}

.listagem-atualizacao.sem-data .bi { color: var(--cor-texto-cinza); }

/* 3. Resumo: um card por grupo + o total (modelo: resumo das Votacoes Nominais) */
.listagem-resumo {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(var(--tamanho-160), 1fr));
    gap: var(--espaco-g);
    margin-bottom: var(--espaco-g1);
}

.listagem-resumo-card {
    width: 100%;
    font-family: inherit;
    padding: var(--espaco-m);
    background: var(--cor-fundo-base);
    border: var(--borda-p) solid var(--cor-borda-media);
    border-radius: var(--raio-m);
    color: var(--cor-texto);
    font-size: var(--fonte-m);
    line-height: var(--linha-1-4);
    text-align: center;
    cursor: pointer;
    transition: border-color var(--transicao-padrao) ease-in-out, background var(--transicao-padrao) ease-in-out;
}

.listagem-resumo-card i {
    display: block;
    margin-bottom: var(--espaco-pp);
    color: var(--cor-primaria);
    font-size: var(--fonte-gg);
}

.listagem-resumo-card strong { font-weight: var(--peso-extra); }

.listagem-resumo-card:hover,
.listagem-resumo-card:focus-visible { border-color: var(--cor-primaria); }

.listagem-resumo-card.ativo {
    background: var(--cor-fundo-destaque);
    border-color: var(--cor-primaria);
}

.listagem-resumo-card.total i { color: var(--cor-titulo-escuro); }

/* 4. Busca detalhada */
.listagem-filtro {
    margin-bottom: var(--espaco-g1);
    padding: var(--espaco-gg);
    background: var(--cor-fundo-base);
    border: var(--borda-p) solid var(--cor-borda-media);
    border-radius: var(--raio-g);
}

.listagem-filtro h3 {
    margin-bottom: var(--espaco-g);
    color: var(--cor-texto-forte);
    font-size: var(--fonte-g);
    font-weight: var(--peso-forte);
}

.listagem-filtro-grade {
    display: grid;
    grid-template-columns: 2fr 1.3fr 1.2fr 0.9fr auto;
    gap: var(--espaco-g);
    align-items: end;
}

.listagem-filtro-item label {
    display: block;
    margin-bottom: var(--espaco-pp);
    color: var(--cor-texto-corpo);
    font-size: var(--fonte-m);
}

.listagem-filtro .form-control,
.listagem-filtro .form-select {
    height: var(--tamanho-m);
    padding: var(--espaco-5) var(--espaco-m);
    background-color: var(--cor-fundo-base);
    border: var(--borda-p) solid var(--cor-borda-media);
    border-radius: var(--raio-p);
    color: var(--cor-texto-corpo);
    font-size: var(--fonte-m);
}

.listagem-filtro-limpar {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: var(--espaco-5);
    width: 100%;
    height: var(--tamanho-m);
    padding: 0 var(--espaco-gg);
    background: var(--cor-fundo-base);
    border: var(--borda-p) solid var(--cor-borda-media);
    border-radius: var(--raio-p);
    color: var(--cor-texto-cinza);
    font-size: var(--fonte-m);
    font-weight: var(--peso-forte);
}

.listagem-filtro-limpar:hover,
.listagem-filtro-limpar:focus-visible { background: var(--cor-fundo-cinza); }

/* 5. Total + exportar na mesma linha */
.listagem-total-linha {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: var(--espaco-g);
    margin-bottom: var(--espaco-gg);
}

.listagem-total-linha .export-toolbar { margin-bottom: 0; }

.listagem-total {
    display: inline-flex;
    align-items: center;
    gap: var(--espaco-p);
    color: var(--cor-texto-cinza);
    font-size: var(--fonte-m);
}

.listagem-total strong {
    padding: var(--espaco-pp) var(--espaco-m);
    background: var(--cor-fundo-cinza);
    border-radius: var(--raio-redondo);
    color: var(--cor-texto-corpo);
}

/* 6. Tabela */
.tabela-coluna-caixa {
    background: var(--cor-fundo-base);
    border: var(--borda-p) solid var(--cor-borda-destaque-forte);
    border-radius: var(--raio-gg);
    box-shadow: var(--sombra-card);
    overflow: hidden;
}

.tabela-coluna { width: 100%; border-collapse: collapse; margin: 0; }

.tabela-coluna thead th {
    padding: var(--espaco-gg) var(--espaco-g1);
    background: var(--degrade-primaria-primaria-suave);
    color: var(--cor-branco);
    font-size: var(--fonte-m);
    font-weight: var(--peso-forte);
    text-align: left;
    white-space: nowrap;
}

.tabela-coluna thead th i { margin-right: var(--espaco-p); font-size: var(--fonte-g); }

.tabela-coluna tbody td {
    padding: var(--espaco-g) var(--espaco-g1);
    border-bottom: var(--borda-p) solid var(--cor-borda-destaque);
    color: var(--cor-texto-corpo);
    font-size: var(--fonte-m);
    vertical-align: middle;
}

.tabela-coluna tbody tr:nth-child(even) td { background: var(--cor-fundo-pagina); }
.tabela-coluna tbody tr:hover td { background: var(--cor-fundo-destaque); }

.tabela-etiqueta {
    display: inline-block;
    padding: var(--espaco-pp) var(--espaco-m);
    border-radius: var(--raio-p);
    background: var(--cor-fundo-destaque);
    color: var(--cor-titulo);
    font-weight: var(--peso-forte);
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
}

.tabela-com-icone {
    display: inline-flex;
    align-items: center;
    gap: var(--espaco-p);
}

.tabela-com-icone i { color: var(--cor-pills); }

.tabela-vazia {
    padding: var(--espaco-g4) var(--espaco-gg);
    text-align: center;
    color: var(--cor-texto-suave);
}

.tabela-vazia i { display: block; margin-bottom: var(--espaco-p); font-size: var(--fonte-g4); }

/* Status (pilula) e conservacao (bolinha). Cores semanticas do :root:
   ativo = sucesso, manutencao = aviso, baixado = cinza claro, extraviado = falha,
   inservivel = grafite, nao informado = contorno tracejado */
.tabela-status {
    display: inline-flex;
    align-items: center;
    gap: var(--espaco-5);
    padding: var(--espaco-pp) var(--espaco-m);
    border: var(--borda-p) solid transparent;
    border-radius: var(--raio-redondo);
    font-size: var(--fonte-p);
    font-weight: var(--peso-semi);
    white-space: nowrap;
}

.tabela-status.status-ativo         { background: var(--cor-sucesso-fundo); border-color: var(--cor-sucesso-borda); color: var(--cor-sucesso-escuro); }
.tabela-status.status-manutencao    { background: var(--cor-aviso-fundo); border-color: var(--cor-aviso-borda); color: var(--cor-aviso-texto); }
.tabela-status.status-baixado       { background: var(--cor-fundo-cinza); border-color: var(--cor-borda-media); color: var(--cor-cinza-escuro); }
.tabela-status.status-extraviado    { background: var(--cor-falha-fundo); border-color: var(--cor-falha-borda); color: var(--cor-falha-escuro); }
.tabela-status.status-inservivel    { background: var(--cor-cinza-grafite); border-color: var(--cor-cinza-grafite); color: var(--cor-branco); }
.tabela-status.status-nao-informado { background: transparent; border: var(--borda-p) dashed var(--cor-borda-media); color: var(--cor-texto-cinza); }

/* Barra fina na esquerda da linha, na cor do status */
.tabela-coluna tbody tr.linha-status-ativo td:first-child         { box-shadow: inset var(--borda-gg) 0 0 var(--cor-sucesso); }
.tabela-coluna tbody tr.linha-status-manutencao td:first-child    { box-shadow: inset var(--borda-gg) 0 0 var(--cor-destaque); }
.tabela-coluna tbody tr.linha-status-baixado td:first-child       { box-shadow: inset var(--borda-gg) 0 0 var(--cor-cinza-medio); }
.tabela-coluna tbody tr.linha-status-extraviado td:first-child    { box-shadow: inset var(--borda-gg) 0 0 var(--cor-falha); }
.tabela-coluna tbody tr.linha-status-inservivel td:first-child    { box-shadow: inset var(--borda-gg) 0 0 var(--cor-cinza-grafite); }

.tabela-conservacao {
    display: inline-flex;
    align-items: center;
    gap: var(--espaco-5);
    white-space: nowrap;
}

.tabela-conservacao::before {
    content: "";
    width: var(--tamanho-10);
    height: var(--tamanho-10);
    border-radius: 50%;
    background: var(--cor-cinza-medio);
}

.tabela-conservacao.conservacao-otimo::before   { background: var(--cor-sucesso); }
.tabela-conservacao.conservacao-bom::before     { background: var(--cor-secundaria); }
.tabela-conservacao.conservacao-regular::before { background: var(--cor-destaque); }
.tabela-conservacao.conservacao-ruim::before    { background: var(--cor-falha-claro); }
.tabela-conservacao.conservacao-pessimo::before { background: var(--cor-falha); }
.tabela-conservacao.conservacao-nao-informado   { color: var(--cor-texto-cinza); }
.tabela-conservacao.conservacao-nao-informado::before { background: transparent; border: var(--borda-p) solid var(--cor-cinza-medio); }

/* Icone de cada card do resumo na cor do status */
.listagem-resumo-card.status-ativo i         { color: var(--cor-sucesso); }
.listagem-resumo-card.status-manutencao i    { color: var(--cor-destaque); }
.listagem-resumo-card.status-baixado i       { color: var(--cor-cinza-medio); }
.listagem-resumo-card.status-extraviado i    { color: var(--cor-falha); }
.listagem-resumo-card.status-inservivel i    { color: var(--cor-cinza-grafite); }
.listagem-resumo-card.status-nao-informado i { color: var(--cor-texto-cinza); }

/* 7. Paginacao (os botoes sao o .pagination do Bootstrap, ja estilizado no site) */
.listagem-paginacao { margin-top: var(--espaco-g2); }

.listagem-paginacao-info {
    margin-top: var(--espaco-p);
    color: var(--cor-texto-cinza);
    font-size: var(--fonte-p);
    text-align: center;
}

@media (max-width: 991px) {
    .listagem-filtro-grade { grid-template-columns: repeat(2, 1fr); }
}

/* Celular: filtro em uma coluna e cada linha da tabela vira um card com o rotulo */
@media (max-width: 767px) {
    .listagem-filtro-grade { grid-template-columns: 1fr; }

    .tabela-coluna thead { display: none; }

    .tabela-coluna,
    .tabela-coluna tbody,
    .tabela-coluna tr,
    .tabela-coluna td { display: block; width: 100%; }

    .tabela-coluna tbody tr { border-bottom: var(--borda-p) solid var(--cor-borda-destaque-forte); padding: var(--espaco-p) 0; }

    .tabela-coluna tbody tr td,
    .tabela-coluna tbody tr:nth-child(even) td,
    .tabela-coluna tbody tr:hover td { border: 0; padding: var(--espaco-pp) var(--espaco-gg); background: transparent; }

    .tabela-coluna tbody td::before {
        content: attr(data-rotulo);
        display: block;
        font-size: var(--fonte-pp);
        font-weight: var(--peso-forte);
        text-transform: uppercase;
        color: var(--cor-texto-suave);
    }
}

@media print {
    .listagem-filtro, .listagem-paginacao { display: none; }
}

/* ===== COMPATIBILIDADE (TRANSICAO) - REMOVER DEPOIS DE SUBIR TODAS AS PAGINAS (usar ETAPA_FINAL) =====
   nomes antigos que as paginas ainda no servidor usam */
:root {
    --rgb-azul-marinho: var(--rgb-primaria-escura-1);
    --rgb-azul-noite: var(--rgb-primaria-escura-2);
    --rgb-azul-profundo: var(--rgb-primaria-escura-3);
    --rgb-azul-grafite: var(--rgb-primaria-escura-4);
    --rgb-azul-sombra: var(--rgb-primaria-escura-5);
    --rgb-azul-tinta: var(--rgb-primaria-escura-6);
    --rgb-azul-vivo: var(--rgb-secundaria-vivo);
    --rgb-azul-brilho: var(--rgb-secundaria-brilho);
    --rgb-azul-rodape: var(--rgb-rodape);
    --rgb-azul-rodape-escuro: var(--rgb-rodape-escuro);
    --rgb-azul-menu: var(--rgb-menu);
    --rgb-dourado: var(--rgb-destaque-suave);
    --cor-fundo-index: var(--cor-fundo-pagina);
    --cor-fundo-secao: var(--cor-fundo-pagina);
    --cor-fundo-componente: var(--cor-fundo-pagina);
    --cor-borda: var(--cor-borda-media);
    --cor-borda-suave: var(--cor-borda-media);
    --cor-borda-busca: var(--cor-borda-media);
    --cor-primaria-gelo: var(--cor-fundo-destaque);
    --cor-primaria-clara: var(--cor-fundo-destaque-forte);
    --cor-primaria-realce: var(--cor-fundo-destaque);
    --cor-azul-escuro: var(--cor-primaria-profunda);
    --cor-azul-medio: var(--cor-primaria-media);
    --cor-azul-claro: var(--cor-fundo-destaque-forte);
    --cor-azul-gelo: var(--cor-fundo-destaque);
    --cor-azul-pastel: var(--cor-primaria-pastel);
    --cor-azul-cinza: var(--cor-primaria-acinzentada);
    --cor-azul-cinza-claro: var(--cor-primaria-acinzentada-clara);
    --cor-azul-realce: var(--cor-fundo-destaque);
    --degrade-azul: var(--degrade-primaria-vivo-horizontal);
    --barra-lateral-largura: 8px;
    --bolinha-tamanho: 10px;
    --indicador-largura: 20px;
    --indicador-altura: 8px;
    --vereador-rotulo-largura: 150px;
    --vereador-foto-tamanho: 80px;
    --vereador-card-altura-min: 250px;
    --vereador-card-largura-mobile: 250px;
    --vereador-card-foto-tamanho: 100px;
    --vereador-card-foto-topo: 75px;
    --vereador-card-foto-fundo: #f04d22;
    --vereador-card-titulo-topo: 130px;
    --vereador-card-titulo-fonte: 1.2rem;
    --vereador-card-texto-fonte: .9rem;
    --vereador-card-miudo-fonte: .7rem;
    --noticia-lateral-foto-tamanho: 88px;
    --noticia-lateral-foto-proporcao: 1 / 1;
    --cor-0d6efc: #0d6efc;
    --cor-0d6efd: var(--cor-acao);
    --cor-2d2751: var(--cor-popup-texto);
    --cor-6f42c1: var(--cor-switch-ativo);
    --cor-b3261e: var(--cor-popup-alerta);
    --rgb-0-123-255: var(--rgb-foco-1);
    --rgb-37-99-235: var(--rgb-foco-2);
    --rgb-0-39-168: var(--rgb-cookies-botao);
    --rgb-2-33-134: var(--rgb-cookies-botao-hover);
}
/* ===== FIM COMPATIBILIDADE ===== */
