/* ==========================================================================
   PADRÕES DE BLOCO DO TEMA (inc/padroes.php)
   Carregada no site (depois do app.css) e no editor de blocos (add_editor_style).
   Cores só pelas variáveis --ufpr-*: os padrões seguem os temas claro, escuro
   e alto contraste sozinhos. Os seletores com #conteudo .entry-content vencem
   as regras gerais do conteúdo no site; os sem prefixo valem no editor.
   ========================================================================== */

/* Destaque com chamada: faixa azul com título, texto e botões */
.padrao-destaque { margin: 0 0 1.5em; padding: 36px 40px; border-radius: var(--ufpr-raio-lg); background-color: var(--ufpr-barra-fundo); color: var(--ufpr-barra-texto); }
.padrao-destaque > * { max-width: 46rem; }
.padrao-destaque > :first-child { margin-top: 0; }
.padrao-destaque > :last-child { margin-bottom: 0; }
.padrao-destaque h2, .padrao-destaque h3, #conteudo .entry-content .padrao-destaque h2 { margin-top: 0; color: var(--ufpr-barra-texto); }
.padrao-destaque p { color: inherit; font-size: 1.1em; line-height: 1.6; }
.padrao-destaque a:not(.wp-block-button__link), .padrao-destaque a:not(.wp-block-button__link):visited { color: inherit; }
.padrao-destaque .wp-block-button .wp-block-button__link:not(.has-background) { border: 2px solid var(--ufpr-barra-texto); background-color: var(--ufpr-barra-texto); color: var(--ufpr-barra-fundo); }
.padrao-destaque .wp-block-button .wp-block-button__link:not(.has-background):hover { background-color: transparent; color: var(--ufpr-barra-texto); }
.padrao-destaque .is-style-outline > .wp-block-button__link:not(.has-background) { background-color: transparent; color: var(--ufpr-barra-texto); }
.padrao-destaque .is-style-outline > .wp-block-button__link:not(.has-background):hover { background-color: var(--ufpr-barra-realce); color: var(--ufpr-barra-texto); }

/* Cartões de serviço */
.padrao-cartoes { gap: 24px; margin: 0 0 1.5em; }
.padrao-cartao { display: flex; flex-direction: column; padding: 22px 24px; background-color: var(--ufpr-superficie); border: 1px solid var(--ufpr-borda); border-radius: var(--ufpr-raio); box-shadow: var(--ufpr-sombra-leve); }
.wp-block-column.padrao-cartao > * { margin-left: 0; margin-right: 0; } /* no editor, as margens automáticas centralizariam os blocos */
.padrao-cartao h3, #conteudo .entry-content .padrao-cartao h3 { margin: 0 0 0.5em; font-size: 1.2em; color: var(--ufpr-titulo-forte); }
.padrao-cartao p { margin: 0 0 1em; }
.padrao-cartao .padrao-cartao__link { margin: auto 0 0; font-weight: 600; }

/* Linha do tempo: lista com o ano em negrito no início de cada item */
.padrao-linha-tempo, #conteudo .entry-content .padrao-linha-tempo { position: relative; margin: 0 0 1.5em; padding: 0 0 0 2rem; list-style: none; }
.padrao-linha-tempo::before { content: ""; position: absolute; top: 0.45em; bottom: 0.45em; left: 0.5rem; border-left: 2px solid var(--ufpr-borda-campo); }
.padrao-linha-tempo li, #conteudo .entry-content .padrao-linha-tempo li { position: relative; margin: 0; padding: 0 0 1.25em; }
.padrao-linha-tempo li:last-child { padding-bottom: 0; }
.padrao-linha-tempo li::before { content: ""; position: absolute; top: 0.35em; left: -1.85rem; width: 0.8rem; height: 0.8rem; border: 2px solid var(--ufpr-destaque); border-radius: 50%; background-color: var(--ufpr-fundo); box-sizing: border-box; }
.padrao-linha-tempo li::marker { content: none; }
.padrao-linha-tempo strong { display: block; color: var(--ufpr-titulo-forte); font-size: 1.1em; }

/* Galeria */
.padrao-galeria img { border-radius: var(--ufpr-raio-sm); }
.padrao-galeria figcaption { font-size: 0.85em; }

/* Chamada para edital */
.padrao-edital { margin: 0 0 1.5em; padding: 26px 30px; background-color: var(--ufpr-superficie); border: 1px solid var(--ufpr-borda); border-radius: var(--ufpr-raio); box-shadow: var(--ufpr-sombra-leve); }
.padrao-edital > :last-child { margin-bottom: 0; }
.padrao-edital h2, #conteudo .entry-content .padrao-edital h2 { margin: 0.4em 0 0.4em; font-size: 1.45em; }
.padrao-edital .padrao-edital__selo { display: inline-block; margin: 0; padding: 3px 12px; border-radius: 999px; background-color: var(--ufpr-aviso-fundo); color: var(--ufpr-aviso-texto); font-size: 0.8em; font-weight: 700; letter-spacing: 0.05em; text-transform: uppercase; }
.padrao-edital__datas, #conteudo .entry-content .padrao-edital__datas { margin: 0 0 1.25em; padding: 0; list-style: none; }
.padrao-edital__datas li, #conteudo .entry-content .padrao-edital__datas li { margin: 0; padding: 8px 0; border-top: 1px solid var(--ufpr-borda); }
.padrao-edital__datas li:last-child { border-bottom: 1px solid var(--ufpr-borda); }
.padrao-edital__datas li::marker { content: none; }

/* Números do laboratório */
.padrao-numeros { gap: 16px; margin: 0 0 1.5em; padding: 28px 24px; border-radius: var(--ufpr-raio); background-color: var(--ufpr-azul-suave); text-align: center; }
.padrao-numero p { margin: 0; }
.padrao-numero .padrao-numero__valor { color: var(--ufpr-titulo-forte); font-size: 2.6em; font-weight: 800; line-height: 1.1; }
.padrao-numero .padrao-numero__rotulo { color: var(--ufpr-texto); font-size: 0.95em; }

/* Cartões com ícone: estilos de bloco da Coluna (inc/padroes.php, wpufpr_estilos_bloco()).
   O estilo escolhido em "Estilos" dá à coluna o visual de cartão e desenha o ícone
   (máscara SVG na cor --ufpr-destaque, sobre um quadrado em --ufpr-azul-suave). */
.wp-block-column[class*="is-style-icone-"] { position: relative; display: flex; flex-direction: column; padding: 22px 24px; background-color: var(--ufpr-superficie); border: 1px solid var(--ufpr-borda); border-radius: var(--ufpr-raio); box-shadow: var(--ufpr-sombra-leve); }
.wp-block-column[class*="is-style-icone-"] > * { margin-left: 0; margin-right: 0; }
.wp-block-column[class*="is-style-icone-"]::before { content: ""; display: block; flex: none; width: 48px; height: 48px; margin: 0 0 16px; border-radius: var(--ufpr-raio); background-color: var(--ufpr-azul-suave); }
.wp-block-column[class*="is-style-icone-"]::after { content: ""; position: absolute; top: 34px; left: 36px; width: 24px; height: 24px; background-color: var(--ufpr-destaque); -webkit-mask: var(--ufpr-icone-desenho) center / contain no-repeat; mask: var(--ufpr-icone-desenho) center / contain no-repeat; }
.wp-block-column[class*="is-style-icone-"] h3, #conteudo .entry-content .wp-block-column[class*="is-style-icone-"] h3 { margin: 0 0 0.5em; font-size: 1.2em; color: var(--ufpr-titulo-forte); }
.wp-block-column[class*="is-style-icone-"] p { margin: 0 0 1em; }
.wp-block-column[class*="is-style-icone-"] .padrao-cartao__link { margin: auto 0 0; font-weight: 600; }

/* Cartões com imagem: a imagem ocupa o alto do cartão, de borda a borda */
.padrao-cartao--imagem { overflow: hidden; padding-top: 0; }
.padrao-cartao--imagem > .padrao-cartao__imagem, .wp-block-column.padrao-cartao--imagem > .padrao-cartao__imagem, #conteudo .entry-content .padrao-cartao--imagem > .padrao-cartao__imagem { margin: 0 -24px 18px; max-width: none; }
.padrao-cartao__imagem img { display: block; width: 100%; height: auto; aspect-ratio: 16 / 9; object-fit: cover; border-radius: 0; }

/* Avisos: estilos de bloco do Grupo (informação, atenção, erro, sucesso). O tipo
   também vem escrito no texto ("Atenção:"), para não depender só da cor e do ícone. */
.wp-block-group[class*="is-style-aviso-"], #conteudo .entry-content .wp-block-group[class*="is-style-aviso-"] { position: relative; margin: 0 0 1.5em; padding: 16px 20px 16px 54px; border: 1px solid var(--ufpr-caixa-borda); border-radius: var(--ufpr-raio); background-color: var(--ufpr-caixa-fundo); color: var(--ufpr-caixa-texto); }
.wp-block-group[class*="is-style-aviso-"]::before { content: ""; position: absolute; top: 17px; left: 20px; width: 22px; height: 22px; background-color: currentColor; -webkit-mask: var(--ufpr-icone-desenho) center / contain no-repeat; mask: var(--ufpr-icone-desenho) center / contain no-repeat; }
.wp-block-group[class*="is-style-aviso-"] > *, .wp-block-group[class*="is-style-aviso-"] > .wp-block-group__inner-container > *, #conteudo .entry-content .wp-block-group[class*="is-style-aviso-"] > .wp-block-group__inner-container > * { margin-top: 0; margin-bottom: 0.6em; }
/* Em temas clássicos, o WordPress põe o conteúdo do Grupo num .wp-block-group__inner-container */
.wp-block-group[class*="is-style-aviso-"] > :last-child, .wp-block-group[class*="is-style-aviso-"] > .wp-block-group__inner-container > :last-child, #conteudo .entry-content .wp-block-group[class*="is-style-aviso-"] > .wp-block-group__inner-container > :last-child { margin-bottom: 0; }
.wp-block-group[class*="is-style-aviso-"] p, .wp-block-group[class*="is-style-aviso-"] li, .wp-block-group[class*="is-style-aviso-"] strong, #conteudo .entry-content .wp-block-group[class*="is-style-aviso-"] p { color: inherit; }
.wp-block-group[class*="is-style-aviso-"] a, .wp-block-group[class*="is-style-aviso-"] a:visited, .wp-block-group[class*="is-style-aviso-"] a:hover, #conteudo .entry-content .wp-block-group[class*="is-style-aviso-"] a { color: inherit; text-decoration: underline; }
.is-style-aviso-informacao { --ufpr-caixa-fundo: var(--ufpr-info-fundo); --ufpr-caixa-borda: var(--ufpr-info-borda); --ufpr-caixa-texto: var(--ufpr-info-texto); }
.is-style-aviso-atencao { --ufpr-caixa-fundo: var(--ufpr-aviso-fundo); --ufpr-caixa-borda: var(--ufpr-aviso-borda); --ufpr-caixa-texto: var(--ufpr-aviso-texto); }
.is-style-aviso-erro { --ufpr-caixa-fundo: var(--ufpr-erro-fundo); --ufpr-caixa-borda: var(--ufpr-erro-borda); --ufpr-caixa-texto: var(--ufpr-erro-texto); }
.is-style-aviso-sucesso { --ufpr-caixa-fundo: var(--ufpr-sucesso-fundo); --ufpr-caixa-borda: var(--ufpr-sucesso-borda); --ufpr-caixa-texto: var(--ufpr-sucesso-texto); }

/* Financiamento: um cartão por agência, com logo, sigla e nome completo no alto e a
   tabela de projetos, códigos e valores. Em temas clássicos, o conteúdo de cada
   Grupo vem num .wp-block-group__inner-container: as regras tratam os dois casos. */
.padrao-financiamento, #conteudo .entry-content .padrao-financiamento { margin: 0 0 1.5em; padding: 22px 24px; background-color: var(--ufpr-superficie); border: 1px solid var(--ufpr-borda); border-radius: var(--ufpr-raio); box-shadow: var(--ufpr-sombra-leve); }
.padrao-financiamento__agencia, .padrao-financiamento__agencia > .wp-block-group__inner-container { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 20px; }
.padrao-financiamento__agencia > .wp-block-group__inner-container { flex: 1 1 100%; }
.padrao-financiamento__agencia, #conteudo .entry-content .padrao-financiamento__agencia { margin: 0 0 18px; }
/* Logo sobre base branca (como os logos do cabeçalho no tema escuro): logos coloridos ficam legíveis nos três temas */
.padrao-financiamento__logo, #conteudo .entry-content .padrao-financiamento__logo { flex: none; width: 150px; margin: 0; padding: 8px; border: 1px solid var(--ufpr-borda); border-radius: var(--ufpr-raio-sm); background-color: #ffffff; }
.padrao-financiamento__logo img { display: block; width: 100%; height: 56px; object-fit: contain; }
.padrao-financiamento__nome, #conteudo .entry-content .padrao-financiamento__nome { flex: 1 1 220px; min-width: 0; margin: 0; }
.padrao-financiamento__nome h3, #conteudo .entry-content .padrao-financiamento__nome h3 { margin: 0 0 0.15em; font-size: 1.25em; color: var(--ufpr-titulo-forte); }
.padrao-financiamento__nome p, #conteudo .entry-content .padrao-financiamento__nome p { margin: 0; color: var(--ufpr-texto-suave); font-size: 0.95em; line-height: 1.45; }
.padrao-financiamento__tabela, #conteudo .entry-content .padrao-financiamento__tabela { margin: 0; }
.padrao-financiamento__tabela td:nth-child(2) { font-family: var(--ufpr-fonte-mono); font-size: 0.92em; overflow-wrap: anywhere; }
.padrao-financiamento__tabela th:last-child, .padrao-financiamento__tabela td:last-child { text-align: right; white-space: nowrap; }
.padrao-financiamento__tabela tfoot td { font-weight: 700; }

/* Acesso rápido: botões largos com ícone, um embaixo do outro (página de links do
   perfil nas redes sociais). O ícone vem do estilo do Botão (is-style-link-*), em
   máscara SVG na cor --ufpr-acesso-icone; a seta à direita segue a cor do texto.
   No celular, com o modelo "Acesso rápido (links)", os botões ficam em degradê
   (bloco "Celular", mais abaixo). */
.padrao-acesso-rapido, #conteudo .entry-content .padrao-acesso-rapido { max-width: 36rem; margin: 0 auto 1.5em; }
.padrao-acesso-rapido > :last-child, .padrao-acesso-rapido > .wp-block-group__inner-container > :last-child { margin-bottom: 0; }
.padrao-acesso-rapido__intro, #conteudo .entry-content .padrao-acesso-rapido__intro { margin: 0 0 1.25em; color: var(--ufpr-texto-suave); text-align: center; }
.padrao-acesso-rapido__nota, #conteudo .entry-content .padrao-acesso-rapido__nota { margin: 0; color: var(--ufpr-texto-suave); font-size: 0.85em; text-align: center; }
.padrao-links, #conteudo .entry-content .padrao-links { display: flex; flex-direction: column; align-items: stretch; gap: 12px; margin: 0 0 1.5em; }
.padrao-links > .wp-block-button { width: 100%; margin: 0; }
.padrao-links .wp-block-button__link { display: flex; align-items: center; justify-content: flex-start; gap: 14px; width: 100%; min-height: 56px; padding: 12px 18px; border: 1px solid var(--ufpr-borda); border-radius: var(--ufpr-raio-lg); background-color: var(--ufpr-superficie); color: var(--ufpr-titulo-forte); box-shadow: var(--ufpr-sombra-leve); box-sizing: border-box; font-size: 1rem; font-weight: 600; line-height: 1.3; text-align: left; transition: background-color 0.2s ease, background-position 0.3s ease, border-color 0.2s ease, color 0.2s ease; }
.padrao-links .wp-block-button__link:visited { color: var(--ufpr-titulo-forte); }
.padrao-links .wp-block-button__link:hover { border-color: var(--ufpr-destaque); background-color: var(--ufpr-azul-suave); color: var(--ufpr-titulo-forte); }
.padrao-links [class*="is-style-link-"] > .wp-block-button__link::before { content: ""; flex: none; width: 24px; height: 24px; background-color: var(--ufpr-acesso-icone); -webkit-mask: var(--ufpr-icone-desenho) center / contain no-repeat; mask: var(--ufpr-icone-desenho) center / contain no-repeat; }
.padrao-links .wp-block-button__link::after { content: ""; flex: none; width: 18px; height: 18px; margin-left: auto; background-color: currentColor; opacity: 0.7; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m9 6 6 6-6 6'/%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='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m9 6 6 6-6 6'/%3E%3C/svg%3E") center / contain no-repeat; }

/* Desenhos dos ícones (os mesmos de wpufpr_icones(), em functions.php) */
.is-style-icone-pesquisa { --ufpr-icone-desenho: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 3h6M10 3v6l-5.6 9.6A1.6 1.6 0 0 0 5.8 21h12.4a1.6 1.6 0 0 0 1.4-2.4L14 9V3'/%3E%3Cpath d='M7.2 15h9.6'/%3E%3C/svg%3E"); }
.is-style-icone-ensino { --ufpr-icone-desenho: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 9.5 12 5l10 4.5L12 14z'/%3E%3Cpath d='M6 11.5V16c0 1.5 2.7 3 6 3s6-1.5 6-3v-4.5M22 9.5V15'/%3E%3C/svg%3E"); }
.is-style-icone-equipe { --ufpr-icone-desenho: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9' cy='8' r='3.5'/%3E%3Cpath d='M2.5 20a6.5 6.5 0 0 1 13 0'/%3E%3Cpath d='M15.5 4.7a3.5 3.5 0 0 1 0 6.6M17.5 13.6A6.5 6.5 0 0 1 21.5 20'/%3E%3C/svg%3E"); }
.is-style-icone-publicacoes { --ufpr-icone-desenho: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 18.5V5a2 2 0 0 1 2-2h14v15H6a2 2 0 0 0-2 2v0a2 2 0 0 0 2 2h14'/%3E%3Cpath d='M8 7h8'/%3E%3C/svg%3E"); }
.is-style-icone-documentos { --ufpr-icone-desenho: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 3h8l4 4v14H6zM14 3v4h4M9 12h6M9 16h6'/%3E%3C/svg%3E"); }
.is-style-icone-eventos { --ufpr-icone-desenho: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='16' rx='2'/%3E%3Cpath d='M3 10h18M8 3v4M16 3v4'/%3E%3C/svg%3E"); }
.is-style-icone-resultados { --ufpr-icone-desenho: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 20h16M7 16v-4M12 16V7M17 16v-6'/%3E%3C/svg%3E"); }
.is-style-icone-inovacao { --ufpr-icone-desenho: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 18h6M10 21h4'/%3E%3Cpath d='M12 3a6 6 0 0 0-3.6 10.8c.7.6 1.1 1.3 1.1 2.2h5c0-.9.4-1.6 1.1-2.2A6 6 0 0 0 12 3z'/%3E%3C/svg%3E"); }
.is-style-icone-parcerias { --ufpr-icone-desenho: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M3 12h18M12 3a14 14 0 0 1 0 18M12 3a14 14 0 0 0 0 18'/%3E%3C/svg%3E"); }
.is-style-icone-contato { --ufpr-icone-desenho: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='14' rx='2'/%3E%3Cpath d='m3 7 9 6 9-6'/%3E%3C/svg%3E"); }
.is-style-icone-localizacao { --ufpr-icone-desenho: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 21s-7-6.2-7-12a7 7 0 0 1 14 0c0 5.8-7 12-7 12z'/%3E%3Ccircle cx='12' cy='9' r='2.5'/%3E%3C/svg%3E"); }
.is-style-icone-informacao { --ufpr-icone-desenho: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 11v6M12 7.5h.01'/%3E%3C/svg%3E"); }
.is-style-aviso-informacao { --ufpr-icone-desenho: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 11v6M12 7.5h.01'/%3E%3C/svg%3E"); }
.is-style-aviso-atencao { --ufpr-icone-desenho: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3 2 20h20z'/%3E%3Cpath d='M12 10v4M12 17h.01'/%3E%3C/svg%3E"); }
.is-style-aviso-erro { --ufpr-icone-desenho: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='m15 9-6 6M9 9l6 6'/%3E%3C/svg%3E"); }
.is-style-aviso-sucesso { --ufpr-icone-desenho: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='m8 12.5 2.7 2.7L16 9.8'/%3E%3C/svg%3E"); }

/* Ícones dos botões do Acesso rápido (wpufpr_icones() e wpufpr_icone_rede(), em functions.php) */
.is-style-link-site { --ufpr-icone-desenho: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 11 12 4l9 7'/%3E%3Cpath d='M5 9.5V20h5v-6h4v6h5V9.5'/%3E%3C/svg%3E"); }
.is-style-link-equipe { --ufpr-icone-desenho: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9' cy='8' r='3.5'/%3E%3Cpath d='M2.5 20a6.5 6.5 0 0 1 13 0'/%3E%3Cpath d='M15.5 4.7a3.5 3.5 0 0 1 0 6.6M17.5 13.6A6.5 6.5 0 0 1 21.5 20'/%3E%3C/svg%3E"); }
.is-style-link-pesquisa { --ufpr-icone-desenho: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 3h6M10 3v6l-5.6 9.6A1.6 1.6 0 0 0 5.8 21h12.4a1.6 1.6 0 0 0 1.4-2.4L14 9V3'/%3E%3Cpath d='M7.2 15h9.6'/%3E%3C/svg%3E"); }
.is-style-link-publicacoes { --ufpr-icone-desenho: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 18.5V5a2 2 0 0 1 2-2h14v15H6a2 2 0 0 0-2 2v0a2 2 0 0 0 2 2h14'/%3E%3Cpath d='M8 7h8'/%3E%3C/svg%3E"); }
.is-style-link-editais { --ufpr-icone-desenho: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 3h8l4 4v14H6zM14 3v4h4M9 12h6M9 16h6'/%3E%3C/svg%3E"); }
.is-style-link-eventos { --ufpr-icone-desenho: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='16' rx='2'/%3E%3Cpath d='M3 10h18M8 3v4M16 3v4'/%3E%3C/svg%3E"); }
.is-style-link-email { --ufpr-icone-desenho: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='14' rx='2'/%3E%3Cpath d='m3 7 9 6 9-6'/%3E%3C/svg%3E"); }
.is-style-link-whatsapp { --ufpr-icone-desenho: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 20l1.3-4A8.5 8.5 0 1 1 8.4 19z'/%3E%3Cpath d='M9 8.5c0 3.6 2.9 6.5 6.5 6.5l1-1.6-2-1-1 1a4.5 4.5 0 0 1-2.4-2.4l1-1-1-2z'/%3E%3C/svg%3E"); }
.is-style-link-telefone { --ufpr-icone-desenho: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 4h3.5l2 5-2.5 1.5a11 11 0 0 0 5.5 5.5l1.5-2.5 5 2V19a2 2 0 0 1-2 2C10.4 21 3 13.6 3 6a2 2 0 0 1 2-2z'/%3E%3C/svg%3E"); }
.is-style-link-localizacao { --ufpr-icone-desenho: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 21s-7-6.2-7-12a7 7 0 0 1 14 0c0 5.8-7 12-7 12z'/%3E%3Ccircle cx='12' cy='9' r='2.5'/%3E%3C/svg%3E"); }
.is-style-link-outro { --ufpr-icone-desenho: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M10 14a4.5 4.5 0 0 0 6.4 0l3-3a4.5 4.5 0 0 0-6.4-6.4l-1.2 1.2'/%3E%3Cpath d='M14 10a4.5 4.5 0 0 0-6.4 0l-3 3a4.5 4.5 0 0 0 6.4 6.4l1.2-1.2'/%3E%3C/svg%3E"); }
.is-style-link-instagram { --ufpr-icone-desenho: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23000'%3E%3Crect x='3' y='3' width='18' height='18' rx='5' fill='none' stroke='%23000' stroke-width='2'/%3E%3Ccircle cx='12' cy='12' r='4.2' fill='none' stroke='%23000' stroke-width='2'/%3E%3Ccircle cx='17.4' cy='6.6' r='1.3'/%3E%3C/svg%3E"); }
.is-style-link-youtube { --ufpr-icone-desenho: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23000'%3E%3Cpath fill-rule='evenodd' d='M21.6 7.2c-.2-.9-.9-1.6-1.8-1.8C18.2 5 12 5 12 5s-6.2 0-7.8.4c-.9.2-1.6.9-1.8 1.8C2 8.8 2 12 2 12s0 3.2.4 4.8c.2.9.9 1.6 1.8 1.8C5.8 19 12 19 12 19s6.2 0 7.8-.4c.9-.2 1.6-.9 1.8-1.8.4-1.6.4-4.8.4-4.8s0-3.2-.4-4.8zM10 15.1V8.9l5.3 3.1z'/%3E%3C/svg%3E"); }
.is-style-link-linkedin { --ufpr-icone-desenho: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23000'%3E%3Crect x='3.5' y='9' width='3.6' height='11.5' rx='.4'/%3E%3Ccircle cx='5.3' cy='5.3' r='2.1'/%3E%3Cpath d='M9.6 9h3.4v1.6c.6-1 1.9-1.9 3.8-1.9 3.4 0 4.2 2.2 4.2 5.1v6.7h-3.6v-6c0-1.4-.3-2.6-1.9-2.6s-2.3 1.1-2.3 2.6v6H9.6z'/%3E%3C/svg%3E"); }
.is-style-link-facebook { --ufpr-icone-desenho: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23000'%3E%3Cpath d='M13.5 21v-7.5h2.6l.4-3h-3V8.6c0-.9.3-1.5 1.6-1.5h1.6V4.4c-.3 0-1.2-.1-2.3-.1-2.3 0-3.9 1.4-3.9 4v2.2H7.9v3h2.6V21z'/%3E%3C/svg%3E"); }
.is-style-link-x { --ufpr-icone-desenho: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23000'%3E%3Cpath d='M3.5 3.5h5.2l11.8 17h-5.2z' fill='none' stroke='%23000' stroke-width='1.8' stroke-linejoin='round'/%3E%3Cpath d='M19.6 3.5h-2.3l-5.8 6.6 1.2 1.7zM4.4 20.5h2.3l6-6.8-1.2-1.7z'/%3E%3C/svg%3E"); }

/* Celular */
@media screen and (max-width: 639px) {
    .padrao-destaque { padding: 26px 22px; }
    .padrao-edital { padding: 22px 20px; }
    .padrao-numeros { padding: 22px 16px; }
    .padrao-financiamento, #conteudo .entry-content .padrao-financiamento { padding: 18px 16px; }
}

/* Financiamento no celular (até 639 px): cada linha da tabela vira um bloco, com o
   projeto em cima e o código e o valor embaixo, identificados por "Código:" e "Valor:"
   (o cabeçalho da tabela sai da vista, mas continua no HTML). A tabela ocupa o
   cartão de borda a borda. */
@media screen and (max-width: 639px) {
    .padrao-financiamento__tabela, #conteudo .entry-content .padrao-financiamento__tabela { max-width: none; margin: 0 -16px; overflow: visible; }
    .padrao-financiamento__tabela table, .padrao-financiamento__tabela tbody, .padrao-financiamento__tabela tfoot, .padrao-financiamento__tabela tr, .padrao-financiamento__tabela td { display: block; }
    .padrao-financiamento__tabela table, #conteudo .entry-content .padrao-financiamento__tabela table { border-top: 1px solid var(--ufpr-borda); font-size: 0.92em; }
    .padrao-financiamento__tabela thead { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; border: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
    .padrao-financiamento__tabela tr { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 2px 12px; padding: 10px 16px; border-bottom: 1px solid var(--ufpr-borda); }
    .padrao-financiamento__tabela td, #conteudo .entry-content .padrao-financiamento__tabela td, #conteudo .entry-content .padrao-financiamento__tabela td:first-child, #conteudo .entry-content .padrao-financiamento__tabela td:last-child { padding: 0; border: 0; background: transparent; }
    .padrao-financiamento__tabela td:first-child { flex: 1 1 100%; font-weight: 600; }
    .padrao-financiamento__tabela td:nth-child(2)::before { content: "Código: "; font-family: var(--ufpr-fonte); color: var(--ufpr-texto-suave); }
    .padrao-financiamento__tabela tbody td:last-child::before { content: "Valor: "; font-weight: 400; color: var(--ufpr-texto-suave); }
    .padrao-financiamento__tabela td:empty { display: none; }
    .padrao-financiamento__tabela tfoot tr { background-color: var(--ufpr-azul-suave); }
    .padrao-financiamento__tabela tfoot td:first-child { flex: 0 1 auto; }
}

/* Acesso rápido no celular (até 629 px), com o modelo "Acesso rápido (links)": botões
   em degradê de --ufpr-acesso-cor-1 a --ufpr-acesso-cor-2, texto e ícones brancos
   (5,0 : 1 ou mais em todo o degradê). Ao passar o dedo ou o mouse, o degradê desliza.
   No alto contraste, a folha css/contraste.css troca o fundo por amarelo. */
@media screen and (max-width: 629px) {
    .wpufpr-acesso-rapido .padrao-links .wp-block-button__link, .wpufpr-acesso-rapido .padrao-links .wp-block-button__link:visited { border-color: transparent; background-color: var(--ufpr-acesso-cor-1); background-image: linear-gradient(110deg, var(--ufpr-acesso-cor-1) 0%, var(--ufpr-acesso-cor-2) 50%, var(--ufpr-acesso-cor-1) 100%); background-size: 200% 100%; background-position: 0 0; color: var(--ufpr-barra-texto); box-shadow: var(--ufpr-sombra); }
    .wpufpr-acesso-rapido .padrao-links .wp-block-button__link:hover { border-color: transparent; background-color: var(--ufpr-acesso-cor-2); background-position: 100% 0; color: var(--ufpr-barra-texto); }
    .wpufpr-acesso-rapido .padrao-links [class*="is-style-link-"] > .wp-block-button__link::before { background-color: currentColor; }
    .wpufpr-acesso-rapido .padrao-links .wp-block-button__link::after { opacity: 1; }
}

/* Impressão: sem fundos (seção 15 do app.css), com bordas para separar */
@media print {
    .padrao-destaque, .padrao-numeros, .padrao-cartao, .padrao-edital { border: 1px solid #999999 !important; padding: 10pt !important; }
    .wp-block-column[class*="is-style-icone-"] { border: 1px solid #999999 !important; padding: 10pt !important; }
    .wp-block-column[class*="is-style-icone-"]::before, .wp-block-column[class*="is-style-icone-"]::after, .wp-block-group[class*="is-style-aviso-"]::before { display: none; }
    .wp-block-group[class*="is-style-aviso-"] { border: 1px solid #999999 !important; padding: 8pt 10pt !important; }
    .padrao-financiamento { border: 1px solid #999999 !important; padding: 10pt !important; box-shadow: none !important; }
    .padrao-links .wp-block-button__link { border: 1px solid #999999 !important; box-shadow: none !important; }
    .padrao-edital .padrao-edital__selo { border: 1px solid #000000 !important; }
}
