/* Shared ReportGem product shell.
 * This file owns only cross-product tokens and the common page frame.
 * Product-specific lists and filters remain in their own stylesheets.
 */
:root {
    --rg-shell-max: 1600px;
    --rg-primary: #3159ad;
    --rg-primary-dark: #24478f;
    --rg-primary-soft: #edf3ff;
    --rg-page: #f3f6fa;
    --rg-surface: #fff;
    --rg-text: #142542;
    --rg-muted: #748298;
    --rg-border: #e2e8f1;
    --rg-radius: 10px;
    --rg-shadow: 0 8px 28px rgba(29, 53, 93, .04);
}

body.rg-product-page {
    color: var(--rg-text);
    background: var(--rg-page);
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC",
        "Microsoft YaHei", Arial, sans-serif;
}

/* One top navigation frame for research, meetings, and headlines. */
.rg-product-page #nashcn_navbar,
.rg-product-page .event-topbar,
.rg-product-page .headline-topbar {
    height: 56px;
    background: var(--rg-surface);
    border-bottom: 1px solid var(--rg-border);
}

.rg-product-page #nashcn_navbar > ._2piNr9Ib2NULteRTurc0_Y,
.rg-product-page .event-topbar-inner,
.rg-product-page .headline-topbar-inner {
    width: min(var(--rg-shell-max), calc(100% - 32px));
    max-width: var(--rg-shell-max);
    height: 100%;
    margin: 0 auto;
}

/*
 * The legacy report header is followed by late-loaded bundled CSS that gives
 * every product link a fixed width and clips its text.  Keep every product in
 * the DOM visible and let the row scroll only when the viewport is genuinely
 * too narrow.  !important is intentional here because that bundle is loaded
 * after this shared stylesheet.
 */
.rg-product-reports #nashcn_navbar > ._2piNr9Ib2NULteRTurc0_Y {
    display: flex !important;
    align-items: center !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    padding-right: 124px !important;
    scrollbar-width: none;
}

.rg-product-reports #nashcn_navbar > ._2piNr9Ib2NULteRTurc0_Y::-webkit-scrollbar {
    display: none;
}

.rg-product-reports #nashcn_navbar ._2CjVhszgPKSnmmiz_8EGF5 {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    visibility: visible !important;
    flex: 0 0 auto !important;
    width: auto !important;
    min-width: max-content !important;
    height: 100% !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    overflow: visible !important;
    padding-right: 10px !important;
    padding-left: 10px !important;
    line-height: 1.2 !important;
    white-space: nowrap !important;
    text-overflow: clip !important;
}

.rg-product-reports #nashcn_navbar ._2CjVhszgPKSnmmiz_8EGF5 > span {
    display: inline-flex !important;
    align-items: center !important;
    height: auto !important;
    line-height: 1.2 !important;
}

/*
 * Draw the active marker from the link box instead of from the text span.
 * This keeps every label on one baseline and the underline on one bottom edge.
 */
.rg-product-reports #nashcn_navbar ._2CjVhszgPKSnmmiz_8EGF5._1EVIlZXNM_ZnFCkQtvfT16 {
    position: relative !important;
}

.rg-product-reports #nashcn_navbar ._2CjVhszgPKSnmmiz_8EGF5._1EVIlZXNM_ZnFCkQtvfT16 > span::before {
    display: none !important;
}

.rg-product-reports #nashcn_navbar ._2CjVhszgPKSnmmiz_8EGF5._1EVIlZXNM_ZnFCkQtvfT16::after {
    position: absolute !important;
    right: 10px !important;
    bottom: 0 !important;
    left: 10px !important;
    display: block !important;
    height: 3px !important;
    background: #3975ff !important;
    content: '' !important;
}

.rg-product-page .event-topbar-inner,
.rg-product-page .headline-topbar-inner {
    gap: 22px;
}

.rg-product-page #nashcn_navbar ._2CjVhszgPKSnmmiz_8EGF5,
.rg-product-page .event-nav a,
.rg-product-page .headline-nav a {
    height: 100%;
    padding-right: 10px;
    padding-left: 10px;
    color: #1e2e47;
    font-size: 14px;
    font-weight: 650;
    white-space: nowrap;
}

.rg-product-page .event-nav,
.rg-product-page .headline-nav {
    min-width: 0;
    overflow-x: auto;
    overflow-y: hidden;
    scrollbar-width: none;
}

.rg-product-page .event-nav::-webkit-scrollbar,
.rg-product-page .headline-nav::-webkit-scrollbar {
    display: none;
}

.rg-product-page #nashcn_navbar ._1EVIlZXNM_ZnFCkQtvfT16,
.rg-product-page .event-nav a.active,
.rg-product-page .headline-nav a.active {
    color: var(--rg-text);
}

.rg-product-page #nashcn_navbar ._1EVIlZXNM_ZnFCkQtvfT16::after,
.rg-product-page .event-nav a.active::after,
.rg-product-page .headline-nav a.active::after {
    height: 3px;
    background: #3975ff;
}

/* One blue brand/search band. */
.rg-product-page ._2vjkzLUBOKh08lCfBqBbLh,
.rg-product-page .event-brandbar,
.rg-product-page .headline-brandbar {
    background: var(--rg-primary);
}

.rg-product-page ._1cvD2VyVANnUWLtRygslHH,
.rg-product-page .event-brandbar-inner,
.rg-product-page .headline-brandbar-inner {
    width: min(var(--rg-shell-max), calc(100% - 32px));
    max-width: var(--rg-shell-max);
    min-height: 92px;
    margin: 0 auto;
}

/*
 * The original report bundle absolutely positioned the blue search band and
 * compensated with a 68px top margin.  The unified band is 92px high, so that
 * legacy offset exposed blue strips beside the cards while scrolling.  Put
 * the band back into normal document flow and remove the compensation.
 */
.rg-product-reports ._2vjkzLUBOKh08lCfBqBbLh {
    position: relative !important;
}

.rg-product-reports ._1jjiuWVjRIKs_b_rbgHufA ._2gdAbRwnjCdKhnWWmzaUpg {
    margin-top: 0 !important;
}

.rg-product-page .event-brandbar-inner,
.rg-product-page .headline-brandbar-inner {
    grid-template-columns: 310px minmax(320px, 720px) auto;
    gap: 32px;
}

.rg-product-page .event-search,
.rg-product-page .headline-search,
.rg-product-page #search-box .ant-input-affix-wrapper {
    height: 46px;
    overflow: hidden;
    background: #fff;
    border: 0;
    border-radius: 6px;
}

.rg-product-page .event-search button,
.rg-product-page .headline-search button,
.rg-product-page #searchBtn {
    color: #fff;
    background: var(--rg-primary-dark);
    border-color: #fff;
    border-radius: 6px;
    font-weight: 700;
}

/* One content width and one surface treatment. */
.rg-product-page ._2gdAbRwnjCdKhnWWmzaUpg.container,
.rg-product-page .event-shell,
.rg-product-page .headline-shell {
    width: min(var(--rg-shell-max), calc(100% - 32px));
    max-width: var(--rg-shell-max);
    margin-right: auto;
    margin-left: auto;
}

.rg-product-page .event-shell,
.rg-product-page .headline-shell {
    margin-top: 22px;
    grid-template-columns: 280px minmax(0, 1fr);
    gap: 22px;
}

.rg-product-page .rp-card,
.rg-product-page ._2hTTMfplKQ0D4l3veAVVYv,
.rg-product-page .event-filter,
.rg-product-page .event-results,
.rg-product-page .headline-filter,
.rg-product-page .headline-results {
    background: var(--rg-surface);
    border: 1px solid var(--rg-border);
    border-radius: var(--rg-radius);
    box-shadow: var(--rg-shadow);
}

.rg-product-page ._1M0vNyjClMeZB3L9987Ngm,
.rg-product-page .event-filter-title,
.rg-product-page .headline-filter h2 {
    color: #263750;
    font-weight: 700;
}

.rg-product-page .event-results-head,
.rg-product-page .headline-results-head {
    min-height: 62px;
    border-bottom-color: var(--rg-border);
}

.rg-product-page .rg-language-switcher,
.rg-product-page .headline-language {
    position: absolute;
    top: 10px;
    right: 16px;
    border-color: #cbd9f2;
    background: #fff;
    box-shadow: 0 4px 18px rgba(25, 55, 105, .10);
}

.rg-product-page .rg-language-switcher button.active,
.rg-product-page .headline-language button.active {
    background: #3975ff;
}

@media (max-width: 1180px) {
    .rg-product-page .event-filter,
    .rg-product-page .headline-filter,
    .rg-product-page ._2K9sdQF63Lesr7U18-aXyk {
        display: none !important;
    }

    .rg-product-page .event-shell,
    .rg-product-page .headline-shell {
        grid-template-columns: minmax(0, 1fr);
    }
}

@media (max-width: 760px) {
    .rg-product-page .event-topbar {
        height: 56px;
    }

    .rg-product-page #nashcn_navbar > ._2piNr9Ib2NULteRTurc0_Y,
    .rg-product-page .event-topbar-inner,
    .rg-product-page .headline-topbar-inner,
    .rg-product-page ._1cvD2VyVANnUWLtRygslHH,
    .rg-product-page .event-brandbar-inner,
    .rg-product-page .headline-brandbar-inner,
    .rg-product-page ._2gdAbRwnjCdKhnWWmzaUpg.container,
    .rg-product-page .event-shell,
    .rg-product-page .headline-shell {
        width: calc(100% - 16px);
    }

    .rg-product-page .event-topbar-inner,
    .rg-product-page .headline-topbar-inner,
    .rg-product-page #nashcn_navbar > ._2piNr9Ib2NULteRTurc0_Y {
        overflow-x: auto;
        overflow-y: hidden;
        scrollbar-width: none;
    }

    .rg-product-page .event-topbar-inner {
        padding: 0 84px 0 0;
        align-items: center;
        flex-direction: row;
        gap: 8px;
    }

    .rg-product-page .event-auth,
    .rg-product-page .event-user {
        margin-top: 0;
    }

    .rg-product-page .event-nav {
        min-width: 0;
        flex: 1 1 auto;
    }

    .rg-product-page .event-topbar-inner::-webkit-scrollbar,
    .rg-product-page .headline-topbar-inner::-webkit-scrollbar,
    .rg-product-page #nashcn_navbar > ._2piNr9Ib2NULteRTurc0_Y::-webkit-scrollbar {
        display: none;
    }

    .rg-product-page .event-brandbar-inner,
    .rg-product-page .headline-brandbar-inner {
        grid-template-columns: minmax(0, 1fr);
        gap: 10px;
        padding: 12px 4px;
    }

    .rg-product-page .event-brand,
    .rg-product-page .headline-brand,
    .rg-product-reports ._3kxisYtvg3uuNzcdRCIhfi {
        display: none;
    }

    .rg-product-reports ._1cvD2VyVANnUWLtRygslHH {
        height: 92px;
        min-height: 92px;
        padding: 12px 4px;
    }

    .rg-product-reports .FOHkK6OAKeaWYWu0sLqgJ {
        width: 100%;
        margin: 0;
    }

    .rg-product-page .event-membership-trigger,
    .rg-product-page .headline-updated {
        display: none;
    }

    .rg-product-page .event-shell,
    .rg-product-page .headline-shell {
        margin-top: 12px;
    }
}
