/* ==========================================================================
   FOLHA DE ESTILOS PRINCIPAL (APP.CSS) — Tema UFPR moderno
   Carregada depois do foundation.css. As cores, raios e sombras vêm das
   variáveis da seção 0; não use cores fixas nos componentes.
   ========================================================================== */

/* ----------------------------------------- */
/* 0. VARIÁVEIS (TOKENS)                     */
/* ----------------------------------------- */
:root {
    /* Azuis de identidade */
    --ufpr-azul-escuro: #25487c;     /* barra de topo, menus, botões de busca, títulos de cartão */
    --ufpr-azul: #314a73;            /* títulos, botões, rodapé */
    --ufpr-azul-link: #48648e;       /* links do conteúdo (6,0 : 1) */
    --ufpr-azul-link-hover: #0c4367;
    --ufpr-azul-visitado: #5b6b84;   /* 5,4 : 1 */
    --ufpr-destaque: #0072bc;        /* ícones, marcadores de lista e anel de foco (5,1 : 1) */
    --ufpr-azul-medio: #2f5a99;      /* texto sobre --ufpr-azul-suave (6,0 : 1) */
    --ufpr-azul-acinzentado: #5a729e; /* rótulo "Universidade Federal do Paraná" (4,6 : 1) */
    --ufpr-azul-suave: #ebf0f8;      /* fundos de destaque, código, cabeçalho de tabela */
    --ufpr-fundo-cabecalho: #f5f8ff;

    /* Papéis: texto de títulos e fundos de faixas (no claro, os mesmos azuis) */
    --ufpr-titulo: var(--ufpr-azul);
    --ufpr-titulo-forte: var(--ufpr-azul-escuro);
    --ufpr-barra-fundo: var(--ufpr-azul-escuro);
    --ufpr-rodape-fundo: var(--ufpr-azul);
    --ufpr-barra-texto: #ffffff;     /* texto sobre a barra de topo, os menus e os botões azuis */
    --ufpr-barra-divisor: rgba(255, 255, 255, 0.15); /* linhas entre itens sobre fundo azul */
    --ufpr-barra-realce: rgba(255, 255, 255, 0.16);  /* fundo ao passar o mouse e números dos atalhos */

    /* Neutros */
    --ufpr-fundo: #ffffff;           /* fundo da página */
    --ufpr-superficie: #ffffff;      /* cartões, campos, menus */
    --ufpr-texto: #373737;           /* 11,9 : 1 */
    --ufpr-texto-suave: #5f6675;     /* datas, descrições, metadados (5,8 : 1) */
    --ufpr-borda: #e1e6ee;           /* cartões, tabelas e divisórias */
    --ufpr-borda-campo: #7a8aa6;     /* contorno de campos e seletores (3,4 : 1) */
    --ufpr-linha-menu: #dfebf6;
    --ufpr-menu-linha: var(--ufpr-azul-escuro); /* linha opcional de 4 px abaixo do menu (Personalizar › Cabeçalho e menu) */
    --ufpr-zebra: #f6f8fb;           /* linhas pares de tabelas */

    /* Rodapé (sobre --ufpr-azul) */
    --ufpr-rodape-texto: #ffffff;
    --ufpr-rodape-suave: #a9c5eb;    /* 5,0 : 1 */
    --ufpr-rodape-link: #e6edf7;     /* 7,6 : 1 */
    --ufpr-rodape-borda: #4a6896;

    /* Aviso */
    --ufpr-aviso-fundo: #fff3cd;
    --ufpr-aviso-borda: #e0d6b6;
    --ufpr-aviso-texto: #856404;     /* 5,0 : 1 */
    --ufpr-marca-fundo: #fff3a3;     /* <mark> */

    /* Situação "aberta" (editais com inscrições abertas) */
    --ufpr-sucesso-fundo: #e2f3e7;
    --ufpr-sucesso-texto: #1d6b35;   /* 5,7 : 1 */
    --ufpr-sucesso-borda: #b5dcc1;

    /* Caixas de aviso dos padrões de bloco (css/padroes.css); o aviso de atenção usa --ufpr-aviso-* */
    --ufpr-info-fundo: #e8f1fb;
    --ufpr-info-borda: #b9d3ee;
    --ufpr-info-texto: #1c4f80;      /* 7,4 : 1 */
    --ufpr-erro-fundo: #fdeceb;
    --ufpr-erro-borda: #f0c2bf;
    --ufpr-erro-texto: #a12622;      /* 6,5 : 1 */

    /* Tipografia: fontes do sistema (nada é baixado de fora) */
    --ufpr-fonte: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", sans-serif;
    --ufpr-fonte-mono: ui-monospace, SFMono-Regular, Menlo, Consolas, "Liberation Mono", monospace;

    /* Forma */
    --ufpr-raio-sm: 4px;             /* botões, campos */
    --ufpr-raio: 8px;                /* cartões, caixas */
    --ufpr-raio-lg: 10px;            /* caixa de boas-vindas */
    --ufpr-sombra-leve: 0 1px 3px rgba(16, 24, 40, 0.06);
    --ufpr-sombra: 0 6px 16px rgba(16, 24, 40, 0.10);
    --ufpr-sombra-menu: 0 14px 34px rgba(31, 45, 72, 0.18);
    --ufpr-foco: var(--ufpr-destaque);

    /* Modelo "Acesso rápido (links)" (template-acesso-rapido.php) e padrão "Acesso rápido".
       No celular (até 629 px), os botões ficam em degradê e o fundo da página ganha os tons abaixo. */
    --ufpr-acesso-cor-1: #25487c;    /* início do degradê dos botões (texto branco 9,1 : 1) */
    --ufpr-acesso-cor-2: #b4487f;    /* fim do degradê: o rosa #c95b96 um pouco mais escuro (texto branco 5,0 : 1; o original daria 3,9 : 1) */
    --ufpr-acesso-detalhe: #c95b96;  /* linhas decorativas do cabeçalho e do rodapé */
    --ufpr-acesso-fundo-1: #eef2f9;  /* fundo da página no celular, do alto (azul claro)… */
    --ufpr-acesso-fundo-2: #fbeef5;  /* …ao fim (rosa claro); texto suave 5,1 : 1 */
    --ufpr-acesso-icone: var(--ufpr-destaque); /* ícones dos botões fora do degradê */

    /* Margem lateral única: barra de topo, cabeçalho, menu, trilha, conteúdo e rodapé alinhados no mesmo limite */
    --ufpr-margem: 24px;
}

/* ----------------------------------------- */
/* 1. CONFIGURAÇÕES GERAIS                   */
/* ----------------------------------------- */
body { background: var(--ufpr-fundo); color: var(--ufpr-texto); margin: 0; font-family: var(--ufpr-fonte) !important; line-height: 1.6; -webkit-text-size-adjust: 100%; text-rendering: optimizeLegibility; }
p { margin: 0; border: none; }
ul { padding: 0; margin: 0; border: none; list-style-type: disc; }
::selection { background: var(--ufpr-azul-suave); color: var(--ufpr-titulo-forte); }
[hidden] { display: none !important; }

/* ----------------------------------------- */
/* 2. TIPOGRAFIA                             */
/* ----------------------------------------- */
/* Escala: h1 2em · h2 1.6em · h3 1.3em · h4 1.12em · h5 1em · h6 0.9em (relativa ao texto) */
h1, h2, h3, h4, h5, h6 { color: var(--ufpr-titulo); font-family: inherit; line-height: 1.25; text-wrap: balance; }
h2 { margin: 0 0 0.6em; padding: 0; font-size: 1.6em; border: none; font-weight: 700; text-shadow: none; }
h3 { margin: 0 0 0.5em; padding: 0; font-size: 1.3em; font-weight: 650; text-decoration: none; }
h4 { margin: 0 0 0.5em; padding: 0; font-size: 1.12em; font-weight: 650; }
h5 { margin: 0 0 0.5em; padding: 0; font-size: 1em; font-weight: 650; }
h6 { margin: 0 0 0.5em; padding: 0; font-size: 0.9em; font-weight: 650; text-transform: uppercase; letter-spacing: 0.04em; }

/* Título principal de páginas, posts e listagens */
h1.page-title, .erro-404__titulo { margin: 0 0 0.8em; padding: 0; font-size: 2em; font-weight: 700; line-height: 1.2; color: var(--ufpr-titulo); }
/* Títulos de seção com aparência de h2/h3/h4, independentemente do nível */
.titulo-secao { font-size: 1.6em; font-weight: 700; color: var(--ufpr-titulo); margin: 0 0 20px; padding-bottom: 12px; border-bottom: 2px solid var(--ufpr-azul-suave); }
.titulo-secao-sm { margin: 1.6em 0 0.6em; font-size: 1.3em; font-weight: 650; }
.titulo-secao-xs { margin: 0 0 0.8rem; font-size: 1.12em; font-weight: 650; }

/* Texto do conteúdo (editor de blocos e editor clássico) */
.entry-content { line-height: 1.7; overflow-wrap: break-word; }
.entry-content p, .entry-content ul, .entry-content ol, .entry-content dl, .entry-content blockquote, .entry-content figure, .entry-content pre, .entry-content details, .entry-content .wp-block-buttons, .entry-content > table { margin-bottom: 1.25em; }
.entry-content h2, .entry-content h3, .entry-content h4, .entry-content h5, .entry-content h6 { margin-top: 1.6em; }
.entry-content > :first-child, .entry-content h2:first-child, .entry-content h3:first-child { margin-top: 0; }
.entry-content strong, .entry-content b { font-weight: 700; }
.entry-content small { font-size: 0.85em; }
.entry-content mark { background: var(--ufpr-marca-fundo); color: inherit; padding: 0 0.15em; border-radius: 2px; }
.entry-content abbr[title] { text-decoration: underline dotted; cursor: help; border: 0; }
.entry-content dt { font-weight: 700; color: var(--ufpr-titulo); }
.entry-content dd { margin: 0 0 0.75em 1.5rem; }

/* Código, teclas e texto pré-formatado */
code, kbd, samp, pre { font-family: var(--ufpr-fonte-mono); }
code, kbd, samp { font-size: 0.88em; padding: 0.1em 0.4em; border: 1px solid var(--ufpr-borda); border-radius: var(--ufpr-raio-sm); background-color: var(--ufpr-azul-suave); color: var(--ufpr-texto); }
kbd { border-bottom-width: 2px; font-weight: 600; white-space: nowrap; }
.entry-content pre, .wp-block-preformatted, .wp-block-code, .wp-block-verse { padding: 1em 1.25em; border: 1px solid var(--ufpr-borda); border-radius: var(--ufpr-raio); background-color: var(--ufpr-azul-suave); color: var(--ufpr-texto); font-size: 0.9em; line-height: 1.55; overflow-x: auto; white-space: pre-wrap; }
pre code { padding: 0; border: 0; background: none; font-size: inherit; }

/* Citações */
.entry-content blockquote, .wp-block-quote, .wp-block-pullquote blockquote { margin-left: 0; margin-right: 0; padding: 1em 1.25em; border: 0; border-radius: 0 var(--ufpr-raio) var(--ufpr-raio) 0; background-color: var(--ufpr-azul-suave); color: var(--ufpr-texto); font-size: 1.05em; }
.entry-content blockquote p, .wp-block-quote p { color: inherit; line-height: 1.6; }
.entry-content blockquote p:last-of-type { margin-bottom: 0; }
.entry-content blockquote cite, .wp-block-quote cite, .wp-block-pullquote cite { display: block; margin-top: 0.6em; font-size: 0.85em; font-style: normal; color: var(--ufpr-texto-suave); }
.entry-content blockquote cite::before { content: none; }
.wp-block-pullquote { padding: 1.5em 0; border-top: 2px solid var(--ufpr-borda); border-bottom: 2px solid var(--ufpr-borda); }

/* Tabelas */
.entry-content table { width: 100%; margin: 0; border-collapse: collapse; background-color: var(--ufpr-superficie); color: var(--ufpr-texto); font-size: 0.95em; }
.entry-content table th, .entry-content table td { padding: 0.65em 0.85em; border: 1px solid var(--ufpr-borda); text-align: left; vertical-align: top; }
.entry-content table thead, .entry-content table tbody, .entry-content table tfoot { border: 0; background: transparent; }
.entry-content table thead th { background-color: var(--ufpr-azul-suave); color: var(--ufpr-titulo-forte); font-weight: 700; border-bottom: 2px solid var(--ufpr-titulo); }
.entry-content table tbody tr:nth-child(even) { background-color: var(--ufpr-zebra); }
.entry-content table tfoot td, .entry-content table tfoot th { background-color: var(--ufpr-azul-suave); font-weight: 600; }
.wp-block-table { overflow-x: auto; }
figcaption, .wp-element-caption, .wp-block-table figcaption { margin: 0.5em 0 0; font-size: 0.85em; line-height: 1.5; color: var(--ufpr-texto-suave); text-align: left; }

/* Divisória */
.entry-content hr, .entry-content .wp-block-separator { max-width: none; height: 0; margin: 2em 0; border: 0; border-top: 1px solid var(--ufpr-borda-campo); opacity: 1; background: none; }
.entry-content .wp-block-separator.is-style-dots { border: 0; }

/* Detalhes (bloco "Detalhes" / perguntas frequentes) */
.entry-content details { padding: 0 1em; border: 1px solid var(--ufpr-borda); border-radius: var(--ufpr-raio); background-color: var(--ufpr-superficie); }
.entry-content details + details { margin-top: -0.6em; }
.entry-content details > summary { display: flex; align-items: center; justify-content: space-between; gap: 1em; padding: 0.8em 0; font-weight: 650; color: var(--ufpr-titulo-forte); cursor: pointer; list-style: none; }
.entry-content details > summary::-webkit-details-marker { display: none; }
.entry-content details > summary::after { content: ""; flex: none; width: 0.5em; height: 0.5em; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: translateY(-25%) rotate(45deg); transition: transform 0.15s ease; }
.entry-content details[open] > summary { border-bottom: 1px solid var(--ufpr-borda); margin-bottom: 0.8em; }
.entry-content details[open] > summary::after { transform: translateY(25%) rotate(225deg); }
.entry-content details > :last-child:not(summary) { margin-bottom: 0.9em; }

/* Caixa de destaque (classe .callout do Foundation, usada na página Acessibilidade) */
.callout, .callout.secondary { margin: 0 0 1.25em; padding: 1.25em 1.5em; border: 1px solid var(--ufpr-borda); border-radius: var(--ufpr-raio); background-color: var(--ufpr-azul-suave); color: var(--ufpr-texto); }
.callout > :last-child { margin-bottom: 0; }

/* ----------------------------------------- */
/* 3. LINKS E BOTÕES                         */
/* ----------------------------------------- */
a { color: var(--ufpr-azul-link); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 0.18em; }
a:hover { color: var(--ufpr-azul-link-hover); text-decoration: underline; text-decoration-thickness: 2px; }
a:visited { color: var(--ufpr-azul-visitado); }

/* Botões do tema, do editor de blocos e dos widgets: o mesmo visual */
.button, .veja_mais.button, .entry-content .wp-block-button__link, .entry-content .wp-element-button, .wp-block-search .wp-block-search__button, .entry-content input[type="submit"], .entry-content button[type="submit"] { display: inline-flex; align-items: center; justify-content: center; gap: 0.4em; margin: 0; padding: 0.6em 1.1em; border: 2px solid transparent; border-radius: var(--ufpr-raio-sm); background-color: var(--ufpr-azul); color: var(--ufpr-barra-texto); font-family: inherit; font-size: 0.95rem; font-weight: 600; line-height: 1.2; text-align: center; text-decoration: none; cursor: pointer; transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease; }
.button:hover, .button:focus, .veja_mais.button:hover, .veja_mais.button:focus, .entry-content .wp-block-button__link:hover, .entry-content .wp-element-button:hover, .wp-block-search .wp-block-search__button:hover, .entry-content input[type="submit"]:hover, .entry-content button[type="submit"]:hover { background-color: var(--ufpr-azul-escuro); color: var(--ufpr-barra-texto); text-decoration: none; }
.button:visited, .veja_mais.button:visited, .entry-content .wp-block-button__link:visited { color: var(--ufpr-barra-texto); }
/* Estilo "Contorno" do bloco Botão */
.entry-content .is-style-outline > .wp-block-button__link:not(.has-background), .button.hollow { background-color: transparent; border-color: currentColor; color: var(--ufpr-titulo-forte); }
.entry-content .is-style-outline > .wp-block-button__link:not(.has-background):hover, .button.hollow:hover { background-color: var(--ufpr-azul-suave); color: var(--ufpr-titulo-forte); }
.veja_mais.button { margin-top: 15px; padding: 0.55em 1em; }

/* Remove sublinhado de elementos de interface */
.elementor-button, .elementor-icon-list-item a, #barra-topo a, .elementor-testimonial-wrapper a { text-decoration: none !important; }
.small-12.medium-9.large-9.columns a { text-decoration: underline; }
.small-12.medium-9.large-9.columns a.button { text-decoration: none; }

/* ----------------------------------------- */
/* 4. FOCO, LEITORES DE TELA E MOVIMENTO     */
/* ----------------------------------------- */
:focus-visible { outline: 3px solid var(--ufpr-foco); outline-offset: 2px; }
#barra-topo :focus-visible, .rodape :focus-visible, .title-bar :focus-visible, #navegacao-celular :focus-visible, #navegacao-principal .menu > li:not(.menu-item-home) :focus-visible { outline-color: var(--ufpr-barra-texto); }
/* Destinos dos atalhos ("Ir para…"): recebem foco por programação, sem anel */
#conteudo-principal:focus, #navegacao:focus, #rodape:focus { outline: none; }
/* Ícones do tema (wpufpr_icone(): SVG com traço na cor do texto, 1em) */
.icone { display: inline-block; flex: none; width: 1em; height: 1em; vertical-align: -0.14em; overflow: visible; }
.icone-conteudo { display: inline-block; line-height: 1; }
.icone-conteudo .icone { width: 1em; height: 1em; }

/* Texto só para leitores de tela (classe padrão do WordPress) */
.screen-reader-text { position: absolute !important; width: 1px; height: 1px; margin: -1px; padding: 0; border: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap; word-wrap: normal !important; }
.screen-reader-text:focus { position: static !important; width: auto; height: auto; margin: 0; clip-path: none; white-space: normal; }

@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { animation-duration: 0.01ms !important; animation-iteration-count: 1 !important; transition-duration: 0.01ms !important; scroll-behavior: auto !important; }
}

/* ----------------------------------------- */
/* 5. IMAGENS E MÍDIA                        */
/* ----------------------------------------- */
img.object-fit_fill { border-radius: var(--ufpr-raio-lg); }
.entry-content img { margin: 0; }
.entry-content figure { max-width: 100%; }
.alignleft, img.alignleft { margin: 0.3em 1.5em 1em 0; display: inline; float: left; }
.alignright, img.alignright { margin: 0.3em 0 1em 1.5em; display: inline; float: right; }
.aligncenter, img.aligncenter { margin-right: auto; margin-left: auto; display: block; clear: both; }
.wp-caption { margin-bottom: 1.5em; text-align: center; padding-top: 5px; max-width: 100%; }
.wp-caption img { border: 0 none; padding: 0; margin: 0; }
.wp-caption-text, .wp-caption p.wp-caption-text { line-height: 1.5; font-size: 0.85em; color: var(--ufpr-texto-suave); margin: 0.4em 0 0; }
.wp-smiley { margin: 0 !important; max-height: 1em; }
.entry-content iframe, .entry-content video, .entry-content embed { max-width: 100%; }
.entry-content .wp-block-image, .entry-content .wp-block-gallery { margin-bottom: 1.5em; }

/* ----------------------------------------- */
/* 6. CABEÇALHO                              */
/* ----------------------------------------- */
#topo { width: 100%; margin: 0 auto; display: block; position: relative; background-color: var(--ufpr-fundo-cabecalho); padding: 0; }
.modern-site-header { position: relative; border: none; padding: 0; }
.header-container { max-width: 81rem; margin: 0 auto; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 20px 40px; padding: 25px var(--ufpr-margem); }
.header-branding { display: flex; align-items: center; gap: 25px; flex: 1; }
.ufpr-logo img, .lab-logo img { max-height: 80px; width: auto; height: auto; object-fit: contain; }
.ufpr-logo img { height: 80px; }
.lab-name__universidade { font-size: 0.85rem; color: var(--ufpr-azul-acinzentado); display: block; margin-bottom: 4px; font-weight: 500; text-transform: uppercase; letter-spacing: 0.08em; }
.lab-name__titulo { font-size: 1.4rem; margin: 0; color: var(--ufpr-titulo-forte); font-weight: 700; line-height: 1.2; }
.lab-name__titulo a, .lab-name__titulo a:visited { color: inherit; text-decoration: none; }
.lab-name__titulo a:hover { color: inherit; text-decoration: underline; text-decoration-thickness: 2px; }
.header-search { flex: 0 1 250px; min-width: 0; max-width: 250px; } /* desktop; até 1023 px, largura toda (seção 13) */
/* Botão de lupa do celular (até 639 px, com JavaScript): abre e fecha a busca */
.busca-botao { display: none; }

/* Barra de topo (atalhos e utilidades) */
#barra-topo { background-color: var(--ufpr-barra-fundo); color: var(--ufpr-barra-texto); padding: 6px 0; font-size: 0.8125rem; line-height: 1.3; width: 100%; }
.bar-topo-wrapper { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 6px 20px; }
#barra-topo ul { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 4px 16px; align-items: center; }
#barra-topo a, #barra-topo button { color: var(--ufpr-barra-texto); text-decoration: none; display: inline-flex; align-items: center; }
#barra-topo button { background: none; border: 0; padding: 0; margin: 0; font: inherit; line-height: inherit; cursor: pointer; }
#barra-atalhos a { padding: 4px 0; }
#barra-atalhos a:hover { text-decoration: underline !important; }
#barra-atalhos .atalho__tecla { display: inline-flex; min-width: 1.4em; justify-content: center; background-color: var(--ufpr-barra-realce); padding: 1px 6px; border-radius: 3px; font-size: 0.85em; margin-left: 6px; font-weight: 700; }
#barra-utilidades { margin-left: auto; }
#barra-utilidades ul { gap: 4px; }
/* Itens da direita (Mapa do site e Tema): mesmo formato, ícone + texto */
#barra-topo .barra-util { display: inline-flex; align-items: center; gap: 6px; padding: 5px 10px; border-radius: 999px; color: var(--ufpr-barra-texto); font-weight: 600; letter-spacing: 0.04em; text-transform: uppercase; text-decoration: none; cursor: pointer; transition: background-color 0.15s ease; }
#barra-topo .barra-util:hover, #barra-topo .theme-menu[open] > .barra-util { background-color: var(--ufpr-barra-realce); text-decoration: none; }
#barra-topo .barra-util .icon { width: 1.25em; height: 1.25em; flex: none; fill: currentColor; }

/* Seletor de tema (Claro, Escuro, Alto contraste, Seguir o sistema) — js/tema.js */
.theme-menu { position: relative; }
.theme-menu summary { list-style: none; user-select: none; }
.theme-menu summary::-webkit-details-marker { display: none; }
.theme-menu summary::marker { content: ""; }
.theme-menu .icon { width: 1.25em; height: 1.25em; flex: none; fill: currentColor; }
.theme-menu summary .icon { display: none; }
html:not([data-theme-mode]) .theme-menu summary .tm-light,
[data-theme-mode="light"] .theme-menu summary .tm-light,
[data-theme-mode="dark"] .theme-menu summary .tm-dark,
[data-theme-mode="contrast"] .theme-menu summary .tm-contrast,
[data-theme-mode="system"] .theme-menu summary .tm-system { display: inline-block; }
#topo .theme-menu__list { display: block; position: absolute; right: 0; top: calc(100% + 8px); z-index: 1100; min-width: 230px; margin: 0; padding: 6px; list-style: none; background: var(--ufpr-superficie); border: 1px solid var(--ufpr-borda); border-radius: var(--ufpr-raio); box-shadow: var(--ufpr-sombra-menu); font-size: 0.95rem; letter-spacing: normal; text-transform: none; text-align: left; }
#topo .theme-menu__list li { margin: 0; }
#topo .theme-menu__list button { box-sizing: border-box; display: flex; align-items: center; gap: 10px; width: 100%; padding: 10px 12px; border: 0; border-radius: 6px; background: none; color: var(--ufpr-texto); font: inherit; font-weight: 500; line-height: 1.2; text-align: left; text-decoration: none; cursor: pointer; }
#topo .theme-menu__list button .icon { color: var(--ufpr-titulo); }
#topo .theme-menu__list button:hover, #topo .theme-menu__list button:focus { background: var(--ufpr-azul-suave); text-decoration: none; }
#topo .theme-menu__list button[aria-pressed="true"] { color: var(--ufpr-titulo-forte); font-weight: 700; background: var(--ufpr-azul-suave); }
#topo .theme-menu__list button[aria-pressed="true"]::after { content: ""; width: 8px; height: 8px; margin-left: auto; border-radius: 50%; background: var(--ufpr-destaque); }
#topo .theme-menu__list :focus-visible { outline-color: var(--ufpr-foco); }

/* Aviso de atualização */
/* Aviso no topo (inc/aviso.php). No HTML vem depois da barra de atalhos;
    aqui sobe para o alto da página (order: -1). Tipos: informação e atenção. */
#topo { display: flex; flex-direction: column; }
#topo > * { width: 100%; box-sizing: border-box; }
#topo:focus { outline: none; }
.aviso-topo { order: -1; width: 100%; border-bottom: 1px solid var(--ufpr-borda); background-color: var(--ufpr-azul-suave); color: var(--ufpr-titulo-forte); font-size: 0.95rem; line-height: 1.45; }
.aviso-topo--atencao { border-bottom-color: var(--ufpr-aviso-borda); background-color: var(--ufpr-aviso-fundo); color: var(--ufpr-aviso-texto); }
.aviso-topo__conteudo { display: flex; align-items: center; gap: 10px; max-width: 81rem; margin: 0 auto; padding: 10px var(--ufpr-margem); box-sizing: border-box; }
.aviso-topo__icone { flex: none; margin-top: 0; width: 1.15em !important; height: 1.15em !important; }
.aviso-topo__texto { margin: 0; font-weight: 500; }
.aviso-topo__texto a, .aviso-topo__texto a:visited { margin-left: 4px; color: inherit; font-weight: 700; }
.aviso-topo__texto a:hover { color: inherit; }

/* ----------------------------------------- */
/* 7. MENUS                                  */
/* ----------------------------------------- */
#navegacao { max-width: 81rem; margin: 0 auto; display: block; position: relative; padding-top: 5px; border-top: 1px solid var(--ufpr-linha-menu); }
#navegacao-celular, .top-bar ul, .title-bar { background-color: var(--ufpr-azul-escuro); }

/* Botão de submenu (js/menus.js). Fica logo depois do link do item; o estado
   está em aria-expanded, e o submenu seguinte só aparece com "true". */
.submenu-toggle { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 auto; width: 1.75rem; height: 1.75rem; margin: 0; padding: 0; border: 0; border-radius: var(--ufpr-raio-sm); background: transparent; color: inherit; cursor: pointer; }
.submenu-toggle::before { content: ""; width: 0.45rem; height: 0.45rem; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: translateY(-20%) rotate(45deg); transition: transform 0.15s ease; }
.submenu-toggle[aria-expanded="true"]::before { transform: translateY(20%) rotate(225deg); }
.no-js .submenu-toggle { display: none; }

/* Menu principal (desktop): o submenu abre ao passar o mouse ou pelo botão */
#navegacao-principal .menu, #navegacao-principal .menu li { background: transparent; }
#navegacao-principal a { text-decoration: none; color: var(--ufpr-titulo-forte); }
#navegacao-principal .menu { font-weight: 600; font-size: 0.9em; width: 100%; margin: 0; padding: 0; display: flex; flex-wrap: wrap; }
#navegacao-principal span { margin: 0; padding: 0; font-size: 0.9em; }
#navegacao-principal .menu li { position: relative; }
#navegacao-principal .menu > li { display: flex; align-items: center; justify-content: center; width: auto; flex-grow: 1; text-align: center; border-radius: 6px 6px 0 0; padding: 0 10px; }
#navegacao-principal .menu > li > .submenu-toggle { color: var(--ufpr-azul-link); }
#navegacao-principal .sub-menu { display: none; position: absolute; top: 100%; left: 0; z-index: 1000; margin: 0; padding: 0; list-style: none; border-radius: 0 0 6px 6px; background-color: var(--ufpr-azul-escuro); text-align: left; }
#navegacao-principal .sub-menu .sub-menu { top: 0; left: 100%; border-radius: 0 6px 6px 6px; }
/* Sem espaço à direita, o submenu abre para a esquerda (js/menus.js) */
#navegacao-principal .menu > li > .sub-menu--esquerda { left: auto; right: 0; }
#navegacao-principal .sub-menu .sub-menu--esquerda { left: auto; right: 100%; border-radius: 6px 0 6px 6px; }
#navegacao-principal li:hover > .sub-menu, #navegacao-principal .submenu-toggle[aria-expanded="true"] + .sub-menu, .no-js #navegacao-principal li:focus-within > .sub-menu { display: block; }
#navegacao-principal .sub-menu li { display: flex; align-items: center; width: 16em; max-width: 100vw; margin: 0; padding: 0 10px; border: none; }
#navegacao-principal .sub-menu a { flex: 1 1 auto; display: block; padding: 8px 10px; color: var(--ufpr-barra-texto); }
#navegacao-principal .sub-menu .submenu-toggle { color: var(--ufpr-barra-texto); }
#navegacao-principal .sub-menu .submenu-toggle::before { transform: rotate(-45deg); }
#navegacao-principal .menu > li:hover, #navegacao-principal .menu > li:focus-within { background-color: var(--ufpr-azul-escuro); transition: 0.1s; }
#navegacao-principal .menu > li:hover > a, #navegacao-principal .menu > li:focus-within > a, #navegacao-principal .menu > li:hover > .submenu-toggle, #navegacao-principal .menu > li:focus-within > .submenu-toggle { color: var(--ufpr-barra-texto); }
/* Item "Início" (classe menu-item-home no menu): só o ícone, na cor do texto do menu */
#navegacao-principal li.menu-item-home { flex-grow: 0; padding: 0 4px; }
#navegacao-principal .menu-item-home > a { position: relative; width: 2.75rem; overflow: hidden; white-space: nowrap; color: transparent !important; }
#navegacao-principal .menu-item-home > a::before { content: ""; position: absolute; top: 50%; left: 50%; width: 22px; height: 22px; margin: -11px 0 0 -11px; background-color: var(--ufpr-titulo-forte); -webkit-mask-image: url('../../assets/icons/home.svg'); -webkit-mask-position: center; -webkit-mask-size: contain; -webkit-mask-repeat: no-repeat; mask-image: url('../../assets/icons/home.svg'); mask-position: center; mask-size: contain; mask-repeat: no-repeat; }
#navegacao-principal .menu-item-home:hover > a::before, #navegacao-principal .menu-item-home:focus-within > a::before { background-color: var(--ufpr-barra-texto); }

/* Menu horizontal (.navegacao-larga) a partir de 1024 px; até 1023 px, o menu
   de ícone (.navegacao-compacta), aberto pelo botão no cabeçalho. */
@media screen and (max-width: 1023px) {
    .navegacao-larga { display: none; }
}
@media screen and (min-width: 1024px) {
    .navegacao-compacta, .theme-menu--cabecalho { display: none; }
}

/* Linha de 4 px abaixo do menu principal (opção "Linha abaixo do menu
   principal"; classe wpufpr-linha-menu no <body>). Só onde o menu horizontal
   aparece (1024 px ou mais): o menu do celular e do tablet não muda. */
@media screen and (min-width: 1024px) {
    .wpufpr-linha-menu #navegacao-principal > .menu-header { border-bottom: 4px solid var(--ufpr-menu-linha); }
    .wpufpr-linha-menu #navegacao-principal .menu > li { border-radius: 6px 6px 0 0; }
}

/* Menu do celular: o botão "MENU" mostra a lista; submenus em sanfona */
.title-bar { padding: 0; }
.title-bar__botao { display: flex; align-items: center; gap: 0.75rem; width: 100%; margin: 0; padding: 0.75rem 1.25rem; border: 0; background: transparent; color: var(--ufpr-barra-texto); font: inherit; font-weight: 700; text-align: left; cursor: pointer; }
.title-bar .menu-icon::after { background: currentColor; box-shadow: 0 7px 0 currentColor, 0 14px 0 currentColor; }
.no-js .title-bar { display: none; }
.js #navegacao-celular:not(.menu-aberto) { display: none; }
#navegacao-celular .sub-menu { margin: 0; padding: 0; list-style: none; }
.js #navegacao-celular .sub-menu { display: none; }
#navegacao-celular .submenu-toggle[aria-expanded="true"] + .sub-menu { display: block; }
#navegacao-celular li.menu-item-has-children { display: flex; flex-wrap: wrap; }
#navegacao-celular li.menu-item-has-children > a { flex: 1 1 0; min-width: 0; }
#navegacao-celular li.menu-item-has-children > .sub-menu { flex: 0 0 100%; }
#navegacao-celular .submenu-toggle { width: 3rem; height: auto; align-self: stretch; border-radius: 0; border-bottom: 1px solid var(--ufpr-barra-divisor); color: var(--ufpr-barra-texto); }
#navegacao-celular .sub-menu a { padding-left: 30px; line-height: 1; }
#navegacao-celular .sub-menu .sub-menu a { padding-left: 45px; }

/* Ícones automáticos em links */
a[href^="mailto:"]::after { content: ""; display: inline-block; width: 1em; height: 1em; background-size: contain; background-repeat: no-repeat; margin: 0 4px; vertical-align: middle; background-image: url('../../assets/icons/mail.svg'); }
.small-12.medium-9.large-9.columns a[href^="http"]:not([href*="ufpr.br"]):not([href*="lattes.cnpq.br"]):not([rel~="tag"]):not(.elementor-button, .elementor-icon)::after { content: ""; display: inline-block; width: 1em; height: 1em; background-size: contain; background-repeat: no-repeat; margin: 0 3px 0 4px; vertical-align: middle; background-image: url('../../assets/icons/externo.svg'); }
a[href^="mailto:"], a[href$=".pdf"], a[href$=".doc"], a[href$=".xls"], a[href$=".rss"], a[href$=".rdf"], a[href^="aim:"] { margin: 0; background-repeat: no-repeat; background-position: right center; }

/* ----------------------------------------- */
/* 8. CONTEÚDO PRINCIPAL                     */
/* ----------------------------------------- */
#conteudo { min-height: 500px; color: var(--ufpr-texto); padding: 48px 0 56px; font-size: 110%; }
#conteudo .conteudo_post { padding-right: 0.3em; }
#conteudo iframe { margin: 0; padding: 0; }

/* Listas do conteúdo: recuo e espaçamento iguais para ul e ol */
#conteudo .entry-content ul, #conteudo .entry-content ol, #conteudo .archive-description ul, #conteudo .archive-description ol { margin: 0 0 1.25em 1.5rem; padding-left: 0; list-style-position: outside; }
#conteudo .entry-content ul { list-style-type: disc; }
#conteudo .entry-content ol { list-style-type: decimal; }
#conteudo .entry-content ul ul { list-style-type: circle; }
#conteudo .entry-content li > ul, #conteudo .entry-content li > ol { margin: 0.4em 0 0 1.5rem; }
#conteudo .entry-content li { line-height: 1.6; margin-bottom: 0.4em; color: inherit; }
#conteudo .entry-content li:last-child { margin-bottom: 0; }
#conteudo .entry-content li::marker { color: var(--ufpr-destaque); }
#conteudo .entry-content ol > li::marker { font-weight: 700; }
#conteudo .elementor-icon-list-items { padding: 0; margin: 0; }

/* Trilha de navegação (inc/trilha.php): no alto do <main>, menos na página inicial */
.trilha { max-width: 81rem; margin: 0 auto; padding: 22px var(--ufpr-margem) 0; box-sizing: border-box; color: var(--ufpr-texto-suave); font-size: 0.875rem; line-height: 1.5; }
.trilha__lista { display: flex; flex-wrap: wrap; align-items: center; row-gap: 2px; margin: 0; padding: 0; list-style: none; }
.trilha__item { display: inline-flex; align-items: center; min-width: 0; margin: 0; overflow-wrap: anywhere; }
.trilha__item + .trilha__item::before { content: ""; flex: none; width: 0.38em; height: 0.38em; margin: 0 0.7em 0 0.55em; border-top: 1.5px solid currentColor; border-right: 1.5px solid currentColor; transform: rotate(45deg); }
.trilha a, .trilha a:visited { color: var(--ufpr-azul-link); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; }
.trilha a:hover { color: var(--ufpr-azul-link-hover); text-decoration-thickness: 2px; }
.trilha [aria-current="page"] { color: var(--ufpr-texto); font-weight: 600; }
.trilha + #conteudo { padding-top: 24px; }

/* Modelo "Largura total" (template-largura-total.php; classe wpufpr-largura-total
   no <body>): conteúdo de borda a borda, com um respiro lateral. Blocos com o
   alinhamento "Largura total" anulam o respiro e encostam nas bordas. */
.wpufpr-largura-total { --ufpr-respiro: clamp(20px, 4vw, 48px); }
.wpufpr-largura-total #conteudo { max-width: none; padding-left: 0; padding-right: 0; }
.wpufpr-largura-total #conteudo > .columns { padding-left: var(--ufpr-respiro); padding-right: var(--ufpr-respiro); }
.wpufpr-largura-total .trilha { max-width: none; padding-left: var(--ufpr-respiro); padding-right: var(--ufpr-respiro); }
.wpufpr-largura-total .entry-content > .alignfull { width: auto; max-width: none; margin-left: calc(-1 * var(--ufpr-respiro)); margin-right: calc(-1 * var(--ufpr-respiro)); }
.wpufpr-largura-total .entry-content > .alignfull.padrao-destaque, .wpufpr-largura-total .entry-content > .alignfull.padrao-numeros { border-radius: 0; padding-left: var(--ufpr-respiro); padding-right: var(--ufpr-respiro); }
.wpufpr-largura-total .entry-content > .alignfull img { width: 100%; }
/* Modelo "Acesso rápido (links)" (template-acesso-rapido.php; classe wpufpr-acesso-rapido
   no <body>): coluna estreita e centralizada, como uma página de links de perfil.
   No celular, os tons --ufpr-acesso-* entram no fundo e no cabeçalho (seção 13). */
.wpufpr-acesso-rapido #conteudo > .columns { float: none; max-width: 40rem; margin-left: auto; margin-right: auto; }
.wpufpr-acesso-rapido h1.page-title { text-align: center; }
/* Nos outros modelos, "Largura ampla" e "Largura total" ficam na largura do conteúdo */
.entry-content > .alignwide, .entry-content > .alignfull { max-width: 100%; }

/* Colunas da barra de topo e do conteúdo com a margem única (--ufpr-margem), no
   lugar do padding das colunas do Foundation (0,625rem/1,6rem): o texto fica
   alinhado ao cabeçalho, ao menu, à trilha e ao rodapé. Com barra lateral, o
   espaço entre as colunas fica com duas margens. */
#barra-topo .row > .columns, body:not(.wpufpr-largura-total) #conteudo > .columns { padding-left: var(--ufpr-margem); padding-right: var(--ufpr-margem); }

/* Datas e metadados */
.post-meta { font-size: 0.85em; padding: 0; margin: -0.4em 0 1.5em; color: var(--ufpr-texto-suave); }
#data-atualizacao { margin: 2.5em 0 0; padding-top: 1em; border-top: 1px solid var(--ufpr-borda); font-size: 0.85rem; color: var(--ufpr-texto-suave); text-align: right; }
#conteudo .data_de_publicacao { font-size: 0.9em; padding: 0; margin: 0 0 10px; color: var(--ufpr-texto-suave); }
#conteudo .data_de_publicacao span { color: var(--ufpr-texto-suave); padding: 0; }
#conteudo .data_de_publicacao .icone { margin-right: 2px; color: var(--ufpr-destaque); }
.paginas-do-post { margin: 1.5em 0; }
.editar-post { margin-top: 1.5em; font-size: 0.9em; }

blockquote.left { margin-right: 20px; text-align: right; margin-left: 0; width: 33%; float: left; }
blockquote.right { margin-left: 20px; text-align: left; margin-right: 0; width: 33%; float: right; }

/* ----------------------------------------- */
/* 9. LISTAGENS E CARTÕES                    */
/* ----------------------------------------- */
#conteudo .listagem { width: 100%; margin: 0 auto; display: grid; }
#conteudo .listagem a { text-decoration: none; }
.archive-container { margin-top: 0; margin-bottom: 40px; }
.archive-description { font-size: 1.1em; color: var(--ufpr-texto-suave); margin: -0.4em 0 30px; line-height: 1.6; max-width: 60em; }
.resultado-contagem { margin: -0.6em 0 1.5em; color: var(--ufpr-texto-suave); }

.posts-grid { display: grid; gap: 24px; width: 100%; grid-template-columns: 1fr; }

/* Cartão em grade: título, data e botão alinhado embaixo */
.archive-post.std { display: flex; flex-direction: column; padding: 16px 16px 20px; background: var(--ufpr-superficie); border: 1px solid var(--ufpr-borda); border-radius: var(--ufpr-raio); box-shadow: var(--ufpr-sombra-leve); transition: box-shadow 0.2s ease, transform 0.2s ease; width: 100%; box-sizing: border-box; }
.archive-post.std:hover { box-shadow: var(--ufpr-sombra); }
.archive-post.std img { max-width: 100%; height: auto; border-radius: var(--ufpr-raio-sm);}
.archive-post__imagem { display: block; overflow: hidden; border-radius: var(--ufpr-raio-sm); background-color: var(--ufpr-azul-suave); }
.archive-post__titulo { font-size: 1.15em; font-weight: 700; margin: 14px 0 8px; line-height: 1.3; }
.archive-post__titulo a, #conteudo .listagem .archive-post__titulo a, .archive-post__titulo a:visited { color: var(--ufpr-titulo-forte); text-decoration: none; }
.archive-post__titulo a:hover { color: var(--ufpr-azul-link-hover); text-decoration: underline; }
.archive-post.std > .veja_mais.button { margin-top: auto; align-self: flex-start; }
.archive-post.std > .data_de_publicacao { margin-bottom: 16px !important; }

/* Cartão horizontal (página inicial e "Mais posts") */
.posts-list-horizontal { margin-bottom: 30px; display: grid; gap: 20px; }
.horizontal-card.archive-post.std { flex-direction: row; flex-wrap: wrap; padding: 0; margin: 0; overflow: hidden; }
.horizontal-card .card-content { flex: 1 1 60%; padding: 24px 28px; display: flex; flex-direction: column; justify-content: center; }
.horizontal-card .card-title { font-size: 1.35rem; font-weight: 700; margin: 0 0 8px; line-height: 1.25; }
.horizontal-card .card-title a, .horizontal-card .card-title a:visited { color: var(--ufpr-titulo-forte); text-decoration: none; }
.horizontal-card .card-title a:hover { color: var(--ufpr-azul-link-hover); text-decoration: underline; }
.horizontal-card .card-meta { margin-bottom: 14px; }
.horizontal-card .card-action { margin-top: auto; }
.horizontal-card .card-action .button { margin: 0; }
.horizontal-card .card-image { flex: 1 1 35%; min-height: 200px; position: relative; background-color: var(--ufpr-azul-suave); }
.horizontal-card .card-image a { position: absolute; top: 0; right: 0; bottom: 0; left: 0; display: block; }
.horizontal-card .card-image img { width: 100%; height: 100%; object-fit: cover; margin: 0; border-radius: 0; }
.horizontal-card .card-image--padrao { background-color: var(--ufpr-superficie); border-left: 1px solid var(--ufpr-borda); }
.horizontal-card .card-image--padrao a { display: flex; align-items: center; justify-content: center; padding: 24px; }
.horizontal-card .card-image--padrao img { width: auto; height: auto; max-width: 70%; max-height: 120px; object-fit: contain; opacity: 0.55; }

/* Destaques da página inicial (inc/destaques.php): posts fixados em faixa ou carrossel */
.destaques { margin: 0 0 40px; }
.destaques__lista { display: grid; gap: 20px; margin: 0; padding: 0; list-style: none; }
.destaques--faixa .destaques__lista { grid-template-columns: repeat(auto-fit, minmax(min(100%, 15rem), 1fr)); }
.destaques__item { display: flex; margin: 0; padding: 0; }
.destaque { display: flex; flex-direction: column; width: 100%; overflow: hidden; background-color: var(--ufpr-superficie); border: 1px solid var(--ufpr-borda); border-radius: var(--ufpr-raio); box-shadow: var(--ufpr-sombra-leve); }
.destaque__imagem { display: block; aspect-ratio: 16 / 9; overflow: hidden; background-color: var(--ufpr-azul-suave); }
.destaque__imagem img { display: block; width: 100%; height: 100%; margin: 0; object-fit: cover; }
.destaque__imagem--padrao { display: flex; align-items: center; justify-content: center; background-color: var(--ufpr-superficie); border-bottom: 1px solid var(--ufpr-borda); }
.destaque__imagem--padrao img { width: auto; height: auto; max-width: 60%; max-height: 70%; object-fit: contain; opacity: 0.55; }
.destaque__texto { display: flex; flex: 1 1 auto; flex-direction: column; padding: 16px 20px 20px; }
.destaque__categoria { margin: 0 0 6px; color: var(--ufpr-texto-suave); font-size: 0.78rem; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; }
.destaque__titulo { margin: 0; font-size: 1.15em; font-weight: 700; line-height: 1.3; }
.destaque__titulo a, .destaque__titulo a:visited { color: var(--ufpr-titulo-forte); text-decoration: none; }
.destaque__titulo a:hover { color: var(--ufpr-azul-link-hover); text-decoration: underline; }
.destaque__resumo { margin: 10px 0 0; color: var(--ufpr-texto); line-height: 1.6; }
.destaque__acao { margin: auto 0 0; padding-top: 16px; }
.destaque__acao .button { margin: 0; }
/* Carrossel: um destaque por vez (os outros ficam com o atributo hidden) */
.destaques--carrossel .destaque__titulo { font-size: 1.4em; }
.destaques__controles { display: flex; align-items: center; justify-content: center; gap: 16px; margin-top: 16px; }
.destaques__posicao { margin: 0; min-width: 9em; color: var(--ufpr-texto-suave); font-size: 0.9rem; text-align: center; }
.destaques__botao { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; margin: 0; padding: 0; border: 1px solid var(--ufpr-borda-campo); border-radius: 50%; background-color: var(--ufpr-superficie); color: var(--ufpr-titulo-forte); cursor: pointer; }
.destaques__botao:hover { background-color: var(--ufpr-azul-suave); }
.destaques__botao::before { content: ""; width: 0.6rem; height: 0.6rem; border-top: 2px solid currentColor; border-right: 2px solid currentColor; }
.destaques__botao--anterior::before { margin-left: 0.2rem; transform: rotate(-135deg); }
.destaques__botao--proximo::before { margin-right: 0.2rem; transform: rotate(45deg); }
@media screen and (prefers-reduced-motion: no-preference) {
    .destaques--ativo .destaques__item:not([hidden]) { animation: wpufpr-surgir 0.25s ease-out; }
}
@keyframes wpufpr-surgir { from { opacity: 0; } to { opacity: 1; } }

/* Equipe (plugin wpufpr-data): inc/equipe-listagem.php, inc/card-membro.php e single-wpufpr_membro.php */
.equipe__grupo { margin: 0 0 40px; }
.equipe__grupo:last-child { margin-bottom: 0; }
.equipe__titulo { margin: 0 0 18px; padding-bottom: 10px; border-bottom: 2px solid var(--ufpr-azul-suave); font-size: 1.4em; }
.equipe__grade { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 14rem), 1fr)); gap: 24px; }
.membro { display: flex; flex-direction: column; overflow: hidden; background-color: var(--ufpr-superficie); border: 1px solid var(--ufpr-borda); border-radius: var(--ufpr-raio); box-shadow: var(--ufpr-sombra-leve); }
.membro__foto { display: flex; align-items: center; justify-content: center; aspect-ratio: 1 / 1; overflow: hidden; background-color: var(--ufpr-azul-suave); color: var(--ufpr-destaque); }
.membro__foto img { display: block; width: 100%; height: 100%; margin: 0; object-fit: cover; }
.membro__foto--padrao .icone { width: 38%; height: 38%; stroke-width: 1.5; }
.membro__texto { display: flex; flex: 1 1 auto; flex-direction: column; padding: 16px 18px 20px; }
.membro__nome { margin: 0; font-size: 1.1em; font-weight: 700; line-height: 1.3; }
.membro__nome a, .membro__nome a:visited { color: var(--ufpr-titulo-forte); text-decoration: none; }
.membro__nome a:hover { color: var(--ufpr-azul-link-hover); text-decoration: underline; }
.membro__cargo { margin: 6px 0 0; color: var(--ufpr-texto-suave); font-size: 0.92em; line-height: 1.45; }
#conteudo .membro__contatos { margin: 14px 0 0; padding: 0; list-style: none; font-size: 0.9em; line-height: 1.4; }
#conteudo .membro__contato { display: flex; align-items: center; gap: 8px; min-width: 0; margin: 0 0 6px; }
#conteudo .membro__contato:last-child { margin-bottom: 0; }
.membro__contato .icone { flex: none; width: 1.1em; height: 1.1em; color: var(--ufpr-destaque); }
.membro__contato a, .membro__contato a:visited { min-width: 0; color: var(--ufpr-azul-link); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; overflow-wrap: anywhere; }
.membro__contato a:hover { color: var(--ufpr-azul-link-hover); text-decoration-thickness: 2px; }
.membro__contato a[href^="mailto:"]::after { display: none; }
/* Página de um membro: foto ao lado do nome (embaixo um do outro em telas estreitas) */
.membro-perfil { display: flex; flex-wrap: wrap; align-items: flex-start; gap: 24px 32px; margin: 0 0 32px; }
.membro-perfil__foto { display: flex; flex: none; align-items: center; justify-content: center; width: min(100%, 220px); aspect-ratio: 1 / 1; overflow: hidden; border-radius: var(--ufpr-raio); background-color: var(--ufpr-azul-suave); color: var(--ufpr-destaque); }
.membro-perfil__foto img { display: block; width: 100%; height: 100%; margin: 0; object-fit: cover; }
.membro-perfil__texto { flex: 1 1 18rem; min-width: 0; }
h1.page-title.membro-perfil__nome { margin-bottom: 0.3em; }
.membro-perfil__cargo { margin: 0 0 6px; color: var(--ufpr-texto); font-size: 1.1em; }
.membro-perfil__vinculos { margin: 0; color: var(--ufpr-texto-suave); }
.membro-perfil__vinculos a, .membro-perfil__vinculos a:visited { color: var(--ufpr-azul-link); }
#conteudo .membro-perfil .membro__contatos { margin-top: 18px; font-size: 1em; }

/* Editais (plugin wpufpr-data): archive-wpufpr_edital.php, inc/card-edital.php e single-wpufpr_edital.php */
.editais__grupo { margin: 0 0 40px; }
.editais__grupo:last-child { margin-bottom: 0; }
.editais__titulo { margin: 0 0 18px; padding-bottom: 10px; border-bottom: 2px solid var(--ufpr-azul-suave); font-size: 1.4em; }
.editais__grade { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 19rem), 1fr)); gap: 24px; }
.edital { display: flex; flex-direction: column; align-items: flex-start; padding: 20px 22px 22px; background-color: var(--ufpr-superficie); border: 1px solid var(--ufpr-borda); border-radius: var(--ufpr-raio); box-shadow: var(--ufpr-sombra-leve); }
.edital__titulo { margin: 10px 0 8px; font-size: 1.15em; font-weight: 700; line-height: 1.3; }
.edital__titulo:first-child { margin-top: 0; }
.edital__titulo a, .edital__titulo a:visited { color: var(--ufpr-titulo-forte); text-decoration: none; }
.edital__titulo a:hover { color: var(--ufpr-azul-link-hover); text-decoration: underline; }
.edital__periodo, .edital__anexos { display: flex; align-items: center; gap: 8px; margin: 0 0 6px; color: var(--ufpr-texto-suave); font-size: 0.92em; line-height: 1.4; }
.edital__periodo .icone, .edital__anexos .icone { flex: none; color: var(--ufpr-destaque); }
.edital__resumo { margin: 6px 0 0; color: var(--ufpr-texto); font-size: 0.95em; line-height: 1.55; }
.edital > .edital__botao.button { margin: auto 0 0; }
.edital__resumo + .edital__botao, .edital__periodo + .edital__botao, .edital__anexos + .edital__botao { margin-top: 18px; }
.edital-situacao { display: inline-block; margin: 0; padding: 3px 12px; border: 1px solid transparent; border-radius: 999px; font-size: 0.78rem; font-weight: 700; letter-spacing: 0.05em; line-height: 1.5; text-transform: uppercase; }
.edital-situacao--aberto { background-color: var(--ufpr-sucesso-fundo); color: var(--ufpr-sucesso-texto); }
.edital-situacao--em-breve { background-color: var(--ufpr-azul-suave); color: var(--ufpr-azul-medio); }
.edital-situacao--encerrado { background-color: var(--ufpr-zebra); border-color: var(--ufpr-borda); color: var(--ufpr-texto-suave); }
.archive-post .edital-situacao { align-self: flex-start; margin-bottom: 12px; }
/* Página de um edital */
.edital-pagina > .edital-situacao { margin-bottom: 12px; }
.edital-pagina__periodo { display: flex; align-items: center; gap: 10px; margin: -0.3em 0 1.6em; padding: 12px 16px; background-color: var(--ufpr-azul-suave); border-radius: var(--ufpr-raio); color: var(--ufpr-texto); }
.edital-pagina__periodo .icone { flex: none; width: 1.2em; height: 1.2em; color: var(--ufpr-destaque); }
.edital-anexos { margin: 2.2em 0 0; }
.edital-anexos__titulo { margin: 0 0 14px; font-size: 1.35em; }
#conteudo .edital-anexos__lista { display: grid; gap: 10px; margin: 0; padding: 0; list-style: none; }
#conteudo .edital-anexo { display: flex; align-items: flex-start; gap: 12px; margin: 0; padding: 14px 16px; background-color: var(--ufpr-superficie); border: 1px solid var(--ufpr-borda); border-radius: var(--ufpr-raio); }
.edital-anexo .icone { flex: none; width: 1.4em; height: 1.4em; margin-top: 2px; color: var(--ufpr-destaque); }
.edital-anexo__texto { display: flex; flex-direction: column; min-width: 0; }
.edital-anexo__link, .edital-anexo__link:visited { color: var(--ufpr-azul-link); font-weight: 600; text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; overflow-wrap: anywhere; }
.edital-anexo__link:hover { color: var(--ufpr-azul-link-hover); text-decoration-thickness: 2px; }
.edital-anexo__detalhes { color: var(--ufpr-texto-suave); font-size: 0.85em; }
.edital-pagina__voltar { margin: 2em 0 0; padding-top: 1em; border-top: 1px solid var(--ufpr-borda); }
.edital-pagina__voltar a, .edital-pagina__voltar a:visited { color: var(--ufpr-azul-link); font-weight: 600; }
.edital-pagina__voltar a::before { content: "← "; }

/* Caixa de boas-vindas */
.welcome-box { background-color: var(--ufpr-azul-suave); padding: 28px 32px; margin-bottom: 40px; border-radius: var(--ufpr-raio); }
.welcome-box__texto { margin: 0; font-size: 1.35rem; color: var(--ufpr-titulo-forte); font-weight: 600; line-height: 1.35; }

/* Mensagens de lista vazia */
.erro-busca { display: block; padding: 28px; background-color: var(--ufpr-azul-suave); color: var(--ufpr-azul-medio); border-radius: var(--ufpr-raio); font-size: 1.05em; text-align: center; margin: 2em 0; font-weight: 600; grid-column: 1 / -1; }

/* Paginação */
.paginacao { text-align: center; grid-column: 1 / -1; }
.paginacao .nav-links { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 1rem; margin-top: 2rem; }
.paginacao .nav-next { margin-left: auto; }
.paginacao .nav-links a, .paginacao .nav-links a:visited { display: inline-flex; align-items: center; gap: 0.5em; padding: 0.6em 1.1em; border: 1px solid var(--ufpr-borda-campo); border-radius: var(--ufpr-raio-sm); background-color: var(--ufpr-superficie); color: var(--ufpr-titulo-forte); font-size: 0.95rem; font-weight: 600; text-decoration: none; }
.paginacao .nav-links a:hover { background-color: var(--ufpr-azul-suave); border-color: var(--ufpr-titulo-forte); text-decoration: none; }
.paginacao .nav-previous a::before { content: "←"; }
.paginacao .nav-next a::after { content: "→"; }
.wp-pagenavi { margin-top: 40px; padding: 10px 0; letter-spacing: normal; }
.wp-pagenavi a, .wp-pagenavi span { margin: 0 6px 6px 0; letter-spacing: normal; font-size: 1rem; color: var(--ufpr-titulo-forte); text-decoration: none; border-radius: var(--ufpr-raio-sm); background-color: var(--ufpr-superficie); display: inline-block; border: 1px solid var(--ufpr-borda-campo); padding: 6px 12px !important; font-weight: 600; }
#conteudo .wp-pagenavi a { color: var(--ufpr-titulo-forte); }
.wp-pagenavi a:hover { background-color: var(--ufpr-azul-suave); border-color: var(--ufpr-titulo-forte) !important; }
.wp-pagenavi span.current { background-color: var(--ufpr-azul); border-color: var(--ufpr-azul) !important; color: var(--ufpr-barra-texto); }

/* Filtro de ordenação */
.filtro-ordenacao { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 20px; margin-bottom: 2em; background-color: var(--ufpr-azul-suave); padding: 12px 16px; border-radius: var(--ufpr-raio); }
.filtro-ordenacao__campo { display: flex; align-items: center; gap: 10px; }
.filtro-ordenacao label { font-weight: 700; color: var(--ufpr-titulo); margin: 0; font-size: 0.85rem; text-transform: uppercase; letter-spacing: 0.05em; line-height: 1; }
.filtro-ordenacao select { -webkit-appearance: none; -moz-appearance: none; appearance: none; background-color: var(--ufpr-superficie); border: 1px solid var(--ufpr-borda-campo); border-radius: var(--ufpr-raio-sm); padding: 8px 36px 8px 12px; font-size: 0.95rem; color: var(--ufpr-texto); cursor: pointer; margin: 0; min-width: 180px; width: auto; height: auto; line-height: normal; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23314a73' 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"); background-repeat: no-repeat; background-position: right 12px center; background-size: 14px; }
.filtro-ordenacao select:hover { border-color: var(--ufpr-titulo); }
.filtro-ordenacao select:focus { border-color: var(--ufpr-titulo); box-shadow: none; }
.filtro-ordenacao option { background-color: var(--ufpr-superficie); color: var(--ufpr-texto); padding: 8px; }
.filtro-ordenacao__botao.button { margin: 0; padding: 9px 16px; font-size: 0.9rem; }

/* Página 404 */
.erro-404 { max-width: 60rem; margin: 0 auto; }
.erro-404__topo { text-align: center; padding: 8px 0 40px; }
.erro-404__codigo { margin: 0 0 4px; font-size: 5.5em; font-weight: 800; line-height: 1; letter-spacing: -0.02em; color: var(--ufpr-destaque); }
.erro-404 .erro-404__titulo { margin: 0 0 12px; }
.erro-404__texto { margin: 0 auto 28px; max-width: 40em; font-size: 1.05em; line-height: 1.6; color: var(--ufpr-texto-suave); }
.erro-404__texto code { word-break: break-all; }
.erro-404__busca { max-width: 560px; margin: 0 auto; }
.erro-404__grade { display: grid; grid-template-columns: 1fr; gap: 24px; }
.erro-404__bloco { padding: 22px 24px; background-color: var(--ufpr-superficie); border: 1px solid var(--ufpr-borda); border-radius: var(--ufpr-raio); }
.erro-404__bloco h2 { margin: 0 0 12px; font-size: 1.15em; }
.erro-404__bloco p { margin: 0 0 12px; color: var(--ufpr-texto-suave); font-size: 0.95em; }
.erro-404__bloco ul, #conteudo .erro-404__bloco ul { margin: 0; padding: 0; list-style: none; }
.erro-404__bloco li { margin: 0; padding: 8px 0; border-top: 1px solid var(--ufpr-borda); }
.erro-404__bloco li:first-child { border-top: 0; padding-top: 0; }
.erro-404__bloco .post-data { display: block; font-size: 0.85em; color: var(--ufpr-texto-suave); }
.erro-404__bloco .erro-404__aviso { margin: 14px 0 0; padding-top: 12px; border-top: 1px solid var(--ufpr-borda); }

/* ----------------------------------------- */
/* 10. BARRA LATERAL (WIDGETS)               */
/* ----------------------------------------- */
#wp-block-categories-1 { height: 45px; padding: 6px 40px; border: 1px solid var(--ufpr-borda-campo); margin: 0; font-size: 15px; font-family: inherit; color: var(--ufpr-texto); background-color: var(--ufpr-superficie); border-radius: var(--ufpr-raio-sm); }
.coluna-lateral { border: none; margin: 0; }
.coluna-lateral .row { margin: 0; }
.sidebar-widget { margin: 0 0 2rem; font-size: 0.95em; }
.sidebar-widget .widgettitle, .sidebar-widget h2, .sidebar-widget .wp-block-heading, .sidebar-widget .wp-block-search__label { display: block; font-size: 1.1em; font-weight: 700; color: var(--ufpr-titulo); margin: 0 0 0.6em; padding-bottom: 0.4em; border-bottom: 2px solid var(--ufpr-azul-suave); line-height: 1.3; }
/* Listas de links dos widgets: sem marcador, com linha entre os itens */
#conteudo .coluna-lateral ul { margin: 0; padding: 0; list-style: none; }
#conteudo .coluna-lateral li { margin: 0; padding: 0.45em 0; border-bottom: 1px solid var(--ufpr-borda); line-height: 1.4; }
#conteudo .coluna-lateral li:last-child { border-bottom: 0; }
#conteudo .coluna-lateral li a { text-decoration: none; }
#conteudo .coluna-lateral li a:hover { text-decoration: underline; }
#conteudo .coluna-lateral li ul { margin: 0.4em 0 0 1em; }
/* Bloco de busca nos widgets: mesmo visual da busca do cabeçalho */
.wp-block-search__inside-wrapper { display: flex; gap: 6px; }
.wp-block-search__input { flex: 1 1 auto; min-width: 0; height: 42px; margin: 0; padding: 0 12px; border: 1px solid var(--ufpr-borda-campo); border-radius: var(--ufpr-raio-sm); background-color: var(--ufpr-superficie); color: var(--ufpr-texto); font: inherit; box-shadow: none; }
.wp-block-search .wp-block-search__button { height: 42px; padding: 0 14px; }

/* ----------------------------------------- */
/* 11. RODAPÉ                                */
/* ----------------------------------------- */
/* Três faixas (footer.php): links (widgets), informações e créditos. */
.rodape { background-color: var(--ufpr-rodape-fundo); color: var(--ufpr-rodape-texto); font-size: 0.95rem; line-height: 1.5; }
.rodape a, .rodape a:visited { color: var(--ufpr-rodape-link); text-decoration: none; }
.rodape a:hover { color: var(--ufpr-rodape-texto); text-decoration: underline; }
.rodape a[href^="mailto:"]::after { display: none; }
.rodape p { margin: 0; }
.rodape__container { max-width: 81rem; margin: 0 auto; padding: 0 var(--ufpr-margem); box-sizing: border-box; }

/* Faixa 1: colunas de links (widgets "Rodapé: coluna 1–4") */
.rodape__links { padding: 32px 0 8px; border-bottom: 1px solid var(--ufpr-rodape-borda); }
.rodape__colunas { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 8px 32px; }
.colunas_de_links { color: var(--ufpr-rodape-link); font-size: 0.9rem; margin: 0 0 24px; }
.colunas_de_links h2, .colunas_de_links .widgettitle, .colunas_de_links .wp-block-heading { margin: 0 0 0.7em; padding-bottom: 0.5em; border-bottom: 1px solid var(--ufpr-rodape-borda); color: var(--ufpr-rodape-texto); font-size: 0.85rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.06em; }
.colunas_de_links ul { list-style: none; margin: 0; padding: 0; }
.colunas_de_links ul li { list-style-type: none; margin: 0; padding: 0.25em 0; }
.colunas_de_links a { line-height: 1.4; }
.colunas_de_links h2 a, .colunas_de_links h2 a:visited { color: inherit; line-height: inherit; }
.colunas_de_links a[aria-current="page"] { color: var(--ufpr-rodape-texto); font-weight: 700; }

/* Faixa 2: informações */
.rodape__principal { padding: 32px 0; }
.rodape__grade { display: grid; grid-template-columns: 1fr; gap: 28px; align-items: start; }
.rodape__unidade { margin-bottom: 4px !important; color: var(--ufpr-rodape-suave); font-size: 0.85rem; font-weight: 600; text-transform: uppercase; letter-spacing: 0.06em; }
.rodape__nome { margin-bottom: 16px !important; color: var(--ufpr-rodape-texto); font-size: 1.3rem; font-weight: 700; line-height: 1.3; }
.rodape__contato { display: flex; flex-direction: column; gap: 8px; font-style: normal; }
.rodape__item { display: flex; align-items: flex-start; gap: 10px; }
.rodape__item .icone { flex: none; width: 1.1em; height: 1.1em; margin-top: 0.2em; color: var(--ufpr-rodape-suave); }
.rodape__item-nota { color: var(--ufpr-rodape-suave); font-size: 0.9em; }

/* Blocos da faixa azul (área de widgets "Rodapé: faixa azul (blocos)"). Cada
   bloco é uma coluna; as colunas se ajustam à largura disponível. */
.rodape__grade--blocos .rodape__identidade { grid-area: identidade; }
.rodape__grade--blocos .rodape__blocos { grid-area: blocos; }
.rodape__grade--blocos .rodape__lateral { grid-area: lateral; }
.rodape__grade--blocos { grid-template-areas: "identidade" "blocos" "lateral"; }
.rodape__blocos { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 14rem), 1fr)); gap: 24px 32px; align-items: start; min-width: 0; }
.rodape__bloco { min-width: 0; color: var(--ufpr-rodape-link); font-size: 0.92rem; }
.rodape__bloco > :first-child { margin-top: 0; }
.rodape__bloco > :last-child { margin-bottom: 0; }
.rodape__bloco p, .rodape__bloco ul, .rodape__bloco ol, .rodape__bloco figure, .rodape__bloco .wp-block-buttons, .rodape__bloco table { margin: 0 0 0.85em; }
.rodape__bloco p:last-child, .rodape__bloco ul:last-child, .rodape__bloco ol:last-child { margin-bottom: 0; }
.rodape__bloco-titulo, .rodape__bloco h2, .rodape__bloco h3, .rodape__bloco h4, .rodape__bloco h5, .rodape__bloco h6 { margin: 0 0 0.7em; color: var(--ufpr-rodape-texto); font-size: 0.85rem; font-weight: 700; line-height: 1.3; text-transform: uppercase; letter-spacing: 0.06em; }
.rodape__bloco ul, .rodape__bloco ol { padding-left: 1.2em; }
.rodape__bloco ul { list-style: disc; }
.rodape__bloco li { margin: 0 0 0.3em; }
.rodape__bloco li::marker { color: var(--ufpr-rodape-suave); }
.rodape__bloco ul.wp-block-social-links, .rodape__bloco .wp-block-navigation ul, .rodape__bloco .wp-block-page-list { padding-left: 0; list-style: none; }
.rodape__bloco p a, .rodape__bloco li a, .rodape__bloco td a { text-decoration: underline; text-underline-offset: 2px; }
.rodape__bloco img { max-width: 100%; height: auto; border-radius: var(--ufpr-raio-sm); }
.rodape__bloco iframe, .rodape__bloco video { max-width: 100%; }
.rodape__bloco figcaption { color: var(--ufpr-rodape-suave); font-size: 0.85em; }
.rodape__bloco hr, .rodape__bloco .wp-block-separator { margin: 1em 0; border: 0; border-top: 1px solid var(--ufpr-rodape-borda); background: none; opacity: 1; }
.rodape__bloco .wp-block-columns { gap: 16px 24px; margin: 0 0 0.85em; }
.rodape__bloco .wp-block-group.has-background, .rodape__bloco p.has-background { padding: 12px 16px; border-radius: var(--ufpr-raio); }
.rodape__bloco table { width: 100%; border-collapse: collapse; background: transparent; color: inherit; }
.rodape__bloco th, .rodape__bloco td { padding: 6px 8px; border: 1px solid var(--ufpr-rodape-borda); background: transparent; color: inherit; text-align: left; }
.rodape__bloco blockquote { margin: 0 0 0.85em; padding: 0 0 0 1em; color: inherit; }
.rodape__bloco .wp-block-button__link, .rodape__bloco .wp-element-button { display: inline-flex; align-items: center; padding: 0.55em 1.1em; border: 2px solid var(--ufpr-rodape-texto); border-radius: var(--ufpr-raio-sm); background-color: var(--ufpr-rodape-texto); color: var(--ufpr-rodape-fundo) !important; font-size: 0.92rem; font-weight: 600; line-height: 1.2; text-decoration: none; }
.rodape__bloco .wp-block-button__link:hover, .rodape__bloco .wp-element-button:hover { background-color: transparent; color: var(--ufpr-rodape-texto) !important; text-decoration: none; }
.rodape__bloco .is-style-outline > .wp-block-button__link { background-color: transparent; color: var(--ufpr-rodape-texto) !important; }
.rodape__bloco .is-style-outline > .wp-block-button__link:hover { background-color: var(--ufpr-barra-realce); }
.rodape__bloco input:not([type="submit"]):not([type="button"]) { max-width: 100%; }
.rodape__lateral { display: flex; flex-direction: column; align-items: flex-start; gap: 20px; }
.rodape__redes ul { display: flex; flex-wrap: wrap; gap: 10px; margin: 0; padding: 0; list-style: none; }
.rodape__redes a { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; border: 1px solid var(--ufpr-rodape-borda); border-radius: 50%; color: var(--ufpr-rodape-texto) !important; transition: background-color 0.15s ease, border-color 0.15s ease; }
.rodape__redes a:hover { background-color: var(--ufpr-barra-realce); border-color: var(--ufpr-rodape-texto); text-decoration: none; }
.rodape__redes .icon-rede { width: 20px; height: 20px; fill: currentColor; }
.rodape__logo { display: inline-block; }
.rodape__logo img { display: block; width: 150px; max-width: 100%; height: auto; }

/* Faixa 3: créditos */
.rodape__creditos { padding: 14px 0; border-top: 1px solid var(--ufpr-rodape-borda); color: var(--ufpr-rodape-suave); font-size: 0.82rem; }
.rodape__creditos-grade { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px 24px; }
.rodape__creditos-texto { display: flex; flex-wrap: wrap; gap: 2px 14px; }
.rodape__uteis { display: flex; flex-wrap: wrap; gap: 4px 18px; margin: 0; padding: 0; list-style: none; }

/* ----------------------------------------- */
/* 12. MAPA DO SITE                          */
/* ----------------------------------------- */
.mapa-site__intro { margin: -0.4em 0 1.5em; color: var(--ufpr-texto-suave); max-width: 50em; }
.mapa-site__filtro { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 16px; margin: 0 0 28px; padding: 14px 16px; background-color: var(--ufpr-azul-suave); border-radius: var(--ufpr-raio); }
.mapa-site__filtro[hidden] { display: none; }
.mapa-site__filtro label { margin: 0; font-weight: 700; font-size: 0.9rem; color: var(--ufpr-titulo); }
.mapa-site__filtro input[type="search"] { flex: 1 1 200px; min-width: 0; max-width: 420px; height: 42px; margin: 0; padding: 0 12px; border: 1px solid var(--ufpr-borda-campo); border-radius: var(--ufpr-raio-sm); background-color: var(--ufpr-superficie); color: var(--ufpr-texto); font: inherit; box-shadow: none; }
.mapa-site__contagem { margin: 0; font-size: 0.9rem; color: var(--ufpr-texto-suave); }
.mapa-site__grade { display: grid; grid-template-columns: 1fr; gap: 24px; align-items: start; }
.mapa-site__secao { padding: 22px 24px; background-color: var(--ufpr-superficie); border: 1px solid var(--ufpr-borda); border-radius: var(--ufpr-raio); }
.mapa-site__secao[hidden] { display: none; }
.mapa-site__secao h2 { display: flex; align-items: center; gap: 10px; margin: 0 0 14px; padding-bottom: 10px; border-bottom: 2px solid var(--ufpr-azul-suave); font-size: 1.15em; }
.mapa-site__secao h2 .icone { color: var(--ufpr-destaque); width: 1.1em; height: 1.1em; }
.mapa-site__secao--paginas { grid-row: span 3; }
#conteudo .mapa-site ul { margin: 0; padding: 0; list-style: none; }
#conteudo .mapa-site li { margin: 0; line-height: 1.35; }
#conteudo .mapa-site .mapa-site__arvore li { padding: 5px 0; }
#conteudo .mapa-site .mapa-site__arvore ul { margin: 5px 0 0 0.6rem; padding-left: 0.9rem; border-left: 2px solid var(--ufpr-borda); }
.mapa-site a, .mapa-site a:visited { color: var(--ufpr-azul-link); text-decoration: none; }
.mapa-site a:hover { color: var(--ufpr-azul-link-hover); text-decoration: underline; }
.mapa-site__arvore > li > a { font-weight: 600; color: var(--ufpr-titulo-forte); }
.mapa-site__qtd { margin-left: 6px; padding: 0 7px; border-radius: 999px; background-color: var(--ufpr-azul-suave); color: var(--ufpr-azul-medio); font-size: 0.78em; font-weight: 600; white-space: nowrap; }
#conteudo .mapa-site__etiquetas, #conteudo .post-tags__lista { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; padding: 0; list-style: none; }
#conteudo .mapa-site__etiquetas li, #conteudo .post-tags__lista li { padding: 0; margin: 0; }
.mapa-site__etiquetas a, .mapa-site__etiquetas a:visited, .post-tags__lista a, .post-tags__lista a:visited { display: inline-flex; align-items: center; padding: 4px 10px; border: 1px solid var(--ufpr-borda-campo); border-radius: 999px; font-size: 0.9em; }
.mapa-site__etiquetas a:hover, .post-tags__lista a:hover { background-color: var(--ufpr-azul-suave); text-decoration: none; }
/* Tags do post, depois do conteúdo */
.post-tags { margin: 2em 0 1em; padding-top: 1.25em; border-top: 1px solid var(--ufpr-borda); }
#conteudo .post-tags__titulo { display: flex; align-items: center; gap: 8px; margin: 0 0 0.75em; font-size: 1rem; color: var(--ufpr-titulo); }
/* Legenda da galeria clássica ([gallery]) */
.gallery-caption { display: block; margin-top: 0.4em; font-size: 0.85em; color: var(--ufpr-texto-suave); }
.mapa-site__recentes li { padding: 6px 0; border-top: 1px solid var(--ufpr-borda); }
.mapa-site__recentes li:first-child { border-top: 0; padding-top: 0; }
.mapa-site__recentes time { display: block; font-size: 0.82em; color: var(--ufpr-texto-suave); }
.mapa-site__recentes a, .mapa-site__recentes a:visited { text-decoration: underline; text-underline-offset: 0.15em; }
.mapa-site__vazio { margin: 0; color: var(--ufpr-texto-suave); font-style: italic; }
.mapa-site__nenhum { margin: 0 0 24px; }
.mapa-site [data-mapa-oculto] { display: none !important; }

/* Modelos institucionais (inc/pagina-modelo.php): Sobre o site, Privacidade,
   Termos de uso e Site em atualização */
.pagina-modelo__situacao p { margin: 0 0 0.4em; }
.pagina-modelo__situacao p:last-child { margin-bottom: 0; }
.pagina-modelo__nota { background-color: var(--ufpr-aviso-fundo); color: var(--ufpr-aviso-texto); font-size: 0.9em; }
.pagina-modelo__busca { max-width: 640px; margin: 1.5em 0 0; }
.sobre-site { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 20rem), 1fr)); gap: 24px; align-items: start; margin: 2em 0 0; }
.sobre-site__bloco { padding: 22px 24px; background-color: var(--ufpr-superficie); border: 1px solid var(--ufpr-borda); border-radius: var(--ufpr-raio); }
.sobre-site__bloco h2 { display: flex; align-items: center; gap: 10px; margin: 0 0 14px; padding-bottom: 10px; border-bottom: 2px solid var(--ufpr-azul-suave); font-size: 1.15em; }
.sobre-site__bloco h2 .icone { color: var(--ufpr-destaque); width: 1.1em; height: 1.1em; }
.sobre-site__bloco p { margin: 0 0 10px; font-size: 0.95em; }
.sobre-site__bloco p:last-child { margin-bottom: 0; }
.sobre-site__bloco ul, #conteudo .sobre-site__bloco ul { margin: 0; padding: 0; list-style: none; font-size: 0.95em; }
.sobre-site__bloco li { margin: 0; padding: 7px 0; border-top: 1px solid var(--ufpr-borda); }
.sobre-site__bloco li:first-child { border-top: 0; padding-top: 0; }

/* Comentários (comments.php): só com a opção "Desativar todos os comentários" desmarcada */
.comentarios { margin: 3em 0 0; padding-top: 1.5em; border-top: 1px solid var(--ufpr-borda); }
.comentarios__titulo { margin: 0 0 0.8em; font-size: 1.3em; color: var(--ufpr-titulo); }
.comentarios__lista, .comentarios__lista .children { margin: 0; padding: 0; list-style: none; }
.comentarios__lista .children { margin-left: 1.5rem; padding-left: 1rem; border-left: 2px solid var(--ufpr-azul-suave); }
.comentarios__lista .comment-body { margin: 0 0 1em; padding: 16px 18px; background: var(--ufpr-superficie); border: 1px solid var(--ufpr-borda); border-radius: var(--ufpr-raio); }
/* Comentário do autor do post (classe .bypostauthor, do WordPress) */
.comentarios__lista .bypostauthor > .comment-body { background: var(--ufpr-azul-suave); border-color: var(--ufpr-destaque); }
.comentarios__lista .comment-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 12px; margin-bottom: 8px; font-size: 0.9em; color: var(--ufpr-texto-suave); }
.comentarios__lista .comment-author { display: flex; align-items: center; gap: 10px; color: var(--ufpr-texto); }
.comentarios__lista .comment-author cite { color: var(--ufpr-texto); font-style: normal; font-weight: 700; }
.comentarios__lista .comment-author cite::before { content: none; }
.comentarios__lista .says { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.comentarios__lista .comment-metadata a { color: var(--ufpr-texto-suave); }
.comentarios__lista .reply { margin-top: 8px; font-size: 0.9em; font-weight: 600; }
.comentarios__form { margin-top: 1.5em; }
.comentarios__form label { display: block; margin-bottom: 4px; color: var(--ufpr-texto); font-weight: 600; }
.comentarios__form input[type="text"], .comentarios__form input[type="email"], .comentarios__form input[type="url"], .comentarios__form textarea { width: 100%; max-width: 40rem; padding: 0.55em 0.75em; border: 1px solid var(--ufpr-borda-campo); border-radius: var(--ufpr-raio-sm); background: var(--ufpr-superficie); color: var(--ufpr-texto); font: inherit; box-sizing: border-box; }
.comentarios__form .comment-form-cookies-consent label { display: inline; font-weight: 400; }
.comentarios__form p { margin: 0 0 1em; }

/* ----------------------------------------- */
/* 13. RESPONSIVIDADE                        */
/* ----------------------------------------- */

/* Até 1023px: celular e tablet. Sem barra de topo: os atalhos "Ir para…"
   saem da vista, mas continuam no HTML (leitores de tela e Alt + 1…4) e a barra
   reaparece se alguém chegar a ela pelo Tab; "Mapa do site" fica no rodapé e
   "Tema" vai para o cabeçalho. Cabeçalho compacto: logos à esquerda; lupa,
   Tema e menu como ícones discretos (44 px, sem borda nem fundo) à direita.
   O botão do menu fica em #navegacao e é posicionado sobre o cabeçalho. Sem
   JavaScript, a busca e o menu aparecem abertos e o Tema some (depende do JS). */
@media screen and (max-width: 1023px) {
    #barra-topo { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; border: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
    #barra-topo:focus-within { position: static; width: 100%; height: auto; margin: 0; padding: 8px 0; overflow: visible; clip-path: none; white-space: normal; }
    #barra-utilidades { display: none; }
    .menu-item-home { display: none; }

    .header-container { flex-wrap: wrap; gap: 12px; padding: 12px var(--ufpr-margem); }
    .header-branding { flex: 1 1 auto; min-width: 0; justify-content: flex-start; gap: 12px; flex-wrap: wrap; }
    .ufpr-logo img { height: 44px; max-height: 44px; }
    .lab-logo img { max-height: 44px; }
    /* Com o logo do laboratório, o nome sai da vista (continua para leitores de tela e como título da página inicial) */
    .header-branding--com-logo { flex-wrap: nowrap; }
    .header-branding--com-logo .lab-logo { flex: 0 1 auto; min-width: 0; }
    .lab-logo img { max-width: 100%; }
    .header-branding--com-logo .lab-name { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; border: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
    .lab-name { flex: 1 1 100%; text-align: left; }
    .lab-name__titulo { font-size: 1.05rem; }
    .header-search { flex: 1 1 100%; min-width: 0; max-width: none; }
    #navegacao { padding: 0; border-top: 0; }

    .js .header-container { display: grid; grid-template-columns: minmax(0, 1fr) 140px; align-items: center; }
    .js .header-branding { grid-column: 1; min-height: 44px; }
    .js .header-search { display: none; grid-column: 1 / -1; }
    .js .header-search.busca-aberta { display: block; }
    .js #navegacao { position: static; }
    .no-js .theme-menu--cabecalho { display: none; }
    .js .busca-botao, .theme-menu--cabecalho, .js .title-bar { position: absolute; top: 12px; }
    /* Caixas de toque de 44 px; o desenho de cada ícone (≈20 px) termina na margem única */
    .js .busca-botao { right: calc(var(--ufpr-margem) + 76px); }
    .theme-menu--cabecalho { right: calc(var(--ufpr-margem) + 32px); }
    .js .title-bar { right: calc(var(--ufpr-margem) - 12px); background: transparent; }
    .js .busca-botao, .tema-botao, .js .title-bar__botao { display: inline-flex; align-items: center; justify-content: center; box-sizing: border-box; width: 44px; height: 44px; margin: 0; padding: 0; border: 0; border-radius: var(--ufpr-raio-sm); background: transparent; color: var(--ufpr-titulo-forte); cursor: pointer; }
    .js .busca-botao:hover, .tema-botao:hover, .js .title-bar__botao:hover, .js .busca-botao[aria-expanded="true"], .theme-menu--cabecalho[open] > .tema-botao, .js .title-bar__botao[aria-expanded="true"] { color: var(--ufpr-destaque); }
    .js .busca-botao .icone { width: 1.35rem; height: 1.35rem; stroke-width: 2.2; }
    .tema-botao .icon { width: 1.4rem; height: 1.4rem; }
    .js .title-bar-title { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; border: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
    .js .title-bar .menu-icon { position: relative; width: 20px; height: 14px; }
    .js .title-bar .menu-icon::after, .js .title-bar .menu-icon::before { content: ""; position: absolute; left: 0; top: 0; width: 100%; height: 2px; border-radius: 1px; background: currentColor; }
    .js .title-bar .menu-icon::after { box-shadow: 0 6px 0 currentColor, 0 12px 0 currentColor; }
    .js .title-bar .menu-icon::before { display: none; }
    /* Menu aberto: as três linhas viram um X */
    .js .title-bar__botao[aria-expanded="true"] .menu-icon::after { top: 6px; box-shadow: none; transform: rotate(45deg); }
    .js .title-bar__botao[aria-expanded="true"] .menu-icon::before { display: block; top: 6px; transform: rotate(-45deg); }
    .js .title-bar :focus-visible { outline-color: var(--ufpr-foco); }

    #navegacao-celular { clear: inherit; color: var(--ufpr-barra-texto); text-align: left; font-weight: 900; }
    #navegacao-celular ul li { display: block; border: none; padding: 0; }
    #navegacao-celular ul li a { color: var(--ufpr-barra-texto); padding: 10px 15px; margin: 0; box-sizing: border-box; text-decoration: none; display: block; min-width: 100%; border-bottom: 1px solid var(--ufpr-barra-divisor); }
    /* Menu na largura toda (o Foundation faz a coluna flutuar com largura automática
       a partir de 640 px) e com o texto dos itens na margem única */
    #navegacao-celular { padding: 8px calc(var(--ufpr-margem) - 15px); }
    #navegacao-celular .top-bar-left { float: none; width: 100%; }
}
/* A busca e o menu deslizam ao aparecer */
@media screen and (max-width: 1023px) and (prefers-reduced-motion: no-preference) {
    .js .header-search.busca-aberta, .js #navegacao-celular.menu-aberto { animation: wpufpr-deslizar 0.22s ease-out; }
}
@keyframes wpufpr-deslizar { from { opacity: 0; transform: translateY(-8px); } to { opacity: 1; transform: none; } }

/* Até 639px: celular */
@media screen and (max-width: 639px) {
    .erro-404__codigo { font-size: 4em; }
    .erro-404__topo { padding-bottom: 28px; }
    .rodape__colunas { grid-template-columns: repeat(2, 1fr); gap: 0 20px; }
    .rodape__creditos-grade { flex-direction: column; align-items: flex-start; }
    #conteudo .listagem { margin: 1em 0; padding: 0; display: block; }
    #conteudo { padding: 30px 0; }
    .trilha { padding-top: 16px; font-size: 0.82rem; }
    .post-content { padding-bottom: 30px; }
    .small-12.medium-9.columns { min-width: 100% !important; margin: 0 auto; box-sizing: border-box; }
    .coluna-lateral { margin-top: 2rem; }

    /* Cartão horizontal vira vertical, com a imagem no topo */
    .horizontal-card .card-image { order: -1; flex: none; min-height: 150px; border-bottom: 1px solid var(--ufpr-borda); }
    .horizontal-card .card-image--padrao { border-left: 0; }
    .horizontal-card .card-title { font-size: 1.2rem; }
    .welcome-box { padding: 20px 22px; margin-bottom: 30px; }
    .welcome-box__texto { font-size: 1.2rem; }
    .titulo-secao { font-size: 1.4em; }
    h1.page-title, .erro-404__titulo { font-size: 1.65em; }
    .horizontal-card.archive-post.std { flex-direction: column; flex-wrap: nowrap; }
    .horizontal-card .card-content { flex: none; padding: 18px 20px 20px; }
    .welcome-box { border-left-width: 0px; }

    /* Equipe: cartão do membro com a foto pequena ao lado do nome */
    .equipe__grade { gap: 16px; }
    .membro { flex-direction: row; align-items: flex-start; }
    .membro__foto { flex: none; width: 88px; margin: 16px 0 16px 16px; border-radius: var(--ufpr-raio-sm); }
    .membro__texto { padding: 16px; }

    /* Filtro compacto: só os campos e o botão. Os rótulos ("Exibir:", "Ordenar
       por:") saem da vista, mas continuam ligados aos campos para leitores de tela */
    .filtro-ordenacao { gap: 8px; padding: 16px; }
    .filtro-ordenacao__campo { flex: 1 1 170px; min-width: 0; }
    .filtro-ordenacao label { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; border: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
    .filtro-ordenacao select { flex: 1 1 auto; min-width: 0; min-height: 44px; padding-right: 32px; background-position: right 10px center; text-overflow: ellipsis; }
    .filtro-ordenacao__botao.button { flex: 1 0 auto; min-height: 44px; }

}

/* Até 599px: "Universidade Federal do Paraná" sai da vista no cabeçalho (o logo
   da UFPR já diz o nome); continua para leitores de tela. */
@media screen and (max-width: 599px) {
    .lab-name__universidade { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; border: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
}
/* Modelo "Acesso rápido (links)" no celular (até 629 px): fundo em degradê suave do azul
   ao rosa, cabeçalho no tom azul e linhas em degradê sob o cabeçalho e sobre o rodapé.
   Os botões em degradê estão em css/padroes.css. As variáveis de papel recebem as
   --ufpr-acesso-*, que o tema escuro e o alto contraste redefinem. */
@media screen and (max-width: 629px) {
    .wpufpr-acesso-rapido { --ufpr-fundo-cabecalho: var(--ufpr-acesso-fundo-1); --ufpr-azul-acinzentado: var(--ufpr-azul-medio); } /* rótulo da UFPR com 4,5 : 1 ou mais sobre o fundo azul claro */
    .wpufpr-acesso-rapido #topo { border-bottom: 4px solid var(--ufpr-acesso-cor-1); border-image: linear-gradient(90deg, var(--ufpr-acesso-cor-1), var(--ufpr-acesso-detalhe)) 1; }
    .wpufpr-acesso-rapido #conteudo-principal { background-color: var(--ufpr-acesso-fundo-2); background-image: linear-gradient(180deg, var(--ufpr-acesso-fundo-1) 0%, var(--ufpr-acesso-fundo-2) 100%); }
    .wpufpr-acesso-rapido #conteudo { padding-bottom: 32px; }
    .wpufpr-acesso-rapido h1.page-title { margin-bottom: 0.5em; color: var(--ufpr-titulo-forte); }
    .wpufpr-acesso-rapido #rodape-principal { border-top: 4px solid var(--ufpr-acesso-detalhe); border-image: linear-gradient(90deg, var(--ufpr-acesso-detalhe), var(--ufpr-acesso-cor-1)) 1; }
}

@media screen and (max-width: 399px) {
    .rodape__colunas { grid-template-columns: 1fr; }
    /* Logos menores, para caberem numa linha ao lado dos ícones */
    .ufpr-logo img { height: 40px; max-height: 40px; }
    .lab-logo img { max-height: 40px; }
}

/* Até 359 px (celulares de 320 px): com o logo do laboratório, só ele fica no
   cabeçalho; o logo da UFPR sai (os dois não cabem lado a lado com os ícones). */
@media screen and (max-width: 359px) {
    .header-branding--com-logo .ufpr-logo { display: none; }
}

/* A partir de 768px: no carrossel, imagem e texto lado a lado */
@media screen and (min-width: 768px) {
    .destaques--carrossel .destaque { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); }
    .destaques--carrossel .destaque__imagem { aspect-ratio: auto; min-height: 280px; }
    .destaques--carrossel .destaque__imagem--padrao { border-right: 1px solid var(--ufpr-borda); border-bottom: 0; }
    .destaques--carrossel .destaque__texto { padding: 28px 30px; justify-content: center; }
}

/* 640px a 1023px: tablet */
@media screen and (min-width: 640px) and (max-width: 1023px) {
    .posts-grid { grid-template-columns: repeat(2, 1fr); gap: 20px; }
    .erro-404__grade, .mapa-site__grade { grid-template-columns: repeat(2, 1fr); }
    .rodape__grade { grid-template-columns: 1fr auto; }
    .rodape__lateral { align-items: flex-end; }
    .rodape__grade--blocos { grid-template-areas: "identidade lateral" "blocos blocos"; }
    .coluna-lateral { padding-right: 1.5rem; }
}

/* Desktop: o menu horizontal com a margem única. A borda (o fundo ao passar o
   mouse) do primeiro e do último item é que encosta nos limites, alinhada ao
   logo e à busca; os itens mantêm o padding interno. */
@media screen and (min-width: 1024px) {
    #navegacao { padding: 0 var(--ufpr-margem); border-top: 0; }
    #navegacao-principal { border-top: 1px solid var(--ufpr-linha-menu); padding-top: 5px; }
}

/* A partir de 1024px: desktop */
@media screen and (min-width: 1024px) {
    .posts-grid { grid-template-columns: repeat(3, 1fr); gap: 28px; }
    .erro-404__grade { grid-template-columns: repeat(2, 1fr); }
    .mapa-site__grade { grid-template-columns: repeat(3, 1fr); }
    .rodape__grade { grid-template-columns: 1fr auto; }
    .rodape__lateral { align-items: flex-end; }
    .rodape__grade--blocos { grid-template-areas: "identidade lateral" "blocos blocos"; }
    .coluna-lateral { padding-right: 2rem; }
}

/* A partir de 1280px: os blocos da faixa azul ficam entre o endereço e as redes */
@media screen and (min-width: 1280px) {
    .rodape__grade--blocos { grid-template-columns: minmax(17rem, 1fr) minmax(0, 2fr) auto; grid-template-areas: "identidade blocos lateral"; column-gap: 40px; }
}

/* ==========================================================================
   14. TEMA ESCURO — html[data-theme="dark"] (definido por js/tema.js)
   Só na tela: a impressão sempre usa a paleta clara.
   O alto contraste é uma folha à parte (css/contraste.css).
   ========================================================================== */
@media screen {
    :root[data-theme="dark"] {
        color-scheme: dark;
        --ufpr-fundo: #1a1f26;
        --ufpr-superficie: #23282f;
        --ufpr-texto: #e5e5e5;           /* 13,3 : 1 sobre o fundo */
        --ufpr-texto-suave: #b3b8c2;     /* 8,2 : 1 */
        --ufpr-borda: #343a45;
        --ufpr-borda-campo: #8b95a7;
        --ufpr-zebra: #262b33;
        --ufpr-marca-fundo: #5c4d2a;
        --ufpr-linha-menu: #343a45;
        --ufpr-titulo: #ffffff;
        --ufpr-titulo-forte: #dbe6f7;
        --ufpr-azul-link: #aec3ea;
        --ufpr-azul-link-hover: #d6e2f6;
        --ufpr-azul-visitado: #c5bdea;
        --ufpr-destaque: #6fb6ef;
        --ufpr-azul-suave: #2a3038;
        --ufpr-azul-medio: #aec3ea;
        --ufpr-azul-acinzentado: #a9b9d6;
        --ufpr-fundo-cabecalho: #1e242c;
        --ufpr-azul: #3d5a8c;            /* fundo de botões (texto branco 6,9 : 1) */
        --ufpr-azul-escuro: #2c4a7a;     /* barra de busca, menus */
        --ufpr-barra-fundo: #1f3a63;
        --ufpr-rodape-fundo: #1d2c44;
        --ufpr-rodape-borda: #34496b;
        --ufpr-aviso-fundo: #3a3220;
        --ufpr-aviso-borda: #5c4d2a;
        --ufpr-aviso-texto: #fcd34d;
        --ufpr-sucesso-fundo: #1e3a29;
        --ufpr-sucesso-texto: #9be0b0;   /* 8,1 : 1 */
        --ufpr-sucesso-borda: #2f5a3e;
        --ufpr-info-fundo: #1f2f44;
        --ufpr-info-borda: #34507a;
        --ufpr-info-texto: #a9cdf5;      /* 8,2 : 1 */
        --ufpr-erro-fundo: #3d2224;
        --ufpr-erro-borda: #6b3437;
        --ufpr-erro-texto: #f7b0ae;      /* 8,1 : 1 */
        --ufpr-acesso-cor-1: #2c4f86;    /* degradê dos botões do Acesso rápido (texto branco 8,2 : 1) */
        --ufpr-acesso-cor-2: #a8437a;    /* texto branco 5,6 : 1 */
        --ufpr-acesso-detalhe: #e48bbb;
        --ufpr-acesso-fundo-1: #1b222d;  /* fundo do celular no Acesso rápido (texto 12,7 : 1 ou mais) */
        --ufpr-acesso-fundo-2: #261c26;
        --ufpr-sombra-leve: 0 1px 3px rgba(0, 0, 0, 0.35);
        --ufpr-sombra: 0 6px 16px rgba(0, 0, 0, 0.45);
        --ufpr-sombra-menu: 0 14px 34px rgba(0, 0, 0, 0.5);
    }

    /* Logos com texto escuro ficam sobre uma base branca */
    [data-theme="dark"] .header-branding .ufpr-logo img, [data-theme="dark"] .header-branding .lab-logo img { background: #fff; padding: 4px; border-radius: 6px; }
    /* Ícones em SVG de cor fixa */
    [data-theme="dark"] a[href^="mailto:"]::after, [data-theme="dark"] .small-12.medium-9.large-9.columns a[href^="http"]::after { filter: invert(1) brightness(1.6); }
    [data-theme="dark"] img[src*="capa-padrao"] { filter: invert(0.88) hue-rotate(180deg); }
    [data-theme="dark"] .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='%23e5e5e5' 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"); }

    /* Elementos do Foundation e do conteúdo com cores fixas */
    [data-theme="dark"] input:not([type="submit"]):not([type="button"]):not(.search-field), [data-theme="dark"] textarea, [data-theme="dark"] select { background-color: var(--ufpr-superficie); color: var(--ufpr-texto); border-color: var(--ufpr-borda-campo); }
    [data-theme="dark"] label, [data-theme="dark"] legend { color: var(--ufpr-texto); }
    [data-theme="dark"] input::placeholder, [data-theme="dark"] textarea::placeholder { color: var(--ufpr-texto-suave); }
    [data-theme="dark"] thead, [data-theme="dark"] tfoot, [data-theme="dark"] tbody, [data-theme="dark"] table { background-color: var(--ufpr-superficie); color: var(--ufpr-texto); border-color: var(--ufpr-borda); }
    [data-theme="dark"] mark { color: var(--ufpr-texto); }
}

/* ==========================================================================
   15. IMPRESSÃO
   ========================================================================== */
@page { size: A4; margin: 1.8cm; }

@media print {
    * { background: transparent !important; color: #000 !important; box-shadow: none !important; text-shadow: none !important; filter: none !important; }
    html, body { background: #fff !important; }
    body { font-family: Georgia, "Times New Roman", serif !important; font-size: 12pt; line-height: 1.5; margin: 0; padding: 0; }
    /* Navegação e interação não vão para o papel */
    #barra-topo, #navegacao, .title-bar, .top-bar, .header-search, .busca-botao, .coluna-lateral, #rodape-links, .trilha, .destaques__controles, .destaque__imagem, .paginacao, .wp-pagenavi, .veja_mais, .button, .filtro-ordenacao, .rodape__creditos, .aviso-topo, .rodape__logo, .rodape__redes, .editar-post, .erro-404__busca, .theme-menu, .barra-util, .mapa-site__filtro, .submenu-toggle { display: none !important; }
    main, .content, #conteudo, .columns, .small-12.medium-9.columns, .small-12.columns { width: 100% !important; max-width: 100% !important; margin: 0 !important; padding: 0 !important; float: none !important; left: auto !important; right: auto !important; position: static !important; }
    #conteudo { min-height: 0 !important; font-size: 100%; }
    h1, h2, h3, h4, h5, h6 { break-after: avoid; page-break-after: avoid; break-inside: avoid; page-break-inside: avoid; margin-bottom: 0.5em; }
    p, li, h2, h3 { orphans: 3; widows: 3; }
    a, a:visited { text-decoration: underline !important; }
    /* O Foundation imprime o endereço de todo link; aqui só os externos do texto do conteúdo */
    a[href]::after, abbr[title]::after { content: none; }
    .entry-content a[href^="http"]::after { content: " (" attr(href) ")"; font-size: 0.85em; word-wrap: break-word; }
    a[href^="mailto:"]::after, .small-12.medium-9.large-9.columns a[href^="http"]::after { background: none !important; width: auto; height: auto; }
    img, figure, table, pre, blockquote { max-width: 100% !important; break-inside: avoid; page-break-inside: avoid; }
    img { height: auto !important; }
    table, th, td { border: 1px solid #999 !important; }
    /* Logos e a capa padrão impressos no tamanho certo */
    .ufpr-logo img, .lab-logo img { height: 2cm !important; width: auto !important; max-height: 2cm !important; }
    .header-container { display: flex !important; padding: 0 0 12pt !important; }
    .lab-name__titulo { font-size: 16pt !important; }
    .posts-grid { display: block !important; }
    .archive-post.std { border: 1px solid #ccc !important; padding: 10pt !important; margin-bottom: 12pt !important; break-inside: avoid; page-break-inside: avoid; }
    .archive-post__imagem, .horizontal-card .card-image { display: none !important; }
    /* Equipe: cartões em lista, sem fotos; na página do membro, foto pequena */
    .equipe__grade { display: block !important; }
    .membro { display: block !important; border: 1px solid #ccc !important; padding: 8pt !important; margin-bottom: 8pt !important; break-inside: avoid; page-break-inside: avoid; }
    .membro__foto { display: none !important; }
    .membro__texto { padding: 0 !important; }
    .membro-perfil__foto { width: 3.5cm !important; }
    /* Editais: cartões e anexos em lista; o selo de situação ganha borda */
    .editais__grade, .edital-anexos__lista { display: block !important; }
    .edital, .edital-anexo { display: block !important; border: 1px solid #ccc !important; padding: 8pt !important; margin-bottom: 8pt !important; break-inside: avoid; page-break-inside: avoid; }
    .edital-situacao { border: 1px solid #000 !important; }
    .edital-anexo__link::after { content: " (" attr(href) ")"; font-size: 0.85em; font-weight: 400; word-wrap: break-word; }
    .edital-pagina__voltar { display: none !important; }
    .horizontal-card { display: block !important; break-inside: avoid; page-break-inside: avoid; border: 1px solid #ccc !important; margin-bottom: 12pt !important; padding: 10pt !important; }
    .horizontal-card .card-content { width: 100% !important; display: block !important; padding: 0 !important; }
    .welcome-box { border: 1px solid #ccc !important; padding: 10pt !important; }
    /* Destaques: todos impressos, em lista */
    .destaques__item[hidden] { display: flex !important; }
    .destaques__lista { display: block !important; }
    .destaque { display: block !important; border: 1px solid #ccc !important; margin-bottom: 10pt !important; break-inside: avoid; page-break-inside: avoid; }
    .modern-site-header { border-bottom: 2px solid #000 !important; margin-bottom: 16pt !important; }
    .rodape__principal { border-top: 2px solid #000 !important; break-inside: avoid; page-break-inside: avoid; margin-top: 24pt !important; padding: 12pt 0 0 !important; }
    .rodape__container { padding: 0 !important; }
    .rodape__grade { display: block !important; }
    body::before { content: "Conteúdo impresso em domínio institucional da Universidade Federal do Paraná (www.ufpr.br)"; display: block; text-align: center; font-size: 9pt; margin-bottom: 16pt; padding-bottom: 8pt; font-style: italic; border-bottom: 1px solid #000; }
}
