/* =================================================================
   PLANOS — os cards de plano, o alternador de período e a faixa
   Enterprise. UMA folha para as LPs e para /app/planos (owner,
   2026-10-03: "replique o design e informações idêntico aos planos
   das LPs"). A marcação também é uma só: public/includes/pricing-section.php.

   Estas regras moravam em public.css e foram MOVIDAS para cá, na ordem
   em que estavam (a ordem decide o empate de especificidade). A LP
   carrega este arquivo pelo próprio include, depois de public.css.

   O app não carrega public.css: os tokens que estas regras leem vêm do
   bloco `.planos-cards--app` abaixo, que ESPELHA o :root de public.css.
   Mexeu num valor lá, mexa aqui — a catraca
   (scripts/verificar_planos_cards.php) compara os dois.
   ================================================================= */
.planos-cards--app {
  --neon:        #25D366;
  --neon-dim:    rgba(37,211,102,0.10);
  --neon-glow:   0 0 32px rgba(37,211,102,0.35);
  --ink:         #0A0A0A;
  --ink-800:     #1C1C1C;
  --ink-600:     #3A3A3A;
  --ink-500:     #5A5A55;
  --ink-400:     #6A6A64;
  --ink-200:     #C8C8C0;
  --paper:       #F7F6F1;
  --paper-card:  #FFFFFF;
  --border:      #E2E2DA;
  --ease-out:    cubic-bezier(0.23, 1, 0.32, 1);
  --dur-press:   0.06s;
  font-family: 'Plus Jakarta Sans', system-ui, sans-serif;
  /* O que o <body> das LPs dá aos cards e o app não dá. */
  color: var(--ink);
  font-size: 16px;
}


/* Pressionar o alternador (saiu da lista combinada de public.css). */
.pricing-seg-btn {
  transition-property: background, color, box-shadow, border-color, opacity, transform;
  transition-duration: 0.2s;
}
.pricing-seg-btn:active { transform: scale(0.97); transition-duration: var(--dur-press); }

/* ── Faixa Enterprise no pricing (2026-08) — substitui o card no grid.
   Mantém a âncora de teto e o CTA humano sem competir com os planos
   self-serve.

   Revisão 2026-08-10 (fundo INVERTIDO): a faixa era um bloco preto de
   largura total e virava o elemento de maior contraste da seção —
   puxava o olho ANTES do card "Mais popular", exatamente o oposto da
   hierarquia pretendida (ver § Color Hierarchy: o destaque existe no
   singular). Só o CTA carrega tinta escura agora.

   Segunda passada no mesmo dia: o fundo tinha ficado em --paper-dark
   (#EFEDE6), a 1,08:1 do --paper (#F7F6F1) que a FAQ logo abaixo usa —
   os dois blocos liam como a MESMA cor e a faixa parecia um vazamento
   do fundo da próxima seção. Agora ela usa exatamente a linguagem dos
   cards de plano (--paper-card + 1.5px --border + radius 20px): a
   faixa é um plano, então pertence ao grupo dos cards, e sobre a seção
   branca quem a define é a borda — mesmo recurso do .pcard-standard.
   Não voltar a pintar o fundo: qualquer bege aqui colide com o paper
   da seção seguinte.

   Label verde sobre claro usa #1a5c38 (6,4:1) — neon cru reprova em
   contraste; o ícone dentro do CTA escuro usa #34d399. ── */
.pricing-ent-strip {
  display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between;
  gap:1rem 2rem; background:var(--paper-card); border:1.5px solid var(--border);
  border-radius:20px; padding:1.5rem 2rem; margin-top:1.5rem;
}
.pricing-ent-info  { flex:1; min-width:260px; }
/* Abaixo de 360px a faixa Enterprise CORTAVA o texto: medido a 320px, o
   padding de 2rem deixa 208px de caixa de conteúdo e o `min-width:260px`
   do bloco de texto não cabe nela — 22px do rótulo saíam da tela. O
   `min-width` existe para segurar o layout em DUAS colunas; abaixo de
   360px já não há duas colunas, então ele só empurra. */
@media (max-width: 359.98px) {
  .pricing-ent-strip { padding:1.25rem 1.125rem; }
  .pricing-ent-info  { min-width:0; }
}
.pricing-ent-label {
  display:inline-block; font-size:0.6875rem; font-weight:800;
  text-transform:uppercase; letter-spacing:0.1em; color:#1a5c38;
  margin-bottom:0.375rem;
}
.pricing-ent-desc  { font-size:0.875rem; line-height:1.6; color:var(--ink-500); max-width:46rem; }
.pricing-ent-cta {
  display:inline-flex; align-items:center; gap:0.5rem; flex-shrink:0;
  background:var(--ink); color:#fff; font-size:0.9375rem; font-weight:700;
  padding:0.8125rem 1.5rem; border-radius:12px; text-decoration:none;
  transition:box-shadow 0.2s, transform 0.2s;
}
@media (hover: hover) and (pointer: fine) {
  .pricing-ent-cta:hover { box-shadow:0 8px 24px rgba(10,10,10,0.22); transform:translateY(-1px); }
}
.pricing-ent-cta:active { transform:scale(0.98); transition-duration: var(--dur-press); }
.pricing-ent-cta i, .pricing-ent-cta svg.lucide { width:16px; height:16px; color:#34d399; }
@media (prefers-reduced-motion: reduce) { .pricing-ent-cta:hover, .pricing-ent-cta:active { transform:none; } }

/* Período mensal/semestral — controle segmentado (2026-09-03). O selo
   "1 mês grátis" fica dentro da opção Semestral: contorno verde quando
   inativa (o benefício é visível antes do clique) e neon preenchido com
   texto ink quando ativa. Substitui o toggle + link de texto, que o owner
   achou pouco chamativo. Alvo de toque ≥44px. */
.pricing-toggle-row { display:flex;justify-content:center;margin-bottom:2.75rem; }
.pricing-seg { display:inline-flex;gap:4px;padding:4px;border-radius:99px;background:#ECEBE4;border:1px solid var(--border); }
.pricing-seg-btn {
  display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 18px;
  border:none;border-radius:99px;background:transparent;cursor:pointer;
  font:inherit;font-size:0.9375rem;font-weight:600;color:var(--ink-500);
  transition:background 0.2s,color 0.2s,box-shadow 0.2s;
}
.pricing-seg-btn:hover { color:var(--ink); }
.pricing-seg-btn:focus-visible { outline:2px solid var(--neon);outline-offset:2px; }
.pricing-seg-btn.is-active { background:#fff;color:var(--ink);box-shadow:0 1px 2px rgba(15,23,42,0.08),0 4px 14px rgba(15,23,42,0.10); }
.pricing-seg-badge {
  display:inline-flex;align-items:center;padding:3px 9px;border-radius:99px;
  font-size:11px;font-weight:800;letter-spacing:0.02em;line-height:1.2;white-space:nowrap;
  background:var(--neon-dim);color:#1a5c38;border:1px solid rgba(37,211,102,0.35);
  transition:background 0.2s,color 0.2s,border-color 0.2s;
}
.pricing-seg-btn.is-active .pricing-seg-badge { background:var(--neon);color:var(--ink);border-color:var(--neon); }
@media (max-width:480px) { .pricing-seg-btn { padding:0 14px;font-size:0.875rem;gap:6px; } }
/* O alternador mensal/semestral mede 277px a 320px contra 272 de tela: os
   5px que sobram cortam a borda direita da pílula. O alvo de 44px de
   ALTURA não muda — quem cede é o respiro lateral (14px → 10px nos dois
   botões devolve 16px).
   DEPOIS da regra de 480px de propósito: as duas têm a mesma
   especificidade (0,1,0) e as duas valem a 320px, então quem ganha é a
   ORDEM. Escrita antes, esta regra era um no-op — medido, o padding
   continuava 14px. */
@media (max-width:359.98px) { .pricing-seg-btn { padding:0 10px; } }
/* App: a situação da conta e o período na MESMA linha (owner, 2026-10-07).
   Texto à esquerda, alternador à direita; quando não cabe, o alternador desce
   para baixo do texto, alinhado à esquerda — nunca centrado sozinho. */
.pricing-toggle-row--cab { justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px 20px;margin-bottom:1.5rem; }
.pricing-toggle-row--cab > .pln-situacao { flex:1 1 320px; }
.pricing-toggle-row--cab > .pricing-seg { flex:0 0 auto; }
/* Plan card grid */
.pricing-grid-lg    { display:grid;gap:1rem;grid-template-columns:1fr; }
@media (min-width:640px)  { .pricing-grid-lg { grid-template-columns:repeat(2,1fr); } }
@media (min-width:1100px) { .pricing-grid-lg { grid-template-columns:repeat(4,1fr);align-items:stretch; } .pcard { height:100%; } }
/* Modificadores pra quando algum plano e ocultado (ex: LP da API esconde Start).
   Mantem cards centralizados e proporcionados em vez de empurrar pro lado esquerdo. */
@media (min-width:1100px) {
    .pricing-grid-lg.pricing-grid-3 { grid-template-columns:repeat(3,1fr); max-width:1100px; margin-left:auto; margin-right:auto; }
    .pricing-grid-lg.pricing-grid-2 { grid-template-columns:repeat(2,1fr); max-width:780px; margin-left:auto; margin-right:auto; }
    .pricing-grid-lg.pricing-grid-1 { grid-template-columns:minmax(0,420px); justify-content:center; }
}
/* Plan cards */
.pcard          { display:flex;flex-direction:column;border-radius:20px;position:relative;transition:transform 0.2s,box-shadow 0.2s;overflow:hidden; }
.pcard-standard { background:var(--paper-card);border:1.5px solid var(--border); }
.pcard-featured { background:#FFFFFF;border:2px solid var(--neon);box-shadow:0 0 0 4px var(--neon-dim),0 24px 48px rgba(37,211,102,0.10); }
/* ENTERPRISE É DISCRETO — ele não disputa com o card em destaque (owner,
   2026-09-21: *"deixe o enterprise um pouco mais discreto. talvez a borda
   mais clara"*). A borda era `2px solid var(--ink)`: preto puro, o traço mais
   escuro da página, e MAIS GROSSO que o do card vizinho — com o Enterprise
   virando o terceiro card da grade (e não mais a faixa de rodapé), ele passou
   a ficar lado a lado com o `.pcard-featured` e a vencer o destaque que a
   seção existe para dar. `--ink-200` mantém a distinção do card padrão sem
   gritar, e 1.5px iguala o peso do vizinho (§ "Um CTA verde sólido por
   viewport", aplicado à moldura). Quem identifica o plano continua sendo o
   badge e o CTA escuros — área pequena, não o contorno inteiro. */
.pcard-premium  { background:#FFFFFF;border:1.5px solid var(--ink-200);box-shadow:0 8px 32px rgba(10,10,10,0.06); }
/* O card de plano é CLICÁVEL inteiro; o lift é do ponteiro (§ gate) e o
   `:active` é do dedo. Numa superfície de ~380px de largura, 0,98 é uma
   pancada — 0,995 já dá a resposta sem o card parecer que encolheu. */
@media (hover: hover) and (pointer: fine) {
  .pcard-standard:hover { transform:translateY(-2px);box-shadow:0 10px 24px rgba(0,0,0,0.06); }
  .pcard-featured:hover { transform:translateY(-4px);box-shadow:0 0 0 4px var(--neon-dim),0 32px 56px rgba(37,211,102,0.18); }
  .pcard-premium:hover  { transform:translateY(-2px);box-shadow:0 12px 40px rgba(10,10,10,0.12); }
}
.pcard-badge    { position:absolute;top:0;right:1.25rem;padding:4px 14px;font-size:10px;font-weight:800;letter-spacing:0.06em;text-transform:uppercase;border-radius:0 0 10px 10px; }
.pcard-badge-featured { background:var(--neon);color:var(--ink); }
.pcard-badge-premium  { background:var(--ink);color:#fff; }
.pcard-body     { padding:1.75rem;display:flex;flex-direction:column;flex:1; }
.pcard-body-top { padding-top:2rem; }
.pcard-name-hdr { margin-bottom:1.25rem; }
/* Degrau do plano ("Encontre empresas" · "Delegue a prospecção"), acima do
   nome. É o eyebrow de seção em miniatura: caixa alta, espaçado, no verde
   acessível de rótulo (#1a5c38, 6,4:1 sobre branco) — nunca neon cru. É o
   que faz o visitante ler "o que este plano FAZ" antes do nome. */
.pcard-kicker   { font-size:0.6875rem;font-weight:700;letter-spacing:0.08em;text-transform:uppercase;color:#1a5c38;margin:0 0 0.375rem; }
.pcard-name     { font-size:1.125rem;font-weight:800;margin-bottom:0.25rem; }
.pcard-name-default  { color:var(--ink); }
/* O card em destaque tinha nome, preço e centavos em neon cru sobre branco —
   1,98:1. O NÚMERO QUE MAIS IMPORTA da página era o menos legível dela, e o
   preço de 48px reprovava até no mínimo de texto grande (3:1). Os dois verdes
   canônicos para fundo claro: #1a5c38 em rótulo pequeno, #047857 em número
   display (a mesma cor de `.bento-big-num` e `.lp-link-green`). */
.pcard-name-featured { color:#1a5c38; }
.pcard-tagline  { font-size:0.8125rem;color:var(--ink-400);line-height:1.4; }
.pcard-inherited { font-size:0.75rem;font-weight:600;text-transform:uppercase;letter-spacing:0.05em;color:var(--ink-400);margin-bottom:0.75rem; }
/* `.pcard-price` saiu daqui em 13/09/2026 [3.5/8.1]: toda propriedade
   dela era redeclarada mais adiante neste MESMO arquivo, na mesma
   especificidade — e em CSS, no empate, ganha quem vem depois. A
   definição viva começa perto da linha 4895. */
.pcard-enterprise-price { font-size:1.875rem;font-weight:900;letter-spacing:-0.04em;color:var(--ink); }
.pcard-enterprise-note  { font-size:0.8125rem;color:var(--ink-400);margin-top:4px; }
.pcard-currency { font-size:0.9rem;font-weight:600;color:var(--ink-400);vertical-align:top;margin-top:10px;display:inline-block; }
.pcard-price-val { font-size:2.5rem;font-weight:900;letter-spacing:-0.04em;line-height:1;color:var(--ink); }
.pcard-price-val-lg  { font-size:3rem;color:#047857; }
.pcard-price-cents   { font-size:1.125rem;color:var(--ink-400); }
/* Sem `opacity`: ela derruba o contraste do valor final e o tom já é
   subordinado por tamanho (18px contra 48px). */
.pcard-price-cents-featured { color:#047857; }
/* Inline atrás do preço ("R$ 289,90 /mês") — era display:block e a
   quebra de linha lia estranho (revisão 2026-08). */
.pcard-price-period  { display:inline;font-size:0.8125rem;color:var(--ink-400);margin-left:2px; }
/* Mini-card "créditos valem 2× na API" (LP /api-empresas, via
   $pricing_api_note na pricing-section): destaque tingido dentro do
   card de plano — Growth/Scale pagam 0,5 crédito por consulta na API. */
.pcard-api-boost {
  margin-top: 0.75rem;
  padding: 0.625rem 0.75rem;
  background: #ecfdf5;
  border: 1px solid #a7f3d0;
  border-radius: 10px;
  text-align: left;
}
.pcard-api-boost-title {
  display: flex; align-items: center; gap: 0.375rem;
  font-size: 0.8125rem; font-weight: 700; color: #047857;
}
.pcard-api-boost-icon { width: 14px; height: 14px; flex-shrink: 0; }
.pcard-api-boost-sub {
  font-size: 0.75rem; color: var(--ink-500);
  margin-top: 2px; line-height: 1.5;
}
.pcard-api-boost-sub strong { color: var(--ink); }
/* Semestral no card (2026-09-03): mesma hierarquia do mensal — número
   grande = equivalente por mês; riscado + selo na linha seguinte; total
   do semestre em nota. */
.pcard-sem-line        { display:flex;align-items:baseline; }
.pcard-sem-compare     { display:flex;align-items:center;flex-wrap:wrap;gap:8px 10px;margin-top:8px; }
.pcard-sem-old         { font-size:0.8125rem;font-weight:600;text-decoration:line-through;color:var(--ink-400); }
.pcard-sem-badge       { display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border-radius:99px;background:var(--neon);color:var(--ink);font-size:11px;font-weight:800;letter-spacing:0.02em;line-height:1.2; }
.pcard-sem-badge i, .pcard-sem-badge svg.lucide { width:12px;height:12px;flex-shrink:0; }
.pcard-sem-period      { font-size:0.8125rem;color:var(--ink-500);margin-top:8px; }
.pcard-features        { display:flex;flex-direction:column;gap:0;flex:1;margin-bottom:1.5rem;list-style:none;padding:0;margin-top:0; }
.pcard-feat            { display:flex;align-items:flex-start;gap:8px;padding:6px 0;border-bottom:1px solid var(--border); }
.pcard-feat-icon       { width:14px;height:14px;flex-shrink:0;margin-top:2px;color:var(--ink-800); }
.pcard-feat-icon-muted { width:14px;height:14px;flex-shrink:0;margin-top:2px;color:var(--ink-400); }
.pcard-featured .pcard-feat-icon,
.pcard-premium  .pcard-feat-icon { color:var(--neon); }
.pcard-feat-text       { font-size:0.875rem;color:var(--ink-600);line-height:1.45;text-wrap:pretty; }
.pcard-feat-text-bold  { font-size:0.875rem;color:var(--ink);font-weight:700;line-height:1.45; }
.pcard-feat-text-muted { font-size:0.875rem;color:var(--ink-400);line-height:1.45; }
.pcard-soon-badge      { display:inline-block;padding:1px 6px;border-radius:4px;background:rgba(255,200,0,0.12);color:#b45309;font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:0.06em;vertical-align:middle;margin-left:4px; }
/* Expandable sections (CRM, LeadWhats, Em breve) */
.pcard-section-trigger { display:flex;align-items:center;gap:6px;width:100%;text-align:left;background:none;border:none;cursor:pointer;padding:8px 0;border-top:1px solid var(--border);margin-top:4px; }
.pcard-section-trigger:first-of-type { margin-top:0; }
.pcard-section-icon    { width:14px;height:14px;flex-shrink:0; }
.pcard-section-label   { font-size:0.75rem;font-weight:700;text-transform:uppercase;letter-spacing:0.05em;flex:1; }
.pcard-section-chevron { width:12px;height:12px;transition:transform 0.2s; }
.pcard-section-content { padding-left:20px; }
/* CTAs */
.pcard-cta-featured  { display:flex;align-items:center;justify-content:center;gap:8px;padding:0.9375rem 1.5rem;border-radius:12px;background:var(--neon);color:var(--ink);font-size:0.9375rem;font-weight:700;text-decoration:none;transition:box-shadow 0.2s,transform 0.2s;width:100%;box-sizing:border-box;margin-top:auto; }
.pcard-cta-secondary { display:flex;align-items:center;justify-content:center;gap:8px;padding:0.875rem 1.5rem;border-radius:12px;background:transparent;color:var(--ink);border:1.5px solid var(--border);font-size:0.9375rem;font-weight:600;text-decoration:none;transition:border-color 0.2s,background 0.2s,transform 0.16s var(--ease-out);width:100%;box-sizing:border-box;margin-top:auto; }
.pcard-cta-dark      { display:flex;align-items:center;justify-content:center;gap:8px;padding:0.9375rem 1.5rem;border-radius:12px;background:var(--ink);color:#fff;font-size:0.9375rem;font-weight:700;text-decoration:none;transition:opacity 0.2s,transform 0.16s var(--ease-out);width:100%;box-sizing:border-box;margin-top:auto; }
@media (hover: hover) and (pointer: fine) {
  .pcard-cta-featured:hover  { box-shadow:var(--neon-glow);transform:translateY(-1px); }
  .pcard-cta-secondary:hover { border-color:var(--ink-200);background:var(--paper); }
  .pcard-cta-dark:hover { opacity:0.85; }
}
.pcard-start { background:transparent;box-shadow:none; }
.pcard-cta-link { display:flex;align-items:center;justify-content:center;gap:6px;padding:0.5rem 0;margin-top:auto;background:none;border:0;color:var(--ink-500);font-size:0.875rem;font-weight:500;text-decoration:underline;text-underline-offset:3px;transition:color 0.2s var(--ease-out); }
.pcard-cta-link i, .pcard-cta-link svg.lucide { width:14px;height:14px;flex-shrink:0; }
@media (hover: hover) and (pointer: fine) {
  .pcard-cta-link:hover { color:var(--ink); }
}
/* Os TRÊS CTAs do card de plano: é aqui que se assina. Nenhum deles tinha
   estado de pressionar — medido, `transform:none` em repouso, hover e
   active nos três. */
.pcard-cta-featured:active,
.pcard-cta-secondary:active,
.pcard-cta-dark:active { transform:scale(0.98); transition-duration: var(--dur-press); }
.pcard-cta-featured i, .pcard-cta-featured svg.lucide, .pcard-cta-secondary i, .pcard-cta-secondary svg.lucide, .pcard-cta-dark i, .pcard-cta-dark svg.lucide { width:15px;height:15px;flex-shrink:0; }

/* Planos: Growth (pcard-featured) ganha escala persistente em
   desktop + sombra mais agressiva. Em mobile fica flat pra não
   "cortar" o card anterior. */
@media (min-width: 1024px) {
  .pcard-featured {
    transform: scale(1.04);
    box-shadow: 0 0 0 4px var(--neon-dim),
                0 32px 56px rgba(37, 211, 102, 0.18),
                0 12px 24px rgba(15, 23, 42, 0.08);
  }
  @media (hover: hover) and (pointer: fine) {
    .pcard-featured:hover {
      transform: scale(1.04) translateY(-4px);
    }
  }
}

/* Pricing — aritmética de prova sob o preço do Growth. */
.pcard-price-percredit {
  margin-top:0.375rem; font-size:0.78rem; font-weight:500;
  color:var(--ink-400);
}

/* ── Pricing 2026-09 (auditoria § 10): card na ordem nome → resultado →
   PREÇO → diferenciais → limites → CTA. A linha "para quem" foi retirada
   (2026-09-02: lia como restrição do plano). O preço ficou um dia ancorado
   ao CTA (margin-top:auto) e foi devolvido para logo abaixo do subtítulo
   em 2026-09-03: com o `<details>` de limites fechado, cada card tinha
   uma altura de conteúdo diferente e o preço aparecia em quatro alturas —
   o owner leu como desalinhamento. Agora o preço está na mesma linha em
   todos os cards; quem absorve a folga é o CTA (margin-top:auto), que
   segue alinhado à base.
   Contraste: corpo em --ink-500 (5,9:1) — --ink-400 reprova (4,17:1). ── */
.pcard-tagline   { color:var(--ink-500); }
.pcard-resultado { font-size:0.875rem; line-height:1.5; color:var(--ink-500); margin:-0.5rem 0 1rem; }
.pcard-features  { flex:0 0 auto; margin-bottom:1rem; }
.pcard-feat-link { color:inherit; text-decoration:underline; text-decoration-color:rgba(15,23,42,.25); text-underline-offset:2px; }
.pcard-limites-h { font-size:0.6875rem; font-weight:700; text-transform:uppercase; letter-spacing:0.06em; color:var(--ink-500); margin:0 0 0.5rem; }
/* Um limite por linha: a grade de 2 colunas quebrava "1.000 créditos/mês"
   em duas linhas e ocupava a mesma altura com metade da legibilidade. */
.pcard-limites   { list-style:none; padding:0; margin:0 0 1.25rem; display:flex; flex-direction:column; gap:0.3rem; }
.pcard-limites li { font-size:0.8125rem; line-height:1.4; color:var(--ink-500); display:flex; align-items:flex-start; gap:6px; }
.pcard-limites li::before { content:''; flex:0 0 5px; width:5px; height:5px; border-radius:50%; background:var(--ink-200); margin-top:0.45em; }
.pcard-price     { margin:0 0 1.25rem; padding:0 0 1.25rem; border-top:0; border-bottom:1px solid var(--border); }
/* Os três CTAs já nascem com margin-top:auto na regra base (l.~1115). */

/* Pricing: limites recolhidos em <details> (2026-09-03). */
.pcard-limites-wrap { margin:0 0 1.25rem; }
.pcard-limites-wrap > summary { cursor:pointer; list-style:none; display:inline-flex; align-items:center; gap:6px; }
.pcard-limites-wrap > summary::-webkit-details-marker { display:none; }
.pcard-limites-wrap > summary::after { content:'+'; font-weight:800; color:var(--ink-400); }
.pcard-limites-wrap[open] > summary::after { content:'–'; }
.pcard-limites-wrap[open] > summary { margin-bottom:0.5rem; }
.pcard-limites-wrap .pcard-limites { margin-bottom:0; }

/* Pricing: o preço semestral nasce escondido por CSS (era style="display:none"
   no include); o toggle mensal/semestral do próprio include alterna o
   display inline por cima desta regra. */
.pcard-price .price-semestral { display:none; }
/* Movimento reduzido: tira o lift e o pressionar; o card em destaque
   mantém a escala PERSISTENTE de 1024px (composição, não movimento). */
@media (prefers-reduced-motion: reduce) {
  .pricing-seg-btn:active,
  .pcard-standard:hover, .pcard-premium:hover,
  .pcard-cta-featured:hover, .pcard-cta-featured:active,
  .pcard-cta-secondary:active, .pcard-cta-dark:active {
    transform: none;
  }
  .pcard-featured:hover { transform: none; }
  @media (min-width: 1024px) { .pcard-featured:hover { transform: scale(1.04); } }
}

/* Faixa de planos no celular, compartilhada entre LPs e app. */
.pricing-carousel-dots,.pricing-carousel-hint{display:none}
@media(max-width:767px){
 [data-pricing-carousel].pricing-grid-lg{display:flex!important;gap:16px;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scroll-padding-inline:22px;padding:8px 22px 18px;max-width:100%;margin-inline:0;scrollbar-width:none;overscroll-behavior-x:contain;align-items:stretch}
 [data-pricing-carousel]::-webkit-scrollbar{display:none}
 [data-pricing-carousel]>.pcard{flex:0 0 calc(100% - 8px);min-width:0;scroll-snap-align:center;opacity:1!important;transform:none!important;filter:none!important;height:auto!important}
 .pricing-carousel-dots{display:flex;justify-content:center;align-items:center;gap:2px;margin:0 0 16px}
 .pricing-carousel-dot{width:44px;height:44px;border:0;background:transparent;display:grid;place-items:center;padding:0;cursor:pointer;border-radius:50%}
 .pricing-carousel-dot span{width:8px;height:8px;border-radius:50%;background:#99a6a0;transition:background-color .18s}
 .pricing-carousel-dot[aria-current=true] span{background:#087d58;width:20px;border-radius:99px}
 .pricing-carousel-hint{display:block;text-align:center;font-size:.8125rem;color:var(--ink-600,#536159);margin:0}
 .pricing-carousel-dot:focus-visible,[data-pricing-carousel]:focus-visible{outline:2px solid #087d58;outline-offset:2px}
}
@media(prefers-reduced-motion:reduce){.pricing-carousel-dot span{transition:none}}

/* Cabeçalho compacto canônico das LPs, independente da classe da página. */
.pricing-grid--public .pcard-start { background: var(--paper-card); border-color: var(--border); }
.pricing-grid--public .pcard-summary-tip { position: relative; margin-bottom: 1.25rem; }
.pricing-grid--public .pcard-summary-tip > summary { list-style: none; cursor: pointer; margin-bottom: 0; }
.pricing-grid--public .pcard-summary-tip > summary::-webkit-details-marker { display: none; }
.pricing-grid--public .pcard-summary-tip .pcard-kicker { display: block; }
.pricing-grid--public .pcard-summary-tip > summary:focus-visible { outline: 2px solid var(--ink); outline-offset: 5px; border-radius: 4px; }
.pricing-grid--public .pcard-tip-icon { font-size: .875rem; font-weight: 400; color: var(--ink-400); }
.pricing-grid--public .pcard-tip-content { display: none; position: absolute; z-index: 20; top: calc(100% + .5rem); inset-inline: 0; padding: .875rem; background: var(--paper-card); border: 1px solid var(--border); border-radius: 10px; color: var(--ink-600); font-size: .875rem; line-height: 1.5; box-shadow: 0 8px 24px rgba(10,10,10,.12); }
.pricing-grid--public .pcard-summary-tip[open] .pcard-tip-content,
.pricing-grid--public .pcard-summary-tip:focus-within .pcard-tip-content { display: block; }
.pricing-grid--public .pcard { overflow: visible; }
@media (hover: hover) and (pointer: fine) {
  .pricing-grid--public .pcard-summary-tip:hover .pcard-tip-content { display: block; }
}

.pricing-grid--public .pcard-summary-tip.is-dismissed .pcard-tip-content { display: none; }

/* O padrão da home acompanha qualquer LP que inclua os planos públicos. */
.pricing-grid--public .pcard{font-variant-numeric:tabular-nums;opacity:1;filter:none;}
section.sec-pricing:has(.pricing-grid--public){background:#effbf4;}
section.sec-pricing:has(.pricing-grid--public) .pricing-header{margin-bottom:1.75rem;}
section.sec-pricing:has(.pricing-grid--public) .pricing-header .aww-title{font-size:clamp(1.75rem,2.7vw,2.25rem);line-height:1.12;text-wrap:balance;}
@media(max-width:640px){.pricing-grid--public .pcard-body{padding:1.25rem;}}
