/* Editora Flareon · folha de estilo
   Conceito: vitrine de editora. Papel claro, tinta azul-noite, uma chama laranja
   usada com parcimônia. As capas são as protagonistas. */

@font-face { font-family: "Newsreader"; src: url("../fonts/newsreader-latin-400-normal.woff2") format("woff2"); font-weight: 400; font-style: normal; font-display: swap; }
@font-face { font-family: "Newsreader"; src: url("../fonts/newsreader-latin-500-normal.woff2") format("woff2"); font-weight: 500; font-style: normal; font-display: swap; }
@font-face { font-family: "Newsreader"; src: url("../fonts/newsreader-latin-600-normal.woff2") format("woff2"); font-weight: 600; font-style: normal; font-display: swap; }
@font-face { font-family: "Newsreader"; src: url("../fonts/newsreader-latin-400-italic.woff2") format("woff2"); font-weight: 400; font-style: italic; font-display: swap; }
@font-face { font-family: "Newsreader"; src: url("../fonts/newsreader-latin-500-italic.woff2") format("woff2"); font-weight: 500; font-style: italic; font-display: swap; }
@font-face { font-family: "Instrument Sans"; src: url("../fonts/instrument-sans-latin-400-normal.woff2") format("woff2"); font-weight: 400; font-display: swap; }
@font-face { font-family: "Instrument Sans"; src: url("../fonts/instrument-sans-latin-500-normal.woff2") format("woff2"); font-weight: 500; font-display: swap; }
@font-face { font-family: "Instrument Sans"; src: url("../fonts/instrument-sans-latin-600-normal.woff2") format("woff2"); font-weight: 600; font-display: swap; }
@font-face { font-family: "Instrument Sans"; src: url("../fonts/instrument-sans-latin-700-normal.woff2") format("woff2"); font-weight: 700; font-display: swap; }

:root {
  --papel: #FAFAF7;
  --papel-2: #F3F1EB;
  --branco: #FFFFFF;
  --tinta: #151A2D;
  --texto: #363C4E;
  --suave: #6B7080;
  --linha: #E4E1D8;
  --chama: #C46A0C;
  --chama-esc: #9A5208;
  --ouro: #C9A55A;
  --ok: #2F7A55;
  --serif: "Newsreader", "Iowan Old Style", Georgia, "Times New Roman", serif;
  --sans: "Instrument Sans", system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  --max: 1200px;
  --gutter: clamp(16px, 4vw, 40px);
  --raio: 10px;
}

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } *, *::before, *::after { transition: none !important; animation: none !important; } }
body { margin: 0; background: var(--papel); color: var(--texto); font-family: var(--sans); font-size: 17px; line-height: 1.6; -webkit-font-smoothing: antialiased; }
img { max-width: 100%; height: auto; display: block; }
[hidden] { display: none !important; }
a { color: inherit; }
button { font: inherit; }
h1, h2, h3 { color: var(--tinta); text-wrap: balance; }
:focus-visible { outline: 2px solid var(--chama); outline-offset: 3px; border-radius: 3px; }
.sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.pular { position: absolute; left: 12px; top: -60px; z-index: 100; background: var(--tinta); color: #fff; padding: 10px 14px; border-radius: 8px; text-decoration: none; }
.pular:focus { top: 12px; }

.eyebrow { margin: 0 0 12px; font-size: 12.5px; font-weight: 600; letter-spacing: .09em; text-transform: uppercase; color: var(--chama-esc); }
.eyebrow a { color: inherit; text-decoration: none; }
.eyebrow a:hover { text-decoration: underline; }
.eyebrow--claro { color: var(--ouro); }

/* Botões */
.btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 48px; padding: 0 22px; border-radius: 999px; border: 1.5px solid var(--tinta);
  background: var(--tinta); color: #fff; font-weight: 600; font-size: 15.5px; text-decoration: none; cursor: pointer; transition: background .15s, color .15s, transform .15s; white-space: nowrap; }
.btn:hover { background: #262C44; }
.btn--linha { background: transparent; color: var(--tinta); }
.btn--linha:hover { background: var(--tinta); color: #fff; }
.btn--p { min-height: 40px; padding: 0 16px; font-size: 14.5px; }
.btn--largo { width: 100%; min-height: 54px; font-size: 16.5px; }
.btn--off { background: var(--papel-2); border-color: var(--linha); color: var(--suave); cursor: default; }
.btn--off:hover { background: var(--papel-2); }
.btn--claro { background: #fff; border-color: #fff; color: var(--tinta); }
.btn--claro:hover { background: var(--papel-2); }

/* Topo */
.topo { position: sticky; top: 0; z-index: 40; background: rgba(250, 250, 247, .94); backdrop-filter: saturate(1.4) blur(10px); -webkit-backdrop-filter: saturate(1.4) blur(10px); border-bottom: 1px solid var(--linha); padding-top: env(safe-area-inset-top, 0px); }
.topo__in { max-width: var(--max); margin: 0 auto; padding: 0 max(var(--gutter), env(safe-area-inset-right, 0px)) 0 max(var(--gutter), env(safe-area-inset-left, 0px)); height: 68px; display: flex; align-items: center; gap: 28px; }
.marca { display: inline-flex; align-items: center; gap: 8px; text-decoration: none; color: var(--tinta); flex: none; }
.marca__chama { width: 26px; height: 30px; color: var(--tinta); }
.marca__nome { font-family: var(--serif); font-size: 23px; font-weight: 600; letter-spacing: -.01em; color: var(--tinta); line-height: 1; }
.marca__nome em { font-style: italic; font-weight: 500; }
.menu { display: flex; gap: 4px; margin-left: auto; }
.menu a { padding: 8px 12px; border-radius: 999px; text-decoration: none; font-size: 15px; font-weight: 500; color: var(--texto); }
.menu a:hover { background: var(--papel-2); color: var(--tinta); }
.menu a[aria-current="page"] { color: var(--tinta); background: var(--papel-2); }
.topo__busca { width: 40px; height: 40px; display: grid; place-items: center; border-radius: 50%; color: var(--tinta); flex: none; }
.topo__busca:hover { background: var(--papel-2); }
.topo__busca svg { width: 22px; height: 22px; }
.menu-movel { display: none; position: relative; }
.menu-movel summary { list-style: none; width: 44px; height: 44px; display: grid; place-content: center; gap: 5px; cursor: pointer; border-radius: 50%; }
.menu-movel summary::-webkit-details-marker { display: none; }
.menu-movel summary span { display: block; width: 22px; height: 2px; background: var(--tinta); border-radius: 2px; transition: transform .2s, opacity .2s; }
.menu-movel[open] summary span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.menu-movel[open] summary span:nth-child(2) { opacity: 0; }
.menu-movel[open] summary span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }
.menu-movel nav { position: fixed; left: 0; right: 0; top: calc(68px + env(safe-area-inset-top, 0px)); background: var(--papel); border-bottom: 1px solid var(--linha); padding: 8px max(var(--gutter), env(safe-area-inset-right, 0px)) 18px max(var(--gutter), env(safe-area-inset-left, 0px)); display: grid; box-shadow: 0 20px 30px -20px rgba(21, 26, 45, .25); }
.menu-movel nav a { padding: 13px 4px; border-bottom: 1px solid var(--linha); text-decoration: none; font-size: 17px; font-weight: 500; color: var(--tinta); }
.menu-movel nav a:last-child { border-bottom: 0; }
@media (max-width: 920px) {
  .menu { display: none; }
  .topo__busca { margin-left: auto; }
  .menu-movel { display: block; }
  .topo__in { gap: 6px; height: 62px; }
  .menu-movel nav { top: calc(62px + env(safe-area-inset-top, 0px)); }
  .marca__nome { font-size: 21px; }
}

/* Estrutura */
.secao { padding: clamp(48px, 7vw, 88px) 0; }
.secao--faixa { background: var(--papel-2); }
.secao__in { max-width: var(--max); margin: 0 auto; padding-left: max(var(--gutter), env(safe-area-inset-left, 0px)); padding-right: max(var(--gutter), env(safe-area-inset-right, 0px)); }
.secao__topo { display: flex; justify-content: space-between; align-items: flex-end; gap: 16px 24px; margin-bottom: 28px; flex-wrap: wrap; }
.secao__titulo { font-family: var(--serif); font-weight: 500; font-size: clamp(28px, 3.2vw, 38px); line-height: 1.1; letter-spacing: -.015em; margin: 0; }
.secao__desc { margin: 8px 0 0; color: var(--suave); max-width: 60ch; font-size: 16px; }
.secao__link { font-weight: 600; font-size: 15px; color: var(--tinta); text-decoration: none; white-space: nowrap; }
.secao__link:hover { color: var(--chama-esc); }

/* Hero */
.hero { padding: clamp(32px, 5vw, 64px) 0 clamp(48px, 6vw, 80px); }
.hero__in { max-width: var(--max); margin: 0 auto; padding-left: max(var(--gutter), env(safe-area-inset-left, 0px)); padding-right: max(var(--gutter), env(safe-area-inset-right, 0px));
  display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr); gap: clamp(32px, 5vw, 72px); align-items: center; }
.hero__titulo { font-family: var(--serif); font-weight: 500; font-size: clamp(44px, 6.4vw, 84px); line-height: .98; letter-spacing: -.025em; margin: 0 0 14px; }
.hero__sub { font-family: var(--serif); font-style: italic; font-size: clamp(21px, 2.2vw, 27px); line-height: 1.25; color: var(--texto); margin: 0 0 20px; }
.hero__resumo { font-size: 18px; max-width: 54ch; margin: 0 0 28px; }
.hero__acoes { display: flex; gap: 12px; flex-wrap: wrap; }
.hero__preco { margin: 18px 0 0; font-size: 15px; color: var(--suave); }
.hero__preco strong { color: var(--tinta); }
.hero__capa { position: relative; display: grid; place-items: center; padding: clamp(28px, 4vw, 56px); border-radius: 18px; background:
  radial-gradient(120% 90% at 30% 20%, rgba(255, 255, 255, .12), transparent 60%), var(--c); aspect-ratio: 1 / 1.02; max-width: 100%; }
.hero__capa::after { content: ""; position: absolute; inset: 14px; border: 1px solid rgba(201, 165, 90, .45); border-radius: 10px; pointer-events: none; }
.hero__capa .capa { width: min(74%, 380px); transform: rotate(-2deg); box-shadow: 0 2px 4px rgba(0, 0, 0, .2), 0 30px 60px -20px rgba(0, 0, 0, .6); }
@media (max-width: 820px) {
  .hero__in { grid-template-columns: 1fr; }
  .hero__capa { order: -1; aspect-ratio: auto; padding: 28px 24px; }
  .hero__capa .capa { width: min(56%, 240px); }
}

/* Portas (selos) */
.portas { padding: 0 0 clamp(48px, 7vw, 88px); }
.portas__grade { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.porta { position: relative; background: var(--c); color: #E9E6DD; border-radius: 16px; padding: clamp(26px, 3.4vw, 44px); display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 20px; overflow: hidden; min-width: 0; }
.porta::after { content: ""; position: absolute; inset: 12px; border: 1px solid rgba(201, 165, 90, .35); border-radius: 9px; pointer-events: none; }
.porta__titulo { color: #fff; font-family: var(--serif); font-weight: 500; font-size: clamp(26px, 2.8vw, 34px); line-height: 1.1; margin: 0 0 12px; }
.porta__desc { margin: 0 0 18px; font-size: 15.5px; color: #D8D4C8; max-width: 46ch; }
.porta__link { position: relative; z-index: 1; display: inline-block; margin-top: 18px; color: #fff; font-weight: 600; font-size: 15px; text-decoration: none; border-bottom: 1px solid rgba(255, 255, 255, .35); padding-bottom: 2px; }
.porta__link:hover { border-color: #fff; }
.porta__capas { align-self: end; width: 150px; }
.porta__capas .pilha { height: 190px; }
@media (max-width: 980px) { .portas__grade { grid-template-columns: 1fr; } }
@media (max-width: 520px) { .porta { grid-template-columns: 1fr; } .porta__capas { display: none; } }

.chips { list-style: none; padding: 0; margin: 0 0 28px; display: flex; flex-wrap: wrap; gap: 8px; position: relative; z-index: 1; }
.porta .chips, .faixa-selo .chips { margin-bottom: 0; }
.chips a { display: inline-block; padding: 7px 14px; border-radius: 999px; border: 1px solid var(--linha); background: var(--branco); text-decoration: none; font-size: 14px; font-weight: 500; color: var(--tinta); }
.chips a:hover, .chips a[aria-current="page"] { border-color: var(--tinta); background: var(--tinta); color: #fff; }
.chips--claro a { background: rgba(255, 255, 255, .06); border-color: rgba(255, 255, 255, .22); color: #F2EFE7; }
.chips--claro a:hover { background: #fff; color: var(--tinta); border-color: #fff; }

/* Capas */
.capa { position: relative; display: block; aspect-ratio: 2 / 3; width: 100%; border-radius: 2px 5px 5px 2px; overflow: hidden; background: var(--papel-2);
  box-shadow: 0 1px 1px rgba(21, 26, 45, .08), 0 12px 24px -12px rgba(21, 26, 45, .5); }
.capa img { width: 100%; height: 100%; object-fit: cover; }
.capa::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(0, 0, 0, .16), rgba(255, 255, 255, .14) 2.5%, rgba(0, 0, 0, .06) 5%, transparent 9%); pointer-events: none; }
.capa--3d { background: transparent; box-shadow: none; border-radius: 0; overflow: visible; }
.capa--3d::after { display: none; }
.capa--3d img { object-fit: contain; }
.capa--prov { background: var(--c); container-type: inline-size; color: #F4F0E6; }
.capa-prov__moldura { position: absolute; inset: 6%; border: 1px solid rgba(201, 165, 90, .7); display: flex; flex-direction: column; align-items: center; text-align: center; padding: 10% 7% 8%; }
.capa-prov__moldura::before { content: ""; position: absolute; inset: 2.5%; border: 1px solid rgba(201, 165, 90, .3); }
.capa-prov__colecao { font-size: 5.2cqw; letter-spacing: .14em; text-transform: uppercase; color: var(--ouro); font-weight: 600; line-height: 1.3; }
.capa-prov__titulo { margin: auto 0 0; font-family: var(--serif); font-weight: 500; font-size: 11.5cqw; line-height: 1.05; color: #fff; letter-spacing: -.01em; }
.capa-prov__sub { margin: 6% 0 auto; font-family: var(--serif); font-style: italic; font-size: 6cqw; line-height: 1.25; color: #DDD7C8; display: -webkit-box; -webkit-line-clamp: 4; -webkit-box-orient: vertical; overflow: hidden; }
.capa-prov__editora { font-size: 4.6cqw; letter-spacing: .2em; text-transform: uppercase; color: var(--ouro); font-weight: 600; }

/* Pilha de capas */
.pilha { position: relative; display: block; height: 170px; width: 100%; }
.pilha__item { position: absolute; bottom: 0; width: 52%; left: calc(var(--i) * 16%); transform: rotate(calc((var(--i) - 1.5) * 4deg)); transform-origin: bottom center; z-index: calc(10 - var(--i)); }
.pilha__item .capa { box-shadow: 0 1px 2px rgba(0, 0, 0, .15), 0 14px 22px -12px rgba(0, 0, 0, .55); }

/* Grades e cards de livro */
.grade-livros { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 36px 24px; }
.grade-livros--catalogo, .grade-livros--colecao { grid-template-columns: repeat(auto-fill, minmax(168px, 1fr)); }
@media (max-width: 1080px) { .grade-livros { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
@media (max-width: 720px) { .grade-livros, .grade-livros--catalogo, .grade-livros--colecao { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 30px 18px; } }
.card-livro { display: flex; flex-direction: column; text-decoration: none; color: var(--texto); min-width: 0; }
.card-livro__capa { position: relative; display: block; margin-bottom: 14px; transition: transform .2s ease; }
.card-livro:hover .card-livro__capa { transform: translateY(-4px); }
.card-livro__colecao { font-size: 12px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--suave); margin-bottom: 4px; }
.card-livro__titulo { font-weight: 600; font-size: 16px; line-height: 1.3; color: var(--tinta); margin-bottom: 6px; }
.card-livro:hover .card-livro__titulo { text-decoration: underline; text-underline-offset: 3px; }
.card-livro__preco { font-size: 15px; font-weight: 600; color: var(--tinta); margin-top: auto; }
.card-livro__preco .de { font-weight: 400; color: var(--suave); font-size: 13.5px; }
.em-breve { font-weight: 500; color: var(--suave); font-size: 14px; }
.selo-rank, .selo-novo { position: absolute; top: -8px; left: -8px; z-index: 2; min-width: 34px; height: 34px; padding: 0 8px; border-radius: 999px; display: grid; place-items: center;
  font-size: 13px; font-weight: 700; background: var(--tinta); color: #fff; box-shadow: 0 4px 10px rgba(21, 26, 45, .25); }
.selo-novo { background: var(--chama); font-size: 12px; letter-spacing: .04em; text-transform: uppercase; }

/* Combos */
.grade-combos { display: grid; grid-template-columns: repeat(auto-fill, minmax(330px, 1fr)); gap: 20px; }
@media (max-width: 400px) { .grade-combos { grid-template-columns: 1fr; } }
.grade-combos--destaque { margin-bottom: 44px; }
.card-combo { display: grid; grid-template-columns: 150px minmax(0, 1fr); gap: 22px; align-items: center; padding: 22px; border-radius: 14px; background: var(--branco); border: 1px solid var(--linha); text-decoration: none; color: var(--texto); transition: border-color .15s, box-shadow .15s; min-width: 0; }
.card-combo:hover { border-color: var(--tinta); box-shadow: 0 16px 30px -22px rgba(21, 26, 45, .45); }
.card-combo .pilha { height: 140px; }
.card-combo__txt { display: flex; flex-direction: column; min-width: 0; }
.card-combo__txt .eyebrow { margin-bottom: 6px; }
.card-combo__titulo { font-family: var(--serif); font-size: 22px; font-weight: 500; line-height: 1.15; color: var(--tinta); margin-bottom: 8px; }
.card-combo__desc { font-size: 14.5px; line-height: 1.5; color: var(--suave); display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.card-combo__preco { margin-top: 12px; font-size: 16px; }
.card-combo__preco s { color: var(--suave); font-size: 14px; margin-right: 4px; }
.card-combo__preco strong { color: var(--tinta); }
@media (max-width: 460px) { .card-combo { grid-template-columns: 1fr; } .card-combo .pilha { height: 150px; max-width: 170px; } }

/* Profissões */
.secao--profissoes { padding-top: 0; }
.profissoes { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(210px, 1fr)); gap: 12px; }
.profissoes a { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 18px 20px; border-radius: 12px; background: var(--branco); border: 1px solid var(--linha); border-left: 6px solid var(--c); text-decoration: none; transition: transform .15s, box-shadow .15s; }
.profissoes a:hover { transform: translateY(-2px); box-shadow: 0 12px 24px -18px rgba(21, 26, 45, .5); }
.profissoes__nome { font-family: var(--serif); font-size: 20px; font-weight: 500; color: var(--tinta); }
.profissoes__n { font-size: 13px; color: var(--suave); white-space: nowrap; }

/* Posts */
.grade-posts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
@media (max-width: 900px) { .grade-posts { grid-template-columns: 1fr; } }
.card-post { display: flex; flex-direction: column; padding: 24px; border-radius: 14px; background: var(--branco); border: 1px solid var(--linha); text-decoration: none; color: var(--texto); border-top: 5px solid var(--c); transition: box-shadow .15s, transform .15s; min-width: 0; }
.card-post:hover { transform: translateY(-2px); box-shadow: 0 16px 30px -22px rgba(21, 26, 45, .45); }
.card-post__faixa { font-size: 12px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--chama-esc); margin-bottom: 10px; }
.card-post__titulo { font-family: var(--serif); font-size: 23px; font-weight: 500; line-height: 1.18; color: var(--tinta); margin-bottom: 10px; }
.card-post__desc { font-size: 15px; color: var(--suave); margin-bottom: 16px; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.card-post__meta { margin-top: auto; font-size: 13px; color: var(--suave); }

/* Faixa sobre */
.sobre-faixa { border-top: 1px solid var(--linha); }
.sobre-faixa__in { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr) auto; gap: 24px 48px; align-items: center; }
.sobre-faixa__frase { font-family: var(--serif); font-size: clamp(28px, 3.4vw, 42px); line-height: 1.08; color: var(--tinta); margin: 0; letter-spacing: -.015em; }
.sobre-faixa__frase em { color: var(--chama); }
.sobre-faixa__txt { margin: 0; color: var(--texto); font-size: 16px; }
@media (max-width: 900px) { .sobre-faixa__in { grid-template-columns: 1fr; } .sobre-faixa__in .btn { justify-self: start; } }

/* Migalhas e cabeçalhos */
.migalhas { padding: 20px 0 0; font-size: 14px; }
.migalhas ol { list-style: none; padding: 0; margin: 0; display: flex; flex-wrap: wrap; gap: 4px 0; }
.migalhas li { color: var(--suave); }
.migalhas li + li::before { content: "/"; margin: 0 8px; color: var(--linha); }
.migalhas a { color: var(--suave); text-decoration: none; }
.migalhas a:hover { color: var(--tinta); text-decoration: underline; }
.migalhas [aria-current] { color: var(--tinta); }
.cabeca { padding: clamp(28px, 4vw, 48px) 0 28px; max-width: 760px; }
.cabeca__titulo { font-family: var(--serif); font-weight: 500; font-size: clamp(38px, 5vw, 60px); line-height: 1.02; letter-spacing: -.02em; margin: 0 0 14px; }
.cabeca__desc { font-size: 18px; margin: 0; color: var(--texto); }
.cabeca__meta { margin: 14px 0 0; font-size: 14px; color: var(--suave); }
.cabeca--colecao { border-left: 6px solid var(--c); padding-left: 24px; margin-top: 28px; padding-top: 6px; padding-bottom: 6px; margin-bottom: 40px; }
.cabeca--404 { padding-bottom: 48px; }
.cabeca--404 .hero__acoes { margin-top: 24px; }

/* Selo */
.faixa-selo { background: var(--c); color: #E2DED3; padding: 0 0 clamp(40px, 6vw, 72px); }
.faixa-selo .migalhas { padding-bottom: clamp(28px, 4vw, 48px); }
.faixa-selo .migalhas a, .faixa-selo .migalhas li { color: #B9B5AA; }
.faixa-selo .migalhas [aria-current] { color: #fff; }
.faixa-selo .migalhas li + li::before { color: rgba(255, 255, 255, .25); }
.faixa-selo__titulo { color: #fff; font-family: var(--serif); font-weight: 500; font-size: clamp(38px, 5.4vw, 64px); line-height: 1.02; letter-spacing: -.02em; margin: 0 0 16px; max-width: 18ch; }
.faixa-selo__desc { font-size: 18px; max-width: 60ch; margin: 0 0 28px; color: #D8D4C8; }

/* Filtros do catálogo */
.filtros { display: grid; grid-template-columns: minmax(240px, 1.6fr) auto repeat(3, minmax(140px, 1fr)); gap: 12px; align-items: end; padding: 18px; background: var(--branco); border: 1px solid var(--linha); border-radius: 14px; }
.filtros__busca { position: relative; display: block; }
.filtros__busca svg { position: absolute; left: 14px; top: 50%; width: 20px; height: 20px; transform: translateY(-50%); color: var(--suave); }
.filtros input, .filtros select { width: 100%; height: 46px; border: 1px solid var(--linha); border-radius: 10px; background: var(--papel); font: inherit; font-size: 15.5px; color: var(--tinta); padding: 0 12px; }
.filtros input { padding-left: 42px; }
.filtros input:focus, .filtros select:focus { outline: 2px solid var(--chama); outline-offset: 1px; }
.filtros__campo span { display: block; font-size: 12px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--suave); margin-bottom: 6px; }
.filtros__selos { display: flex; gap: 4px; padding: 4px; background: var(--papel-2); border-radius: 999px; height: 46px; align-items: center; }
.seg { border: 0; background: transparent; padding: 0 14px; height: 38px; border-radius: 999px; font-size: 14.5px; font-weight: 500; color: var(--texto); cursor: pointer; white-space: nowrap; }
.seg.is-on { background: var(--tinta); color: #fff; }
.filtros__contagem { margin: 18px 0 22px; font-size: 14px; color: var(--suave); }
@media (max-width: 1080px) { .filtros { grid-template-columns: 1fr 1fr 1fr; } .filtros__busca { grid-column: 1 / -1; } .filtros__selos { grid-column: 1 / -1; justify-self: start; } }
@media (max-width: 560px) { .filtros { grid-template-columns: 1fr 1fr; padding: 14px; } .filtros__campo:last-child { grid-column: 1 / -1; } .filtros__selos { overflow-x: auto; max-width: 100%; } }
.vazio { padding: 40px 0; text-align: center; }
.faixa-combos { margin: 56px 0 72px; display: flex; justify-content: space-between; align-items: center; gap: 16px 24px; flex-wrap: wrap; padding: 24px 28px; border-radius: 14px; background: var(--papel-2); text-decoration: none; color: var(--texto); }
.faixa-combos strong { color: var(--tinta); }
.bloco-combos { margin-bottom: 56px; }
.bloco-combos .secao__titulo { margin-bottom: 22px; font-size: clamp(24px, 2.6vw, 30px); }
.pg-combos .cabeca { padding-bottom: 36px; }

/* Página do livro */
.livro { padding: 20px 0 clamp(40px, 5vw, 64px); }
.livro__grade { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: clamp(32px, 5vw, 72px); align-items: start; }
.livro__midia { position: sticky; top: 96px; }
.livro__capa { padding: clamp(28px, 4vw, 52px); border-radius: 18px; background: radial-gradient(120% 90% at 30% 20%, rgba(255, 255, 255, .12), transparent 60%), var(--c); display: grid; place-items: center; position: relative; }
.livro__capa::after { content: ""; position: absolute; inset: 12px; border: 1px solid rgba(201, 165, 90, .4); border-radius: 10px; pointer-events: none; }
.livro__capa .capa { width: min(80%, 360px); box-shadow: 0 2px 4px rgba(0, 0, 0, .2), 0 30px 50px -18px rgba(0, 0, 0, .55); }
.livro__capa .capa--3d { box-shadow: none; }
.livro__ver-trecho { display: block; margin-top: 14px; text-align: center; font-weight: 600; font-size: 15px; color: var(--tinta); }
.livro__titulo { font-family: var(--serif); font-weight: 500; font-size: clamp(40px, 5vw, 62px); line-height: 1.02; letter-spacing: -.02em; margin: 0 0 12px; }
.livro__sub { font-family: var(--serif); font-style: italic; font-size: clamp(20px, 2vw, 25px); line-height: 1.3; margin: 0 0 18px; color: var(--texto); }
.livro__resumo { font-size: 18px; margin: 0 0 18px; max-width: 58ch; }
.livro__vinculo { font-size: 15px; color: var(--suave); margin: 0 0 18px; }
.livro__vinculo a { color: var(--tinta); font-weight: 600; }
.compra { margin-top: 24px; padding: 22px; border: 1px solid var(--linha); border-radius: 16px; background: var(--branco); scroll-margin-top: 90px; }
.compra__titulo { margin: 0 0 12px; font-size: 13px; font-weight: 600; letter-spacing: .07em; text-transform: uppercase; color: var(--suave); }
.formato { display: grid; grid-template-columns: minmax(0, 1fr) auto auto; gap: 8px 18px; align-items: center; padding: 14px 0; border-top: 1px solid var(--linha); }
.formato:first-of-type { border-top: 0; padding-top: 4px; }
.formato__nome strong { display: block; color: var(--tinta); font-size: 17px; }
.formato__nome span { font-size: 13.5px; color: var(--suave); }
.formato__preco { font-family: var(--serif); font-size: 28px; font-weight: 500; color: var(--tinta); white-space: nowrap; }
.formato__btn { min-width: 128px; }
@media (max-width: 480px) { .formato { grid-template-columns: 1fr auto; } .formato__btn { grid-column: 1 / -1; width: 100%; } }
.confianca { list-style: none; padding: 14px 0 0; margin: 8px 0 0; border-top: 1px solid var(--linha); display: flex; flex-wrap: wrap; gap: 8px 20px; font-size: 13.5px; color: var(--suave); }
.confianca li { display: inline-flex; align-items: center; gap: 6px; }
.confianca svg { width: 18px; height: 18px; color: var(--ok); flex: none; }
.aviso-combo { margin-top: 16px; display: grid; grid-template-columns: 96px minmax(0, 1fr); gap: 18px; align-items: center; padding: 16px 20px; border-radius: 14px; background: var(--papel-2); text-decoration: none; color: var(--texto); font-size: 15px; }
.aviso-combo .pilha { height: 80px; }
.aviso-combo strong { display: block; color: var(--tinta); font-size: 16px; }
.aviso-combo:hover strong { text-decoration: underline; }
@media (max-width: 860px) {
  .livro__grade { grid-template-columns: 1fr; }
  .livro__midia { position: static; }
  .livro__capa .capa { width: min(60%, 260px); }
}

.livro__corpo { display: grid; grid-template-columns: minmax(0, 1fr) 340px; gap: clamp(32px, 5vw, 72px); align-items: start; padding-bottom: clamp(40px, 6vw, 72px); }
@media (max-width: 960px) { .livro__corpo { grid-template-columns: 1fr; } }
.bloco { padding: 32px 0; border-top: 1px solid var(--linha); }
.bloco:first-child { border-top: 0; padding-top: 8px; }
.bloco__titulo { font-family: var(--serif); font-weight: 500; font-size: clamp(26px, 2.6vw, 32px); line-height: 1.1; margin: 0 0 16px; }
.bloco__nota { margin: -8px 0 16px; color: var(--suave); font-size: 14.5px; }
.prosa { max-width: 66ch; }
.prosa p { margin: 0 0 1em; }
.prosa > :last-child { margin-bottom: 0; }
.lista-check, .lista-destaques { list-style: none; padding: 0; margin: 0; display: grid; gap: 12px; max-width: 66ch; }
.lista-check li { position: relative; padding-left: 34px; }
.lista-check li::before { content: ""; position: absolute; left: 0; top: 3px; width: 22px; height: 22px; border-radius: 50%; background: var(--ok) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m7 12.5 3.2 3.2L17 9' fill='none' stroke='white' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 16px no-repeat; }
.lista-destaques li { padding: 14px 18px; background: var(--branco); border: 1px solid var(--linha); border-radius: 10px; border-left: 4px solid var(--chama); }
.sumario { list-style: none; padding: 0; margin: 0; counter-reset: s; max-width: 66ch; }
.sumario li { counter-increment: s; display: grid; grid-template-columns: 40px minmax(0, 1fr); gap: 8px; padding: 11px 0; border-bottom: 1px dashed var(--linha); }
.sumario li::before { content: counter(s, decimal-leading-zero); font-family: var(--serif); font-size: 18px; color: var(--chama); line-height: 1.5; }
.trechos { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 16px; }
.trecho { display: block; border-radius: 4px; overflow: hidden; border: 1px solid var(--linha); box-shadow: 0 10px 20px -16px rgba(21, 26, 45, .5); transition: transform .15s; background: #fff; }
.trecho:hover { transform: translateY(-3px); }
.ficha { position: sticky; top: 96px; padding: 24px; border-radius: 14px; background: var(--papel-2); }
.ficha .bloco__titulo { font-size: 24px; }
.ficha dl { margin: 0; }
.ficha dl div { display: grid; grid-template-columns: 110px minmax(0, 1fr); gap: 10px; padding: 10px 0; border-top: 1px solid var(--linha); font-size: 14.5px; }
.ficha dt { color: var(--suave); }
.ficha dd { margin: 0; color: var(--tinta); font-weight: 500; }
.ficha dd a { color: inherit; }
@media (max-width: 960px) { .ficha { position: static; } }
.faq { max-width: 820px; margin-top: 24px; }
.faq details { border-top: 1px solid var(--linha); }
.faq details:last-child { border-bottom: 1px solid var(--linha); }
.faq summary { list-style: none; cursor: pointer; padding: 18px 40px 18px 0; position: relative; font-weight: 600; color: var(--tinta); font-size: 17px; }
.faq summary::-webkit-details-marker { display: none; }
.faq summary::after { content: "+"; position: absolute; right: 6px; top: 50%; transform: translateY(-50%); font-size: 24px; font-weight: 400; color: var(--chama); }
.faq details[open] summary::after { content: "–"; }
.faq details p { margin: 0 0 18px; max-width: 70ch; }

.barra-compra { display: none; }
@media (max-width: 860px) {
  .pg-livro { padding-bottom: 76px; }
  .barra-compra { display: flex; position: fixed; left: 0; right: 0; bottom: 0; z-index: 30; gap: 12px; align-items: center; justify-content: space-between;
    padding: 10px max(16px, env(safe-area-inset-right, 0px)) calc(10px + env(safe-area-inset-bottom, 0px)) max(16px, env(safe-area-inset-left, 0px));
    background: rgba(250, 250, 247, .97); border-top: 1px solid var(--linha); box-shadow: 0 -10px 24px -18px rgba(21, 26, 45, .5);
    transform: translateY(110%); transition: transform .25s ease; }
  .barra-compra.is-visivel { transform: none; }
  .barra-compra__txt { min-width: 0; font-size: 13.5px; color: var(--suave); line-height: 1.3; }
  .barra-compra__txt strong { display: block; color: var(--tinta); font-size: 15px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
}

/* Lightbox */
.lightbox { position: fixed; inset: 0; z-index: 60; background: rgba(10, 12, 22, .9); display: grid; place-items: center; padding: 56px 16px; }
.lightbox[hidden] { display: none; }
.lightbox__img { max-height: calc(100vh - 112px); max-width: min(92vw, 760px); width: auto; border-radius: 4px; box-shadow: 0 30px 60px rgba(0, 0, 0, .5); background: #fff; }
.lightbox__fechar { position: absolute; top: calc(12px + env(safe-area-inset-top, 0px)); right: calc(12px + env(safe-area-inset-right, 0px)); width: 46px; height: 46px; border-radius: 50%; border: 0; background: rgba(255, 255, 255, .12); color: #fff; font-size: 28px; cursor: pointer; }
.lightbox__nav { position: absolute; top: 50%; transform: translateY(-50%); width: 48px; height: 64px; border: 0; background: rgba(255, 255, 255, .12); color: #fff; font-size: 34px; cursor: pointer; border-radius: 10px; }
.lightbox__nav--ant { left: calc(12px + env(safe-area-inset-left, 0px)); }
.lightbox__nav--prox { right: calc(12px + env(safe-area-inset-right, 0px)); }

/* Combo */
.combo { padding: 20px 0 clamp(56px, 7vw, 96px); }
.combo__grade { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: clamp(32px, 5vw, 72px); align-items: start; }
.combo__midia { position: sticky; top: 96px; padding: clamp(32px, 4vw, 56px) clamp(24px, 3vw, 44px) clamp(28px, 3vw, 40px); border-radius: 18px; background: radial-gradient(120% 90% at 30% 20%, rgba(255, 255, 255, .12), transparent 60%), var(--c); }
.combo__midia .pilha { height: clamp(220px, 26vw, 330px); }
.combo__itens { list-style: none; padding: 0; margin: 0 0 8px; }
.combo__itens li { display: grid; grid-template-columns: 52px minmax(0, 1fr) auto; gap: 14px; align-items: center; padding: 12px 0; border-top: 1px solid var(--linha); }
.combo__itens li:first-child { border-top: 0; }
.combo__item-capa .capa { width: 52px; }
.combo__item-txt a { display: block; font-weight: 600; color: var(--tinta); text-decoration: none; line-height: 1.3; }
.combo__item-txt a:hover { text-decoration: underline; }
.combo__item-txt span { font-size: 13px; color: var(--suave); }
.combo__item-preco { color: var(--suave); font-size: 14px; }
.combo__total { display: flex; flex-wrap: wrap; gap: 6px 18px; align-items: baseline; padding: 16px 0; margin-bottom: 14px; border-top: 1px solid var(--linha); }
.combo__de { color: var(--suave); font-size: 15px; }
.combo__por { font-size: 16px; color: var(--tinta); }
.combo__por strong { font-family: var(--serif); font-size: 32px; font-weight: 500; }
.combo__eco { font-size: 14px; font-weight: 600; color: var(--ok); }
@media (max-width: 860px) { .combo__grade { grid-template-columns: 1fr; } .combo__midia { position: static; } }

/* Artigo e páginas */
.artigo { max-width: 760px; margin: 0 auto; padding: clamp(24px, 4vw, 48px) max(var(--gutter), env(safe-area-inset-right, 0px)) clamp(48px, 7vw, 88px) max(var(--gutter), env(safe-area-inset-left, 0px)); }
.artigo__cabeca { margin-bottom: 36px; padding-bottom: 28px; border-bottom: 1px solid var(--linha); }
.artigo__titulo { font-family: var(--serif); font-weight: 500; font-size: clamp(36px, 4.8vw, 56px); line-height: 1.05; letter-spacing: -.02em; margin: 0 0 16px; }
.artigo__desc { font-size: 19px; margin: 0 0 14px; color: var(--texto); }
.artigo__meta { margin: 0; font-size: 14px; color: var(--suave); }
.prosa--artigo { font-size: 18px; line-height: 1.72; max-width: none; }
.prosa--artigo h2 { font-family: var(--serif); font-weight: 500; font-size: clamp(26px, 2.8vw, 32px); line-height: 1.15; margin: 1.8em 0 .6em; }
.prosa--artigo h3 { font-size: 19px; margin: 1.6em 0 .4em; }
.prosa--artigo ul, .prosa--artigo ol { padding-left: 1.3em; margin: 0 0 1.1em; }
.prosa--artigo li { margin: .35em 0; }
.prosa--artigo li::marker { color: var(--chama); }
.prosa--artigo a { color: var(--chama-esc); }
.prosa--artigo strong { color: var(--tinta); }
.prosa--artigo em { color: var(--texto); }
.cta-livro { margin-top: 48px; display: grid; grid-template-columns: 150px minmax(0, 1fr); gap: 28px; align-items: center; padding: 28px; border-radius: 16px; background: var(--c); color: #DDD8CC; }
.cta-livro__titulo { font-family: var(--serif); font-size: 28px; font-weight: 500; line-height: 1.1; color: #fff; margin: 0 0 10px; }
.cta-livro__resumo { margin: 0 0 18px; font-size: 15.5px; }
@media (max-width: 560px) { .cta-livro { grid-template-columns: 1fr; } .cta-livro__capa { width: 130px; } .cta-livro .btn { white-space: normal; text-align: center; } }
.contatos { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 16px; }
.contato { padding: 24px; border: 1px solid var(--linha); border-radius: 14px; background: var(--branco); }
.contato h2 { font-family: var(--serif); font-weight: 500; font-size: 23px; margin: 0 0 8px; }
.contato p { margin: 0 0 16px; font-size: 15.5px; }
.contato__valor { font-weight: 600; color: var(--tinta); user-select: all; word-break: break-all; }
.contato__empresa { margin-top: 32px; font-size: 14px; color: var(--suave); }

/* Rodapé */
.rodape { background: var(--tinta); color: #B9BDCB; margin-top: 0; }
.rodape__in { max-width: var(--max); margin: 0 auto; padding: 64px max(var(--gutter), env(safe-area-inset-right, 0px)) 40px max(var(--gutter), env(safe-area-inset-left, 0px)); display: grid; grid-template-columns: minmax(0, 1.4fr) repeat(3, minmax(0, 1fr)); gap: 36px; }
.rodape .marca__nome { color: #fff; font-size: 26px; }
.rodape__marca p { font-size: 15px; max-width: 38ch; margin: 14px 0 0; }
.rodape__pagamento { font-size: 13.5px !important; color: #8D92A3; }
.rodape__col { display: flex; flex-direction: column; gap: 8px; align-items: flex-start; }
.rodape__col h2 { color: #fff; font-size: 13px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; margin: 0 0 6px; }
.rodape__col a, .link-cookies { color: #B9BDCB; text-decoration: none; font-size: 15px; background: none; border: 0; padding: 0; cursor: pointer; text-align: left; }
.rodape__col a:hover, .link-cookies:hover { color: #fff; text-decoration: underline; }
.rodape__base { max-width: var(--max); margin: 0 auto; padding: 20px max(var(--gutter), env(safe-area-inset-right, 0px)) calc(28px + env(safe-area-inset-bottom, 0px)) max(var(--gutter), env(safe-area-inset-left, 0px)); border-top: 1px solid rgba(255, 255, 255, .1); display: flex; justify-content: space-between; gap: 12px; flex-wrap: wrap; font-size: 13.5px; color: #8D92A3; }
.rodape__base a { color: #B9BDCB; }
@media (max-width: 900px) { .rodape__in { grid-template-columns: 1fr 1fr; } .rodape__marca { grid-column: 1 / -1; } }
@media (max-width: 460px) { .rodape__in { grid-template-columns: 1fr; } }

/* Aviso de cookies */
.cookies { position: fixed; z-index: 50; left: max(16px, env(safe-area-inset-left, 0px)); right: max(16px, env(safe-area-inset-right, 0px)); bottom: calc(16px + env(safe-area-inset-bottom, 0px));
  max-width: 560px; margin: 0 auto; background: var(--branco); border: 1px solid var(--linha); border-radius: 14px; padding: 16px 18px; box-shadow: 0 20px 40px -20px rgba(21, 26, 45, .45);
  display: flex; gap: 14px; align-items: center; flex-wrap: wrap; font-size: 14.5px; }
.cookies[hidden] { display: none; }
.cookies p { margin: 0; flex: 1 1 260px; }
.cookies__acoes { display: flex; gap: 8px; }
.espaco-fim { height: 72px; }
.aviso-bump { margin-top: 16px; display: grid; grid-template-columns: 84px minmax(0, 1fr); gap: 18px; align-items: center; padding: 16px 20px; border-radius: 14px; background: var(--papel-2); color: var(--texto); font-size: 15px; line-height: 1.5; }
.aviso-bump .pilha { height: 76px; }
.aviso-bump p { margin: 0; }
.aviso-bump strong { display: block; color: var(--tinta); font-size: 16px; margin-bottom: 2px; }
.rodape__links { display: inline-flex; gap: 18px; }
.prosa table { width: 100%; border-collapse: collapse; margin: 20px 0 28px; font-size: 15px; line-height: 1.45; }
.prosa th, .prosa td { text-align: left; vertical-align: top; padding: 10px 12px; border-bottom: 1px solid var(--linha); }
.prosa th { font-weight: 600; color: var(--tinta); background: var(--papel-2); }
@media (max-width: 560px) { .prosa table { font-size: 13.5px; } .prosa th, .prosa td { padding: 8px 6px; } }
