/* ebook.css · #ebook — o livro 3D, as páginas e o painel de compra.

   Três jeitos de mostrar (o HTML é um só):
   1. FLUXO (padrão; celular, sem JS, movimento reduzido, GSAP fora):
      título → livro → "Olha por dentro" (faixa com rolagem lateral) → painel.
      No computador sem a cena: grade (livro | painel) e as cinco páginas numa fileira embaixo.
   2. CENA (.ebook--cena, posta pelo ebook.js no computador ≥ 900×620 com movimento e GSAP):
      .ebook__cena alta (330svh) e .ebook__palco preso (sticky, 100svh). O livro gira, abre,
      as páginas saem em leque e o painel vem para a frente, tudo preso à rolagem.
   3. Movimento no celular (ebook.js): o livro gira com a rolagem e a faixa ganha um leque 3D.

   Livro 3D: proporção A5 (148 × 210), espessura de um livro de ~170 páginas (~7% da largura; o PDF tem 172).
   Cadeia 3D sem achatar: nada de overflow/filter/opacity nos elementos com preserve-3d
   (.ebook__mundo, .ebook__livro, .livro, .livro__objeto, .livro__capa, .livro__capa-giro).
   Luz: só da capa — o branco frio dos quadros de filme e o vermelho #9C2028/#BB3239. */

.ebook {
  --capa-fundo: #060606;
  --capa-acento: #9C2028;
  --capa-acento-2: #BB3239;
  --capa-fria: 222 227 236;      /* branco frio dos quadros de filme da capa */
  --capa-vermelho: 187 50 57;    /* #BB3239 */
  --papel: #0d0d10;              /* fundo das páginas do PDF */
  --larg: min(60vw, 270px);      /* largura do livro */
  --pag: min(58vw, 262px);       /* largura de uma página na faixa */
  overflow: clip;
}

/* ---------- Abertura ---------- */
.ebook__abertura { position: relative; z-index: 1; margin-bottom: 0; }   /* acima da luz do livro */
.ebook__frase {
  font-size: clamp(2.75rem, 8.4vw, 6.5rem);
  line-height: .97;
  letter-spacing: -.045em;
  max-width: 11ch;
}

/* ---------- Palco (no fluxo é só uma coluna) ---------- */
.ebook__cena { position: relative; }
.ebook__palco {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr);   /* a faixa larga das páginas não alarga a coluna */
  justify-items: center;
}
.ebook__mundo { display: contents; }

/* ---------- Livro ---------- */
.ebook__livro {
  position: relative;
  width: 100%;
  display: grid; place-items: center;
  padding: 40px 0 66px;
}
.livro {
  --alt: calc(var(--larg) * 1.4189);   /* A5 */
  --esp: calc(var(--larg) * .07);      /* ~170 páginas */
  position: relative;
  width: var(--larg);
  height: var(--alt);
  perspective: calc(var(--larg) * 4.6);
}

/* Luz atrás do livro: as cores da capa (fica longe, atrás de tudo, também na cena 3D) */
.ebook__luz {
  position: absolute; left: 50%; top: 46%;
  width: 330%; height: 200%;
  transform: translate(-50%, -50%) translateZ(-320px) scale(1.22);
  background:
    radial-gradient(closest-side at 50% 38%, rgb(var(--capa-fria) / .30), rgb(var(--capa-fria) / .11) 42%, transparent 78%),
    radial-gradient(closest-side at 66% 26%, rgb(var(--capa-vermelho) / .46), rgb(var(--capa-vermelho) / .12) 45%, transparent 72%),
    radial-gradient(closest-side at 34% 74%, rgb(156 32 40 / .26), transparent 70%),
    radial-gradient(closest-side at 50% 50%, rgb(var(--capa-fria) / .07), transparent);
  pointer-events: none;
}
/* chão: a luz que bate na mesa e a sombra do livro em cima dela */
.livro__chao {
  position: absolute; left: -22%; right: -22%; bottom: -46px;
  height: 72px;
  background:
    radial-gradient(38% 34% at 50% 44%, rgb(0 0 0 / .95), rgb(0 0 0 / .6) 55%, transparent),
    radial-gradient(closest-side, rgb(var(--capa-fria) / .13), transparent);
  pointer-events: none;
}

.livro__objeto {
  position: absolute; inset: 0;
  transform-style: preserve-3d;
  transform: rotateY(26deg) rotateX(-8deg);   /* ângulo parado (sem movimento) */
}
.livro__face {
  position: absolute;
  display: block;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}
/* sombra de cada face: o ebook.js calcula pela direção da luz; aqui, o valor parado */
.livro__sombra {
  position: absolute; inset: 0;
  border-radius: inherit;
  background: #000;
  opacity: 0;
  pointer-events: none;
}

/* capa: dobradiça na lombada (.livro__capa-giro gira em Y pela borda esquerda) */
.livro__capa {
  position: absolute; inset: 0;
  transform-style: preserve-3d;
  transform: translateZ(calc(var(--esp) / 2));
}
.livro__capa-giro {
  position: absolute; inset: 0;
  transform-style: preserve-3d;
  transform-origin: 0 50%;
}
.livro__capa-frente {
  inset: 0;
  overflow: hidden;
  border-radius: 1px 4px 4px 1px;
  background: var(--capa-fundo);
  box-shadow: inset 0 0 0 1px rgb(255 255 255 / .07);
}
.livro__capa-frente img { width: 100%; height: 100%; object-fit: cover; }
/* vinco da dobradiça perto da lombada */
.livro__capa-frente::before {
  content: "";
  position: absolute; inset: 0; z-index: 1;
  background: linear-gradient(90deg, rgb(255 255 255 / .12) 0, rgb(255 255 255 / 0) 2%, rgb(0 0 0 / .4) 3.2%, rgb(255 255 255 / .05) 5%, transparent 8%);
  pointer-events: none;
}
/* brilho especular: anda pela capa conforme o livro gira */
.livro__brilho {
  position: absolute; inset: -10% -70%; z-index: 1;
  background: linear-gradient(104deg,
    transparent 36%, rgb(255 255 255 / .04) 42%, rgb(255 255 255 / .15) 48.5%,
    rgb(255 255 255 / .19) 50%, rgb(255 255 255 / .06) 55%, transparent 62%);
  opacity: .55;
  transform: translateX(14%);
  pointer-events: none;
}
.livro__capa-frente .livro__sombra { z-index: 2; }
.livro__capa-verso {
  inset: 0;
  transform: rotateY(180deg);
  border-radius: 4px 1px 1px 4px;
  background: linear-gradient(270deg, rgb(0 0 0 / .6), transparent 9%), linear-gradient(160deg, #1d1d21, #0f0f12 60%);
}
.livro__contracapa {
  inset: 0;
  transform: rotateY(180deg) translateZ(calc(var(--esp) / 2));
  border-radius: 4px 1px 1px 4px;
  background: var(--capa-fundo);
}
/* lombada: preto da capa, ponto vermelho e o título pequeno */
.livro__lombada {
  top: 0; height: 100%;
  left: calc(50% - var(--esp) / 2);
  width: var(--esp);
  transform: rotateY(-90deg) translateZ(calc(var(--larg) / 2));
  background: linear-gradient(90deg, #020202, #141416 46%, #060606);
  overflow: hidden;
}
.livro__lombada::before {
  content: "";
  position: absolute; left: 50%; top: 5.5%;
  width: max(3px, calc(var(--esp) * .22)); aspect-ratio: 1;
  border-radius: 50%;
  background: var(--capa-acento);
  box-shadow: 0 0 6px rgb(var(--capa-vermelho) / .7);
  transform: translateX(-50%);
}
.livro__lombada-titulo {
  position: absolute; left: 50%; top: 11%;
  transform: translateX(-50%);
  writing-mode: vertical-rl;
  font-size: max(7px, calc(var(--esp) * .42));
  font-weight: 600; line-height: 1; letter-spacing: .01em;
  color: var(--gelo);
  white-space: nowrap;
}
/* miolo: corte da frente (borda das folhas), com as linhas finas do papel */
.livro__miolo {
  top: 3px; height: calc(100% - 6px);
  left: calc(50% - var(--esp) / 2 + 1.5px);
  width: calc(var(--esp) - 3px);
  transform: rotateY(90deg) translateZ(calc(var(--larg) / 2 - 3px));
  background:
    linear-gradient(90deg, rgb(0 0 0 / .35), transparent 22%, transparent 78%, rgb(0 0 0 / .35)),
    repeating-linear-gradient(90deg, #4a4a50 0 .6px, #222226 .6px 2.2px);
}
.livro__corte {
  left: 1px; width: calc(100% - 4px);
  top: calc(50% - var(--esp) / 2 + 1.5px);
  height: calc(var(--esp) - 3px);
  background:
    linear-gradient(180deg, rgb(0 0 0 / .3), transparent 25%, transparent 75%, rgb(0 0 0 / .3)),
    repeating-linear-gradient(180deg, #4a4a50 0 .6px, #222226 .6px 2.2px);
}
.livro__corte--topo { transform: rotateX(90deg) translateZ(calc(var(--alt) / 2 - 3px)); }
.livro__corte--pe { transform: rotateX(-90deg) translateZ(calc(var(--alt) / 2 - 3px)); }
/* primeira folha, debaixo da capa (aparece quando a capa abre) */
.livro__folha {
  left: 1px; top: 3px;
  width: calc(100% - 4px); height: calc(100% - 6px);
  transform: translateZ(calc(var(--esp) / 2 - 1.5px));
  border-radius: 0 3px 3px 0;
  /* uma página escura como as do PDF, com título e linhas de texto bem apagados: aberto,
     o livro se lê como livro, não como um bloco preto */
  background:
    linear-gradient(90deg, rgb(0 0 0 / .7), rgb(0 0 0 / 0) 10%),
    linear-gradient(rgb(255 255 255 / .2), rgb(255 255 255 / .2)) 16% 12% / 44% 1.8% no-repeat,
    repeating-linear-gradient(180deg, rgb(255 255 255 / .085) 0 1px, transparent 1px 3.2%) 16% 24% / 66% 52% no-repeat,
    radial-gradient(120% 80% at 70% 30%, #222227, #111114 70%);
}

/* sombras paradas (sem JS): luz no alto, à direita, na frente */
.livro__lombada .livro__sombra { opacity: .42; }
.livro__miolo .livro__sombra { opacity: .5; }
.livro__corte--topo .livro__sombra { opacity: .12; }
.livro__corte--pe .livro__sombra { opacity: .6; }
.livro__capa-verso .livro__sombra { opacity: .3; }

/* ---------- Olha por dentro ---------- */
.ebook__dentro {
  position: relative;
  width: 100%;
  text-align: center;
}
.ebook__dentro::before {
  content: "";
  position: absolute; left: 50%; top: 58%;
  width: min(150vw, 1200px); height: 95%;
  transform: translate(-50%, -50%);
  background:
    radial-gradient(closest-side, rgb(var(--capa-fria) / .12), rgb(var(--capa-fria) / .04) 55%, transparent),
    radial-gradient(40% 50% at 64% 62%, rgb(var(--capa-vermelho) / .12), transparent);
  pointer-events: none;
}
.ebook__dentro-titulo {
  position: relative;
  font-size: var(--t-h3); line-height: 1.2; letter-spacing: -.02em;
}
.paginas {
  position: relative;
  display: flex;
  gap: 16px;
  padding: 22px calc(50% - var(--pag) / 2) 40px;
  overflow-x: auto;
  overflow-y: hidden;
  overscroll-behavior-x: contain;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
}
.paginas::-webkit-scrollbar { display: none; }
.pagina {
  position: relative;
  flex: none;
  width: var(--pag);
  scroll-snap-align: center;
}
/* cada página é uma folha: sombra macia e um brilho de vidro bem leve */
.pagina__folha {
  position: relative;
  display: block;
  border-radius: 4px;
  background: var(--papel);
  box-shadow: 0 0 0 1px rgb(255 255 255 / .09), 0 30px 60px -24px rgb(0 0 0 / .95), 0 10px 22px -12px rgb(0 0 0 / .8);
  cursor: zoom-in;
  -webkit-user-drag: none;
}
.pagina__folha img { width: 100%; height: auto; border-radius: inherit; -webkit-user-drag: none; user-select: none; }
.pagina__folha::after {
  content: "";
  position: absolute; inset: 0;
  border-radius: inherit;
  background: linear-gradient(128deg, rgb(255 255 255 / .12), rgb(255 255 255 / .03) 28%, transparent 52%, rgb(255 255 255 / .05));
  box-shadow: inset 0 1px 0 rgb(255 255 255 / .18), inset 0 0 0 1px rgb(255 255 255 / .05);
  pointer-events: none;
}

/* ---------- Painel de compra (vidro sobre a luz da capa) ---------- */
.ebook__oferta {
  position: relative;
  width: min(100% - 2 * var(--margem), 560px);
  margin-top: 30px;
}
.ebook__oferta-luz {
  position: absolute; inset: -16% -20%;
  background:
    radial-gradient(closest-side at 28% 20%, rgb(var(--capa-fria) / .26), rgb(var(--capa-fria) / .06) 55%, transparent 80%),
    radial-gradient(closest-side at 78% 80%, rgb(var(--capa-vermelho) / .5), rgb(156 32 40 / .16) 50%, transparent 76%),
    radial-gradient(closest-side at 50% 52%, rgb(156 32 40 / .12), transparent);
  pointer-events: none;
}
.ebook__painel {
  --vidro-recuo: 24px;
  --lente-borda: 22px;
  position: relative;
  padding: 28px 24px 24px;
}
.ebook__produto {
  font-size: clamp(1.625rem, 2.4vw, 2.125rem);
  line-height: 1.08; letter-spacing: -.03em;
}
.ebook__texto { margin-top: 12px; color: var(--vidro-texto-2); max-width: 34em; }
.ebook__lista {
  list-style: none; padding: 0;
  margin-top: 20px;
  border-top: 1px solid rgb(255 255 255 / .12);
}
.ebook__lista li {
  position: relative;
  padding: 11px 0 11px 30px;
  border-bottom: 1px solid rgb(255 255 255 / .08);
  font-size: 1rem; line-height: 1.4;
}
.ebook__lista li::before {
  content: "";
  position: absolute; left: 2px; top: calc(11px + .7em - 8px);
  width: 16px; height: 16px;
  background: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m5 12.6 4.4 4.4L19 7.4' fill='none' stroke='%23000' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m5 12.6 4.4 4.4L19 7.4' fill='none' stroke='%23000' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat;
}
/* preço (selo de lançamento; o main.js mostra/esconde pela data) → botão → nota */
.ebook__compra { display: grid; margin-top: 22px; }
.selo {
  justify-self: start;
  display: inline-flex; align-items: baseline; flex-wrap: wrap;
  gap: .2em .45em;
  margin-bottom: 14px;
  padding: 8px 16px 8px 30px;
  position: relative;
  border-radius: 999px;
  font-size: .9375rem; font-weight: 500; line-height: 1.25; letter-spacing: -.005em;
  color: var(--gelo);
  background: rgb(156 32 40 / .2);
  box-shadow: inset 0 0 0 1px rgb(var(--capa-vermelho) / .45);
}
.selo::before {
  content: "";
  position: absolute; left: 14px; top: 50%;
  width: 7px; height: 7px; margin-top: -3.5px;
  border-radius: 50%;
  background: var(--capa-acento-2);
  box-shadow: 0 0 8px rgb(var(--capa-vermelho) / .9);
}
.selo__valor { font-size: 1.1875rem; font-weight: 600; letter-spacing: -.02em; }
.selo__quando { color: #E4E4E8; }
@media (max-width: 389px) {
  .selo { padding: 7px 12px 7px 26px; font-size: .8125rem; border-radius: 20px; }
  .selo::before { left: 12px; }
  .selo__valor { font-size: 1.0625rem; }
}
.ebook__nota { margin-top: 14px; font-size: var(--t-pequeno); color: var(--vidro-texto-2); text-align: center; }

@media (max-width: 767px) {
  .ebook__produto { font-size: 1.5rem; }
  .ebook__texto { font-size: 1rem; line-height: 1.5; }
  .ebook__lista { margin-top: 16px; }
  .ebook__lista li { padding-block: 9px; font-size: .96875rem; }
  .ebook__lista li::before { top: calc(9px + .7em - 8px); }
  .ebook__compra { margin-top: 18px; }
}
@media (min-width: 768px) {
  .ebook__painel { padding: 38px 40px 32px; }
}

/* ---------- Computador sem a cena (movimento reduzido, sem GSAP, tela baixa) ---------- */
@media (min-width: 900px) {
  .ebook:not(.ebook--cena) { --larg: min(25vw, 310px); --pag: min(16vw, 196px); }
  .ebook:not(.ebook--cena) .ebook__palco {
    width: min(100% - 2 * var(--margem), var(--largura));
    margin-inline: auto;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    column-gap: var(--vao);
    align-items: center;
  }
  .ebook:not(.ebook--cena) .ebook__abertura { grid-column: 1 / -1; grid-row: 1; width: 100%; margin-bottom: clamp(16px, 3vw, 40px); }
  .ebook:not(.ebook--cena) .ebook__livro { grid-column: 1 / 7; grid-row: 2; padding: 48px 0 96px; }
  .ebook:not(.ebook--cena) .ebook__oferta { grid-column: 7 / 13; grid-row: 2; width: 100%; margin: 0; }
  .ebook:not(.ebook--cena) .ebook__dentro { grid-column: 1 / -1; grid-row: 3; margin-top: clamp(56px, 8vw, 110px); }
  .ebook:not(.ebook--cena) .paginas {
    overflow: visible;
    justify-content: center;
    gap: clamp(14px, 1.8vw, 26px);
    padding: 28px 0 40px;
    scroll-snap-type: none;
  }
}

/* ---------- CENA (computador, preso à rolagem) ---------- */
.ebook--cena {
  --larg: min(25vw, calc((100svh - 108px) * .56 / 1.4189), 340px);
  padding-top: 0;
  /* o link "Ebook" chega no começo da cena presa (frase + livro, t = 1 da linha do tempo):
     anula o scroll-padding do <html> */
  scroll-margin-top: -16px;
}
@media (min-width: 980px) { .ebook--cena { scroll-margin-top: calc(-1 * var(--nav-alto)); } }
.ebook--cena .ebook__cena { height: 330svh; }   /* = TOTAL do ebook.js (3,3 telas) */
.ebook--cena .ebook__palco {
  position: sticky; top: 0;
  height: 100svh;
  overflow: clip;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  column-gap: var(--vao);
  align-items: center;
  justify-items: stretch;
  padding: var(--nav-alto) max(var(--margem), (100% - var(--largura)) / 2) 24px;
}
.ebook--cena .ebook__abertura {
  grid-area: 1 / 1;
  position: relative; z-index: 2;
  width: auto; margin: 0;
  justify-items: start;
  text-align: left;
}
.ebook--cena .ebook__frase { font-size: clamp(3rem, 6.2vw, 6.25rem); }
.ebook--cena .ebook__oferta {
  grid-area: 1 / 2;
  z-index: 3;
  justify-self: center;
  width: min(100%, 500px);
  margin: 0;
  pointer-events: none;
}
.ebook--cena.ebook--oferta .ebook__oferta { pointer-events: auto; }

/* mundo 3D comum ao livro e às páginas (uma perspectiva só, profundidade de verdade) */
.ebook--cena .ebook__mundo {
  display: block;
  position: absolute; inset: var(--nav-alto) 0 24px; z-index: 1;
  perspective: 1500px;
  perspective-origin: 50% 46%;
  transform-style: preserve-3d;
  pointer-events: none;
}
.ebook--cena .ebook__livro,
.ebook--cena .ebook__dentro {
  position: absolute; inset: 0;
  width: auto; margin: 0; padding: 0;
  transform-style: preserve-3d;
}
.ebook--cena .ebook__livro { display: grid; place-items: center; }
.ebook--cena .livro { perspective: none; transform-style: preserve-3d; }
.ebook--cena .ebook__dentro::before { display: none; }
/* luz atrás do leque (as cores da capa de novo), bem ao fundo da cena */
.ebook__luz-leque { display: none; }
.ebook--cena .ebook__luz-leque {
  display: block;
  position: absolute; left: 50%; top: 40%;
  width: 1300px; height: 900px;
  margin: -450px 0 0 -650px;
  transform: translateZ(-420px) scale(1.3);
  background:
    radial-gradient(closest-side at 50% 46%, rgb(var(--capa-fria) / .2), rgb(var(--capa-fria) / .07) 45%, transparent 75%),
    radial-gradient(30% 34% at 70% 34%, rgb(var(--capa-vermelho) / .3), transparent),
    radial-gradient(28% 30% at 28% 70%, rgb(156 32 40 / .2), transparent);
  opacity: 0;
  pointer-events: none;
}
.ebook--cena .ebook__dentro-titulo {
  position: absolute; left: 0; right: 0; top: 2px;
  opacity: 0;
}
.ebook--cena .paginas {
  position: absolute; inset: 0;
  display: block;
  overflow: visible;
  padding: 0;
  transform-style: preserve-3d;
}
.ebook--cena .pagina {
  position: absolute;
  left: calc(50% - var(--larg) / 2);
  top: calc(50% - var(--larg) * .7079);
  width: var(--larg);
}
.ebook--cena .pagina__folha { pointer-events: none; }
.ebook--cena.ebook--paginas .pagina__folha { pointer-events: auto; }
/* o livro "segura" o clique: no fim, tocar na capa não abre a página que está atrás dela */
.ebook--cena .livro__face { pointer-events: auto; }

/* tela baixa: o painel fica mais compacto para caber no palco */
@media (min-width: 900px) and (max-height: 820px) {
  .ebook--cena .ebook__painel { padding: 24px 30px 20px; }
  .ebook--cena .ebook__produto { font-size: 1.75rem; }
  .ebook--cena .ebook__texto { margin-top: 8px; font-size: 1rem; line-height: 1.45; }
  .ebook--cena .ebook__lista { margin-top: 14px; }
  .ebook--cena .ebook__lista li { padding-block: 7px; font-size: .9375rem; }
  .ebook--cena .ebook__lista li::before { top: calc(7px + .7em - 8px); }
  .ebook--cena .ebook__compra { margin-top: 16px; }
  .ebook--cena .selo { margin-bottom: 10px; }
  .ebook--cena .ebook__nota { margin-top: 10px; }
}

/* ---------- Página ampliada (diálogo criado pelo ebook.js) ---------- */
.ebook-zoom {
  position: fixed; inset: 0;
  width: 100%; height: 100%;
  max-width: none; max-height: none;
  margin: 0; padding: 0; border: 0;
  background: transparent;
  color: var(--gelo);
  overflow: hidden;
  overscroll-behavior: contain;
}
.ebook-zoom[open] { display: grid; place-items: center; animation: ebook-zoom-entra .35s var(--expo); }
.ebook-zoom::backdrop {
  background: rgb(0 0 0 / .86);
  -webkit-backdrop-filter: blur(14px);
  backdrop-filter: blur(14px);
}
@keyframes ebook-zoom-entra { from { opacity: 0; transform: scale(.98); } }
.ebook-zoom__figura {
  display: grid; justify-items: center; gap: 14px;
  padding: calc(72px + var(--seguro-topo)) 16px calc(20px + var(--seguro-baixo));
}
.ebook-zoom__img {
  width: auto; height: auto;
  max-width: min(100vw - 32px, 777px);
  max-height: calc(100dvh - 160px - var(--seguro-topo) - var(--seguro-baixo));
  aspect-ratio: 777 / 1100;
  border-radius: 6px;
  background: var(--papel);
  box-shadow: 0 0 0 1px rgb(255 255 255 / .12), 0 40px 90px -30px #000;
}
.ebook-zoom__barra { display: flex; align-items: center; gap: 12px; }
.ebook-zoom__legenda { min-width: 13em; text-align: center; font-size: var(--t-pequeno); color: var(--nevoa); }
.ebook-zoom__botao {
  flex: none;
  width: 48px; height: 48px;
  display: grid; place-items: center;
  border-radius: 50%;
  background: rgb(255 255 255 / .12);
  color: var(--gelo);
  transition: background-color .2s, transform .4s var(--expo);
}
.ebook-zoom__botao:hover { background: rgb(255 255 255 / .2); }
.ebook-zoom__botao:active { transform: scale(.94); }
.ebook-zoom__botao .icone { width: 22px; height: 22px; }
.ebook-zoom__fechar { position: fixed; top: calc(16px + var(--seguro-topo)); right: 16px; }
