/* ============================================================
 * ESSIKNETWORK — Recherche live, réplique du React SearchModal.tsx
 * Modale centrée max-w-2xl, fond noir flouté, résultats groupés,
 * lignes hover orange, pied ESC + devis.
 * ============================================================ */
.essik-search-overlay { position: fixed; inset: 0; z-index: 200; background: rgba(0,0,0,.6); backdrop-filter: blur(4px); -webkit-backdrop-filter: blur(4px); display: flex; align-items: flex-start; justify-content: center; padding: 10vh 1rem 1rem; }
.essik-search-overlay[hidden] { display: none; }
.essik-search-box { width: 100%; max-width: 42rem; max-height: calc(100dvh - 14vh); display: flex; flex-direction: column; background: #fff; border: 1px solid #e2e8f0; border-radius: 1rem; box-shadow: 0 25px 50px rgba(0,0,0,.3); overflow: hidden; }
html[data-theme="dark"] .essik-search-box, .dark .essik-search-box { background: #12161F; border-color: #1F2633; }
.essik-search-bar { display: flex; align-items: center; gap: .75rem; padding: 1rem 1.25rem; border-bottom: 1px solid #f1f5f9; }
html[data-theme="dark"] .essik-search-bar, .dark .essik-search-bar { border-bottom-color: #1e293b; }
.essik-search-icon { color: #FF5500; display: inline-flex; flex-shrink: 0; }
.essik-search-input { flex: 1; min-width: 0; background: transparent; border: 0; font-size: 1rem; color: #0f172a; }
html[data-theme="dark"] .essik-search-input, .dark .essik-search-input { color: #fff; }
.essik-search-input::placeholder { color: #94a3b8; }
.essik-search-input:focus { outline: none; }
.essik-search-clear { font-size: .72rem; color: #64748b; background: #f1f5f9; border: 0; border-radius: .375rem; padding: .25rem .5rem; cursor: pointer; }
.essik-search-clear:hover { color: #0f172a; }
html[data-theme="dark"] .essik-search-clear, .dark .essik-search-clear { background: #1e293b; color: #cbd5e1; }
.essik-search-clear[hidden] { display: none; }
.essik-search-x { background: transparent; border: 0; border-radius: .5rem; padding: .25rem; color: #94a3b8; cursor: pointer; font-size: 1rem; line-height: 1; }
.essik-search-x:hover { color: #0f172a; }
.essik-search-results { max-height: 60vh; overflow-y: auto; padding: 1rem; display: flex; flex-direction: column; gap: 1.25rem; flex: 1; min-height: 0; }
.essik-search-results:empty { display: none; }
.essik-search-group-label { font-size: .72rem; font-weight: 800; text-transform: uppercase; letter-spacing: .06em; color: #94a3b8; margin-bottom: .5rem; padding: 0 .5rem; }
.essik-search-item { display: flex; align-items: center; justify-content: space-between; gap: .75rem; width: 100%; padding: .75rem; border-radius: .75rem; text-decoration: none; transition: background .2s; }
.essik-search-item:hover { background: rgba(255,247,237,.7); }
html[data-theme="dark"] .essik-search-item:hover, .dark .essik-search-item:hover { background: rgba(30,41,59,.6); }
.essik-search-item-main { display: flex; align-items: center; gap: .75rem; min-width: 0; }
.essik-search-ico { flex-shrink: 0; width: 2rem; height: 2rem; border-radius: .5rem; display: inline-flex; align-items: center; justify-content: center; background: #FFF7ED; color: #FF5500; font-size: .75rem; font-weight: 800; }
.essik-search-ico--slate { background: #f1f5f9; }
html[data-theme="dark"] .essik-search-ico--slate, .dark .essik-search-ico--slate { background: #1e293b; }
html[data-theme="dark"] .essik-search-ico, .dark .essik-search-ico { background: rgba(255,85,0,.15); }
.essik-search-item-title { font-size: .875rem; font-weight: 600; color: #0f172a; transition: color .2s; }
html[data-theme="dark"] .essik-search-item-title, .dark .essik-search-item-title { color: #fff; }
.essik-search-item:hover .essik-search-item-title { color: #FF5500; }
.essik-search-item-desc { font-size: .75rem; color: #64748b; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 26rem; }
.essik-search-go { color: #cbd5e1; flex-shrink: 0; transition: color .2s, transform .2s; }
.essik-search-item:hover .essik-search-go { color: #FF5500; transform: translateX(2px); }
html[dir="rtl"] .essik-search-item:hover .essik-search-go { transform: translateX(-2px); }
.essik-search-badge { font-size: .68rem; font-weight: 500; color: #64748b; background: #f1f5f9; padding: .125rem .5rem; border-radius: 9999px; white-space: nowrap; flex-shrink: 0; }
html[data-theme="dark"] .essik-search-badge, .dark .essik-search-badge { background: #1e293b; color: #cbd5e1; }
.essik-search-empty { text-align: center; padding: 2rem 1rem; color: #94a3b8; font-size: .875rem; }
.essik-search-loading { text-align: center; padding: 1.5rem; color: #94a3b8; font-size: .8rem; }
.essik-search-foot { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: .75rem 1.25rem; background: #f8fafc; border-top: 1px solid #f1f5f9; font-size: .75rem; color: #64748b; }
html[data-theme="dark"] .essik-search-foot, .dark .essik-search-foot { background: rgba(2,6,23,.4); border-top-color: #1e293b; }
.essik-search-quote { color: #FF5500; font-weight: 600; text-decoration: none; display: inline-flex; align-items: center; gap: .25rem; }
.essik-search-quote:hover { text-decoration: underline; }
