/* pos-oficial.css — página oficial da pós: /pos-graduacao-em-medicina-do-esporte/ (scripts/build_pos_mep.py, modo oficial).
   Vem depois de pos-mep.css e usa os mesmos tokens. O desafiomedesporte.com.br não carrega este arquivo. */

/* Botões de conversão (data-cta): o mesmo botão no topo, depois de cada bloco grande e no preço */
.pm-cta { margin: clamp(32px, 4vw, 48px) 0 0; }
.pm-stats .pm-cta { margin-top: 28px; }
.pm-cta .button { min-height: 52px; }

/* Preço: ancoragem (valor atenuado e riscado) e depois o valor em destaque */
.pm-preco__inner { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); gap: 40px clamp(40px, 6vw, 96px); align-items: center; }
.pm-preco h2 { margin: 0 0 28px; font-size: clamp(2.2rem, 3.6vw, 3.6rem); line-height: 1; letter-spacing: -.05em; text-wrap: balance; }
.pm-preco__lista ul { margin: 0; padding: 0; list-style: none; }
.pm-preco__lista li { position: relative; padding: 14px 0 14px 28px; border-top: 1px solid var(--line); font-size: 1.05rem; line-height: 1.45; }
.pm-preco__lista li:last-child { border-bottom: 1px solid var(--line); }
.pm-preco__lista li::before { position: absolute; top: 1.4em; left: 0; width: 10px; height: 10px; background: var(--blue); content: ""; }
.pm-preco__valores { padding: clamp(28px, 4vw, 52px); border: 1px solid var(--line); background: var(--paper); }
.pm-preco__valores p { margin: 0; }
.pm-preco__ancora { color: var(--muted); font-size: 1.05rem; line-height: 1.5; }
.pm-preco__riscado { text-decoration: line-through; text-decoration-thickness: 2px; }
.pm-preco__chamada { margin-top: 28px !important; font-size: 1.1rem; font-weight: 700; }
.pm-preco__valor { margin-top: 6px !important; color: var(--navy); font-size: clamp(2.6rem, 5.2vw, 4.4rem); font-weight: 800; line-height: 1; letter-spacing: -.05em; text-wrap: balance; }
.pm-preco__valores .pm-cta { margin-top: 32px; }

/* Formulário "Fale com a nossa equipe": CRM e UF só aparecem para médico (pos-oficial.js) */
.pm-form .pm-medico { grid-column: 1 / -1; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 18px; }
.pm-form .pm-medico[hidden] { display: none; }
.pm-form .pm-medico label { grid-column: auto; }
.pm-form .pm-medico .lead-form__error { grid-column: 1 / -1; }
.pm-form .lead-form__status a { margin-left: .25em; color: var(--navy); font-weight: 700; text-decoration: underline; }

/* FAQ: acordeão <details> do formacao.css (.cp-acc), fechado por padrão */
.pm-faq .pm-head { display: block; margin-bottom: clamp(28px, 4vw, 44px); }
.pm-faq h2 { max-width: 860px; margin: 0; font-size: clamp(2rem, 3.2vw, 3.2rem); line-height: 1.04; letter-spacing: -.045em; text-wrap: balance; scroll-margin-top: 88px; }
.pm-faq .cp-acc { max-width: 880px; }
.pm-faq .cp-acc__item summary:focus-visible { outline: 3px solid var(--ink); outline-offset: 3px; box-shadow: 0 0 0 6px var(--blue); }

/* Barra fixa no rodapé (só celular): o body ganha folga embaixo e a barra some quando o formulário está na tela */
.pm-barra { display: none; }
@media (max-width: 767px) {
  .pm-oficial { padding-bottom: calc(76px + env(safe-area-inset-bottom, 0px)); }
  .pm-barra { position: fixed; z-index: 15; right: 0; bottom: 0; left: 0; display: block; padding: 10px 16px calc(10px + env(safe-area-inset-bottom, 0px)); border-top: 1px solid var(--line); background: rgba(255, 255, 255, .96); box-shadow: 0 -6px 20px rgba(0, 0, 0, .08); backdrop-filter: blur(12px); }
  .pm-barra[hidden] { display: none; }
  .pm-barra .button { width: 100%; }
}
@media print { .pm-barra { display: none !important; } }

@media (max-width: 900px) {
  .pm-preco__inner { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 420px) {
  .pm-form .pm-medico { grid-template-columns: minmax(0, 1fr); }
}
