/* RL Portal Jornalístico — leitor de edição digital V2.3
   Escopo isolado para não interferir no portal nem no CMS. */
.rl-edition-reader{
  --rl-reader-bg:#151b22;
  --rl-reader-panel:#ffffff;
  --rl-reader-line:#dfe4ea;
  --rl-reader-text:#0d1b2d;
  --rl-reader-accent:#e51f2a;
  position:relative;
  overflow:hidden;
  border:1px solid var(--rl-reader-line);
  border-radius:6px;
  background:var(--rl-reader-panel);
  box-shadow:0 22px 64px rgba(13,27,45,.14);
}
.rl-edition-toolbar{
  position:relative;
  z-index:40;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  min-height:70px;
  padding:12px 16px;
  border-bottom:1px solid var(--rl-reader-line);
  background:rgba(255,255,255,.97);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  flex-wrap:wrap;
}
.rl-edition-toolbar .btn{
  min-height:46px;
  white-space:nowrap;
}
.rl-edition-counter,
.rl-edition-zoom-label{
  min-width:72px;
  height:46px;
  padding:0 12px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:1px solid var(--rl-reader-line);
  background:#f7f9fb;
  color:var(--rl-reader-text);
  font-size:13px;
  font-weight:900;
  letter-spacing:.02em;
}
.rl-edition-separator{width:1px;height:28px;background:var(--rl-reader-line);margin:0 2px}
.rl-edition-viewport{
  position:relative;
  width:100%;
  height:clamp(570px,72vh,930px);
  overflow:auto;
  overscroll-behavior:contain;
  background:
    radial-gradient(circle at 50% 22%,rgba(65,78,92,.22),transparent 48%),
    linear-gradient(145deg,#202833 0%,#121820 100%);
  scrollbar-color:#697786 #171d25;
  scrollbar-width:thin;
  outline:none;
}
.rl-edition-viewport:focus-visible{box-shadow:inset 0 0 0 3px rgba(229,31,42,.55)}
.rl-edition-canvas{
  position:relative;
  min-width:100%;
  min-height:100%;
  display:flex;
  align-items:flex-start;
  justify-content:center;
  padding:38px 44px 64px;
}
.rl-edition-scaler{
  position:relative;
  flex:0 0 auto;
  transition:width .2s ease,height .2s ease;
}
.rl-edition-book{
  position:absolute;
  top:0;
  left:0;
  display:grid;
  grid-template-columns:1fr 1fr;
  perspective:2400px;
  transform-origin:top left;
  transition:transform .2s ease;
  filter:drop-shadow(0 24px 25px rgba(0,0,0,.42));
  user-select:none;
  -webkit-user-select:none;
}
.rl-edition-page-slot{
  position:relative;
  overflow:hidden;
  background:#fff;
  box-shadow:inset 0 0 0 1px rgba(0,0,0,.06);
}
.rl-edition-page-slot.is-empty{
  background:transparent;
  box-shadow:none;
  pointer-events:none;
}
.rl-edition-page-slot img,
.rl-edition-turn-face img{
  display:block;
  width:100%;
  height:100%;
  object-fit:fill;
  background:#fff;
  pointer-events:none;
  -webkit-user-drag:none;
}
.rl-edition-page-slot.is-left{border-radius:4px 0 0 4px}
.rl-edition-page-slot.is-right{border-radius:0 4px 4px 0}
.rl-edition-page-slot.is-left:not(.is-empty)::after,
.rl-edition-page-slot.is-right:not(.is-empty)::before{
  content:"";
  position:absolute;
  top:0;
  bottom:0;
  width:34px;
  pointer-events:none;
  z-index:2;
}
.rl-edition-page-slot.is-left::after{right:0;background:linear-gradient(90deg,transparent,rgba(0,0,0,.16))}
.rl-edition-page-slot.is-right::before{left:0;background:linear-gradient(90deg,rgba(0,0,0,.17),transparent)}
.rl-edition-spine{
  position:absolute;
  z-index:9;
  top:0;
  bottom:0;
  left:50%;
  width:2px;
  transform:translateX(-1px);
  background:rgba(0,0,0,.28);
  box-shadow:-7px 0 16px rgba(0,0,0,.2),7px 0 16px rgba(0,0,0,.2);
  pointer-events:none;
}
.rl-edition-turn-sheet{
  position:absolute;
  z-index:20;
  top:0;
  width:50%;
  height:100%;
  transform-style:preserve-3d;
  pointer-events:none;
}
.rl-edition-turn-sheet.is-next{
  left:50%;
  transform-origin:left center;
  transform:rotateY(0deg);
  animation:rlEditionNext .72s cubic-bezier(.23,.72,.22,1) forwards;
}
.rl-edition-turn-sheet.is-prev{
  left:0;
  transform-origin:right center;
  transform:rotateY(0deg);
  animation:rlEditionPrev .72s cubic-bezier(.23,.72,.22,1) forwards;
}
.rl-edition-turn-face{
  position:absolute;
  inset:0;
  overflow:hidden;
  background:#fff;
  backface-visibility:hidden;
  -webkit-backface-visibility:hidden;
  box-shadow:0 0 25px rgba(0,0,0,.32);
}
.rl-edition-turn-face.is-back{transform:rotateY(180deg)}
.rl-edition-turn-sheet.is-next .rl-edition-turn-face.is-front::after,
.rl-edition-turn-sheet.is-prev .rl-edition-turn-face.is-front::after{
  content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(0,0,0,.2));
}
@keyframes rlEditionNext{0%{transform:rotateY(0)}100%{transform:rotateY(-180deg)}}
@keyframes rlEditionPrev{0%{transform:rotateY(0)}100%{transform:rotateY(180deg)}}
.rl-edition-loading,
.rl-edition-error{
  position:absolute;
  z-index:50;
  inset:0;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:14px;
  padding:30px;
  color:#fff;
  text-align:center;
  background:linear-gradient(145deg,rgba(32,40,51,.98),rgba(18,24,32,.98));
}
.rl-edition-loading.is-hidden,
.rl-edition-error.is-hidden{display:none}
.rl-edition-loading i{font-size:28px;color:var(--rl-reader-accent)}
.rl-edition-loading strong{font-size:17px}
.rl-edition-loading small{color:#aeb8c4}
.rl-edition-error a{color:#fff;text-decoration:underline}
.rl-edition-help{
  position:absolute;
  z-index:10;
  left:50%;
  bottom:18px;
  transform:translateX(-50%);
  padding:8px 13px;
  border-radius:999px;
  background:rgba(7,11,16,.72);
  color:#d7dde4;
  font-size:12px;
  font-weight:700;
  pointer-events:none;
  opacity:.88;
  white-space:nowrap;
}
.rl-edition-click-zone{position:absolute;z-index:12;top:0;bottom:0;width:18%;cursor:pointer}
.rl-edition-click-zone.is-prev{left:0}
.rl-edition-click-zone.is-next{right:0}
.rl-edition-reader:fullscreen,
.rl-edition-reader:-webkit-full-screen,
.rl-edition-reader.is-window-fullscreen{
  position:fixed!important;
  inset:0!important;
  z-index:2147483000!important;
  width:100vw!important;
  height:100vh!important;
  max-width:none!important;
  border:0!important;
  border-radius:0!important;
  background:#111820!important;
}
.rl-edition-reader:fullscreen .rl-edition-viewport,
.rl-edition-reader:-webkit-full-screen .rl-edition-viewport,
.rl-edition-reader.is-window-fullscreen .rl-edition-viewport{
  height:calc(100vh - 70px)!important;
}
body.rl-edition-lock{overflow:hidden!important}
@media(max-width:900px){
  .rl-edition-toolbar{justify-content:flex-start;flex-wrap:nowrap;overflow-x:auto;padding:10px}
  .rl-edition-toolbar .btn{min-height:42px;padding:10px 13px;font-size:12px}
  .rl-edition-counter,.rl-edition-zoom-label{height:42px;min-width:62px;font-size:12px}
  .rl-edition-separator{display:none}
  .rl-edition-viewport{height:clamp(500px,72vh,760px)}
  .rl-edition-canvas{padding:24px 18px 54px}
  .rl-edition-help{font-size:11px;max-width:calc(100% - 24px);overflow:hidden;text-overflow:ellipsis}
}
@media(max-width:680px){
  .rl-edition-book{grid-template-columns:1fr}
  .rl-edition-page-slot.is-left{display:none}
  .rl-edition-page-slot.is-right{grid-column:1;border-radius:4px}
  .rl-edition-spine{display:none}
  .rl-edition-turn-sheet{width:100%;left:0!important}
  .rl-edition-turn-sheet.is-next{transform-origin:left center}
  .rl-edition-turn-sheet.is-prev{transform-origin:right center}
  .rl-edition-viewport{height:68vh;min-height:480px}
  .rl-edition-click-zone{width:25%}
}
@media(prefers-reduced-motion:reduce){
  .rl-edition-turn-sheet.is-next,.rl-edition-turn-sheet.is-prev{animation-duration:.18s}
  .rl-edition-book,.rl-edition-scaler{transition:none}
}

/* V2.4 — folheamento manual real por arraste, sem bloquear zoom ou rolagem vertical. */
.rl-edition-book{
  cursor:grab;
  touch-action:pan-y;
}
.rl-edition-book.is-dragging,
.rl-edition-viewport.is-dragging{
  cursor:grabbing;
}
.rl-edition-viewport.is-dragging{
  user-select:none;
  -webkit-user-select:none;
}
.rl-edition-turn-sheet.is-manual{
  animation:none!important;
  will-change:transform;
}
.rl-edition-turn-sheet.is-manual.is-settling{
  will-change:transform;
}
.rl-edition-turn-sheet.is-manual .rl-edition-turn-face.is-front::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,transparent 38%,rgba(0,0,0,.24));
  pointer-events:none;
}
.rl-edition-turn-sheet.is-prev.is-manual .rl-edition-turn-face.is-front::after{
  background:linear-gradient(270deg,transparent 38%,rgba(0,0,0,.24));
}
.rl-edition-turn-face.is-empty{
  background:var(--rl-reader-bg);
  box-shadow:none;
}
.rl-edition-drag-static{
  position:absolute;
  z-index:14;
  top:0;
  width:50%;
  height:100%;
  overflow:hidden;
  background:#fff;
  pointer-events:none;
}
.rl-edition-drag-static.is-left{left:0}
.rl-edition-drag-static.is-right{right:0}
.rl-edition-drag-static.is-empty{
  background:var(--rl-reader-bg);
  box-shadow:none;
}
.rl-edition-drag-static img{
  display:block;
  width:100%;
  height:100%;
  object-fit:fill;
  background:#fff;
  pointer-events:none;
  -webkit-user-drag:none;
}
.rl-edition-click-zone{display:none!important}
@media(max-width:680px){
  .rl-edition-drag-static{width:100%;left:0!important;right:auto!important}
}
