@import url('../lib/pdfjs/6.3.289/text-layer.css');

/* Leitor próprio; PDF.js cuida apenas da página e da seleção de texto. */
.pdf-reader { background: #e9edf1; color: var(--ink); font-family: var(--font-sans); }
.pdf-reader [hidden] { display: none !important; }
.pdf-heading { display: flex; align-items: center; gap: 20px; padding: 22px 32px; background: var(--navy-900); color: #fff; }
.pdf-back { display: grid; place-items: center; flex: 0 0 40px; height: 40px; border: 1px solid #ffffff40; border-radius: 50%; font-size: 1.35rem; text-decoration: none; color: #fff; }
.pdf-back:hover { background: #ffffff15; color: #fff; }
.pdf-book-title { flex: 1; min-width: 0; }
.pdf-eyebrow { font-size: .65rem; font-weight: 600; letter-spacing: .15em; }
.pdf-book-title .pdf-eyebrow { color: #d9c28a; }
.pdf-eyebrow span { margin-inline: 8px; opacity: .6; }
.pdf-book-title h1 { color: #fff; font-size: clamp(1.1rem, 1vw + .7rem, 1.65rem); margin: 4px 0; overflow-wrap: anywhere; }
.pdf-book-title p { color: #b7c5d7; font-size: .8rem; margin: 0; }
.pdf-download { flex-shrink: 0; color: #f1dfb0; font-size: .8rem; text-decoration: none; padding: 9px 14px; border: 1px solid #b59b6060; border-radius: 4px; }
.pdf-download:hover { color: #fff; background: #ffffff10; }
.pdf-download span { margin-left: 12px; }
.pdf-toolbar { display: flex; flex-wrap: wrap; align-items: center; gap: 14px; padding: 12px 28px; background: #fff; border-bottom: 1px solid var(--line); }
.pdf-reader button, .pdf-reader select, .pdf-reader input { font: inherit; }
.pdf-reader button, .pdf-reader select { min-height: 38px; color: var(--navy); background: #fff; border: 1px solid var(--line); border-radius: 4px; }
.pdf-reader button { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-width: 38px; padding: 5px 10px; cursor: pointer; }
.pdf-reader button:hover:not(:disabled), .pdf-reader button[aria-pressed="true"], .pdf-reader button[aria-expanded="true"] { background: var(--navy-050); border-color: var(--navy); }
.pdf-reader button:disabled, .pdf-reader select:disabled { opacity: .4; cursor: default; }
.pdf-button-label { font-size: .8rem; }
.pdf-control-group, .pdf-page-form, .pdf-view-controls { display: flex; align-items: center; gap: 6px; }
.pdf-control-group + .pdf-control-group { border-left: 1px solid var(--line); padding-left: 14px; }
.pdf-page-form { margin: 0; }
.pdf-reader .pdf-page-form input { width: 54px; min-height: 38px; padding: 4px; border: 1px solid var(--line); border-radius: 4px; text-align: center; color: var(--navy); font-size: .85rem; appearance: textfield; }
.pdf-page-form input::-webkit-inner-spin-button, .pdf-page-form input::-webkit-outer-spin-button { appearance: none; margin: 0; }
.pdf-page-total { white-space: nowrap; font-size: .8rem; color: var(--muted); padding-inline: 2px 6px; }
.pdf-reader select { width: 154px; padding: 5px 8px; font-size: .8rem; }
.pdf-view-controls { margin-left: auto; }
.pdf-workspace { display: flex; position: relative; height: 76dvh; min-height: 400px; }
.pdf-stage { flex: 1; min-width: 0; overflow: auto; overscroll-behavior: contain; padding: 28px 24px; position: relative; scrollbar-color: #a8b5c3 transparent; }
.pdf-paper { width: max-content; min-width: 100%; }
.pdf-sheet { position: relative; margin-inline: auto; background: #fff; box-shadow: 0 3px 6px #0a1a2e12, 0 16px 45px #0a1a2e12; --scale-round-x: 1px; --scale-round-y: 1px; }
.pdf-sheet canvas { display: block; width: 100%; height: 100%; }
.pdf-message { margin: 40px auto; max-width: 430px; text-align: center; color: var(--muted); }
.pdf-message p { margin-block: 8px 16px; }
.pdf-message a { display: block; font-size: .85rem; margin-top: 16px; }
.pdf-error { color: var(--ink); }
.pdf-stage[aria-busy="true"] .pdf-paper { opacity: .55; }
.pdf-thumbnails { flex: 0 0 188px; overflow-y: auto; overscroll-behavior: contain; padding: 22px 16px; background: #f6f8fa; border-right: 1px solid var(--line); scrollbar-width: thin; }
.pdf-thumbnails > p { color: var(--muted); text-align: center; margin-bottom: 20px; }
.pdf-thumbnails [data-pdf-thumbs] { display: grid; gap: 16px; }
.pdf-reader .pdf-thumb { display: flex; flex-direction: column; padding: 8px; width: 100%; background: transparent; border: 1px solid transparent; font-size: .75rem; }
.pdf-reader .pdf-thumb[aria-current="page"] { background: var(--navy-100); border-color: var(--navy); }
.pdf-thumb-preview { width: 112px; height: 156px; display: grid; place-items: center; background: #fff; box-shadow: var(--shadow-sm); color: var(--muted); }
.pdf-thumb canvas { max-width: 112px; max-height: 156px; width: auto; height: auto; }
.pdf-footer { display: flex; align-items: center; gap: 20px; position: relative; padding: 13px 28px 16px; background: #fff; border-top: 1px solid var(--line); color: var(--muted); font-size: .75rem; }
.pdf-footer [data-pdf-status] { color: var(--navy); font-variant-numeric: tabular-nums; }
.pdf-position-note { margin-left: auto; }
.pdf-footer progress { position: absolute; bottom: 0; left: 0; width: 100%; height: 3px; border: 0; appearance: none; background: var(--line-soft); color: var(--gold); }
.pdf-footer progress::-webkit-progress-bar { background: var(--line-soft); }
.pdf-footer progress::-webkit-progress-value { background: var(--gold); }
.pdf-footer progress::-moz-progress-bar { background: var(--gold); }
body.pdf-focus { overflow: hidden; }
body.pdf-focus > .top-strip, body.pdf-focus > .site-header, body.pdf-focus > .site-footer { display: none; }
body.pdf-focus .pdf-reader, .pdf-reader:fullscreen { position: fixed; inset: 0; z-index: 1000; width: 100%; height: 100dvh; display: flex; flex-direction: column; }
body.pdf-focus .pdf-workspace, .pdf-reader:fullscreen .pdf-workspace { flex: 1; min-height: 0; height: auto; }
body.pdf-focus .pdf-heading, .pdf-reader:fullscreen .pdf-heading { padding-block: 12px; }
body.pdf-focus .pdf-book-title p, .pdf-reader:fullscreen .pdf-book-title p { display: none; }
@media (max-width: 700px) {
    .pdf-heading { display: grid; grid-template-columns: 32px minmax(0, 1fr); padding: 16px; gap: 10px 12px; }
    .pdf-back { flex-basis: 32px; height: 32px; }
    .pdf-book-title .pdf-eyebrow { font-size: .55rem; letter-spacing: .08em; }
    .pdf-book-title h1 { font-size: 1.05rem; }
    .pdf-download { grid-column: 2; justify-self: start; padding: 8px; font-size: .7rem; }
    .pdf-download span { display: none; }
    .pdf-toolbar { gap: 8px; padding: 10px 12px; }
    .pdf-toolbar > [data-pdf-menu] .pdf-button-label, .pdf-view-controls .pdf-button-label { display: none; }
    .pdf-zoom-controls { order: 4; flex-basis: 100%; justify-content: center; }
    .pdf-control-group + .pdf-control-group { padding-left: 0; border-left: 0; }
    .pdf-workspace { height: 70dvh; min-height: 340px; }
    .pdf-stage { padding: 20px 12px; }
    .pdf-thumbnails { position: absolute; inset: 0 auto 0 0; width: 166px; z-index: 3; box-shadow: 5px 0 20px #0a1a2e20; }
    .pdf-footer { padding-inline: 16px; }
    .pdf-position-note { max-width: 155px; text-align: right; font-size: .65rem; }
}
@media print {
    .pdf-heading, .pdf-toolbar, .pdf-thumbnails, .pdf-footer { display: none !important; }
    .pdf-workspace, .pdf-stage { height: auto; overflow: visible; padding: 0; }
    .pdf-sheet { max-width: 100%; box-shadow: none; }
}
