/* Consensus Economics — restrained editorial/product icons.
 * One self-hosted outline system; decor is aria-hidden, adjacent labels remain visible.
 * Do not style top navigation, statistics, country lists, order/registration steps,
 * tabular data or long-form editorial paragraphs.
 */
.cei-modern-icon {
    display: inline-block;
    flex: 0 0 auto;
    width: 20px;
    height: 20px;
    vertical-align: -0.22em;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}
.cei-feature-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    flex: 0 0 42px;
    background: #edf4fa;
    border: 1px solid #dce8f0;
    border-radius: 10px;
    color: #244668;
    line-height: 1;
}
.cei-feature-badge .cei-modern-icon { width: 21px; height: 21px; }

/* Homepage use-cases already have icon placeholders; standardise their rendering. */
.home .home-decisions-benefits .home-decisions-icon {
    width: 44px;
    height: 44px;
    background: #edf4fa;
    border-radius: 10px;
    color: #244668;
}
.home .home-decisions-benefits .home-decisions-icon .cei-modern-icon {
    width: 24px;
    height: 24px;
}
/* Four delivery route labels gain small editorial symbols, not new large blocks. */
.home .home-data-delivery-route-title h3 .cei-modern-icon {
    width: 18px;
    height: 18px;
    margin-right: 9px;
    color: #2a5b82;
    vertical-align: -0.17em;
}


/* Publication directory: restrained action and market-category cues. */
.efp-page .efp-hero-actions .cei-modern-icon,
.efp-page .efp-hero-actions .efp-button .cei-modern-icon {
    width: 17px;
    height: 17px;
    margin-right: 8px;
    vertical-align: -0.24em;
}
.efp-page .efp-choice > .cei-feature-badge {
    width: 38px;
    height: 38px;
    margin: 10px 0 4px;
    display: inline-flex;
    align-self: flex-start;
    color: #244668;
    line-height: 1;
}

/* Country forecast section headings: no symbols beside long text paragraphs. */
body.single-publications.country-forecast-modern .country-detail-section-heading h2 .cei-modern-icon {
    width: 20px;
    height: 20px;
    margin-right: 10px;
    color: #366b92;
    vertical-align: -0.14em;
}

/* Excel capability cards. */
.cei-excel-page .cei-excel-feature .cei-feature-badge { margin-bottom: 12px; }
.cei-excel-page .cei-excel-feature .cei-feature-badge + h3 { margin-top: 0; }

/* API benefits. Keep steps 01–03 unchanged. */
.cei-api-page .cei-api-benefit h3 .cei-modern-icon {
    width: 19px;
    height: 19px;
    margin-right: 9px;
    color: #32688e;
    vertical-align: -0.18em;
}

/* Publication calendar — CSV and upcoming-release actions only. */
.publication-schedule-page .schedule-button .cei-modern-icon {
    width: 17px;
    height: 17px;
    margin-right: 8px;
    vertical-align: -0.2em;
}
.publication-schedule-page .schedule-next-release .cei-modern-icon {
    width: 16px;
    height: 16px;
    margin-right: 6px;
    vertical-align: -0.2em;
}

/* Contact details: use the same modern strokes for existing cards and office. */
.contact-modern-page .contact-method-icon .cei-modern-icon {
    width: 21px;
    height: 21px;
}
.contact-modern-page .contact-office-card h2 .cei-modern-icon {
    width: 19px;
    height: 19px;
    margin-right: 9px;
    color: #366b92;
    vertical-align: -0.13em;
}

/* Award-related symbols only, not individual winners or scoring tables. */
.faa-page .faa-eyebrow .cei-modern-icon {
    width: 16px;
    height: 16px;
    margin-right: 8px;
    vertical-align: -0.18em;
}
.faa-page .faa-methodology h2 .cei-modern-icon {
    width: 20px;
    height: 20px;
    margin-right: 9px;
    color: #366b92;
    vertical-align: -0.14em;
}

@media (max-width: 767px) {
    .cei-feature-badge { width: 38px; height: 38px; flex-basis: 38px; }
    .home .home-decisions-benefits .home-decisions-icon { width: 40px; height: 40px; }
}

/* Access-options card: centred as a single group with quiet, crisp typography.
   Shared by regional publication, country-forecast and FX covers. The card
   width, border and background remain under their existing page styles. */
body.single-publications .g7-delivery-formats .g7-delivery-formats-title {
    margin-bottom: 14px;
    font-size: 12px;
    font-weight: 500;
    letter-spacing: .025em;
    line-height: 1.25;
    color: #65717c;
}
body.single-publications .g7-modern-hero .g7-delivery-formats .g7-delivery-formats-grid,
body.single-publications .g7-delivery-formats .g7-delivery-formats-grid {
    display: grid;
    width: min(280px, 100%);
    max-width: 100%;
    margin-inline: auto;
    grid-template-columns: max-content max-content;
    column-gap: 30px;
    row-gap: 14px;
    padding-inline: 0;
    align-items: center;
    justify-content: space-between;
    box-sizing: border-box;
}
body.single-publications .g7-delivery-formats .g7-delivery-format {
    display: flex;
    align-items: center;
    min-width: 0;
    min-height: 23px;
    gap: 8px;
}
body.single-publications .g7-delivery-formats .g7-delivery-format-icon {
    display: inline-flex;
    flex: 0 0 19px;
    width: 19px;
    height: 19px;
    align-items: center;
    justify-content: center;
    color: #2677b0;
}
body.single-publications .g7-delivery-formats .g7-delivery-format-icon .cei-modern-icon {
    display: block;
    width: 18px;
    height: 18px;
    stroke-width: 1.75;
}
body.single-publications .g7-delivery-formats .g7-delivery-format-label {
    display: block;
    margin: 0;
    min-width: 0;
    white-space: nowrap;
    font-size: 14px;
    font-weight: 500;
    letter-spacing: 0;
    line-height: 1.35;
    color: #1c2630;
}
@media (max-width: 360px) {
    body.single-publications .g7-modern-hero .g7-delivery-formats .g7-delivery-formats-grid,
body.single-publications .g7-delivery-formats .g7-delivery-formats-grid {
        column-gap: 16px;
    }
}
@media (max-width: 285px) {
    body.single-publications .g7-modern-hero .g7-delivery-formats .g7-delivery-formats-grid,
body.single-publications .g7-delivery-formats .g7-delivery-formats-grid {
        grid-template-columns: max-content;
        justify-content: start;
    }
}
