/* Estante de livros de composições na home (21/10/2026).
   Livros em pé sobre um tampo de mesa; o clicado sai da prateleira, vem para o centro e abre (estante.js).
   Prefixo .eh- em tudo: a home já usa .palco, .preco, .origem, .rodape (ver composicoes/index.html). */
.estante-home{position:relative;padding:clamp(80px,12vh,140px) 0 clamp(70px,10vh,110px);background:linear-gradient(180deg,#fff 0%,#f7f4ef 55%,#f1ece4 100%);overflow:hidden}
.estante-home .secao-lead{max-width:56ch}
.eh-cena{position:relative;margin:clamp(40px,7vh,72px) auto 0;max-width:1220px;padding:0 var(--gutter)}
.eh-trilho{position:relative;overflow-x:auto;overflow-y:visible;scrollbar-width:none;padding:40px 0 0}
.eh-trilho::-webkit-scrollbar{display:none}
.eh-prateleira{--lw:clamp(84px,calc((100vw - 330px) / 10.6),112px);position:relative;z-index:2;display:flex;align-items:flex-end;justify-content:center;gap:12px;min-width:max-content;padding:0 24px;perspective:1400px}
/* aparadores de livro nas pontas */
.eh-aparador{width:16px;height:150px;flex:none;border-radius:3px 3px 0 0;background:linear-gradient(90deg,#9aa3ad,#d5dbe1 45%,#8d96a0);box-shadow:0 10px 18px -10px rgba(21,24,29,.5)}
/* tampo da mesa: plano em perspectiva + borda da frente */
.eh-mesa{position:relative;z-index:1;margin-top:-6px;height:96px}
.eh-tampo{position:absolute;inset:0 0 22px;clip-path:polygon(5% 0,95% 0,100% 100%,0 100%);background:
  repeating-linear-gradient(92deg,rgba(120,84,46,.06) 0 2px,transparent 2px 9px),
  linear-gradient(180deg,#e9d8bd 0%,#dcc29c 100%)}
.eh-tampo::after{content:"";position:absolute;left:12%;right:12%;top:0;height:46px;background:radial-gradient(60% 100% at 50% 0,rgba(60,40,20,.28),transparent 70%);filter:blur(4px)}
.eh-borda{position:absolute;left:0;right:0;bottom:0;height:22px;border-radius:0 0 6px 6px;background:linear-gradient(180deg,#c9a77c,#ad8a5f);box-shadow:0 30px 50px -24px rgba(60,40,20,.55)}

/* livro na prateleira */
.eh-livro{--cor:#1f3b5c;--esp:20px;position:relative;flex:none;width:var(--lw);height:calc(var(--lw)*1.52);border:0;padding:0;background:none;cursor:pointer;color:#fff;text-align:left;font:inherit;
  transform-style:preserve-3d;transform:rotateY(-24deg);transition:transform .5s cubic-bezier(.2,.7,.2,1);font-size:calc(var(--lw) / 116 * 16px)}
.eh-livro:hover,.eh-livro:focus-visible{transform:rotateY(-6deg) translateY(-16px)}
.eh-livro:focus-visible{outline:none}
.eh-livro:focus-visible .eh-capa{outline:2px solid var(--aco);outline-offset:4px}
.eh-livro.saiu{visibility:hidden}
.eh-capa{position:absolute;inset:0;display:flex;flex-direction:column;padding:.85em .75em .7em 1.1em;border-radius:2px 6px 6px 2px;background:var(--cor);overflow:hidden;
  box-shadow:inset .38em 0 0 rgba(0,0,0,.2),inset .5em 0 0 rgba(255,255,255,.09),0 18px 26px -14px rgba(21,24,29,.6);backface-visibility:hidden}
.eh-capa::before{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(115deg,rgba(255,255,255,.18) 0%,rgba(255,255,255,0) 40%),repeating-linear-gradient(0deg,rgba(255,255,255,.025) 0 2px,transparent 2px 4px)}
.eh-org{font:600 .5em/1.25 var(--f-texto);letter-spacing:.08em;text-transform:uppercase;opacity:.8;min-height:2.5em;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.eh-filete{height:.3em;border-top:1px solid rgba(255,255,255,.45);border-bottom:1px solid rgba(255,255,255,.2);margin:.65em 0 .55em}
.eh-tit{font:780 1.3em/1 var(--f-titulo);letter-spacing:-.03em;hyphens:auto;overflow-wrap:normal;word-break:normal}
.eh-tit.medio{font-size:1em}.eh-tit.longo{font-size:.84em;line-height:1.05}
.eh-sub{font-size:.6em;opacity:.82;margin-top:.45em;line-height:1.3;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.eh-pe{margin-top:auto;font-size:.56em;line-height:1.35;opacity:.92}
.eh-pe b{display:block;font:600 1.08em var(--f-texto)}
.eh-lombada{position:absolute;top:0;left:calc(var(--esp)*-1);width:var(--esp);height:100%;transform-origin:right center;transform:rotateY(-90deg);border-radius:3px 0 0 3px;
  background:linear-gradient(90deg,rgba(0,0,0,.3),rgba(0,0,0,.08) 40%,rgba(0,0,0,.22)),var(--cor);display:flex;align-items:center;justify-content:center}
.eh-lombada span{writing-mode:vertical-rl;transform:rotate(180deg);font:700 .55em var(--f-titulo);letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;opacity:.9}
.eh-folhas{position:absolute;top:3px;left:100%;width:calc(var(--esp) - 4px);height:calc(100% - 6px);transform-origin:left center;transform:rotateY(90deg);background:repeating-linear-gradient(90deg,#fdfcf8 0 2px,#e8e3d8 2px 3px)}
.eh-livro.minhas{--cor:#f4efe3;color:var(--carvao)}
.eh-livro.minhas .eh-capa{box-shadow:inset .38em 0 0 rgba(0,0,0,.06),0 18px 26px -14px rgba(21,24,29,.45);border:1px solid #e3dccb}
.eh-livro.minhas .eh-tit{color:var(--aco-escuro)}
.eh-livro.minhas .eh-filete{border-color:rgba(45,106,156,.5)}
.eh-livro.minhas .eh-lombada{color:var(--aco-escuro)}
.eh-rodape{display:flex;flex-wrap:wrap;gap:14px 26px;align-items:center;justify-content:center;margin-top:34px;color:var(--tx2);font-size:.95rem;text-align:center}

/* ---------- livro tirado da estante ---------- */
.eh-palco{position:fixed;inset:0;z-index:90;display:grid;place-items:center;background:rgba(21,24,29,0);transition:background .45s;perspective:2200px}
.eh-palco[hidden]{display:none}
.eh-palco.aberto{background:rgba(21,24,29,.62);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px)}
.eh-voo{position:fixed;z-index:95;transform-origin:0 0;pointer-events:none;transform-style:preserve-3d}
.eh-voo .eh-capa{transform-origin:left center;transition:none}
.eh-aberto{position:relative;width:min(1080px,94vw);height:min(660px,84vh);display:grid;grid-template-columns:1fr 1fr;opacity:0;transform-style:preserve-3d;transition:transform .25s ease-out}
.eh-aberto.ver{opacity:1}
.eh-aberto::before{content:"";position:absolute;inset:-12px -12px -14px;border-radius:12px;background:var(--cor,#1f3b5c);box-shadow:0 60px 110px -40px rgba(0,0,0,.75);z-index:-1}
.eh-pag{position:relative;overflow:hidden;background:#fdfcf7;display:flex;flex-direction:column;padding:28px 30px 22px;color:var(--carvao);transform-style:preserve-3d}
.eh-pag.e{border-radius:6px 0 0 6px;box-shadow:inset -26px 0 30px -24px rgba(60,45,20,.38)}
.eh-pag.d{border-radius:0 6px 6px 0;box-shadow:inset 26px 0 30px -24px rgba(60,45,20,.38)}
.eh-pag-cab{display:flex;justify-content:space-between;gap:10px;font:600 .66em var(--f-texto);letter-spacing:.1em;text-transform:uppercase;color:#8a8273;border-bottom:1px solid #e9e3d6;padding-bottom:9px;margin-bottom:14px}
.eh-pag h3{font:760 1.55em/1.05 var(--f-titulo);letter-spacing:-.025em;margin-bottom:4px}
.eh-pag .eh-meta{color:#8a8273;font-size:.82em;margin-bottom:12px}
.eh-corpo{flex:1;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin}
.eh-folio{text-align:center;font:500 .72em var(--f-texto);color:#a49c8c;margin-top:10px}
.eh-sumario{list-style:none;margin:0;padding:0;columns:1}
.eh-sumario li{margin:0}
.eh-sumario button{width:100%;display:flex;align-items:baseline;gap:8px;border:0;background:none;padding:5px 2px;font:500 .9em var(--f-texto);color:var(--carvao);cursor:pointer;text-align:left;border-radius:4px}
.eh-sumario button:hover{background:#f2ede2}
.eh-sumario button i{flex:1;border-bottom:1px dotted #cfc6b3;transform:translateY(-4px)}
.eh-sumario button b{font-weight:500;color:#8a8273;font-variant-numeric:tabular-nums}
.eh-item{display:grid;grid-template-columns:auto 1fr auto;gap:2px 12px;padding:9px 0;border-bottom:1px solid #eee8db;text-decoration:none;color:inherit}
.eh-item:hover{background:#f7f2e7}
.eh-item .c{font:500 .72em ui-monospace,Consolas,monospace;color:#8a8273;padding-top:2px}
.eh-item .d{font-size:.84em;line-height:1.35;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.eh-item .p{font:600 .9em var(--f-texto);white-space:nowrap;font-variant-numeric:tabular-nums;text-align:right}
.eh-item .p small{display:block;font:500 .68em var(--f-texto);color:#8a8273}
.eh-mais{display:inline-block;margin-top:14px;font-weight:600;color:var(--aco);text-decoration:none}
.eh-mais:hover{text-decoration:underline}
.eh-vazio{color:#8a8273;font-size:.9em;padding:20px 0}
.eh-barra{position:absolute;left:0;right:0;top:-58px;display:flex;align-items:center;justify-content:space-between;gap:12px;color:#fff}
.eh-barra .t{font:700 1.05rem var(--f-titulo)}
.eh-barra .t small{font:500 .8rem var(--f-texto);opacity:.75;margin-left:8px}
.eh-barra select{font:500 .85rem var(--f-texto);padding:6px 10px;border-radius:999px;border:1px solid rgba(255,255,255,.35);background:rgba(255,255,255,.12);color:#fff}
.eh-barra select option{color:var(--carvao)}
.eh-fechar{width:40px;height:40px;border-radius:50%;border:1px solid rgba(255,255,255,.35);background:rgba(255,255,255,.12);color:#fff;font-size:1.2rem;cursor:pointer}
.eh-nav{position:absolute;left:0;right:0;bottom:-60px;display:flex;align-items:center;justify-content:center;gap:16px;color:#fff;font:500 .85rem var(--f-texto)}
.eh-nav button{min-width:44px;height:44px;padding:0 16px;border-radius:999px;border:1px solid rgba(255,255,255,.35);background:rgba(255,255,255,.12);color:#fff;font:600 .9rem var(--f-texto);cursor:pointer}
.eh-nav button:disabled{opacity:.35;cursor:default}
.eh-nav a{color:#fff;font-weight:600}
/* folha virando */
.eh-folha{position:absolute;top:0;bottom:0;width:50%;transform-style:preserve-3d;z-index:5}
.eh-folha.prox{left:50%;transform-origin:left center}
.eh-folha.ant{left:0;transform-origin:right center}
.eh-folha>.eh-pag{position:absolute;inset:0;backface-visibility:hidden}
.eh-folha>.eh-pag.verso{transform:rotateY(180deg)}
.eh-folha::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,rgba(0,0,0,.18),transparent 30%);opacity:var(--sombra,0)}

@media (max-width:760px){
  .eh-prateleira{--lw:92px;gap:10px;padding:0 22px;justify-content:flex-start}
  .eh-aparador{height:118px}
  .eh-aberto{grid-template-columns:1fr;width:94vw;height:76vh}
  .eh-aberto .eh-pag.e{display:none}
  .eh-aberto.so-e .eh-pag.e{display:flex;border-radius:6px}
  .eh-aberto.so-e .eh-pag.d{display:none}
  .eh-aberto .eh-pag.d{border-radius:6px}
  .eh-pag{padding:22px 20px 16px}
  .eh-barra{top:-52px}.eh-barra .t small{display:none}
  .eh-nav{bottom:-56px}
}

/* ===== versão foto real (21/10/2026): biblioteca da Pexels 6333735 + livros sobre a mesa ===== */
.eh-abas{display:flex;flex-wrap:wrap;gap:8px;margin-top:28px}
.eh-abas button{font:600 .92rem var(--f-texto);padding:10px 16px;border-radius:999px;border:1px solid var(--linha);background:#fff;color:var(--tx2);cursor:pointer;transition:background .2s,color .2s,border-color .2s}
.eh-abas button:hover{border-color:var(--carvao);color:var(--carvao)}
.eh-abas button[aria-selected="true"]{background:var(--carvao);color:#fff;border-color:var(--carvao)}
.eh-trilho2{margin-top:26px;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.eh-trilho2::-webkit-scrollbar{display:none}
.eh-foto{position:relative;margin:0 auto;max-width:1440px;aspect-ratio:2100/1100;container-type:inline-size;border-radius:18px;overflow:hidden;
  background:#d8d0c3 url(img/estante/biblioteca-2100.webp) center/cover no-repeat;box-shadow:0 40px 80px -50px rgba(21,24,29,.6)}
@media (max-width:1300px){.eh-foto{background-image:url(img/estante/biblioteca-1200.webp)}}
.eh-livros{position:absolute;inset:0}
.eh-livro2{position:absolute;padding:0;border:0;background:none;cursor:pointer;color:#fff;text-align:left;font:inherit;font-size:1.17cqw;
  transform-origin:50% 100%;transition:transform .45s cubic-bezier(.2,.7,.2,1),opacity .4s;-webkit-box-reflect:below 1px linear-gradient(transparent 80%,rgba(255,255,255,.1))}
.eh-livro2::after{content:"";position:absolute;left:-5%;right:-5%;bottom:-2.6%;height:5%;background:radial-gradient(closest-side,rgba(40,28,14,.5),transparent);filter:blur(1.5px);pointer-events:none}
.eh-livro2 .eh-capa{position:absolute;inset:0;filter:saturate(.9) brightness(.97);box-shadow:inset .38em 0 0 rgba(0,0,0,.2),inset .5em 0 0 rgba(255,255,255,.08),.22em 0 0 -.04em #ebe5d7,0 .9cqw 1.6cqw -.8cqw rgba(30,20,10,.55)}
.eh-livro2:hover,.eh-livro2:focus-visible{transform:translateY(-5%)}
.eh-livro2:focus-visible{outline:none}
.eh-livro2:focus-visible .eh-capa{outline:2px solid #fff;outline-offset:3px}
.eh-livro2.saiu{visibility:hidden}
.eh-livro2.entra{animation:ehEntra .6s cubic-bezier(.2,.7,.2,1) both;animation-delay:calc(var(--i) * 45ms)}
.eh-livro2.sai{transform:translateY(-14%);opacity:0}
@keyframes ehEntra{from{transform:translateY(-22%);opacity:0}to{transform:none;opacity:1}}
.eh-capa.foto{padding:0;background-size:cover;background-position:center;border-radius:2px 5px 5px 2px}
.eh-capa.foto::before{background:linear-gradient(115deg,rgba(255,255,255,.12),transparent 40%)}
.eh-capa.modulo{background:#f6f2ea;color:#15181d;border-left:.55em solid var(--cor)}
.eh-capa.modulo .eh-org{color:var(--cor);opacity:1}
.eh-capa.modulo .eh-tit{color:var(--cor)}
.eh-capa.modulo .eh-filete{border-color:color-mix(in srgb,var(--cor) 55%,transparent)}
.eh-capa.modulo .eh-pe b{color:var(--cor)}
.eh-livro2.minhas{color:var(--carvao)}
.eh-livro2.minhas .eh-capa{background:#f4efe3;border:1px solid #e3dccb}
.eh-livro2.minhas .eh-tit{color:var(--aco-escuro)}
.eh-placa{position:absolute;left:45.2%;top:78.4%;width:27.6%;height:4.5%;display:grid;place-items:center;border-radius:.35cqw;
  background:linear-gradient(180deg,#e0bf78 0%,#b8924a 55%,#a07c38 100%);color:#3b2a10;font:700 1.12cqw var(--f-texto);letter-spacing:.14em;text-transform:uppercase;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.55),inset 0 -1px 0 rgba(0,0,0,.2),0 .25cqw .6cqw rgba(0,0,0,.35);text-shadow:0 1px 0 rgba(255,255,255,.35)}
.eh-pag.foto{padding:0;background:#fff;display:block}
.eh-pag.foto img{display:block;width:100%;height:100%;object-fit:contain}
.eh-lista{margin:6px 0 14px;padding-left:18px;line-height:1.6}
.eh-lista li{margin:6px 0}
@media (max-width:760px){
  .eh-foto{min-width:980px;border-radius:12px}
  .eh-trilho2{margin-inline:calc(var(--gutter) * -1);padding-inline:var(--gutter)}
}
.eh-livro2 .eh-sub{-webkit-line-clamp:2}
.eh-livro2 .eh-pe{font-size:.5em}
.eh-livro2 .eh-org{font-size:.46em}
.eh-capa.modulo .eh-tit.longo{font-size:.8em}
.eh-capa.modulo .eh-tit.medio{font-size:.9em}

/* leitor grande (21/10/2026): barra e navegação fixas, livro do tamanho da tela, Ampliar */
.eh-palco{z-index:1000}
.eh-voo{z-index:1001}
.eh-aberto{font-size:var(--fz,16px)}
.eh-barra{position:fixed;left:0;right:0;top:0;height:60px;padding:0 16px;z-index:3;display:flex;align-items:center;gap:14px;
  background:linear-gradient(180deg,rgba(10,13,18,.72),rgba(10,13,18,0));color:#fff}
.eh-barra .t{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:center}
.eh-acoes{display:flex;gap:10px;align-items:center}
.eh-voltar,.eh-ampliar{height:42px;padding:0 16px;border-radius:999px;border:1px solid rgba(255,255,255,.45);background:rgba(255,255,255,.14);color:#fff;font:600 .92rem var(--f-texto);cursor:pointer;white-space:nowrap}
.eh-voltar{background:#fff;color:#15181d;border-color:#fff}
.eh-voltar:hover,.eh-ampliar:hover,.eh-fechar:hover{filter:brightness(1.1)}
.eh-fechar{width:42px;height:42px}
.eh-nav{position:fixed;left:0;right:0;bottom:0;height:66px;z-index:3;background:linear-gradient(0deg,rgba(10,13,18,.72),rgba(10,13,18,0))}
.eh-nav button{min-width:44px}
.eh-zoom{position:fixed;left:0;right:0;top:60px;bottom:66px;z-index:2;overflow:auto;overscroll-behavior:contain;display:flex;justify-content:center;padding:8px 10px 24px}
.eh-zoom[hidden]{display:none}
.eh-zoom .eh-pag{position:relative;width:min(1000px,100%);height:auto;min-height:100%;border-radius:6px;box-shadow:0 30px 60px -30px rgba(0,0,0,.6);font-size:19px}
.eh-zoom .eh-pag.foto{background:#fff}
.eh-zoom .eh-pag.foto img{height:auto}
.eh-zoom .eh-corpo{overflow:visible}
.eh-palco.ampliado .eh-aberto{visibility:hidden}
@media (max-width:760px){
  .eh-barra{height:56px;padding:0 8px;gap:8px}
  .eh-barra .t{display:none}
  .eh-voltar{padding:0 12px;font-size:.85rem}
  .eh-ampliar{padding:0 12px;font-size:.85rem}
  .eh-zoom{top:56px}
  .eh-zoom .eh-pag{font-size:17px}
  .eh-nav{gap:8px}.eh-nav .todo{display:none}
}
