/**
Theme Name: Astra Child
Author: Brainstorm Force
Author URI: http://wpastra.com/about/
Description: Astra is the fastest, fully customizable & beautiful theme suitable for blogs, personal portfolios and business websites. It is very lightweight (less than 50KB on frontend) and offers unparalleled speed. Built with SEO in mind, Astra comes with schema.org code integrated so search engines will love your site. Astra offers plenty of sidebar options and widget areas giving you a full control for customizations. Furthermore, we have included special features and templates so feel free to choose any of your favorite page builder plugin to create pages flexibly. Some of the other features: # WooCommerce Ready # Responsive # Compatible with major plugins # Translation Ready # Extendible with premium addons # Regularly updated # Designed, Developed, Maintained & Supported by Brainstorm Force. Looking for a perfect base theme? Look no further. Astra is fast, fully customizable and beautiful theme!
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: astra-child
Template: astra
*/


:root {
    --cor-primaria: #0d6efd;
    --cor-secundaria: #6c757d;
    --cor-texto-principal: #212529;
    --cor-texto-claro: #ffffff;
    --cor-fundo: #ffffff;
    --cor-fundo-alternativa: #f8f9fa;
    --cor-borda: #dee2e6;
    --sombra-media: 0 10px 30px rgba(0,0,0,0.1);
    --raio-borda: 8px;
    --duracao-transicao: 0.4s;
    --largura-max-leitura: 800px;
    --font-principal: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
}

/* --- ESTILOS GERAIS --- */
body {
    font-family: var(--font-principal);
}

/*
 * =============================================================
 * SEÇÃO: FILTROS E LISTAGEM EM GRADE
 * =============================================================
*/
#main .filtros-publicacoes-wrapper {
    background-color: var(--cor-fundo-alternativa);
    padding: 2.5rem 1rem;
    border-bottom: 1px solid var(--cor-borda);
    margin-bottom: 4rem;
}
#main .filtro-container {
    max-width: 1200px;
    margin: 0 auto;
}
#main .filtro-header {
    text-align: center;
    margin-bottom: 2.5rem;
}
#main .filtro-titulo {
    font-size: 1.75rem;
    font-weight: 700;
}
#main .filtros-publicacoes-form {
    display: grid;
    grid-template-columns: 1fr auto; 
    gap: 1.5rem;
    align-items: center;
}

#main .campo-filtro input,
#main .campo-filtro select {
    width: 100%;
    padding: 0 18px;
    border: 1px solid var(--cor-borda);
    border-radius: var(--raio-borda);
    font-size: 1rem;
    background-color: #fff;
    transition: all 0.4s ease;
    color: var(--cor-texto-principal);
    height: 50px;
    line-height: 50px;
}
#main .campo-filtro select {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background-image: url('data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22292.4%22%20height%3D%22292.4%22%3E%3Cpath%20fill%3D%22%237f8c8d%22%20d%3D%22M287%2069.4a17.6%2017.6%200%200%200-13-5.4H18.4c-5%200-9.3%201.8-12.9%205.4A17.6%2017.6%200%200%200%200%2082.2c0%205%201.8%209.3%205.4%2012.9l128%20127.9c3.6%203.6%207.8%205.4%2012.8%205.4s9.2-1.8%2012.8-5.4L287%2095c3.5-3.5%205.4-7.8%205.4-12.8%200-5-1.9-9.2-5.5-12.8z%22%2F%3E%3C%2Fsvg%3E');
    background-repeat: no-repeat;
    background-position: right 18px top 50%;
    background-size: 12px auto;
    padding-right: 45px;
	
}
#main .campo-filtro input:focus,
#main .campo-filtro select:focus {
    outline: none;
    border-color: var(--cor-primaria);
    box-shadow: 0 0 0 4px rgba(13, 110, 253, 0.15);
}
#main .botao-filtrar {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 10px;
    background-color: var(--cor-primaria);
    color: #fff;
    border: none;
    height: 50px;
    padding: 0 25px;
    border-radius: var(--raio-borda);
    cursor: pointer;
    transition: all 0.4s ease;
    font-size: 1rem;
    font-weight: 600;
}
#main .botao-filtrar:hover {
    background-color: #0b5ed7;
    transform: translateY(-3px);
    box-shadow: var(--sombra-media);
}
#main .lista-publicacoes-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
    gap: 2.5rem;
    padding: 0 2.5rem;
    max-width: 1800px;
    margin: 0 auto;
}
#main .item-publicacao-wrap {
    position: relative;
    aspect-ratio: 1 / 1;
    border-radius: var(--raio-borda);
    overflow: hidden;
    box-shadow: var(--sombra-media);
    transition: all 0.4s ease;
}
#main .item-publicacao-wrap:hover {
    transform: translateY(-8px) scale(1.02);
    box-shadow: 0 15px 40px rgba(0, 0, 0, 0.1);
}
#main .item-publicacao-link {
    display: block;
    width: 100%;
    height: 100%;
}
#main .item-publicacao-link img {
    width: 100%;
    height: 100%;
    object-fit: fill;
    transition: transform 0.6s ease;
}

#main .item-publicacao-link-membro {
    display: block;
    width: 100%;
    height: 100%;
}
#main .item-publicacao-link-membro img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.6s ease;
}

#main .item-publicacao-wrap:hover img {
    transform: scale(1.15);
}
#main .item-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(to top, rgba(0, 0, 0, 0.9) 0%, rgba(0, 0, 0, 0) 100%);
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    align-items: flex-start;
    padding: 2rem;
    opacity: 0;
    transition: opacity 0.4s ease;
}
#main .item-publicacao-wrap:hover .item-overlay {
    opacity: 1;
}
#main .item-titulo-overlay {
    color: #fff;
    font-size: 1.5rem;
    font-weight: 700;
    line-height: 1.3;
    margin: 0;
    transform: translateY(25px);
    transition: transform 0.4s ease;
    text-shadow: 1px 1px 5px rgba(0, 0, 0, 0.5);
}
#main .item-publicacao-wrap:hover .item-titulo-overlay {
    transform: translateY(0);
}

/*
 * =============================================================
 * SEÇÃO: PAGINAÇÃO - VERSÃO FINAL CORRIGIDA
 * =============================================================
*/
#main .paginacao-publicacoes {
    grid-column: 1 / -1;
    width: 100%;
    margin-top: 4rem;
    padding-top: 2rem;
    border-top: 1px solid var(--cor-borda);
}
#main .paginacao-publicacoes ul {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 8px;
    list-style-type: none;
    padding: 0;
    margin: 0;
}
#main .paginacao-publicacoes li {
    display: inline-block;
}
#main .paginacao-publicacoes .page-numbers {
    display: flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    font-weight: 600;
    font-size: 1.1rem;
    color: var(--cor-secundaria);
    background-color: transparent;
    border: 2px solid transparent;
    border-radius: var(--raio-borda);
    min-width: 48px;
    height: 48px;
    padding: 5px 10px;
    transition: all 0.3s ease-in-out;
}
#main .paginacao-publicacoes a.page-numbers:hover {
    color: var(--cor-primaria);
    background-color: var(--cor-fundo-alternativa);
    transform: translateY(-3px);
}
#main .paginacao-publicacoes .page-numbers.current {
    background-color: var(--cor-primaria);
    color: #fff;
    border-color: var(--cor-primaria);
    box-shadow: 0 5px 15px rgba(13, 110, 253, 0.25);
    transform: translateY(-3px);
}
#main .paginacao-publicacoes .page-numbers.current:hover {
    color: #fff;
    background-color: var(--cor-primaria);
}
#main .paginacao-publicacoes .dots {
    color: var(--cor-secundaria);
    padding: 0 10px;
    align-self: flex-end;
}
#main .paginacao-publicacoes .prev,
#main .paginacao-publicacoes .next {
    font-size: 1.5rem;
}

/*
 * =======================================================================
 * DETALHES DA PUBLICAÇÃO - VERSÃO FINAL (Layout UFRGS)
 * =======================================================================
*/
.single-publicacao .site-content #primary,
.single-publicacao #main .publicacao-layout-referencia {
    padding: 0;
    margin: 0;
}
#main .hero-header-ufrgs {
    position: relative;
    width: 100vw;
    left: 50%;
    transform: translateX(-50%);
    min-height: 400px;
    background-color: #2a3a4a;
    display: flex;
    align-items: center;
    padding: 4rem 2rem;
    margin-bottom: 4rem;
}
#main .hero-bg-image {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
    filter: brightness(0.9);
}
#main .hero-content-container {
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
    position: relative;
    z-index: 2;
}
@media (min-width: 1520px) {
	.entry-title {
		gap: 20px 20px;
		height: 100%;
		margin: 0 auto;
		max-width: 1480px;
		padding-inline-end: 0;
		padding-inline-start: 0;
		width: 100%;
	}
}
@media (max-width: 1519px) {
	.entry-title {
		margin-left: 20px;
	}
}

#main .hero-text-box {
    background-color: rgba(255, 255, 255, 0.9);
    padding: 2.5rem;
    border-radius: var(--raio-borda);
    box-shadow: var(--sombra-media);
}
#main .hero-text-box .entry-title {
    font-size: 2.8rem;
    font-weight: 800;
    line-height: 1.2;
    color: var(--cor-texto-principal);
    margin: 0 0 1.5rem 0;
}
#main .hero-text-box .entry-meta {
    padding-top: 1.5rem;
    border-top: 1px solid var(--cor-borda);
    text-align: left;
    font-size: 1rem;
    color: #333;
}
#main .hero-text-box .meta-item {
    margin-bottom: 0.5rem;
}
#main .hero-text-box .meta-item:last-child {
    margin-bottom: 0;
}
#main .entry-content-wrapper {
    max-width: var(--largura-max-leitura);
    margin: 4rem auto;
    padding: 0 1.5rem;
}
#main .entry-content-wrapper .entry-content {
    font-size: 1.15rem;
    line-height: 1.8;
}
#main .entry-content .content-section {
    background: var(--cor-fundo-alternativa);
    padding: 2rem;
    border-radius: var(--raio-borda);
    margin-bottom: 2rem;
}
#main .entry-content .content-section h3 {
    margin-top: 0;
    border-bottom: 2px solid var(--cor-borda);
    padding-bottom: 1rem;
    margin-bottom: 1rem;
}

/* --- RESPONSIVIDADE FINAL --- */
@media (max-width: 921px) {
    #main .filtros-publicacoes-form {
        grid-template-columns:  1fr auto;
    }
    #main .campo-filtro-submit {
        grid-column: 1 / -1;
    }
    #main .botao-filtrar {
        width: 100%;
    }
}
@media (max-width: 768px) {
    :root {
        font-size: 14px;
    }
    #main .filtros-publicacoes-wrapper,
    #main .lista-publicacoes-grid {
        padding: 1.5rem;
    }
    #main .filtros-publicacoes-form {
        grid-template-columns: 1fr;
    }
    #main .hero-text-box .entry-title {
        font-size: 2rem;
    }
}

article.ast-article-single.publicacao-layout-referencia.publicacao {
    padding-bottom: 2rem!important;
    margin-bottom: 2rem!important;
}
.destaque {
	width: 100%;
	height: auto;
	object-fit: cover;
}













/* Estilo geral dos botões de login/logout */
.btn-login, 
.btn-logout {
  display: inline-block;
  padding: 8px 18px;
  border-radius: 25px;
  font-weight: 600;
  font-size: 14px;
  text-decoration: none;
  transition: all 0.3s ease;
}

/* Botão de Login */
.btn-login {
  background: linear-gradient(135deg, #ff6a00, #ff3c00); /* cores do header */
  color: #fff;
  box-shadow: 0 3px 6px rgba(255, 80, 0, 0.3);
}
.btn-login:hover {
  background: linear-gradient(135deg, #ff3c00, #ff6a00);
  box-shadow: 0 5px 10px rgba(255, 80, 0, 0.4);
  transform: translateY(-2px);
}

/* Botão de Logout */
.btn-logout {
  background: #ffffff;
  color: #ff3c00;
  border: 2px solid #ff3c00;
}
.btn-logout:hover {
  background: #ff3c00;
  color: #fff;
  transform: translateY(-2px);
}

/* ==========================================================================
   ESTILOS PARA FORMULÁRIO DE EDIÇÃO DE PERFIL
   ========================================================================== */

.perfil-container {
    max-width: 700px;
    margin: 40px auto;
    padding: 40px;
    background: linear-gradient(135deg, #fef8f5 0%, #fff6f2 100%);
    border-radius: 15px;
    box-shadow: 0 10px 30px rgba(244, 81, 30, 0.1);
    border: 1px solid rgba(244, 81, 30, 0.15);
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
}

.perfil-container h2 {
    text-align: center;
    color: #ff5722;
    margin-bottom: 35px;
    font-size: 2.2em;
    font-weight: 700;
    border-bottom: 2px solid #ffccbc;
    padding-bottom: 15px;
}

.perfil-form {
    display: flex;
    flex-direction: column;
    gap: 25px;
}

.perfil-campo {
    display: flex;
    flex-direction: column;
}

.perfil-campo label {
    font-weight: 600;
    margin-bottom: 10px;
    color: #333;
    font-size: 1.1em;
}

.perfil-campo input[type="text"],
.perfil-campo input[type="email"],
.perfil-campo input[type="tel"],
.perfil-campo input[type="password"] {
    padding: 15px 18px;
    border: 2px solid #ddd;
    border-radius: 8px;
    font-size: 16px;
    transition: all 0.3s ease;
    background-color: white;
}

.perfil-campo input:focus {
    border-color: #ff5722;
    outline: none;
    box-shadow: 0 0 0 3px rgba(255, 87, 34, 0.2);
}

.descricao {
    font-size: 0.9em;
    color: #666;
    margin-top: 6px;
    font-style: italic;
}

/* Estilos específicos para o campo de checkbox do slug */
.perfil-campo-checkbox {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 12px;
    padding: 15px;
    background-color: rgba(255, 152, 0, 0.1);
    border-radius: 8px;
    border-left: 4px solid #ff9800;
}

.perfil-campo-checkbox label {
    display: flex;
    align-items: center;
    gap: 10px;
    font-weight: 600;
    cursor: pointer;
    margin: 0;
    color: #e65100;
}

.perfil-campo-checkbox input[type="checkbox"] {
    width: 20px;
    height: 20px;
    margin: 0;
    accent-color: #ff5722;
}

.perfil-campo-checkbox .descricao {
    margin-top: 0;
    margin-left: 30px;
    color: #ff5722;
}

/* Estilo para mostrar o valor atual do slug */
.slug-status {
    display: inline-block;
    padding: 5px 12px;
    border-radius: 20px;
    font-size: 0.9em;
    margin-left: 10px;
    font-weight: 600;
}

.slug-ativo {
    background-color: #4caf50;
    color: white;
}

.slug-inativo {
    background-color: #f44336;
    color: white;
}

/* Botões de ação */
.perfil-acoes {
    display: flex;
    gap: 15px;
    justify-content: center;
    margin-top: 30px;
    flex-wrap: wrap;
}

.perfil-botao {
    background: linear-gradient(135deg, #ff5722 0%, #e53935 100%);
    color: white;
    padding: 16px 35px;
    border: none;
    border-radius: 8px;
    font-size: 16px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.3s ease;
    box-shadow: 0 4px 10px rgba(229, 57, 53, 0.3);
}

.perfil-botao:hover {
    transform: translateY(-3px);
    box-shadow: 0 6px 15px rgba(229, 57, 53, 0.4);
}

.perfil-cancelar {
    padding: 16px 35px;
    background: #f5f5f5;
    color: #333;
    text-decoration: none;
    border-radius: 8px;
    text-align: center;
    transition: all 0.3s ease;
    font-weight: 600;
    border: 1px solid #ddd;
}

.perfil-cancelar:hover {
    background: #e0e0e0;
    transform: translateY(-3px);
}

/* Mensagens de feedback */
.perfil-feedback {
    padding: 18px;
    border-radius: 8px;
    margin-bottom: 25px;
    font-weight: 500;
    text-align: center;
}

.perfil-sucesso {
    background: #d4edda;
    color: #155724;
    border: 1px solid #c3e6cb;
}

.perfil-erro {
    background: #f8d7da;
    color: #721c24;
    border: 1px solid #f5c6cb;
}

.perfil-aviso {
    text-align: center;
    padding: 40px;
    background: #fff3cd;
    border-radius: 8px;
    color: #856404;
    border: 1px solid #ffeaa7;
}

.perfil-aviso a {
    color: #ff5722;
    font-weight: 600;
    text-decoration: none;
    margin: 0 10px;
    padding: 8px 16px;
    border-radius: 4px;
    background-color: rgba(255, 87, 34, 0.1);
    transition: all 0.3s ease;
}

.perfil-aviso a:hover {
    background-color: rgba(255, 87, 34, 0.2);
    text-decoration: none;
}

/* Responsividade */
@media (max-width: 768px) {
    .perfil-container {
        margin: 20px;
        padding: 25px;
    }
    
    .perfil-container h2 {
        font-size: 1.8em;
    }
    
    .perfil-acoes {
        flex-direction: column;
    }
    
    .perfil-botao, .perfil-cancelar {
        width: 100%;
    }
    
    .perfil-campo-checkbox {
        flex-direction: column;
        align-items: flex-start;
        gap: 10px;
    }
    
    .perfil-campo-checkbox .descricao {
        margin-left: 0;
    }
}

/* Animações */
@keyframes fadeIn {
    from { opacity: 0; transform: translateY(20px); }
    to { opacity: 1; transform: translateY(0); }
}

.perfil-container {
    animation: fadeIn 0.5s ease-out;
}

.perfil-campo {
    transition: transform 0.3s ease;
}

.perfil-campo:focus-within {
    transform: translateX(5px);
}









/* ========================================================================
   Estilos para o Botão/Menu de Login Dinâmico (AFRICANET)
   ======================================================================== */

/* --- Botão 'Entrar' (Usuário deslogado) --- */
.btn-login-outline {
    background-color: transparent;
    color: #FF8C00; /* Laranja AFRICANET */
    padding: 8px 18px;
    border: 2px solid #FF8C00;
    border-radius: 8px;
    text-decoration: none;
    font-weight: bold;
    font-size: 15px;
    transition: all 0.3s ease;
    display: inline-block;
}

.btn-login-outline:hover {
    background-color: #FF8C00;
    color: white;
    transform: translateY(-2px);
}

/* --- Container principal para o menu dropdown (Usuário logado) --- */
.user-menu-container {
    position: relative;
    display: inline-block;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
}

/* --- Botão que aciona o dropdown (Ícone + "Conta") --- */
.user-menu-button {
    background: none;
    border: none;
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px;
    border-radius: 8px;
    transition: background-color 0.3s ease;
}

.user-menu-button:hover {
    background-color: #f7f7f7;
}

.user-menu-button .user-icon {
    width: 24px;
    height: 24px;
    color: #666;
}

.user-menu-button .user-label {
    color: #333;
    font-weight: bold;
    font-size: 15px;
}

.user-menu-button:focus,
.user-menu-button:active {
    outline: none; /* Remove o contorno azul padrão */
    box-shadow: 0 0 0 3px rgba(255, 140, 0, 0.5); /* Adiciona um anel de foco laranja e suave */
	background: #ffffff;
}

/* --- O painel do dropdown (controlado via JS) --- */
.user-menu-dropdown {
    display: block;
    position: absolute;
    background-color: #ffffff;
    min-width: 240px;
    box-shadow: 0px 10px 25px rgba(0,0,0,0.1);
    z-index: 100;
    border-radius: 12px;
    right: 0;
    top: calc(100% + 10px);
    border: 1px solid #eee;
    overflow: hidden;
    opacity: 0;
    visibility: hidden;
    transform: translateY(10px);
    transition: opacity 0.2s ease, transform 0.2s ease, visibility 0.2s;
}

.user-menu-container.active .user-menu-dropdown {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

/* --- Cabeçalho dentro do dropdown com info do usuário --- */
.dropdown-user-info {
    padding: 16px;
    border-bottom: 1px solid #eee;
}

.dropdown-user-info .user-name {
    font-weight: bold;
    color: #333;
    margin: 0;
}

.dropdown-user-info .user-email {
    font-size: 14px;
    color: #666;
    margin: 4px 0 0 0;
    word-break: break-all;
}

/* --- Links de ação dentro do dropdown --- */
.dropdown-links a {
    color: #333;
    padding: 12px 16px;
    text-decoration: none;
    display: flex;
    align-items: center;
    gap: 12px;
    font-size: 15px;
    transition: background-color 0.2s, color 0.2s;
}

.dropdown-links a:hover {
    background-color: #f7f7f7;
    color: #FF8C00;
}

.dropdown-links a svg {
    width: 18px;
    height: 18px;
    color: #666;
    transition: color 0.2s;
    flex-shrink: 0;
}

.dropdown-links a:hover svg {
    color: #FF8C00;
}

.dropdown-links a.logout-link {
    color: #D9534F; /* Tom de vermelho para 'Sair' */
}

.dropdown-links a.logout-link:hover {
    background-color: #fef2f2;
    color: #b91c1c;
}

.dropdown-links a.logout-link:hover svg {
    color: #b91c1c;
}

















/* ========================================================================
   Estilos para o Destaque de Conteúdo Completo (AFRICANET)
   ======================================================================== */

.destaque-completo-container {
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
    margin: 40px auto;
    padding: 0;
}

.destaque-completo-card {
    background-color: #ffffff;
    max-width: 1200px;
    margin: auto;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 10px 40px rgba(0,0,0,0.1);
    border: 1px solid #f0f0f0;
}

.destaque-completo-imagem {
    height: 450px;
    background-size: cover;
    background-position: center;
    position: relative;
}

/* Gradiente sobre a imagem para dar profundidade */
.destaque-completo-imagem::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 50%;
    background: linear-gradient(to top, rgba(0,0,0,0.6), transparent);
}

.destaque-completo-conteudo-wrapper {
    padding: 40px 50px 50px 50px;
}

.destaque-completo-titulo {
    font-size: 42px;
    font-weight: 800;
    color: #111;
    margin: 0 0 30px 0;
    line-height: 1.2;
    text-align: center;
}

.destaque-completo-texto {
    font-size: 18px;
    line-height: 1.8;
    color: #333;
}

.destaque-completo-texto p {
    margin-bottom: 1.5em;
}

.destaque-completo-texto img,
.destaque-completo-texto figure {
    max-width: 100%;
    height: auto;
    margin: 30px 0;
    border-radius: 8px;
    box-shadow: 0 5px 20px rgba(0,0,0,0.1);
}

/* --- Responsividade --- */
@media (max-width: 768px) {
    .destaque-completo-imagem {
        height: 300px;
    }
    .destaque-completo-conteudo-wrapper {
        padding: 30px;
    }
    .destaque-completo-titulo {
        font-size: 32px;
    }
    .destaque-completo-texto {
        font-size: 16px;
    }
}

@media (max-width: 480px) {
    .destaque-completo-conteudo-wrapper {
        padding: 25px 20px;
    }
    .destaque-completo-titulo {
        font-size: 26px;
    }
}

/* ========================================================================
   2. ESTILOS PARA O CARROSSEL DE PUBLICAÇÕES
   ======================================================================== */

.carrossel-container {
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
    margin: 40px auto;
    max-width: 1200px;
    padding: 0 15px;
}

.carrossel-container h2.titulo-secao {
    font-size: 28px;
    font-weight: 700;
    color: #333;
    text-align: center;
    margin-bottom: 30px;
    position: relative;
    padding-bottom: 15px;
}

.carrossel-container h2.titulo-secao::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 60px;
    height: 4px;
    background-color: #FF8C00; /* Laranja AFRICANET */
    border-radius: 2px;
}

.swiper-africanet {
    padding: 10px 10px 40px 10px;
}

.carrossel-card {
    background-color: #ffffff;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 4px 15px rgba(0,0,0,0.08);
    transition: all 0.3s ease;
    height: 100%;
    display: flex;
    flex-direction: column;
}

.carrossel-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 8px 25px rgba(0,0,0,0.12);
}

.card-imagem-container {
    position: relative;
    overflow: hidden;
    padding-top: 56.25%; /* Proporção 16:9 */
}

.card-imagem {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-size: cover;
    background-position: center;
    transition: transform 0.4s ease;
}

.carrossel-card:hover .card-imagem {
    transform: scale(1.05);
}

.card-categoria {
    position: absolute;
    top: 15px;
    left: 15px;
    z-index: 2;
}

.card-categoria a {
    background-color: #FF8C00;
    color: white;
    padding: 5px 10px;
    border-radius: 50px;
    font-size: 12px;
    font-weight: bold;
    text-decoration: none;
    text-transform: uppercase;
}

.card-conteudo {
    padding: 20px;
    display: flex;
    flex-direction: column;
    flex-grow: 1;
}

.card-titulo {
    font-size: 18px;
    font-weight: 600;
    margin: 0 0 10px 0;
    line-height: 1.3;
    flex-grow: 1;
}

.card-titulo a {
    color: #333;
    text-decoration: none;
    transition: color 0.3s ease;
}

.card-titulo a:hover {
    color: #FF8C00;
}

.card-meta {
    font-size: 13px;
    color: #888;
    margin-top: auto;
    padding-top: 10px;
    border-top: 1px solid #f0f0f0;
}

.swiper-africanet .swiper-button-next,
.swiper-africanet .swiper-button-prev {
    color: #FF8C00;
    background-color: rgba(255, 255, 255, 0.9);
    width: 44px;
    height: 44px;
    border-radius: 50%;
    box-shadow: 0 2px 10px rgba(0,0,0,0.1);
    transition: all 0.3s ease;
}

.swiper-africanet .swiper-button-next:hover,
.swiper-africanet .swiper-button-prev:hover {
    background-color: #FF8C00;
    color: white;
}

.swiper-africanet .swiper-button-next::after,
.swiper-africanet .swiper-button-prev::after {
    font-size: 18px;
    font-weight: bold;
}

.swiper-africanet .swiper-pagination-bullet {
    background-color: #ccc;
    opacity: 1;
    transition: background-color 0.3s ease;
}

.swiper-africanet .swiper-pagination-bullet-active {
    background-color: #FF8C00;
}


/* Estilos para a página single do membro */
.membro-single {
    max-width: 1200px;
    margin: 0 auto;
    padding: 2rem;
}

.membro-header {
    display: flex;
    gap: 2rem;
    margin-bottom: 3rem;
    align-items: flex-start;
}



.membro-thumbnail img {
    width: 100%;
    height: auto;
    border-radius: 8px;
}

.membro-info h1 {
    margin: 0 0 1rem 0;
    color: #333;
}

.membro-cargo {
    font-size: 1.2rem;
    font-weight: 600;
    color: #0073aa;
    margin: 0 0 0.5rem 0;
}

.membro-instituicao {
    font-size: 1.1rem;
    color: #666;
    margin: 0 0 1rem 0;
}

.membro-content {
    margin-bottom: 3rem;
    line-height: 1.6;
}

.membro-curriculo {
    background: #f9f9f9;
    padding: 1.5rem;
    border-radius: 8px;
    margin-top: 2rem;
}

.membro-curriculo h3 {
    margin: 0 0 1rem 0;
    color: #333;
}

.membro-publicacoes {
    background: #fff;
    padding: 2rem;
    border-radius: 8px;
    box-shadow: 0 2px 10px rgba(0,0,0,0.1);
}

.membro-publicacoes h3 {
    margin: 0 0 1.5rem 0;
    color: #333;
}

.publicacoes-dropdown {
    width: 100%;
    padding: 12px 15px;
    border: 2px solid #0073aa;
    border-radius: 6px;
    font-size: 16px;
    background: white;
    cursor: pointer;
    transition: all 0.3s ease;
}

.publicacoes-dropdown:hover {
    border-color: #005a87;
    box-shadow: 0 0 0 3px rgba(0,115,170,0.1);
}

.publicacoes-dropdown:focus {
    outline: none;
    border-color: #005a87;
    box-shadow: 0 0 0 3px rgba(0,115,170,0.2);
}

/* Responsividade */
@media (max-width: 768px) {
    .membro-header {
        flex-direction: column;
        text-align: center;
    }
    
    .membro-thumbnail {
        width: 100%;
        max-width: 300px;
        margin: 0 auto;
    }
    
    .membro-single {
        padding: 1rem;
    }
}


.ast-container > #main.site-main {
	width: -webkit-fill-available;
}

#content > .ast-container > .ast-container {
	width: -webkit-fill-available;
}

.membro-thumbnail > img {
	max-width: 300px;
    max-height: 300px;
    width: auto;
    height: auto;
    border-radius: 8px;
}


#buttons-kit {
    gap: 10px;
    display: flex;
    justify-content: center;
    flex-direction: column;
    flex-wrap: nowrap;
    align-content: center;
    align-items: center;
}

.texto-maiusculo {
  text-transform: uppercase;
}





.lista-publicacoes-grid-member {
  display: grid;
  gap: 1.5rem;
  /* Base para telas grandes: um grid com 4 colunas iguais */
  grid-template-columns: repeat(4, 1fr);
}

/* --- Media Queries para Responsividade --- */

/* Para telas de até 1024px (laptops pequenos, tablets deitados) */
@media (max-width: 1520px) {
  .lista-publicacoes-grid-member {
    grid-template-columns: repeat(3, 1fr);
  }
}

/* Para telas de até 768px (tablets em pé) */
@media (max-width: 1160px) {
  .lista-publicacoes-grid-member {
    grid-template-columns: repeat(2, 1fr);
  }
}

/* Para telas de até 480px (celulares) */
@media (max-width: 790px) {
  .lista-publicacoes-grid-member {
    grid-template-columns: 1fr;
  }
}






.smashsoft-editais-wrapper {
    width: 100%;
    max-width: 1500px;
    margin: 2rem auto;
    padding: 0 15px;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
}

/* --- [LISTAGEM] Filtros --- */
.edital-filtros-container {
    background: #f8f9fa;
    padding: 1.5rem 2rem;
    border-radius: 8px;
    margin-bottom: 2.5rem;
    border: 1px solid #e9ecef;
}
.edital-filtros-container h3 {
    margin: 0 0 1.5rem;
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 1.2rem;
    color: #333;
}
.edital-filtros-grid { display: grid; grid-template-columns: 1fr; gap: 1rem; }
@media (min-width: 768px) { .edital-filtros-grid { grid-template-columns: 2fr 1fr 1fr auto; align-items: flex-end; } }
.filtro-item input, .filtro-item select { width: 100%; border: 1px solid #ced4da; border-radius: 5px; transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out; }
.filtro-item input:focus, .filtro-item select:focus { border-color: #0073aa; box-shadow: 0 0 0 0.2rem rgba(0, 115, 170, 0.25); }
.filtro-botoes-status { display: flex; flex-wrap: wrap; gap: 0.5rem; }
.filtro-botoes-status a { text-decoration: none; border: 1px solid #ced4da; background: #fff; color: #495057; padding: 8px 15px; border-radius: 20px; font-size: 0.9rem; transition: all 0.2s ease; }
.filtro-botoes-status a.ativo, .filtro-botoes-status a:hover { background: #0073aa; color: #fff; border-color: #0073aa; transform: translateY(-2px); }
.filtro-submit button { width: 100%; background: #333; color: #fff; border: 0; font-weight: bold; cursor: pointer; border-radius: 5px; transition: background-color .2s; }
.filtro-submit button:hover { background: #000; }

/* --- [LISTAGEM] Cards dos Editais --- */
.edital-lista-container { display: grid; gap: 1.5rem; }
.edital-card-link { text-decoration: none; color: inherit; }
.edital-card { background: #fff; border-radius: 8px; box-shadow: 0 10px 30px -15px rgba(0, 0, 0, 0.1); transition: all 0.3s ease; border-left: 5px solid; }
.edital-card-link:hover .edital-card { transform: translateY(-5px); box-shadow: 0 15px 35px -15px rgba(0,0,0,0.15); }
.edital-card.status-aberto { border-left-color: #28a745; }
.edital-card.status-andamento { border-left-color: #ffb900; }
.edital-card.status-encerrado { border-left-color: #6c757d; }
.edital-card-header { padding: 1rem 1.5rem; display: flex; justify-content: space-between; align-items: center; border-bottom: 1px solid #f1f1f1; }
.edital-status { padding: 5px 12px; border-radius: 20px; font-size: 0.75rem; font-weight: bold; color: #fff; }
.status-aberto .edital-status { background-color: #28a745; }
.status-andamento .edital-status { background-color: #ffb900; color: #333; }
.status-encerrado .edital-status { background-color: #6c757d; }
.edital-numero { font-size: 0.8rem; color: #6c757d; font-weight: bold; }
.edital-card-body { padding: 1.5rem; }
.edital-card-body h2 { margin: 0 0 1rem; font-size: 1.3rem; }
.edital-datas { display: flex; flex-wrap: wrap; gap: 1.5rem; font-size: 0.9rem; color: #6c757d; }
.data-item { display: flex; align-items: center; gap: 0.5rem; }
.data-item .dashicons { font-size: 1.1rem; }
.edital-card-footer { padding: 1rem 1.5rem; background: #f8f9fa; border-top: 1px solid #f1f1f1; text-align: right; color: #0073aa; font-weight: bold; }
.edital-card-footer span { display: flex; align-items: center; justify-content: flex-end; gap: 0.5rem; transition: gap .2s; }
.edital-card-link:hover .edital-card-footer span { gap: 1rem; }
.nenhum-edital { text-align: center; background: #f8f9fa; padding: 3rem; border-radius: 8px; }

/* --- [LISTAGEM] Paginação --- */
.edital-paginacao ul { display: flex; justify-content: center; gap: 0.5rem; padding: 0; }
.edital-paginacao li { list-style: none; }
.edital-paginacao .page-numbers { display: block; padding: 10px 15px; border: 1px solid #ddd; background: #fff; color: #0073aa; text-decoration: none; border-radius: 5px; transition: all 0.2s ease; }
.edital-paginacao .page-numbers:hover { background: #f0f8ff; }
.edital-paginacao .page-numbers.current { background: #0073aa; color: #fff; border-color: #0073aa; }

/* --- [PÁGINA DE DETALHES] --- */
.edital-detalhe-article { background: #fff; padding: 2rem; border-radius: 8px; box-shadow: 0 10px 30px -15px rgba(0, 0, 0, 0.1); }
@media (min-width: 992px) { .edital-detalhe-article { padding: 3rem; } }
.edital-detalhe-article.status-aberto { border-top: 5px solid #28a745; }
.edital-detalhe-article.status-andamento { border-top: 5px solid #ffb900; }
.edital-detalhe-article.status-encerrado { border-top: 5px solid #6c757d; }

.edital-detalhe-header { display: flex; justify-content: space-between; align-items: flex-start; border-bottom: 1px solid #eee; padding-bottom: 1.5rem; margin-bottom: 1.5rem; }
.edital-detalhe-header .entry-title { margin: 0; }
.edital-numero { font-size: 1rem; color: #6c757d; margin: 0; font-weight: 500; }
.edital-status-tag { padding: 8px 18px; border-radius: 25px; font-size: 0.9rem; font-weight: bold; color: #fff; white-space: nowrap; }
.status-aberto .edital-status-tag { background: #28a745; }
.status-andamento .edital-status-tag { background: #ffb900; color: #333; }
.status-encerrado .edital-status-tag { background: #6c757d; }

.edital-detalhe-meta { display: flex; flex-wrap: wrap; gap: 2rem; padding: 1rem; background: #f8f9fa; border-radius: 8px; margin-bottom: 2rem; }
.meta-item { display: flex; align-items: center; gap: 0.5rem; font-size: 0.9rem; }

.edital-detalhe-container { display: grid; gap: 2.5rem; }
@media (min-width: 992px) { .edital-detalhe-container { grid-template-columns: 1fr 350px; } }
.entry-content { line-height: 1.8; color: #444; }
.edital-detalhe-sidebar { display: flex; flex-direction: column; gap: 1.5rem; }
.edital-acao-box, .edital-anexos-box { background: #f8f9fa; border: 1px solid #eee; border-radius: 8px; padding: 1.5rem; }
.edital-acao-box h4, .edital-anexos-box h4 { margin: 0 0 1rem; padding-bottom: 1rem; border-bottom: 1px solid #ddd; }
.edital-botao-acao { display: flex; align-items: center; justify-content: center; gap: 0.5rem; width: 100%; background: #0073aa; color: #fff; padding: 15px; text-decoration: none; border-radius: 5px; font-weight: bold; transition: all .2s; }
.edital-botao-acao:hover { background: #005a87; transform: translateY(-2px); }
.anexos-lista { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 0.75rem; }
.anexos-lista a { display: flex; align-items: center; gap: 0.75rem; border-radius: 5px; text-decoration: none; color: #333; background: #fff; border: 1px solid #ddd; transition: all .2s; }
.anexos-lista a:hover { border-color: #0073aa; background: #f0f8ff; color: #0073aa; }



a {
	text-decoration: none!important;
}




