/* ==========================================================================
   ESTILOS DA GALERIA MULTIMÍDIA (Usando Variáveis Globais)
   ========================================================================== */

.galeria-container { max-width: 1200px; margin: 40px auto; padding: 0 20px; }
.galeria-header { text-align: center; margin-bottom: 40px; }
.titulo-galeria { color: var(--texto-titulo); font-size: 2.5rem; margin-bottom: 10px; }
.subtitulo-galeria { color: var(--texto-discreto); font-size: 1.1rem; }

/* Barra de Filtros (Datas e Tipos) */
.barra-filtros { 
    display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; 
    background: var(--bg-caixa); padding: 15px 25px; border-radius: 8px; margin-bottom: 30px; 
    border: 1px solid var(--border-suave); gap: 20px; 
}

.filtros-tipo button { 
    background: none; border: none; padding: 8px 15px; font-weight: bold; 
    color: var(--texto-discreto); cursor: pointer; border-bottom: 3px solid transparent; 
    transition: all 0.3s; font-size: 1rem; 
}

.filtros-tipo button:hover { color: var(--texto-titulo); }
.filtros-tipo button.active { color: var(--cor-destaque); border-bottom-color: var(--cor-destaque); }

.filtro-data { display: flex; gap: 10px; align-items: center; }
.filtro-data select { 
    padding: 8px 12px; border: 1px solid var(--border-forte); 
    background-color: var(--bg-cartao); color: var(--texto-corpo); 
    border-radius: 4px; outline: none; 
}
.select-nucleo { font-weight: bold; background-color: var(--bg-caixa) !important; }

.btn-limpar-filtros { color: #e53e3e; text-decoration: none; font-size: 0.9rem; margin-left: 10px; font-weight: bold; }

/* Grelha e Cartões de Mídia */
.grid-galeria { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 25px; }
.card-midia { 
    background: var(--bg-cartao); border-radius: 8px; overflow: hidden; 
    box-shadow: 0 4px 6px rgba(0,0,0,0.05); border: 1px solid var(--border-suave); 
    transition: transform 0.3s; 
}
.card-midia:hover { transform: translateY(-5px); box-shadow: 0 10px 15px rgba(0,0,0,0.1); }

.midia-preview { 
    width: 100%; height: 200px; background: var(--bg-caixa); position: relative; 
    display: flex; align-items: center; justify-content: center; overflow: hidden; 
}
.midia-preview img, .midia-preview video { width: 100%; height: 100%; object-fit: cover; }

/* Estilo para placeholder de áudio */
.midia-audio-placeholder { width: 100%; height: 100%; display: flex; align-items: center; justify-content: center; background: #102a43; color: white; }
.midia-audio-placeholder i { font-size: 4rem; opacity: 0.3; }

.icone-tipo { position: absolute; top: 10px; right: 10px; background: rgba(0,0,0,0.6); color: white; padding: 5px 10px; border-radius: 20px; font-size: 0.8rem; font-weight: bold; backdrop-filter: blur(4px); }

/* Textos e Info */
.midia-info { padding: 20px; }
.midia-meta-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 10px; }
.midia-data { font-size: 0.8rem; color: var(--texto-discreto); font-weight: bold; }

.badge-nucleo { 
    background: var(--cor-destaque); 
    color: var(--bg-fundo); 
    padding: 3px 8px; 
    border-radius: 4px; 
    font-size: 0.75rem; 
    font-weight: bold; 
    text-transform: uppercase; 
    transition: all 0.3s ease;
}

.midia-titulo { margin: 5px 0 10px 0; font-size: 1.1rem; color: var(--texto-titulo); }
.icone-fixado { color: var(--casies-amarelo); font-size: 1.1rem; margin-right: 5px; transform: rotate(-45deg); }

.midia-descricao { margin: 0 0 15px 0; font-size: 0.9rem; color: var(--texto-corpo); line-height: 1.5; }

.player-audio { width: 100%; margin-top: 10px; }

/* Caixa Vazia */
.galeria-vazia { 
    grid-column: 1 / -1; text-align: center; padding: 60px 20px; 
    background: var(--bg-caixa); border-radius: 8px; border: 1px dashed var(--border-forte); 
}
.galeria-vazia-icone { font-size: 3rem; margin-bottom: 15px; color: var(--border-forte); }
.galeria-vazia-texto { color: var(--texto-discreto); font-size: 1.1rem; }

/* Modal / Lightbox (Mantém as cores fixas para efeito imersivo de visualização) */
.modal-galeria { display: none; position: fixed; z-index: 9999; padding-top: 60px; left: 0; top: 0; width: 100%; height: 100%; overflow: auto; background-color: rgba(16, 42, 67, 0.95); backdrop-filter: blur(5px); }
.modal-conteudo { margin: auto; display: block; max-width: 90%; max-height: 75vh; object-fit: contain; border-radius: 8px; box-shadow: 0 10px 25px rgba(0,0,0,0.5); }
#legendaModal { margin: auto; display: block; width: 80%; max-width: 800px; text-align: center; color: #f8fafc; padding: 20px 0; font-size: 1.1rem; line-height: 1.6; }
.fechar-modal { position: absolute; top: 20px; right: 40px; color: #cbd5e1; font-size: 45px; font-weight: bold; cursor: pointer; transition: 0.3s; }
.fechar-modal:hover { color: #fff; }

.img-clicavel { cursor: zoom-in; transition: 0.3s; }
.img-clicavel:hover { opacity: 0.8; }