@layer ui {
    :root {
        --search-selected-result-background: light-dark(var(--gray-100), var(--gray-900));
    }

    #form-search {
        margin-left: 1%;
        max-width: 98%;
    }

    .search-results-wrapper {
        background: var(--page-background);
        border: 0;
        border-radius: var(--ui-border-radius-md);
        flex: 1;
        overflow: auto;
        margin: 5px 1% 10px;
        padding: 0;
        max-height: 640px;
        max-width: 640px;
        overflow-y: auto;
        overscroll-behavior: contain; /* needed to not scroll the entire page when reaching the end of this element scroll */
        width: 98%;
    }
    @media (min-width: 992px) {
        .search-results-wrapper {
            width: 100%;
        }
    }

    .search-filters {
        align-items: center;
        display: flex;
        flex-wrap: wrap;
        gap: 6px;
        justify-content: space-between;
        margin: 10px 10px 0;
    }
    .search-filter-pills {
        display: flex;
        flex-wrap: wrap;
        gap: 6px;
    }
    .search-filter-pill {
        border-radius: 50rem;
    }
    .search-filter-pill[aria-pressed='true'] {
        --ui-button-bg: var(--ui-button-primary-bg);
        --ui-border-color: var(--ui-button-primary-border-color);
        --ui-button-color: var(--ui-button-primary-color);
    }
    .search-filter-version {
        color: var(--text-muted-color);
        font-size: var(--font-size-sm);
        white-space: nowrap;
    }
    .search-filter-version select {
        background: var(--ui-button-secondary-bg);
        border: 1px solid var(--ui-button-secondary-border-color);
        border-radius: var(--border-radius-md);
        color: var(--ui-button-secondary-color);
        font-size: var(--font-size-sm);
        padding: 2px 4px;
    }

    .search-results p.no-results {
        margin: 15px;
    }
    .search-results p.error {
        color: var(--ui-text-danger-color);
        margin: 15px;
    }

    .search-results .search-results-footer {
        color: var(--ui-text-secondary-color);
        font-size: var(--font-size-sm);
        margin: 10px 15px;
    }
    .search-results-wrapper .search-results-footer a {
        border: 0;
        text-decoration: underline;
    }
    .search-results-wrapper .search-results-footer a:hover {
        border: 0;
        text-decoration: none;
    }

    .search-result {
        border-radius: var(--ui-border-radius-md);
        font-size: 14px;
        margin: 8px 10px;
        padding: 10px 15px;
        position: relative;
    }
    .search-result:hover {
        background: var(--search-selected-result-background);
    }

    .search-result.active {
        background: var(--search-selected-result-background);
        border-radius: var(--ui-border-radius-md);
        outline: 2px solid var(--link-color);
    }

    .search-result a {
        border: 0;
    }
    .search-result cite {
        color: var(--ui-text-secondary-color);
        font-style: normal;
        line-height: var(--line-height-sm);
        text-decoration: none;
    }
    .search-result h3 {
        color: var(--link-color);
        font-size: 18px;
        font-weight: normal;
        margin: 5px 0 3px;
    }
    .search-result .search-result-content {
        margin-bottom: 0;
    }

    .is-bundles-index-page #form-search {
        margin-left: 0;
    }
    .is-bundles-index-page .search-results-wrapper {
        max-height: unset;
        max-width: 920px;
    }
    .is-bundles-index-page .search-results-wrapper .search-result {
        margin: 0;
        padding: 18px 15px;
    }
    @media (min-width: 992px) {
        .is-bundles-index-page .search-results-wrapper {
            margin: -8px 0 20px;
        }
        .is-bundles-index-page .search-results-wrapper .search-result {
            margin: 0 0 8px;
            padding: 10px 15px;
        }
    }

    .is-standalone-search-page .search-results-wrapper {
        margin-top: 15px;
        max-height: unset;
        padding: 0;
    }
    .is-standalone-search-page .search-result h3 {
        font-size: 20px;
    }

    .is-doc-index-page .search-results-wrapper {
        border: 1px solid var(--ui-border-primary-color);
        position: absolute;
        top: 36px;
        z-index: 100;
    }
    .is-doc-index-page .search-result {
        margin-bottom: 16px;
        padding: 5px 10px;
    }
    .is-doc-index-page .search-result h3 {
        font-size: 17px;
    }

    #search-modal-backdrop {
        background: rgba(0, 0, 0, 0.7);
        bottom: 0;
        display: none;
        left: 0;
        outline: 0;
        position: fixed;
        right: 0;
        top: 0;
        z-index: 10000;
    }
    #search-modal-backdrop.is-visible {
        display: block;
    }
    #search-modal-content {
        margin: 15px auto;
        max-width: 640px;
        outline: 0;
    }
    #search-modal-content .form-search-input {
        box-shadow: none;
        border-width: 2px;
    }
    #search-modal-close-button {
        background: transparent;
        border: 0;
        color: var(--gray-200);
        display: block;
        font-weight: bold;
        outline: none;
        margin-left: 1%;
        max-width: 98%;
        padding: 0 0 5px;
        text-align: right;
        width: 100%;
    }
}
