/* Shared public-page typography, containers and section rhythm. */

body.bambu-site {
    font-family: 'Manrope', sans-serif;
    font-size: var(--bambu-body-font-size, 16px);
    line-height: var(--bambu-body-line-height, 1.6);
}

body.bambu-site :where(button, input, select, textarea) {
    font-family: inherit;
}

body.bambu-site :where(h1, h2, h3, h4, h5, h6) {
    font-family: 'Manrope', sans-serif;
    line-height: var(--bambu-heading-line-height, 1.2);
}

body.bambu-site :where(p) {
    font-family: 'Manrope', sans-serif;
    line-height: var(--bambu-body-line-height, 1.6);
}

/* Keep all public single/detail templates on the same UI font. */
body.bambu-site :where(.bambu-detail-page, .community-detail-page, .careers-job, .report-single),
body.bambu-site :where(.bambu-detail-page, .community-detail-page, .careers-job, .report-single) * {
    font-family: 'Manrope', sans-serif !important;
}

/* Shared single-page text hierarchy. Components still own their buttons and status colours. */
body.bambu-site :where(.bambu-detail-page, .community-detail-page, .careers-job, .report-single) {
    --bambu-single-heading-color: #0b1220;
    --bambu-single-body-color: #334155;
    --bambu-single-muted-color: #64748b;
    --bambu-single-link-color: #0f766e;
}

body.bambu-site :where(
    .community-detail-page .community-prose,
    .careers-job .careers-prose,
    .report-single .report-content,
    .bambu-detail-page .sec-body
) {
    color: var(--bambu-single-body-color);
}

body.bambu-site :where(
    .community-detail-page .community-prose h2,
    .community-detail-page .community-prose h3,
    .careers-job .careers-prose h2,
    .careers-job .careers-prose h3,
    .report-single .report-card > h2,
    .report-single .report-content h2,
    .report-single .report-content h3,
    .bambu-detail-page .sec-title-lg
) {
    color: var(--bambu-single-heading-color);
}

body.bambu-site :where(
    .community-detail-page .community-prose p,
    .community-detail-page .community-prose li,
    .careers-job .careers-prose p,
    .careers-job .careers-prose li,
    .report-single .report-content p,
    .report-single .report-content li,
    .bambu-detail-page .sec-body p,
    .bambu-detail-page .sec-body li
) {
    color: var(--bambu-single-body-color);
}

body.bambu-site :where(
    .community-detail-page .community-prose a,
    .careers-job .careers-prose a,
    .report-single .report-content a,
    .bambu-detail-page .sec-body a
) {
    color: var(--bambu-single-link-color);
}

/* Full-width page columns use one gutter and one maximum width. */
.bambu-page :where(
    .about-container,
    .account-container,
    .bambu-search-page-container,
    .careers-container,
    .challenge-detail-container,
    .challenge-hub-container,
    .challenge-room-container,
    .community-container,
    .contact-container,
    .data-report-cards-container,
    .data-report-container,
    .home-container,
    .iaas-container,
    .ip-research-container,
    .launch-challenge-container,
    .leadership-container,
    .legal-container,
    .pricing-container,
    .report-container,
    .services-container,
    .showcase-container,
    .startup-container
) {
    width: calc(100% - (2 * var(--bambu-container-gutter, 24px)));
    max-width: var(--bambu-container-max-width, 1290px);
    margin-inline: auto;
    box-sizing: border-box;
}

/* Standard rhythm for the primary content sections. Hero, card and form padding stay component-specific. */
.bambu-page :where(
    .home-section,
    .about-who,
    .about-people,
    .about-timeline,
    .about-services,
    .about-careers,
    .careers-section,
    .careers-process,
    .community-section,
    .challenge-network,
    .challenge-directory,
    .data-report-cards-section,
    .data-report-data-room,
    .startup-value-section,
    .startup-opportunities-section,
    .startup-stories-section,
    .startup-ecosystem-section,
    .startup-reports-section,
    .contact-section,
    .legal-section
) {
    padding-block: var(--bambu-section-space, 80px);
}

/* Intentionally narrow reading columns remain narrow inside the shared system. */
.bambu-page :where(.careers-narrow, .community-detail-narrow, .pricing-faq-section .pricing-container) {
    max-width: 880px;
}

@media (max-width: 767px) {
    .bambu-page :where(
        .home-section,
        .about-who,
        .about-people,
        .about-timeline,
        .about-services,
        .about-careers,
        .careers-section,
        .careers-process,
        .community-section,
        .challenge-network,
        .challenge-directory,
        .data-report-cards-section,
        .data-report-data-room,
        .startup-value-section,
        .startup-opportunities-section,
        .startup-stories-section,
        .startup-ecosystem-section,
        .startup-reports-section,
        .contact-section,
        .legal-section
    ) {
        padding-block: var(--bambu-section-space-mobile, 48px);
    }
}
