/* Uma página por formação, com largura e tipografia próprias. */
.course-page .course-main { box-sizing: border-box; width: 100%; max-width: 1016px; margin: 0 auto; padding: 48px 28px 64px; scroll-margin-top: 125px; }
.course-page .course-article { display: block; min-width: 0; width: 100%; }
.course-page .course-heading, .course-page .course-copy, .course-page .course-return { box-sizing: border-box; width: 100%; max-width: 780px; margin-left: auto; margin-right: auto; }
.course-page .course-category { display: inline-block; color: #6c5c4d; font-size: 14px; font-weight: 500; margin-bottom: 14px; }
.course-page h1.course-title { font-family: var(--jost-font); font-size: 34px; font-weight: 500; line-height: 1.2; letter-spacing: -.4px; color: #383838; white-space: normal; overflow-wrap: anywhere; margin: 0 0 28px; padding: 0; }
.course-page .course-image { box-sizing: border-box; width: 100%; max-width: 780px; margin: 0 auto 32px; }
.course-page .course-image img { display: block; width: 100%; height: auto; max-height: 330px; object-fit: cover; object-position: center; border-radius: 4px; }
.course-page .course-copy { color: #555; font-size: 16px; line-height: 1.75; overflow-wrap: break-word; }
.course-page .course-copy p { margin: 0 0 18px; }
.course-page .course-copy h2 { font-family: var(--jost-font); font-size: 25px; line-height: 1.3; font-weight: 500; letter-spacing: 0; color: #383838; margin: 34px 0 16px; }
.course-page .course-copy h3 { font-family: var(--jost-font); font-size: 21px; line-height: 1.35; font-weight: 500; letter-spacing: 0; color: #383838; margin: 25px 0 10px; }
.course-page .course-copy strong { font-weight: 500; color: #383838; }
.course-page .course-copy ul { margin: 0 0 22px; padding-left: 22px; list-style: disc; }
.course-page .course-copy li { margin-bottom: 6px; }
.course-page .course-copy hr { border: 0; border-top: 1px solid #ded8d1; margin: 30px 0; }
.course-page .course-return { margin-top: 34px; padding-top: 22px; border-top: 1px solid #e7e2dc; }
.course-page .course-return a { display: inline-block; color: #51463c; font-size: 16px; font-weight: 500; text-decoration: underline; padding: 8px 0; }
.course-page .course-return a:hover { color: #383838; }
@media (max-width: 767px) {
    .course-page .course-main { padding: 30px 20px 42px; }
    .course-page h1.course-title { font-size: 28px; margin-bottom: 22px; }
    .course-page .course-copy h2 { font-size: 23px; }
    .course-page .course-copy h3 { font-size: 20px; }
    .course-page .course-image { margin-bottom: 25px; }
    .course-page .course-image img { max-height: 260px; }
}
/* Destinatários e botões de regresso. */
.course-page .course-copy strong.course-audience { font-weight: 700; }
.course-page .course-return a.themesflat-button { padding: 12px 24px; font-size: 14px; line-height: 1.5; text-decoration: none; max-width: 100%; white-space: normal; }
/* O endereço histórico mantém um catálogo das formações. */
.course-page .course-directory-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; max-width: 780px; margin: 28px auto 0; }
.course-page .course-directory-item { min-width: 0; padding: 24px; border: 1px solid #e7e2dc; border-radius: 4px; display: flex; flex-direction: column; align-items: flex-start; scroll-margin-top: 130px; }
.course-page .course-directory-item h2 { font-family: var(--jost-font); font-size: 23px; line-height: 1.3; font-weight: 500; color: #383838; margin: 0 0 22px; overflow-wrap: break-word; }
.course-page .course-directory-item .themesflat-button { padding: 10px 20px; margin-top: auto; }
@media (max-width: 767px) { .course-page .course-directory-grid { grid-template-columns: 1fr; } }
/* O reset antigo define list-style:none nos li; repor os marcadores no texto dos cursos. */
.course-page .course-copy ul > li { display: list-item; list-style-type: disc; list-style-position: outside; }
.course-page .course-copy ul > li::marker { color: #555; }
/* Convite final dos workshops: ligação visível ao formulário. */
.course-page .course-copy .workshop-contact { margin-top: 26px; }
.course-page .course-copy a.workshop-contact-link { color: #315f70; font-weight: 500; text-decoration: underline; text-underline-offset: 3px; }
.course-page .course-copy a.workshop-contact-link:hover { color: #244958; }
.course-page .course-copy a.workshop-contact-link:focus-visible { outline: 2px solid #315f70; outline-offset: 3px; }
.course-page .course-heading .memories-subtitle { font-family: var(--jost-font); font-size: clamp(21px, 2.2vw, 26px); line-height: 1.4; font-weight: 400; color: #555; margin: -10px 0 28px; }

.course-page .course-copy strong.memories-emphasis { font-weight: 700; }
