/* AI search plugin — result list and meta. Form and button use the site's
   Bootstrap classes (form-control, btn btn-primary btn-gradient); everything
   here is designed to sit on light and dark module backgrounds alike. */
.aisearch { padding-bottom: 2rem; }
.aisearch__input {
    max-width: 420px;
}
.aisearch__panel {
    max-width: 760px;
}
.aisearch__meta {
    display: flex;
    align-items: center;
    gap: .6rem;
    flex-wrap: wrap;
    justify-content: center;
    width: fit-content;
    margin: 0 auto 1rem;
    padding: .45rem 1rem;
    border-radius: 999px;
    background: #66727f;
    color: #fff;
    font-size: .9rem;
}
.aisearch__badge {
    display: inline-block;
    padding: .15rem .6rem;
    border-radius: 999px;
    font-size: .72rem;
    font-weight: 700;
    letter-spacing: .04em;
    text-transform: uppercase;
}
.aisearch__badge--ai {
    background-image: linear-gradient(90deg, rgba(227, 7, 190, 1) 0%, rgba(217, 69, 91, 1) 50%, rgba(224, 22, 184, 1) 100%);
    color: #fff;
}
.aisearch__badge--fallback {
    background: #f6f7f9;
    color: #66727f;
}
.aisearch__results {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: .75rem;
}
.aisearch__hit {
    background: #fff;
    color: #1c2733;
    border: 1px solid #e4e7eb;
    border-radius: 12px;
    padding: .9rem 1.1rem;
    transition: box-shadow .15s, border-color .15s;
}
.aisearch__hit:hover {
    border-color: #E607C0;
    box-shadow: 0 6px 18px rgba(20, 30, 45, .09);
}
.aisearch__hit-head {
    display: flex;
    align-items: baseline;
    gap: .6rem;
    flex-wrap: wrap;
}
.aisearch__type {
    font-size: .66rem;
    letter-spacing: .06em;
    text-transform: uppercase;
    font-weight: 700;
    color: #E607C0;
}
.aisearch__hit a {
    font-size: 1.1rem;
    font-weight: 650;
    text-decoration: none;
    color: #1c2733;
}
.aisearch__hit a:hover {
    color: #E607C0;
}
.aisearch__uri {
    color: #66727f;
    font-size: .82rem;
}
.aisearch__snippet {
    margin: .35rem 0 0;
    color: #3d4753;
    line-height: 1.5;
}
.aisearch__empty {
    padding: 1.5rem;
    background: #fff;
    border: 1px solid #e4e7eb;
    border-radius: 12px;
    color: #66727f;
    text-align: center;
}
