/* Search dialog V48: explicit header, visible close control and stable responsive layout. */
.search-overlay{
  padding:max(28px,7vh) 20px 24px;
  align-items:flex-start;
  background:rgba(23,23,20,.42);
  backdrop-filter:blur(12px);
}
.search-panel{
  width:min(820px,calc(100% - 24px));
  max-height:min(760px,calc(100dvh - 56px));
  margin:0 auto;
  padding:0;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.86);
  border-radius:28px;
  background:rgba(255,255,255,.96);
  box-shadow:0 34px 100px rgba(23,23,20,.25);
}
.search-panel-header{
  min-height:74px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  padding:14px 16px 14px 22px;
  border-bottom:1px solid var(--border);
}
.search-panel-header h2{
  margin:0;
  color:var(--ink);
  font-size:20px;
  line-height:1.4;
}
.search-close{
  min-height:46px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  flex:0 0 auto;
  padding:0 13px;
  border:1px solid rgba(23,23,20,.1);
  border-radius:15px;
  background:var(--ink);
  color:#fff;
  font:inherit;
  font-size:13px;
  font-weight:800;
  cursor:pointer;
  transition:transform .18s ease,background-color .18s ease,box-shadow .18s ease;
}
.search-close:hover{
  transform:translateY(-1px);
  background:#2a2a27;
  box-shadow:0 10px 24px rgba(23,23,20,.16);
}
.search-close:focus-visible{
  outline:3px solid rgba(241,209,19,.65);
  outline-offset:3px;
}
.search-close svg{flex:0 0 auto}
.search-close kbd{
  padding:2px 6px;
  border:1px solid rgba(255,255,255,.3);
  border-bottom-width:2px;
  border-radius:6px;
  background:rgba(255,255,255,.1);
  color:rgba(255,255,255,.82);
  font:inherit;
  font-size:10px;
  font-weight:700;
  direction:ltr;
}
.search-row{
  display:block;
  padding:18px 18px 12px;
  border:0;
}
.search-input{
  width:100%;
  min-height:58px;
  padding:14px 18px;
  border:1px solid var(--border);
  border-radius:17px;
  background:#fff;
  color:var(--ink);
  font-size:17px;
  box-shadow:inset 0 1px 0 rgba(23,23,20,.02);
}
.search-input:focus{
  border-color:rgba(129,82,153,.48);
  box-shadow:0 0 0 4px rgba(129,82,153,.1);
}
.search-status{
  min-height:25px;
  padding:0 20px;
}
.search-results{
  max-height:calc(min(760px,100dvh - 56px) - 175px);
  margin:0;
  padding:0 18px 18px;
  overflow:auto;
  overscroll-behavior:contain;
}
.search-results .empty-state{margin-top:0}

@media(max-width:680px){
  .search-overlay{padding:10px;align-items:flex-start}
  .search-panel{
    width:100%;
    max-height:calc(100dvh - 20px);
    border-radius:22px;
  }
  .search-panel-header{min-height:64px;padding:10px 10px 10px 16px}
  .search-panel-header h2{font-size:17px}
  .search-close{width:44px;min-height:44px;padding:0;border-radius:14px}
  .search-close span,.search-close kbd{display:none}
  .search-row{padding:14px 12px 10px}
  .search-input{min-height:54px;padding:12px 14px;font-size:15px}
  .search-status{padding-inline:14px}
  .search-results{
    max-height:calc(100dvh - 170px);
    padding:0 12px 14px;
  }
}
