/* DCE UFAL — estilos do site */
:root {
	--dce-azul: #0f2a4a;
	--dce-azul-medio: #1d4f8c;
	--dce-azul-linha: #23446d;
	--dce-amarelo: #f5b301;
	--dce-texto: #14202e;
	--dce-suave: #5a6675;
	--dce-borda: #dde3ea;
	--dce-fundo: #f4f6f9;
	--dce-raio: 12px;
}

h1, h2, h3, h4 { letter-spacing: -0.01em; }

/* Coluna central de 1200px nas faixas de largura total; textos corridos limitados a ~780px para leitura. */
.dce-aviso > *, .dce-hero > *, .dce-secao > *, .dce-cabecalho-pagina > * {
	--dce-margem: max(0px, calc((100% - 1242px) / 2));
	max-width: none !important;
	margin-left: var(--dce-margem) !important;
	margin-right: var(--dce-margem) !important;
}
.dce-secao > p, .dce-secao > ul, .dce-secao > ol, .dce-secao > h2, .dce-secao > details, .dce-cabecalho-pagina > p {
	margin-right: max(0px, calc(100% - var(--dce-margem) - 780px)) !important;
}

/* Cabeçalho */
.dce-marca { display: flex; flex-direction: column; gap: 2px; padding-left: 14px; margin-left: 4px; border-left: 1px solid #3a5a82; color: #fff; font-size: 13px; line-height: 1.3; }
.dce-marca strong { font-family: Archivo, sans-serif; font-size: 16px; font-weight: 700; }
.dce-marca span { color: #c9d6e6; }
.dce-marca-mobile { font-size: 12px; color: #c9d6e6; }
.header-navigation .menu-item.dce-menu-destaque > a { background: var(--dce-amarelo); color: var(--dce-azul) !important; border-radius: 8px; padding: 0.7em 1.2em; margin-left: 0.6em; font-weight: 600; }
.header-navigation .menu-item.dce-menu-destaque > a:hover { background: #ffc933; }
.mobile-navigation .menu-item.dce-menu-destaque > a { color: var(--dce-amarelo) !important; font-weight: 600; }
.menu-toggle-open, .mobile-navigation a { min-height: 44px; }

/* Faixa de aviso */
.dce-aviso { background: var(--dce-amarelo); color: var(--dce-azul); padding: 10px 20px !important; margin: 0 !important; font-size: 15px; }
.dce-aviso p { margin: 0; }
.dce-aviso a { color: var(--dce-azul); font-weight: 600; text-decoration: underline; }

/* Banner */
.dce-hero { background: var(--dce-azul); color: #fff; padding: clamp(40px, 7vw, 88px) 20px !important; margin: 0 !important; }
.dce-hero h1 { color: #fff; font-family: Archivo, sans-serif; font-weight: 800; font-size: clamp(2rem, 5vw, 3.4rem); line-height: 1.05; margin: 0.3em 0; }
.dce-kicker { font-size: 13px; font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; color: var(--dce-amarelo); margin: 0; }
.dce-lead { font-size: clamp(1.05rem, 2vw, 1.2rem); color: #d6e1ee; max-width: 36em; }
.dce-hero .wp-block-buttons { margin-top: 1.6em; gap: 12px; }
.dce-hero-logo img { max-width: 100%; height: auto; }
@media (max-width: 781px) { .dce-hero-logo { display: none; } }

/* Botões */
.dce-btn-destaque .wp-block-button__link { background: var(--dce-amarelo) !important; color: var(--dce-azul) !important; font-weight: 600; border-radius: 8px; padding: 14px 22px; }
.dce-btn-destaque .wp-block-button__link:hover { background: #ffc933 !important; }
.dce-btn-claro .wp-block-button__link { border: 1.5px solid #fff !important; color: #fff !important; background: transparent !important; font-weight: 600; border-radius: 8px; padding: 13px 22px; }
.dce-btn-claro .wp-block-button__link:hover { background: rgba(255, 255, 255, 0.1) !important; }
@media (max-width: 600px) { .dce-hero .wp-block-button, .dce-hero .wp-block-button__link { width: 100%; text-align: center; } }

/* Seções */
.dce-secao { padding: clamp(40px, 6vw, 64px) 20px !important; margin: 0 !important; }
.dce-secao-alt { background: var(--dce-fundo); }
.dce-secao h2 { color: var(--dce-azul); font-family: Archivo, sans-serif; font-size: clamp(1.5rem, 3vw, 1.85rem); }
.dce-secao-topo { align-items: baseline; margin-bottom: 1.2em; }
.dce-secao-topo h2, .dce-secao-topo p { margin: 0; }
.dce-secao-topo a { font-weight: 600; }
.dce-suave { color: var(--dce-suave); }
.dce-nota { color: var(--dce-suave); font-size: 0.92em; border-top: 1px solid var(--dce-borda); padding-top: 1em; margin-top: 2.5em; }

/* Cabeçalho das páginas internas */
.dce-cabecalho-pagina { background: var(--dce-azul); color: #d6e1ee; padding: clamp(36px, 6vw, 64px) 20px !important; margin: 0 !important; }
.dce-cabecalho-pagina h1 { color: #fff; font-family: Archivo, sans-serif; font-weight: 800; font-size: clamp(1.9rem, 4.5vw, 2.8rem); margin: 0 0 0.3em; }
.dce-cabecalho-pagina p { font-size: 1.1rem; margin: 0; max-width: 46em; }

/* Âncoras de seção */
.dce-ancoras { gap: 8px !important; margin-bottom: 2em; }
.dce-ancoras p { margin: 0; }
.dce-ancoras a { display: inline-flex; align-items: center; min-height: 40px; padding: 0 16px; border: 1px solid var(--dce-borda); border-radius: 999px; text-decoration: none; color: var(--dce-azul); font-size: 15px; font-weight: 500; background: #fff; }
.dce-ancoras a:hover { border-color: var(--dce-azul-medio); background: var(--dce-fundo); }
.dce-secao h2[id] { scroll-margin-top: 110px; margin-top: 1.8em; }

/* Cartões de atalho */
.dce-atalhos, .dce-pessoas { grid-template-columns: repeat(auto-fit, minmax(min(13rem, 100%), 1fr)) !important; }
.dce-atalhos { gap: 16px !important; }
@media (max-width: 600px) { .dce-atalhos { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 12px !important; } .dce-atalho { padding: 16px; } .dce-atalho p { font-size: 13px; } .dce-atalho .dce-atalho-titulo a { font-size: 15px; } }
.dce-atalho { position: relative; background: #fff; border: 1px solid var(--dce-borda); border-radius: var(--dce-raio); padding: 22px; margin: 0 !important; transition: border-color 0.15s, box-shadow 0.15s; }
.dce-atalho:hover { border-color: var(--dce-azul-medio); box-shadow: 0 4px 16px rgba(15, 42, 74, 0.08); }
.dce-atalho p { margin: 0; color: var(--dce-suave); font-size: 15px; }
.dce-atalho .dce-atalho-titulo { margin-bottom: 4px; }
.dce-atalho .dce-atalho-titulo a { color: var(--dce-texto); font-weight: 600; font-size: 17px; text-decoration: none; }
.dce-atalho .dce-atalho-titulo a::after { content: ""; position: absolute; inset: 0; } /* cartão inteiro clicável */
.dce-atalho[class*="dce-ic-"]::before { content: ""; display: block; width: 30px; height: 30px; margin-bottom: 12px; background-repeat: no-repeat; background-position: left center; background-size: contain; }
.dce-ic-ru::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231d4f8c' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 11h18M5 11V7a7 7 0 0 1 14 0v4M4 11l1 9h14l1-9'/%3E%3C/svg%3E"); }
.dce-ic-bolsa::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231d4f8c' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 6v12M15 9.5c0-1.4-1.3-2-3-2s-3 .8-3 2 1.3 1.8 3 2.2 3 1 3 2.3-1.3 2-3 2-3-.6-3-2'/%3E%3C/svg%3E"); }
.dce-ic-transporte::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231d4f8c' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='4' y='3' width='16' height='14' rx='3'/%3E%3Cpath d='M4 11h16M8 17l-2 4M16 17l2 4'/%3E%3C/svg%3E"); }
.dce-ic-mapa::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231d4f8c' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 4 3 6v14l6-2 6 2 6-2V4l-6 2-6-2zM9 4v14M15 6v14'/%3E%3C/svg%3E"); }

/* Notícias (bloco Posts recentes) */
.dce-noticias.wp-block-latest-posts { gap: 24px; padding: 0; }
.dce-noticias.wp-block-latest-posts.is-grid li { margin: 0 !important; display: flex; flex-direction: column; gap: 8px; }
.dce-noticias .wp-block-latest-posts__featured-image img { width: 100%; aspect-ratio: 16 / 10; object-fit: cover; border-radius: var(--dce-raio); }
.dce-noticias .wp-block-latest-posts__post-title { font-weight: 600; font-size: 1.15rem; line-height: 1.35; color: var(--dce-texto); text-decoration: none; }
.dce-noticias .wp-block-latest-posts__post-date { order: -1; font-size: 12px; font-weight: 600; letter-spacing: 0.06em; text-transform: uppercase; color: var(--dce-azul-medio); }
.dce-noticias .wp-block-latest-posts__post-excerpt { color: var(--dce-suave); font-size: 15px; margin: 0; }
@media (max-width: 781px) { .dce-noticias.wp-block-latest-posts.is-grid { display: flex; flex-direction: column; } .dce-noticias.wp-block-latest-posts.is-grid li { width: 100% !important; } }

/* Cartões genéricos */
.dce-cartao { background: #fff; border: 1px solid var(--dce-borda); border-radius: 14px; padding: 28px !important; }
.dce-cartao h2, .dce-cartao h3 { margin-top: 0; }
.wp-block-column > .dce-cartao + .dce-cartao { margin-top: 20px; }
.dce-cartao-escuro { background: var(--dce-azul); border-color: var(--dce-azul); color: #d6e1ee; }
.dce-cartao-escuro h3, .dce-cartao-escuro strong { color: #fff; }
.dce-cartao-alerta { background: #fff8e1; border-color: #f0d27a; }

/* Listas */
.entry-content .dce-lista-links, .entry-content .dce-agenda, .site-footer ul { list-style: none; padding-left: 0 !important; margin-left: 0; }
.dce-lista-links li { border-bottom: 1px solid #e6ebf1; }
.dce-lista-links li:last-child { border-bottom: 0; }
.dce-lista-links a, .dce-lista-links li { display: block; padding: 12px 0; color: var(--dce-texto); text-decoration: none; font-weight: 500; }
.dce-lista-links li:has(a) { padding: 0; }
.dce-lista-links a:hover { color: var(--dce-azul-medio); }
.dce-lista-links a::after { content: "→"; float: right; color: var(--dce-suave); }
.dce-agenda { list-style: none; padding: 0; margin: 0 0 1em; display: flex; flex-direction: column; gap: 14px; }
.dce-agenda li { position: relative; padding-left: 80px; min-height: 60px; line-height: 1.45; color: var(--dce-suave); font-size: 15px; }
.dce-agenda li strong { position: absolute; left: 0; top: 0; width: 66px; font-size: 14px !important; height: 60px; display: flex; align-items: center; justify-content: center; background: var(--dce-azul); color: #fff; border-radius: 10px; font-family: Archivo, sans-serif; font-size: 15px; }
.dce-agenda li::first-line { color: var(--dce-texto); font-weight: 600; }
.dce-lista-check { padding-left: 1.2em; }
.dce-lista-check li { margin-bottom: 0.5em; }

/* Chamada da Ouvidoria */
.dce-cta { background: var(--dce-azul); color: #d6e1ee; border-radius: 16px; padding: clamp(24px, 4vw, 40px) !important; gap: 20px !important; }
.dce-cta h2 { color: #fff; margin: 0 0 0.3em; }
.dce-cta p { margin: 0; }

/* Diretoria */
.dce-pessoas { gap: 16px !important; margin: 1.2em 0; }
.dce-pessoa { background: var(--dce-fundo); border-radius: var(--dce-raio); padding: 20px; margin: 0 !important; }
.dce-pessoa p { margin: 0; }
.dce-pessoa-nome { font-weight: 600; color: var(--dce-texto); }
.dce-pessoa-cargo { color: var(--dce-azul-medio); font-size: 14px; font-weight: 600; }
.dce-pessoa-curso { color: var(--dce-suave); font-size: 14px; }

/* Tabelas */
.dce-tabela { overflow-x: auto; }
.dce-tabela table { border-collapse: collapse; width: 100%; font-size: 15px; }
.dce-tabela th, .dce-tabela td { border: 0; border-bottom: 1px solid #e6ebf1; padding: 12px 14px; text-align: left; vertical-align: top; }
.dce-tabela thead th { background: var(--dce-fundo); color: var(--dce-azul); }
.dce-tabela tbody th { color: var(--dce-azul); width: 30%; }

/* Sanfonas (Serviços) */
.dce-sanfona { border: 1px solid var(--dce-borda); border-radius: 10px; padding: 0 18px; margin: 0 0 10px !important; background: #fff; }
.dce-sanfona summary { cursor: pointer; padding: 14px 0; font-weight: 600; color: var(--dce-texto); min-height: 24px; }
.dce-sanfona[open] summary { border-bottom: 1px solid #e6ebf1; margin-bottom: 12px; }

/* Formulário da Ouvidoria */
.fluentform .ff-el-form-control { min-height: 46px; border-radius: 8px; border-color: #c5cfdb; font-size: 16px; }
.fluentform .ff-el-input--label label { font-weight: 600; color: var(--dce-texto); }
.fluentform .ff-btn-submit { min-height: 48px; border-radius: 8px !important; font-weight: 600; padding: 0 28px !important; background: var(--dce-azul) !important; }
.fluentform .ff-el-section-break { margin-top: 1.5em; }

/* Rodapé */
.site-footer, .site-footer p, .site-footer li { color: #c9d6e6; font-size: 15px; }
.site-footer h3 { color: #fff; font-size: 16px; font-family: Archivo, sans-serif; margin: 0 0 0.8em; }
.site-footer a { color: #c9d6e6; text-decoration: none; }
.site-footer a:hover { color: var(--dce-amarelo); }
.site-footer ul { list-style: none; padding: 0; margin: 0; }
.site-footer li { margin-bottom: 0.5em; }
.site-footer .site-bottom-footer-wrap { font-size: 13px; }

/* Acessibilidade: foco visível */
a:focus-visible, button:focus-visible, summary:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible { outline: 3px solid var(--dce-amarelo); outline-offset: 2px; }

/* O Kadence envolve o conteúdo dos grupos em .wp-block-group__inner-container: limita os textos corridos ali também. */
.dce-secao > .wp-block-group__inner-container > :is(p, ul, ol, details),
.dce-cabecalho-pagina > .wp-block-group__inner-container > p { max-width: 780px; }
.dce-ic-saude::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231d4f8c' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20.8 5.6a5.5 5.5 0 0 0-7.8 0L12 6.6l-1-1a5.5 5.5 0 0 0-7.8 7.8l1 1L12 22l7.8-7.6 1-1a5.5 5.5 0 0 0 0-7.8z'/%3E%3C/svg%3E"); }
/* Bordas das tabelas: o tema aplica borda escura em todas as células. */
.entry-content .dce-tabela table, .entry-content .dce-tabela th, .entry-content .dce-tabela td { border: 0 !important; border-bottom: 1px solid #e6ebf1 !important; }
.entry-content .dce-tabela thead th { border-bottom: 2px solid #c5cfdb !important; }
.entry-content .dce-tabela { border: 1px solid var(--dce-borda); border-radius: var(--dce-raio); }

/* Barra de aviso (Painel › Aviso do site) */
.dce-aviso-barra { background: var(--dce-amarelo, #f5b301); color: #0f2a4a; }
.dce-aviso-barra p { box-sizing: border-box; max-width: 1290px; margin: 0 auto; padding: 10px 24px; font-size: 15px; line-height: 1.45; }
.dce-aviso-barra a { color: #0f2a4a; font-weight: 600; text-decoration: underline; white-space: nowrap; }
.dce-aviso-barra a:hover { color: #000; }

/* Botão Ouvidoria do menu: texto centralizado vertical e horizontalmente */
.header-navigation .menu-item.dce-menu-destaque > a { display: inline-flex !important; align-items: center; justify-content: center; min-height: 44px; padding: 0 1.25em !important; line-height: 1; }
.header-navigation .menu-item.dce-menu-destaque > a .nav-drop-title-wrap { display: inline-flex; align-items: center; padding: 0; }

/* Rodapé: coluna da logo e do endereço centralizada */
.site-footer-middle-section-1 { justify-content: center; text-align: center; }
.site-footer-middle-section-1 .wp-block-image, .site-footer-middle-section-1 .wp-block-image img { margin-left: auto; margin-right: auto; }
.site-footer-middle-section-1 .widget { width: 100%; }

/* Crédito das imagens nas notícias */
.dce-credito { font-size: 13px; color: var(--dce-suave); border-top: 1px solid var(--dce-borda); padding-top: 0.8em; margin-top: 2em; }

/* Notícias da página inicial: imagens com o mesmo recorte */
.dce-noticias .wp-block-latest-posts__featured-image { margin: 0 0 4px; }
.dce-noticias .wp-block-latest-posts__featured-image a { display: block; }

/* Notícias da página inicial: cards compactos com efeito ao passar o mouse */
.dce-noticias.wp-block-latest-posts { gap: 28px 24px !important; }
.dce-noticias.wp-block-latest-posts.is-grid li { gap: 6px; }
.dce-noticias .wp-block-latest-posts__featured-image { overflow: hidden; border-radius: 10px; background: var(--dce-azul); }
/* O Kadence define a proporção da moldura via padding-bottom (3:2); aqui fica 2:1 */
.dce-noticias.wp-block-latest-posts.is-grid .wp-block-latest-posts__featured-image { padding-bottom: 50% !important; }
.dce-noticias.wp-block-latest-posts .wp-block-latest-posts__featured-image img { height: 100% !important; width: 100%; aspect-ratio: auto; border-radius: 0; transition: opacity 0.25s ease, transform 0.35s ease; }
.dce-noticias .wp-block-latest-posts__post-date { font-size: 11px; }
.dce-noticias.wp-block-latest-posts .wp-block-latest-posts__post-title { font-size: 1.05rem !important; line-height: 1.3; margin-top: 4px; transition: color 0.2s ease; }
.dce-noticias .wp-block-latest-posts__post-excerpt { font-size: 14px; line-height: 1.5; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.dce-noticias li:hover .wp-block-latest-posts__featured-image img,
.dce-noticias li:focus-within .wp-block-latest-posts__featured-image img { opacity: 0.72; transform: scale(1.04); }
.dce-noticias li:hover .wp-block-latest-posts__post-title,
.dce-noticias li:focus-within .wp-block-latest-posts__post-title { color: var(--dce-azul-medio) !important; text-decoration: underline; text-underline-offset: 3px; }
@media (prefers-reduced-motion: reduce) { .dce-noticias .wp-block-latest-posts__featured-image img { transition: opacity 0.25s ease; } .dce-noticias li:hover .wp-block-latest-posts__featured-image img { transform: none; } }

/* Notícias e listagens: menos espaço entre o aviso/cabeçalho e o cartão do conteúdo (o tema usa 5rem) */
body.single-post .content-area, body.blog .content-area, body.archive .content-area, body.search .content-area { margin-top: 1.5rem; margin-bottom: 3rem; }
body.single-post .content-style-boxed .entry-content-wrap, body.single-post.content-style-boxed .entry-content-wrap { padding-top: 1.5rem; }
body.single-post .entry-header { margin-bottom: 1rem; }
@media (max-width: 767px) { body.single-post .content-area, body.blog .content-area, body.archive .content-area { margin-top: 1rem; } }
