/* Biblioteca de Ebooks — complementa css/style.css */
.biblioteca { --bib-marinho:#071521; --bib-verde:#16C79A; --bib-verde-texto:#0b8a6a; --bib-ciano:#38BDF8; --bib-texto:#26333d; --bib-suave:#5b6b77; --bib-linha:#e3e9ee; --bib-fundo:#f5f8fa; background:#fff; color:var(--bib-texto); }
.biblioteca h1, .biblioteca h2, .biblioteca h3 { font-family:'Manrope','Inter',sans-serif; color:var(--bib-marinho); }
.biblioteca main section { padding:0; }
.biblioteca .nav-links a.nav-cta { color:#fff; padding:10px 20px; }
.bib-wrap { max-width:1160px; margin:0 auto; padding:120px 24px 64px; }
.bib-rotulo { display:inline-block; font-size:.75rem; font-weight:800; letter-spacing:.12em; text-transform:uppercase; color:var(--bib-verde-texto); margin-bottom:10px; }
.bib-topo { max-width:760px; margin-bottom:32px; }
.bib-topo h1 { font-size:clamp(1.9rem, 4vw, 2.8rem); line-height:1.12; letter-spacing:-.02em; margin-bottom:14px; }
.bib-topo p { font-size:1.08rem; color:var(--bib-suave); }

.bib-filtros { margin-bottom:14px; display:grid; grid-template-columns:2fr 1fr 1fr 1fr auto; gap:10px; margin-bottom:14px; }
.bib-filtros > * { min-width:0; }
.bib-filtros input, .bib-filtros select { width:100%; min-height:46px; border:1px solid var(--bib-linha); border-radius:10px; padding:0 14px; font:inherit; font-size:.95rem; background:#fff; color:var(--bib-texto); }
.bib-filtros input:focus, .bib-filtros select:focus { outline:2px solid var(--bib-verde); outline-offset:1px; }
.bib-preco { display:flex; border:1px solid var(--bib-linha); border-radius:10px; overflow:hidden; }
.bib-preco button { border:0; background:#fff; padding:0 16px; min-height:44px; font:inherit; font-size:.9rem; font-weight:600; color:var(--bib-suave); cursor:pointer; }
.bib-preco button.ativo { background:var(--bib-marinho); color:#fff; }
.bib-contagem { font-size:.9rem; color:var(--bib-suave); margin-bottom:18px; }
.bib-vazio { padding:40px 0; text-align:center; color:var(--bib-suave); }
.bib-vazio button { border:0; background:none; color:var(--bib-verde-texto); font:inherit; font-weight:700; cursor:pointer; text-decoration:underline; }

.mural { display:grid; grid-template-columns:repeat(auto-fill, minmax(220px, 1fr)); gap:28px 22px; }
.livro { display:flex; flex-direction:column; text-decoration:none; color:inherit; }
.livro[hidden] { display:none; }
.livro-capa { position:relative; aspect-ratio:2/3; border-radius:10px; overflow:hidden; background:var(--bib-marinho); box-shadow:0 10px 26px rgba(7,21,33,.16); transition:transform .18s, box-shadow .18s; }
.livro-capa img { width:100%; height:100%; object-fit:cover; display:block; }
.livro:hover .livro-capa, .livro:focus-visible .livro-capa { transform:translateY(-4px); box-shadow:0 16px 34px rgba(7,21,33,.22); }
.livro:focus-visible { outline:none; } .livro:focus-visible h2 { text-decoration:underline; }
.selo { position:absolute; bottom:10px; right:10px; font-size:.72rem; font-weight:800; letter-spacing:.04em; text-transform:uppercase; padding:5px 10px; border-radius:20px; }
.selo-gratis { background:var(--bib-verde); color:var(--bib-marinho); }
.selo-pago { background:#fff; color:var(--bib-marinho); }
.selo-producao { background:#ffd27a; color:var(--bib-marinho); }
.livro-info { padding:14px 2px 0; display:flex; flex-direction:column; gap:6px; flex:1; }
.livro-area { font-size:.72rem; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:var(--bib-suave); }
.livro-info h2 { font-size:1.08rem; line-height:1.3; }
.livro-info p { font-size:.9rem; line-height:1.5; color:var(--bib-suave); flex:1; }
.livro-preco { font-size:1rem; color:var(--bib-marinho); }
.livro-preco.gratis { color:var(--bib-verde-texto); }

.biblioteca main .bib-acesso { margin-top:56px; padding:28px 32px; border-radius:18px; background:var(--bib-fundo); display:flex; align-items:center; justify-content:space-between; gap:20px; flex-wrap:wrap; }
.bib-acesso h2 { font-size:1.3rem; margin-bottom:4px; } .bib-acesso p { color:var(--bib-suave); }

/* Página do ebook */
.migalha { font-size:.85rem; color:var(--bib-suave); margin-bottom:24px; } .migalha a { color:var(--bib-verde-texto); }
.livro-topo { display:grid; grid-template-columns:minmax(220px, 340px) 1fr; gap:48px; align-items:start; }
.livro-topo-capa { position:relative; border-radius:12px; overflow:hidden; box-shadow:0 18px 40px rgba(7,21,33,.2); }
.livro-topo-capa img { width:100%; height:auto; display:block; }
.livro-topo-info h1 { font-size:clamp(1.8rem, 3.6vw, 2.6rem); line-height:1.12; letter-spacing:-.02em; margin-bottom:14px; }
.livro-topo-info h1 span { display:block; color:var(--bib-verde-texto); font-size:.62em; margin-top:6px; letter-spacing:-.01em; }
.livro-beneficio { font-size:1.1rem; color:var(--bib-suave); margin-bottom:18px; }
.livro-preco-grande { font:800 1.8rem 'Manrope',sans-serif; color:var(--bib-marinho); margin-bottom:14px; }
.livro-preco-grande.gratis { color:var(--bib-verde-texto); }
.acao-nota { font-size:.88rem; color:var(--bib-suave); margin:10px 0 0; } .acao-nota a { color:var(--bib-verde-texto); }
.ficha { display:flex; flex-wrap:wrap; gap:10px 28px; margin-top:24px; padding-top:18px; border-top:1px solid var(--bib-linha); }
.ficha dt { font-size:.72rem; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:var(--bib-suave); } .ficha dd { margin:2px 0 0; font-weight:600; }
.livro-corpo { max-width:760px; margin-top:48px; }
.biblioteca main section.bloco { margin-bottom:34px; } .bloco h2 { font-size:1.35rem; margin-bottom:10px; }
.bloco p, .bloco li { font-size:1rem; line-height:1.7; } .bloco ul { padding-left:22px; list-style:disc; }
.bloco a { color:var(--bib-verde-texto); font-weight:600; }
.bloco .btn { color:inherit; }
.sumario { padding-left:0; list-style:none; counter-reset:cap; }
.sumario li { counter-increment:cap; padding:10px 0; border-bottom:1px solid var(--bib-linha); display:flex; gap:14px; }
.sumario li::before { content:counter(cap, decimal-leading-zero); font-weight:800; color:var(--bib-verde-texto); min-width:26px; }
.biblioteca main .bloco-trilha { padding:22px 24px; border-radius:14px; background:var(--bib-fundo); border-left:5px solid var(--bib-verde); }
.biblioteca main .relacionados { margin-top:40px; padding-top:36px; border-top:1px solid var(--bib-linha); } .relacionados h2 { font-size:1.4rem; margin-bottom:20px; }
.mural-pequeno { grid-template-columns:repeat(auto-fill, minmax(190px, 1fr)); }

/* Formulários */
.bib-form { padding:24px; border:1px solid var(--bib-linha); border-radius:16px; display:grid; gap:12px; }
.bib-form h3 { font-size:1.2rem; } .bib-form p { margin:0; font-size:.95rem; color:var(--bib-suave); }
.bib-form label { display:grid; gap:6px; font-size:.9rem; font-weight:600; }
.bib-form input[type=text], .bib-form input[type=email], .conta input[type=email] { min-height:46px; border:1px solid var(--bib-linha); border-radius:10px; padding:0 14px; font:inherit; }
.bib-form .bib-check { display:flex; align-items:flex-start; gap:10px; font-weight:400; }
.bib-form .bib-check input { margin-top:4px; width:18px; height:18px; flex-shrink:0; }
.bib-form-nota { font-size:.8rem !important; } .bib-form-ok { color:var(--bib-verde-texto) !important; font-weight:700; }

/* Minha biblioteca */
.conta h1 { font-size:2rem; margin-bottom:20px; }
.biblioteca main .conta-caixa { max-width:520px; padding:24px; border:1px solid var(--bib-linha); border-radius:16px; }
.conta-caixa form { display:grid; gap:12px; margin-top:12px; } .conta-caixa label { display:grid; gap:6px; font-weight:600; font-size:.9rem; }
.conta-msg { margin-top:12px; font-size:.95rem; color:var(--bib-suave); }
.conta-usuario { margin-bottom:20px; } .link { border:0; background:none; color:var(--bib-verde-texto); font:inherit; font-weight:700; cursor:pointer; text-decoration:underline; }
.conta-lista { display:grid; grid-template-columns:repeat(auto-fill, minmax(260px, 1fr)); gap:18px; }
.conta-item { display:flex; gap:14px; padding:14px; border:1px solid var(--bib-linha); border-radius:14px; align-items:center; }
.conta-item img { width:70px; border-radius:6px; } .conta-item h2 { font-size:1rem; margin-bottom:8px; }
.conta-ajuda { margin-top:36px; font-size:.88rem; color:var(--bib-suave); } .conta-ajuda a { color:var(--bib-verde-texto); }

.bib-rodape { border-top:1px solid var(--bib-linha); padding:26px 24px; text-align:center; font-size:.85rem; color:var(--bib-suave); }
.bib-rodape a { color:var(--bib-verde-texto); }

@media (max-width: 900px) {
  .bib-filtros { grid-template-columns:1fr 1fr; } .bib-filtros input { grid-column:1 / -1; } .bib-preco { grid-column:1 / -1; } .bib-preco button { flex:1; }
  .livro-topo { grid-template-columns:1fr; gap:28px; } .livro-topo-capa { max-width:260px; }
}
@media (max-width: 560px) {
  .bib-wrap { padding:100px 16px 48px; }
  .mural { grid-template-columns:repeat(2, minmax(0, 1fr)); gap:22px 14px; }
  .livro-info p { display:none; }
  .bib-acesso { padding:22px; }
}
