/* VST ECS site search - clean modern top-right */
.vst-site-search{
  position:fixed;
  top:22px;
  right:22px;
  left:auto;
  z-index:99999;
  font-family:Arial,"Tahoma",sans-serif;
  color:#0f172a;
}
.vst-site-search *{box-sizing:border-box}
.vst-search-toggle{
  display:flex;
  align-items:center;
  gap:9px;
  min-height:42px;
  background:rgba(255,255,255,.96);
  color:#075985;
  border:1px solid rgba(14,165,233,.26);
  border-radius:999px;
  padding:10px 17px;
  box-shadow:0 10px 30px rgba(15,23,42,.14);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
  font-size:14px;
  font-weight:700;
  line-height:1;
  cursor:pointer;
  transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease,background .18s ease;
}
.vst-search-toggle::before{
  content:"";
  width:16px;
  height:16px;
  display:inline-block;
  background:currentColor;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m20 20-3.5-3.5'/%3E%3C/svg%3E") center/contain no-repeat;
          mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m20 20-3.5-3.5'/%3E%3C/svg%3E") center/contain no-repeat;
}
.vst-search-toggle:hover,.vst-search-toggle:focus{
  transform:translateY(-1px);
  background:#fff;
  border-color:rgba(2,132,199,.45);
  box-shadow:0 14px 36px rgba(15,23,42,.18);
  outline:none;
}
.vst-search-panel{
  display:none;
  width:min(430px,calc(100vw - 36px));
  margin-top:12px;
  margin-left:auto;
  background:rgba(255,255,255,.98);
  border:1px solid rgba(148,163,184,.28);
  border-radius:22px;
  box-shadow:0 22px 60px rgba(15,23,42,.22);
  overflow:hidden;
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
}
.vst-site-search.vst-open .vst-search-panel{display:block;animation:vstSearchIn .18s ease-out}
@keyframes vstSearchIn{from{opacity:0;transform:translateY(-6px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}
.vst-search-head{
  display:flex;
  align-items:center;
  gap:10px;
  padding:14px;
  border-bottom:1px solid rgba(226,232,240,.9);
  background:linear-gradient(180deg,#ffffff 0%,#f8fafc 100%);
}
.vst-search-input{
  flex:1;
  width:100%;
  min-height:44px;
  border:1px solid #dbe4ee;
  border-radius:999px;
  background:#fff;
  padding:11px 16px;
  font-size:14px;
  color:#0f172a;
  box-shadow:inset 0 1px 2px rgba(15,23,42,.04);
}
.vst-search-input::placeholder{color:#94a3b8}
.vst-search-input:focus{
  outline:none;
  border-color:#0ea5e9;
  box-shadow:0 0 0 4px rgba(14,165,233,.14);
}
.vst-search-close{
  flex:0 0 auto;
  width:38px;
  height:38px;
  border:0;
  background:#f1f5f9;
  border-radius:999px;
  cursor:pointer;
  font-size:22px;
  line-height:38px;
  font-weight:400;
  color:#64748b;
  transition:background .18s ease,color .18s ease;
}
.vst-search-close:hover{background:#e2e8f0;color:#0f172a}
.vst-search-results{max-height:60vh;overflow:auto;padding:10px}
.vst-search-results::-webkit-scrollbar{width:8px}.vst-search-results::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:999px}.vst-search-results::-webkit-scrollbar-track{background:transparent}
.vst-search-result{
  display:block;
  text-decoration:none!important;
  color:#0f172a!important;
  border:1px solid transparent;
  border-radius:16px;
  padding:12px 13px;
  margin:4px 0;
  transition:background .16s ease,border-color .16s ease,transform .16s ease;
}
.vst-search-result:hover{
  background:#f0f9ff;
  border-color:#bae6fd;
  transform:translateX(-2px);
}
.vst-search-result-title{display:block;font-size:14px;font-weight:800;line-height:1.35;color:#0369a1}
.vst-search-result-snippet{display:block;font-size:12.5px;line-height:1.5;color:#475569;margin-top:5px}
.vst-search-empty{padding:20px 16px;color:#64748b;font-size:13px;line-height:1.55;text-align:center}
.vst-search-count{font-size:12px;color:#64748b;padding:0 16px 13px;text-align:right}
@media(max-width:767px){
  .vst-site-search{top:14px;right:12px;left:auto}
  .vst-search-toggle{min-height:38px;padding:9px 13px;font-size:13px;box-shadow:0 8px 22px rgba(15,23,42,.16)}
  .vst-search-panel{width:calc(100vw - 24px);border-radius:18px;margin-top:10px}
  .vst-search-head{padding:12px}.vst-search-input{min-height:42px;font-size:13px}
  .vst-search-results{max-height:56vh}
}
