/* DIPPG / Cefet-RJ: visual moderno sobre o Cassiopeia. Azul institucional, cabeçalho em faixa, menu em abas, lateral compacta. */
:root {
  --dippg-azul: #1351b4;
  --dippg-azul-escuro: #0c326f;
  --dippg-azul-claro: #e8f0fb;
  --dippg-cinza: #f4f6f9;
  --cassiopeia-color-primary: var(--dippg-azul);
  --cassiopeia-color-hover: var(--dippg-azul-escuro);
  --cassiopeia-color-link: var(--dippg-azul);
  --template-bg-light: var(--dippg-cinza);
  --link-color: var(--dippg-azul);
  --link-hover-color: var(--dippg-azul-escuro);
}
body.site { background: #fff; color: #1b1b1b; font-size: 1rem; line-height: 1.6; }
a { color: var(--dippg-azul); }
a:hover { color: var(--dippg-azul-escuro); }

/* barra superior (governo e acessibilidade) */
.container-topbar { background: var(--dippg-cinza); border-bottom: 1px solid #dde3ec; font-size: .8rem; padding: .25rem 1rem; display: flex; gap: 1.5rem; justify-content: space-between; flex-wrap: wrap; }
.container-topbar ul { display: flex; gap: 1rem; list-style: none; margin: 0; padding: 0; }
.container-topbar a, .container-topbar .mod-menu a, .container-topbar .nav-link { color: #333 !important; text-decoration: none; }
.container-topbar a:hover { text-decoration: underline; }
.container-topbar .moduletable { margin: 0; }

/* cabeçalho */
.container-header { background: linear-gradient(180deg, #1c63cf 0%, var(--dippg-azul) 60%, #0f449a 100%); color: #fff; padding-bottom: .5rem; box-shadow: none; }
.container-header .navbar-brand { display: flex; align-items: center; gap: 1rem; padding: .75rem 0; }
.container-header .brand-logo { display: inline-block; background: #fff; border-radius: 8px; padding: 6px 12px; line-height: 0; }
.container-header .brand-logo img { display: block; height: 64px; width: auto; max-width: none; filter: none; }
.container-header .site-description { color: #fff; font-size: 1.05rem; font-weight: 600; letter-spacing: .01em; }
.container-below-top { display: flex; justify-content: flex-end; align-items: center; gap: 1.25rem; flex-wrap: wrap; padding: .25rem 1rem; }
.container-below-top ul { display: flex; gap: .9rem; list-style: none; margin: 0; padding: 0; align-items: center; }
.container-below-top a, .container-below-top .moduletable { color: #fff; }
.container-below-top a { text-decoration: none; font-size: .9rem; }
.container-below-top a:hover { text-decoration: underline; }
.container-below-top .moduletable { margin: 0; }
.container-search { padding: 0 1rem; }
.container-search input[type="search"], .container-search input[type="text"] { border-radius: 999px; border: 0; padding: .45rem 1rem; min-width: 240px; }

/* menu horizontal em abas */
.container-nav { background: rgba(0,0,0,.18); }
.container-nav ul { display: flex; flex-wrap: wrap; list-style: none; margin: 0; padding: 0; }
.container-nav li > a, .container-nav li > span { display: block; color: #fff; padding: .7rem 1.1rem; text-decoration: none; font-size: .88rem; font-weight: 600; text-transform: uppercase; letter-spacing: .02em; border-bottom: 3px solid transparent; }
.container-nav li > a:hover, .container-nav li.active > a { background: rgba(255,255,255,.12); border-bottom-color: #ffd23f; }

/* lateral esquerda: cartões compactos */
.container-sidebar-left .card { border: 0; border-left: 4px solid var(--dippg-azul); border-radius: 0 6px 6px 0; background: var(--dippg-cinza); margin-bottom: 1rem; }
.container-sidebar-left .card-header { background: transparent; border: 0; font-size: .85rem; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; color: var(--dippg-azul-escuro); padding: .65rem 1rem .25rem; }
.container-sidebar-left .card-body { padding: 0 1rem .75rem; }
.container-sidebar-left ul { list-style: none; margin: 0; padding: 0; }
.container-sidebar-left li { border-bottom: 1px solid #e0e5ee; }
.container-sidebar-left li:last-child { border-bottom: 0; }
.container-sidebar-left li a { display: block; padding: .45rem 0; font-size: .92rem; text-decoration: none; }
.container-sidebar-left li a:hover { text-decoration: underline; }

/* conteúdo */
.card { border-radius: 8px; border-color: #dde3ec; }
.card-header { background: #fff; font-weight: 700; color: var(--dippg-azul-escuro); border-bottom: 2px solid var(--dippg-azul); }
.container-component h1, .container-component h2 { color: var(--dippg-azul-escuro); }
.dippg-carrossel { margin-bottom: 1.5rem; border-radius: 10px; overflow: hidden; box-shadow: 0 2px 10px rgba(0,0,0,.12); }
.dippg-carrossel img { max-width: 100%; height: auto; }
.dippg-carrossel .carousel-indicators [data-bs-target] { background-color: #fff; }

/* rodapé */
.container-footer { background: var(--dippg-azul); color: #fff; padding: 2rem 1rem; margin-top: 2rem; }
.container-footer a { color: #fff; }
.container-footer .moduletable h3, .container-footer h3, .container-footer .card-header { color: #fff; background: transparent; border: 0; font-size: 1.05rem; }
.container-footer ul { list-style: none; padding: 0; margin: 0; }
.container-footer li { margin: .25rem 0; }
.container-footer .card { background: transparent; border: 0; }
.container-footer .grid-child { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 1.5rem; }

/* listas de chamadas (notícias, eventos, defesas) */
.dippg-lista { list-style: none; margin: 0; padding: 0; }
.dippg-lista li { padding: .6rem 0; border-bottom: 1px solid #e3e8f0; display: flex; flex-direction: column; gap: .1rem; }
.dippg-lista li:last-child { border-bottom: 0; }
.dippg-lista-data { font-size: .78rem; color: #596273; font-variant-numeric: tabular-nums; }
.dippg-lista a { font-weight: 600; text-decoration: none; }
.dippg-lista a:hover { text-decoration: underline; }
.dippg-ver-mais { margin: .75rem 0 0; text-align: right; font-size: .88rem; }

/* ===== cabeçalho refeito ===== */
.dippg-pular { position: absolute; left: .5rem; top: .5rem; z-index: 2000; background: #fff; color: #000; padding: .5rem 1rem; border-radius: 4px; }
.container-topbar { align-items: center; padding: .2rem 1rem; }
.container-topbar .dippg-gov { color: #333 !important; font-weight: 600; text-decoration: none; display: inline-flex; align-items: center; gap: .5rem; }
.container-topbar .dippg-gov-marca { background: #1351b4; color: #fff; border-radius: 999px; padding: .05rem .6rem; font-size: .72rem; font-weight: 800; letter-spacing: .02em; }
.dippg-cabecalho { display: flex; justify-content: space-between; align-items: center; gap: 1.5rem; padding: 1rem 1.25rem .75rem; flex-wrap: wrap; }
.dippg-marca { display: flex; align-items: center; gap: 1.1rem; }
.dippg-titulos { display: flex; flex-direction: column; line-height: 1.1; color: #fff; }
.dippg-sigla { font-size: 2.4rem; font-weight: 800; letter-spacing: .02em; }
.dippg-nome { font-size: 1rem; font-weight: 600; margin-top: .15rem; }
.dippg-inst { font-size: .8rem; letter-spacing: .18em; opacity: .85; margin-top: .15rem; }
.dippg-acoes { display: flex; flex-direction: column; align-items: flex-end; gap: .6rem; }
.dippg-acoes .container-below-top { padding: 0; justify-content: flex-end; }
.dippg-acoes .container-search { padding: 0; }
.container-nav { padding: 0 .5rem; }
/* ícones das redes sociais no lugar do texto */
.container-below-top a[href*="facebook"], .container-below-top a[href*="twitter"], .container-below-top a[href*="x.com"], .container-below-top a[href*="format=feed"], .container-below-top a[href*="instagram"] { font-size: 0 !important; display: inline-block; width: 22px; height: 22px; background: #fff; -webkit-mask-repeat: no-repeat; mask-repeat: no-repeat; -webkit-mask-position: center; mask-position: center; -webkit-mask-size: contain; mask-size: contain; opacity: .92; }
.container-below-top a[href*="facebook"]:hover, .container-below-top a[href*="twitter"]:hover, .container-below-top a[href*="format=feed"]:hover { opacity: 1; transform: translateY(-1px); text-decoration: none; }
.container-below-top a[href*="facebook"] { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M22 12a10 10 0 1 0-11.6 9.9v-7H7.9V12h2.5V9.8c0-2.5 1.5-3.9 3.8-3.9 1.1 0 2.2.2 2.2.2v2.5h-1.3c-1.2 0-1.6.8-1.6 1.6V12h2.8l-.4 2.9h-2.3v7A10 10 0 0 0 22 12z'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M22 12a10 10 0 1 0-11.6 9.9v-7H7.9V12h2.5V9.8c0-2.5 1.5-3.9 3.8-3.9 1.1 0 2.2.2 2.2.2v2.5h-1.3c-1.2 0-1.6.8-1.6 1.6V12h2.8l-.4 2.9h-2.3v7A10 10 0 0 0 22 12z'/%3E%3C/svg%3E"); }
.container-below-top a[href*="twitter"], .container-below-top a[href*="x.com"] { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M18.9 2H22l-7.4 8.4L23 22h-6.6l-5.2-6.8L5.2 22H2l7.9-9L1.5 2h6.7l4.7 6.2L18.9 2zm-1.1 18h1.7L6.8 3.9H5z'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M18.9 2H22l-7.4 8.4L23 22h-6.6l-5.2-6.8L5.2 22H2l7.9-9L1.5 2h6.7l4.7 6.2L18.9 2zm-1.1 18h1.7L6.8 3.9H5z'/%3E%3C/svg%3E"); }
.container-below-top a[href*="format=feed"] { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 11a9 9 0 0 1 9 9h-3a6 6 0 0 0-6-6v-3zm0-7a16 16 0 0 1 16 16h-3A13 13 0 0 0 4 7V4zm2.5 12a2.5 2.5 0 1 1 0 5 2.5 2.5 0 0 1 0-5z'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 11a9 9 0 0 1 9 9h-3a6 6 0 0 0-6-6v-3zm0-7a16 16 0 0 1 16 16h-3A13 13 0 0 0 4 7V4zm2.5 12a2.5 2.5 0 1 1 0 5 2.5 2.5 0 0 1 0-5z'/%3E%3C/svg%3E"); }
.container-below-top .mod-languages a, .container-below-top a[href*="/en"] { font-size: inherit; }

/* ===== lista de notícias ===== */
.dippg-noticias { list-style: none; margin: 0; padding: 0; }
.dippg-noticia { display: flex; gap: 1.1rem; padding: 1.1rem 0; border-bottom: 1px solid #e3e8f0; }
.dippg-noticia:last-child { border-bottom: 0; }
.dippg-noticia-data { flex: 0 0 64px; height: 76px; border-radius: 10px; background: var(--dippg-azul-claro); color: var(--dippg-azul-escuro); display: flex; flex-direction: column; align-items: center; justify-content: center; line-height: 1.05; text-align: center; border: 1px solid #cfdcf3; }
.dippg-noticia-data .dia { font-size: 1.7rem; font-weight: 800; }
.dippg-noticia-data .mes { font-size: .75rem; text-transform: uppercase; letter-spacing: .06em; font-weight: 700; }
.dippg-noticia-data .ano { font-size: .7rem; opacity: .75; }
.dippg-noticia-corpo h3 { font-size: 1.15rem; margin: 0 0 .35rem; line-height: 1.3; }
.dippg-noticia-corpo h3 a { text-decoration: none; color: #0c326f; }
.dippg-noticia-corpo h3 a:hover { text-decoration: underline; }
.dippg-noticia-corpo p { margin: 0 0 .4rem; color: #3d4452; }
.dippg-leia-mais { font-weight: 700; font-size: .88rem; text-decoration: none; }
.dippg-leia-mais::after { content: ' \2192'; }

/* ===== artigos ===== */
.com-content-article { max-width: 900px; }
.com-content-article h1, .page-header h1 { font-size: 1.9rem; font-weight: 800; color: var(--dippg-azul-escuro); border-bottom: 3px solid var(--dippg-azul); padding-bottom: .5rem; }
.com-content-article__body img { max-width: 100%; height: auto; }
.com-content-article__body table { width: 100%; border-collapse: collapse; margin: 1rem 0; }
.com-content-article__body th { background: var(--dippg-azul); color: #fff; text-align: left; }
.com-content-article__body th, .com-content-article__body td { border: 1px solid #d5dce8; padding: .5rem .7rem; }
.article-info { font-size: .85rem; color: #596273; }
.attachmentsContainer a { font-weight: 600; }

/* ===== rodapé ===== */
.container-footer { background: linear-gradient(180deg, #0f449a, #0c326f); }
.container-footer .moduletable h3, .container-footer h3 { font-size: .95rem; text-transform: uppercase; letter-spacing: .06em; border-bottom: 2px solid rgba(255,255,255,.35); padding-bottom: .4rem; margin-bottom: .6rem; }
.container-footer a { text-decoration: none; opacity: .95; }
.container-footer a:hover { text-decoration: underline; opacity: 1; }
.dippg-rodape-fim { grid-column: 1 / -1; border-top: 1px solid rgba(255,255,255,.25); padding-top: 1rem; font-size: .85rem; opacity: .9; text-align: center; }

/* ===== página de links (substitui o Linktree) ===== */
.dippg-links { max-width: 760px; margin: 0 auto; }
.dippg-links-topo { text-align: center; margin-bottom: 1.5rem; }
.dippg-links-topo img { height: 88px; width: auto; background: #fff; border-radius: 12px; padding: 6px 12px; box-shadow: 0 2px 10px rgba(0,0,0,.12); }
.dippg-links-topo h2 { margin: .8rem 0 .2rem; border: 0; }
.dippg-links-topo p { color: #596273; margin: 0; }
.dippg-links h3 { font-size: .9rem; text-transform: uppercase; letter-spacing: .08em; color: var(--dippg-azul-escuro); border-bottom: 2px solid var(--dippg-azul); padding-bottom: .35rem; margin: 1.8rem 0 .8rem; }
.dippg-links-lista { display: grid; gap: .6rem; }
.dippg-botao { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: .85rem 1.1rem; border-radius: 10px; background: #fff; border: 1px solid #cfdcf3; color: var(--dippg-azul-escuro); font-weight: 600; text-decoration: none; transition: .15s; }
.dippg-botao::after { content: '\2192'; font-weight: 800; color: var(--dippg-azul); }
.dippg-botao:hover { background: var(--dippg-azul); color: #fff; border-color: var(--dippg-azul); transform: translateY(-1px); box-shadow: 0 4px 12px rgba(19,81,180,.25); text-decoration: none; }
.dippg-botao:hover::after { color: #fff; }
.dippg-botao small { display: block; font-weight: 400; opacity: .75; }
.dippg-links-redes { display: flex; gap: .8rem; justify-content: center; margin-top: 1.5rem; flex-wrap: wrap; }
.dippg-links-redes a { padding: .45rem 1rem; border-radius: 999px; border: 1px solid var(--dippg-azul); font-weight: 600; text-decoration: none; }
.dippg-links-redes a:hover { background: var(--dippg-azul); color: #fff; }

/* ===== celular e tablet ===== */
@media (max-width: 991px) {
  .dippg-cabecalho { flex-direction: column; align-items: flex-start; gap: .75rem; }
  .dippg-acoes { align-items: flex-start; width: 100%; }
  .dippg-acoes .container-below-top { justify-content: flex-start; }
  .dippg-sigla { font-size: 1.9rem; }
  .container-nav ul { flex-wrap: nowrap; overflow-x: auto; -webkit-overflow-scrolling: touch; scrollbar-width: thin; }
  .container-nav li > a { white-space: nowrap; }
}
@media (max-width: 575px) {
  .dippg-marca { gap: .7rem; }
  .container-header .brand-logo img { height: 52px; }
  .dippg-nome { font-size: .85rem; }
  .dippg-noticia { flex-direction: column; gap: .5rem; }
  .dippg-noticia-data { flex-direction: row; gap: .5rem; height: auto; width: max-content; padding: .3rem .7rem; flex-basis: auto; }
  .container-search input[type="search"], .container-search input[type="text"] { min-width: 0; width: 100%; }
}

/* ===== alto contraste ===== */
html.alto-contraste body, html.alto-contraste .container-component, html.alto-contraste .card, html.alto-contraste .container-sidebar-left .card { background: #000 !important; color: #fff !important; }
html.alto-contraste a { color: #ffd23f !important; }
html.alto-contraste .container-header, html.alto-contraste .container-footer, html.alto-contraste .container-nav { background: #000 !important; border-bottom: 2px solid #ffd23f; }
html.alto-contraste .container-topbar { background: #000; border-color: #ffd23f; }
html.alto-contraste .container-topbar a { color: #ffd23f !important; }
html.alto-contraste .card-header, html.alto-contraste h1, html.alto-contraste h2, html.alto-contraste h3 { color: #fff !important; border-color: #ffd23f !important; background: transparent !important; }
html.alto-contraste .dippg-botao, html.alto-contraste .dippg-noticia-data { background: #000; border-color: #ffd23f; color: #ffd23f; }
html.alto-contraste .container-nav li > a, html.alto-contraste .container-nav li > span { color: #ffd23f; }
html.alto-contraste img { filter: grayscale(1) contrast(1.1); }

/* ===== correções de celular: menus em linha e sem rolagem lateral ===== */
html, body { overflow-x: hidden; }
.site-grid, .container-component, .container-banner, main { min-width: 0; }
.container-topbar ul, .container-below-top ul { display: flex !important; flex-wrap: wrap; gap: .2rem 1rem; margin: 0; padding: 0; list-style: none; align-items: center; }
.container-topbar .mod-menu li, .container-below-top .mod-menu li { padding: 0; }
.container-below-top .mod-menu a, .container-topbar .mod-menu a { padding: .15rem 0 !important; }
.container-below-top .mod-languages { display: flex; align-items: center; }
@media (max-width: 575px) {
  .dippg-titulos { min-width: 0; }
  .dippg-nome { white-space: normal; }
  .dippg-sigla { font-size: 1.7rem; }
  .carousel, .carousel img { max-width: 100%; height: auto; }
}
.container-topbar ul, .container-below-top ul, .container-below-top .mod-menu, .container-topbar .mod-menu { flex-direction: row !important; }
.container-below-top > *, .container-topbar > * { width: auto; }
@media (max-width: 991px) { .container-below-top { display: flex; flex-wrap: wrap; gap: .3rem 1.2rem; align-items: center; } }
.container-footer .grid-child:has(.dippg-rodape-fim), .container-footer div:has(> .dippg-rodape-fim), .container-footer .moduletable:has(.dippg-rodape-fim) { grid-column: 1 / -1; width: 100%; flex: 0 0 100%; }

/* ===== rodada 3: cabeçalho, rodapé, sanfona e gaveta ===== */
.dippg-cabecalho { display: grid; grid-template-columns: 1fr auto; align-items: center; gap: .6rem 2rem; padding: 1.1rem 1.5rem .9rem; }
.dippg-marca { min-width: 0; }
.dippg-acoes { display: flex; flex-direction: column; align-items: flex-end; gap: .55rem; min-width: 0; }
.container-below-top { display: flex !important; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: .35rem 1.1rem; padding: 0 !important; }
.container-below-top ul { flex-direction: row !important; gap: .2rem 1rem; margin: 0; padding: 0; }
.container-below-top .nav-item { padding: 0 !important; }
.container-below-top .menu-servicos a { color: #fff !important; font-size: .85rem; font-weight: 600; text-decoration: none; opacity: .92; padding: .1rem 0 !important; }
.container-below-top .menu-servicos a:hover { text-decoration: underline; opacity: 1; }
.container-below-top .menu-servicos li + li { border-left: 1px solid rgba(255,255,255,.35); padding-left: 1rem !important; }
.container-below-top a[href*="facebook"], .container-below-top a[href*="twitter"], .container-below-top a[href*="format=feed"] { width: 20px; height: 20px; }
.container-below-top ul:not(.menu-servicos) { gap: .9rem; }
.gtranslate_wrapper { display: flex; gap: 4px; }
.gtranslate_wrapper a, .gtranslate_wrapper img { margin: 0; }
.container-search { padding: 0 !important; width: 100%; max-width: 360px; }
.container-search form { display: flex; margin: 0; }
.container-search input[type="search"], .container-search input[type="text"] { width: 100%; border: 0; border-radius: 999px; padding: .55rem 1.1rem; background: #fff; box-shadow: 0 1px 4px rgba(0,0,0,.18); }
.container-nav { padding: 0 1rem !important; background: rgba(0,0,0,.22); border-top: 1px solid rgba(255,255,255,.18); }
.container-nav ul { display: flex !important; flex-wrap: wrap; gap: 0; margin: 0; padding: 0; }
.container-nav li > a, .container-nav li > span { display: block; padding: .85rem 1.15rem !important; font-size: .82rem !important; letter-spacing: .02em; border-bottom: 3px solid transparent; }
.container-nav li > a:hover, .container-nav li.active > a, .container-nav li.current > a { background: rgba(255,255,255,.12); border-bottom-color: #ffd23f; text-decoration: none; }

/* rodapé compacto em colunas */
.container-footer { padding: 2rem 1.5rem 1.2rem; }
.container-footer > .grid-child { display: grid !important; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); gap: 1.5rem 2rem; align-items: start !important; }
.container-footer .moduletable { margin: 0; padding: 0; }
.container-footer ul { margin: 0; padding: 0; list-style: none; }
.container-footer li { margin: 0 0 .45rem; padding: 0; }
.container-footer li a { font-size: .9rem; line-height: 1.35; display: inline-block; padding: 0 !important; }
.container-footer .moduletable > h3 { display: block; color: #fff; font-size: .8rem; text-transform: uppercase; letter-spacing: .08em; font-weight: 700; margin: 0 0 .8rem; padding-bottom: .45rem; border-bottom: 2px solid rgba(255,255,255,.35); }
.container-footer .moduletable:has(.dippg-rodape-fim) { grid-column: 1 / -1; }
.container-footer .moduletable:has(.dippg-rodape-fim) > h3 { display: none; }
.dippg-rodape-fim { border-top: 1px solid rgba(255,255,255,.25); padding-top: .9rem; margin-top: .3rem; }

/* sanfona nos cartões da lateral */
.container-sidebar-left .card-header[role="button"] { cursor: pointer; display: flex; justify-content: space-between; align-items: center; gap: .5rem; user-select: none; }
.container-sidebar-left .card-header[role="button"]::after, .dippg-gaveta-lateral .card-header[role="button"]::after { content: ''; width: .55rem; height: .55rem; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate(45deg); transition: transform .15s; flex: none; margin-right: .2rem; }
.card.fechado .card-header[role="button"]::after { transform: rotate(-45deg); }
.card.fechado > .card-body { display: none; }
.container-sidebar-left .card, .dippg-gaveta-lateral .card { margin-bottom: .8rem; }
.container-sidebar-left .card-header:focus-visible, .dippg-hamburguer:focus-visible { outline: 3px solid #ffd23f; outline-offset: 2px; }

/* botão e gaveta (só no celular/tablet) */
.dippg-hamburguer { display: none; }
#dippg-gaveta, #dippg-gaveta-fundo { display: none; }
@media (max-width: 991px) {
  .dippg-cabecalho { grid-template-columns: 1fr auto; padding: .8rem 1rem; }
  .dippg-hamburguer { display: inline-flex; align-items: center; gap: .5rem; grid-column: 2; grid-row: 1; background: rgba(255,255,255,.14); color: #fff; border: 1px solid rgba(255,255,255,.5); border-radius: 8px; padding: .5rem .8rem; font-weight: 700; cursor: pointer; }
  .dippg-hamburguer-barras, .dippg-hamburguer-barras::before, .dippg-hamburguer-barras::after { display: block; width: 20px; height: 2px; background: #fff; border-radius: 2px; position: relative; content: ''; }
  .dippg-hamburguer-barras::before { position: absolute; top: -6px; }
  .dippg-hamburguer-barras::after { position: absolute; top: 6px; }
  .dippg-acoes { grid-column: 1 / -1; grid-row: 2; align-items: stretch; }
  .container-below-top { justify-content: flex-start; }
  .container-search { max-width: none; }
  .container-nav, .container-sidebar-left { display: none !important; }
  #dippg-gaveta { position: fixed; top: 0; left: 0; bottom: 0; width: min(88vw, 380px); background: #fff; z-index: 3000; overflow-y: auto; box-shadow: 4px 0 24px rgba(0,0,0,.35); padding: 1rem; }
  #dippg-gaveta:not([hidden]) { display: block; }
  #dippg-gaveta-fundo:not([hidden]) { display: block; position: fixed; inset: 0; background: rgba(0,0,0,.5); z-index: 2999; }
  body.gaveta-aberta { overflow: hidden; }
  .dippg-gaveta-nav { display: block !important; background: var(--dippg-azul-escuro, #0c326f) !important; border-radius: 10px; padding: .3rem !important; margin-bottom: 1rem; }
  .dippg-gaveta-nav ul { flex-direction: column; flex-wrap: nowrap; }
  .dippg-gaveta-nav li > a { color: #fff !important; border-bottom: 1px solid rgba(255,255,255,.15); white-space: normal; }
  .dippg-gaveta-lateral { display: block !important; }
}
html.alto-contraste #dippg-gaveta { background: #000; }
.container-below-top ul.mod-menu { display: flex !important; flex-direction: row !important; flex-wrap: nowrap; align-items: center; float: none !important; }
.container-below-top .menu-servicos li + li { margin-left: 0; }

/* mesmos estilos dentro da gaveta */
.dippg-gaveta-lateral .card { border: 0; border-left: 4px solid var(--dippg-azul); border-radius: 0 6px 6px 0; background: var(--dippg-cinza); margin-bottom: 1rem; }
.dippg-gaveta-lateral .card-header { background: transparent; border: 0; font-size: .85rem; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; color: var(--dippg-azul-escuro); padding: .65rem 1rem .25rem; }
.dippg-gaveta-lateral .card-body { padding: 0 1rem .75rem; }
.dippg-gaveta-lateral ul { list-style: none; margin: 0; padding: 0; }
.dippg-gaveta-lateral li { border-bottom: 1px solid #e0e5ee; }
.dippg-gaveta-lateral li:last-child { border-bottom: 0; }
.dippg-gaveta-lateral li a { display: block; padding: .45rem 0; font-size: .92rem; text-decoration: none; }
.dippg-gaveta-lateral li a:hover { text-decoration: underline; }
.dippg-gaveta-lateral .card-header[role="button"] { cursor: pointer; display: flex; justify-content: space-between; align-items: center; gap: .5rem; user-select: none; }
.dippg-gaveta-lateral .card-header { font-size: .85rem; }
.container-footer, .container-footer > .grid-child { padding-top: 1.2rem !important; padding-bottom: 1rem !important; margin-top: 0; margin-bottom: 0; }
.container-footer > .grid-child { padding-left: 0 !important; padding-right: 0 !important; }
.container-below-top .menu-servicos a { white-space: nowrap; }

/* setas do carrossel: círculo escuro translúcido, visíveis sobre qualquer imagem (inclusive fundo branco) */
.carousel-control-prev, .carousel-control-next { width: 3.2rem; opacity: 1; }
.carousel-control-prev-icon, .carousel-control-next-icon { width: 2.6rem; height: 2.6rem; background-color: rgba(12, 50, 111, .78); border: 2px solid rgba(255, 255, 255, .9); border-radius: 50%; background-size: 55% 55%; box-shadow: 0 2px 8px rgba(0, 0, 0, .35); transition: background-color .15s, transform .15s; }
.carousel-control-prev:hover .carousel-control-prev-icon, .carousel-control-next:hover .carousel-control-next-icon, .carousel-control-prev:focus-visible .carousel-control-prev-icon, .carousel-control-next:focus-visible .carousel-control-next-icon { background-color: #1351b4; transform: scale(1.08); }
/* indicadores (tracinhos) também com contorno escuro */
.carousel-indicators [data-bs-target] { background-color: #fff; box-shadow: 0 0 0 1px rgba(12, 50, 111, .8); opacity: .75; }
.carousel-indicators .active { opacity: 1; background-color: #ffd23f; }
hr.system-pagebreak { display: none; }

/* ===== Navegação em abas com submenus e "Todas as seções" (layout novo) ===== */
.container-nav { display: flex !important; align-items: stretch; justify-content: space-between; position: relative; }
.container-nav > ul.mod-menu { flex: 1 1 auto; flex-wrap: nowrap !important; }
.container-nav li { position: relative; }
.container-nav li > span.mod-menu__heading { cursor: pointer; user-select: none; }
.container-nav li.parent > a::after, .container-nav li.parent > span::after { content: ''; display: inline-block; width: .4rem; height: .4rem; margin-left: .5rem; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: translateY(-.15rem) rotate(45deg); }
.container-nav .mod-menu__sub { display: none !important; position: absolute; top: 100%; left: 0; z-index: 2500; min-width: 290px; max-width: 360px; flex-direction: column !important; flex-wrap: nowrap !important; background: #fff; border-radius: 0 0 8px 8px; box-shadow: 0 12px 28px rgba(0,0,0,.28); padding: .4rem 0 !important; max-height: 78vh; overflow-y: auto; }
.container-nav li.parent:hover > .mod-menu__sub, .container-nav li.parent:focus-within > .mod-menu__sub, .container-nav li.parent.aberto > .mod-menu__sub { display: flex !important; }
.container-nav .mod-menu__sub li > a, .container-nav .mod-menu__sub li > span { color: #1b2a41 !important; text-transform: none !important; font-size: .92rem !important; font-weight: 500 !important; letter-spacing: 0 !important; padding: .5rem 1.1rem !important; border-bottom: 0 !important; white-space: normal; }
.container-nav .mod-menu__sub li > a:hover, .container-nav .mod-menu__sub li > a:focus-visible { background: #eaf0fb !important; color: #0c326f !important; text-decoration: underline; }
.container-nav .mod-menu__sub li > span.mod-menu__heading { cursor: default; color: #0c326f !important; font-size: .74rem !important; font-weight: 800 !important; text-transform: uppercase !important; letter-spacing: .06em !important; padding: .7rem 1.1rem .2rem !important; border-top: 1px solid #e0e5ee; margin-top: .3rem; }
.container-nav .mod-menu__sub li:first-child > span.mod-menu__heading { border-top: 0; margin-top: 0; }
.container-nav li:nth-last-child(-n+3) > .mod-menu__sub { left: auto; right: 0; }
.dippg-todas { flex: none; align-self: stretch; display: inline-flex; align-items: center; gap: .5rem; background: rgba(255,255,255,.1); color: #fff; border: 0; border-left: 1px solid rgba(255,255,255,.25); padding: 0 1.2rem; font: inherit; font-size: .85rem; font-weight: 600; cursor: pointer; }
.dippg-todas:hover, .dippg-todas[aria-expanded="true"] { background: rgba(255,255,255,.22); }
.dippg-todas-icone { width: 1rem; height: 1rem; background: radial-gradient(circle, currentColor 1.4px, transparent 1.8px) 0 0 / .34rem .34rem; }
.dippg-todas-painel { background: #fff; border-bottom: 4px solid #ffd23f; box-shadow: 0 14px 28px rgba(0,0,0,.18); padding: 1.2rem 1.5rem 1.6rem; max-height: 75vh; overflow-y: auto; }
.dippg-todas-painel[hidden] { display: none; }
.dippg-todas-grade { display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 1.4rem 2rem; max-width: 1320px; margin: 0 auto; }
.dippg-todas-grade h3 { font-size: .8rem; font-weight: 800; text-transform: uppercase; letter-spacing: .05em; color: #0c326f; border-bottom: 2px solid #0c326f; padding-bottom: .3rem; margin: 0 0 .5rem; }
.dippg-todas-grade ul { list-style: none; margin: 0; padding: 0; display: block; }
.dippg-todas-grade li > a, .dippg-todas-grade li > span { display: block; padding: .28rem 0; font-size: .88rem; text-decoration: none; color: #1b2a41; }
.dippg-todas-grade li > a:hover { text-decoration: underline; color: #0c326f; }
html.alto-contraste .dippg-todas-painel, html.alto-contraste .container-nav .mod-menu__sub { background: #000; border-color: #ffd23f; }
html.alto-contraste .dippg-todas-painel a, html.alto-contraste .dippg-todas-grade h3, html.alto-contraste .container-nav .mod-menu__sub li > a, html.alto-contraste .container-nav .mod-menu__sub li > span { color: #ffd23f !important; }
@media (max-width: 991px) { .dippg-todas, .dippg-todas-painel { display: none !important; } .dippg-gaveta-nav .mod-menu__sub { display: block !important; position: static; box-shadow: none; background: transparent; max-height: none; padding: 0 0 0 .8rem !important; } .dippg-gaveta-nav .mod-menu__sub li > a, .dippg-gaveta-nav .mod-menu__sub li > span { color: #fff !important; } .dippg-gaveta-nav li.parent > span::after, .dippg-gaveta-nav li.parent > a::after { display: none; } }
.dippg-todas-painel .dippg-todas-grade ul { display: block !important; }
.dippg-todas-painel .dippg-todas-grade li > a, .dippg-todas-painel .dippg-todas-grade li > span { display: block !important; color: #1b2a41 !important; padding: .28rem 0 !important; font-size: .88rem !important; text-transform: none !important; font-weight: 400 !important; border: 0 !important; }
.dippg-todas-painel .dippg-todas-grade li > a:hover { color: #0c326f !important; text-decoration: underline !important; background: transparent !important; }
.dippg-todas-painel .dippg-todas-grade h3 { color: #0c326f !important; }
.dippg-todas-painel .dippg-todas-grade li, .dippg-todas-painel .dippg-todas-grade .nav-item { padding: 0 !important; margin: 0 !important; }
.dippg-todas-painel .dippg-todas-grade li > a { padding-left: 0 !important; }
.dippg-todas-painel { max-height: 70vh; }

/* ===== Cabeçalho claro (layout novo): faixa gov.br em cima, marca + busca em branco, barra azul escura ===== */
:root { --dippg-marinho: #0b2f6b; }
.container-header { background: #fff !important; color: #1b2a41; padding-bottom: 0 !important; }
.container-topbar { background: #f4f6fa; border-bottom: 1px solid #e3e8f0; padding: .3rem 1.5rem !important; gap: 1.2rem !important; flex-wrap: nowrap !important; align-items: center; font-size: .82rem; }
.container-topbar > .custom { margin-right: auto; }
.container-topbar .container-below-top { order: 2; display: flex !important; align-items: center; gap: .9rem !important; flex-wrap: nowrap; padding: 0 !important; justify-content: flex-end; padding-right: 1.1rem !important; border-right: 1px solid #cfd7e4; }
.container-topbar #portal-siteactions { order: 3; gap: 1.2rem !important; }
.container-topbar .container-below-top .menu-servicos a, .container-topbar .container-below-top a { color: #1b2a41 !important; font-size: .82rem; font-weight: 500; opacity: 1; }
.container-topbar .container-below-top .menu-servicos li + li { border-left: 0; padding-left: 0 !important; margin-left: 0; }
.container-topbar .container-below-top a[href*="facebook"], .container-topbar .container-below-top a[href*="twitter"], .container-topbar .container-below-top a[href*="format=feed"] { width: 17px; height: 17px; background: #1b2a41; opacity: .85; }
.container-topbar #portal-siteactions a { display: inline-flex; align-items: center; gap: .4rem; font-weight: 500; }
.container-topbar #portal-siteactions a::before { content: ''; width: 16px; height: 16px; background: #1351b4; -webkit-mask: var(--ico) center / contain no-repeat; mask: var(--ico) center / contain no-repeat; }
.container-topbar #portal-siteactions .item-140 a { --ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2a2 2 0 1 1 0 4 2 2 0 0 1 0-4zM4 8.5l1-1.7c3.6 1.1 10.4 1.1 14 0l1 1.7-5.2 1.5V13l2.2 7.2-1.9.6L12 15l-2.2 5.8-1.9-.6L10.2 13v-3L4 8.5z'/%3E%3C/svg%3E"); }
.container-topbar #portal-siteactions .item-141 a { --ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 3a9 9 0 1 0 0 18 9 9 0 0 0 0-18zm0 2v14a7 7 0 0 1 0-14z'/%3E%3C/svg%3E"); }
.container-topbar #portal-siteactions .item-142 a::before { display: none; }
.dippg-cabecalho { background: #fff; display: flex !important; justify-content: space-between; align-items: center; padding: .9rem 1.5rem !important; gap: 2rem; flex-wrap: nowrap; }
.dippg-marca { gap: 1.2rem; align-items: center; }
.container-header .brand-logo { background: transparent !important; padding: 0 !important; border-radius: 0 !important; }
.container-header .brand-logo img { height: 56px; }
.dippg-titulos { color: var(--dippg-marinho) !important; padding-left: 1.2rem; border-left: 1px solid #c9d3e3; justify-content: center; }
.dippg-sigla { font-size: 1.9rem !important; font-weight: 800; letter-spacing: .01em; }
.dippg-nome { font-size: 1rem !important; font-weight: 500 !important; margin-top: .2rem; }
.dippg-inst { display: none; }
.dippg-acoes { align-items: stretch; flex: 0 1 420px; }
.container-search { max-width: none !important; width: 100%; }
.container-search form, .container-search .finder { display: flex; align-items: center; position: relative; margin: 0; }
.container-search input[type="search"], .container-search input[type="text"] { background: #fff !important; border: 1px solid #b9c4d6 !important; border-radius: 8px !important; box-shadow: none !important; padding: .7rem 3rem .7rem 1rem !important; font-size: .95rem; color: #1b2a41; width: 100%; height: auto; }
.container-search input:focus { outline: 2px solid #1351b4; outline-offset: 1px; }
.container-search button, .container-search .finder .btn { position: absolute; right: .3rem; top: 50%; transform: translateY(-50%); width: 2.4rem; height: 2.4rem; padding: 0; border: 0; background: transparent; font-size: 0; color: transparent; cursor: pointer; }
.container-search button::before, .container-search .finder .btn::before { content: ''; position: absolute; inset: .55rem; background: var(--dippg-marinho); -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M10 3a7 7 0 1 0 4.2 12.6l5.1 5.1 1.4-1.4-5.1-5.1A7 7 0 0 0 10 3zm0 2a5 5 0 1 1 0 10 5 5 0 0 1 0-10z'/%3E%3C/svg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M10 3a7 7 0 1 0 4.2 12.6l5.1 5.1 1.4-1.4-5.1-5.1A7 7 0 0 0 10 3zm0 2a5 5 0 1 1 0 10 5 5 0 0 1 0-10z'/%3E%3C/svg%3E") center / contain no-repeat; }
.container-search .finder label, .container-search .visually-hidden { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.container-nav { background: var(--dippg-marinho) !important; border-top: 0 !important; padding: 0 1.5rem !important; }
.container-nav > ul.mod-menu { justify-content: space-evenly; }
.container-nav li > a, .container-nav li > span { color: #fff !important; text-transform: none !important; font-size: 1rem !important; font-weight: 500 !important; letter-spacing: 0 !important; padding: 1.05rem 1.3rem !important; border-bottom: 3px solid transparent !important; }
.container-nav li > a:hover, .container-nav li:hover > span, .container-nav li.aberto > span { background: rgba(255,255,255,.1); border-bottom-color: #ffd23f !important; }
.container-nav .mod-menu__sub { top: calc(100% - 3px); }
.dippg-todas { border-left: 1px solid rgba(255,255,255,.3); background: transparent; }
@media (max-width: 991px) { .dippg-cabecalho { flex-wrap: wrap; } .container-topbar { flex-wrap: wrap !important; } .container-topbar .container-below-top { border-right: 0; padding-right: 0 !important; } .dippg-acoes { flex: 1 1 100%; } }
html.alto-contraste .container-header, html.alto-contraste .dippg-cabecalho { background: #000 !important; } html.alto-contraste .dippg-titulos { color: #ffd23f !important; }
.container-search .mod-finder__search { display: flex; width: 100%; position: relative; flex-wrap: nowrap; }
.container-search form.mod-finder { width: 100%; margin: 0; }
.container-search .mod-finder__search .form-control { flex: 1 1 auto; width: 100% !important; }
.container-header .container-nav { grid-column: 1 / -1 !important; width: 100% !important; max-width: none !important; margin: 0 !important; }
.container-topbar .container-below-top ul:not(.menu-servicos) { gap: .6rem !important; }
.container-topbar .container-below-top { gap: .7rem !important; }
.container-search .mod-finder__search > button.btn { position: absolute !important; right: .3rem; top: 50%; transform: translateY(-50%); width: 2.4rem !important; height: 2.4rem; padding: 0 !important; border: 0 !important; background: transparent !important; font-size: 0 !important; color: transparent !important; box-shadow: none !important; }
.container-search .mod-finder__search > button.btn .icon-search { display: none; }
@media (max-width: 991px) { .container-header .container-nav { display: none !important; } }
.container-search .mod-finder__search input.form-control { flex: 1 1 100% !important; max-width: none !important; min-width: 0 !important; }
.dippg-gaveta-nav li > span.mod-menu__heading { color: #fff !important; font-weight: 700; display: block; padding: .7rem .8rem .2rem; }
.dippg-gaveta-nav .mod-menu__sub li > span.mod-menu__heading { color: #ffd23f !important; font-size: .75rem; text-transform: uppercase; letter-spacing: .05em; }
.container-search .mod-finder__search > div { flex: 1 1 100%; width: 100%; min-width: 0; }
.container-search .mod-finder__search > div input { width: 100% !important; }

/* ===== Conteúdo centralizado (largura máxima) e sem menu lateral no layout novo ===== */
:root { --dippg-largura: 1240px; --dippg-lado: max(1.5rem, calc((100% - var(--dippg-largura)) / 2)); }
.container-topbar, .dippg-cabecalho, .container-header .container-nav, .container-footer > .grid-child { padding-left: var(--dippg-lado) !important; padding-right: var(--dippg-lado) !important; }
.container-footer { padding-left: 0 !important; padding-right: 0 !important; }
.dippg-todas-painel { padding-left: var(--dippg-lado); padding-right: var(--dippg-lado); }
.dippg-todas-grade { max-width: none; }
.site-grid { display: block !important; width: 100%; max-width: var(--dippg-largura); margin: 1.2rem auto 2rem !important; padding: 0 1.5rem; box-sizing: border-box; }
.site-grid > .container-sidebar-left { display: none !important; }
.site-grid > * { max-width: 100%; }
@media (max-width: 991px) { .site-grid { padding: 0 1rem; } }
.site-grid { width: min(var(--dippg-largura), calc(100% - 3rem)) !important; max-width: none !important; padding: 0 !important; }
@media (max-width: 991px) { .site-grid { width: calc(100% - 2rem) !important; } }
@media (max-width: 991px) { .dippg-hamburguer { background: var(--dippg-marinho) !important; color: #fff !important; border-color: var(--dippg-marinho) !important; } .dippg-cabecalho { display: grid !important; grid-template-columns: 1fr auto; } .dippg-acoes { grid-column: 1 / -1; } }
.container-footer > .grid-child { width: min(var(--dippg-largura), calc(100% - 3rem)) !important; max-width: none !important; margin-left: auto !important; margin-right: auto !important; padding-left: 0 !important; padding-right: 0 !important; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)) !important; }

/* ===== Home clicável no título, link externo no SUAP, carrossel acessível, atalhos ===== */
a.dippg-titulos { text-decoration: none; color: var(--dippg-marinho) !important; }
a.dippg-titulos:hover .dippg-sigla, a.dippg-titulos:focus-visible .dippg-sigla { text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: 4px; }
a.dippg-titulos:focus-visible { outline: 3px solid #1351b4; outline-offset: 4px; border-radius: 4px; }
.dippg-externo::after { content: ''; display: inline-block; width: .85em; height: .85em; margin-left: .4rem; vertical-align: -.08em; background: currentColor; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 4h6v6M20 4l-9 9M18 14v5a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1V7a1 1 0 0 1 1-1h5'/%3E%3C/svg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 4h6v6M20 4l-9 9M18 14v5a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1V7a1 1 0 0 1 1-1h5'/%3E%3C/svg%3E") center / contain no-repeat; }
.dippg-pausa { position: absolute; left: .8rem; bottom: .8rem; z-index: 5; width: 2.5rem; height: 2.5rem; border-radius: 50%; border: 2px solid #fff; background: rgba(11,47,107,.85); cursor: pointer; padding: 0; display: flex; align-items: center; justify-content: center; }
.dippg-pausa:hover, .dippg-pausa:focus-visible { background: #0b2f6b; outline: 3px solid #ffd23f; outline-offset: 2px; }
.dippg-pausa-icone { width: .8rem; height: .9rem; border-left: .27rem solid #fff; border-right: .27rem solid #fff; box-sizing: border-box; }
.dippg-pausa[aria-pressed="true"] .dippg-pausa-icone { width: 0; height: 0; border: 0; border-top: .5rem solid transparent; border-bottom: .5rem solid transparent; border-left: .85rem solid #fff; margin-left: .2rem; }
.dippg-carrossel .carousel-item img { height: auto; }
.dippg-carrossel .carousel-control-prev:focus-visible, .dippg-carrossel .carousel-control-next:focus-visible, .dippg-carrossel .carousel-indicators button:focus-visible { outline: 3px solid #ffd23f; outline-offset: 2px; }
@media (prefers-reduced-motion: reduce) { .dippg-carrossel .carousel-item { transition: none !important; } }
.dippg-atalhos { margin: 1.2rem 0 1.4rem; }
.dippg-atalhos ul { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(5, 1fr); gap: 1rem; }
.dippg-atalho { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: .7rem; min-height: 112px; padding: 1rem .6rem; background: #fff; border: 1px solid #dfe5ef; border-radius: 6px; box-shadow: 0 1px 3px rgba(11,47,107,.06); color: #0b3fae !important; font-weight: 600; font-size: 1rem; text-align: center; text-decoration: none !important; transition: box-shadow .15s, border-color .15s, transform .15s; }
.dippg-atalho:hover, .dippg-atalho:focus-visible { border-color: #1351b4; box-shadow: 0 6px 16px rgba(11,47,107,.16); transform: translateY(-2px); }
.dippg-atalho:focus-visible { outline: 3px solid #1351b4; outline-offset: 2px; }
.dippg-atalho-icone { width: 2.5rem; height: 2.5rem; }
@media (max-width: 991px) { .dippg-atalhos ul { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 575px) { .dippg-atalhos ul { grid-template-columns: repeat(2, 1fr); } .dippg-atalho { min-height: 96px; font-size: .92rem; } }
html.alto-contraste .dippg-atalho { background: #000; border-color: #ffd23f; color: #ffd23f !important; }
.dippg-gaveta-fechar { display: block; width: 100%; margin: 0 0 .8rem; padding: .6rem; background: #fff; color: #0b2f6b; border: 2px solid #0b2f6b; border-radius: 8px; font: inherit; font-weight: 700; cursor: pointer; }
.dippg-gaveta-fechar:focus-visible { outline: 3px solid #ffd23f; outline-offset: 2px; }
.dippg-carrossel .carousel-indicators { margin-bottom: .55rem; }
.dippg-carrossel .carousel-indicators [data-bs-target] { width: 2rem; height: .4rem; border: 0; border-radius: 4px; background-color: #0b2f6b; opacity: .35; }
.dippg-carrossel .carousel-indicators .active { opacity: 1; }

/* ===== Faixa de destaques baixa, de ponta a ponta, logo abaixo do menu ===== */
.dippg-hero { width: 100%; background: #0b2f6b; }
.dippg-hero .dippg-carrossel { margin: 0; }
.dippg-hero .carousel-inner { height: clamp(190px, 26vw, 380px); }
.dippg-hero .carousel-item { height: 100%; }
.dippg-slide { position: relative; height: 100%; overflow: hidden; background: #0b2f6b; display: flex; align-items: center; justify-content: center; isolation: isolate; }
.dippg-slide::before { content: ''; position: absolute; inset: -30px; z-index: -1; background: var(--fundo, none) center / cover no-repeat; filter: blur(26px) brightness(.8) saturate(1.1); }
.dippg-slide:not(.dippg-slide-numeros) a, .dippg-slide:not(.dippg-slide-numeros) p, .dippg-slide:not(.dippg-slide-numeros) div { display: contents; }
.dippg-slide a { cursor: pointer; }
.dippg-slide:not(.dippg-slide-numeros) img { display: block !important; width: auto !important; height: 100% !important; max-width: 100% !important; max-height: 100%; object-fit: contain; margin: 0 !important; border: 0 !important; box-shadow: 0 0 40px rgba(0,0,0,.35); }
.dippg-hero .carousel-indicators [data-bs-target] { background-color: #fff; opacity: .5; }
.dippg-hero .carousel-indicators .active { opacity: 1; }
.dippg-hero .dippg-pausa { left: max(1rem, calc((100% - var(--dippg-largura)) / 2)); bottom: .9rem; }
.dippg-hero .carousel-control-prev, .dippg-hero .carousel-control-next { width: auto; padding: 0 max(.6rem, calc((100% - var(--dippg-largura)) / 2 - 3.2rem)); }
.dippg-bloco-texto { margin: 1.4rem 0; }
.dippg-bloco-texto > div { max-width: 100%; }
/* cartões de "em números": altura fixa de 200px cortava o número quando o título tinha 3 linhas; agora crescem com o conteúdo */
.dippg-bloco-texto div[style*="height: 200px"] { height: auto !important; min-height: 200px; }

/* slide "DIPPG em números": os 8 cartões em uma linha, no mesmo espaço baixo dos banners */
.dippg-slide-numeros { background: #0b2f6b; align-items: stretch; }
.dippg-slide-numeros > div { width: 100%; height: 100%; padding: .7rem 1rem !important; box-sizing: border-box; display: flex; flex-direction: column; justify-content: center; background: transparent !important; }
.dippg-slide-numeros h2 { font-size: clamp(.95rem, 1.5vw, 1.25rem) !important; margin: 0 0 .35rem !important; }
.dippg-slide-numeros > div > div:first-of-type { margin: 0 auto .7rem !important; height: 3px !important; max-width: 420px !important; }
.dippg-slide-numeros > div > div:nth-of-type(2) { display: grid !important; grid-template-columns: repeat(8, minmax(0, 1fr)); gap: .6rem !important; max-width: min(var(--dippg-largura), 100%) !important; width: 100%; }
.dippg-slide-numeros div[style*="width: 230px"] { width: auto !important; height: auto !important; min-height: 0 !important; padding: .45rem .35rem !important; border-radius: 10px !important; }
.dippg-slide-numeros div[style*="width: 230px"] > div { gap: .25rem; }
.dippg-slide-numeros img { max-width: 56px !important; max-height: 44px !important; width: auto !important; height: auto !important; margin: 0 auto !important; }
.dippg-slide-numeros h3 { font-size: clamp(.62rem, .9vw, .8rem) !important; line-height: 1.15; margin: .25rem 0 .1rem !important; }
.dippg-slide-numeros h3 span, .dippg-slide-numeros h3 em, .dippg-slide-numeros p span { font-size: inherit !important; }
.dippg-slide-numeros p[style*="font-size: 40px"] { font-size: clamp(1.1rem, 2.1vw, 1.7rem) !important; line-height: 1.1; }
.dippg-slide-numeros > div > p:last-child { margin: .5rem 0 0 !important; font-size: .7rem !important; }
.dippg-slide-numeros span[style*="color: #f4f6f9"] { display: none; }
@media (max-width: 991px) { .dippg-slide-numeros > div > div:nth-of-type(2) { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .4rem !important; } .dippg-slide-numeros img { display: none !important; } .dippg-slide-numeros h3 { font-size: .6rem !important; } .dippg-hero .carousel-inner { height: clamp(215px, 40vw, 380px); } }
.dippg-slide-numeros::before { display: none; }
@media (max-width: 991px) {
  .dippg-hero .carousel-inner { height: clamp(300px, 78vw, 380px); }
  .dippg-hero .dippg-carrossel { padding-bottom: 3rem; background: #0b2f6b; }
  .dippg-hero .carousel-indicators { bottom: 0; margin-bottom: .75rem; }
  .dippg-hero .dippg-pausa { bottom: .4rem; left: .8rem; width: 2.2rem; height: 2.2rem; }
  .dippg-hero .carousel-control-prev, .dippg-hero .carousel-control-next { display: none; }
  .dippg-slide-numeros h3 { overflow-wrap: anywhere; hyphens: auto; }
  .dippg-slide-numeros > div { padding: .6rem .6rem !important; }
}

/* ===== Página inicial sem molduras: atalhos mais baixos, "Editais e chamadas" + "Apoio acadêmico" ===== */
.dippg-atalhos { margin: 1.1rem 0 1.4rem; }
.dippg-atalho { min-height: 92px; padding: .8rem .5rem; gap: .5rem; }
.dippg-atalho-icone { width: 2.1rem; height: 2.1rem; }
.dippg-titulo-secao { font-family: Georgia, "Times New Roman", serif; font-size: 1.75rem; font-weight: 700; color: #0b2f6b; margin: 0 0 1.1rem; padding-bottom: .55rem; position: relative; line-height: 1.15; }
.dippg-titulo-secao::after { content: ''; position: absolute; left: 0; bottom: 0; width: 2.6rem; height: 3px; background: #e0a82e; border-radius: 2px; }
.dippg-duas-colunas { display: grid; grid-template-columns: minmax(0, 1.7fr) minmax(0, 1fr); gap: 2rem; margin: 0 0 1.8rem; align-items: start; }
.dippg-linhas { list-style: none; margin: 0; padding: 0; display: grid; gap: .75rem; }
.dippg-linha { display: flex; align-items: center; gap: 1rem; padding: .85rem 1.1rem; background: #fff; border: 1px solid #dfe5ef; border-radius: 6px; color: #0b2f6b !important; text-decoration: none !important; transition: border-color .15s, box-shadow .15s; }
.dippg-linha:hover, .dippg-linha:focus-visible { border-color: #1351b4; box-shadow: 0 4px 12px rgba(11,47,107,.14); }
.dippg-linha:focus-visible { outline: 3px solid #1351b4; outline-offset: 2px; }
.dippg-linha-icone { width: 2rem; height: 2rem; flex: none; color: #0b3fae; }
.dippg-linha-texto { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: .1rem; }
.dippg-linha-texto strong { font-family: Georgia, "Times New Roman", serif; font-size: 1.08rem; font-weight: 700; color: #0b2f6b; }
.dippg-linha-texto small { font-size: .88rem; color: #4a5a73; }
.dippg-linha-seta { width: 1.1rem; height: 1.1rem; flex: none; color: #0b3fae; }
.dippg-apoio { background: #eef3fb; border-radius: 8px; padding: 1.2rem 1.3rem 1.3rem; }
.dippg-apoio .dippg-titulo-secao { font-size: 1.6rem; }
@media (max-width: 991px) { .dippg-duas-colunas { grid-template-columns: 1fr; gap: 1.4rem; } }
html.alto-contraste .dippg-linha, html.alto-contraste .dippg-apoio { background: #000; border-color: #ffd23f; } html.alto-contraste .dippg-linha-texto strong, html.alto-contraste .dippg-linha-texto small, html.alto-contraste .dippg-titulo-secao { color: #ffd23f; }

/* ===== Notícias da DIPPG em cartões e faixa "Encontre seu programa" ===== */
.dippg-noticias { margin: 0 0 1.8rem; }
.dippg-secao-topo { display: flex; justify-content: space-between; align-items: baseline; gap: 1rem; flex-wrap: wrap; margin-bottom: 1rem; }
.dippg-sem-traco { padding-bottom: 0; margin-bottom: 0; }
.dippg-sem-traco::after { display: none; }
.dippg-secao-links { margin: 0; display: flex; gap: 1.2rem; flex-wrap: wrap; }
.dippg-secao-links a { color: #0b3fae; font-weight: 600; font-size: .95rem; text-decoration: underline; text-underline-offset: 3px; }
.dippg-cartoes { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.2rem; }
.dippg-cartao { position: relative; display: flex; flex-direction: column; background: #fff; border: 1px solid #dfe5ef; border-radius: 6px; overflow: hidden; transition: box-shadow .15s, border-color .15s; }
.dippg-cartao:hover, .dippg-cartao:focus-within { border-color: #1351b4; box-shadow: 0 6px 16px rgba(11,47,107,.16); }
.dippg-cartao-img { aspect-ratio: 16 / 9; background: #e9eef7; overflow: hidden; }
.dippg-cartao-img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.dippg-cartao-sem-img { background: linear-gradient(135deg, #0b2f6b, #1351b4); display: flex; align-items: center; justify-content: center; color: rgba(255,255,255,.9); font-family: Georgia, serif; font-size: 2.2rem; font-weight: 700; letter-spacing: .08em; }
.dippg-cartao-corpo { padding: .8rem 1rem 1rem; display: flex; flex-direction: column; gap: .3rem; }
.dippg-cartao-rotulo { font-size: .72rem; font-weight: 700; letter-spacing: .08em; color: #1351b4; text-transform: uppercase; }
.dippg-cartao-corpo h3 { margin: 0; font-size: 1.05rem; line-height: 1.3; font-weight: 700; }
.dippg-cartao-link { color: #0b2f6b !important; text-decoration: none !important; }
.dippg-cartao-link::after { content: ''; position: absolute; inset: 0; }
.dippg-cartao-link:focus-visible { outline: 3px solid #1351b4; outline-offset: -3px; }
.dippg-cartao-corpo p { margin: 0; font-size: .9rem; color: #4a5a73; line-height: 1.4; }
.dippg-faixa-programas { display: flex; align-items: center; justify-content: space-between; gap: 1.5rem; flex-wrap: wrap; background: #eaf1fb; border-radius: 8px; padding: 1.6rem 2rem; margin: 0 0 1.5rem; border-top: 4px solid #e0a82e; }
.dippg-faixa-programas .dippg-titulo-secao { font-size: 1.6rem; }
.dippg-faixa-programas p { margin: .4rem 0 0; color: #3b4d68; }
.dippg-botao-contorno { display: inline-flex; align-items: center; gap: .5rem; padding: .7rem 1.3rem; border: 2px solid #1351b4; border-radius: 6px; color: #1351b4 !important; font-weight: 700; text-decoration: none !important; background: #fff; }
.dippg-botao-contorno:hover, .dippg-botao-contorno:focus-visible { background: #1351b4; color: #fff !important; }
@media (max-width: 991px) { .dippg-cartoes { grid-template-columns: 1fr; } .dippg-faixa-programas { padding: 1.2rem; } }
html.alto-contraste .dippg-cartao, html.alto-contraste .dippg-faixa-programas { background: #000; border-color: #ffd23f; } html.alto-contraste .dippg-cartao-link, html.alto-contraste .dippg-cartao-corpo p, html.alto-contraste .dippg-cartao-rotulo { color: #ffd23f !important; }

/* ===== Rodapé médio ===== */
.container-footer { background: #0b2f6b !important; margin-top: 2rem; padding-top: 1.6rem !important; padding-bottom: .9rem !important; }
.container-footer .moduletable:has(.dippg-rodape) { grid-column: 1 / -1; width: 100%; }
.dippg-rodape-grade { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)) minmax(150px, .8fr); gap: 1.2rem 2.2rem; }
.dippg-rodape-col h2 { font-size: .78rem; font-weight: 800; text-transform: uppercase; letter-spacing: .09em; color: #fff; margin: 0 0 .6rem; padding-bottom: .4rem; border-bottom: 2px solid rgba(255,255,255,.28); }
.dippg-rodape-col ul { list-style: none; margin: 0; padding: 0; }
.dippg-rodape-col li { margin: 0 0 .3rem; }
.dippg-rodape-col a { color: #fff !important; font-size: .88rem; line-height: 1.35; text-decoration: none; opacity: .95; }
.dippg-rodape-col a:hover, .dippg-rodape-col a:focus-visible { text-decoration: underline; opacity: 1; }
.dippg-rodape-col a:focus-visible, .dippg-redes a:focus-visible, .dippg-rodape-extras a:focus-visible { outline: 3px solid #ffd23f; outline-offset: 3px; border-radius: 4px; }
.dippg-redes { display: flex !important; gap: .6rem; margin-bottom: .7rem !important; }
.dippg-redes li { margin: 0 !important; }
.dippg-redes a { display: flex; align-items: center; justify-content: center; width: 2.5rem; height: 2.5rem; border: 2px solid rgba(255,255,255,.6); border-radius: 50%; transition: background .15s, color .15s; }
.dippg-redes a:hover { background: #fff; color: #0b2f6b !important; }
.dippg-redes svg { width: 1.15rem; height: 1.15rem; }
.dippg-rodape-redes p { margin: 0; }
.dippg-rodape-extras { margin: 1rem 0 0; padding-top: .7rem; border-top: 1px solid rgba(255,255,255,.2); display: flex; gap: 1.4rem; flex-wrap: wrap; }
.dippg-rodape-extras a { color: #fff !important; font-size: .82rem; opacity: .9; text-decoration: none; }
.dippg-rodape-extras a:hover { text-decoration: underline; opacity: 1; }
.container-footer .dippg-rodape-fim { margin-top: .5rem; padding-top: .6rem; font-size: .78rem; border-top: 0; }
@media (max-width: 991px) { .dippg-rodape-grade { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 575px) { .dippg-rodape-grade { grid-template-columns: 1fr; } }

.container-footer .dippg-redes a { display: flex !important; align-items: center; justify-content: center; padding: 0 !important; width: 2.5rem; height: 2.5rem; line-height: 0; }
.container-footer .dippg-redes svg { display: block; }
.container-footer { margin-top: 1rem !important; }
.site-grid { margin-bottom: 1rem !important; }
.dippg-rodape-extras { margin-top: .7rem; padding-top: .55rem; }
.container-footer .dippg-rodape-fim { margin-top: .3rem; padding-top: .3rem; }

/* ===== Páginas internas sem menu lateral ===== */
.container-component .com-content-article, .container-component .com-content-category-blog, .container-component .com-content-category, .container-component .com-finder, .container-component .com-content-featured { max-width: 1040px; margin-left: auto; margin-right: auto; }
.container-component .itemid-387 .com-content-article, body.itemid-387 .container-component .com-content-article { max-width: none; }
.container-component > nav, .container-component .mod-breadcrumbs__wrapper, .container-component .breadcrumb { max-width: none; }
.result__title-url { display: none; }
.result__title-link { text-decoration: none; }
.result__title-text { text-decoration: underline; text-underline-offset: 3px; }
@media (max-width: 991px) {
  .container-topbar .container-below-top { flex-wrap: wrap !important; justify-content: flex-start !important; width: 100%; order: 3; padding-bottom: .3rem !important; }
  .container-topbar .container-below-top ul.mod-menu { flex-wrap: wrap !important; }
  .container-topbar > .custom { width: 100%; margin-right: 0; }
  .container-topbar #portal-siteactions { order: 4; flex-wrap: wrap; gap: .3rem 1.1rem !important; }
}
@media (max-width: 575px) { .com-content-article__body p, .com-content-article__body li { text-align: left !important; } }
@media (max-width: 991px) {
  .container-topbar { gap: .35rem 1rem !important; padding: .4rem 1rem !important; }
  .container-topbar .container-below-top { gap: .35rem .9rem !important; }
  .container-topbar .container-below-top > * { width: auto !important; flex: 0 0 auto; }
  .container-topbar .container-below-top ul.mod-menu { width: auto !important; }
}
/* "Detalhes" só para leitor de tela; a data fica discreta sob o título */
.article-info-term { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.article-info { margin: -.2rem 0 1rem; font-size: .88rem; }
.article-info dd { margin: 0; }

/* ===== Barra de menu e faixa de destaques só na largura do site (não vão até as bordas da tela) ===== */
@media (min-width: 992px) {
  .container-header .container-nav { width: min(var(--dippg-largura), calc(100% - 3rem)) !important; margin: 0 auto 1rem !important; border-radius: 8px; padding-left: .6rem !important; padding-right: 0 !important; box-sizing: border-box; }
  .dippg-todas { border-radius: 0 8px 8px 0; }
  .dippg-todas-painel { width: min(var(--dippg-largura), calc(100% - 3rem)); margin: -.6rem auto 1rem; border-radius: 0 0 8px 8px; padding-left: 1.5rem; padding-right: 1.5rem; box-sizing: border-box; }
}
.dippg-hero { width: min(var(--dippg-largura), calc(100% - 3rem)); margin: 0 auto 1.2rem; background: transparent; border-radius: 8px; overflow: hidden; }
.dippg-hero .dippg-pausa { left: 1rem; }
.dippg-hero .carousel-control-prev, .dippg-hero .carousel-control-next { padding: 0 .8rem; }
@media (max-width: 991px) { .dippg-hero { width: calc(100% - 2rem); margin-top: 1rem; } .dippg-hero .dippg-carrossel { background: #0b2f6b; } }
.dippg-hero + .site-grid { margin-top: 0 !important; }
.dippg-hero + .site-grid .dippg-atalhos { margin-top: 0; }

/* gaveta do celular: grupos recolhíveis */
@media (max-width: 991px) {
  .dippg-gaveta-nav ul.mod-menu { flex-direction: column !important; flex-wrap: nowrap !important; margin: 0; padding: 0; }
  .dippg-gaveta-nav .mod-menu__sub { display: none !important; position: static; box-shadow: none; background: transparent; max-height: none; padding: 0 0 .4rem .8rem !important; list-style: none; }
  .dippg-gaveta-nav li.aberto > .mod-menu__sub { display: block !important; }
  .dippg-gaveta-nav li > a, .dippg-gaveta-nav li > span.mod-menu__heading { display: flex !important; align-items: center; justify-content: space-between; color: #fff !important; padding: .75rem .9rem !important; border-bottom: 1px solid rgba(255,255,255,.15); font-weight: 600; font-size: 1rem; text-decoration: none; cursor: pointer; text-transform: none; }
  .dippg-gaveta-nav li.parent > span.mod-menu__heading::after, .dippg-gaveta-nav li.parent > a::after { display: inline-block !important; content: ''; width: .55rem; height: .55rem; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate(45deg); transition: transform .15s; margin-left: .6rem; }
  .dippg-gaveta-nav li.parent.aberto > span.mod-menu__heading::after, .dippg-gaveta-nav li.parent.aberto > a::after { transform: rotate(-135deg); }
  .dippg-gaveta-nav .mod-menu__sub li > a { font-weight: 400; font-size: .95rem; padding: .55rem .8rem !important; border-bottom: 0; justify-content: flex-start; }
  .dippg-gaveta-nav .mod-menu__sub .mod-menu__sub li > a { font-size: .9rem; }
  .dippg-gaveta-nav .mod-menu__sub li.parent > span.mod-menu__heading { font-size: .8rem; text-transform: uppercase; letter-spacing: .05em; color: #ffd23f !important; border-bottom: 0; padding: .6rem .8rem !important; }
  .dippg-gaveta-nav .dippg-todas { display: none; }
}

/* cabeçalho do celular: logo + sigla + Menu na primeira linha, nome completo abaixo, busca na sequência */
.dippg-nome-movel { display: none; }
#conteudo:focus { outline: none; }
@media (max-width: 991px) {
  .dippg-cabecalho { display: grid !important; grid-template-columns: minmax(0, 1fr) auto; grid-template-areas: "marca menu" "nome nome" "acoes acoes"; align-items: center; gap: .5rem .8rem; padding: .8rem 1rem !important; }
  .dippg-marca { grid-area: marca; gap: .8rem; min-width: 0; }
  .dippg-hamburguer { grid-area: menu; grid-column: auto; grid-row: auto; }
  .dippg-titulos .dippg-nome { display: none; }
  .dippg-titulos { padding-left: .8rem; }
  .dippg-nome-movel { display: block; grid-area: nome; color: #0b2f6b; font-size: .95rem; font-weight: 500; line-height: 1.3; }
  .dippg-acoes { grid-area: acoes; grid-column: auto; grid-row: auto; width: 100%; flex: none; }
  .container-header .brand-logo img { height: 46px; }
}

/* ===== Página "Defesas dos programas" ===== */
.dippg-defesas-filtros { display: flex; flex-wrap: wrap; gap: .5rem; margin: 1rem 0 1.2rem; }
.dippg-filtro { border: 1px solid #b9c4d6; background: #fff; color: #0b2f6b; border-radius: 999px; padding: .35rem .9rem; font: inherit; font-size: .88rem; font-weight: 600; cursor: pointer; }
.dippg-filtro:hover { border-color: #1351b4; }
.dippg-filtro[aria-pressed="true"] { background: #0b2f6b; border-color: #0b2f6b; color: #fff; }
.dippg-filtro:focus-visible { outline: 3px solid #1351b4; outline-offset: 2px; }
.dippg-defesas-lista { list-style: none; margin: 0; padding: 0; }
.dippg-defesas-mes { font-family: Georgia, "Times New Roman", serif; font-size: 1.15rem; font-weight: 700; color: #0b2f6b; margin: 1.4rem 0 .4rem; padding-bottom: .3rem; border-bottom: 2px solid #e0a82e; }
.dippg-defesa { display: grid; grid-template-columns: 6.2rem 5rem minmax(0, 1fr); gap: .8rem; align-items: baseline; padding: .65rem 0; border-bottom: 1px solid #e3e8f0; }
.dippg-defesa[hidden], .dippg-defesas-mes[hidden] { display: none; }
.dippg-defesa time { color: #4a5a73; font-size: .88rem; }
.dippg-prog { font-size: .75rem; font-weight: 800; letter-spacing: .05em; color: #1351b4; background: #eaf1fb; border-radius: 4px; padding: .15rem .45rem; text-align: center; }
.dippg-defesa a { font-weight: 600; color: #0b2f6b; text-decoration: none; }
.dippg-defesa a:hover { text-decoration: underline; }
.dippg-defesas-rodape { margin-top: 1.4rem; font-size: .85rem; color: #4a5a73; }
@media (max-width: 575px) { .dippg-defesa { grid-template-columns: auto minmax(0, 1fr); } .dippg-defesa a { grid-column: 1 / -1; } }
html.alto-contraste .dippg-prog { background: #000; color: #ffd23f; border: 1px solid #ffd23f; } html.alto-contraste .dippg-defesa a, html.alto-contraste .dippg-defesas-mes { color: #ffd23f; }

.dippg-defesas-filtros + .dippg-defesas-filtros { margin-top: -.6rem; }
.dippg-tipo { font-size: .72rem; font-weight: 700; color: #7a5400; background: #fff3d6; border-radius: 4px; padding: .1rem .4rem; margin-left: .4rem; white-space: nowrap; }

.dippg-defesas > .dippg-titulo-secao { margin-bottom: .3rem; }
.dippg-defesas-nota { font-size: .88rem; color: #4a5a73; margin: .2rem 0 1rem; line-height: 1.6; }
.dippg-defesas-nota a { font-weight: 700; margin-left: .35rem; color: #1351b4; }
.dippg-defesas-cabecalho { display: grid; grid-template-columns: 6.2rem 5rem minmax(0, 1fr); gap: .8rem; margin: 1.2rem 0 -.2rem; font-size: .72rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; color: #4a5a73; }
@media (max-width: 575px) { .dippg-defesas-cabecalho { display: none; } }
/* alto contraste: o que ainda ficava azul */
html.alto-contraste .dippg-nome-movel, html.alto-contraste .dippg-defesas-nota, html.alto-contraste .dippg-defesas-cabecalho, html.alto-contraste .dippg-defesas-nota a { color: #ffd23f !important; }
html.alto-contraste .dippg-linha-icone, html.alto-contraste .dippg-linha-seta, html.alto-contraste .dippg-atalho-icone, html.alto-contraste .dippg-atalho svg { color: #ffd23f !important; stroke: #ffd23f; }
html.alto-contraste .dippg-linha, html.alto-contraste .dippg-atalho, html.alto-contraste .dippg-cartao, html.alto-contraste .dippg-defesa, html.alto-contraste .dippg-defesas-mes { border-color: #ffd23f; }
html.alto-contraste .dippg-cartao-sem-img { background: #000; color: #ffd23f; border-bottom: 1px solid #ffd23f; }
html.alto-contraste .dippg-botao-contorno, html.alto-contraste .dippg-filtro { background: #000; color: #ffd23f !important; border-color: #ffd23f; }
html.alto-contraste .dippg-filtro[aria-pressed="true"], html.alto-contraste .dippg-botao-contorno:hover { background: #ffd23f; color: #000 !important; }
html.alto-contraste .dippg-titulos, html.alto-contraste a.dippg-titulos { color: #ffd23f !important; }
html.alto-contraste .dippg-hero .dippg-carrossel, html.alto-contraste .dippg-faixa-programas { border-color: #ffd23f; }

/* ===== Padrão de página de conteúdo (baseado na página DEPOG): cartão cinza claro, título azul com linha, subtítulos azuis ===== */
.dippg-pagina { max-width: 1100px; margin: 0 auto 1.5rem; padding: 24px; background: #f4f6f9; border-radius: 14px; border: 1px solid #d0d7de; font-family: Arial, Helvetica, sans-serif; color: #333; text-align: justify; line-height: 1.6; }
.dippg-pagina h2 { color: #003366; border-bottom: 3px solid #003366; padding-bottom: 10px; display: flex; align-items: center; gap: 10px; text-align: left; margin: 0 0 1rem; font-size: 1.7rem; }
.dippg-pagina h3 { margin-top: 30px; color: #003366; text-align: left; }
.dippg-pagina h4, .dippg-pagina h5 { color: #003366; text-align: left; }
.dippg-pagina img { max-width: 100%; height: auto; }
.dippg-pagina h2 img { width: auto; max-height: 56px; }
.dippg-pagina table { max-width: 100%; }
@media (max-width: 575px) { .dippg-pagina { padding: 16px; text-align: left; } .dippg-pagina h2 { font-size: 1.35rem; } }
html.alto-contraste .dippg-pagina { background: #000; border-color: #ffd23f; color: #fff; } html.alto-contraste .dippg-pagina h2, html.alto-contraste .dippg-pagina h3, html.alto-contraste .dippg-pagina h4 { color: #ffd23f; border-color: #ffd23f; }

/* ===== Notícias, defesas e eventos em cartões lado a lado (páginas iniciais dos programas) ===== */
.dippg-listas { margin: 1.2rem 0 1.8rem; }
.dippg-listas-grade { display: grid; gap: 1.2rem; grid-template-columns: repeat(3, minmax(0, 1fr)); align-items: start; }
.dippg-listas-grade.dippg-listas-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.dippg-listas-grade.dippg-listas-1 { grid-template-columns: minmax(0, 1fr); }
.dippg-lista { background: #fff; border: 1px solid #dfe5ef; border-top: 4px solid #1351b4; border-radius: 6px; padding: 1rem 1.2rem 1.1rem; }
.dippg-lista header { display: flex; justify-content: space-between; align-items: baseline; gap: .8rem; margin-bottom: .5rem; }
.dippg-lista h2 { font-family: Georgia, "Times New Roman", serif; font-size: 1.3rem; font-weight: 700; color: #0b2f6b; margin: 0; }
.dippg-lista-todas { font-size: .85rem; font-weight: 700; color: #1351b4; white-space: nowrap; text-decoration: none; }
.dippg-lista-todas:hover, .dippg-lista-todas:focus-visible { text-decoration: underline; }
.dippg-lista ul { list-style: none; margin: 0; padding: 0; }
.dippg-lista li { padding: .6rem 0; border-top: 1px solid #e6ebf3; }
.dippg-lista li:first-child { border-top: 0; }
.dippg-lista time { display: block; font-size: .72rem; font-weight: 700; letter-spacing: .06em; color: #4a5a73; margin-bottom: .1rem; }
.dippg-lista li a { font-size: .95rem; font-weight: 600; line-height: 1.35; color: #0b2f6b; text-decoration: none; }
.dippg-lista li a:hover, .dippg-lista li a:focus-visible { text-decoration: underline; }
@media (max-width: 991px) { .dippg-listas-grade { grid-template-columns: minmax(0, 1fr) !important; } }
html.alto-contraste .dippg-lista { background: #000; border-color: #ffd23f; } html.alto-contraste .dippg-lista h2, html.alto-contraste .dippg-lista li a, html.alto-contraste .dippg-lista time, html.alto-contraste .dippg-lista-todas { color: #ffd23f !important; } html.alto-contraste .dippg-lista li { border-color: #ffd23f; }

/* dippg: trilha de navegação sem a categoria genérica "Estrutura" (05/11/2026).
   Chegar a um artigo por link direto, sem item de menu, faz o Joomla incluir a categoria na trilha; "Estrutura" reúne assuntos sem relação. */
.breadcrumb li:has(> a[href*="/category/"][href*="estrutura"]), .mod-breadcrumbs li:has(> a[href*="/category/"][href*="estrutura"]) { display: none; }
