/* =====================================================================
   publico.css — casca das páginas públicas sem _Layout
   (Planos, Assinar, Termos, Privacidade, Status da exclusão de dados)
   Onda 4 de design, 14/10/2026.

   Carregar DEPOIS de bootstrap.min.css, lt-tokens.css e config-admin.css.
   Só cores de lt-tokens.css. Sem gradiente, sem sombra em cartão.
   ===================================================================== */

/* O _Layout carrega dashboard-premium.css, que pinta o .btn-primary com a
   cor de ação. Aqui não há dashboard-premium: o Bootstrap puro sairia azul. */
.pb .btn-primary{
  --bs-btn-color: var(--lt-tx-inv);
  --bs-btn-bg: var(--lt-primary);
  --bs-btn-border-color: var(--lt-primary);
  --bs-btn-hover-color: var(--lt-tx-inv);
  --bs-btn-hover-bg: var(--lt-primary-deep);
  --bs-btn-hover-border-color: var(--lt-primary-deep);
  --bs-btn-active-color: var(--lt-tx-inv);
  --bs-btn-active-bg: var(--lt-primary-deep);
  --bs-btn-active-border-color: var(--lt-primary-deep);
  --bs-btn-disabled-color: var(--lt-tx-inv);
  --bs-btn-disabled-bg: var(--lt-tx-3);
  --bs-btn-disabled-border-color: var(--lt-tx-3);
}
.pb .btn{ min-height: var(--lt-h-ctl); font-weight: 600; }
.pb .btn-lg{ min-height: 44px; }

body.pb{
  margin: 0;
  min-height: 100vh;
  display: flex; flex-direction: column;
  background: var(--lt-canvas);
  color: var(--lt-tx-2);
  font-family: var(--lt-font);
  -webkit-font-smoothing: antialiased;
}
@media (pointer: fine){ html{ overscroll-behavior: none; } }
.pb a{ color: var(--lt-primary); text-underline-offset: 2px; }
.pb a:hover{ color: var(--lt-primary-deep); }

/* Pular para o conteúdo */
.pb-skip{
  position: absolute; left: var(--lt-s16); top: -48px; z-index: 200;
  padding: var(--lt-s8) var(--lt-s12);
  background: var(--lt-surface); color: var(--lt-tx-1);
  border: 1px solid var(--lt-line-strong); border-radius: var(--lt-r-ctl);
  font-weight: 600; text-decoration: none;
}
.pb-skip:focus{ top: var(--lt-s8); }

/* ── Barra superior ───────────────────────────────────────────────── */
.pb-top{
  position: sticky; top: 0; z-index: 100;
  background: var(--lt-surface);
  border-bottom: 1px solid var(--lt-line);
}
.pb-top__in{
  max-width: 1200px; margin: 0 auto;
  min-height: 64px; padding: 0 var(--lt-s24);
  display: flex; align-items: center; justify-content: space-between; gap: var(--lt-s16);
}
.pb-top__marca{ display: inline-flex; align-items: center; }
.pb-top__marca img{ height: auto; width: min(150px, 34vw); }
.pb-top__links{ display: flex; align-items: center; gap: var(--lt-s4); }
.pb-top__links a:not(.btn){
  display: inline-flex; align-items: center; height: var(--lt-h-ctl); padding: 0 var(--lt-s12);
  border-radius: var(--lt-r-ctl);
  font-size: 14px; font-weight: 500; color: var(--lt-tx-2); text-decoration: none;
  transition: background-color var(--lt-t-fast) var(--lt-ease), color var(--lt-t-fast) var(--lt-ease);
}
.pb-top__links a:not(.btn):hover{ background: var(--lt-sunken); color: var(--lt-tx-1); }
.pb-top__links a[aria-current="page"]{ color: var(--lt-tx-1); font-weight: 600; }
.pb-top__links .btn{ margin-left: var(--lt-s8); }
@media (max-width: 575.98px){
  .pb-top__in{ padding: 0 var(--lt-s16); }
  .pb-top__links a:not(.btn){ display: none; }
}

/* ── Conteúdo ─────────────────────────────────────────────────────── */
.pb-main{ flex: 1; width: 100%; padding: var(--lt-s40) var(--lt-s24) var(--lt-s72); }
@media (max-width: 575.98px){ .pb-main{ padding: var(--lt-s24) var(--lt-s16) var(--lt-s56); } }
.pb-main .lt-cfg{ --topbar-height: 64px; }
/* Alvo do link de pular: recebe foco por programa, não é controle — sem anel. */
.pb-main:focus{ outline: none; }

/* ── Rodapé ───────────────────────────────────────────────────────── */
.pb-foot{
  background: var(--lt-surface);
  border-top: 1px solid var(--lt-line);
  color: var(--lt-tx-3);
  font-size: 13.5px;
}
.pb-foot__in{
  max-width: 1200px; margin: 0 auto; padding: var(--lt-s32) var(--lt-s24) var(--lt-s24);
  display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--lt-s24);
}
.pb-foot__titulo{ margin: 0 0 var(--lt-s8); font: 600 12.5px/1.4 var(--lt-font); color: var(--lt-tx-1); }
.pb-foot ul{ margin: 0; padding: 0; list-style: none; display: grid; gap: var(--lt-s4); }
.pb-foot a{ color: var(--lt-tx-2); text-decoration: none; }
.pb-foot a:hover{ color: var(--lt-tx-1); text-decoration: underline; }
.pb-foot__base{
  max-width: 1200px; margin: 0 auto; padding: var(--lt-s16) var(--lt-s24) var(--lt-s24);
  border-top: 1px solid var(--lt-line-soft);
  display: flex; flex-wrap: wrap; gap: var(--lt-s8) var(--lt-s16); justify-content: space-between;
}
.pb-foot__base--so{ border-top: 0; }
@media (max-width: 767.98px){ .pb-foot__in{ grid-template-columns: minmax(0, 1fr); } }

/* ── Planos ───────────────────────────────────────────────────────── */
.pb-planos{
  display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: var(--lt-s16); align-items: stretch;
  margin: 0; padding: 0; list-style: none;
}
.pb-plano{
  display: flex; flex-direction: column;
  background: var(--lt-surface);
  border: 1px solid var(--lt-line);
  border-radius: var(--lt-r-card);
  padding: var(--lt-s24);
  min-width: 0;
}
.pb-plano--destaque{ border-color: var(--lt-primary); box-shadow: inset 0 0 0 1px var(--lt-primary); }
.pb-plano__topo{ display: flex; align-items: center; justify-content: space-between; gap: var(--lt-s8); }
.pb-plano__nome{ margin: 0; font: 600 17px/1.35 var(--lt-font); letter-spacing: var(--lt-track-16); color: var(--lt-tx-1); }
.pb-plano__preco{ margin: var(--lt-s16) 0 var(--lt-s4); color: var(--lt-tx-1); font-variant-numeric: tabular-nums lining-nums; }
.pb-plano__valor{ font: 600 30px/1.1 var(--lt-font); letter-spacing: var(--lt-track-28); }
.pb-plano__periodo{ font-size: 14px; color: var(--lt-tx-3); margin-left: var(--lt-s2); }
.pb-plano__anual{ margin: 0; font-size: 13px; color: var(--lt-tx-3); font-variant-numeric: tabular-nums; }
.pb-plano__anual strong{ color: var(--lt-tx-1); font-weight: 600; }
.pb-plano__lista{
  flex: 1;
  margin: var(--lt-s20) 0 var(--lt-s24); padding: var(--lt-s16) 0 0;
  border-top: 1px solid var(--lt-line-soft);
  list-style: none; display: grid; gap: var(--lt-s8); align-content: start;
  font-size: 14px; line-height: 1.5;
}
.pb-plano__lista li{ position: relative; padding-left: var(--lt-s24); overflow-wrap: anywhere; }
.pb-plano__lista li::before{
  content: "";
  position: absolute; left: 2px; top: .45em;
  width: 10px; height: 6px;
  border-left: 1.5px solid var(--lt-primary); border-bottom: 1.5px solid var(--lt-primary);
  transform: rotate(-45deg);
}
.pb-plano__nota{ margin: var(--lt-s8) 0 0; text-align: center; font-size: 12.5px; color: var(--lt-tx-3); }

/* ── Wizard de contratação ────────────────────────────────────────── */
.pb-passos{ margin: 0 0 var(--lt-s20); }
.pb-passos__barra{ display: flex; gap: var(--lt-s4); margin: 0; padding: 0; list-style: none; }
.pb-passos__barra li{ flex: 1; height: 4px; border-radius: var(--lt-r-pill); background: var(--lt-line-strong); }
.pb-passos__barra li.on{ background: var(--lt-primary); }
.pb-passos__texto{ margin: var(--lt-s8) 0 0; font-size: 12.5px; font-weight: 600; color: var(--lt-tx-3); font-variant-numeric: tabular-nums; }

.pb-etapa-titulo{ margin: 0; font: 600 20px/1.3 var(--lt-font); letter-spacing: var(--lt-track-20); color: var(--lt-tx-1); outline: none; }
.pb-etapa-titulo:focus-visible{ outline: 2px solid var(--lt-primary); outline-offset: 4px; border-radius: 4px; }
.pb-etapa-sub{ margin: var(--lt-s4) 0 var(--lt-s20); font-size: 14px; color: var(--lt-tx-3); }
.pb-subtitulo{ margin: var(--lt-s24) 0 var(--lt-s12); font: 600 14.5px/1.4 var(--lt-font); color: var(--lt-tx-1); }

.pb-grupo{ border: 0; margin: 0 0 var(--lt-s20); padding: 0; min-width: 0; }
.pb-grupo > legend{ float: none; margin: 0 0 var(--lt-s8); padding: 0; font: 600 13px/1.4 var(--lt-font); color: var(--lt-tx-2); }
.pb-escolhas{ display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: var(--lt-s8); }
.pb-escolha{
  position: relative; display: block; cursor: pointer; margin: 0;
  padding: var(--lt-s12) var(--lt-s12) var(--lt-s12) var(--lt-s40);
  border: 1px solid var(--lt-line-ctl); border-radius: var(--lt-r-ctl);
  background: var(--lt-surface);
  font-size: 13.5px; line-height: 1.45; color: var(--lt-tx-3);
  transition: border-color var(--lt-t-fast) var(--lt-ease), background-color var(--lt-t-fast) var(--lt-ease);
}
.pb-escolha:hover{ border-color: var(--lt-tx-3); }
.pb-escolha input{ position: absolute; left: var(--lt-s12); top: var(--lt-s12); margin: 3px 0 0; }
.pb-escolha b{ display: block; font-weight: 600; color: var(--lt-tx-1); }
.pb-escolha .pb-escolha__preco{ display: block; margin-top: var(--lt-s4); font-weight: 600; color: var(--lt-tx-1); font-variant-numeric: tabular-nums; }
.pb-escolha:has(input:checked){ border-color: var(--lt-primary); background: var(--lt-primary-tint); }
.pb-escolha:has(input:focus-visible){ outline: 2px solid var(--lt-primary); outline-offset: 2px; }

.pb-campos{ display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: var(--lt-s12) var(--lt-s16); }
.pb-campos > *{ grid-column: span 6; min-width: 0; }
.pb-campos .c3{ grid-column: span 3; }
.pb-campos .c2{ grid-column: span 2; }
.pb-campos .c4{ grid-column: span 4; }
@media (max-width: 575.98px){
  .pb-campos .c3, .pb-campos .c2, .pb-campos .c4{ grid-column: span 6; }
}
.pb-campos .form-label{ margin-bottom: var(--lt-s4); }

.pb-cupom{ display: flex; gap: var(--lt-s8); max-width: 420px; }
.pb-cupom input{ text-transform: uppercase; }
.pb-msg{ display: block; margin-top: var(--lt-s6); font-size: 13px; }
.pb-msg:empty{ display: none; }
.pb-msg--ok{ color: var(--lt-ok); }
.pb-msg--erro{ color: var(--lt-risk); }

.pb-termo{
  height: 320px; overflow-y: auto; overscroll-behavior: contain;
  padding: var(--lt-s16);
  border: 1px solid var(--lt-line-ctl); border-radius: var(--lt-r-ctl);
  background: var(--lt-sunken);
  font-size: 13.5px; line-height: 1.6; color: var(--lt-tx-2);
  white-space: pre-wrap; overflow-wrap: anywhere;
}
.pb-aceite{ display: flex; gap: var(--lt-s8); align-items: flex-start; margin-top: var(--lt-s16); font-size: 14px; color: var(--lt-tx-2); cursor: pointer; }
.pb-aceite input{ margin-top: 3px; flex-shrink: 0; }
.pb-legal{ margin: var(--lt-s12) 0 0; font-size: 12.5px; color: var(--lt-tx-3); }

.pb-erro-resumo{
  margin: var(--lt-s16) 0 0; padding: var(--lt-s8) var(--lt-s12);
  border-radius: var(--lt-r-ctl); background: var(--lt-risk-tint); color: var(--lt-risk);
  font-size: 13.5px;
}
.pb-erro-resumo:empty{ display: none; }

.pb-acoes{ display: flex; justify-content: space-between; align-items: center; gap: var(--lt-s8); margin-top: var(--lt-s24); }
.pb-acoes--fim{ justify-content: flex-end; }
.pb-acoes--centro{ justify-content: center; }

.pb-concluido{ text-align: center; padding: var(--lt-s8) 0 var(--lt-s16); }
.pb-concluido__icone{
  display: inline-flex; align-items: center; justify-content: center;
  width: 44px; height: 44px; margin-bottom: var(--lt-s12);
  border-radius: 50%; background: var(--lt-ok-tint); color: var(--lt-ok);
}
.pb-concluido__icone::before{
  content: ""; width: 14px; height: 8px; margin-top: -3px;
  border-left: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate(-45deg);
}
.pb-pagamento{ display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--lt-s16); }
.pb-pagamento > div{ border: 1px solid var(--lt-line); border-radius: var(--lt-r-ctl); padding: var(--lt-s16); text-align: center; min-width: 0; }
.pb-pagamento img{ display: block; margin: var(--lt-s8) auto; }
.pb-linha{ margin: var(--lt-s8) 0; font: 400 12.5px/1.5 var(--lt-mono); overflow-wrap: anywhere; color: var(--lt-tx-2); }
@media (max-width: 575.98px){ .pb-pagamento{ grid-template-columns: minmax(0, 1fr); } }

.pb-hp{ position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }

/* ── Documentos legais ────────────────────────────────────────────── */
.pb-atualizado{ margin: var(--lt-s8) 0 0; font-size: 13px; color: var(--lt-tx-3); }
.lt-doc h2:first-child{ margin-top: 0; }
.lt-doc ul{ padding-left: var(--lt-s24); }
.lt-doc strong{ color: var(--lt-tx-1); font-weight: 600; }
.pb-destaque{
  margin: var(--lt-s16) 0; padding: var(--lt-s12) var(--lt-s16);
  border: 1px solid var(--lt-line); border-radius: var(--lt-r-ctl);
  background: var(--lt-sunken);
}
.pb-destaque p:last-child{ margin-bottom: 0; }
.pb-doc-sec{ background: var(--lt-surface); border: 1px solid var(--lt-line); border-radius: var(--lt-r-card); padding: var(--lt-s32) var(--lt-s40); }
@media (max-width: 767.98px){ .pb-doc-sec{ padding: var(--lt-s20) var(--lt-s16); } }
.pb-sumario-titulo{ margin: 0 0 var(--lt-s8); padding: 0 var(--lt-s12); font: 600 12px/1.4 var(--lt-font); color: var(--lt-tx-3); }
@media (max-width: 991.98px){ .pb-sumario-titulo{ display: none; } }
