.pdf-book-viewer{
  box-sizing:border-box;
  width:100%;
  max-width: var(--pbv-max-width, 1080px);
  margin: 0 auto;
  border:1px solid rgba(0,0,0,.12);
  border-radius:12px;
  overflow:hidden;
  background:rgba(0,0,0,.02);
  display:flex;
  flex-direction:column;
}

.pbv-inline-error{
  padding:12px 14px;
  border:1px solid rgba(255,0,0,.25);
  background:rgba(255,0,0,.06);
  color:#8a0000;
  border-radius:10px;
}

.pdf-book-viewer__toolbar{
  display:flex;
  align-items:center;
  gap:8px;
  padding:8px 10px;
  border-bottom:1px solid rgba(0,0,0,.10);
  background:rgba(255,255,255,.85);
  backdrop-filter:blur(6px);
}

.pbv-btn{
  appearance:none;
  border:1px solid rgba(0,0,0,.18);
  background:#fff;
  border-radius:10px;
  padding:6px 10px;
  cursor:pointer;
  user-select:none;
  line-height:1;
  font-size:14px;
}
.pbv-btn:active{ transform:translateY(1px); }

.pbv-page{ font-size:13px; opacity:.85; }
.pbv-spacer{ flex:1; }

.pdf-book-viewer__stage{
  position:relative;
  overflow:visible;
  touch-action:pan-y;
}

.pbv-book{
  position:relative;
  display:grid;
  grid-template-columns:1fr;
  gap:0;
  padding:10px;
  box-sizing:border-box;
  align-items:start;
  justify-items:center;
}

.pbv-sheet{
  width:100%;
  display:grid;
  place-items:center;
  background:#fff;
  border-radius:12px;
  box-shadow:0 14px 40px rgba(0,0,0,.15);
  overflow:hidden;
  position:relative;
}

.pbv-sheet-left{ display:none; } /* 기본 1페이지 */

.pbv-canvas{
  width:100%;
  height:auto;
  display:block;
}

.pbv-loading, .pbv-error{
  position:absolute;
  left:50%;
  top:70px;
  transform:translateX(-50%);
  padding:10px 12px;
  border-radius:10px;
  background:rgba(0,0,0,.75);
  color:#fff;
  font-size:13px;
  z-index:5;
  max-width:calc(100% - 20px);
  text-align:center;
}

/* ✅ 모바일: 부모 폭 제한을 뚫고 화면 전체 폭(100vw)로 브레이크아웃 */
@media (max-width:720px){
  .pdf-book-viewer{
    width: 100vw !important;
    max-width: 100vw !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
    border-radius: 0;
  }
  .pbv-book{ padding:8px; }
  .pdf-book-viewer__toolbar{ gap:6px; padding:8px; }
  .pbv-btn{ padding:6px 8px; }
}

/* ✅ 전체화면: 스크롤 없이 화면 안에 고정 */
.pdf-book-viewer:fullscreen{
  width: 100vw;
  max-width: 100vw;
  height: 100vh;
  margin: 0;
  border-radius: 0;
}
.pdf-book-viewer:fullscreen .pdf-book-viewer__stage{
  overflow: hidden; /* 스크롤 방지 */
}

/* ==========================
   PBV Top Scrollbar (PC)
   ========================== */

/* wrapper */
.pdf-book-viewer .pbv-top-scroll{
  /* JS에서 display를 토글하므로 display는 건드리지 않음 */
  width: 100% !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;

  /* 높이는 너무 두껍지 않게 + 클릭/드래그 여유 */
  height: 14px !important;
  margin: 8px 0 10px !important;

  /* 깔끔한 톤 */
  border-radius: 999px !important;
  background: linear-gradient(
    to bottom,
    rgba(0,0,0,0.06),
    rgba(0,0,0,0.035)
  ) !important;

  /* 외곽선/입체감 */
  box-shadow:
    inset 0 0 0 1px rgba(0,0,0,0.10),
    inset 0 1px 0 rgba(255,255,255,0.45) !important;

  /* 마우스 UX */
  cursor: ew-resize;
  user-select: none;
  -webkit-user-select: none;

  /* 스크롤 움직임 부드럽게 */
  scroll-behavior: auto;
}

/* hover/focus 상태 */
.pdf-book-viewer .pbv-top-scroll:hover{
  background: linear-gradient(
    to bottom,
    rgba(0,0,0,0.075),
    rgba(0,0,0,0.045)
  ) !important;
}

.pdf-book-viewer .pbv-top-scroll:focus{
  outline: none;
  box-shadow:
    inset 0 0 0 1px rgba(0,0,0,0.16),
    0 0 0 3px rgba(0,0,0,0.06) !important;
}

/* inner: JS가 width를 stage.scrollWidth로 주는 대상 */
.pdf-book-viewer .pbv-top-scroll__inner{
  height: 1px !important;
}

/* Scrollbar styling (WebKit: Chrome/Edge/Safari) */
.pdf-book-viewer .pbv-top-scroll::-webkit-scrollbar{
  height: 12px;
}
.pdf-book-viewer .pbv-top-scroll::-webkit-scrollbar-track{
  background: transparent;
  border-radius: 999px;
}
.pdf-book-viewer .pbv-top-scroll::-webkit-scrollbar-thumb{
  border-radius: 999px;
  background: rgba(0,0,0,0.28);
  border: 3px solid transparent;      /* thumb을 더 둥글고 얇게 보이게 */
  background-clip: padding-box;
}
.pdf-book-viewer .pbv-top-scroll:hover::-webkit-scrollbar-thumb{
  background: rgba(0,0,0,0.38);
  border: 3px solid transparent;
  background-clip: padding-box;
}

/* Firefox */
.pdf-book-viewer .pbv-top-scroll{
  scrollbar-width: thin;
  scrollbar-color: rgba(0,0,0,0.32) transparent;
}

/* 모바일(터치)에서는 JS가 숨기지만 혹시 남을 경우 대비 */
@media (pointer: coarse){
  .pdf-book-viewer .pbv-top-scroll{
    display: none !important;
  }
}

.pdf-book-viewer__stage{
  overflow-anchor: none;
}

