/* =====================================================================
   Protected PDF Viewer — Scroll Mode
   ===================================================================== */
.viewer{position:fixed;inset:0;background:#000;display:flex;flex-direction:column;z-index:1000;
  user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none}
 
/* ── Top bar ── */
.viewer-bar{
  height:58px;flex:0 0 58px;display:flex;align-items:center;justify-content:space-between;
  padding:0 16px;background:rgba(5,7,15,.92);border-bottom:1px solid var(--line);backdrop-filter:blur(10px);
}
.viewer-bar .title{color:#fff;font-weight:700;font-size:.95rem;display:flex;align-items:center;gap:10px;min-width:0}
.viewer-bar .title span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:40vw}
.viewer-tools{display:flex;align-items:center;gap:6px}
.vbtn{
  background:var(--glass);border:1px solid var(--glass-border);color:#fff;width:40px;height:40px;
  border-radius:10px;cursor:pointer;display:grid;place-items:center;font-size:.95rem;transition:.18s;
}
.vbtn:hover{border-color:var(--blue-2);background:var(--panel-2)}
.vbtn:disabled{opacity:.4;cursor:not-allowed}
.zoom-ind{color:var(--sky);font-size:.85rem;width:54px;text-align:center}
 
/* ── Scroll stage: all pages stack vertically ── */
.viewer-stage{
  flex:1;overflow-y:auto;overflow-x:hidden;
  display:flex;flex-direction:column;align-items:center;
  padding:24px 16px;gap:20px;
  background:#04060d;
  position:relative;
}
 
/* ── One wrapper per page ── */
.page-wrap{
  position:relative;
  box-shadow:0 20px 60px rgba(0,0,0,.7);
  background:#fff;
  /* width controlled by JS based on zoom */
  flex-shrink:0;
}
.page-wrap img{display:block;width:100%;height:auto;pointer-events:none;-webkit-user-drag:none;}
 
/* ── Page number badge ── */
.page-badge{
  position:absolute;bottom:8px;right:10px;
  background:rgba(0,0,0,.55);color:#fff;
  font-size:.72rem;font-weight:600;
  padding:2px 8px;border-radius:20px;
  pointer-events:none;z-index:20;
  letter-spacing:.5px;
}
 
/* ── Watermark overlay — 3×4 grid of stamps, covers full page ── */
.wm-overlay{
  position:absolute;inset:0;pointer-events:none;overflow:hidden;z-index:5;
  display:grid;
  grid-template-columns: repeat(3, 1fr);
  grid-template-rows:    repeat(4, 1fr);
}
 
/* Each cell centres its stamp */
.wm-cell{
  display:flex;align-items:center;justify-content:center;
}
 
/* The stamp itself — rotated, grouped block */
.wm-stamp{
  transform:rotate(-30deg);
  opacity:.18;
  text-align:center;
  color:#1d4ed8;
  line-height:1.35;
  pointer-events:none;
}
.wm-stamp .wm-cap{
  font-size:22px;
  margin-bottom:2px;
}
.wm-stamp .wm-brand{
  font-weight:900;
  font-size:11px;
  letter-spacing:1px;
  white-space:nowrap;
}
.wm-stamp .wm-line{
  font-weight:600;
  font-size:9px;
  white-space:nowrap;
  opacity:.9;
}
 

 
/* ── Logo overlay — centered on each page ── */

.wm-logo-img{
  position:absolute;
  inset:0;
  overflow:hidden;
  pointer-events:none;
}

.wm-logo-img img{
  width:100%;
  height:100%;
  object-fit:contain;
  opacity:0.08;
  pointer-events:none;
  user-select:none;
  -webkit-user-drag:none;
}
 
/* ── Footer ── */
.viewer-foot{
  height:40px;flex:0 0 40px;display:flex;align-items:center;justify-content:center;
  background:rgba(5,7,15,.92);border-top:1px solid var(--line);
  color:var(--muted-2);font-size:.78rem;gap:8px;
}
.viewer-foot i{color:var(--sky)}
 
/* ── Loading spinner ── */
.viewer-loading{
  position:absolute;inset:0;display:grid;place-items:center;
  color:var(--muted);z-index:10;background:#04060d;
}
.viewer-loading i{font-size:2rem;color:var(--blue-2)}
 
/* ── Scroll-bar thin style ── */
.viewer-stage::-webkit-scrollbar{width:6px}
.viewer-stage::-webkit-scrollbar-track{background:transparent}
.viewer-stage::-webkit-scrollbar-thumb{background:rgba(255,255,255,.12);border-radius:3px}
 
@media (max-width:600px){
  .viewer-bar .title span{max-width:30vw}
  .wm-cell .wm-txt{font-size:10px}
  .viewer-stage{padding:12px 8px;gap:12px}
}
 