/* Composição do pago; identidade vem dos tokens Mono aprovados. */
body { font-size: var(--xd-fs-16); }
[hidden] { display: none !important; }
.xd-main {
  max-width: 1120px;
  margin-inline: auto;
  padding: var(--xd-space-6) var(--xd-space-3);
  min-height: calc(100svh - 290px);
}
.xd-header, .xd-footer {
  padding-inline: max(var(--xd-space-3), calc((100% - 1072px) / 2));
}
.xd-header { min-height: 88px; }
.xd-header__marca { min-height: 44px; }
.xd-footer { margin-top: var(--xd-space-4); padding-block: var(--xd-space-4); }
.xd-footer__legais a { display: inline-flex; align-items: center; min-height: 44px; }
h1 { font-size: clamp(var(--xd-fs-32), 4vw, var(--xd-fs-48)); line-height: 1.15; margin: 0 0 var(--xd-space-3); }
h2 { font-size: var(--xd-fs-24); line-height: 1.3; }
h3 { font-size: var(--xd-fs-20); }
p { line-height: 1.75; max-width: 72ch; }
.xd-main > p { color: var(--xd-text-dim); }
.xd-main a { text-underline-offset: 4px; }
.xd-etiqueta { font-size: var(--xd-fs-12); }
.xd-bloco {
  padding: var(--xd-space-4);
  margin-block: var(--xd-space-3);
  background: var(--xd-surface);
  border-color: var(--xd-line-forte);
}
[data-bloco="P1"] {
  padding: var(--xd-space-8) var(--xd-space-6);
  background: var(--xd-heroi-bg);
  border-color: var(--xd-heroi-borda);
  border-radius: var(--xd-radius-lg);
}
[data-bloco="P1"] h1 { max-width: 20ch; }
.xd-bloco h2 { margin-top: 0; }
.xd-placeholder { font-style: normal; }
.xd-btn, .xd-btn-checkout, .xd-btn-primario, a.xd-btn-link, .xd-funil button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: var(--xd-space-2) var(--xd-space-3);
  border: 1px solid var(--xd-blue);
  border-radius: var(--xd-radius-sm);
  background: var(--xd-blue-deep);
  color: var(--xd-text);
  font-family: var(--xd-font-display);
  font-size: var(--xd-fs-14);
  font-weight: 600;
  line-height: 1.4;
  text-align: center;
  text-decoration: none;
  cursor: pointer;
  transition: border-color var(--xd-dur) var(--xd-ease), transform var(--xd-dur) var(--xd-ease);
}
.xd-btn:hover, .xd-btn-checkout:hover { border-color: var(--xd-blue-hi); transform: translateY(-1px); }
.xd-btn:active, .xd-btn-checkout:active { transform: scale(var(--xd-scale-press)); }
.xd-btn:focus-visible, .xd-btn-checkout:focus-visible, .xd-funil :focus-visible {
  outline: 2px solid var(--xd-blue-hi);
  outline-offset: 3px;
}
button:disabled, button:disabled:hover, button:disabled:active {
  cursor: not-allowed;
  transform: none;
  box-shadow: none;
  background: var(--xd-surface-2);
  border-color: var(--xd-line-forte);
  color: var(--xd-text-dim);
  opacity: 1;
}
button:disabled::before, button:disabled::after { animation: none; opacity: 0; }
[data-page="servicos"] > section {
  padding: var(--xd-space-4);
  border: 1px solid var(--xd-heroi-borda);
  border-radius: var(--xd-radius-lg);
  background: var(--xd-heroi-bg);
}
.xd-planos {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--xd-space-2);
  list-style: none;
  padding: 0;
  margin: var(--xd-space-4) 0 var(--xd-space-3);
}
.xd-planos > li {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  min-width: 0;
  gap: var(--xd-space-2);
  padding: var(--xd-space-3);
  background: var(--xd-surface);
  border: 1px solid var(--xd-line-forte);
  border-radius: var(--xd-radius);
}
.xd-planos h2, .xd-planos p { margin: 0; }
.xd-planos h2 { font-size: var(--xd-fs-20); }
.xd-planos .xd-numero { font-size: var(--xd-fs-32); letter-spacing: var(--xd-ls-titulo); }
.xd-planos a { display: inline-flex; align-items: center; min-height: 44px; }
.xd-btn-checkout { margin-top: auto; width: 100%; }
.xd-funil {
  max-width: 520px;
  margin: var(--xd-space-2) auto;
  padding: var(--xd-space-5);
  background: var(--xd-heroi-bg);
  border: 1px solid var(--xd-heroi-borda);
  border-radius: var(--xd-radius-lg);
}
.xd-funil h1 { font-size: var(--xd-fs-32); line-height: 1.25; }
.xd-funil h2 { font-size: var(--xd-fs-20); }
.xd-funil p, .xd-funil label { font-size: var(--xd-fs-16); }
.xd-funil input:not([type="checkbox"]), .xd-funil textarea, .xd-funil select {
  min-height: 48px;
  font-size: var(--xd-fs-16);
  border-color: var(--xd-text-3);
}
.xd-funil label { color: var(--xd-text); }
.xd-funil input[type="checkbox"] { width: 20px; height: 20px; accent-color: var(--xd-blue-deep); }
.xd-funil__msg { overflow-wrap: anywhere; line-height: 1.6; }
.xd-funil:has(#painel-gestao:not([hidden])) { max-width: 800px; }
#painel-gestao:not([hidden]), #painel-pagamentos:not([hidden]), #painel-pcs:not([hidden]) {
  padding-block: var(--xd-space-3);
  border-top: 1px solid var(--xd-line-forte);
  margin-top: var(--xd-space-3);
}
.xd-funil dl { display: grid; grid-template-columns: 1fr 1fr; gap: var(--xd-space-2); }
.xd-funil dt { color: var(--xd-text-dim); }
.xd-funil dd { margin: 0; overflow-wrap: anywhere; }
#lista-pcs, #lista-pagamentos { list-style: none; padding: 0; }
#lista-pcs > li, #lista-pagamentos > li {
  padding: var(--xd-space-2);
  margin-block: var(--xd-space-2);
  border: 1px solid var(--xd-line-forte);
  border-radius: var(--xd-radius);
  background: var(--xd-bg-0);
  overflow-wrap: anywhere;
}
#confirmacao-gestao, #confirmacao-remover {
  padding: var(--xd-space-3);
  margin-top: var(--xd-space-3);
  border: 1px solid var(--xd-warn);
  border-radius: var(--xd-radius);
  background: var(--xd-surface);
}
.xd-legal { padding: var(--xd-space-4); border: 1px solid var(--xd-line); border-radius: var(--xd-radius-lg); background: var(--xd-surface); }
.xd-legal h1 { font-size: var(--xd-fs-32); }
.xd-legal__topicos { gap: var(--xd-space-4); }
.xd-legal__aviso p { margin-bottom: 0; }
@media (max-width: 720px) {
  .xd-header, .xd-footer { padding-inline: var(--xd-page-pad); }
  .xd-main { padding: var(--xd-space-4) var(--xd-page-pad); }
  .xd-planos { grid-template-columns: 1fr; }
  .xd-funil, [data-page="servicos"] > section, .xd-legal { padding: var(--xd-space-3); }
  [data-bloco="P1"] { padding: var(--xd-space-4) var(--xd-space-3); }
  .xd-bloco { padding: var(--xd-space-3); }
  .xd-funil dl { grid-template-columns: 1fr; gap: var(--xd-space-1); }
  .xd-funil dd { margin-bottom: var(--xd-space-2); }
  .xd-btn { width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
  .xd-btn, .xd-btn-checkout { transition: none; }
  .xd-btn:hover, .xd-btn:active, .xd-btn-checkout:hover, .xd-btn-checkout:active { transform: none; }
}
