/* --- Layout Reset inside block --- */
#customSearchBlock * { box-sizing: border-box; }

/* --- Wrapper & Search Bar --- */
#customSearchBlock #searchWrapper {
  display:flex; flex-direction:column; align-items:center; position:relative;
  max-width:600px; margin:0 auto;
}
#customSearchBlock #searchContainer {
  display:flex; align-items:center; background:#fff; border:1px solid #ddd;
  border-radius:24px; padding:0 14px; width:100%; height:46px; position:relative;
  z-index:20; transition:border-radius .2s ease-in-out;
}
#customSearchBlock #searchWrapper.has-suggestions #searchContainer { border-radius:24px 24px 0 0; }
#customSearchBlock #searchInput {
  flex:1; border:none; outline:none; font-size:16px; background:#fff;
}
#customSearchBlock #searchContainer i.fa-search { color:#999; margin-right:8px; }
#customSearchBlock #searchContainer i.fa-sliders { color:#999; margin-left:8px; cursor:pointer; }

/* --- Filters --- */
#customSearchBlock #filterSection {
  display:none; margin-top:12px; flex-wrap:wrap; justify-content:center;
  max-width:600px; margin-left:auto; margin-right:auto; gap:12px;
}
#customSearchBlock #filterSection select,
#customSearchBlock #filterSection input[type="text"]{
  height:36px; border-radius:9999px; padding:0 16px; font-size:14px; border:1px solid #ccc;
  background:#f9f9f9; min-width:200px; max-width:260px; box-shadow:0 2px 5px rgba(0,0,0,.05);
}

/* --- Search Button --- */
#customSearchBlock #searchBtnWrapper{ display:flex; justify-content:center; margin-top:16px; }
#customSearchBlock #searchBtn{
  display:none; padding:10px 24px; border-radius:9999px; border:none; background:#3452FF; color:#fff;
  font-size:15px; font-weight:500; cursor:pointer; box-shadow:0 2px 5px rgba(0,0,0,.05);
  transition:background .2s ease;
}
#customSearchBlock #searchBtn:hover{ background:#2a44d1; }

/* --- Autocomplete --- */
#customSearchBlock #suggestionBox{
  width:100%; background:#fff; border:1px solid #ddd; border-top:none;
  border-radius:0 0 24px 24px; max-height:240px; overflow-y:auto; z-index:19; display:none;
  position:absolute; top:46px; left:0; right:0;
}
#customSearchBlock .suggestion-item{
  padding:12px 16px; cursor:pointer; font-size:15px; border-bottom:1px solid #f0f0f0; text-align:left;
}
#customSearchBlock .suggestion-item:hover,
#customSearchBlock .suggestion-item.active{ background:#eef2ff; }

/* --- Results --- */
#customSearchBlock #dataGrid{ max-width:600px; margin:24px auto; width:100%; }
#customSearchBlock .result-card{
  background:#fff; border-radius:24px; padding:20px; margin-bottom:16px; box-shadow:0 2px 6px rgba(0,0,0,.06);
  display:flex; flex-direction:column; gap:12px; position:relative;
}
#customSearchBlock .result-content{ display:flex; flex-direction:column; gap:4px; text-align:left; }
#customSearchBlock .result-title{ font-size:18px; font-weight:600; margin:0; }
#customSearchBlock .result-category,
#customSearchBlock .result-location{ font-size:13px; color:#999; margin-top:4px; }
#customSearchBlock .result-desc{ font-size:15px; line-height:1.4; margin:8px 0; }
#customSearchBlock .result-link{ font-size:13px; text-decoration:none; color:#3452FF; font-weight:500; width:fit-content; }
#customSearchBlock .result-link:hover{ text-decoration:underline; }
#customSearchBlock .sponsored-label{
  position:absolute; top:12px; right:20px; background:#3452FF; color:#fff; font-size:12px; padding:6px 12px;
  border-radius:999px; font-weight:500; line-height:1;
}
#customSearchBlock .result-map{ width:100%; height:auto; border-radius:12px; object-fit:cover; margin-top:12px; }
#customSearchBlock #noResults{ text-align:center; color:#888; font-size:14px; margin-top:20px; }

/* --- Load More Button --- */
#customSearchBlock .emdir-loadmore{
  padding:10px 24px; border-radius:9999px; border:none; background:#3452FF; color:#fff;
  font-size:15px; font-weight:500; cursor:pointer; box-shadow:0 2px 5px rgba(0,0,0,.05);
  transition:background .2s ease;
}
#customSearchBlock .emdir-loadmore:hover{ background:#2a44d1; }
