/* Tipografia do molde (10/11/2026): uma escala só, por cima de molde.css e molde-inline.css.
   Pedido do dono: "revise fontes, tamanhos e etc, tem coisas bem estranhas". Antes: 25 tamanhos e 8 pesos na mesma página,
   títulos de seção de 23 a 32 px (uns em CAIXA ALTA), textos de decisão em 12 px e pesos 650/750 que a Poppins não tem.
   Escala: selo 12 · apoio 14 · corpo 15-16 · cartão 17 · título de seção 28 (celular) a 40 (computador). Pesos: 400, 600, 700, 800. */

/* títulos de seção: mesmo tamanho, mesmo peso, sem caixa alta, quebra equilibrada */
section h2, #atlas-overview-title {
  font-size: clamp(1.75rem, 1.15rem + 2.3vw, 2.5rem) !important;
  font-weight: 800 !important; line-height: 1.15 !important; letter-spacing: -.012em;
  text-transform: none !important; text-wrap: balance;
}
section h3.uppercase, section h2.uppercase { text-transform: none !important; }
h1 { text-wrap: balance; letter-spacing: -.015em; }

/* selos e sobretítulos: 12 px, caixa alta espaçada */
.vitrine-dupla-selo, .bonus-v2-selo, .bonus-v2-incl {
  font-size: 12px !important; font-weight: 700 !important; letter-spacing: .08em !important;
}

/* cartões numerados (temas, conferência, público, passos) */
.facial-topic h3, .atlas-overview h3 { font-size: 17px !important; font-weight: 700 !important; line-height: 1.35; }
.facial-topic p, .atlas-overview p { font-size: 15px !important; line-height: 1.6 !important; }
.facial-topic-number, .atlas-overview-number { font-weight: 700 !important; }
.facial-intro, .atlas-carousel-heading > p, .vitrine-dupla-cab > p { font-size: 16px !important; line-height: 1.6 !important; }

/* texto de apoio: nada abaixo de 13 px; nas decisões (planos e bônus), 14 px */
.text-xs { font-size: 13px !important; line-height: 1.5 !important; }
.planos .text-xs, .planos .text-sm, .bonus-v2-card p { font-size: 14px !important; line-height: 1.55 !important; }
.planos h3 { font-size: 22px !important; line-height: 1.2 !important; text-wrap: balance; }
footer .text-xs { font-size: 12px !important; }

/* bônus: no celular, um por linha, imagem à esquerda e texto à direita (antes: 2 colunas estreitas e centralizadas) */
.bonus-v2-card h3 { font-size: 17px !important; font-weight: 700 !important; line-height: 1.3 !important; }
@media (max-width: 640px) {
  .bonus-v2 { grid-template-columns: 1fr !important; gap: 18px !important; }
  .bonus-v2-card { display: grid !important; grid-template-columns: 112px 1fr; column-gap: 16px; align-items: start; text-align: left !important; padding: 22px 16px 16px !important; }
  .bonus-v2-selo { left: 16px !important; transform: none !important; }
  .bonus-v2-img { grid-row: 1 / span 4; max-width: 112px !important; }
  .bonus-v2-card h3 { margin: 0 0 6px !important; }
  .bonus-v2-card p { margin: 0 0 10px !important; }
  .bonus-v2-incl, .bonus-v2-valor { justify-self: start; }
}

/* pesos que a Poppins não tem (650/750 no molde-inline) viram os vizinhos reais */
.learning-card h3, .atlas-overview-copy h2, .atlas-overview-stats strong { font-weight: 700 !important; }
.learning-card strong { font-weight: 600 !important; }

/* faixa escura "visão geral": sobretítulo e legendas legíveis */
.atlas-overview-eyebrow { font-size: 12px !important; letter-spacing: .14em !important; }
.atlas-overview-stats span, .atlas-overview-note { font-size: 14px !important; line-height: 1.45; }

/* selo do topo (era 11 px no celular) */
.hero-selo { font-size: 12px !important; letter-spacing: .08em !important; }

/* "Como acessar": o número já guia; os emojis cinza saem */
.acesso-ic { display: none !important; }

/* selo redondo da garantia: a legenda pequena (era 9 px) */
section small { font-size: 11px !important; letter-spacing: .06em; }

/* seção "bula x 1 página" (10/11/2026; opcional: conteudo.comparacao + imagens.comparacao) */
.comparacao { background: #f5f7f8; padding: 64px 16px; }
.comp-in { max-width: 1040px; margin: 0 auto; text-align: center; }
.comp-in h2 { color: #111; margin: 14px 0 12px; }
.comp-sub { max-width: 640px; margin: 0 auto 28px; font-size: 16px; line-height: 1.6; color: #4b5563; }
.comp-foto { position: relative; margin: 0 0 28px; border-radius: 18px; overflow: hidden; box-shadow: 0 18px 44px rgba(15, 23, 42, .18); }
.comp-foto img { display: block; width: 100%; height: auto; }
.comp-tag { position: absolute; top: 14px; padding: 7px 16px; border-radius: 999px; font-size: 14px; font-weight: 700; letter-spacing: .02em; box-shadow: 0 4px 14px rgba(0,0,0,.18); }
.comp-tag.esq { left: 14px; background: #fff; color: #b91c1c; }
.comp-tag.dir { right: 14px; background: #0f766e; color: #fff; }
.comp-cols { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; text-align: left; }
.comp-col { border-radius: 18px; padding: 22px 22px 18px; background: #fff; border: 1px solid #e5e7eb; }
.comp-col h3 { font-size: 17px; font-weight: 700; margin: 0 0 12px; color: #111; }
.comp-col ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.comp-col li { display: flex; gap: 10px; font-size: 15px; line-height: 1.5; color: #374151; }
.comp-col li i { flex: 0 0 22px; height: 22px; border-radius: 50%; display: grid; place-items: center; font-style: normal; font-size: 12px; font-weight: 800; margin-top: 1px; }
.comp-col.ruim li i { background: #fee2e2; color: #b91c1c; }
.comp-col.bom { border-color: #99d5cf; box-shadow: 0 6px 20px rgba(15, 118, 110, .10); }
.comp-col.bom li i { background: #0f766e; color: #fff; }
@media (max-width: 640px) {
  .comparacao { padding: 48px 16px; }
  .comp-cols { grid-template-columns: 1fr; }
  .comp-tag { top: auto; bottom: 10px; font-size: 12px; padding: 5px 12px; }   /* no celular, embaixo: em cima tapava o nome do remédio */
  .comp-tag.esq { left: 10px; } .comp-tag.dir { right: 10px; }
}

/* comparação arrastável (10/11, no molde do "Arraste e compare" do Constitucional) */
.comp-dest { font-style: normal; color: #0f766e; }
.comp-arr { position: relative; max-width: 560px; margin: 0 auto; border-radius: 16px; overflow: hidden; box-shadow: 0 18px 44px rgba(15, 23, 42, .18); background: #fff; touch-action: pan-y; }
.comp-arr .comp-l { position: absolute; inset: 0; }
.comp-arr .comp-l img { width: 100%; height: 100%; object-fit: cover; display: block; }
.comp-arr .comp-esq { clip-path: inset(0 calc(100% - var(--pos)) 0 0); }
.comp-arr .comp-tag { top: auto; bottom: 12px; z-index: 3; }
.comp-arr .comp-tag.esq { background: #4b5563; color: #fff; }
.comp-linha { position: absolute; top: 0; bottom: 0; left: var(--pos); width: 3px; background: #fff; transform: translateX(-50%); z-index: 2; box-shadow: 0 0 0 1px rgba(0,0,0,.12); }
.comp-alca { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 48px; height: 48px; border-radius: 50%; background: #fff; display: grid; place-items: center; font-size: 20px; color: #111; box-shadow: 0 4px 16px rgba(0,0,0,.25); }
.comp-range { position: absolute; inset: 0; width: 100%; height: 100%; opacity: 0; cursor: ew-resize; z-index: 4; margin: 0; }
.comp-fonte { max-width: 560px; margin: 12px auto 0; font-size: 13px; color: #6b7280; line-height: 1.5; }
.comp-fecho { max-width: 560px; margin: 18px auto 0; font-size: 16px; line-height: 1.6; color: #374151; }
