/* Ebook do Arquiteto High Ticket: template fixo no padrão Magna (base book-forge: capa, abertura de capítulo, conteúdo, checklist).
   Tokens no :root de tema.css. A cor escolhida troca só --eb-acc. */
body.eb { background: #1b1916; color: var(--eb-texto); font-family: var(--eb-text); }
.eb {
  --eb-acc-claro: color-mix(in srgb, var(--eb-acc) 55%, #fff);
  --eb-acc-escuro: color-mix(in srgb, var(--eb-acc) 55%, #000);
  --eb-linha: color-mix(in srgb, var(--eb-acc) 30%, transparent);
  --eb-grad: linear-gradient(170deg, var(--eb-acc-claro) 0%, var(--eb-acc) 45%, var(--eb-acc-escuro) 100%);
}
.barra-eb { position: sticky; top: 0; z-index: 5; display: flex; gap: var(--s2); align-items: center; padding: var(--s2) var(--s3);
  background: rgba(0,0,0,.9); border-bottom: var(--traco) solid var(--line); }
.barra-eb a { color: var(--prata-luz); font-size: var(--fs-sm); text-decoration: none; min-height: var(--toque); display: flex; align-items: center; }
.barra-eb { flex-wrap: wrap; }
.barra-eb .btn { width: auto; flex: 1 1 auto; padding: 0 var(--s4); min-height: var(--toque); white-space: nowrap; }
.barra-eb a { white-space: nowrap; flex: 1 0 100%; }
.aviso-eb { margin: 0; padding: var(--s3); background: rgba(212,160,138,.14); color: var(--texto-2); font-size: var(--fs-sm); text-align: center; border-bottom: var(--traco) solid var(--line); }
.aviso-eb.erro { background: rgba(163,74,92,.22); color: #fff; }
.folhas { padding: var(--s4) var(--s3) var(--s6); display: grid; gap: var(--s4); justify-items: center; }
.estado { padding: var(--s6) var(--s3); text-align: center; color: var(--texto-2); }

.pg { width: min(210mm, 100%); aspect-ratio: 210 / 297; position: relative; overflow: visible; /* na tela a folha cresce se o texto passar */ background: var(--eb-bg);
  padding: clamp(28px, 7%, 22mm) clamp(24px, 8%, 20mm); display: flex; flex-direction: column; box-shadow: 0 10px 40px rgba(0,0,0,.5);
  container-type: inline-size; }
.pg::after { content: ""; position: absolute; inset: 10px; border: 1px solid var(--eb-linha); pointer-events: none; }
.pg .canto { position: absolute; width: 18px; height: 18px; border-color: var(--eb-acc); border-style: solid; border-width: 0; }
.canto.tl { top: 10px; left: 10px; border-top-width: 1px; border-left-width: 1px; }
.canto.tr { top: 10px; right: 10px; border-top-width: 1px; border-right-width: 1px; }
.canto.bl { bottom: 10px; left: 10px; border-bottom-width: 1px; border-left-width: 1px; }
.canto.br { bottom: 10px; right: 10px; border-bottom-width: 1px; border-right-width: 1px; }
.pg h1, .pg h2, .pg h3 { font-family: var(--eb-display); font-weight: 700; margin: 0; text-wrap: balance; }
.pg p, .pg li { font-size: clamp(11px, 2.3cqi, 15px); line-height: 1.6; color: var(--eb-texto-2); }
.olho { font-size: clamp(9px, 1.7cqi, 11px); letter-spacing: .28em; text-transform: uppercase; color: var(--eb-acc); margin: 0 0 3cqi; }
.titulo-sec { font-size: clamp(22px, 6cqi, 40px); line-height: 1.08; color: var(--eb-texto); margin-bottom: 3cqi !important; }
.traco { width: 12cqi; height: 1px; background: var(--eb-grad); margin: 0 0 5cqi; }
.rodape { margin-top: auto; display: flex; align-items: center; gap: 2cqi; color: var(--eb-acc); font-size: clamp(9px, 1.6cqi, 11px); letter-spacing: .2em; }
.rodape::before, .rodape::after { content: ""; flex: 1; height: 1px; background: var(--eb-linha); }

/* Capa */
.capa { justify-content: center; align-items: center; text-align: center;
  background: radial-gradient(ellipse at 50% 115%, color-mix(in srgb, var(--eb-acc) 26%, var(--eb-bg)) 0%, var(--eb-bg) 62%); }
.capa .marca { width: 34cqi; margin: 0 auto 7cqi; display: block; }
.capa h1 { font-size: clamp(30px, 9.5cqi, 64px); line-height: 1.04; background: var(--eb-grad); -webkit-background-clip: text; background-clip: text; color: transparent; padding: 0 2cqi; }
.capa .subt { font-size: clamp(13px, 3cqi, 19px); color: var(--eb-texto); max-width: 30ch; margin: 4cqi auto 0; text-wrap: balance; }
.capa .autor { position: absolute; bottom: 9%; left: 0; right: 0; font-size: clamp(10px, 2cqi, 13px); letter-spacing: .24em; text-transform: uppercase; color: var(--eb-texto-2); }
.capa .autor b { color: var(--eb-acc); font-weight: 500; }

/* Promessa e público */
.promessa { font-family: var(--eb-display); font-size: clamp(17px, 4.6cqi, 30px) !important; line-height: 1.3 !important; color: var(--eb-texto) !important;
  border-left: 2px solid var(--eb-acc); padding-left: 4cqi; margin: 0 0 6cqi; text-wrap: balance; }
.duas { display: grid; grid-template-columns: 1fr 1fr; gap: 4cqi; margin-bottom: 5cqi; }
.caixa { background: var(--eb-card); border: 1px solid var(--eb-linha); padding: 3.5cqi; }
.caixa h3 { font-size: clamp(12px, 2.8cqi, 17px); color: var(--eb-acc); margin-bottom: 1.5cqi; }
.caixa p { margin: 0; }
.lista { list-style: none; padding: 0; margin: 0; }
.lista li { position: relative; padding-left: 4cqi; margin: 0 0 1.4cqi; }
.lista li::before { content: ""; position: absolute; left: 0; top: .65em; width: 1.6cqi; height: 1px; background: var(--eb-acc); }

/* Abertura de capítulo: método */
.capitulo { background: radial-gradient(ellipse at 100% 0%, color-mix(in srgb, var(--eb-acc) 16%, var(--eb-bg)) 0%, var(--eb-bg) 55%); }
.etapas { list-style: none; padding: 0; margin: 0; counter-reset: e; display: grid; gap: 3.2cqi; }
.etapas li { counter-increment: e; display: grid; grid-template-columns: 12cqi 1fr; gap: 3cqi; align-items: start; margin: 0; }
.etapas li::before { content: counter(e, decimal-leading-zero); font-family: var(--eb-display); font-size: clamp(22px, 7cqi, 44px); line-height: .9; color: var(--eb-acc); }
.etapas b { display: block; font-family: var(--eb-display); font-size: clamp(14px, 3.4cqi, 21px); color: var(--eb-texto); margin-bottom: .6cqi; }

/* Módulos */
.modulos { display: grid; gap: 3cqi; }
.modulo { border-top: 1px solid var(--eb-linha); padding-top: 2.6cqi; break-inside: avoid; }
.modulo h3 { font-size: clamp(14px, 3.3cqi, 20px); color: var(--eb-texto); margin-bottom: .8cqi; }
.modulo .obj { margin: 0 0 1.4cqi; font-style: italic; }
.modulo ol { margin: 0; padding-left: 5cqi; } .modulo li { margin: 0 0 .6cqi; } .modulo li::marker { color: var(--eb-acc); }
.pg.longa { aspect-ratio: auto; min-height: calc(min(210mm, 100vw) * 1.414); }

/* Checklist */
.check { list-style: none; padding: 0; margin: 0 0 5cqi; }
.check li { display: grid; grid-template-columns: 4.5cqi 1fr; gap: 2.4cqi; margin: 0 0 1.8cqi; align-items: start; }
.check li::before { content: ""; width: 3cqi; height: 3cqi; border: 1px solid var(--eb-acc); margin-top: .3em; }
.formato { display: grid; grid-template-columns: repeat(3, 1fr); gap: 3cqi; margin-bottom: 5cqi; }
.formato .caixa b { display: block; color: var(--eb-texto); font-family: var(--eb-display); font-size: clamp(12px, 2.8cqi, 17px); }
.assinatura { display: flex; align-items: center; gap: 3cqi; margin-top: auto; padding-top: 4cqi; border-top: 1px solid var(--eb-linha); }
.assinatura img { width: 16cqi; }
.assinatura p { margin: 0; font-size: clamp(10px, 1.9cqi, 12px); }

@media (max-width: 560px) { .duas, .formato { grid-template-columns: 1fr; } }

@media print {
  .aviso-eb { display: none !important; }
  @page { size: A4; margin: 0; }
  html, body.eb { background: var(--eb-bg); }
  * { -webkit-print-color-adjust: exact; print-color-adjust: exact; }
  .barra-eb { display: none; }
  .folhas { padding: 0; gap: 0; display: block; }
  .pg { width: 210mm; height: 297mm; aspect-ratio: auto; min-height: 0; box-shadow: none; overflow: hidden; break-after: page; page-break-after: always; }
  .pg.longa { height: auto; min-height: 297mm; }
  .duas { grid-template-columns: 1fr 1fr; } .formato { grid-template-columns: repeat(3, 1fr); }
}
