/* ── scheduled-pdf.css ────────────────────────────────────────────────────────
 * Styles for the ScheduledPdf public viewer.
 * Three modes: Paginated (0), Scrollable (1), BookFlip (2).
 * ─────────────────────────────────────────────────────────────────────────── */

/* ── Page wrapper ─────────────────────────────────────────────────────────── */
.scheduled-pdf-page {
    width: 100%;
}

.scheduled-pdf-content {
    margin-bottom: 20px;
}

.scheduled-pdf-fallback {
    padding: 40px 0;
    text-align: center;
    color: #888;
}

/* ── Outer viewer container ───────────────────────────────────────────────── */
/* 100vh = one full viewport height. When the user scrolls the viewer to the
   top of the screen it fills exactly to the bottom edge — no JS needed.    */
.scheduled-pdf-viewer {
    position: relative;
    width: 100%;
    height: 100vh;
    background: #f0f0f0;
    border-radius: 6px;
    overflow: hidden;
    box-sizing: border-box;
}

/* ── Loading / error overlays ─────────────────────────────────────────────── */
.spdf-loading,
.spdf-error {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    font-size: 1.05em;
}
.spdf-loading { color: #666; }
.spdf-error   { color: #c00; display: none; }

/* ── Floating side navigation buttons ────────────────────────────────────── */
.spdf-nav-btn {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 10;
    width: 48px;
    height: 48px;
    border-radius: 50%;
    border: 1px solid #d0d0d0;
    background: rgba(255, 255, 255, 0.92);
    color: #333;
    font-size: 1.05em;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.14);
    transition: background 0.15s, box-shadow 0.15s, opacity 0.15s;
    -webkit-user-select: none;
    user-select: none;
}
.spdf-nav-btn:hover:not(:disabled) {
    background: #fff;
    box-shadow: 0 4px 18px rgba(0, 0, 0, 0.2);
}
.spdf-nav-btn:active:not(:disabled) {
    background: #f0f0f0;
    box-shadow: 0 1px 6px rgba(0, 0, 0, 0.12);
}
.spdf-nav-btn:disabled {
    opacity: 0.2;
    cursor: not-allowed;
    box-shadow: none;
}
.spdf-nav-btn svg {
    display: block;
    pointer-events: none;
}
.spdf-nav-prev { left: 14px; }
.spdf-nav-next { right: 14px; }

/* ── Page number badge (bottom-centre overlay) ────────────────────────────── */
.spdf-page-badge {
    position: absolute;
    bottom: 16px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 10;
    background: rgba(0, 0, 0, 0.46);
    color: #fff;
    font-size: 0.82em;
    font-weight: 500;
    padding: 4px 16px;
    border-radius: 20px;
    white-space: nowrap;
    pointer-events: none;
    -webkit-backdrop-filter: blur(4px);
    backdrop-filter: blur(4px);
}

/* ─────────────────────────────────────────────────────────────────────────────
 * MODE 0 — Paginated
 * ──────────────────────────────────────────────────────────────────────────── */
/* Canvas wrap fills the viewer and centres the page horizontally + vertically */
.spdf-canvas-wrap {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}
.spdf-canvas {
    display: block;
    max-width: 794px; /* A4 at 96 dpi */
    box-shadow: 0 4px 24px rgba(0, 0, 0, 0.22);
    border-radius: 2px;
}

/* ─────────────────────────────────────────────────────────────────────────────
 * MODE 1 — Scrollable
 * ──────────────────────────────────────────────────────────────────────────── */
.spdf-scroll-container {
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 20px;
    overflow-y: auto;
    padding: 20px 16px;
    box-sizing: border-box;
    scroll-behavior: smooth;
}
.spdf-scroll-container::-webkit-scrollbar        { width: 8px; }
.spdf-scroll-container::-webkit-scrollbar-track  { background: #e4e4e4; border-radius: 4px; }
.spdf-scroll-container::-webkit-scrollbar-thumb  { background: #bbb;    border-radius: 4px; }
.spdf-scroll-container::-webkit-scrollbar-thumb:hover { background: #999; }

.spdf-scroll-page {
    width: 100%;
    display: flex;
    justify-content: center;
}
.spdf-scroll-page canvas {
    display: block;
    max-width: 794px; /* A4 at 96 dpi */
    box-shadow: 0 3px 16px rgba(0, 0, 0, 0.18);
    border-radius: 2px;
}

/* ─────────────────────────────────────────────────────────────────────────────
 * MODE 2 — BookFlip
 * ──────────────────────────────────────────────────────────────────────────── */
.spdf-flip-wrap {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}
.spdf-flip-book {
    max-width: 100%;
}
/* StPageFlip depth shadow */
.stf__parent {
    box-shadow: 0 8px 36px rgba(0, 0, 0, 0.24);
}

/* ── Responsive ───────────────────────────────────────────────────────────── */
@media (max-width: 576px) {
    .spdf-nav-btn  { width: 38px; height: 38px; font-size: 0.9em; }
    .spdf-nav-prev { left: 6px; }
    .spdf-nav-next { right: 6px; }
    .spdf-page-badge { font-size: 0.78em; padding: 3px 12px; bottom: 10px; }
    .spdf-scroll-container { padding: 12px 8px; gap: 12px; }
}
