/* Página de venda do curso: só o que o template não tem pronto */
.curso-resumo { max-width: 620px; }
.curso-acoes { display: flex; flex-wrap: wrap; align-items: center; gap: 24px; margin-top: 30px; }
.curso-capa { background: transparent; }
.curso-capa .blog-post-image { object-fit: contain; object-position: center bottom; }

.curso-grade { display: grid; gap: 30px; padding-top: 60px; }
.curso-grade-4 { grid-template-columns: repeat(4, 1fr); }
.curso-grade-3 { grid-template-columns: repeat(3, 1fr); }
.curso-card { background-color: #fff; padding: 32px; }
.curso-card h3 { margin: 0 0 14px; font-weight: 400; }
.curso-card p { margin: 0; font-size: 15px; color: #555; }

.curso-dor h2 { margin: 0; font-weight: 400; }
.curso-botao-claro { display: inline-block; margin-top: 16px; background-color: #fff; color: #000; text-decoration: none; }
.curso-botao-claro:hover { background-color: #000; color: #fff; }
.last-publication-content p + p { margin-top: 0; }
.last-publication-name { margin: 10px 0; }

.curso-intro { max-width: 720px; padding-top: 40px; margin: 0; }
.curso-modulos { padding-top: 50px; border-bottom: 1px solid #000; }
.curso-modulo { display: flex; gap: 40px; align-items: flex-start; padding: 36px 0; border-top: 1px solid #000; }
.curso-modulo h3 { margin: 0 0 12px; font-weight: 400; }
.curso-modulo p { margin: 0; max-width: 760px; }
.curso-numero { font-family: Oranienbaum, sans-serif; font-size: 96px; line-height: .9; min-width: 90px; color: var(--primary); }

.curso-oferta { position: relative; }
.curso-selo { width: 130px; height: auto; }
.cta-heading { margin: 0; font-weight: 400; }
.curso-oferta-texto { max-width: 640px; margin: 0 auto; text-align: center; font-size: 18px; padding: 0 20px; }
.curso-preco { font-family: Oranienbaum, sans-serif; font-size: 120px; line-height: 1; color: var(--primary); }
.curso-professora { max-width: 325px; }

.curso-faq { padding-top: 50px; border-bottom: 1px solid #000; }
.curso-faq details { border-top: 1px solid #000; }
.curso-faq summary { cursor: pointer; list-style: none; padding: 26px 50px 26px 0; position: relative; font-family: Oranienbaum, sans-serif; font-size: 28px; line-height: 1.2; }
.curso-faq summary::-webkit-details-marker { display: none; }
.curso-faq summary::after { content: "+"; position: absolute; right: 6px; top: 22px; font-size: 32px; color: var(--primary); transition: transform .25s; }
.curso-faq details[open] summary::after { transform: rotate(45deg); }
.curso-faq details p { max-width: 760px; margin: 0; padding: 0 0 28px; }

@media screen and (max-width: 991px) {
  .curso-grade-4, .curso-grade-3 { grid-template-columns: 1fr 1fr; }
  .curso-acoes { justify-content: center; }
  .curso-preco { font-size: 88px; }
}
@media screen and (max-width: 767px) {
  .curso-grade-4, .curso-grade-3 { grid-template-columns: 1fr; }
  .curso-modulo { flex-direction: column; gap: 12px; padding: 28px 0; }
  .curso-numero { font-size: 64px; }
  .curso-faq summary { font-size: 22px; }
}

/* ajustes de encaixe */
.curso-dor { padding-bottom: 80px; }
.curso-capa { width: 420px; max-width: 100%; height: auto; }
.curso-capa .blog-post-image { width: 100%; height: auto; }
@media screen and (max-width: 991px) { .curso-capa { width: 340px; margin: 0 auto; } }
.my-story.curso-professora { font-size: 104px; }
@media screen and (max-width: 767px) { .my-story.curso-professora { font-size: 64px; } }
