/* ==========================================================================
   FOLHA DE ALTO CONTRASTE
   Carregada sempre, mas só vale na tela quando o tema "Alto contraste" está
   ativo: o js/tema.js troca o atributo media deste <link> ("not all" ↔ "screen").
   Por isso nada aqui afeta a impressão.

   Paleta: fundo preto, texto branco, títulos, links e botões em amarelo
   (#f8c727, 12,9 : 1 sobre o preto), bordas brancas. Os links continuam
   sublinhados para não depender só da cor.

   1. As variáveis --ufpr-* do app.css são redefinidas: os componentes do tema
      se adaptam sozinhos, como no tema escuro.
   2. Depois vêm regras com !important só onde é preciso vencer cores fixas:
      botões, ícones em imagem, conteúdo do editor, Elementor e plugins.
   ========================================================================== */

/* ----------------------------------------- */
/* 1. VARIÁVEIS                              */
/* ----------------------------------------- */
:root {
    color-scheme: dark;
    --hc-preto: #000000;
    --hc-cinza: #1a1a1a;             /* fundos de destaque (texto branco 17 : 1) */
    --hc-branco: #ffffff;
    --hc-amarelo: #f8c727;

    --ufpr-fundo: var(--hc-preto);
    --ufpr-superficie: var(--hc-preto);
    --ufpr-fundo-cabecalho: var(--hc-preto);
    --ufpr-texto: var(--hc-branco);
    --ufpr-texto-suave: var(--hc-branco);
    --ufpr-titulo: var(--hc-amarelo);
    --ufpr-titulo-forte: var(--hc-amarelo);
    --ufpr-azul-link: var(--hc-amarelo);
    --ufpr-azul-link-hover: var(--hc-branco);
    --ufpr-azul-visitado: var(--hc-amarelo);
    --ufpr-destaque: var(--hc-amarelo);
    --ufpr-foco: var(--hc-amarelo);
    --ufpr-azul-medio: var(--hc-branco);
    --ufpr-azul-acinzentado: var(--hc-branco);
    --ufpr-azul-suave: var(--hc-cinza);
    --ufpr-azul: var(--hc-amarelo);          /* fundo dos botões */
    --ufpr-azul-escuro: var(--hc-preto);     /* menus e botão de busca */
    --ufpr-borda: var(--hc-branco);
    --ufpr-borda-campo: var(--hc-branco);
    --ufpr-linha-menu: var(--hc-branco);
    --ufpr-zebra: var(--hc-cinza);
    --ufpr-barra-fundo: var(--hc-preto);
    --ufpr-acesso-cor-1: var(--hc-preto);    /* Acesso rápido: sem degradê; os botões ficam amarelos (seção 2) */
    --ufpr-acesso-cor-2: var(--hc-preto);
    --ufpr-acesso-detalhe: var(--hc-amarelo);
    --ufpr-acesso-fundo-1: var(--hc-preto);
    --ufpr-acesso-fundo-2: var(--hc-preto);
    --ufpr-acesso-icone: currentColor;
    --ufpr-barra-texto: var(--hc-amarelo);
    --ufpr-barra-divisor: rgba(255, 255, 255, 0.6);
    --ufpr-barra-realce: #333333;
    --ufpr-rodape-fundo: var(--hc-preto);
    --ufpr-rodape-texto: var(--hc-branco);
    --ufpr-rodape-suave: var(--hc-branco);
    --ufpr-rodape-link: var(--hc-amarelo);
    --ufpr-rodape-borda: var(--hc-branco);
    --ufpr-aviso-fundo: var(--hc-amarelo);
    --ufpr-aviso-borda: var(--hc-amarelo);
    --ufpr-aviso-texto: var(--hc-preto);
    --ufpr-sucesso-fundo: var(--hc-preto);
    --ufpr-sucesso-borda: var(--hc-branco);
    --ufpr-sucesso-texto: var(--hc-branco);
    --ufpr-info-fundo: var(--hc-preto);
    --ufpr-info-borda: var(--hc-branco);
    --ufpr-info-texto: var(--hc-branco);
    --ufpr-erro-fundo: var(--hc-preto);
    --ufpr-erro-borda: var(--hc-branco);
    --ufpr-erro-texto: var(--hc-branco);
    --ufpr-marca-fundo: var(--hc-amarelo);
    --ufpr-sombra-leve: none;
    --ufpr-sombra: none;
    --ufpr-sombra-menu: none;
}

/* ----------------------------------------- */
/* 2. BASE                                   */
/* ----------------------------------------- */
html, body, body.custom-background { background: var(--hc-preto) !important; color: var(--hc-branco) !important; }
::selection { background: var(--hc-amarelo) !important; color: var(--hc-preto) !important; }
*:focus-visible { outline: 3px solid var(--hc-amarelo) !important; outline-offset: 2px !important; }
#conteudo a, .rodape a { text-decoration: underline; }
#conteudo a:hover, .rodape a:hover { color: var(--hc-branco) !important; }
mark, .entry-content mark { background: var(--hc-amarelo) !important; color: var(--hc-preto) !important; }
code, kbd, samp, pre { color: var(--hc-branco) !important; }
hr { border-color: var(--hc-branco) !important; }

/* Campos de formulário */
input, textarea, select { background-color: var(--hc-preto) !important; color: var(--hc-branco) !important; border: 2px solid var(--hc-branco) !important; }
input::placeholder, textarea::placeholder { color: #d0d0d0 !important; opacity: 1; }
.custom-search-form .search-input-wrapper { border: 2px solid var(--hc-branco) !important; }
.custom-search-form .search-field { border: 0 !important; background: transparent !important; }
.filtro-ordenacao select { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E") !important; background-repeat: no-repeat !important; background-position: right 12px center !important; background-size: 14px !important; }
.filtro-ordenacao option { background-color: var(--hc-preto); color: var(--hc-branco); }

/* Botões: amarelos com texto preto; ao passar o mouse, invertem */
.button, .veja_mais.button, .wp-block-button__link, .wp-element-button, .wp-block-search .wp-block-search__button, input[type="submit"], input[type="button"], button[type="submit"], .custom-search-form .search-submit, .elementor-button, .wp-pagenavi span.current {
    background: var(--hc-amarelo) !important; color: var(--hc-preto) !important; border: 2px solid var(--hc-amarelo) !important; text-decoration: none !important;
}
.button *, .wp-block-button__link *, .custom-search-form .search-submit *, .elementor-button * { color: var(--hc-preto) !important; }
.button:hover, .veja_mais.button:hover, .wp-block-button__link:hover, .wp-element-button:hover, .wp-block-search .wp-block-search__button:hover, input[type="submit"]:hover, button[type="submit"]:hover, .custom-search-form .search-submit:hover, .elementor-button:hover {
    background: var(--hc-preto) !important; color: var(--hc-amarelo) !important;
}
.button:hover *, .wp-block-button__link:hover *, .custom-search-form .search-submit:hover *, .elementor-button:hover * { color: var(--hc-amarelo) !important; }
.custom-search-form .search-submit:focus-visible { outline-offset: 2px !important; }

/* Ícones que são imagens (SVG de cor fixa): ficam brancos */
a[href^="mailto:"]::after, .small-12.medium-9.large-9.columns a[href^="http"]::after { filter: brightness(0) invert(1); }
.rodape__logo img { filter: brightness(0) invert(1); }
img[src*="capa-padrao"] { filter: invert(1) grayscale(1) brightness(1.8); opacity: 1 !important; }
/* Logos com texto escuro ficam sobre uma base branca */
.header-branding .ufpr-logo img, .header-branding .lab-logo img { background: var(--hc-branco) !important; padding: 4px; border-radius: 6px; }

/* ----------------------------------------- */
/* 3. CABEÇALHO E MENUS                      */
/* ----------------------------------------- */
#barra-topo { border-bottom: 1px solid var(--hc-amarelo); }
#barra-atalhos .atalho__tecla { background-color: var(--hc-branco) !important; color: var(--hc-preto) !important; }
#barra-topo .barra-util:hover, #barra-topo .theme-menu[open] > .barra-util { background-color: transparent; outline: 1px solid var(--hc-amarelo); text-decoration: underline; }
.theme-menu__list { background-color: var(--hc-preto) !important; border: 2px solid var(--hc-amarelo) !important; }
.theme-menu__list button { color: var(--hc-branco) !important; }
.theme-menu__list button .icon { color: var(--hc-amarelo) !important; fill: var(--hc-amarelo) !important; }
.theme-menu__list button:hover, .theme-menu__list button:focus { background: #333333 !important; }
.theme-menu__list button[aria-pressed="true"] { background: transparent !important; color: var(--hc-amarelo) !important; text-decoration: underline !important; }
.lab-name__universidade { color: var(--hc-branco) !important; }
.title-bar__botao, .title-bar__botao span { color: var(--hc-amarelo) !important; }
.modern-site-header { border-bottom: 1px solid var(--hc-branco); }
.aviso-topo { background-color: var(--hc-cinza) !important; border-bottom: 2px solid var(--hc-amarelo) !important; }
.aviso-topo, .aviso-topo * { color: var(--hc-branco) !important; }
.aviso-topo__icone, .aviso-topo a { color: var(--hc-amarelo) !important; }
.aviso-topo--atencao { background-color: var(--hc-amarelo) !important; }
.aviso-topo--atencao, .aviso-topo--atencao * { color: var(--hc-preto) !important; }

/* Menu principal: itens amarelos; o item ativo ganha sublinhado e borda */
#navegacao { border-top: 0 !important; border-bottom: 1px solid var(--hc-branco); }
#navegacao-principal .menu > li:hover, #navegacao-principal .menu > li:focus-within { box-shadow: inset 0 -3px 0 var(--hc-amarelo); }
#navegacao-principal .menu li:hover > a, #navegacao-principal .menu li:focus-within > a { text-decoration: underline !important; }
#navegacao-principal .sub-menu { border: 2px solid var(--hc-amarelo); }
.wpufpr-linha-menu #navegacao-principal > .menu-header { border-bottom-color: var(--hc-amarelo) !important; }
#navegacao-principal .sub-menu li:hover > a { color: var(--hc-branco) !important; }
#navegacao-principal .current-menu-item > a, #navegacao-celular .current-menu-item > a { text-decoration: underline !important; }
/* Ícones do cabeçalho do celular e do tablet: amarelos, sem borda nem fundo (como no claro e no escuro) */
.busca-botao, .tema-botao, .title-bar__botao { border: 0 !important; background: transparent !important; color: var(--hc-amarelo) !important; }
.busca-botao[aria-expanded="true"], .theme-menu--cabecalho[open] > .tema-botao, .title-bar__botao[aria-expanded="true"] { outline: 1px solid var(--hc-amarelo); }
/* Busca do cabeçalho: lupa amarela, sem fundo */
.custom-search-form--cabecalho .search-submit, .custom-search-form--cabecalho .search-submit:hover { background: transparent !important; border: 0 !important; }
.custom-search-form--cabecalho .search-submit *, .custom-search-form--cabecalho .search-submit:hover * { color: var(--hc-amarelo) !important; }
#navegacao-celular .sub-menu { border-left: 3px solid var(--hc-amarelo); }

/* ----------------------------------------- */
/* 4. CONTEÚDO                               */
/* ----------------------------------------- */
#conteudo, .entry-content { color: var(--hc-branco) !important; }
.entry-content p, .entry-content li, .entry-content td, .entry-content dd, .entry-content figcaption, .wp-caption-text, .post-meta, #data-atualizacao, .data_de_publicacao, .data_de_publicacao span { color: var(--hc-branco) !important; }
h1, h2, h3, h4, h5, h6, .entry-content h1, .entry-content h2, .entry-content h3, .entry-content h4, .entry-content h5, .entry-content h6 { color: var(--hc-amarelo) !important; }

/* Cores escolhidas no editor de blocos não valem no alto contraste */
.entry-content [style*="color"], .entry-content .has-text-color { color: var(--hc-branco) !important; }
.entry-content [style*="background"], .entry-content .has-background { background: var(--hc-preto) !important; }
.entry-content .has-background { border: 1px solid var(--hc-branco); }
.entry-content a[style*="color"], .entry-content a.has-text-color { color: var(--hc-amarelo) !important; }
/* Os botões do editor voltam a ser amarelos (depois das regras acima) */
.entry-content .wp-block-button__link { background: var(--hc-amarelo) !important; color: var(--hc-preto) !important; }
.entry-content .wp-block-button__link:hover { background: var(--hc-preto) !important; color: var(--hc-amarelo) !important; }

/* Cartões e caixas: borda branca para separar do fundo */
.archive-post.std, .erro-404__bloco, .mapa-site__secao, .filtro-ordenacao, .mapa-site__filtro, .welcome-box, .erro-busca, .callout { border: 1px solid var(--hc-branco) !important; }
.welcome-box, .callout { border-color: var(--hc-amarelo) !important; }
.horizontal-card .card-image { border-color: var(--hc-branco) !important; }
.filtro-ordenacao label, .mapa-site__filtro label { color: var(--hc-branco) !important; }
.mapa-site__qtd { border: 1px solid var(--hc-branco); }
.sobre-site__bloco, .comentarios__lista .comment-body { border: 1px solid var(--hc-branco) !important; }
/* Destaques da página inicial e padrões de bloco */
.destaque, .destaques__botao, .padrao-destaque, .padrao-cartao, .padrao-edital, .padrao-numeros { border: 1px solid var(--hc-branco) !important; }
.destaque__categoria, .destaques__posicao, .padrao-numero .padrao-numero__rotulo { color: var(--hc-branco) !important; }
.destaques__botao { color: var(--hc-amarelo) !important; }
.destaques__botao:hover { background-color: #333333 !important; }
.padrao-destaque p, .padrao-destaque li { color: var(--hc-branco) !important; }
.padrao-linha-tempo li::before { border-color: var(--hc-amarelo) !important; }
.padrao-edital .padrao-edital__selo { background-color: var(--hc-amarelo) !important; color: var(--hc-preto) !important; }
/* Equipe (plugin wpufpr-data) */
.membro { border: 1px solid var(--hc-branco) !important; }
.membro__foto, .membro-perfil__foto { border: 1px solid var(--hc-branco); }
/* Editais (plugin wpufpr-data) */
.edital, .edital-anexo, .edital-pagina__periodo { border: 1px solid var(--hc-branco) !important; }
.edital-situacao { border-color: var(--hc-branco) !important; background-color: var(--hc-preto) !important; color: var(--hc-branco) !important; }
.edital-situacao--aberto { border-color: var(--hc-amarelo) !important; background-color: var(--hc-amarelo) !important; color: var(--hc-preto) !important; }
.pagina-modelo__nota { border-left-color: var(--hc-amarelo) !important; background: var(--hc-preto) !important; }
.pagina-modelo__nota p, .comentarios__lista .comment-meta, .comentarios__form label { color: var(--hc-branco) !important; }

/* Trilha de navegação */
.trilha, .trilha span { color: var(--hc-branco) !important; }
.trilha a { color: var(--hc-amarelo) !important; }

/* Tabelas */
.entry-content table, .entry-content table th, .entry-content table td { border-color: var(--hc-branco) !important; color: var(--hc-branco) !important; }
.entry-content table thead th { color: var(--hc-amarelo) !important; border-bottom-color: var(--hc-amarelo) !important; }

/* Paginação */
.paginacao .nav-links a:hover, .wp-pagenavi a:hover { background-color: #333333 !important; }
.wp-pagenavi a, .wp-pagenavi span { border-color: var(--hc-branco) !important; color: var(--hc-amarelo) !important; }
.wp-pagenavi span.current { color: var(--hc-preto) !important; }

/* ----------------------------------------- */
/* 5. ELEMENTOR E PLUGINS                    */
/* ----------------------------------------- */
/* Fundos coloridos e imagens de fundo saem; textos ficam brancos e títulos e
   links, amarelos. Imagens (<img>) continuam. */
.elementor [data-element_type], .elementor-background-overlay { background-color: transparent !important; background-image: none !important; }
.elementor, .elementor p, .elementor li, .elementor span, .elementor div { color: var(--hc-branco) !important; }
.elementor h1, .elementor h2, .elementor h3, .elementor h4, .elementor h5, .elementor h6, .elementor-heading-title, .elementor a { color: var(--hc-amarelo) !important; }
.elementor svg, .elementor-icon, .elementor-icon i { color: var(--hc-amarelo) !important; fill: var(--hc-amarelo) !important; }
.elementor .elementor-button, .elementor .elementor-button span { color: var(--hc-preto) !important; }
.elementor .elementor-button:hover, .elementor .elementor-button:hover span { color: var(--hc-amarelo) !important; }
.elementor-post__card, .elementor-widget-container .card { background: var(--hc-preto) !important; border: 1px solid var(--hc-branco) !important; }

/* ----------------------------------------- */
/* 6. RODAPÉ                                 */
/* ----------------------------------------- */
#rodape { border-top: 4px solid var(--hc-amarelo) !important; }
#rodape, .rodape__unidade, .rodape__contato, .rodape__contato span, .rodape__creditos, .rodape__creditos span { color: var(--hc-branco) !important; }
.rodape__nome { color: var(--hc-amarelo) !important; }
.rodape__item .icone { color: var(--hc-amarelo) !important; }
.rodape__redes a { border: 2px solid var(--hc-amarelo) !important; color: var(--hc-amarelo) !important; }
.rodape__redes a:hover { background-color: var(--hc-amarelo) !important; color: var(--hc-preto) !important; }
.colunas_de_links h2, .colunas_de_links .widgettitle, .colunas_de_links .wp-block-heading { color: var(--hc-amarelo) !important; }

/* Menu "Links do rodapé" e blocos da faixa azul */
.colunas_de_links a[aria-current="page"] { text-decoration: underline !important; }
.rodape__item-nota, .rodape__bloco, .rodape__bloco p, .rodape__bloco li, .rodape__bloco td, .rodape__bloco th, .rodape__bloco figcaption { color: var(--hc-branco) !important; }
.rodape__bloco-titulo, .rodape__bloco h2, .rodape__bloco h3, .rodape__bloco h4, .rodape__bloco h5, .rodape__bloco h6 { color: var(--hc-amarelo) !important; }
.rodape__bloco a { color: var(--hc-amarelo) !important; }
.rodape__bloco [style*="color"], .rodape__bloco .has-text-color { color: var(--hc-branco) !important; }
.rodape__bloco [style*="background"], .rodape__bloco .has-background { background: var(--hc-preto) !important; border: 1px solid var(--hc-branco); }
.rodape__bloco .wp-block-button__link, .rodape__bloco .wp-element-button, .rodape__bloco .is-style-outline > .wp-block-button__link { background: var(--hc-amarelo) !important; border-color: var(--hc-amarelo) !important; color: var(--hc-preto) !important; }
.rodape__bloco .wp-block-button__link:hover, .rodape__bloco .wp-element-button:hover, .rodape__bloco .is-style-outline > .wp-block-button__link:hover { background: var(--hc-preto) !important; color: var(--hc-amarelo) !important; }
.rodape__bloco hr, .rodape__bloco .wp-block-separator, .rodape__bloco th, .rodape__bloco td { border-color: var(--hc-branco) !important; }

/* Avisos dos padrões de bloco: todos com fundo preto, borda e texto brancos e
   ícone amarelo; o de atenção, com borda amarela (o tipo também vem escrito) */
.is-style-aviso-atencao { --ufpr-caixa-fundo: var(--hc-preto); --ufpr-caixa-borda: var(--hc-amarelo); --ufpr-caixa-texto: var(--hc-branco); }
.wp-block-group[class*="is-style-aviso-"] { border-width: 2px !important; }
.wp-block-group[class*="is-style-aviso-"]::before { background-color: var(--hc-amarelo); }
