/* =====================================================================
   BOLT · ORÇAMENTO
   A tela do fim do quiz. É o único lugar do briefing que rola: o resto
   do fluxo é uma pergunta por tela, sem barra. Aqui é um documento, e
   documento rola — mas a barra continua fora de vista.
   ===================================================================== */

body.pg-briefing .palco-corpo.orc-corpo {
  display: block;
  overflow-y: auto; overflow-x: hidden;
  overscroll-behavior: contain;
  scrollbar-width: none; -ms-overflow-style: none;
  padding: clamp(1rem, 3vh, 2rem) clamp(1rem, 5vw, 2rem) clamp(6rem, 12vh, 8rem);
}
body.pg-briefing .palco-corpo.orc-corpo::-webkit-scrollbar { width: 0; height: 0; display: none; }

/* Com o corpo em `display:block`, o quadro deixa de ser item de flex e
   para de se centralizar sozinho — o documento ficava encostado na
   esquerda, ocupando meia tela. E o cartão não pode ter rolagem própria
   aqui: quem rola é o corpo, senão viram duas caixas de rolagem
   encaixadas e o pé some. */
body.pg-briefing .orc-corpo .quadro {
  max-width: 900px; margin-inline: auto;
  display: block; flex: none; min-height: 0; overflow: visible;
}
body.pg-briefing .orc-corpo .quadro .cartao {
  overflow: visible; flex: none; min-height: 0; padding-block: 0;
}

.orc {
  width: 100%; max-width: 860px; margin: 0 auto;
  display: flex; flex-direction: column; gap: clamp(2.2rem, 5vh, 3.4rem);
  outline: none;
}

/* ---------- cabeça ---------- */
.orc-cabeca { display: flex; flex-direction: column; align-items: flex-start; gap: .9rem; }
.orc-marca { transform: scale(.9); transform-origin: left center; }
.orc-tit {
  margin: 0; font-size: clamp(30px, 5.2vw, 52px); font-weight: 700;
  line-height: 1.02; letter-spacing: -.03em;
}
.orc-sub { margin: 0; font-size: clamp(15px, 1.3vw, 18px); line-height: 1.55; color: var(--ne-mudo, #a0a0a0); max-width: 56ch; }
.orc-sub b { color: #fff; font-weight: 600; }

/* ---------- blocos ---------- */
.orc-bloco { display: flex; flex-direction: column; gap: 1.1rem; }
.orc-h3 {
  margin: 0; display: flex; align-items: baseline; gap: .7rem;
  font-size: clamp(19px, 2.2vw, 26px); font-weight: 700; letter-spacing: -.02em;
  padding-bottom: .9rem; border-bottom: 1px solid var(--ne-borda, rgba(255,255,255,.10));
}
.orc-num {
  font-family: var(--mono, ui-monospace, monospace); font-style: normal;
  font-size: .68em; letter-spacing: .06em;
  background-image: linear-gradient(135deg, var(--ne-quente, #c9a7ff), var(--ne-frio, #8da9fc));
  -webkit-background-clip: text; background-clip: text; color: transparent;
}
.orc-h4 { margin: 1.2rem 0 0; font-size: clamp(15px, 1.4vw, 18px); font-weight: 600; letter-spacing: -.01em; }
.orc-p { margin: 0; font-size: clamp(14px, 1.15vw, 16px); line-height: 1.65; color: var(--texto-2, #c8c5da); }
.orc-p b { color: #fff; }
.orc-p i { font-style: italic; color: #fff; }

/* ---------- lista de escopo ---------- */
.orc-lista { margin: 0; display: flex; flex-direction: column; gap: .1rem; }
.orc-item {
  display: grid; grid-template-columns: minmax(140px, 32%) 1fr; gap: 1.2rem;
  padding: .85rem 0; border-bottom: 1px solid rgba(255,255,255,.06);
}
.orc-item dt { font-size: .82rem; font-weight: 600; letter-spacing: .01em; color: var(--ne-quente, #c9a7ff); }
.orc-item dd { margin: 0; font-size: clamp(13.5px, 1.1vw, 15.5px); line-height: 1.55; color: var(--texto-2, #c8c5da); }
.orc-lista-fina .orc-item { padding: .55rem 0; }
.orc-lista-fina dd { color: var(--ne-mudo, #a0a0a0); }

/* ---------- motores de IA ---------- */
.orc-chips { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: .5rem; }
.orc-chips li {
  padding: .42rem .85rem; border-radius: 999px;
  border: 1px solid var(--ne-borda, rgba(255,255,255,.10));
  background: var(--ne-vidro, rgba(255,255,255,.04));
  font-size: .82rem; color: #fff;
}

/* ---------- os dados ---------- */
.orc-dados { display: flex; flex-direction: column; gap: .1rem; margin-top: .5rem; }
.orc-dado {
  margin: 0; display: grid; grid-template-columns: minmax(96px, 18%) 1fr; gap: 1.1rem;
  align-items: start; padding: 1rem 0; border-bottom: 1px solid rgba(255,255,255,.06);
}
.orc-dado-n {
  font-size: clamp(24px, 3.4vw, 38px); font-weight: 700; line-height: 1; letter-spacing: -.03em;
  background-image: linear-gradient(135deg, var(--ne-quente, #c9a7ff), var(--ne-frio, #8da9fc));
  -webkit-background-clip: text; background-clip: text; color: transparent;
}
.orc-dado figcaption { display: flex; flex-direction: column; gap: .35rem; }
.orc-dado-t { font-size: clamp(13.5px, 1.1vw, 15.5px); line-height: 1.55; color: var(--texto-2, #c8c5da); }
.orc-dado cite { font-style: normal; font-size: .78rem; }
.orc-dado cite a { color: var(--ne-frio, #8da9fc); text-decoration: none; border-bottom: 1px solid rgba(141,169,252,.35); }
.orc-dado cite a:hover { color: #fff; border-color: #fff; }
.orc-dado small { font-size: .74rem; line-height: 1.5; color: var(--texto-3, #9d9ab2); opacity: .85; }

.orc-ressalva {
  margin: .6rem 0 0; padding: 1rem 1.15rem; border-radius: 14px;
  border: 1px solid var(--ne-borda, rgba(255,255,255,.10));
  background: rgba(255,255,255,.03);
  font-size: clamp(13px, 1.05vw, 15px); line-height: 1.6; color: var(--ne-mudo, #a0a0a0);
}

/* ---------- o que configuramos ---------- */
.orc-conf { margin: 0; padding: 0; list-style: none; counter-reset: c; display: flex; flex-direction: column; gap: .1rem; }
.orc-conf li {
  counter-increment: c; display: grid; gap: .25rem;
  padding: .8rem 0 .8rem 2.4rem; position: relative;
  border-bottom: 1px solid rgba(255,255,255,.06);
}
.orc-conf li::before {
  content: counter(c, decimal-leading-zero);
  position: absolute; left: 0; top: .95rem;
  font-family: var(--mono, ui-monospace, monospace); font-size: .7rem;
  color: var(--texto-3, #9d9ab2);
}
.orc-conf b { font-size: clamp(13.5px, 1.1vw, 15.5px); font-weight: 600; }
.orc-conf span { font-size: clamp(12.5px, 1vw, 14px); line-height: 1.55; color: var(--ne-mudo, #a0a0a0); }

/* ---------- os três planos ---------- */
.orc-planos { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; }
.orc-plano {
  position: relative; display: flex; flex-direction: column; gap: .35rem;
  padding: 1.4rem 1.3rem; border-radius: 18px;
  border: 1px solid var(--ne-borda, rgba(255,255,255,.10));
  background: var(--ne-cartao, rgba(13,12,22,.62));
}
.orc-plano.destaque { border-color: transparent; background: rgba(142,118,250,.10); }
.orc-plano.destaque .anel { border-radius: 18px; }
.orc-plano-et { font-size: .72rem; letter-spacing: .14em; text-transform: uppercase; color: var(--ne-mudo, #a0a0a0); }
.orc-plano-v {
  font-size: clamp(20px, 2.4vw, 30px); font-weight: 700; letter-spacing: -.03em; line-height: 1.1;
}
.orc-plano.destaque .orc-plano-v {
  background-image: linear-gradient(135deg, var(--ne-quente, #c9a7ff), var(--ne-frio, #8da9fc));
  -webkit-background-clip: text; background-clip: text; color: transparent;
}
.orc-plano-n { font-size: .86rem; color: #fff; }
.orc-plano-d { font-size: .78rem; line-height: 1.5; color: var(--ne-mudo, #a0a0a0); margin-top: .3rem; }
.orc-nota { margin: .2rem 0 0; font-size: .8rem; line-height: 1.55; color: var(--texto-3, #9d9ab2); }

/* ---------- celular ---------- */
@media (max-width: 760px) {
  .orc-planos { grid-template-columns: 1fr; }
  .orc-item, .orc-dado { grid-template-columns: 1fr; gap: .3rem; }
  .orc-dado { gap: .5rem; }
  .orc-conf li { padding-left: 2rem; }
}

/* ---------------------------------------------------------------------
   PÉ DO ORÇAMENTO
   São dois botões e uma dica de e-mail numa grade de três colunas. No
   celular isso não cabe: o "Falar com uma pessoa" ficava com o texto
   mais largo do que o próprio botão, que tem overflow escondido — a
   frase era cortada no meio. Aqui o pé empilha e a dica sai de cena.
   --------------------------------------------------------------------- */
@media (max-width: 560px) {
  body.pg-briefing .palco-pe:has(#baixarPdf) {
    grid-template-columns: 1fr;
    gap: .6rem;
  }
  body.pg-briefing .palco-pe:has(#baixarPdf) .dica-tecla { display: none; }
  body.pg-briefing .palco-pe:has(#baixarPdf) .btn { width: 100%; }
  body.pg-briefing .palco-pe:has(#baixarPdf) .btn-primario { padding-inline: 16px; }
}

/* O anel de progresso e a legenda do capítulo são do quiz. No orçamento
   não há mais passo a contar — e eles roubavam a primeira tela do
   documento. */
body.pg-briefing .orc-corpo .aro,
body.pg-briefing .orc-corpo .aro-cap { display: none; }

/* ---------------------------------------------------------------------
   ALTO CONTRASTE
   Os números do orçamento e os dados de GEO são pintados com gradiente
   recortado no texto (`background-clip: text` + `color: transparent`).
   No Modo de Alto Contraste o navegador remove o background e mantém o
   `transparent` — os PREÇOS somem da tela. Num documento que promete
   WCAG 2.2 AA na seção 03, isso seria autogol.
   --------------------------------------------------------------------- */
@media (forced-colors: active) {
  .orc-num, .orc-dado-n,
  .orc-plano-v, .orc-plano.destaque .orc-plano-v {
    background-image: none;
    color: CanvasText;
    -webkit-text-fill-color: CanvasText;
  }
}

/* ---------- condições comerciais ---------- */
.orc-condicoes {
  display: flex; flex-direction: column; gap: .7rem;
  margin-top: .4rem; padding: 1.1rem 1.2rem; border-radius: 14px;
  border: 1px solid var(--ne-borda, rgba(255,255,255,.10));
  background: rgba(255,255,255,.03);
}
.orc-condicoes p { margin: 0; font-size: clamp(12.5px, 1vw, 14px); line-height: 1.6; color: var(--ne-mudo, #a0a0a0); }
.orc-condicoes b { color: #fff; font-weight: 600; }
