/* サジェストコンテナの共通スタイル（-suggest-container と .suggest-results の両方に対応） */
[id$="-suggest-container"],
.suggest-results {
    background-color: transparent;
    border: none;
    box-shadow: none;
}
[id$="-suggest-container"]:not(:empty),
.suggest-results:not(:empty) {
    background-color: white;
    border: 1px solid #ddd;
    box-shadow: 0 2px 6px rgba(0,0,0,0.12);
    max-height: 400px;
    overflow-y: auto;
    position: absolute;
    z-index: 2000;
}
/* 詳細画面では虫眼鏡ボタンを非表示、入力欄の右角も元に戻す */
.is-detail .lookup-icon-btn {
    display: none !important;
}
.is-detail div:has(> input + .lookup-icon-btn) > input {
    border-top-right-radius: var(--bs-border-radius-sm) !important;
    border-bottom-right-radius: var(--bs-border-radius-sm) !important;
}
.is-detail div:has(> input + .lookup-icon-btn) {
    gap: revert !important;
}

/* ── 虫眼鏡ボタン：コード入力欄と一体化 ── */

/* コンテナのギャップをなくす */
div:has(> input + .lookup-icon-btn) {
    gap: 0 !important;
}

/* 直前の入力欄：右角を丸めない */
div:has(> input + .lookup-icon-btn) > input {
    border-top-right-radius: 0 !important;
    border-bottom-right-radius: 0 !important;
}

/* 虫眼鏡ボタン本体 */
.lookup-icon-btn {
    border-top-left-radius: 0 !important;
    border-bottom-left-radius: 0 !important;
    border-color: #dee2e6 !important;
    margin-left: -1px;
    position: relative;
    z-index: 1;
    background-color: #fff;
    color: #6c757d;
    padding-left: 0.35rem;
    padding-right: 0.35rem;
}

.lookup-icon-btn:hover {
    background-color: #f8f9fa;
    border-color: #dee2e6 !important;
    color: #343a40;
}

/* 入力欄フォーカス時はボタンの左ボーダーも青色に揃える */
div:has(> input:focus + .lookup-icon-btn) > .lookup-icon-btn {
    border-left-color: #86b7fe !important;
}

/* 内部要素の重複スクロール防止 */
[id$="-suggest-container"] > div,
[id$="-suggest-container"] > ul,
.suggest-results > div,
.suggest-results > ul {
    max-height: none !important;
    overflow: visible !important;
}