/* legal-search.css: the search box on /terms and /privacy (see legal-search.js). */
.legal-search { position: relative; max-width: 560px; margin-top: 28px; }
.legal-search input {
    width: 100%;
    font: 400 15px/1.4 var(--font);
    color: var(--text-primary);
    background: #161616 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' fill='none' stroke='%23888' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='8' cy='8' r='6'/%3E%3Cpath d='m12.5 12.5 4 4'/%3E%3C/svg%3E") no-repeat 16px 50%;
    border: 1px solid var(--divider);
    border-radius: 14px;
    padding: 13px 16px 13px 46px;
    outline: none;
    transition: border-color 0.2s, background-color 0.2s;
    -webkit-appearance: none;
    appearance: none;
}
.legal-search input::placeholder { color: var(--text-tertiary); }
.legal-search input:focus { border-color: #73A6F2; background-color: #1a1a1a; }
.legal-search input::-webkit-search-cancel-button { filter: invert(0.6); cursor: pointer; }
.legal-search-results {
    position: absolute;
    z-index: 50;
    top: calc(100% + 8px);
    left: 0;
    right: 0;
    max-height: min(60vh, 520px);
    overflow-y: auto;
    background: #141414;
    border: 1px solid var(--divider);
    border-radius: 14px;
    padding: 6px;
    box-shadow: 0 18px 50px rgba(0, 0, 0, 0.55);
}
.legal-search-results .ls-doc {
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--text-tertiary);
    padding: 10px 12px 4px;
}
.legal-search-results .ls-row {
    display: block;
    padding: 10px 12px;
    border-radius: 10px;
    text-decoration: none;
    color: var(--text-secondary);
}
.legal-search-results .ls-row:hover,
.legal-search-results .ls-row.active { background: #222; }
.legal-search-results .ls-head { display: block; font-size: 14px; font-weight: 600; color: var(--text-primary); }
.legal-search-results .ls-snip { display: block; font-size: 13px; line-height: 1.5; margin-top: 3px; }
.legal-search-results .ls-empty { font-size: 14px; color: var(--text-tertiary); padding: 12px; }
.legal-search-results mark,
.legal-body mark.ls-hit {
    background: rgba(115, 166, 242, 0.28);
    color: inherit;
    border-radius: 3px;
    padding: 0 1px;
}
@media (max-width: 768px) {
    .legal-search { max-width: none; margin-top: 22px; }
    .legal-search input { font-size: 16px; } /* no iOS zoom on focus */
}
