.edicao-digital-viewer {
    --edicao-paper: #fbfaf7;
    --edicao-ink: #242321;
    --edicao-muted: #77736d;
    --edicao-accent: #173d5e;
    --edicao-stage: #efefed;
    width: 100%;
    color: var(--edicao-ink);
}

.edicao-book-stage {
    position: relative;
    width: 100%;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: clamp(10px, 1.8vw, 22px);
    background: var(--edicao-stage);
    border: 1px solid rgba(36, 35, 33, .08);
    border-radius: 3px;
    box-shadow: inset 0 1px 2px rgba(36, 35, 33, .025);
}

.edicao-book {
    position: relative;
    width: 100%;
    max-width: 1100px;
    aspect-ratio: 1.42 / 1;
    margin: auto;
    touch-action: pan-y;
    filter: drop-shadow(0 7px 9px rgba(25, 24, 22, .14));
}

/* Corrige o seletor .sft__wrapper usado pelo CSS distribuído no pacote 2.0.7. */
.edicao-book .stf__wrapper {
    position: relative;
    width: 100%;
    box-sizing: border-box;
}

.edicao-book-stage::after {
    position: absolute;
    z-index: 5;
    top: 5%;
    bottom: 5%;
    left: 50%;
    width: 24px;
    content: "";
    pointer-events: none;
    transform: translateX(-50%);
    background: linear-gradient(90deg,
        transparent 0%,
        rgba(25, 20, 13, .035) 28%,
        rgba(25, 20, 13, .12) 50%,
        rgba(255, 255, 255, .16) 68%,
        transparent 100%);
}

.edicao-book .edicao-pdf-page {
    position: relative;
    display: block;
    overflow: hidden;
    background: var(--edicao-paper);
    box-shadow:
        inset 0 0 0 1px rgba(31, 27, 20, .10),
        0 1px 3px rgba(25, 24, 22, .10);
}

.edicao-book .edicao-pdf-page[data-density="hard"] {
    background: #f4f0e8;
}

.edicao-pdf-page canvas {
    display: block;
    width: 100%;
    height: 100%;
}

.edicao-book-loading {
    position: absolute;
    z-index: 10;
    inset: 0;
    display: grid;
    place-items: center;
    padding: 1rem;
    color: var(--edicao-muted);
    text-align: center;
    background: rgba(251, 250, 247, .92);
}

.edicao-book-loading[hidden] { display: none; }

.edicao-controls {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: .5rem;
    padding: 1.1rem .25rem .55rem;
}

.edicao-controls button,
.edicao-controls a {
    min-height: 39px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .4rem;
    padding: .48rem .78rem;
    border: 1px solid rgba(23, 61, 94, .17);
    border-radius: 3px;
    color: var(--edicao-accent);
    background: #fafafa;
    font: inherit;
    line-height: 1.2;
    text-decoration: none;
    cursor: pointer;
}

.edicao-controls button:hover,
.edicao-controls a:hover { background: #f0f3f5; }

.edicao-digital-viewer > p:first-of-type {
    margin: 0 0 1.15rem;
    color: #4c5359;
    font-size: clamp(1rem, 1.4vw, 1.12rem);
    letter-spacing: .01em;
}

.edicao-controls button:disabled {
    opacity: .45;
    cursor: not-allowed;
}

.edicao-page-count {
    min-width: 125px;
    color: var(--edicao-muted);
    text-align: center;
    font-variant-numeric: tabular-nums;
}

.edicao-pdf-fallback {
    margin: .5rem 0 0;
    color: var(--edicao-muted);
    font-size: .92rem;
}

.edicao-pdf-fallback a { color: var(--edicao-accent); text-decoration: underline; }
.edicao-pdf-fallback[hidden] { display: none; }

.edicao-digital-viewer:fullscreen {
    box-sizing: border-box;
    width: 100vw;
    height: 100vh;
    height: 100dvh;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    gap: .4rem;
    padding: .65rem clamp(10px, 2vw, 28px);
    overflow: hidden;
    background: #e9e9e7;
}

.edicao-digital-viewer:fullscreen > p:first-of-type {
    flex: 0 0 auto;
    margin-bottom: .25rem;
}

.edicao-digital-viewer:fullscreen .edicao-book-stage {
    flex: 1 1 auto;
    min-height: 0;
    max-height: none;
    background: var(--edicao-stage);
    border: 1px solid rgba(36, 35, 33, .08);
    box-shadow: none;
}

.edicao-digital-viewer:fullscreen .edicao-book {
    flex: 0 1 auto;
    width: 100%;
    max-width: 1100px;
    max-height: 100%;
}

.edicao-digital-viewer:fullscreen .edicao-controls {
    flex: 0 0 auto;
    padding: .35rem 0 .1rem;
}

.edicao-digital-viewer:fullscreen .edicao-pdf-fallback { display: none; }

@media (max-width: 767px) {
    .edicao-book-stage { padding: 8px; }
    .edicao-book-stage::after { display: none; }
    .edicao-book {
        aspect-ratio: .71 / 1;
        filter: drop-shadow(0 5px 7px rgba(25, 24, 22, .12));
    }
    .edicao-digital-viewer > p:first-of-type { margin-bottom: .85rem; }
    .edicao-controls { gap: .4rem; padding-top: .85rem; }
    .edicao-controls button,
    .edicao-controls a { padding: .5rem .65rem; font-size: .92rem; }
    .edicao-page-count { flex-basis: 100%; order: -1; }

    .edicao-digital-viewer:fullscreen {
        gap: .25rem;
        padding: .4rem 8px;
    }

    .edicao-digital-viewer:fullscreen .edicao-book {
        width: 100%;
        max-height: 100%;
    }

    .edicao-digital-viewer:fullscreen .edicao-controls {
        gap: .3rem;
        padding: .2rem 0 0;
    }
}
