/*
|--------------------------------------------------------------------------
| CGEI Analyses Landing Page
|--------------------------------------------------------------------------
*/

.analyses-page {
    width: 100%;
    margin: 0;
    padding: 26px 0 34px;

    background: #ffffff;
    color: #111111;
}

/*
|--------------------------------------------------------------------------
| Analyses page typography
|--------------------------------------------------------------------------
*/

body,
body * {
    font-family: Georgia, "Times New Roman", serif !important;
    font-size: 13pt !important;
}

footer.ceig-site-footer,
footer.ceig-site-footer * {
    font-size: 11pt !important;
}

.analyses-page,
.analyses-page * {
    box-sizing: border-box;
}

.analyses-content {
    width: calc(100% - 40px);
    max-width: calc(var(--content-width) - 40px);

    margin: 0 auto;
    padding: 0 10px;
}

/*
|--------------------------------------------------------------------------
| Remove inherited decorative heading marks
|--------------------------------------------------------------------------
*/

.analyses-page h1::before,
.analyses-page h1::after,
.analyses-page h2::before,
.analyses-page h2::after,
.analyses-page h3::before,
.analyses-page h3::after {
    display: none !important;

    width: 0 !important;
    height: 0 !important;

    content: none !important;
}

/*
|--------------------------------------------------------------------------
| Introductory heading
|--------------------------------------------------------------------------
*/

.analyses-introduction {
    width: 100%;
    margin: 0;
    padding: 0;
}

.analyses-introduction-heading {
    margin: 0 0 24px;
    padding: 0;

    color: #001d50;

    font-family: Georgia, "Times New Roman", serif;
    font-size: 20px;
    font-weight: 700;
    line-height: 1.35;

    text-align: center;
}

/*
|--------------------------------------------------------------------------
| Independent Analysis / Commissioned Research cards
|--------------------------------------------------------------------------
*/

.analyses-research-grid {
    display: grid;

    grid-template-columns:
        repeat(
            2,
            minmax(0, 1fr)
        );

    gap: 18px;

    width: 100%;
    margin: 0;
    padding: 0;
}

.analyses-research-card {
    min-width: 0;
    min-height: 240px;

    margin: 0;
    padding: 24px 26px;

    background:
        linear-gradient(
            118deg,
            #00163e 0%,
            #00275f 58%,
            #001235 100%
        );

    color: #ffffff;

    font-family: Georgia, "Times New Roman", serif;
}

/*
|--------------------------------------------------------------------------
| Research-card headings
|--------------------------------------------------------------------------
*/

.analyses-research-card h2 {
    width: fit-content;
    max-width: 100%;

    margin: 0 auto 18px;
    padding: 0 0 5px;

    border-bottom: 4px solid #d4af37;

    color: #ffffff;

    font-family: Georgia, "Times New Roman", serif;
    font-size: 14pt;
    font-weight: 700;
    line-height: 1.35;

    text-align: center;
}

/*
|--------------------------------------------------------------------------
| Research-card text
|--------------------------------------------------------------------------
*/

.analyses-research-card p {
    margin: 0;
    padding: 0;

    color: #ffffff;

    font-family: Georgia, "Times New Roman", serif;
    font-size: 14pt;
    font-weight: 400;
    line-height: 1.5;

    text-align: justify;
    text-justify: inter-word;
    hyphens: auto;
}

/*
|--------------------------------------------------------------------------
| Search Analyses
|--------------------------------------------------------------------------
*/

.analyses-catalogue-section {
    position: relative;
    z-index: 20;

    width: 100%;

    margin: 28px 0 0;
    padding: 0;
}

.analyses-search {
    position: relative;

    width: 100%;
}

.analyses-search-control {
    display: grid;

    grid-template-columns:
        minmax(0, 1fr)
        auto
        auto;

    align-items: stretch;

    width: 100%;
    min-height: 52px;

    border: 1px solid #6f7f95;

    background: #ffffff;
}

.analyses-search-label {
    position: absolute;

    width: 1px;
    height: 1px;

    margin: -1px;
    padding: 0;

    overflow: hidden;

    border: 0;

    clip: rect(0 0 0 0);
    clip-path: inset(50%);

    white-space: nowrap;
}

.analyses-search-input {
    width: 100%;
    min-width: 0;
    min-height: 50px;

    margin: 0;
    padding: 11px 15px;

    border: 0;
    border-radius: 0;

    outline: 0;

    background: #ffffff;
    color: #111111;

    font-family: Georgia, "Times New Roman", serif;
    font-size: 14pt;
    font-weight: 400;
    line-height: 1.4;
}

.analyses-search-input::placeholder {
    color: #667084;
    opacity: 1;
}

.analyses-search-input::-webkit-search-cancel-button {
    display: none;
}

.analyses-search-control:focus-within {
    border-color: #001d50;

    box-shadow:
        0 0 0 2px
        rgba(0, 29, 80, 0.12);
}

/*
|--------------------------------------------------------------------------
| Search controls
|--------------------------------------------------------------------------
*/

.analyses-search-reset,
.analyses-search-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    min-height: 50px;

    margin: 0;
    padding: 0;

    border: 0;
    border-left: 1px solid #6f7f95;
    border-radius: 0;

    background: #ffffff;
    color: #001d50;

    cursor: pointer;
}

.analyses-search-reset {
    width: 44px;

    font-family: Arial, sans-serif;
    font-size: 23px;
    font-weight: 400;
    line-height: 1;
}

.analyses-search-reset[hidden] {
    display: none !important;
}

.analyses-search-button {
    width: 50px;

    font-family: Georgia, "Times New Roman", serif;
    font-size: 14pt;
    font-weight: 700;
    line-height: 1;
}

.analyses-search-reset:hover,
.analyses-search-reset:focus-visible,
.analyses-search-button:hover,
.analyses-search-button:focus-visible {
    background: #f5f7fa;
}

/*
|--------------------------------------------------------------------------
| Search catalogue results
|--------------------------------------------------------------------------
*/

.analyses-search-results {
    position: absolute;

    top: calc(100% + 4px);
    right: 0;
    left: 0;

    z-index: 40;

    max-height: 300px;

    overflow-y: auto;

    border: 1px solid #8b97a8;

    background: #ffffff;

    box-shadow:
        0 10px 24px
        rgba(0, 18, 53, 0.12);
}

.analyses-search-result {
    display: block;

    width: 100%;

    margin: 0;
    padding: 7px 11px;

    border: 0;
    border-bottom: 1px solid #e1e5ea;
    border-radius: 0;

    background: #ffffff;
    color: #111111;

    font-family: Georgia, "Times New Roman", serif;
    font-size: 10.5pt;

    text-align: left;

    cursor: pointer;
}

.analyses-search-result:last-child {
    border-bottom: 0;
}

.analyses-search-result:hover,
.analyses-search-result:focus-visible,
.analyses-search-result[aria-selected="true"] {
    background: #f2f5f9;
}

.analyses-search-result-line {
    display: flex;
    align-items: baseline;
    gap: 7px;

    min-width: 0;

    line-height: 1.3;
    white-space: nowrap;
    overflow: hidden;
}

.analyses-search-result-title {
    min-width: 0;

    overflow: hidden;

    color: #001d50;

    font-family: Georgia, "Times New Roman", serif;
    font-size: 10.75pt;
    font-weight: 700;
    line-height: 1.3;

    text-overflow: ellipsis;
}

.analyses-search-result-separator,
.analyses-search-result-category,
.analyses-search-result-date {
    flex: 0 0 auto;

    color: #111111;

    font-family: Georgia, "Times New Roman", serif;
    font-size: 10.5pt;
    font-weight: 400;
    line-height: 1.3;
}

.analyses-search-result-separator {
    color: #b18d32;
}

.analyses-search-no-results {
    margin: 0;
    padding: 14px;

    color: #555555;

    font-family: Georgia, "Times New Roman", serif;
    font-size: 14pt;
    font-weight: 400;
    line-height: 1.45;
}

/*
|--------------------------------------------------------------------------
| Four publication panels
|--------------------------------------------------------------------------
*/

.analysis-publication-grid {
    display: grid;

    grid-template-columns:
        repeat(
            2,
            minmax(0, 1fr)
        );

    align-items: stretch;

    gap: 20px;

    width: 100%;

    margin: 28px 0 0;
    padding: 0;
}

.analysis-publication-panel {
    display: flex;
    flex-direction: column;

    min-width: 0;

    margin: 0;
    padding: 0;

    overflow: hidden;

    border: 1.5px solid #001d50;

    background: #ffffff;
    color: #111111;

    font-family: Georgia, "Times New Roman", serif;
    font-size: 14pt;
}

.analysis-publication-panel[data-search-selection] {
    box-shadow:
        inset 0 4px 0 #d4af37;
}

/*
|--------------------------------------------------------------------------
| Publication panel content
|--------------------------------------------------------------------------
*/

.analysis-publication-content {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;

    min-height: 0;

    padding: 21px 23px 22px;

    background: #ffffff;
}

/*
|--------------------------------------------------------------------------
| Required publication sequence
|--------------------------------------------------------------------------
|
| 1. Analysis title
| 2. Golden underline
| 3. Date | Read Time
| 4. Hero image
| 5. Executive summary
| 6. Read Analysis | Download Analysis
|--------------------------------------------------------------------------
*/

.analysis-publication-heading-group {
    width: 100%;
    margin: 0;
    padding: 0;
}

/*
|--------------------------------------------------------------------------
| Analysis title
|--------------------------------------------------------------------------
|
| The underline is attached to the TITLE TEXT, rather than being a fixed
| decorative 60px line.
|
| If the title wraps, each line of the complete title remains underlined.
|--------------------------------------------------------------------------
*/

.analysis-publication-heading-group h2 {
    display: block;

    width: 100%;

    margin: 0;
    padding: 0;

    color: #001d50;

    font-family: Georgia, "Times New Roman", serif;
    font-size: 14pt;
    font-weight: 700;
    line-height: 1.4;

    text-align: center;

    text-decoration-line: underline;
    text-decoration-color: #d4af37;
    text-decoration-thickness: 2px;
    text-underline-offset: 6px;
    text-decoration-skip-ink: none;
}

/*
|--------------------------------------------------------------------------
| Date | Read Time
|--------------------------------------------------------------------------
*/

.analysis-publication-metadata {
    display: flex;
    flex-wrap: wrap;
    align-items: center;

    gap: 8px;

    margin: 16px 0 16px;
    padding: 0;

    color: #333333;

    font-family: Georgia, "Times New Roman", serif;
    font-size: 14pt;
    font-weight: 400;
    line-height: 1.4;
}

.analysis-publication-metadata-divider {
    color: #333333;
}

/*
|--------------------------------------------------------------------------
| Hero image
|--------------------------------------------------------------------------
|
| The image physically follows the date/read-time element in
| analysis-card.php.
|
| Hero width remains the complete publication-panel width.
| Maximum displayed height: 300px.
| object-fit: cover prevents width reduction or distortion.
|--------------------------------------------------------------------------
*/

.analysis-publication-hero {
    display: flex;
    align-items: center;
    justify-content: center;

    width: calc(100% + 46px);
    height: 300px;
    max-height: 300px;

    margin:
        0
        -23px
        20px;

    padding: 0;

    overflow: hidden;

    border-top: 1px solid #c8d0db;
    border-bottom: 1px solid #c8d0db;

    background: #ffffff;
}

.analysis-publication-hero img {
    display: block;

    width: 100%;
    height: 100%;

    max-width: 100%;
    max-height: 300px;

    margin: 0;
    padding: 0;

    background: #ffffff;

    object-fit: cover;
    object-position: center;
}

/*
|--------------------------------------------------------------------------
| Latin America hero
|--------------------------------------------------------------------------
|
| The landscape replacement occupies the complete available panel width.
| It follows the same 300px maximum-height rule as every other panel.
|--------------------------------------------------------------------------
*/

.analysis-publication-panel[data-analysis-position="4"]
.analysis-publication-hero {
    display: flex;

    width: calc(100% + 46px);
    height: 300px;
    max-height: 300px;

    margin:
        0
        -23px
        20px;

    padding: 0;

    overflow: hidden;

    background: #ffffff;
}

.analysis-publication-panel[data-analysis-position="4"]
.analysis-publication-hero img {
    display: block;

    width: 100%;
    height: 100%;

    max-width: 100%;
    max-height: 300px;

    margin: 0;
    padding: 0;

    background: #ffffff;

    object-fit: cover;
    object-position: center;
}

/*
|--------------------------------------------------------------------------
| Executive summary
|--------------------------------------------------------------------------
*/

.analysis-publication-summary {
    width: 100%;

    margin: 0;
    padding: 0;

    color: #111111;

    font-family: Georgia, "Times New Roman", serif;
    font-size: 14pt;
    font-weight: 400;
    line-height: 1.6;

    text-align: justify;
    text-align-last: left;
    text-justify: inter-word;
}

.analysis-publication-summary p {
    margin: 0 0 14px;
    padding: 0;

    color: #111111;

    font-family: Georgia, "Times New Roman", serif;
    font-size: 14pt;
    font-weight: 400;
    line-height: 1.6;
}

.analysis-publication-summary p:last-child {
    margin-bottom: 0;
}

/*
|--------------------------------------------------------------------------
| Read / Download controls
|--------------------------------------------------------------------------
*/

.analysis-publication-actions {
    display: grid;

    grid-template-columns:
        repeat(
            2,
            minmax(0, 1fr)
        );

    gap: 10px;

    width: 100%;

    margin: auto 0 0;
    padding: 22px 0 0;
}

.analysis-action {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    min-height: 46px;

    padding: 10px 14px;

    font-family: Georgia, "Times New Roman", serif;
    font-size: 14pt;
    font-weight: 700;
    line-height: 1.35;

    text-align: center;
}

.analysis-action-read {
    border: 1px solid #001d50;

    background: #001d50;
    color: #ffffff;
}

.analysis-action-download {
    border: 1px solid #001d50;

    background: #ffffff;
    color: #001d50;
}

.analysis-action:hover,
.analysis-action:focus-visible {
    box-shadow:
        inset 0 -3px 0 #d4af37;
}

/*
|--------------------------------------------------------------------------
| Desktop adaptation
|--------------------------------------------------------------------------
*/

@media (max-width: 1200px) {

    .analyses-research-card {
        min-height: 230px;

        padding: 22px;
    }

    .analyses-research-card h2,
    .analyses-research-card p {
        font-size: 14pt;
    }

    .analysis-publication-content {
        padding: 19px 20px 20px;
    }

    .analysis-publication-heading-group h2,
    .analysis-publication-metadata,
    .analysis-publication-summary,
    .analysis-publication-summary p,
    .analysis-action {
        font-size: 14pt;
    }

    .analysis-publication-hero,
    .analysis-publication-panel[data-analysis-position="4"]
    .analysis-publication-hero {
        width: calc(100% + 40px);
        height: 300px;
        max-height: 300px;

        margin-right: -20px;
        margin-left: -20px;
    }

    .analysis-publication-hero img,
    .analysis-publication-panel[data-analysis-position="4"]
    .analysis-publication-hero img {
        width: 100%;
        height: 100%;

        max-width: 100%;
        max-height: 300px;

        object-fit: cover;
        object-position: center;
    }
}

/*
|--------------------------------------------------------------------------
| Tablet
|--------------------------------------------------------------------------
*/

@media (max-width: 900px) {

    .analyses-page {
        padding-top: 22px;
    }

    .analyses-introduction-heading {
        margin-bottom: 20px;
    }

    .analyses-research-grid {
        grid-template-columns: 1fr;

        gap: 12px;
    }

    .analyses-research-card {
        min-height: 0;

        padding: 20px 22px;
    }

    .analyses-research-card h2 {
        margin-bottom: 10px;

        font-size: 14pt;

        text-align: center;
    }

    .analyses-research-card p {
        font-size: 14pt;
        text-align: justify;
        text-justify: inter-word;
    }

    .analysis-publication-grid {
        grid-template-columns: 1fr;
    }

    .analysis-publication-heading-group h2,
    .analysis-publication-metadata,
    .analysis-publication-summary,
    .analysis-publication-summary p,
    .analysis-action {
        font-size: 14pt;
    }

    .analysis-publication-hero,
    .analysis-publication-panel[data-analysis-position="4"]
    .analysis-publication-hero {
        height: 280px;
        max-height: 300px;

        background: #ffffff;
    }

    .analysis-publication-hero img,
    .analysis-publication-panel[data-analysis-position="4"]
    .analysis-publication-hero img {
        display: block;

        width: 100%;
        height: 100%;

        max-width: 100%;
        max-height: 300px;

        background: #ffffff;

        object-fit: cover;
        object-position: center;
    }
}

/*
|--------------------------------------------------------------------------
| Mobile
|--------------------------------------------------------------------------
|
| The requested 14pt publication size is retained.
|--------------------------------------------------------------------------
*/

@media (max-width: 620px) {

    .analyses-page {
        padding: 18px 0 26px;
    }

    .analyses-content {
        width: calc(100% - 28px);

        padding: 0;
    }

    .analyses-introduction-heading {
        margin-bottom: 17px;

        line-height: 1.4;
    }

    .analyses-research-card {
        padding: 18px;
    }

    .analyses-research-card h2 {
        margin-bottom: 10px;

        font-size: 14pt;
        line-height: 1.35;

        text-align: center;
    }

    .analyses-research-card p {
        font-size: 14pt;
        line-height: 1.5;

        text-align: justify;
        text-justify: inter-word;
    }

    /*
    |--------------------------------------------------------------------------
    | Search
    |--------------------------------------------------------------------------
    */

    .analyses-catalogue-section {
        margin-top: 22px;
    }

    .analyses-search-control {
        min-height: 48px;
    }

    .analyses-search-input,
    .analyses-search-reset,
    .analyses-search-button {
        min-height: 46px;
    }

    .analyses-search-input {
        padding: 10px 12px;

        font-size: 14pt;
    }

    .analyses-search-reset {
        width: 40px;
    }

    .analyses-search-button {
        width: 44px;

        font-size: 14pt;
    }

    /*
    |--------------------------------------------------------------------------
    | Publication panels
    |--------------------------------------------------------------------------
    */

    .analysis-publication-grid {
        gap: 16px;

        margin-top: 22px;
    }

    .analysis-publication-content {
        padding: 17px 17px 18px;
    }

    .analysis-publication-heading-group h2 {
        font-size: 14pt;
        line-height: 1.4;

        text-decoration-thickness: 2px;
        text-underline-offset: 5px;
    }

    .analysis-publication-metadata {
        margin-top: 15px;
        margin-bottom: 14px;

        font-size: 14pt;
    }

    .analysis-publication-hero,
    .analysis-publication-panel[data-analysis-position="4"]
    .analysis-publication-hero {
        width: calc(100% + 34px);
        height: 220px;
        max-height: 300px;

        margin-right: -17px;
        margin-bottom: 18px;
        margin-left: -17px;

        background: #ffffff;
    }

    .analysis-publication-hero img,
    .analysis-publication-panel[data-analysis-position="4"]
    .analysis-publication-hero img {
        width: 100%;
        height: 100%;

        max-width: 100%;
        max-height: 300px;

        background: #ffffff;

        object-fit: cover;
        object-position: center;
    }

    .analysis-publication-summary,
    .analysis-publication-summary p {
        font-size: 14pt;
        line-height: 1.55;

        text-align: left;
    }

    .analysis-publication-actions {
        grid-template-columns: 1fr;

        gap: 8px;

        padding-top: 18px;
    }

    .analysis-action {
        font-size: 14pt;
    }
}/*
|--------------------------------------------------------------------------
| Prevent word splitting in analysis and research cards
|--------------------------------------------------------------------------
*/

.analyses-research-card p {
    text-align: justify;
    text-justify: inter-word;

    -webkit-hyphens: none;
    -ms-hyphens: none;
    hyphens: none;

    word-break: normal;
    overflow-wrap: normal;
}


/*
|--------------------------------------------------------------------------
| Search catalogue results — mobile-only readable title layout
| Desktop presentation remains unchanged.
|--------------------------------------------------------------------------
*/

@media (max-width: 767px) {
    .analyses-search-results {
        max-width: 100%;
        max-height: min(60vh, 460px);
        overflow-x: hidden;
    }

    .analyses-search-result {
        padding: 10px 12px;
        white-space: normal;
    }

    .analyses-search-result-line {
        display: flex;
        flex-wrap: wrap;
        align-items: baseline;
        gap: 3px 7px;
        min-width: 0;
        overflow: visible;
        white-space: normal;
    }

    .analyses-search-result-title {
        display: block;
        flex: 0 0 100%;
        width: 100%;
        min-width: 0;
        overflow: visible;
        white-space: normal;
        text-overflow: clip;
        overflow-wrap: anywhere;
        word-break: normal;
        line-height: 1.4;
    }

    /* No leading divider before the category on the second line. */
    .analyses-search-result-title + .analyses-search-result-separator {
        display: none;
    }

    .analyses-search-result-category,
    .analyses-search-result-date,
    .analyses-search-result-separator {
        flex: 0 1 auto;
        min-width: 0;
        white-space: normal;
    }
}
