/* Reset Básico e Fontes */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

html{
    width: 100%;
    max-width: 100%;
    overflow-x: hidden;
}

body {
    font-family: 'Work Sans', Helvetica, Arial, sans-serif;
    line-height: 1.6;
    color: #333;
    background-color: #f4f4f4;
    zoom: 0.90;
    width: 100%;
    max-width: 100%;
    overflow-x: hidden;
}

h1, h2, h3, h4, h5, h6,
.titulo-secao,
.acervo-card-title,
.footer-section strong {
    font-family: 'Saira Condensed', sans-serif;
    font-weight: 300; /* Padrão para títulos Saira */
}

/* ===================================================== */
/* ======================= HEADER ======================= */
/* ===================================================== */

.header {
    background-color: #7c0810;
    padding: 20px 40px;
    position: relative;
    top: 0;
    z-index: 1000;
    overflow: hidden;
    width: 100%;
    max-width: 100%;
}

/* ---------- Topo: idiomas + busca ---------- */

.header-top-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 10px;
}

.language-selector {
    /* Esta div agora só serve como um container externo */
    display: flex;
    align-items: center;
}

/* Container Flex (Mantido) */
.language-selector form{
    display: flex;
    gap: 10px;
    align-items: center;
}

/* Estilo Base da Bandeira (Substitui .lang-btn) */
.flag-icon {
    /* Define o tamanho da bandeira */
    width: 40px; 
    height: 30px;
    
    /* Propriedades visuais */
    object-fit: cover;
    cursor: pointer;
    transition: 0.3s;
}

/* Efeito de HOVER (Passar o mouse) */
.flag-icon:hover {
    /* Efeito de zoom */
    transform: scale(1.1); 
    opacity: 0.9;
}
@media screen and (max-width: 900px) {
    .flag-icon {
        width: 25px; 
        height: 22px;
    }
    
}
/* --- PESQUISA --- */

.search-container {
    display: flex;
    align-items: center; /* Alinha o ícone e o input verticalmente */
    
    border: 1.5px solid white;
    border-radius: 10px;
    padding: 6px 10px;
    background-color: transparent;
    
    /* Larguras Definidas */
    width: 180px; /* Largura padrão para desktop */
    min-width: 150px; /* Tamanho mínimo */
    max-width: 250px; /* Tamanho máximo */
    
    box-sizing: border-box;
}

.search-form {
    display: flex;
    align-items: center;
    width: 100%;
}

.search-input {
    background: transparent;
    border: none;
    color: white;
    outline: none;
    font-size: 14px;
    /* Ocupa todo o espaço flexível disponível */
    flex-grow: 1; 
    /* Garante que o input possa ser menor que o texto (necessário em Flexbox) */
    min-width: 0; 
    padding: 0; /* Remove padding desnecessário */
}

.search-input::placeholder {
    color: rgba(255, 255, 255, 0.7);
}

.search-button {
    background: none;
    border: none;
    color: white;
    cursor: pointer;
    font-size: 16px; /* Ajuste o tamanho do ícone */
    padding: 0 5px; /* Adiciona um pequeno padding para espaço */
    /* Garante que o ícone não se estique */
    flex-shrink: 0; 
    display: flex; /* Garante que o ícone esteja centralizado dentro do botão */
    align-items: center;
    justify-content: center;
}

@media screen and (max-width: 900px) {
    /* ... outras regras ... */

    /* 3. PESQUISA NO MOBILE */
    
    .header-right { 
        order: 6; 
        width: 100%;
        margin-top: 15px;
        justify-content: center;
    }
    
    .search-container {
        /* Sobrescreve as larguras de desktop para o mobile */
        width: 90%; 
        max-width: 350px; /* Permite que seja mais largo no mobile */
        min-width: 250px; /* Garante que não fique pequeno demais */
    }
}

/* ===================================================== */
/* =================== ÁREA DE NAVEGAÇÃO =============== */
/* ===================================================== */

.navigation {
    display: flex !important;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    width: 100%;
    max-width: 100%;
}

.nav-left,
.nav-right {
    display: flex;
    gap: 45px;
}

/* Logo central */
.logo-container {
    width: 100px;
    height: 100px;
    background: white;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 4px 12px rgba(0,0,0,0.3);
    margin: 0px 20px 0px 20px;
}

.logo-img {
    width: 150px;
    height: 150px;
    border-radius: 50%;
    object-fit: cover;
    aspect-ratio: 1 / 1;
}

/* Links */
.nav-item {
    color: white;
    text-decoration: none;
    font-size: 20px;
    font-family: 'Saira Condensed', sans-serif;
    font-weight: 500;
    display: flex;
    align-items: center;
    gap: 5px;
    transition: 0.3s;
}

.nav-item:hover {
    color: #EFB810;
}

/* Estilo para quando o link está ativo (na página atual) */
.active-link {
    /* Cor de destaque (igual ao hover, para consistência) */
    color: #EFB810; 
    
    /* Adiciona o sublinhado */
    text-decoration: none; 
    
    /* Garante que o sublinhado não seja apenas uma linha, mas sim parte da decoração */
    text-decoration-thickness: 2px; /* Opcional: Ajusta a espessura do sublinhado */
    text-underline-offset: 4px; /* Opcional: Adiciona espaço entre o texto e a linha */
}

/* ---------- Mobile ---------- */

.mobile-nav-toggle-container {
    display: none;
}

/* Hero Section */
.hero {
    height: 400px;
    background-size: cover;
    background-position: center;
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    color: white;
}

.hero-overlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: rgba(0, 0, 0, 0.5);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 20px;
}

.hero-overlay h1 {
    font-family: 'Saira Condensed', sans-serif;
    font-size: 4.5rem;
    font-weight: 700;
    text-transform: uppercase;
    text-shadow: 2px 2px 8px rgba(0, 0, 0, 0.7);
    z-index: 3;
}

/* About Section */
.about {
    padding: 30px 30px;
    background-color: #f8f9fa;
}

.about-content {
    max-width: 1100px;
    margin: 0 auto;
    display: flex;
    align-items: center;
    gap: 30px;
}

.about-image {
    flex: 1;
    max-width: 500px;
}

.about-image img {
    width: 500px;
    height: 350px;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
}

.about-text {
    flex: 1.5;
}

.about-text h2 {
    font-size: 3.5rem;
    font-weight: bold;
    color: #000000;
}

.about-text p {
    font-size: 1rem;
    line-height: 1.8;
    color: #3A3A3A;
    text-align: justify;
}

/* Exhibitions Section */
.exhibitions {
    padding: 60px 30px;
    background-color: #eaeaeabe;
}

.exhibitions-content {
    max-width: 1200px;
    margin: 0 auto;
    display: flex;
    align-items: center;
    gap: 30px;
}

.exhibitions h2 {
    font-size: 3.5rem;
    font-weight: bold;
    color: #333;
}

.exhibitions p {
    font-size: 1rem;
    line-height: 1.8;
    color: #3A3A3A;
    text-align: justify;
}

.exhibitions-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 30px;
    margin-bottom: 30px;
}

.exhibition-item {
    text-align: center;
}

.exhibition-image {
    max-width: 500px; 
}

.exhibition-image img {
    width: 100%;
    height: auto;
    border-radius: 8px;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);    
}

.acervo-link {
    color: #333;
    font-weight: bold;
    text-decoration: underline;
}
.acervo-link:hover {
    color: #56070C;
}

/* ================================== */
/* PÁGINA DE HISTÓRIA                 */
/* ================================== */

/* Banner da Página de História */
.history-banner {
    height: 400px;
    background-size: cover;
    background-position: center;
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    color: white;
}

.history-banner-overlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: rgba(0, 0, 0, 0.5);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 20px;
}

.history-banner h1 {
    font-family: 'Saira Condensed', sans-serif;
    font-size: 4.5rem;
    font-weight: 700;
    text-transform: uppercase;
    text-shadow: 2px 2px 8px rgba(0, 0, 0, 0.7);
    z-index: 3;
}

.history-banner p {
    font-size: 1.2rem;
    margin-top: 10px;
}

/* Contêiner Geral da Página */
.page-container {
    max-width: 1100px;
    margin: 40px auto;
    padding: 0 30px;
}

/* Seções de Conteúdo */
.history-section {
    margin-bottom: 60px;
}

.history-section h2 {
    font-size: 2.2rem;
    font-weight: bold;
    color: #333;
    margin-bottom: 30px;
}

/* Grid para Trajetória (Texto e Imagem) */
.history-content-grid {
    display: grid;
    grid-template-columns: 2fr 1fr;
    gap: 40px;
    align-items: center;
}

.history-text p {
    font-size: 1rem;
    line-height: 1.8;
    color: #555;
    text-align: justify;
}

.history-image {
    max-width: 500px;
    margin-top: 40px;
}

.history-image img {
    width: 500px;
    height: auto;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
}

/* Linha do Tempo */
.timeline {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
}

.timeline-item {
    background-color: #EAEAEA;
    padding: 25px;
    text-align: center;
    border-radius: 4px;
}

.timeline-item h3 {
    font-size: 1.8rem;
    font-weight: bold;
    color: #56070C;
    margin-bottom: 10px;
}

.timeline-item p {
    font-size: 1rem;
    color: #333;
}

/* Galeria Histórica */
.gallery {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
}

.gallery-item {
    text-align: center;
}

.gallery-item img {
    width: 100%;
    height: 200px;
    object-fit: cover;
    border-radius: 4px;
    margin-bottom: 15px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.1);
}

.gallery-item p {
    font-size: 0.9rem;
    color: #666;
}

/* Legado Cultural */
.legacy-text {
    font-size: 1rem;
    line-height: 1.8;
    color: #555;
    text-align: justify;
}

/* Responsividade para a Página de História */
@media (max-width: 992px) {
    .history-content-grid {
        grid-template-columns: 1fr;
        text-align: center;
    }

    .timeline {
        grid-template-columns: repeat(2, 1fr);
    }

    .gallery {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 480px) {
    .timeline {
        grid-template-columns: 1fr;
    }
}

.carrossel {
    position: relative;
    width: 100%;
    max-width: 1558px;
    height: 400px;
    margin: 0 auto;
    overflow: hidden;
}

.carrossel img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: none;
}

.carrossel button {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 40px;
    height: 40px;
    border: none;
    background: rgba(0,0,0,0.5);
    color: white;
    font-size: 30px;
    border-radius: 50%;
    cursor: pointer;
    z-index: 10;
}

.carrossel .prev {
    left: 10px;
}

.carrossel .next {
    right: 10px;
}


/* ================================== */
/* INÍCIO DO CSS DA PÁGINA ACERVO     */
/* ================================== */

/* FONTES USADAS (Saira Condensed e Work Sans) */

/* 1. BANNER SUPERIOR COM TÍTULO */
.acervo-banner {
    /* O 'padding-top' do seu 'style.css' pode interferir, 
       mas vamos assumir que o 'fixed-top' da navbar cuida disso */
    height: 400px;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
    overflow: hidden;
    /* Remove a classe .banner-paginas que limita a altura */
}

.acervo-banner-image {
    width: 100%;
    height: 100%;
    background-size: cover;
    background-position: center;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
}

.acervo-banner-overlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: rgba(0, 0, 0, 0.5); /* Overlay escuro */
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: center;
}

.acervo-banner h1 {
    font-family: 'Saira Condensed', sans-serif; /* Fonte do Título */
    font-size: 4.5rem;
    font-weight: 700;
    text-transform: uppercase;
    text-shadow: 2px 2px 8px rgba(0, 0, 0, 0.7);
    z-index: 3;
}

/* 2. ESTILO UNIFICADO PARA TÍTULOS E TEXTOS */
.titulo-secao {
    font-family: 'Saira Condensed', sans-serif; /* Fonte do Título */
    font-weight: 700;
    text-transform: uppercase;
    color: #333;
    font-size: 2.5rem;
    margin-bottom: 25px;
}

.texto-secao {
    font-family: 'Work Sans', sans-serif; /* Fonte do Texto */
    color: #555;
    font-size: 1.1rem;
    line-height: 1.8;
}

/* 3. GRID DE PEÇAS EM DESTAQUE */
.acervo-card {
    border: 1px solid #e9ecef; /* Borda suave */
    overflow: hidden; 
    background-color: #ffffff;
    height: 100%;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    text-align: center; /* Centraliza o conteúdo do card */
    box-shadow: 0 4px 10px rgba(0,0,0,0.05); /* Sombra suave padrão */
}

.acervo-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 20px rgba(0,0,0,0.1) !important;
}

.acervo-card-img {
    width: 100%;
    height: 300px; /* Altura fixa para as imagens */
    object-fit: cover; /* Garante que a imagem cubra o espaço */
}

.acervo-card-body {
    padding: 25px;
}

.acervo-card-title {
    font-family: 'Saira Condensed', sans-serif; /* Fonte do Título */
    font-weight: 700;
    font-size: 1.5rem;
    color: #C6142B; /* Cor vermelha do seu footer */
    margin-bottom: 10px;
    text-transform: uppercase;
}

.acervo-card-text {
    font-family: 'Work Sans', sans-serif; /* Fonte do Texto */
    font-size: 1rem;
    color: #444;
}

/* 4. RESPONSIVIDADE */
@media (max-width: 768px) {
    .acervo-banner {
        height: 300px;
    }
    .acervo-banner h1 {
        font-size: 3rem;
    }
    
    .titulo-secao {
        font-size: 2rem;
    }

    .acervo-card-img {
        height: 250px; /* Altura menor em telas menores */
    }
}

/*-------------------------------------*/
/* Estilos da Página "Nosso Acervo"    */
/*-------------------------------------*/

/* Hero Slider (Banner) */
.hero-slider {
    width: 100%;
    /* Altura do banner. Ajuste conforme necessário. */
    height: 400px; 
    overflow: hidden;
    position: relative;
    background-color: #333; /* Cor de fallback */
}

.hero-image {
    width: 100%;
    height: 100%;
    background-size: cover;
    background-position: center;
    /* Efeito de "slide" sutil, se houver */
    transition: transform 0.3s ease-in-out; 
}

/* Conteúdo Principal do Acervo */
.acervo-container {
    max-width: 1200px;
    margin: 20px auto;
    padding: 20px;
    text-align: center;
    font-family: 'Work Sans', sans-serif;
}

.acervo-container h1 {
    font-size: 2.5rem;
    color: #56070C; /* Cor principal do tema */
    margin-bottom: 15px;
    font-weight: 700;
}

.acervo-container > p {
    font-size: 1.1rem;
    color: #333;
    line-height: 1.6;
    max-width: 800px;
    margin: 0 auto 30px auto;
}

/* Botões de Filtro */
.filter-buttons {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 15px;
    margin-bottom: 40px;
}

.filter-btn {
    text-decoration: none;
    padding: 10px 25px;
    border: 2px solid #ddd;
    border-radius: 20px;
    color: #555;
    background-color: #f9f9f9;
    font-weight: 600;
    transition: all 0.3s ease;
}

.filter-btn:hover {
    background-color: #eee;
    border-color: #ccc;
}

.filter-btn.active {
    background-color: #56070C;
    color: #ffffff;
    border-color: #56070C;
}

/* Grid de Itens do Acervo */
.acervo-grid {
    display: grid;
    /* 3 colunas em desktop */
    grid-template-columns: repeat(3, 1fr); 
    gap: 30px;
    text-align: left;
}

.acervo-card {
    background-color: #ffffff;
    border-radius: 8px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
    overflow: hidden;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    padding-bottom: 15px; /* Espaço para o botão */
}

.acervo-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.12);
}

.acervo-card img {
    width: 100%;
    height: 250px; /* Altura fixa para as imagens */
    object-fit: cover; /* Garante que a imagem cubra a área */
}

.acervo-card h3 {
    font-size: 1.25rem;
    color: #333;
    margin: 15px 20px 5px 20px;
    font-weight: 700;
}

.acervo-card p {
    font-size: 0.95rem;
    color: #666;
    margin: 0 20px 15px 20px;
    line-height: 1.5;
}

.btn-details {
    display: inline-block;
    text-decoration: none;
    background-color: #333;
    color: #ffffff;
    padding: 8px 18px;
    border-radius: 5px;
    font-weight: 600;
    margin: 0 20px;
    transition: background-color 0.3s ease;
}

.btn-details:hover {
    background-color: #56070C;
}

/* Responsividade do Grid */
@media (max-width: 992px) {
    .acervo-grid {
        /* 2 colunas em tablets */
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 768px) {
    .hero-slider {
        height: 250px;
    }
    .acervo-grid {
        /* 1 coluna em celulares */
        grid-template-columns: 1fr;
    }
    .acervo-container {
        margin-top: 20px;
    }
}

/*-------------------------------------*/
/* Estilos do Rodapé Otimizado         */
/*-------------------------------------*/

.footer {
    background-color: #7c0810; /* Mantém a cor rica */
    color: #ffffff;
    padding: 30px; /* Mais padding vertical para respirar */
    font-family: 'Saira Condensed', sans-serif; /* Usando a fonte do nav-item */
    font-size: 1.1rem;
}

.footer-content-wrapper {
    max-width: 1200px;
    margin: 0 auto;
    display: grid;
    /* Divide em 4 colunas com tamanhos flexíveis */
    grid-template-columns: 0.8fr 1fr 1.2fr 1fr;
    gap: 30px;
}

/* Colunas Gerais */
.footer-column {
    padding: 10px;
}

/* Logo (Diminuído) */
.footer-logo {
    margin: auto;
    display: flex;
    justify-content: center;
    align-items: flex-start;
}

.footer-logo .small-logo {
    max-width: 120px; /* Redução para 120px */
    height: auto;
    /* Aplica um filtro sutil de sombra/brilho no logo branco, se necessário */
    /* filter: drop-shadow(0 0 5px rgba(0, 0, 0, 0.2)); */ 
}

/* Título das Seções (Mais forte) */
.footer-heading {
    color: #ffffff; /* Cor de destaque (Amarelo) */
    font-size: 1.2rem;
    margin-bottom: 20px;
    border-bottom: 2px solid rgba(239, 184, 16, 0.5); /* Linha sutil de divisão */
    padding-bottom: 5px;
    font-weight: 700;
}

/* Links de Navegação */
.footer-navigation {
    display: flex;
    flex-direction: column;
}

.footer-link {
    color: #ffffff;
    text-decoration: none;
    margin-bottom: 8px;
    transition: color 0.2s, transform 0.2s;
    font-size: 1rem;
    display: inline-block; /* Para o efeito de transform funcionar */
}

.footer-link:hover {
    color: #EFB810;
    transform: translateX(5px); /* Move levemente para a direita no hover */
}

/* Seção de Contato/Local (Estrutura de Ícones) */
.footer-contact-info .info-item {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    margin-bottom: 15px;
}

.footer-contact-info .footer-icon {
    font-size: 1.4rem;
    color: #EFB810; /* Ícones em Amarelo Destaque */
    margin-top: 2px;
}

/* Redes Sociais (Estilo Moderno de Ícones) */
.footer-social {
    /* Mantido simples */
}

.social-icons-container {
    display: flex;
    gap: 15px;
    flex-wrap: wrap;
}

.social-link {
    color: #ffffff;
    font-size: 1.8rem; /* Ícones maiores para destaque */
    transition: color 0.2s, transform 0.2s;
}

.social-link:hover {
    color: #EFB810;
    transform: translateY(-3px); /* Efeito de "levitação" no hover */
}

/* Copyright (Mantido) */
.footer-copyright {
    max-width: 1200px;
    margin: auto;
    padding-top: 20px;
    border-top: 1px solid rgba(255, 255, 255, 0.2);
    text-align: center;
    font-size: 0.9rem;
    color: #ddd;
    line-height: 1.5;
}

/* --- RESPONSIVIDADE DO FOOTER (Melhorias) --- */

/* Ajuste sutil em telas médias-grandes para melhor alinhamento */
@media (max-width: 1100px) {
    /* Diminui um pouco o gap e os tamanhos das colunas se a tela começar a apertar */
    .footer-content-wrapper {
        gap: 20px;
        /* Reajusta a proporção para 4 colunas */
        grid-template-columns: 0.7fr 1fr 1.1fr 0.9fr; 
    }
}

/* 1. LAYOUT TABLET (Máximo 992px) */
/* Transição de 4 para 2 colunas */
@media (max-width: 992px) {
    .footer-content-wrapper {
        /* Passa para duas colunas de tamanhos iguais */
        grid-template-columns: 1fr 1fr;
        gap: 40px 30px; /* Mais espaço vertical */
    }
    
    /* Logo: Ocupa a largura total no topo para centralizar e dar destaque */
    .footer-logo {
        grid-column: 1 / -1; /* Faz o logo ocupar as duas colunas */
        justify-content: center; /* Centraliza o logo horizontalmente */
        margin-bottom: 10px;
        padding-bottom: 20px;
        border-bottom: 1px solid rgba(255, 255, 255, 0.15); /* Separador visual */
    }

    /* Redes Sociais: Move para a segunda linha */
    .footer-social {
        order: 4; /* Garante que Redes Sociais fique por último na ordem do grid */
    }
}


/* 2. LAYOUT MOBILE (Máximo 576px) */
/* Transição para layout de pilha (1 coluna) */
@media (max-width: 576px) {
    .footer-content-wrapper {
        grid-template-columns: 1fr; /* Todas as colunas em pilha */
        gap: 30px;
    }
    
    /* O logo já estará em 1 coluna (herança do 992px), mas centralizamos o wrapper: */
    .footer-logo {
        grid-column: 1 / -1; 
        border-bottom: none; /* Remove a linha divisória em mobile */
        margin-bottom: 0;
    }

    /* Centraliza todas as informações dentro das colunas */
    .footer-column {
        text-align: center;
        padding: 0 10px; /* Reduz o padding para usar melhor a tela */
    }
    
    /* Centraliza o título com a linha decorativa */
    .footer-heading {
        margin: 0 auto 15px; /* Centraliza o título */
        width: fit-content; /* Faz a linha decorativa ser apenas do tamanho do texto */
    }
    
    /* Centraliza os links de Navegação */
    .footer-navigation {
        align-items: center;
    }
    
    /* Centraliza o bloco de ícones de Contato/Local */
    .footer-contact-info .info-item {
        /* O bloco é flexível, centralizamos ele dentro do container centrado */
        justify-content: center; 
    }
    
    /* Centraliza os ícones das Redes Sociais */
    .footer-social .social-icons-container {
        justify-content: center;
    }

    /* Copyright */
    .footer-copyright {
        font-size: 0.8rem;
    }
}

/* Responsividade (Ajustado para 3 colunas em telas médias e 1 em telas pe
/* ================================== */
/* CSS DA PÁGINA VISITE-NOS           */
/* ================================== */

/* Banner Estático */
.page-banner {
    height: 400px;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
    overflow: hidden;
    background-color: #333; /* Cor de fallback */
}

.page-banner-image {
    width: 100%;
    height: 100%;
    background-size: cover;
    /* Ajusta a posição da imagem do banner (centro-30% para cima) */
    background-position: center 30%; 
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
}

.page-banner-overlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: rgba(0, 0, 0, 0.5); /* Overlay escuro */
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: center;
}

.page-banner h1 {
    font-family: 'Saira Condensed', sans-serif;
    font-size: 4.5rem;
    font-weight: 700;
    text-transform: uppercase;
    text-shadow: 2px 2px 8px rgba(0, 0, 0, 0.7);
    z-index: 3;
}

/* Container Principal */
.visite-container {
    max-width: 1100px;
    margin: 20px auto;
    padding: 20px;
}

.visite-section {
    margin-bottom: 40px;
}
.visite-section:last-child {
    margin-bottom: 0;
}

/* Título da Seção (Horários, Localização) */
.visite-titulo-secao {
    font-family: 'Saira Condensed', sans-serif;
    font-weight: 700;
    font-size: 2.8rem;
    color: #333;
    text-align: center;
    margin-bottom: 30px;
}

/* Grid de 2 Colunas */
.visite-grid-2col {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 40px;
}

.visite-col p, .visite-col ul {
    font-family: 'Work Sans', sans-serif;
    font-size: 1rem;
    text-align: justify;
    line-height: 1.7;
    color: #3A3A3A;
    margin-bottom: 20px;
}

.visite-col h3 {
    font-family: 'Saira Condensed', sans-serif;
    font-size: 1.8rem;
    font-weight: 700;
    color: #56070C; /* Vermelho do tema */
    margin-bottom: 15px;
}

/* Seção Horários */
#horarios .visite-destaque strong {
    color: #56070C;
}

#horarios h4 {
    font-family: 'Saira Condensed', sans-serif;
    font-weight: 700;
    font-size: 1.2rem;
    color: #333;
    margin-top: 25px;
    margin-bottom: 10px;
}

/* Seção Ingressos */
#ingressos ul {
    list-style: none;
    padding-left: 0;
}

#ingressos ul li {
    position: relative;
    padding-left: 25px;
    margin-bottom: 10px;
}

#ingressos ul li::before {
    content: '•';
    color: #56070C; /* Cor do bullet */
    font-size: 1.5rem;
    position: absolute;
    left: 5px;
    top: -4px; /* Ajuste vertical */
}

/* Divisor <hr> */
.visite-divider {
    border: 0;
    height: 1px;
    background-color: #eeeeee;
    margin: 50px auto;
}

/* Cabeçalho da Seção Localização (com botão) */
.visite-header-com-botao {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap; /* Permite quebrar em telas menores */
    margin-bottom: 30px;
    gap: 20px;
}

.visite-header-com-botao .visite-titulo-secao {
    margin-bottom: 0;
}

.btn-agendar {
    display: inline-block;
    background-color: #56070C;
    color: #ffffff;
    padding: 12px 25px;
    text-decoration: none;
    font-family: 'Saira Condensed', sans-serif;
    font-size: 1.2rem;
    font-weight: 600;
    margin: 10px 0;
    border-radius: 5px;
    transition: background-color 0.3s ease;
    white-space: nowrap;
}
.btn-agendar i {
    margin-right: 10px;
}
.btn-agendar:hover {
    background-color: #3d0508;
}

#mapa img {
    width: 100%;
    height: auto;
    border-radius: 8px;
    border: 1px solid #ddd;
    box-shadow: 0 2px 8px rgba(0,0,0,0.1);
}

#endereco p {
    text-align: justify;
}

/* Responsividade da Página Visite-nos */
@media (max-width: 992px) {
    .visite-grid-2col {
        grid-template-columns: 1fr;
        gap: 30px;
    }
    .visite-container {
        margin: 40px auto;
        padding: 30px;
    }
    .visite-header-com-botao {
        justify-content: center; /* Centraliza o título e o botão */
    }
}

@media (max-width: 768px) {
    .page-banner {
        height: 300px;
    }
    .page-banner h1 {
        font-size: 3rem;
    }
    .visite-container {
        margin: 30px 15px;
        padding: 20px;
    }
    .visite-titulo-secao {
        font-size: 2.2rem;
        text-align: center; /* Centraliza títulos em telas pequenas */
    }
    .visite-header-com-botao .visite-titulo-secao {
         width: 100%; /* Faz o título ocupar a largura */
    }
    .btn-agendar {
        width: 100%;
        text-align: center;
    }
}

/* BOTÃO FLUTUANTE */
.btn-access-float {
  position: fixed;
  right: 25px;
  bottom: 40px;
  width: 55px;
  height: 55px;
  background: #0d6efd;
  color: white;
  border: none;
  border-radius: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 26px;
  cursor: pointer;
  z-index: 9999;
  box-shadow: 0 4px 10px rgba(0,0,0,0.3);
  transition: transform .2s;
}

.btn-access-float:hover {
  transform: scale(1.1);
}

/* MENU */
.access-menu-container {
  position: fixed;
  right: 25px;
  bottom: 105px;
  width: 260px;
  padding: 18px;
  background: #fff;
  border-radius: 14px;
  box-shadow: 0 4px 25px rgba(0,0,0,0.25);
  display: none;
  z-index: 9999;
}

.access-menu-container.show {
  display: block;
}

.access-title {
  font-size: 18px;
  font-weight: 700;
  margin-bottom: 12px;
}

/* BOTÕES */
.access-btn {
  width: 100%;
  background: #efefef;
  border: none;
  padding: 10px 12px;
  margin-bottom: 8px;
  border-radius: 8px;
  display: flex;
  align-items: center;
  gap: 8px;
  cursor: pointer;
  font-size: 15px;
  transition: background 0.2s;
}

.access-btn:hover {
  background: #dcdcdc;
}

.font-control {
  display: flex;
  gap: 10px;
}

.reset {
  background: #ffdddd;
}

.reset:hover {
  background: #ffbcbc;
}

/* ==========================
   MODO ALTO CONTRASTE
========================== */
body.high-contrast {
    background: #000 !important;
    color: #fff !important;
}

body.high-contrast * {
    background-color: transparent !important;
    color: #fff !important;
    border-color: #fff !important;
}

/* Links */
body.high-contrast a {
    color: #00ffff !important;
    text-decoration: underline;
}

/* Botões */
body.high-contrast button,
body.high-contrast .access-btn {
    background: #0d6efd !important;
    color: #000 !important;
    border: 2px solid #000 !important;
}

/* Cards, blocos e containers */
body.high-contrast .acervo-card,
body.high-contrast .footer,
body.high-contrast .navigation,
body.high-contrast .access-menu-container {
    background: #000 !important;
    color: #fff !important;
    border: 2px solid #fff !important;
}

/* Inputs e pesquisa */
body.high-contrast input {
    background: #000 !important;
    color: #fff !important;
    border: 2px solid #fff !important;
}

/* Ícones */
body.high-contrast i {
    color: #fff !important;
}

.skip-link {
    position: absolute;
    top: -40px;
    left: 10px;
    background: #000;
    color: #fff;
    padding: 8px 12px;
    z-index: 2000;
    transition: top .3s;
}
.skip-link:focus { top: 10px; }

/* ================================== */
/*  REFINAMENTOS DE RESPONSIVIDADE    */
/*  (CSS Adicional)                   */
/* ================================== */

/* 1. Breakpoint Adicional para Dispositivos Extramente Pequenos (Mobile First) */
@media (max-width: 400px) {
    /* Diminui o padding e margens globais */
    .header,
    .about,
    .exhibitions,
    .footer,
    .page-container {
        padding-left: 15px;
        padding-right: 15px;
    }

    /* Reduz ainda mais o tamanho da fonte principal dos títulos */
    .hero-overlay h1, 
    .history-banner h1,
    .acervo-banner h1,
    .page-banner h1 {
        font-size: 2.5rem; 
    }

    .about-text h2,
    .exhibitions h2 {
        font-size: 2rem;
    }

    .visite-titulo-secao {
        font-size: 1.8rem;
    }

    /* Oculta seletor de idioma ou move para outra linha se estiver atrapalhando */
    .language-selector {
        flex-direction: column; /* Coloca as bandeiras em coluna se houver espaço limitado */
        align-items: center;
        gap: 5px;
    }

    /* Barra de busca ocupa largura total */
    .search-container {
        width: 100%;
    }
}

/* 2. Responsividade Universal para Mídias */
/* Garante que imagens e vídeos nunca ultrapassem o container */
img, video {
    max-width: 100%;
    height: auto;
    display: block; /* Remove o espaço extra abaixo de imagens inline */
}

/* 3. Refinando Layouts de Grid e Flexbox */

/* Grid de Exibições: Garante 1 coluna em telas pequenas */
@media (max-width: 580px) {
    .exhibitions-grid {
        grid-template-columns: 1fr;
    }
}

/* Timeline: Garante 1 coluna em telas muito pequenas */
@media (max-width: 580px) {
    .timeline {
        grid-template-columns: 1fr;
    }
}

/* About Section: Ajusta o tamanho da imagem e garante centralização */
@media (max-width: 992px) {
    .about-image {
        max-width: 100%; /* Permite que a imagem ocupe a largura total do container */
        text-align: center; /* Centraliza a imagem se for menor que 100% */
    }

    .about-image img {
        width: 100%; 
        height: auto; /* Permite que a altura se ajuste proporcionalmente */
        max-width: 400px; /* Limita o tamanho máximo para não ser excessivamente grande */
    }
}

/* Footer: Garante que as colunas se empilhem mais cedo se necessário */
@media (max-width: 650px) {
    .footer-section {
        flex-direction: column;
        align-items: center;
        text-align: center;
        min-width: unset;
    }
    .footer-icon {
        margin-top: 0;
        margin-bottom: 10px;
    }
    .footer-section div {
        line-height: 1.4;
    }
}

/* Botão Flutuante: Aumenta o espaçamento para evitar toques acidentais em dispositivos móveis */
@media (max-width: 768px) {
    .btn-access-float {
        right: 15px;
        bottom: 20px;
        width: 50px;
        height: 50px;
        font-size: 22px;
    }
    .access-menu-container {
        right: 15px;
        bottom: 85px;
    }
}

/* Carrossel: Ajusta a altura e botões para telas menores */
@media (max-width: 768px) {
    .carrossel {
        height: 300px; 
    }
    .carrossel button {
        width: 30px;
        height: 30px;
        font-size: 20px;
    }
}

/* ================================== */
/*  BOTÃO DE MENU MOBILE (TOGGLE)     */
/* ================================== */

/* Oculta o container por padrão (Desktop) */
.mobile-nav-toggle-container {
    display: none; 
}

.mobile-nav-toggle {
    /* Define o tamanho e a cor do ícone */
    font-size: 30px; 
    color: rgb(66, 224, 39);
    cursor: pointer;
    line-height: 0; /* Ajuda no alinhamento vertical */
    padding: 5px;
}

.mobile-nav-toggle:hover {
    color: #EFB810; /* Cor de hover */
}

/* ------------------------------------- */
/* REGRAS DE RESPONSIVIDADE PARA EXIBIR */
/* ------------------------------------- */

@media (max-width: 992px) {
    /* Exibe o container em telas menores que 992px */
    .mobile-nav-toggle-container {
        display: flex;
        align-items: center;
        /* Posiciona-o absolutamente ou de forma que não atrapalhe o logo/busca */
        position: absolute; 
        top: 20px;
        right: 30px; 
        z-index: 1001; /* Garante que fique acima de outros elementos do header */
    }

    /* Oculta a navegação principal que se transformará em menu mobile */
    .navigation {
        display: none; /* Esta classe deve ser controlada por JS/jQuery para aparecer/desaparecer */
        /* Alternativamente, você pode usar display: none; e depois flex-direction: column no menu mobile */
    }
}

@media (max-width: 768px) {
    /* Ajusta a posição em telas menores se o header-top-row for em coluna */
    .mobile-nav-toggle-container {
        top: 20px;
        right: 15px; /* Mais perto da borda */
    }
}

/* Oculta o texto de detalhes por padrão */
.acervo-card .detail-text {
    display: none;
    margin-top: 10px; /* Adiciona um pequeno espaço acima quando aparecer */
    font-style: italic;
    color: #333;
}

/* Garante que o parágrafo curto sempre apareça. Se você usar apenas uma tag <p> 
   no HTML, o JS terá que alternar o conteúdo, mas com duas tags, a implementação é mais limpa. */
.acervo-card p:first-of-type {
    display: block; 
}

/* === SEÇÃO COM FUNDO + VÍDEO === */
.video-section {
    position: relative;
    width: 100%;
    height: 100vh;
    background-image: url('../img/NovaImgTelaHome.jpg');
    background-size: cover;
    background-position: center;
    background-attachment: fixed;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    overflow: hidden;
}

/* Escurecer imagem */
.video-overlay {
    position: absolute;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.55);
    top: 0;
    left: 0;
}

/* Container do vídeo */
.video-container {
    position: relative;
    width: 70%;
    max-width: 900px;
    z-index: 2;
    overflow: hidden;
    animation: fadeUp 1.2s ease forwards;
}

.video-container .video-embed {
    width: 100%;
    height: 500px;
    border: none;
}

/* Título */
.video-title {
    position: relative;
    z-index: 2;
    text-decoration: none;
    margin-top: 25px;
    color: #fff;
    font-family: "Saira Condensed", sans-serif;
    font-size: 2.8em;
    font-weight: 700;
    text-shadow: 0 0 15px rgba(0,0,0,0.5);
    animation: fadeUp 1.5s ease forwards;
}

.video-title:hover {
    color: #EFB810;
}

/* Animação */
@keyframes fadeUp {
    from {
        opacity: 0;
        transform: translateY(40px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* === RESPONSIVO === */
@media (max-width: 768px) {
    .video-section {
        height: auto;
        padding: 60px 0;
        background-attachment: scroll;
    }

    .video-container .video-embed {
        height: 250px;
    }

    .video-title {
        font-size: 2em;
        text-align: center;
        padding: 0 15px;
    }

    .video-container {
        width: 90%;
    }
}

@media (max-width: 480px) {
    .video-container .video-embed {
        height: 200px;
    }

    .video-title {
        font-size: 1.7em;
    }
}

.modal-overlay {
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,0.85);
    display: flex;
    justify-content: center;
    align-items: center;
    opacity: 0;
    pointer-events: none;
    transition: 0.3s;
    z-index: 5000;
}

.modal-overlay.active {
    opacity: 1;
    pointer-events: all;
}

.modal-content {
    background: #fff;
    border-radius: 16px;
    padding: 24px;
    width: 92%;
    max-width: 900px;
    position: relative;
    animation: zoomIn 0.25s ease;
    box-shadow: 0 20px 60px rgba(0,0,0,0.4);
}

@keyframes zoomIn {
    from {transform: scale(0.92);}
    to {transform: scale(1);}
}

/* ✅ X agora flutua fora da imagem */
.modal-close {
    position: absolute;
    top: -18px;
    right: -18px;
    width: 42px;
    height: 42px;
    background: #7c0810;
    color: #fff;
    border-radius: 50%;
    font-size: 22px;
    font-weight: bold;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    z-index: 10;
    transition: 0.2s;
}

.modal-close:hover {
    background: #EFB810;
    color: #7c0810;
}

/* ✅ ÁREA DE ZOOM REAL */
.modal-image-container {
    width: 100%;
    height: 480px;
    overflow: hidden;
    border-radius: 12px;
    position: relative;
    cursor: grab;
    background: #000;
}

.modal-image-container img {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%) scale(1);
    transform-origin: center;
    transition: transform 0.05s linear;
    user-select: none;
    pointer-events: none;
}

#modal-title {
    margin-top: 22px;
    font-size: 1.5rem;
}

#modal-text {
    margin-top: 10px;
    line-height: 1.7;
    font-size: 1rem;
}

.modal-image-container {
    background: transparent;
    overflow: hidden;
    cursor: grab;
}

.pesquisa-header {
    width: 100%;
    text-align: center;
    margin-bottom: 20px;
}

.pesquisa-header h1 {
    font-size: 2.5rem;
    font-weight: 700;
    font-family: 'Saira Condensed', sans-serif;
}

/* --- Seção Pesquisa Header --- */
/* Estilos para a Barra de Pesquisa com Lupa Interna */
.pesquisa-search-box {
    /* Mantém o container como referência */
    position: relative;
    max-width: 600px;
    margin: 10px auto;
}

.pesquisa-search-box input {
    /* Mantém o padding para evitar que o texto se sobreponha à lupa */
    width: 100%;
    padding: 10px 10px 10px 40px; 
    border: 1px solid #ccc;
    border-radius: 25px;
    font-size: 1rem;
}

/* ======================= CORREÇÃO GLOBAL: MODAL BACKDROP (FORÇADA) ======================= */
/* Copiado do seu agendar_visita.html, é necessário remover o 'zoom: 0.90' que quebra o fixed */
html, body { 
    zoom: 1.0 !important; 
    /* Outras correções de overflow e margin devem ser aplicadas no corpo principal 
       para evitar problemas de rolagem duplicada, mas o zoom é a causa principal. */
}

.modal-backdrop {
    position: fixed !important; 
    top: 0 !important;
    left: 0 !important;
    width: 100vw !important; 
    height: 100vh !important; 
    z-index: 1040; 
    background-color: #000; 
}

.modal-backdrop.show {
    opacity: 0.85; 
}


/* ======================= ESTILIZAÇÃO PESQUISA ======================= */

/* Layout de 3 Cards por Linha */
.pesq-container {
    width: 100%;
    max-width: 1200px;
    margin: 40px auto;
    display: grid;
    /* CORREÇÃO: Três cards por linha */
    grid-template-columns: repeat(3, 1fr); 
    gap: 25px;
    padding: 20px;
}

/* Estilo do Card Individual (pesq-card) - Usando estilo similar ao .news-card */
.pesq-card {
    background-color: #fff;
    border-radius: 10px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
    padding: 20px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    min-height: 280px; /* Altura mínima para melhor visualização */
    transition: transform 0.3s, box-shadow 0.3s;
}

.pesq-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 8px 18px rgba(0, 0, 0, 0.2);
}

.pesq-card .ano {
    display: block;
    color: #7c0810;
    font-size: 0.9rem;
    font-weight: 700;
    margin-bottom: 5px;
}

.pesq-card .titulo {
    font-size: 1.6rem;
    color: #333;
    margin-bottom: 5px;
    line-height: 1.2;
    font-weight: 600;
}

.pesq-card .autor {
    font-size: 0.95rem;
    color: #555;
    margin-bottom: 15px;
    font-style: italic;
}

.pesq-card .resumo-curto {
    font-size: 1rem;
    color: #666;
    margin-bottom: 15px;
    flex-grow: 1; /* Permite que o resumo ocupe o espaço restante */
}

/* Estilo do botão de ver resumo */
.pesq-card .btn-primary {
    background-color: #7c0810;
    border-color: #7c0810;
    transition: background-color 0.3s;
}

.pesq-card .btn-primary:hover {
    background-color: #56070C;
    border-color: #56070C;
}

/* Responsividade para Pesquisa */
@media (max-width: 992px) { 
    .pesq-container {
        grid-template-columns: repeat(2, 1fr); 
    }
}
@media (max-width: 768px) { 
    .pesq-container {
        grid-template-columns: 1fr; 
        padding: 0 10px;
    }
}
/* ======================= RESPONSIVIDADE (NOTÍCIAS) ======================= */

/* Tablets e Telas Médias */
@media (max-width: 992px) {
    .main-news-list {
        grid-template-columns: repeat(2, 1fr); /* 2 colunas */
    }
    .titulo-secao {
        font-size: 2.5rem;
    }
}

/* Celulares e Telas Pequenas */
@media (max-width: 768px) {
    .main-news-list {
        grid-template-columns: 1fr; /* 1 coluna */
    }
    .noticias-container {
        padding: 0 10px;
    }
    .news-card-image {
        height: 180px;
    }
}

/* ======================= PAGINAÇÃO (Reaproveitamento) ======================= */

.pagination-container {
    display: flex;
    justify-content: center;
    margin: 40px 0 60px 0;
}

.pagination {
    display: flex;
    padding-left: 0;
    list-style: none;
    border-radius: 0.25rem;
}

.page-item .page-link {
    color: #7c0810;
    background-color: #fff;
    border: 1px solid #dee2e6;
    padding: 8px 15px;
    margin: 0 2px;
    text-decoration: none;
    border-radius: 5px;
    transition: all 0.3s;
}

.page-link:hover {
    color: #fff;
    background-color: #7c0810;
    border-color: #7c0810;
}

.page-item.active .page-link {
    color: #fff;
    background-color: #7c0810;
    border-color: #7c0810;
    pointer-events: none;
}

/* No seu arquivo style.css */
.audio-description-text {
    display: none; 
    /* Você também pode usar um estilo visual específico para o texto de descrição */
    background-color: #ffffe0; 
    border: 1px solid #ccc;
    padding: 5px;
}

body.audio-description-on .audio-description-text {
    display: block; /* A descrição aparece! */
}

.cards-container {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    margin-top: 25px;
    justify-content: center;
}

.card-mvv {
    background: #ffffff;
    padding: 25px;
    border-radius: 12px;
    width: 300px;
    box-shadow: 0 4px 15px rgba(0,0,0,0.1);
    text-align: center;
    transition: 0.3s ease;
    border: 2px solid #7c0810;
}

.card-mvv:hover {
    transform: translateY(-5px);
    box-shadow: 0 6px 20px rgba(0,0,0,0.15);
}

.card-mvv h3 {
    font-size: 1.5rem;
    margin-bottom: 10px;
}

.card-mvv p {
    font-size: 1rem;
    color: #555;
}

/* --- ESTILOS DO DIVISOR DE GRAFISMO --- */

.grafismo-divider-full {
    /* Define uma altura mínima para o divisor */
    height: 70px; 
    
    /* Centraliza o divisor na página */
    width: 100%;
    
    /* PROPRIEDADES PRINCIPAIS DA IMAGEM */
    background-image: url('../img/elemento_INDIGENA.svg'); /* Caminho para a imagem do grafismo */
    
    /* Repete o grafismo apenas horizontalmente (eixo X) */
    background-repeat: repeat-x; 
    
    /* Garante que o padrão cubra toda a largura do divisor */
    background-size: auto 100px; /* 'auto' para largura, 100px para altura da imagem */
    
    /* Faz a imagem começar na esquerda */
    background-position: left center;
}

/* Opcional: Estilo para o ícone de bullet point */
.grafismo-icon {
    /* Ajuste o caminho da imagem e o tamanho conforme necessário */
    display: inline-block;
    width: 40px;
    height: 40px;
    background-image: url('../img/elemento_INDIGENA.svg');  /* Use a imagem completa ou uma versão cortada/ícone */
    background-size: 100% 100%;
    margin-right: 8px;
    vertical-align: middle;
}

/* ============================
   MENU MOBILE FUNCIONAL
============================ */

.menu-toggle {
    display: none;
    background: none;
    border: none;
    font-size: 2rem;
    color: white;
    cursor: pointer;
}

/* Tablet */
@media (max-width: 1024px) {
    .nav-left span,
    .nav-right span {
        display: none;
    }
}

/* Celular */
@media (max-width: 768px) {
    .menu-toggle {
        display: block;
        position: absolute;
        top: 25px;
        right: 5px;
        font-size: 2rem;
        color: white;
    }

    .nav-left,
    .nav-right {
        width: 100%;
        display: none;
        flex-direction: column;
        align-items: center;
        background: #7c0810;
        top: 35px;
        padding: 7px 0;
        gap: 14px;
    }

    .nav-left.active span,
    .nav-right.active span {
        display: inline;
    }

    .nav-left.active,
    .nav-right.active {
        display: flex;
    }

    .nav-item {
        font-size: 1.1rem;
    }

    .search-container {
        width: 100%;
        margin-top: 40px;
        display: flex;
        justify-content: center;
    }

    .search-input {
        width: 90%;
    }

    .language-selector {
    margin-top: 30px;
    display: flex;
    align-items: center;
}
}

@media (max-width: 768px) {
    .header-right {
        width: 100%;
        display: none;
    }

    .nav-right.active + .header-right {
        display: flex;
        justify-content: center;
        padding: 15px 0;
        background: #7c0810;
    }

    .header-right .search-container {
        width: 90%;
        max-width: 320px;
    }
}

@media (max-width: 768px) {
    .logo-container {
        width: 78px;
        height: 78px;
        border-radius: 50%;
        background: white;

        display: flex;
        align-items: center;
        justify-content: center;

        position: absolute;
        top: 45px;
        left: 46%;
        transform: translate(-50%, -50%);
        z-index: 3000;
    }

    .logo-img {
        width: 70px;
        height: 120px;
        object-fit: cover;
    }
}


@media (max-width: 768px) {
    .navigation {
        flex-wrap: wrap;
        position: relative;
    }

    .nav-left,
    .nav-right {
        width: 100%;
        max-width: 100%;
        box-sizing: border-box;
    }
}

@media (max-width: 768px) {
    .header {
        position: relative;
        min-height: 120px;
        padding-top: 15px;
        padding-bottom: 15px;
    }
}


@media (max-width: 768px) {
    .nav-left.active,
    .nav-right.active {
        position: relative;
        z-index: 1000;
    }
}

/* ===== DESKTOP PADRÃO ===== */

.about-content,
.exhibitions-content {
    max-width: 1250px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 50px;
    align-items: center;
}

.about-image img,
.exhibition-image img {
    width: 100%;
    height: auto;
    border-radius: 12px;
}

.about-text p {
    line-height: 1.7;
    text-align: justify;
}



/* ===== MOBILE: TEXTO EM CIMA, IMAGEM EMBAIXO ===== */

@media (max-width: 768px) {

    .about-content,
    .exhibitions-content {
        display: flex;              /* TROCA grid por flex */
        flex-direction: column;     /* empilha */
        gap: 25px;
    }

    .about-text {
        order: 1;   /* TEXTO PRIMEIRO */
    }

    .about-image,
    .exhibition-image {
        order: 2;   /* IMAGEM DEPOIS */
    }

    .about-text h2 {
        font-size: 3.5rem;
        text-align: center;
    }

    .about-text p {
        font-size: 0.95rem;
        text-align: left;
        line-height: 1.6;
    }
}
/* -------------------------------------------------------------------------- */
/* === MEDIAS QUERIES PARA RESPONSIVIDADE (MOBILE / TABLET) === */
/* -------------------------------------------------------------------------- */

@media (max-width: 768px) {
    
    /* === Ajuste do Container de Cards (.pesq-container) === */
    .pesq-container {
        /* Anula o grid de múltiplas colunas em telas menores */
        grid-template-columns: 1fr;
        gap: 20px; /* Reduz o espaço entre os cards */
        padding: 20px 5vw; /* Garante padding lateral em dispositivos menores */
    }
    
    /* === Ajuste dos Cards Individuais === */
    .pesq-card {
        padding: 10px; /* Reduz o padding interno do card */
    }
    
    .pesq-card .titulo {
        font-size: 1.5rem; /* Reduz o tamanho do título para caber melhor */
    }
    
    .pesq-card .resumo {
        font-size: 0.95rem; /* Reduz a fonte do resumo */
    }
    
}
@media (max-width: 600px) {
    
    /* === Ajuste do Cabeçalho e Título === */
    .pesquisa-header {
        padding: 0 5vw; /* Garante padding lateral */
    }

    .pesquisa-header h1 {
        font-size: 2rem; /* Torna o título menor */
    }
    
    /* === Ajuste da Barra de Pesquisa (search-box) === */
    .pesquisa-search-box {
        max-width: 100%; /* Ocupa a largura total na tela */
        padding: 0 5vw; /* Mantém o espaçamento lateral dentro do container */
        margin: 10px 0; /* Ajusta a margem vertical */
    }
    
    /* === Ajuste dos Filtros === */
    .pesquisa-filtros {
        flex-wrap: wrap; /* Permite que os botões quebrem a linha */
        justify-content: space-between; /* Distribui os botões horizontalmente */
        padding: 0 5vw; /* Mantém o espaçamento lateral */
    }
    
    .filtro-btn {
        /* Faz com que cada botão ocupe quase metade da largura para dispor dois por linha */
        flex-basis: 48%; 
        margin-bottom: 10px; /* Adiciona espaço vertical entre as linhas de botões */
        padding: 8px 10px;
        font-size: 0.9rem;
    }
}

/* ===================================================== */
/* ======================= NOTÍCIAS E CARDS ======================= */
/* ===================================================== */

.noticias-container {
    max-width: 1200px; /* Limita a largura do conteúdo principal */
    margin: 0 auto;
    padding: 80px 20px 50px; /* Espaçamento superior para compensar o header */
}

.main-news-list {
    display: grid;
    /* Define 3 colunas, ajustando automaticamente para o espaço disponível */
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); 
    gap: 30px; /* Espaço entre os cards */
    margin-top: 40px;
}

.news-card {
    background-color: #ffffff;
    border-radius: 10px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
    overflow: hidden;
    transition: transform 0.3s, box-shadow 0.3s;
    display: flex; /* Garante que o card seja um flex container */
    flex-direction: column;
}

.news-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.15);
}

.news-link {
    text-decoration: none; /* Remove sublinhado do link */
    color: inherit;
    display: flex;
    flex-direction: column;
    height: 100%;
}

.news-card-image {
    width: 100%;
    height: 200px; /* Altura fixa para todas as imagens */
    overflow: hidden;
}

.news-card-image img {
    width: 100%;
    height: 100%;
    object-fit: cover; /* Ajusta a imagem para cobrir o container sem distorção */
    transition: transform 0.5s;
}

.news-card:hover .news-card-image img {
    transform: scale(1.05);
}

.news-card-content {
    padding: 15px;
    flex-grow: 1; /* Faz o conteúdo crescer para preencher o espaço restante */
}

.news-card-content h3 {
    font-size: 1.6rem;
    color: #333;
    margin-bottom: 8px;
    line-height: 1.2;
    min-height: 3.8rem; /* Reserva espaço para 2 linhas de título */
    overflow: hidden;
}

.data-publicacao {
    font-size: 0.9rem;
    color: #777;
}

/* ======================= PAGINAÇÃO ======================= */

.pagination-container {
    margin-top: 40px;
    text-align: center;
}

.pagination {
    display: inline-flex;
    padding-left: 0;
    list-style: none;
    border-radius: 0.25rem;
}

.page-item {
    margin: 0 2px;
}

.page-link {
    display: block;
    padding: 0.5rem 0.75rem;
    text-decoration: none;
    color: #7c0810; /* Cor principal */
    background-color: #fff;
    border: 1px solid #ddd;
    border-radius: 4px;
    transition: all 0.3s;
}

.page-link:hover {
    color: #fff;
    background-color: #7c0810;
    border-color: #7c0810;
}

.page-item.active .page-link {
    color: #fff;
    background-color: #7c0810;
    border-color: #7c0810;
    pointer-events: none; /* Desabilita o clique na página ativa */
}

/* ======================= DETALHE NOTÍCIA ======================= */

.detalhe-container {
    max-width: 900px;
    margin: 0 auto;
}

.detalhe-noticia-content h1 {
    font-size: 3.5rem;
    color: #56070C;
    margin-bottom: 15px;
    line-height: 1.1;
}

.meta-info {
    font-size: 1rem;
    margin-bottom: 25px;
}

.capa-noticia-detalhe {
    margin-bottom: 30px;
}

.capa-noticia-detalhe img {
    width: 100%;
    height: auto;
    border-radius: 12px;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
}

.conteudo-noticia-full {
    line-height: 1.8;
    font-size: 1.1rem;
}

.conteudo-noticia-full p {
    margin-bottom: 1.5rem;
}

.conteudo-noticia-full h2 {
    font-size: 2rem;
    color: #56070C;
    margin-top: 30px;
    margin-bottom: 15px;
}

.btn-voltar {
    display: inline-block;
    padding: 10px 15px;
    background-color: #f4f4f4;
    color: #7c0810;
    border: 1px solid #ddd;
    border-radius: 5px;
    text-decoration: none;
    transition: background-color 0.3s, color 0.3s;
    font-weight: bold;
}

.btn-voltar:hover {
    background-color: #7c0810;
    color: #fff;
}

.bottom-link {
    margin-top: 50px;
}

/* ======================= PESQUISA GERAL (Resultados) ======================= */
.search-results-container {
    max-width: 1000px;
    margin: 0 auto;
}

.page-header {
    border-bottom: 2px solid #ddd;
    padding-bottom: 20px;
    margin-bottom: 30px;
}

.page-header .titulo-secao {
    font-size: 3rem;
    color: #56070C;
    margin-bottom: 10px;
}

.summary {
    font-size: 1.1rem;
    color: #666;
}

.highlight {
    font-weight: 700;
    color: #7c0810;
}

.result-group {
    margin-bottom: 40px;
}

.group-title {
    font-size: 2rem;
    color: #333;
    border-bottom: 1px dashed #ccc;
    padding-bottom: 10px;
    margin-bottom: 20px;
    font-weight: 600; /* Saira Condensed */
}

.group-title i {
    color: #7c0810;
    margin-right: 10px;
}

.result-list {
    list-style: none;
    padding: 0;
}

.result-item {
    background-color: #fff;
    border: 1px solid #e0e0e0;
    border-radius: 8px;
    margin-bottom: 15px;
    transition: box-shadow 0.2s;
}

.result-item:hover {
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}

.result-link {
    display: block;
    padding: 20px 20px 0px 20px;
    text-decoration: none;
    color: #333;
}

.result-link h3 {
    font-size: 1.5rem;
    color: #7c0810;
    margin-bottom: 5px;
    line-height: 1.2;
    font-weight: 700;
}

.result-link h3:hover {
    text-decoration: underline;
}

.result-link .snippet {
    color: #555;
    margin-top: 5px;
}

.source-tag {
    display: inline-block;
    padding: 4px 8px;
    margin: 20px; /* Alinha com o conteúdo */
    font-size: 0.8rem;
    color: #fff;
    background-color: #56070C;
    border-radius: 4px;
}

.no-results-message {
    padding: 30px;
    text-align: center;
    background-color: #fff0f0; /* Um vermelho claro */
    border: 1px solid #f4c5c5;
    border-radius: 8px;
    color: #56070C;
}

.no-results-message p {
    font-size: 1.2rem;
    margin: 5px 0;
}

.no-results-message i {
    margin-right: 10px;
    font-size: 1.5rem;
}

/* Para as seções 1, 2 e 4 */
.history-content-grid,
.content-reverse-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 40px;
    align-items: center;
    margin-bottom: 40px;
}

/* Inverte a ordem para a seção da Luiza Cantofa */
.content-reverse-grid {
    direction: rtl; /* Inverte a ordem lógica */
}
.content-reverse-grid .biography-text {
    direction: ltr; /* Retorna o texto para o normal */
}
.content-reverse-grid .biography-image {
    direction: ltr; /* Garante que a imagem esteja na direita (visualmente) */
}

.history-image img,
.biography-image img {
    width: 100%;
    height: auto;
    object-fit: cover;
}

/* Mobile */
@media (max-width: 768px) {
    .history-content-grid,
    .content-reverse-grid {
        grid-template-columns: 1fr;
    }
    .content-reverse-grid .biography-image {
        /* Move a imagem para o topo no mobile */
        order: -1; 
    }
}

/* Para a seção 5 */
.cards-container {
    display: flex;
    gap: 30px;
    justify-content: center;
    margin-top: 30px;
}
.card-mvv {
    flex: 1;
    max-width: 350px;
    padding: 30px;
    background-color: #ffffff;
    border-radius: 10px;
    box-shadow: 0 5px 15px rgba(0,0,0,0.05);
    text-align: center;
    transition: transform 0.3s;
}
.card-mvv:hover {
    transform: translateY(-5px);
}
.card-mvv i {
    font-size: 2.5rem;
    color: #7c0810;
    margin-bottom: 15px;
}
.card-mvv h3 {
    font-size: 1.5rem;
    color: #56070C;
    margin-bottom: 10px;
}
/* Mobile */
@media (max-width: 768px) {
    .cards-container {
        flex-direction: column;
        align-items: center;
    }
    .card-mvv {
        max-width: 90%;
    }
}

/* Para a seção 6 */
.cta-section {
    padding: 60px 20px;
    margin-top: 40px;
    text-align: center;
}
.cta-cards-container {
    display: flex;
    justify-content: center;
    gap: 30px;
    margin-top: 30px;
}
.cta-card {
    max-width: 400px;
    padding: 30px;
    background-color: #fff;
    border: 2px solid #7c0810;
    border-radius: 10px;
    box-shadow: 0 4px 10px rgba(0,0,0,0.1);
}
.cta-card i {
    font-size: 3rem;
    color: #7c0810;
    margin-bottom: 15px;
}
.btn-cta {
    display: inline-block;
    background-color: #7c0810;
    color: white;
    padding: 10px 20px;
    border-radius: 5px;
    text-decoration: none;
    margin-top: 15px;
    transition: background-color 0.3s;
}
.btn-cta:hover {
    background-color: #56070C;
}

/* Mobile */
@media (max-width: 768px) {
    .cta-cards-container {
        flex-direction: column;
        align-items: center;
    }
}