/* GeoDirectory Live Search - Optimized  v2.3.1
   Design ported from v2.0. Pure CSS: no data-URIs, no emoji (safe for WP CSS editors). */

.gd-search-wrapper{position:relative;max-width:100%;margin:0 auto;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif}
.gd-search-wrapper input.gd-search-input{width:100%;box-sizing:border-box;padding:16px 20px 16px 52px;border:2px solid #e2e8f0;border-radius:12px;font-size:15px;color:#0f172a;background:#fff;transition:all .3s;box-shadow:0 1px 3px rgba(0,0,0,.08)}
.gd-search-wrapper input.gd-search-input::placeholder{color:#64748b;opacity:1}
.gd-search-wrapper input.gd-search-input:focus{outline:0;border-color:#6366f1;box-shadow:0 0 0 4px rgba(99,102,241,.1),0 4px 12px rgba(0,0,0,.1)}

/* magnifier drawn with pseudo-elements */
.gd-search-wrapper::before{content:'';position:absolute;left:20px;top:50%;transform:translateY(-50%);width:18px;height:18px;border:2px solid #94a3b8;border-radius:50%;box-sizing:border-box;pointer-events:none;z-index:1}
.gd-search-wrapper::after{content:'';position:absolute;left:33px;top:50%;transform:translateY(-50%) rotate(45deg);width:2px;height:8px;background:#94a3b8;pointer-events:none;z-index:1}

/* dropdown */
.gd-results{position:absolute;top:calc(100% + 8px);left:0;right:0;background:#fff;border-radius:12px;box-shadow:0 20px 60px rgba(0,0,0,.15);z-index:10000;display:none;overflow:hidden;max-height:520px;overflow-y:auto;text-align:left}
.gd-results.is-open{display:block;animation:gdSlideDown .3s}
.gd-results.horizontal{left:50%;right:auto;width:100%;max-width:1200px;transform:translateX(-50%)}
.gd-results.horizontal.is-open{display:grid;grid-template-columns:repeat(3,1fr);gap:0}
@keyframes gdSlideDown{from{opacity:0;margin-top:-12px}to{opacity:1;margin-top:0}}

.gd-group{padding:0;border-bottom:1px solid #f1f5f9;min-width:0}
.gd-group:last-child{border-bottom:0}
.horizontal .gd-group{border-right:1px solid #f1f5f9;border-bottom:0}
.horizontal .gd-group:last-child{border-right:0}

.gd-group-title{padding:14px 20px 12px;font-size:11px;font-weight:700;color:#1e293b;text-transform:uppercase;letter-spacing:.8px;background:linear-gradient(to bottom,#f8fafc,#f1f5f9);border-bottom:2px solid #e2e8f0;position:sticky;top:0;z-index:10}
.gd-group-title::before{content:'';display:inline-block;width:3px;height:14px;background:linear-gradient(135deg,#6366f1,#8b5cf6);margin-right:10px;border-radius:3px;vertical-align:middle}

.gd-list{list-style:none;margin:0;padding:6px 0}
.horizontal .gd-list{max-height:400px;overflow-y:auto}

.gd-item{padding:12px 16px;transition:all .2s;border-bottom:1px solid #f8fafc;display:flex;align-items:center;gap:14px;position:relative;cursor:pointer;margin:0}
.gd-item:last-child{border-bottom:0}
.gd-item::before{content:'';position:absolute;left:0;top:0;bottom:0;width:3px;background:linear-gradient(135deg,#6366f1,#8b5cf6);transform:scaleY(0);transition:transform .3s}
.gd-item:hover,.gd-item.gd-active{background:linear-gradient(90deg,#f8fafc,#fff);padding-left:20px}
.gd-item:hover::before,.gd-item.gd-active::before{transform:scaleY(1)}

.gd-thumb{flex-shrink:0;width:56px;height:56px;border-radius:8px;overflow:hidden;background:#f1f5f9;position:relative;box-shadow:0 2px 8px rgba(0,0,0,.08)}
.gd-thumb img{width:100%;height:100%;object-fit:cover;transition:transform .4s;display:block}
.gd-item:hover .gd-thumb img{transform:scale(1.1)}
.gd-thumb.placeholder{background:linear-gradient(135deg,#667eea,#764ba2)}
.gd-thumb.placeholder::after{content:'';position:absolute;inset:0;margin:auto;width:22px;height:16px;border:2px solid rgba(255,255,255,.7);border-radius:3px;box-sizing:border-box}

.gd-content{flex:1;min-width:0;text-align:left;display:flex;flex-direction:column;gap:4px}
.gd-category{align-self:flex-start;display:inline-flex;font-size:10px;font-weight:700;color:#4338ca;padding:3px 8px;background:#e0e7ff;border-radius:5px;line-height:1.3;text-decoration:none;transition:all .2s;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.gd-category:hover{background:#4f46e5;color:#fff;transform:translateY(-1px);box-shadow:0 2px 6px rgba(99,102,241,.3)}
.gd-title{font-size:14px;font-weight:600;color:#0f172a;text-decoration:none;line-height:1.5;transition:color .2s;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.gd-item:hover .gd-title,.gd-item.gd-active .gd-title{color:#4f46e5}
.gd-sub{font-size:12px;line-height:1.3;color:#334155;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.gd-meta{display:flex;align-items:center;gap:8px;margin-top:2px;min-width:0}
.gd-price{font-size:13px;font-weight:700;color:#eb853a;white-space:nowrap}
.gd-city{font-size:12px;color:#475569;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

.gd-view-all{display:block;padding:12px 20px;font-size:12px;font-weight:700;color:#4338ca;text-decoration:none;background:#f8fafc;border-top:1px solid #e2e8f0;transition:background .2s,color .2s}
.gd-view-all::after{content:'\2192';display:inline-block;margin-left:6px;transition:transform .2s}
.gd-view-all:hover{background:#eef2ff;color:#312e81}
.gd-view-all:hover::after{transform:translateX(3px)}
.gd-group{display:flex;flex-direction:column}
.gd-group .gd-list{flex:1}

.gd-loading{padding:20px;text-align:center;color:#334155;font-size:14px;grid-column:1/-1}
.gd-no-results{padding:40px 20px;text-align:center;color:#334155;font-size:14px;grid-column:1/-1}

.gd-results::-webkit-scrollbar,.gd-list::-webkit-scrollbar{width:6px}
.gd-results::-webkit-scrollbar-track,.gd-list::-webkit-scrollbar-track{background:#f8fafc}
.gd-results::-webkit-scrollbar-thumb,.gd-list::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:3px}

/* Arabic / RTL */
html[dir="rtl"] .gd-search-wrapper input.gd-search-input{padding:16px 52px 16px 20px}
html[dir="rtl"] .gd-search-wrapper::before{left:auto;right:20px}
html[dir="rtl"] .gd-search-wrapper::after{left:auto;right:33px}
html[dir="rtl"] .gd-results,html[dir="rtl"] .gd-content{text-align:right}
html[dir="rtl"] .gd-group-title::before{margin-right:0;margin-left:10px}
html[dir="rtl"] .gd-item::before{left:auto;right:0}
html[dir="rtl"] .gd-view-all::after{content:'\2190';margin-left:0;margin-right:6px}
html[dir="rtl"] .gd-view-all:hover::after{transform:translateX(-3px)}
html[dir="rtl"] .gd-item:hover,html[dir="rtl"] .gd-item.gd-active{padding-left:16px;padding-right:20px}
html[dir="rtl"] .horizontal .gd-group{border-right:0;border-left:1px solid #f1f5f9}
html[dir="rtl"] .horizontal .gd-group:last-child{border-left:0}

@media(max-width:768px){
  .gd-results.horizontal{left:0;right:0;width:auto;max-width:100%;transform:none}
  .gd-results.horizontal.is-open{grid-template-columns:1fr}
  .horizontal .gd-group{border-right:0;border-bottom:1px solid #f1f5f9}
  .gd-thumb{width:48px;height:48px}
  .gd-search-wrapper input.gd-search-input{padding:14px 18px 14px 48px;font-size:16px}
  html[dir="rtl"] .gd-search-wrapper input.gd-search-input{padding:14px 48px 14px 18px}
}
