/* Mobile search overlay */
.mso { position: fixed; inset: 0; background: rgba(0,0,0,.5); display: none; z-index: 9999; }
.mso.is-open { display: block; }
.mso-panel { position: absolute; inset: 0; background: #fff; display: flex; flex-direction: column; }
.mso-header { display:flex; align-items:center; gap:.5rem; padding:.75rem 1rem; border-bottom:1px solid #eee; justify-content: space-between; margin-bottom: 15px;}
.mso-close { background:none; border:0; font-size:1.25rem; line-height:1; cursor:pointer; position: absolute; top: 28px;
  right: 11px;}
.mso-body { padding: .75rem 1rem 1rem; }
.mso-body .search_input_wrap { position: relative; }
.mso-body #mobileSearch { width: 100%; padding:.75rem 1rem; padding-right: 37px; font-size:1rem; border:1px solid #ddd; border-radius:8px; outline: 0px;}
.mso-body .gs-dropdown { position: static; max-height: calc(100vh - 148px); overflow:auto; border:0; box-shadow:none; }
@media (min-width: 1024px) {
  /* never show the overlay on desktop */
  #mobileSearchOverlay { display: none !important; }
}



/* Search */
.gs-search{
  position: relative;
  width: 100%;
  z-index: 99;
}


.gs-search-input{
  width:100%;
  height: 44px;
  padding-left:44px;
  padding-right:14px;
  border:1px solid var(--border);
  border-radius: 999px;
  font-size:16px;
  outline:none;
}

.gs-search-input:focus{
  box-shadow: 0 0 0 3px rgba(59,130,246,.15);
  border-color:#93c5fd;
}

.gs-search-icon{
  position:absolute;
  left:14px; top:50%;
  transform: translateY(-50%);
  color:#9ca3af;
  font-size: 16px;
}

.gs-search-dropdown{
  position:absolute;
  left:0; right:0;
  top: calc(100% + 8px);
  background:#fff;
  border:1px solid var(--border);
  border-radius: var(--radius);
  box-shadow: var(--shadow);
  z-index: 1055;
  max-height: auto;
  overflow:auto;
  display:none;
}

.gs-section-title{
  font-size:12px;
  font-weight:700;
  color: var(--muted);
  padding:10px 14px 6px;
  text-transform: uppercase;
  letter-spacing:.04em;
}

.gs-item-catg{
  display:flex;
  gap:12px;
  align-items:center;
  padding: 10px 14px;
  cursor:pointer;
  justify-content: inherit !important;
}

.gs-item{
  display:flex;
  justify-content: space-between;
  gap:12px;
  align-items:center;
  padding: 10px 14px;
  cursor:pointer;
}

.gs-item-suggest-search{justify-content: inherit;}

.gs-item:hover,
.gs-item[aria-selected="true"]{
  background:#f3f4f6;
}

.gs-logo{
  width:40px; height:40px; border-radius:5px;
  object-fit:cover; background:#f6f7f9;
  font-size: 22px;
  display:flex;align-items:center;justify-content:center;
  border: solid 1px #ddd;
  padding: 2px;
}

.gs-name{
  font-weight:700; line-height:1.2;
}

.gs-verified{
  color:#10b981; margin-left:8px; font-size:14px;
}

.gs-meta{
  font-size:12px; color: var(--muted); margin-top:2px;
  display:flex; align-items:center; gap:8px; flex-wrap:wrap;
}

.gs-rating{ display:inline-flex; gap:2px; }
.gs-rating i{ font-size:12px; color:#111827; }

.gs-reviewcount{ color:var(--muted); }

.gs-category{ color:var(--muted); }

.gs-chevron{
  color:#9ca3af;
}

.gs-empty{ padding:12px 14px; color:var(--muted); }

.gs-mark{
  background:transparent;
  color:#111827;
  font-weight:800;
}

/* Header layout */
.site-header .container{
  display:flex; align-items:center; gap:16px;
}

.gs-suggest-row{flex: 1; min-width: 0;}
.gs-suggest-row .gs-name{text-overflow: ellipsis; white-space: nowrap; overflow: hidden;}

/* Mobile */
@media (max-width: 640px){
  .gs-search{ max-width: 100%; }
  .gs-search-dropdown{ max-height: 70vh; }
  /*.logo{ display:none; }  keep it clean on phones */
}

#mobileSearchOverlay .mso-body{padding-left: 0px; padding-right: 0px; position: relative;}
.search_input_wrap{padding: 0 10px;}
a.gs-item{color: #212529; text-decoration: none;}

@media (max-width: 767px) {
  .company_name h4{font-size: 14px;}
  .company_name .brad_crum{font-size: 12px;}
  a.gs-item{padding: 10px;}
  a.gs-item .gs-logo{width: 35px; height: 35px;}
  a.gs-item-catg .gs-name{font-size: 14px; }
  a.gs-item-catg .catg_type{font-size: 14px; }

  
}
