/* Gnosis Audio Player Styles v2.1.0 */

/* === VARIAVEIS GLOBAIS === */
:root { 
    --pa-cor-primaria: #2c3e50; --pa-cor-primaria-hover: #34495e; --pa-cor-secundaria: #ecf0f1; 
    --pa-cor-fundo-card: #ffffff; --pa-cor-texto: #333; --pa-cor-texto-leve: #555; 
    --pa-cor-texto-muito-leve: #7f8c8d; --pa-cor-borda: #dce4ec; 
    --pa-sombra-leve: rgba(44, 62, 80, 0.08); --pa-sombra-media: rgba(44, 62, 80, 0.12); 
    --pa-raio-borda: 6px; --pa-raio-borda-grande: 10px; --pa-transicao: all 0.25s ease-in-out; 
    --pa-foco-anel: 0 0 0 3px rgba(52, 73, 94, 0.3); --pa-glow-tocando: 0 0 12px rgba(52, 73, 94, 0.1); 
    --pa-cor-destaque: #3498db; --pa-cor-aleatorio-ativo: #e67e22; 
}

/* === ESTRUTURA DA PLAYLIST === */
.playlist-audio-wrapper { font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif; line-height: 1.5; }
.playlist-audio-container { max-width: 1100px; margin: 30px auto; background: var(--pa-cor-secundaria); border-radius: var(--pa-raio-borda-grande); box-shadow: 0 8px 25px var(--pa-sombra-media); overflow: hidden; }
.playlist-audio-aviso { padding: 15px 20px; margin: 20px; border-radius: var(--pa-raio-borda); text-align: center; font-size: 0.9em; background-color: #d1ecf1; border: 1px solid #bee5eb; color: #0c5460; }
.audio-player-fixo { position: sticky; top: 0; z-index: 1000; background: linear-gradient(to bottom, #fff, #f7f9fc); box-shadow: 0 4px 10px var(--pa-sombra-leve); border-bottom: 1px solid var(--pa-cor-borda); }
.audio-player-content { max-width: 800px; margin: 0 auto; padding: 12px 20px; }
.info-audio-atual { text-align: center; margin-bottom: 8px; color: var(--pa-cor-texto-leve); font-size: 0.9em; min-height: 1.2em; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.titulo-audio-display { font-weight: 600; color: var(--pa-cor-primaria); }
.controles-progresso-container { display: flex; align-items: center; gap: 12px; margin: 8px 0; }
.container-progresso { flex-grow: 1; height: 12px; position: relative; cursor: pointer; padding: 3px 0; border-radius: 6px; }
.barra-progresso-fundo { position: absolute; top: 50%; transform: translateY(-50%); width: 100%; height: 6px; background: var(--pa-cor-borda); border-radius: 3px; overflow: hidden; pointer-events: none; }
.barra-progresso-preenchimento { height: 100%; width: 0%; background: var(--pa-cor-primaria); border-radius: 3px; transition: width 0.1s linear; }
.display-tempo { font-size: 0.8em; color: var(--pa-cor-texto-muito-leve); white-space: nowrap; flex-shrink: 0; }
.controles-principais-container { display: flex; justify-content: space-between; align-items: center; gap: 15px; flex-wrap: wrap; margin-top: 8px; }
.botoes-player { display: flex; gap: 10px; }
.botao-controle { background: var(--pa-cor-primaria); border: none; color: white; font-size: 1em; width: 40px; height: 40px; border-radius: 50%; cursor: pointer; transition: var(--pa-transicao); display: inline-flex; align-items: center; justify-content: center; box-shadow: 0 2px 4px var(--pa-sombra-leve); }
.botao-controle:hover:not(:disabled) { background: var(--pa-cor-primaria-hover); transform: translateY(-1px); }
.botao-controle:disabled { opacity: 0.5; cursor: not-allowed; background: #bdc3c7; box-shadow: none; transform: none; }
.btn-aleatorio.ativo { color: var(--pa-cor-aleatorio-ativo); background-color: #fff; border: 1px solid var(--pa-cor-aleatorio-ativo); }
.acoes-extras-player { display: flex; align-items: center; gap: 15px; }
.controle-volume { display: flex; align-items: center; gap: 8px; }
.btn-mudo, .btn-captions, .btn-compartilhar-player { background: transparent; color: var(--pa-cor-primaria); width: 38px; height: 38px; font-size: 1.1em; box-shadow: none; }
.btn-captions.ativo { color: var(--pa-cor-destaque); background-color: rgba(52, 152, 219, 0.1); }
.slider-volume { width: 70px; height: 5px; accent-color: var(--pa-cor-primaria); cursor: pointer; }
.playlist-controles { padding: 18px 25px; border-bottom: 1px solid var(--pa-cor-borda); background: #fcfdff; }
.container-busca { position: relative; max-width: 600px; margin: 0 auto; }
.input-busca { width: 100%; padding: 10px 18px; border: 1px solid var(--pa-cor-borda); border-radius: 50px; font-size: 0.95em; }
.info-busca { position: absolute; right: 18px; top: 50%; transform: translateY(-50%); color: var(--pa-cor-texto-leve); font-size: 0.75em; }
.resultados-pesquisa-container, .playlist-principal-container { padding: 25px; }
.titulo-resultados-pesquisa, .cabecalho-decada { font-size: 1.2em; font-weight: 600; color: var(--pa-cor-primaria); margin: 0 0 18px 0; padding-bottom: 8px; border-bottom: 2px solid var(--pa-cor-primaria); }
.lista-audios-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 18px; }
.sem-resultados { color: var(--pa-cor-texto-leve); padding: 15px 0; text-align: center; }
.audio-card { background: var(--pa-cor-fundo-card); border-radius: var(--pa-raio-borda); padding: 15px; box-shadow: 0 3px 6px var(--pa-sombra-leve); display: flex; gap: 15px; align-items: center; transition: var(--pa-transicao); cursor: pointer; }
.audio-card:hover { transform: translateY(-3px); box-shadow: 0 6px 12px var(--pa-sombra-media); }
.audio-card.tocando { border-left: 4px solid var(--pa-cor-primaria); background-color: #f8faff; }
.audio-numero { flex-shrink: 0; background-color: var(--pa-cor-secundaria); color: var(--pa-cor-primaria); font-weight: 600; width: 38px; height: 38px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 0.8em; }
.audio-card.tocando .audio-numero { background-color: var(--pa-cor-primaria); color: white; }
.audio-conteudo { flex-grow: 1; } .audio-titulo { font-weight: 600; color: var(--pa-cor-texto); font-size: 1em; margin: 0; } .audio-ano { font-size: 0.75em; color: var(--pa-cor-texto-muito-leve); } .audio-acoes { display: flex; gap: 5px; } .botao-acao { background: transparent; border: none; color: var(--pa-cor-texto-leve); font-size: 1.1em; cursor: pointer; padding: 5px; border-radius: 50%; width: 36px; height: 36px; display: flex; align-items: center; justify-content: center; } .botao-acao:hover { color: var(--pa-cor-primaria); background-color: rgba(0,0,0,0.05); } .btn-tocar-card { color: var(--pa-cor-primaria); }
.paginacao { display: flex; justify-content: center; align-items: center; gap: 8px; margin-top: 25px; } .botao-paginacao { background: var(--pa-cor-fundo-card); color: var(--pa-cor-primaria); border: 1px solid var(--pa-cor-borda); width: 34px; height: 34px; border-radius: 50%; cursor: pointer; } .botao-paginacao:disabled { opacity: 0.5; cursor: not-allowed; } .info-pagina { font-size: 0.85em; color: var(--pa-cor-texto-leve); }
.modal-transcricao-overlay { position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0,0,0,0.6); z-index: 2000; display: flex; align-items: center; justify-content: center; } .modal-transcricao-content { background: #fff; width: 90%; max-width: 800px; max-height: 85vh; border-radius: var(--pa-raio-borda-grande); box-shadow: 0 5px 15px rgba(0,0,0,0.3); display: flex; flex-direction: column; } .modal-transcricao-close { position: absolute; top: 10px; right: 15px; font-size: 2em; font-weight: bold; border: none; background: transparent; cursor: pointer; color: var(--pa-cor-texto-leve); } .modal-transcricao-title { padding: 20px; margin: 0; border-bottom: 1px solid var(--pa-cor-borda); font-size: 1.2em; } .modal-transcricao-tabs { display: flex; border-bottom: 1px solid var(--pa-cor-borda); padding: 0 20px; } .tab-button { background: none; border: none; padding: 15px 20px; cursor: pointer; font-size: 1em; color: var(--pa-cor-texto-leve); border-bottom: 3px solid transparent; } .tab-button.active { color: var(--pa-cor-primaria); border-bottom-color: var(--pa-cor-primaria); font-weight: 600; } .modal-transcricao-body { overflow-y: auto; padding: 25px; flex-grow: 1; } .tab-panel { display: none; } .tab-panel.active { display: block; }
.feedback-copia { position: fixed; bottom: 20px; left: 50%; transform: translateX(-50%); background-color: var(--pa-cor-primaria); color: white; padding: 8px 16px; border-radius: var(--pa-raio-borda); font-size: 0.85em; z-index: 2001; opacity: 0; transition: all 0.3s ease; pointer-events: none; } .feedback-copia.visivel { opacity: 1; bottom: 30px; }
.audio-principal::cue { background-color: rgba(0, 0, 0, 0.7); color: #fff; font-size: 16px; padding: 5px; }

/* === PLAYER INDIVIDUAL === */
.gap-single-player-wrapper { background-color: #fff; border-radius: var(--pa-raio-borda-grande); box-shadow: var(--pa-sombra-media); padding: 25px; margin: 30px auto; max-width: 800px; } .gap-single-title { font-size: 1.8em; color: var(--pa-cor-primaria); margin: 0 0 10px; line-height: 1.2; } .gap-single-meta { display: flex; gap: 20px; font-size: 0.9em; color: var(--pa-cor-texto-leve); margin-bottom: 20px; } .gap-single-meta i { margin-right: 6px; color: var(--pa-cor-texto-muito-leve); } .gap-single-audio { width: 100%; margin-bottom: 25px; } .gap-single-tabs-nav { display: flex; border-bottom: 2px solid var(--pa-cor-borda); margin-bottom: 20px; } .gap-tab-button { background: none; border: none; padding: 10px 20px; font-size: 1em; cursor: pointer; color: var(--pa-cor-texto-leve); position: relative; top: 2px; border-bottom: 2px solid transparent; } .gap-tab-button i { margin-right: 8px; } .gap-tab-button.active { color: var(--pa-cor-primaria); border-bottom-color: var(--pa-cor-primaria); font-weight: 600; } .gap-tab-panel { display: none; line-height: 1.7; color: var(--pa-cor-texto); } .gap-tab-panel.active { display: block; animation: fadeIn 0.5s ease; } @keyframes fadeIn { from { opacity: 0; } to { opacity: 1; } }
.gap-error { padding: 15px; background-color: #f8d7da; border: 1px solid #f5c6cb; color: #721c24; border-radius: var(--pa-raio-borda); text-align: center; }