/* ========================================================================
   CEI desktop header + search
   Authoritative owner for the desktop white header row and smart-search UI.
   Desktop primary-navigation geometry/states remain in navigation-stable.css.
   Breakpoint: desktop >= 1100px.
   ======================================================================== */

.cei-header-smart-tools {
    display: none;
}

@media screen and (min-width: 1100px) {
    /* Optical text rendering for desktop navigation and header controls. */
    .site-header :where(a, button, input, select, textarea) {
        -webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale;
        font-kerning: normal;
        text-rendering: optimizeLegibility;
    }


    /* --------------------------------------------------------------------
       White header row
       -------------------------------------------------------------------- */
    .site-header .header-top,
    .site-header .header-top > .wrap {
        min-height: 78px !important;
        height: auto !important;
    }

    .site-header .header-top {
        padding: 0 !important;
    }

    .site-header .header-top > .wrap {
        display: flex !important;
        align-items: center !important;
        width: 95% !important;
        max-width: 1420px !important;
        margin-left: auto !important;
        margin-right: auto !important;
        padding: 10px 0 8px !important;
        overflow: visible !important;
        box-sizing: border-box !important;
    }


    .site-header .header-top .logo,
    .site-header .header-top .custom-logo-link {
        flex: 0 0 auto !important;
        float: none !important;
        width: auto !important;
        max-width: 332px !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    .site-header .header-top .logo img,
    .site-header .header-top .custom-logo-link img {
        display: block !important;
        width: auto !important;
        max-width: 301px !important;
        height: auto !important;
        max-height: 52px !important;
        object-fit: contain !important;
    }

    .site-header .header-top .header-top-middle {
        position: static !important;
        top: auto !important;
        flex: 1 1 auto !important;
        float: none !important;
        width: auto !important;
        min-width: 40px !important;
        margin: 0 !important;
        padding: 0 !important;
        text-align: left !important;
    }

    /* The legacy strapline is intentionally suppressed in the current header. */
    .site-header .header-top .header-top-middle,
    .site-header .header-top .header-top-middle::before,
    .site-header .header-top .header-top-middle::after {
        font-size: 0 !important;
    }

    .site-header .header-top .header-top-middle::before,
    .site-header .header-top .header-top-middle::after {
        content: none !important;
        display: none !important;
    }

    .site-header .header-top .header-top-right {
        position: relative !important;
        display: block !important;
        flex: 0 0 auto !important;
        float: none !important;
        width: auto !important;
        margin: 0 !important;
        padding: 0 !important;
        transform: none !important;
    }

    .site-header .header-top .header-top-right > aside.widget-area {
        display: block !important;
        width: auto !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    .site-header .header-top .header-top-right > aside.widget-area > .widget-column.header-widget {
        display: flex !important;
        align-items: center !important;
        justify-content: flex-end !important;
        gap: 12px !important;
        width: auto !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    .site-header .header-top .header-top-right .header-widget > .widget:not(.widget_themeservicewidget) {
        position: static !important;
        left: auto !important;
        right: auto !important;
        display: block !important;
        flex: 0 0 auto !important;
        width: auto !important;
        margin: 0 !important;
        padding: 0 !important;
        transform: none !important;
    }

    .site-header .header-top .header-top-right ul,
    .site-header .header-top .header-top-right .menu {
        display: flex !important;
        align-items: center !important;
        justify-content: flex-end !important;
        gap: 16px !important;
        margin: 0 !important;
        padding: 0 !important;
        transform: none !important;
    }

    .site-header .header-top .header-top-right li {
        display: block !important;
        margin: 0 !important;
        padding: 0 !important;
        border: 0 !important;
        outline: 0 !important;
        background: transparent !important;
        box-shadow: none;
    }

    /* Contact + Order render the real link text directly. */
    .site-header .header-top .header-top-right a[href*="/contact"],
    .site-header .header-top .header-top-right a[href*="/order-forecast-publications/"] {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: 138px !important;
        min-width: 0 !important;
        height: 42px !important;
        min-height: 42px !important;
        margin: 0 !important;
        padding: 0 14px !important;
        box-sizing: border-box;
        border-radius: 8px;
        font-size: 14px !important;
        font-weight: 600 !important;
        line-height: 1.1 !important;
        letter-spacing: -.006em;
        text-decoration: none;
        text-transform: none;
        white-space: nowrap !important;
        transform: none !important;
        transition: background-color .16s ease, border-color .16s ease, color .16s ease, box-shadow .16s ease;
    }

    /* The navy-band Free Report CTA is the single desktop sample action. */
    .site-header .header-top .header-top-right a[href*="/registration/"] {
        display: none !important;
    }

    .site-header .header-top .header-top-right a[href*="/contact"]::before,
    .site-header .header-top .header-top-right a[href*="/order-forecast-publications/"]::before,
    .site-header .header-top .header-top-right a[href*="/contact"]::after,
    .site-header .header-top .header-top-right a[href*="/order-forecast-publications/"]::after {
        content: none !important;
        display: none !important;
    }

    .site-header .header-top .header-top-right a[href*="/contact"] {
        position: relative !important;
        left: 0 !important;
        border: 1px solid #c8d9e5 !important;
        background: #fbfdff !important;
        color: #244968 !important;
        box-shadow: none;
    }


    .site-header .header-top .header-top-right a[href*="/order-forecast-publications/"] {
        width: 184px !important;
        box-sizing: border-box !important;
        border: 1px solid var(--cei-surface-navy, #1b4568) !important;
        background: var(--cei-surface-navy, #1b4568) !important;
        color: var(--cei-shared-ink-fff) !important;
        box-shadow: 0 4px 12px rgba(8, 30, 47, .11);
    }


    .site-header .header-top .header-top-right a[href*="/contact"]:hover,
    .site-header .header-top .header-top-right a[href*="/contact"]:focus-visible {
        background: #f2f7fa !important;
        border-color: #aec7d8;
        color: #173f62 !important;
        box-shadow: 0 5px 14px rgba(8, 30, 47, .08);
    }

    .site-header .header-top .header-top-right a[href*="/order-forecast-publications/"]:hover,
    .site-header .header-top .header-top-right a[href*="/order-forecast-publications/"]:focus-visible {
        background: var(--cei-surface-navy-hover, #24577e) !important;
        border-color: var(--cei-surface-navy-hover, #24577e);
        box-shadow: 0 7px 18px rgba(8, 30, 47, .15);
    }

    /* Heritage/service proof block. */
    .site-header .header-top .header-top-right .widget.widget_themeservicewidget {
        position: static !important;
        left: auto !important;
        display: block !important;
        flex: 0 0 auto !important;
        width: auto !important;
        margin: 0 !important;
        padding: 0 !important;
        right: auto !important;
        visibility: visible !important;
        opacity: 1 !important;
        pointer-events: auto !important;
        transform: none !important;
    }

    .site-header .header-top .header-top-right .widget.widget_themeservicewidget .media-image,
    .site-header .header-top .header-top-right .widget.widget_themeservicewidget .media-image img {
        display: none !important;
        width: 0 !important;
        height: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    .site-header .header-top .header-top-right .widget.widget_themeservicewidget .widget-service {
        display: block !important;
        min-width: 142px !important;
        padding-left: 0 !important;
        text-align: right !important;
    }

    .site-header .header-top .header-top-right .widget.widget_themeservicewidget .widget-service .heading {
        color: #173f62 !important;
        font-size: 24px !important;
        font-weight: 700 !important;
        line-height: 1.02 !important;
        letter-spacing: -.025em;
    }

    .site-header .header-top .header-top-right .widget.widget_themeservicewidget .widget-service .text {
        margin-top: 5px !important;
        color: #687887 !important;
        font-size: 14px !important;
        font-weight: 600 !important;
        line-height: 1.15 !important;
        letter-spacing: -.005em;
    }

    /* --------------------------------------------------------------------
       Desktop navigation tools / smart search
       -------------------------------------------------------------------- */
    /* The legacy navigation-tools widget is the compact/mobile fallback.
       Desktop renders the dedicated smart-search tools directly beside the
       primary menu, so keep the fallback out of the desktop layout. */
    .site-header .navigation-top .cei-navigation-tools-area {
        display: none !important;
        visibility: hidden !important;
        pointer-events: none !important;
    }

    .site-header .navigation-top > .wrap {
        position: relative !important;
        overflow: visible !important;
    }

    .site-header .cei-header-smart-tools {
        position: absolute !important;
        top: 50% !important;
        right: 0 !important;
        z-index: 5000 !important;
        display: flex !important;
        align-items: center !important;
        justify-content: flex-end !important;
        width: 172px !important;
        min-width: 172px !important;
        height: 40px !important;
        overflow: visible !important;
        transform: translate(0, -50%) !important;
    }

    /* Desktop sample CTA belongs to the header component, not navigation. */
    .site-header .cei-header-smart-sample {
        position: relative !important;
        inset: auto !important;
        display: inline-flex !important;
        flex: 0 0 auto !important;
        width: auto !important;
        min-width: 0 !important;
        max-width: none !important;
        height: 40px !important;
        min-height: 40px !important;
        max-height: 40px !important;
        margin: 0 !important;
        padding: 0 22px !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 10px !important;
        border: 1px solid #9fc6e5 !important;
        border-radius: 9px;
        background: linear-gradient(180deg, #edf7ff 0%, #e0f0fb 100%) !important;
        color: #123b5d !important;
        box-shadow: 0 2px 7px rgba(7, 36, 58, .12), inset 0 1px 0 rgba(255, 255, 255, .85);
        font-family: 'Rubik', Arial, sans-serif;
        font-size: 14px !important;
        font-weight: 700 !important;
        line-height: 1 !important;
        letter-spacing: -.008em;
        transform: none !important;
        box-sizing: border-box !important;
        transition: background-color .16s ease, border-color .16s ease, color .16s ease, box-shadow .16s ease, transform .16s ease;
    }

    .site-header .cei-header-smart-sample:hover,
    .site-header .cei-header-smart-sample:focus,
    .site-header .cei-header-smart-sample:focus-visible,
    .site-header .cei-header-smart-sample:active {
        background: linear-gradient(180deg, #f7fbff 0%, #e8f5fd 100%) !important;
        border-color: #7fb5dc;
        color: #0d3555 !important;
        transform: none !important;
        box-shadow: 0 4px 10px rgba(7, 36, 58, .14), inset 0 1px 0 rgba(255, 255, 255, .9);
    }

    .site-header .cei-header-smart-sample::after {
        content: "›" !important;
        display: inline-flex !important;
        position: static !important;
        align-items: center !important;
        justify-content: center !important;
        width: auto !important;
        height: auto !important;
        margin: 0 0 0 2px !important;
        padding: 0 0 1px !important;
        border-radius: 0;
        background: transparent !important;
        color: var(--cei-shared-ink-153b5c) !important;
        font-size: 18px !important;
        font-weight: 600 !important;
        line-height: 1 !important;
        opacity: 1 !important;
        transform: none !important;
        transition: color .16s ease;
    }

    .site-header .cei-header-smart-sample:hover::after,
    .site-header .cei-header-smart-sample:focus-visible::after {
        background: transparent !important;
        transform: none !important;
    }

    .site-header .cei-header-smart-search {
        position: relative !important;
        flex: 0 0 40px !important;
        width: 40px !important;
        min-width: 40px !important;
        margin: 0 !important;
        overflow: visible !important;

    }


    .site-header .cei-header-smart-search__field {
        position: relative !important;
        display: flex !important;
        align-items: center !important;
        width: 100% !important;
        height: 40px !important;
        overflow: hidden !important;
        border: 1px solid #c1d4e2 !important;
        border-radius: 9px;
        background: var(--cei-shared-ink-ffffff) !important;
        box-shadow: 0 1px 2px rgba(8, 29, 45, .05), 0 4px 14px rgba(8, 29, 45, .05);
        transition: border-color .16s ease, box-shadow .16s ease, background .16s ease;
    }

    .site-header .cei-header-smart-search:not(.is-open) .cei-header-smart-search__field {
        border-color: rgba(255, 255, 255, .55);
        background: rgba(255, 255, 255, .96) !important;
        box-shadow: 0 1px 2px rgba(7, 31, 49, .08);
    }


    /* The query input remains available for quick-link commands, never as an expanded field. */
    .site-header .cei-header-smart-search__field input[type="search"] {
        display: none !important;
    }

    .site-header .cei-header-smart-search__field button {
        position: absolute !important;
        top: -1px !important;
        right: -1px !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: 40px !important;
        height: 40px !important;
        min-height: 40px !important;
        padding: 0 !important;
        border: 0 !important;
        border-radius: 7px;
        background: transparent !important;
        color: #224a6b !important;
        box-shadow: none;
        cursor: pointer;
    }


    .site-header .cei-header-smart-search__field button:hover,
    .site-header .cei-header-smart-search__field button:focus-visible {
        background: #eef5f8 !important;
    }

    .site-header .cei-header-smart-search__field button svg {
        width: 16px !important;
        height: 16px !important;
    }

    /* --------------------------------------------------------------------
       Search panel + publication browser
       -------------------------------------------------------------------- */
    .site-header .cei-header-search-panel {
        position: absolute !important;
        top: calc(100% + 8px) !important;
        right: 0 !important;
        z-index: 99999 !important;
        display: none;
        width: min(960px, calc(100vw - 48px)) !important;
        max-width: calc(100vw - 32px) !important;
        padding: 15px 18px 18px !important;
        max-height: calc(100vh - 156px) !important;
        overflow-x: hidden !important;
        overflow-y: auto !important;
        border: 1px solid #dbe5eb !important;
        border-radius: 9px;
        background: var(--cei-shared-ink-ffffff) !important;
        color: #18384f !important;
        text-align: left !important;
        box-shadow: 0 18px 46px rgba(10, 38, 57, .13), 0 2px 7px rgba(10, 38, 57, .04);
        transform-origin: top right;
    }

    .site-header .cei-header-smart-search.is-open .cei-header-search-panel {
        display: block;
        animation: ceiSearchPanelIn .18s ease both;
    }


    .site-header .cei-header-search-quick[hidden],
    .site-header .cei-header-publication-detail[hidden] {
        display: none !important;
    }

    .site-header .cei-header-search-label {
        margin: 0 0 10px !important;
        padding: 0 4px !important;
        color: #667d91;
        font-size: 12px !important;
        font-weight: 600 !important;
        line-height: 1.25 !important;
        letter-spacing: .08em;
        text-transform: uppercase;
    }

    /* --------------------------------------------------------------------
       Publication quick-link chips
       -------------------------------------------------------------------- */
    .site-header .cei-header-search-commands {
        display: flex !important;
        align-items: center !important;
        flex-wrap: wrap !important;
        gap: 9px !important;
        margin: 0 4px 26px !important;
        padding: 0 6px !important;
    }

    .site-header .cei-header-search-commands a {
        display: inline-flex !important;
        align-items: center !important;
        text-decoration: none;
        padding: 7px 12px !important;
        border: 1px solid #dfe7ec;
        border-radius: 999px;
        background: #fafcfd;
        color: #244768;
        font-size: 13px !important;
        font-weight: 500 !important;
        line-height: 1.25 !important;
        cursor: pointer;
        transition: background-color .18s ease, border-color .18s ease, color .18s ease;
    }

    /* Suggested-search buttons: typography only; retain existing box styling. */
    .site-header .cei-header-search-commands button {
        font-size: 13px;
        font-weight: 500;
    }

    .site-header .cei-header-search-commands a:hover,
    .site-header .cei-header-search-commands a:focus-visible {
        border-color: #c2d6e3;
        background: #e2edf5;
        color: var(--cei-shared-ink-153b5c);
        outline: 0 !important;
        transform: none;
    }

    /* --------------------------------------------------------------------
       Empty-state publication browser
       -------------------------------------------------------------------- */
    .site-header .cei-header-search-quick__heading {
        position: relative !important;
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        gap: 20px !important;
        margin: 0 2px 12px !important;
        padding: 2px 52px 10px 4px !important;
        border-bottom: 1px solid #e5edf2;
        color: #526b7c;
    }

    .site-header .cei-header-search-quick__heading .cei-header-search-label {
        margin: 0 !important;
        padding: 0 !important;
    }

    .site-header .cei-header-search-quick__all {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 7px !important;
        width: 30px !important;
        height: 30px !important;
        padding: 0 !important;
        border: 0;
        border-radius: 5px;
        background: transparent;
        color: #405d71;
        cursor: pointer;
        font: inherit !important;
        font-size: 14px !important;
        font-weight: 750 !important;
        line-height: 1.25 !important;
        text-decoration: none;
        white-space: nowrap !important;
        transition: background-color .18s ease, color .18s ease;
    }

    /* Keep the enlarged close target independent of the heading's row height. */
    .site-header button.cei-header-search-quick__all[data-cei-quick-close] {
        position: absolute !important;
        top: 50% !important;
        right: 0 !important;
        width: 44px !important;
        min-width: 44px !important;
        height: 44px !important;
        min-height: 44px !important;
        border-radius: 7px;
        color: #224a6b;
        transform: translateY(-50%);
    }

    .site-header button.cei-header-search-quick__all[data-cei-quick-close] svg {
        display: block !important;
        width: 16px !important;
        height: 16px !important;
    }

    .site-header .cei-header-search-quick__all:hover,
    .site-header .cei-header-search-quick__all:focus-visible,
    .site-header button.cei-header-search-quick__all[data-cei-quick-close]:hover,
    .site-header button.cei-header-search-quick__all[data-cei-quick-close]:focus-visible {
        background: #e2edf5;
        color: var(--cei-shared-ink-153b5c);
        text-decoration: none;
    }

    .site-header button.cei-header-search-quick__all[data-cei-quick-close]:focus-visible {
        outline: 2px solid #3979b8 !important;
        outline-offset: 2px;
    }

    .site-header .cei-header-publication-grid {
        display: grid !important;
        grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
        gap: 10px !important;
        align-items: stretch !important;
    }

    .site-header .cei-header-publication {
        position: relative !important;
        min-width: 0 !important;
        padding: 14px 14px 13px !important;
        border: 1px solid transparent;
        border-radius: 8px;
        background: var(--cei-shared-ink-fff);
        cursor: default;
        transition: background-color .18s ease, border-color .18s ease;
    }

    .site-header .cei-header-publication + .cei-header-publication::before {
        display: none !important;
    }

    .site-header .cei-header-publication:not(.is-active):hover,
    .site-header .cei-header-publication:not(.is-active):focus-within {
        background: #e2edf5;
        border-color: #c2d6e3;
        box-shadow: none;
        transform: none;
    }

    .site-header .cei-header-publication.is-active {
        background: #e7f1f8;
        border-color: #d0e1ed;
        box-shadow: none;
    }

    .site-header .cei-header-publication.is-active::after {
        content: '' !important;
        position: absolute !important;
        left: 14px !important;
        right: 14px !important;
        bottom: 5px !important;
        height: 2px !important;
        border-radius: 999px;
        background: #246aa5;
    }

    .site-header .cei-header-publication__title {
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        gap: 10px !important;
        min-height: 0 !important;
        margin: 0 !important;
        color: #244768;
        font-size: 14px !important;
        font-weight: 600 !important;
        line-height: 1.25 !important;
        letter-spacing: -.012em;
        text-decoration: none;
    }

    .site-header .cei-header-publication__title-text {
        min-width: 0 !important;
    }

    .site-header .cei-header-publication__title-arrow {
        display: none !important;
    }

    .site-header .cei-header-publication.is-active .cei-header-publication__title,
    .site-header .cei-header-publication.is-active .cei-header-publication__title-text,
    .site-header .cei-header-publication.is-active .cei-header-publication__title span,
    .site-header .cei-header-publication.is-active .cei-header-publication__title-arrow {
        color: #173f62;
        opacity: 1;
        transform: none;
    }

    .site-header .cei-header-publication:not(.is-active):hover .cei-header-publication__title,
    .site-header .cei-header-publication:not(.is-active):focus-within .cei-header-publication__title,
    .site-header .cei-header-publication:not(.is-active):hover .cei-header-publication__title-text,
    .site-header .cei-header-publication:not(.is-active):focus-within .cei-header-publication__title-text {
        color: #0d3656;
    }

    .site-header .cei-header-publication:not(.is-active):hover .cei-header-publication__title-arrow,
    .site-header .cei-header-publication:not(.is-active):focus-within .cei-header-publication__title-arrow {
        color: #0f6f8e;
        opacity: 1;
        transform: none;
    }

    .site-header .cei-header-publication-details {
        margin: 25px 2px 0 !important;
        padding: 15px 14px 2px !important;
        border-top: 2px solid #d7e5ea;
        background: linear-gradient(to bottom, rgba(234, 243, 246, .38), rgba(255, 255, 255, 0) 42px);
    }

    .site-header .cei-header-publication-detail.is-active {
        display: block !important;
        animation: ceiSearchDetailIn .16s ease both;
    }

    .site-header .cei-header-publication-detail .cei-header-publication__countries {
        display: grid !important;
        grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
        column-gap: 28px !important;
        row-gap: 11px !important;
        max-height: none !important;
        margin: 0 !important;
        padding: 0 !important;
        overflow: visible !important;
        opacity: 1;
        visibility: visible !important;
        transform: none;
        transition: none;
    }

    .site-header .cei-header-publication-detail .cei-header-publication__countries a {
        position: relative !important;
        display: block !important;
        min-width: 0 !important;
        margin-left: -8px !important;
        margin-right: -4px !important;
        padding: 9px 24px 9px 10px !important;
        border-radius: 5px;
        color: #344b63;
        font-size: 14px !important;
        font-weight: 600 !important;
        line-height: 1.5 !important;
        text-decoration: none;
        white-space: normal !important;
        transition: background-color .18s ease, color .18s ease;
    }

    .site-header .cei-header-publication-detail .cei-header-publication__countries a::after {
        content: '›' !important;
        position: absolute !important;
        right: 8px !important;
        top: 9px !important;
        color: #a3b2bb;
        font-size: 14px !important;
        opacity: 0;
        transform: none;
        transition: opacity .18s ease, color .18s ease;
    }

    .site-header .cei-header-publication-detail .cei-header-publication__countries a:hover,
    .site-header .cei-header-publication-detail .cei-header-publication__countries a:focus-visible {
        background: #eaf3f9;
        color: #1463a0;
        outline: 0 !important;
    }

    .site-header .cei-header-publication-detail .cei-header-publication__countries a:hover::after,
    .site-header .cei-header-publication-detail .cei-header-publication__countries a:focus-visible::after {
        color: #0f6170;
        opacity: 1;
        transform: translateX(0);
    }

    .site-header .cei-header-publication-detail .cei-header-publication__fallback {
        max-height: none !important;
        margin: 0 !important;
        padding: 0 !important;
        overflow: visible !important;
        opacity: 1;
        visibility: visible !important;
        transform: none;
    }
}

/* At compact desktop widths the full report CTA would overlap the menu.
   Keep the search affordance, and introduce the report CTA once 1280px is
   available and navigation-stable.css reserves its space. */
@media screen and (min-width: 1100px) and (max-width: 1279px) {
    .site-header .cei-header-smart-sample {
        display: none !important;
        visibility: hidden !important;
        pointer-events: none !important;
    }
}

@media screen and (min-width: 1280px) {
    .site-header .header-top .header-top-right > aside.widget-area > .widget-column.header-widget {
        gap: 24px !important;
    }

    .site-header .header-top .header-top-right .header-widget > .widget:not(.widget_themeservicewidget) {
        display: flex !important;
        justify-content: flex-end !important;
        width: 350px !important;
        min-width: 350px !important;
    }

    .site-header .header-top .header-top-right .widget.widget_themeservicewidget .widget-service {
        min-width: 172px !important;
    }

    .site-header .cei-header-smart-tools {
        width: 350px !important;
        min-width: 350px !important;
        gap: 12px !important;
    }

    .site-header .cei-header-smart-search {
        transform: none !important;
    }

}

@media screen and (min-width: 1100px) and (max-width: 1240px) {
    .site-header .cei-header-search-panel {
        width: min(820px, calc(100vw - 36px)) !important;
    }

    .site-header .cei-header-publication {
        padding: 14px 11px 13px !important;
    }


    .site-header .cei-header-publication-detail .cei-header-publication__countries {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        column-gap: 22px !important;
    }
}

@keyframes ceiSearchPanelIn {
    from { opacity: 0; transform: translateY(-4px) scale(.992); }
    to { opacity: 1; transform: translateY(0) scale(1); }
}

@keyframes ceiSearchDetailIn {
    from { opacity: 0; transform: translateY(3px); }
    to { opacity: 1; transform: translateY(0); }
}

@media (prefers-reduced-motion: reduce) {
    .site-header button.cei-header-search-quick__all[data-cei-quick-close] {
        transition: none;
    }
    .site-header .cei-header-smart-search,
    .site-header .cei-header-smart-search__field,
    .site-header .cei-header-search-panel,
    .site-header .cei-header-publication-detail.is-active,
    .site-header .cei-header-search-commands a,
    .site-header .cei-header-publication,
    .site-header .cei-header-publication__title-arrow,
    .site-header .cei-header-publication-detail .cei-header-publication__countries a {
        transition: none;
        animation: none;
        transform: none !important;
    }
}


/* Homepage masthead: slightly larger logo on desktop only.
   Preserve the original image proportions and all smaller-screen sizing. */
@media screen and (min-width: 1100px) {
    body.home .site-header .header-top .logo .custom-logo-link,
    body.home .site-header .header-top .logo {
        max-width: 340px !important;
    }

    body.home .site-header .header-top .logo .custom-logo-link img {
        width: 330px !important;
        max-width: 100% !important;
        height: auto !important;
        max-height: none !important;
        object-fit: contain !important;
    }
}
