/* Class access: isolated from the certificate's print layout. */
body.course-support-page { min-width: 0; }
.course-support-page .course-support-header { padding-top: 3rem; padding-bottom: 2rem; }
.course-support-page h1 { font-size: clamp(2rem, 4vw, 3rem); line-height: 1.25; margin-bottom: 0; }
.course-support-page .course-support-header .lead { max-width: 70ch; overflow-wrap: anywhere; }
.course-support-page .course-access-panel { max-width: 850px; padding: clamp(1.25rem, 4vw, 3rem); background: #FFFDF4; border: 1px solid #D8D0C2; border-top: 4px solid #F5A23A; border-radius: 1rem; line-height: 1.7; }
.course-support-page .course-access-details { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 200px), 1fr)); gap: 1rem; margin: 1.5rem 0 0; }
.course-support-page .course-access-details > div { padding: 1rem; border: 1px solid #D8D0C2; border-radius: .5rem; }
.course-support-page .course-access-details dt { font-weight: 600; }
.course-support-page .course-access-details dd { margin: .5rem 0 0; font-size: 1.2rem; overflow-wrap: anywhere; user-select: all; }
.course-support-page .course-access-help { padding-top: 1.5rem; border-top: 1px solid #D8D0C2; overflow-wrap: anywhere; }
.course-support-page main .btn { min-height: 44px; white-space: normal; }
@media (max-width: 575.98px) {
    .course-support-page .course-support-header { padding-top: 2rem; }
}

/* Screen-only rules keep the existing A4 landscape print stylesheet in control. */
@media screen {
    body.certificate-page { min-width: 0; padding: 0 0 2rem; }
    .certificate-page .certificate-toolbar { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 1rem; max-width: 1100px; padding-top: 2rem; padding-bottom: 1.5rem; }
    .certificate-page .certificate-toolbar h1 { font-size: clamp(1.5rem, 3vw, 2rem); line-height: 1.4; margin-bottom: .5rem; }
    .certificate-page .certificate-toolbar p { max-width: 65ch; line-height: 1.7; }
    .certificate-page .certificate-toolbar button { min-height: 44px; white-space: normal; }
    .certificate-page .certificate { max-width: 1100px; padding: clamp(1.25rem, 4vw, 3rem); background: #FFFDF4; border: 1px solid #D8D0C2; border-top: 4px solid #F5A23A; border-radius: 1rem; line-height: 1.75; overflow-wrap: anywhere; }
    .certificate-page .certificate-logo { max-width: 100%; height: auto; }
    .certificate-page .certificate-content { display: grid; grid-template-columns: minmax(0, 1fr) 240px; gap: 2rem; margin: 1.5rem 0 0; }
    .certificate-page .certificate-copy,
    .certificate-page .certificate-verification { width: auto; min-width: 0; padding: 0; }
    .certificate-page .certificate-verification { padding: 1.25rem; border: 1px solid #D8D0C2; border-radius: .75rem; align-self: start; }
    .certificate-page .certificate-verification img { width: 160px; max-width: 100%; height: auto; margin-bottom: .75rem; }
    .certificate-page .certificate-signature img { max-width: 100%; height: auto; }
    .certificate-page .certificate-footer { border-top: 1px solid #D8D0C2; padding-top: 1.5rem; margin-bottom: 0; font-size: .9rem; }
}
@media screen and (max-width: 767.98px) {
    .certificate-page .certificate-content { grid-template-columns: minmax(0, 1fr); }
    .certificate-page .certificate-logo { width: min(100%, 300px); }
    .certificate-page .certificate-toolbar button { width: 100%; }
}
