/* ============================================================================ */
/* PLAYER DE PDF (PlayerPDF.aspx) — casca PROPRIA, independente do player de     */
/* video (nao usa PlayerLayout.ascx / Player.css / player-layout.js).            */
/*                                                                               */
/* Layout: barra superior (nome do curso + Voltar), corpo em 2 colunas — menu    */
/* (indice do PDF + legenda) a esquerda e o leitor (pagina retrato + navegacao)  */
/* a direita. Tudo escopado em .pdf-player; e auto-incluido pelo tema            */
/* (App_Themes/CentralDoAluno/Styles), entao fica inerte nas demais telas.       */
/* ============================================================================ */

.pdf-player {
    --pdf-azul: #024b82;
    --pdf-azul-claro: #007ead;
    --pdf-borda: #d9dee3;
    --pdf-gap: 8px;
    --pdf-sidebar-width: 499px;
    --pdf-header-h: 48px;
    --pdf-page-width: 800px; /* largura da pagina; a faixa do capitulo acompanha */
    --pdf-page-viewport: 825px; /* altura visivel do leitor — fallback/inicial: no desktop o player-pdf.js (ajustarAlturaLeitor) recalcula p/ o corpo caber na viewport; a pagina (mais alta) rola por dentro */

    box-sizing: border-box;
    width: 100%;
    color: #333333;
}

    .pdf-player *,
    .pdf-player *::before,
    .pdf-player *::after {
        box-sizing: border-box;
    }

/* -------------------------------------------------------------------------- */
/* BARRA SUPERIOR                                                              */
/* -------------------------------------------------------------------------- */
.pdf-topbar {
    display: flex;
    align-items: center;
    gap: var(--pdf-gap);
    padding: 14px 18px;
    background: linear-gradient(180deg, #ffffff, #f4f6f8);
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.08);
    margin-bottom: var(--pdf-gap);
}

.pdf-title {
    flex: 1 1 auto;
    min-width: 0;
    font: bold 18px Arial, sans-serif;
    color: #355a9e;
    overflow-wrap: break-word;
}

/* -------------------------------------------------------------------------- */
/* CORPO: MENU (esquerda) + LEITOR (direita)                                  */
/* -------------------------------------------------------------------------- */
.pdf-body {
    position: relative; /* ancora o handle flutuante de reexibir o menu */
    display: flex;
    align-items: stretch;
    gap: var(--pdf-gap);
    overflow: hidden; /* recorta o menu ao deslizar para fora (colapsado) */
}

/* -------------------------------------------------------------------------- */
/* SIDEBAR: indice do PDF + legenda                                           */
/* -------------------------------------------------------------------------- */
.pdf-sidebar {
    flex: 0 0 var(--pdf-sidebar-width);
    width: var(--pdf-sidebar-width);
    position: relative;
    background: #ffffff;
    border: 1px solid var(--pdf-borda);
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.06);
    overflow: hidden;
    transition: margin-left 0.3s ease;
}

/* MENU COLAPSADO: desliza o sidebar para fora pela esquerda (largura + gap), e o    */
/* leitor (.pdf-main, flex:1) assume o espaco livre. O sidebar mantem os 320px       */
/* internos (sem reflow do conteudo); o .pdf-body recorta o que sai da tela.         */
.pdf-body.pdf-menu-colapsado .pdf-sidebar {
    margin-left: calc(-1 * (var(--pdf-sidebar-width) + var(--pdf-gap)));
}

/* Reaplicacao do estado a cada postback (UpdatePanel re-renderiza o .pdf-body):     */
/* suprime a transicao para o menu nao "piscar" fechando a cada virada de pagina.    */
.pdf-body.pdf-sem-anim .pdf-sidebar {
    transition: none;
}

/* Handle de colapso (compartilhado): quadrado branco arredondado com icone, no      */
/* estilo do .toggleSlider do PlayerV2. Um fica no cabecalho (recolher) e o outro     */
/* flutua na beira esquerda do .pdf-body (reexibir).                                  */
.pdf-toggle {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 30px;
    height: 30px;
    padding: 0;
    border: 1px solid #e0e0e0;
    border-radius: 8px;
    background: #ffffff;
    color: #1f2937; /* ardosia, mesma cor do icone do toggle no PlayerV2 */
    cursor: pointer;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12);
}

    .pdf-toggle:hover {
        background: #f3f4f6;
    }

    .pdf-toggle svg {
        display: block;
    }

/* Flutuante: oculto com o menu aberto; aparece na beira esquerda do leitor quando   */
/* colapsado.                                                                         */
.pdf-menu-reabrir {
    position: absolute;
    left: 0;
    top: 8px;
    z-index: 20;
    display: none;
}

.pdf-body.pdf-menu-colapsado .pdf-menu-reabrir {
    display: inline-flex;
}

/* Cabecalho no estilo do .slider-header do PlayerV2: faixa clara com gradiente     */
/* sutil, linha divisoria e titulo azul (bold 14px), no lugar do azul-escuro solido.*/
.pdf-sidebar-head {
    display: flex;
    align-items: center;
    gap: 8px;
    min-height: var(--pdf-header-h);
    padding: 6px 14px;
    background: linear-gradient(to bottom, #f9fafb, #f3f4f6);
    border-bottom: 1px solid #e5e7eb;
    color: #355a9e;
    font: bold 14px Arial, sans-serif;
}

    .pdf-sidebar-head .pdf-head-titulo {
        flex: 1 1 auto;
        min-width: 0;
        overflow-wrap: break-word;
    }

/* Botao de legenda no estilo do .btn-tooltip-info do PlayerV2: transparente com    */
/* "i" azul; ativo (legenda visivel) fica circulo azul com "i" branco.             */
.pdf-legenda-toggle {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: transparent;
    color: #007daf; /* o svg usa fill="currentColor", entao segue esta cor */
    cursor: pointer;
    line-height: 1;
    transition: background-color 0.2s ease, color 0.2s ease;
}

    .pdf-legenda-toggle svg {
        display: block;
    }

    .pdf-legenda-toggle:hover {
        background: #f3f4f6;
    }

/* Ativo (legenda visivel): derivado da classe .pdf-ver-legenda na sidebar (nao */
/* depende de o JS setar .active). Circulo azul com "i" branco.                  */
.pdf-sidebar.pdf-ver-legenda .pdf-legenda-toggle {
    background: #007daf;
    color: #ffffff;
}

/* Corpo do menu posicionado de forma absoluta (abaixo do cabecalho) para NAO       */
/* empurrar a altura da coluna: assim a sidebar so acompanha a altura do leitor     */
/* (align-items: stretch no .pdf-body) e o indice — agora todo expandido — rola por */
/* dentro em vez de esticar tudo.                                                    */
.pdf-sidebar-body {
    position: absolute;
    top: var(--pdf-header-h);
    left: 0;
    right: 0;
    bottom: 0;
    overflow-y: scroll;
    padding: 10px 12px;
}

/* Arvore do indice (asp:TreeView trvIndice). */
.pdf-menu table {
    border-collapse: collapse;
}

.pdf-menu a {
    display: inline-block;
    text-decoration: none;
    color: #333333;
    padding: 3px 0;
    line-height: 1.3;
}

    .pdf-menu a:hover {
        color: var(--pdf-azul-claro);
    }

    /* Item aberto no momento (marcado pelo player-pdf.js pela faixa de PDFID). O    */
    /* overflow limpa os floats internos do node para o fundo azul preencher a linha. */
    .pdf-menu a.pdf-item-atual {
        display: block;
        overflow: hidden;
        background: var(--pdf-azul);
        border-radius: 4px;
    }

        .pdf-menu a.pdf-item-atual,
        .pdf-menu a.pdf-item-atual * {
            color: #ffffff !important;
        }

.pdf-menu img {
    vertical-align: top;
}

/* Alternancia menu <-> legenda no MESMO painel, controlada pela classe             */
/* .pdf-ver-legenda na sidebar (botao "i" no desktop, aba "Legendas" no mobile).     */
/* Padrao: menu visivel, legenda oculta.                                             */
.pdf-legenda {
    display: none;
}

.pdf-sidebar.pdf-ver-legenda .pdf-menu {
    display: none;
}

.pdf-sidebar.pdf-ver-legenda .pdf-legenda {
    display: block;
}

/* Abas "Conteudo | Legendas": ocultas no desktop (o botao "i" faz a troca), meio a  */
/* meio no mobile, no estilo dos cabecalhos de acordeao (.pf-header do PlayerV2).     */
.pdf-conteudo-tabs {
    display: none;
}

.pdf-tab {
    flex: 1 1 50%;
    min-width: 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 14px 16px;
    border: 0;
    background: #f9fafb;
    cursor: pointer;
    text-align: left;
    font: bold 14px Arial, sans-serif;
    color: #355a9e;
    letter-spacing: 0.3px;
}

    .pdf-tab:hover {
        background: #f3f4f6;
    }

.pdf-tab-conteudo {
    border-right: 1px solid #e5e7eb;
}

.pdf-tab-titulo {
    flex: 1;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* Chevron (compartilhado por abas e acordeoes de informacoes). O cabecalho e flex,  */
/* entao o span (flex item) respeita width/height mesmo sem display:inline-block.     */
.pdf-chevron {
    flex-shrink: 0;
    width: 12px;
    height: 12px;
    transition: transform 0.25s ease;
}

    .pdf-chevron::before {
        content: "\25BE"; /* triangulo para baixo */
        font-size: 12px;
        line-height: 1;
        color: #6b7280;
    }

/* Faixa de titulo "LEGENDAS", no estilo do .legenda-title do PlayerV2: banner      */
/* (card roxo com marca d'agua de livro) escalado a 110% sobre o roxo #51439b, com  */
/* texto branco. Valores (78px, background-size 110%, posicao, offset do texto)      */
/* espelham o PlayerV2. As margens negativas sangram a faixa ate as bordas do corpo  */
/* do menu (anulam o padding 10px 12px do body).                                     */
.pdf-legenda-titulo {
    height: 78px;
    margin: -10px -12px 12px;
    padding: 13px 0 0 15px;
    background-color: #51439b;
    background-image: url("../Imagens/CustomizacaoVM/imagens/banner-legenda.png");
    background-repeat: no-repeat;
    background-position: 28% 48%;
    background-size: 110%;
    color: #ffffff;
    font: 500 15px Calibri, Arial, sans-serif;
    letter-spacing: 0.04em;
}

    .pdf-legenda-titulo .pdf-span-legenda {
        position: relative;
        top: 15px;
    }

/* Itens no estilo do PlayerV2: caixa de icone colorida (36x36, cantos          */
/* arredondados) + rotulo. Os icones sao SVGs do Tabler embutidos no markup;     */
/* herdam a cor do traco da caixa (stroke="currentColor").                       */
.pdf-legenda-item {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 10px;
}

.pdf-legenda-item--fim {
    margin-bottom: 4px;
}

.pdf-legenda-icone {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    border-radius: 8px;
}

    .pdf-legenda-icone svg {
        width: 22px;
        height: 22px;
        display: block;
    }

.pdf-legenda-icone--roxo {
    background: #eeedfe;
    color: #635bff;
}

.pdf-legenda-icone--cinza {
    background: #f0f0f0;
    color: #7b7b7b;
}

.pdf-legenda-icone--azul {
    background: #e6f1fb;
    color: #2d8cff;
}

.pdf-legenda-icone--verde {
    background: #eaf3de;
    color: #34c759;
}

.pdf-legenda-icone--vermelho {
    background: #fcebeb;
    color: #e53935;
}

.pdf-legenda-texto {
    font: 500 13px Arial, sans-serif;
    letter-spacing: 0.04em;
    color: #444444;
}

/* Divisor tracejado entre o bloco "curso/topico" e os status (.legenda-divider). */
.pdf-legenda-divider {
    border: none;
    border-top: 1px dashed #cccccc;
    margin: 14px 0;
}

/* -------------------------------------------------------------------------- */
/* COLUNA DIREITA: Desempenho + Progresso/Nota (estilo .pf-right-group do      */
/* PlayerV2). Mesma casca do menu esquerdo — painel branco com sombra,         */
/* cabecalho claro e corpo rolavel — e colapsavel deslizando para fora pela    */
/* direita (espelho do menu, via margem negativa + recorte do .pdf-body).      */
/* -------------------------------------------------------------------------- */
.pdf-right {
    flex: 0 0 var(--pdf-sidebar-width);
    width: var(--pdf-sidebar-width);
    position: relative;
    background: #ffffff;
    border: 1px solid var(--pdf-borda);
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.06);
    overflow: hidden;
    transition: margin-right 0.3s ease;
}

/* Colapsada: desliza para fora pela direita (largura + gap); o leitor (.pdf-main)   */
/* assume o espaco. O .pdf-body (overflow:hidden) recorta o que sai da tela.         */
.pdf-body.pdf-info-colapsado .pdf-right {
    margin-right: calc(-1 * (var(--pdf-sidebar-width) + var(--pdf-gap)));
}

/* Suprime a transicao na reaplicacao do estado a cada postback (sem "piscar"). */
.pdf-body.pdf-sem-anim .pdf-right {
    transition: none;
}

/* Handle flutuante que reexibe a coluna (espelho do .pdf-menu-reabrir, na direita). */
.pdf-info-reabrir {
    position: absolute;
    right: 0;
    top: 8px;
    z-index: 20;
    display: none;
}

.pdf-body.pdf-info-colapsado .pdf-info-reabrir {
    display: inline-flex;
}

/* Handle de recolher (desktop): flutua no canto superior esquerdo da coluna, sobre  */
/* o cabecalho "Desempenho" (que reserva padding a esquerda). Espelha o              */
/* .toggleRightGroup do PlayerV2.                                                     */
.pdf-info-toggle {
    position: absolute;
    top: 9px;
    left: 12px;
    z-index: 15;
}

/* Caixas de informacao (Desempenho / Progresso). No DESKTOP sao secoes contiguas de */
/* uma coluna unica: cabecalho = titulo (nao clicavel) e painel sempre aberto. No    */
/* mobile viram acordeoes independentes (ver o @media).                              */
.pdf-info-header {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    min-height: var(--pdf-header-h);
    padding: 6px 14px;
    border: 0;
    border-bottom: 1px solid #e5e7eb;
    background: linear-gradient(to bottom, #f9fafb, #f3f4f6);
    cursor: default;
    text-align: left;
    font: bold 14px Arial, sans-serif;
    color: #355a9e;
    letter-spacing: 0.3px;
}

.pdf-info-titulo {
    flex: 1;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* Desktop: chevron oculto (o painel nao colapsa). */
.pdf-info-header .pdf-chevron {
    display: none;
}

/* Cabecalho do Desempenho reserva espaco a esquerda para o handle flutuante. */
.pdf-info-desempenho > .pdf-info-header {
    padding-left: 52px;
}

/* Desktop: o cabecalho do Progresso e redundante (o painel ja traz o rotulo         */
/* "Progresso"), entao fica oculto; uma linha unica separa as duas secoes.           */
.pdf-info-progresso > .pdf-info-header {
    display: none;
}

.pdf-info-progresso {
    border-top: 1px solid #e5e7eb;
}

/* Painel: no desktop sempre aberto. */
.pdf-info-panel {
    display: block;
    padding: 14px 16px;
    background: #ffffff;
}

/* Linhas rotulo/valor da caixa de Desempenho (.pf-row/.pf-value do PlayerV2). */
.pdf-info-row {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 12px;
    padding: 7px 0;
    font: 14px Calibri, Arial, sans-serif;
    color: #2c3d5b;
}

.pdf-info-value {
    font-weight: bold;
    text-align: right;
}

.pdf-info-value-destaque {
    color: #970b0b;
}

/* Progresso / Nota (.pf-barra-rotulo/.pf-barra/.pf-nota do PlayerV2). O controle   */
/* BarraProgresso renderiza filhos absolute (altura 0); o wrapper reserva a altura  */
/* para a barra nao vazar.                                                          */
.pdf-info-barra-rotulo {
    margin-bottom: 8px;
    font: 14px Calibri, Arial, sans-serif;
    color: #2c3d5b;
}

.pdf-info-barra {
    position: relative;
    height: 36px;
}

.pdf-info-nota {
    margin-top: 16px;
}

/* Certificado (dropdown de idioma), abaixo das barras de Progresso/Nota. So visivel */
/* quando o aluno concluiu o curso (display alternado no code-behind).               */
.pdf-certificado {
    margin-top: 16px;
}

/* -------------------------------------------------------------------------- */
/* DETALHES DO CURSO: acordeao de largura total abaixo do corpo (descricao,    */
/* publico-alvo, objetivos, conteudo programatico). Fechado por padrao; abre    */
/* no clique do cabecalho (JS) — mesma casca clara dos cabecalhos de info.      */
/* -------------------------------------------------------------------------- */
.pdf-detalhes {
    margin-top: var(--pdf-gap);
    background: #ffffff;
    border: 1px solid var(--pdf-borda);
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.06);
    /* Desktop: o card so aparece quando aberto pelo botao "Detalhes do curso" da barra */
    /* inferior (evita um card vazio quando fechado). No mobile fica sempre visivel.     */
    display: none;
}

    .pdf-detalhes.pdf-aberto {
        display: block;
    }

.pdf-detalhes-header {
    width: 100%;
    /* Desktop: oculto — quem abre/fecha os detalhes e o botao da barra inferior.   */
    /* No mobile (empilhado) volta a aparecer como cabecalho do acordeao (ver @media). */
    display: none;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    min-height: var(--pdf-header-h);
    padding: 12px 16px;
    border: 0;
    background: linear-gradient(to bottom, #f9fafb, #f3f4f6);
    cursor: pointer;
    text-align: left;
    font: bold 14px Arial, sans-serif;
    color: #355a9e;
    letter-spacing: 0.3px;
}

    .pdf-detalhes-header:hover {
        background: #f3f4f6;
    }

.pdf-detalhes-titulo {
    flex: 1;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* Painel fechado por padrao; abre com .pdf-aberto (JS, persistido em sessionStorage). */
.pdf-detalhes-panel {
    display: none;
    padding: 4px 18px 18px;
    /* Desktop nao tem cabecalho acima do painel, entao sem linha divisoria (o card ja */
    /* tem borda). No mobile, com o header, a linha volta (ver @media).                 */
    border-top: 0;
}

.pdf-detalhes.pdf-aberto .pdf-detalhes-panel {
    display: block;
}

.pdf-detalhes.pdf-aberto .pdf-chevron {
    transform: rotate(180deg);
}

/* Secoes (Descricao / Publico-alvo / Objetivos / Conteudo programatico). O texto  */
/* pode vir com HTML (rich text do curso); quebra palavras longas para nao vazar.   */
.pdf-detalhe-secao {
    margin-top: 14px;
}

.pdf-detalhe-titulo {
    margin: 0 0 6px;
    font: bold 14px Arial, sans-serif;
    color: var(--pdf-azul);
}

.pdf-detalhe-texto {
    font: 14px/1.5 Calibri, Arial, sans-serif;
    color: #444444;
    overflow-wrap: break-word;
}

/* -------------------------------------------------------------------------- */
/* LEITOR: pagina do PDF + navegacao                                          */
/* -------------------------------------------------------------------------- */
.pdf-main {
    flex: 1 1 auto;
    min-width: 0;
    text-align: center;
}

.pdf-chapter {
    /* Mesma largura da pagina, centralizada. width:100% + max-width (e nao width fixo  */
    /* + max-width:100%) pelo mesmo motivo da .pdf-page-wrap: dentro do flex .pdf-main   */
    /* o width fixo nao encolhia junto com a coluna e estourava a largura. O max-width   */
    /* limita a 800px e o margin:auto centraliza (as margens dividem a sobra).           */
    width: 100%;
    max-width: var(--pdf-page-width);
    margin: 0 auto;
    /* Ancora a caixa de anotacao (.pdf-anota-box), que "desce" da faixa. */
    position: relative;
    display: flex;
    align-items: center;
    gap: 12px;
    min-height: var(--pdf-header-h);
    padding: 6px 14px;
    font: bold 20px Calibri, Arial, sans-serif;
    color: var(--pdf-azul);
    background: rgba(255, 255, 255, 0.5);
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.08);
}

/* Titulo alinhado a esquerda, ocupando o espaco livre (empurra as acoes p/ a      */
/* direita). Em telas muito estreitas ele quebra em linha (min-width:0).            */
.pdf-chapter-titulo {
    flex: 1 1 auto;
    min-width: 0;
    text-align: left;
    overflow-wrap: break-word;
}

/* Acoes do leitor (Marcacoes / Anotacoes / Sair) a direita da faixa; largura       */
/* natural, sem encolher.                                                           */
.pdf-chapter .pdf-acoes {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
}

/* Pill compartilhado pelas acoes. */
.pdf-chapter .pdf-acao {
    display: inline-flex;
    align-items: center;
    padding: 7px 16px;
    border: 1px solid #d3dae6;
    border-radius: 6px;
    background: #ffffff;
    color: #355a9e;
    font: 700 13px Arial, sans-serif;
    letter-spacing: 0.02em;
    text-decoration: none;
    cursor: pointer;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
}

    .pdf-chapter .pdf-acao:hover {
        background: #f2f7fb;
        border-color: #6397c7;
        color: #4f83b5;
        text-decoration: none;
    }

/* Caixa da pagina, centralizada (retrato). Cap de 800px, responsivo ate a       */
/* largura da coluna (max-width:100% resolve contra a .pdf-main).                 */
.pdf-page-wrap {
    display: inline-block;
    position: relative;
    /* width:100% (nao um px fixo): sendo inline-block dentro do flex .pdf-main, um   */
    /* width fixo (800px) + max-width:100% resolvia o cap contra o tamanho da coluna */
    /* ANTES dela encolher, entao o wrap ficava 800px e nao acompanhava a .pdf-main  */
    /* quando ela apertava — estourando a largura. Com width:100% ele segue a coluna;*/
    /* max-width limita a largura nativa da pagina (800px) p/ nao ampliar/borrar.    */
    width: 100%;
    max-width: var(--pdf-page-width);
    /* Janela fixa: a pagina mantem a altura natural (aspect-ratio na .divPagina,  */
    /* largura intacta) e rola verticalmente por dentro deste wrap.                */
    height: var(--pdf-page-viewport);
    overflow-y: auto;
    overflow-x: hidden;
    margin-top: var(--pdf-gap);
    box-shadow: 2px 4px 10px #c3c3c3;
    scrollbar-width: thin; /* Firefox: barra fina p/ quase nao comer largura da pagina */
}

    /* Chromium/Edge: mesma barra fina. */
    .pdf-page-wrap::-webkit-scrollbar {
        width: 8px;
    }

    .pdf-page-wrap::-webkit-scrollbar-thumb {
        background: #c3c3c3;
        border-radius: 4px;
    }

/* A pagina e uma imagem 800x1132 aplicada como background em #divPagina         */
/* (montado no code-behind). Preenche o wrapper; o aspect-ratio garante a altura */
/* do box sem depender de conteudo interno.                                       */
.pdf-player .divPagina {
    width: 100%;
    aspect-ratio: 800 / 1132;
    position: relative;
    overflow: hidden;
    background-size: contain !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
}

/* Bordas da pagina = clicar para pagina anterior / proxima (folhas). */
.pdf-folha {
    position: absolute;
    top: 0;
    bottom: 0;
    width: 50%;
    height: 100%;
    z-index: 5;
    cursor: pointer;
}

.pdf-folha-ant {
    left: 0;
}

    .pdf-folha-ant:hover {
        background-image: url("../Imagens/Icones/btnAnt.png"), linear-gradient(to left, rgba(0,0,0,0), rgba(0,0,0,0.1));
        background-repeat: no-repeat;
        background-position-x: 5%;
        background-position-y: 48%;
    }

.pdf-folha-prox {
    right: 0;
}

    .pdf-folha-prox:hover {
        background-image: url("../Imagens/Icones/btnProx.png"), linear-gradient(to right, rgba(0,0,0,0), rgba(0,0,0,0.1));
        background-repeat: no-repeat;
        background-position-x: 95%;
        background-position-y: 48%;
    }

/* -------------------------------------------------------------------------- */
/* FERRAMENTAS: marca-texto (grifos) e anotacao                               */
/* -------------------------------------------------------------------------- */

/* Grupo Marcacoes + "i" de ajuda: ancora relativa do balao de instrucoes.            */
.pdf-chapter .pdf-acao-grupo {
    position: relative;
    display: inline-flex;
    align-items: center;
    gap: 4px;
}

/* Botaozinho "i" ao lado da pilula Marcacoes (equivale ao "+" maisConfig do leitor    */
/* antigo): abre/fecha o balao de instrucoes.                                          */
.pdf-chapter .pdf-acao-info {
    width: 20px;
    height: 20px;
    padding: 0;
    font: 700 12px Georgia, serif;
    color: #557fab;
    background: #eef4fa;
    border: 1px solid #cfdbe8;
    border-radius: 50%;
    cursor: pointer;
}

    .pdf-chapter .pdf-acao-info:hover {
        background: #deeaf5;
    }

/* Balao de instrucoes do marca-texto (verde-claro do legado), oculto ate o clique no  */
/* "i". position:absolute ancorado ao grupo — nao empurra a faixa.                     */
.pdf-marca-info {
    display: none;
    position: absolute;
    top: 100%;
    right: 0;               /* acoes ficam a direita da faixa: estende p/ a esquerda */
    z-index: 30;
    width: 320px;
    max-width: 80vw;
    margin-top: 6px;
    padding: 10px 12px;
    text-align: left;
    font: 12px/1.5 Arial, sans-serif;
    color: #333333;
    background: #e6f2d7;
    border: 1px solid #c3c3c3;
    border-radius: 6px;
    box-shadow: 0 6px 18px rgba(0, 0, 0, 0.16);
}

    .pdf-marca-info.pdf-aberto {
        display: block;
    }

/* Ferramenta ativa: pilula destacada (marca-texto ligado / caixa de anotacao aberta). */
.pdf-chapter .pdf-acao.pdf-acao--ativo {
    background: #6397c7;
    border-color: #557fab;
    color: #ffffff;
    box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.2);
}

/* Pagina com anotacao: ponto indicador na pilula Anotacoes. */
.pdf-chapter .pdf-acao.pdf-tem-anota::after {
    content: "";
    width: 7px;
    height: 7px;
    margin-left: 7px;
    border-radius: 50%;
    background: #e6a817;
}

/* Caixa de anotacao (sticky-note), ancorada abaixo da faixa, alinhada a direita. */
.pdf-anota-box {
    display: none;
    position: absolute;
    top: 100%;
    right: 0;
    z-index: 30;
    width: 340px;
    max-width: 92%;
    margin-top: 6px;
    padding: 12px;
    text-align: left;
    background: #fefcc6;
    border: 1px solid #e6dfa0;
    border-radius: 6px;
    box-shadow: 0 6px 18px rgba(0, 0, 0, 0.18);
}

    .pdf-anota-box.pdf-aberto {
        display: block;
    }

.pdf-anota-texto {
    box-sizing: border-box;
    width: 100%;
    min-height: 130px;
    resize: vertical;
    padding: 8px;
    font: 14px/1.4 Arial, sans-serif;
    color: #444444;
    background: #fffef2;
    border: 1px dashed #c9c08a;
    border-radius: 4px;
    
}

.pdf-anota-rodape {
    display: flex;
    justify-content: flex-end;
    margin-top: 8px;
}

.pdf-anota-salvar {
    padding: 6px 18px;
    font: 700 13px Arial, sans-serif;
    color: #ffffff;
    background: #6397c7;
    border: 1px solid #557fab;
    border-radius: 6px;
    cursor: pointer;
}

    .pdf-anota-salvar:hover {
        background: #557fab;
    }

/* Marca-texto ligado: cursor de caneta na pagina; folhas inertes (arrastar nao vira    */
/* pagina); grifos passam a ser clicaveis (editar cor/espessura; duplo-clique apaga).   */
.pdf-player.pdf-marcando .divPagina {
    cursor: url("../Imagens/Icones/cursor-caneta.cur"), crosshair;
    /* Mobile: com marca-texto ligado o toque DESENHA (nao rola/da zoom na pagina). No */
    /* toque nao existe cursor "caneta" — o sinal de modo ligado e a pilula destacada.  */
    touch-action: none;
}

.pdf-player.pdf-marcando .pdf-folha {
    pointer-events: none;
}

.pdf-player.pdf-marcando .pdf-marcador {
    pointer-events: auto;
    cursor: pointer;
}

/* Grifo: retangulo semitransparente posicionado em % dentro do #divPagina (escala com  */
/* a pagina). Inerte por padrao — o clique atravessa p/ as folhas (navegar); so fica     */
/* clicavel com o marca-texto ligado. multiply deixa o texto visivel por baixo.          */
.pdf-player .pdf-marcador {
    position: absolute;
    pointer-events: none;
    border-radius: 2px;
    mix-blend-mode: multiply;
}

/* Popover de cor/espessura (criado pelo JS no body, coords de viewport, acima do grifo). */
.pdf-marca-tools {
    position: fixed;
    z-index: 1000;
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 6px 8px;
    background: #ffffff;
    border: 1px solid #d3dae6;
    border-radius: 6px;
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.2);
    transform: translateY(-115%);
    white-space: nowrap;
}

    .pdf-marca-tools .pdf-marca-cor {
        width: 18px;
        height: 18px;
        padding: 0;
        border: 2px solid transparent;
        border-radius: 4px;
        cursor: pointer;
    }

    .pdf-marca-tools .pdf-marca-esp {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 22px;
        height: 18px;
        padding: 0;
        background: #f2f7fb;
        border: 2px solid transparent;
        border-radius: 4px;
        cursor: pointer;
    }

        .pdf-marca-tools .pdf-marca-esp span {
            display: block;
            width: 14px;
            background: #6b6b6b;
            border-radius: 2px;
        }

    .pdf-marca-tools .pdf-sel {
        border-color: #6397c7;
    }

    /* Divisor entre cores/espessuras e o botao apagar. */
    .pdf-marca-tools .pdf-marca-sep {
        width: 1px;
        align-self: stretch;
        margin: 0 2px;
        background: #e2e8f0;
    }

    /* Botao apagar (lixeira): vermelho discreto, alvo de toque confortavel. O SVG herda */
    /* a cor via fill:currentColor. */
    .pdf-marca-tools .pdf-marca-del {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 24px;
        height: 22px;
        padding: 0;
        color: #b23b3b;
        background: #fbeaea;
        border: 1px solid transparent;
        border-radius: 4px;
        cursor: pointer;
    }

        .pdf-marca-tools .pdf-marca-del:hover {
            color: #ffffff;
            background: #c0392b;
        }

/* Barra de navegacao inferior: caixa branca com "Detalhes do curso" a esquerda e o   */
/* pager (paginas/capitulos + campo "ir para") a direita. Texto em cinza (#949494).   */
.pdf-nav {
    /* Mesma largura da pagina, centralizada (alinha com o leitor e a faixa). width:100% */
    /* + max-width em vez de width fixo + max-width:100% — ver .pdf-page-wrap/.pdf-chapter:*/
    /* dentro do flex .pdf-main o width fixo nao encolhia com a coluna e estourava.        */
    width: 100%;
    max-width: var(--pdf-page-width);
    margin: var(--pdf-gap) auto 0;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--pdf-gap);
    background: #ffffff;
    border: 1px solid var(--pdf-borda);
    color: #949494;
}

/* Botao que abre/fecha o acordeao "Detalhes do curso". So e renderizado quando ha */
/* detalhes (btnDetalhes.Visible = pdfDetalhes.Visible, no code-behind).            */
.pdf-nav-detalhes {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 14px 6px 10px;
    border: 0;
    background-image: linear-gradient(0deg, #00648c, #079dd9);
    color: #ffffff;
    font: 14px Arial, sans-serif;
    font-weight: 600;
    white-space: nowrap;
    cursor: pointer;
    height: 40px;
    /* Anima filter/box-shadow (gradiente nao interpola em transition). */
    transition: filter 0.18s ease, box-shadow 0.18s ease;
}

    /* Hover: aviva o gradiente + brilho azulado, SEM levantar o botao (texto segue     */
    /* branco, diferente do azul-claro anterior, que sumia no fundo azul).               */
    .pdf-nav-detalhes:hover {
        filter: brightness(1.08);
        box-shadow: 0 3px 10px rgba(7, 157, 217, 0.35);
    }

    /* Clique: escurece de leve — feedback tatil. */
    .pdf-nav-detalhes:active {
        filter: brightness(0.96);
        box-shadow: 0 1px 4px rgba(7, 157, 217, 0.3);
    }

    .pdf-nav-detalhes:focus-visible {
        outline: 2px solid #ffffff;
        outline-offset: 2px;
    }

    /* Chevron do botao: caret-down.svg branco (mask), pequeno; gira 180 quando abre   */
    /* (a classe .pdf-aberto e espelhada no botao pelo player-pdf.js).                  */
    .pdf-nav-detalhes .pdf-chevron {
        width: 10px;
        height: 10px;
        background-color: #ffffff;
        -webkit-mask: url("../Imagens/Icones/caret-down-fill.svg") no-repeat center / contain;
        mask: url("../Imagens/Icones/caret-down-fill.svg") no-repeat center / contain;
    }

        /* Remove o triangulo textual (▾) do chevron base — aqui quem desenha e a mask. */
        .pdf-nav-detalhes .pdf-chevron::before {
            content: none;
        }

    .pdf-nav-detalhes.pdf-aberto .pdf-chevron {
        transform: rotate(180deg);
    }

/* Pager em GRID de 5 colunas de posicao FIXA: <<(1) <(2) numero(3,1fr) >(4) >>(5). As    */
/* colunas das setas sao fixas (40px), entao cada slot RESERVA o espaco mesmo com o botao  */
/* oculto — os visiveis nunca mudam de lugar. As duas variantes de < (capitulo/pagina)     */
/* dividem a coluna 2 e as de > a coluna 4 (mutuamente exclusivas). Numero centrado no 1fr. */
.pdf-nav .pdf-nav-inner {
    display: grid;
    grid-template-columns: 40px 40px 1fr 40px 40px;
    align-items: center;
    column-gap: 6px;
    flex: 1 1 auto; /* continua sendo item flex do .pdf-nav */
}

    .pdf-nav-inner .btnPrimeira { grid-column: 1; }
    .pdf-nav-inner .btnAnterior { grid-column: 2; }
    .pdf-nav-inner .pdf-pagina-campo { grid-column: 3; justify-self: center; }
    .pdf-nav-inner .btnProxima { grid-column: 4; }
    .pdf-nav-inner .btnUltima { grid-column: 5; }

    /* Espacamento vem do column-gap; zera a margem lateral global das setas             */
    /* (input[type=submit] { margin: 0 1px }) p/ o botao caber certinho na coluna 40px.   */
    .pdf-nav-inner .btnPrimeira,
    .pdf-nav-inner .btnAnterior,
    .pdf-nav-inner .btnProxima,
    .pdf-nav-inner .btnUltima {
        margin: 0;
    }

/* Setas de CAPITULO (anterior/proximo) saem do pager — sobram so as de pagina:  */
/* << primeira, < anterior, > proxima, >> ultima. O salto de capitulo continua   */
/* disponivel pelo menu lateral (indice).                                        */
.pdf-nav-inner .pdf-cap-nav {
    display: none;
}

.pdf-player input[type=submit] {
    border: 0;
    width: 40px;
    height: 40px;
    margin: 0 1px;
    color: #ffffff;
    cursor: pointer;
    background-repeat: no-repeat;
    background-position: center;
}

/* Setas do pager desenhadas com os carets SVG (App_Themes/.../Icones/caret-left|right). */
/* Via mask: a cor vem do background-color (cinza do tema), recortada pela forma do caret; */
/* as duplas (<<, >>) sao duas camadas do mesmo caret sobrepostas (afastamento nos +-4px). */
.pdf-player .btnPrimeira,
.pdf-player .btnAnterior,
.pdf-player .btnProxima,
.pdf-player .btnUltima {
    background-image: none;
    background-color: #949494;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
    -webkit-mask-size: 24px;
    mask-size: 24px;
}

    .pdf-player .btnPrimeira:hover,
    .pdf-player .btnAnterior:hover,
    .pdf-player .btnProxima:hover,
    .pdf-player .btnUltima:hover {
        background-color: #6f6f6f;
    }

/* Simples: um caret. */
.pdf-player .btnAnterior {
    -webkit-mask-image: url("../Imagens/Icones/caret-left.svg");
    mask-image: url("../Imagens/Icones/caret-left.svg");
}

.pdf-player .btnProxima {
    -webkit-mask-image: url("../Imagens/Icones/caret-right.svg");
    mask-image: url("../Imagens/Icones/caret-right.svg");
}

/* Duplas (<<  >>): dois carets INTEIROS, afastados ~6px do centro para NAO se         */
/* sobreporem — carets solidos sobrepostos viram um borrao (e cortar um com o outro    */
/* comeria a ponta, deixando um risco). Aqui a ponta de tras quase toca a base da       */
/* frente, com um vaozinho no meio: le como << / >>. Ajuste o afastamento nos +-6px.    */
.pdf-player .btnPrimeira {
    -webkit-mask-image: url("../Imagens/Icones/caret-left.svg"), url("../Imagens/Icones/caret-left.svg");
    mask-image: url("../Imagens/Icones/caret-left.svg"), url("../Imagens/Icones/caret-left.svg");
    -webkit-mask-position: calc(50% - 6px) center, calc(50% + 6px) center;
    mask-position: calc(50% - 6px) center, calc(50% + 6px) center;
    -webkit-mask-size: 24px;
    mask-size: 24px;
}

.pdf-player .btnUltima {
    -webkit-mask-image: url("../Imagens/Icones/caret-right.svg"), url("../Imagens/Icones/caret-right.svg");
    mask-image: url("../Imagens/Icones/caret-right.svg"), url("../Imagens/Icones/caret-right.svg");
    -webkit-mask-position: calc(50% - 6px) center, calc(50% + 6px) center;
    mask-position: calc(50% - 6px) center, calc(50% + 6px) center;
    -webkit-mask-size: 24px;
    mask-size: 24px;
}

.pdf-player .btnIr {
    width: 40px;
    background-color: #ffffff !important;
    color: #666666 !important;
}

.pdf-pagina-campo {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin: 0; /* posicao/centralizacao vem do grid do .pdf-nav-inner (col 3, justify-self:center) */
    font: 16px Arial, sans-serif;
}

    .pdf-pagina-campo input {
        width: 40px;
        height: 35px;
        border: 1px solid #dddddd;
        text-align: center;
        font: 16px Arial, sans-serif;
        border: 1px solid #949494 !important;
        border-radius: 2px;
    }

.pdf-oculto {
    display: none !important;
}

/* -------------------------------------------------------------------------- */
/* RESPONSIVO: menu empilha acima do leitor                                    */
/* -------------------------------------------------------------------------- */
@media (max-width: 1200px) {
    /* Duas colunas laterais (menu + informacoes, ~320px cada) espremeriam a pagina */
    /* abaixo de ~1200px; entao tudo empilha — mesmo breakpoint do PlayerV2.         */
    .pdf-body {
        flex-direction: column;
        /* Empilhado: Conteudo/Legendas + Desempenho/Progresso + Detalhes formam UMA */
        /* pilha continua de acordeoes (colados). Zera o gap uniforme (senao separa  */
        /* os tres); a folga acima do leitor volta pelo margin-bottom do .pdf-main.  */
        gap: 0;
    }

    /* Leitor sobe para o topo; os dois menus (indice a esquerda + informacoes a     */
    /* direita) descem para baixo dele — "ambos vao para baixo", como no PlayerV2.   */
    /* margin-bottom: unica folga que sobra (separa o leitor da pilha de acordeoes).  */
    .pdf-main {
        order: -1;
        margin-bottom: var(--pdf-gap);
    }

    /* Janela de scroll do leitor tambem no empilhado (como no desktop): a pagina rola  */
    /* por dentro de uma caixa que CABE na tela, mantendo a barra de navegacao sempre   */
    /* visivel. Altura relativa a viewport — nao os 825px fixos do desktop, que numa    */
    /* tela baixa empurrariam a nav p/ fora — menos a chrome (topbar + faixa + nav). O  */
    /* max-height (com height:auto) faz a caixa abracar a pagina quando ela e menor que */
    /* o teto (sem vao) e rolar quando e maior. Ajuste o 240px se a nav cortar/sobrar.  */
    .pdf-page-wrap {
        height: auto;
        max-height: calc(100vh - 240px);
    }

    .pdf-sidebar,
    .pdf-right {
        flex-basis: auto;
        width: 100%;
    }

    /* Colada na .pdf-sidebar acima: sem a borda de cima, o encontro vira 1 linha so */
    /* (a de baixo da sidebar) em vez de dobrar.                                      */
    .pdf-right {
        border-top: 0;
    }

    /* ---- Menu esquerdo: acordeao com abas "Conteudo | Legendas" ---- */

    /* O cabecalho do desktop (titulo + "i" + recolher) da lugar as duas abas. */
    .pdf-sidebar-head {
        display: none;
    }

    .pdf-conteudo-tabs {
        display: flex;
    }

    /* Corpo do menu no fluxo, rolavel, oculto ate uma aba abrir o acordeao. */
    .pdf-sidebar-body {
        position: static;
        max-height: 60vh;
        overflow-y: auto;
        display: none;
    }

    .pdf-sidebar.pdf-aberto .pdf-sidebar-body {
        display: block;
    }

    /* Aba ativa realcada + chevron apontando p/ cima (derivado de .pdf-ver-legenda). */
    .pdf-sidebar.pdf-aberto:not(.pdf-ver-legenda) .pdf-tab-conteudo,
    .pdf-sidebar.pdf-aberto.pdf-ver-legenda .pdf-tab-legenda {
        background: #eef2f9;
    }

        .pdf-sidebar.pdf-aberto:not(.pdf-ver-legenda) .pdf-tab-conteudo .pdf-chevron,
        .pdf-sidebar.pdf-aberto.pdf-ver-legenda .pdf-tab-legenda .pdf-chevron {
            transform: rotate(180deg);
        }

    /* ---- Coluna direita: dois acordeoes separados (Desempenho / Progresso) ---- */

    .pdf-info-box {
        border-bottom: 1px solid #e5e7eb;
    }

    /* Cabecalhos clicaveis, planos (#f9fafb), ambos visiveis, com chevron. */
    .pdf-info-header {
        min-height: 0;
        padding: 14px 16px;
        border-bottom: none;
        background: #f9fafb;
        cursor: pointer;
    }

        .pdf-info-header:hover {
            background: #f3f4f6;
        }

    .pdf-info-desempenho > .pdf-info-header {
        padding-left: 16px; /* sem handle flutuante no mobile */
    }

    .pdf-info-progresso > .pdf-info-header {
        display: flex; /* volta a aparecer: acordeao proprio */
    }

    .pdf-info-progresso {
        border-top: none; /* cada caixa ja tem seu proprio border-bottom */
    }

    .pdf-info-header .pdf-chevron {
        display: block;
    }

    /* Painel colapsado; abre so com a classe .pdf-aberto (JS no clique do cabecalho). */
    .pdf-info-panel {
        display: none;
    }

    .pdf-info-box.pdf-aberto .pdf-info-panel {
        display: block;
    }

    .pdf-info-box.pdf-aberto .pdf-chevron {
        transform: rotate(180deg);
    }

    /* ---- Detalhes do curso: acordeao proprio (igual Desempenho / Progresso) ---- */

    /* Sempre visivel no empilhado; o cabecalho volta e passa a controlar o painel. */
    /* Colada na .pdf-right acima: sem a folga do desktop e sem a borda de cima, */
    /* fecha a pilha continua de acordeoes.                                       */
    .pdf-detalhes {
        display: block;
        margin-top: 0;
        border-top: 0;
    }

    .pdf-detalhes-header {
        display: flex;
    }

    .pdf-detalhes-panel {
        border-top: 1px solid #e5e7eb; /* com o header de volta, separa cabecalho do conteudo */
    }

    /* Quem abre os detalhes no mobile e o cabecalho; o botao da barra inferior some. */
    .pdf-nav-detalhes {
        display: none;
    }

    /* Colapso e um recurso de desktop: no empilhado as colunas ficam sempre visiveis. */
    /* Esconde os handles e neutraliza um estado colapsado que tenha ficado gravado.    */
    .pdf-menu-toggle,
    .pdf-menu-reabrir,
    .pdf-info-toggle,
    .pdf-info-reabrir {
        display: none !important;
    }

    .pdf-body.pdf-menu-colapsado .pdf-sidebar {
        margin-left: 0;
    }

    .pdf-body.pdf-info-colapsado .pdf-right {
        margin-right: 0;
    }
}

/* Mobile: a faixa do capitulo quebra — titulo em cima (linha inteira, centrado) e */
/* as acoes numa linha propria abaixo, centralizadas.                              */
@media (max-width: 600px) {
    .pdf-chapter {
        flex-wrap: wrap;
        justify-content: center;
    }

    .pdf-chapter-titulo {
        flex: 1 1 100%;
        text-align: center;
    }

    .pdf-chapter .pdf-acoes {
        flex: 1 1 100%;
        flex-wrap: wrap;
        justify-content: center;
    }

    /* Baloes (instrucoes do marca-texto + nota de anotacao): com a faixa quebrada e as  */
    /* acoes centralizadas, o right:0 ancorado ao grupo (pequeno, no meio) jogava parte  */
    /* do balao p/ fora da tela. O grupo vira static -> o balao passa a ancorar na       */
    /* .pdf-chapter (largura cheia) e esticamos os dois de ponta a ponta, dentro da tela. */
    .pdf-chapter .pdf-acao-grupo {
        position: static;
    }

    .pdf-marca-info,
    .pdf-anota-box {
        left: 8px;
        right: 8px;
        width: auto;
        max-width: none;
    }
}

.toast {
    opacity: 1 !important;
}
