/* ==========================================================================
   GraphicBidu Header + Course Detail Refinement v1
   Scoped late layer: header de-duplication and public course-detail hierarchy.
   ========================================================================== */

/* --------------------------------------------------------------------------
   Header
   The Workspace HTML shortcut is removed by the patch because it duplicates
   the first role-specific item in the signed-in profile menu. These rules
   preserve balanced right-side spacing after removal.
   -------------------------------------------------------------------------- */
@media (min-width: 961px) {
    .launch-header-calibrated .launch-header-right {
        gap: 10px !important;
    }
}

/* --------------------------------------------------------------------------
   Course Program Snapshot
   Root cause: the base course stylesheet sets:
   - .course-sales-v2-overview-grid { align-items: stretch; }
   - .course-sales-v2-snapshot-card { min-height: 100%; }
   This makes the compact snapshot artificially match the tall description
   card. The snapshot should instead end after its facts.
   -------------------------------------------------------------------------- */
.course-sales-v2-overview-grid {
    grid-template-columns: minmax(0, 1.08fr) minmax(20rem, .82fr) !important;
    align-items: start !important;
}

.course-sales-v2-overview-grid > .course-sales-v2-description-card {
    align-self: start;
    min-height: 0 !important;
}

.course-sales-v2-overview-grid > .course-sales-v2-snapshot-card {
    align-self: start !important;
    min-height: 0 !important;
    height: auto !important;
    padding: clamp(1.35rem, 2.5vw, 1.85rem) !important;
}

.course-sales-v2-snapshot-card__head {
    gap: .35rem !important;
}

.course-sales-v2-snapshot-card__head h2 {
    max-width: 15ch !important;
    font-size: clamp(1.65rem, 2.55vw, 2.3rem) !important;
    line-height: 1.08 !important;
}

.course-sales-v2-fact-grid {
    margin-top: .1rem;
}

/* --------------------------------------------------------------------------
   Related learning path
   A compact, truthful cross-sell block after FAQs and before the final CTA.
   It only receives items returned by CourseService::getPublishedCourses(),
   the same public listing source used by /courses, excluding this course.
   -------------------------------------------------------------------------- */
.course-sales-v2-related-section {
    padding-block: clamp(2.75rem, 5vw, 4.25rem);
    border-top: 1px solid var(--gb-line);
    background: var(--gb-paper-soft);
}

.course-sales-v2-related-shell {
    display: grid;
    grid-template-columns: minmax(0, .66fr) minmax(0, 1.34fr);
    align-items: end;
    gap: clamp(1.25rem, 3.5vw, 3.5rem);
}

.course-sales-v2-related-heading {
    max-width: 31rem;
}

.course-sales-v2-related-heading .eyebrow,
.course-sales-v2-related-heading h2,
.course-sales-v2-related-heading p {
    margin-top: 0;
}

.course-sales-v2-related-heading h2 {
    margin-bottom: .65rem;
    max-width: 14ch;
    font-size: clamp(1.7rem, 3vw, 2.45rem);
    line-height: 1.08;
    letter-spacing: -.045em;
}

.course-sales-v2-related-heading p {
    margin-bottom: 0;
    color: var(--gb-text-secondary);
    line-height: 1.58;
}

.course-sales-v2-related-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 1rem;
}

.course-sales-v2-related-card {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 1.25rem;
    min-width: 0;
    padding: clamp(1.15rem, 2.2vw, 1.55rem);
    border-radius: 16px;
}

.course-sales-v2-related-card__copy {
    min-width: 0;
}

.course-sales-v2-related-card__meta {
    display: flex;
    flex-wrap: wrap;
    gap: .45rem;
    margin-bottom: .7rem;
}

.course-sales-v2-related-card h3 {
    margin: 0;
    max-width: 34ch;
    font-size: clamp(1.1rem, 1.8vw, 1.4rem);
    line-height: 1.18;
    letter-spacing: -.02em;
}

.course-sales-v2-related-card__summary {
    margin: .55rem 0 0;
    color: var(--gb-text-secondary);
    line-height: 1.52;
}

.course-sales-v2-related-card__facts {
    display: flex;
    flex-wrap: wrap;
    gap: .35rem .75rem;
    margin: .75rem 0 0;
    color: var(--gb-text-muted);
    font-size: .82rem;
    line-height: 1.4;
}

.course-sales-v2-related-card__facts span + span::before {
    content: "·";
    margin-right: .75rem;
    color: var(--gb-text-muted);
}

.course-sales-v2-related-card .button {
    min-width: 8.9rem;
    justify-content: center;
    white-space: nowrap;
}

html[data-theme="dark"] .course-sales-v2-related-section {
    background: #111827;
    border-top-color: rgba(226,232,240,.16);
}

@media (max-width: 900px) {
    .course-sales-v2-overview-grid {
        grid-template-columns: minmax(0, 1fr) !important;
    }

    .course-sales-v2-related-shell {
        grid-template-columns: minmax(0, 1fr);
        align-items: start;
        gap: 1.25rem;
    }

    .course-sales-v2-related-heading h2 {
        max-width: 19ch;
    }
}

@media (max-width: 620px) {
    .course-sales-v2-related-card {
        grid-template-columns: minmax(0, 1fr);
        align-items: start;
        gap: 1rem;
    }

    .course-sales-v2-related-card .button {
        width: 100%;
    }
}