.search-hero{
  padding:5rem 1.5rem 3.5rem;
  background:var(--bg-soft);
  text-align:center;
}
.search-hero-inner{
  max-width:640px;
  margin:0 auto;
}
.search-hero-sub{
  color:var(--ink-500);
  font-size:1.02rem;
  margin:0 auto 2.2rem;
  max-width:480px;
}

.search-bar-wrap{
  position:relative;
  max-width:480px;
  margin:0 auto;
}
.search-bar-icon{
  position:absolute;
  top:50%;left:1.1rem;
  transform:translateY(-50%);
  color:var(--ink-400);
  pointer-events:none;
}
.search-input{
  width:100%;
  padding:0.95rem 1.2rem 0.95rem 2.8rem;
  border-radius:12px;
  border:1px solid var(--line-strong);
  background:#fff;
  color:var(--ink-900);
  font-family:var(--font-body);
  font-size:1rem;
  box-shadow:var(--shadow-sm);
  transition:border-color .18s ease, box-shadow .18s ease;
}
.search-input::placeholder{color:var(--ink-400);}
.search-input:focus{
  outline:none;
  border-color:var(--blue-500);
  box-shadow:0 0 0 3px var(--blue-100);
}
.search-input:disabled{background:var(--bg-panel);color:var(--ink-400);}

.search-meta{
  margin-top:1rem;
  font-family:var(--font-mono);
  font-size:0.78rem;
  letter-spacing:0.06em;
  color:var(--blue-600);
}

.search-results-section{
  max-width:var(--container);
  margin:0 auto;
  padding:3rem 1.5rem 6rem;
}
.search-status{
  text-align:center;
  color:var(--ink-500);
  font-size:0.98rem;
  margin:0 0 1.5rem;
}
.search-status:empty{display:none;}

.search-results-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:1.8rem;
}

.search-card{
  display:flex;
  flex-direction:column;
  background:#fff;
  border:1px solid var(--line);
  border-radius:var(--radius);
  overflow:hidden;
  box-shadow:var(--shadow-sm);
  cursor:pointer;
  transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.search-card:hover{
  transform:translateY(-5px);
  box-shadow:var(--shadow-md);
  border-color:var(--blue-400);
}

.search-card-thumb-wrap{
  aspect-ratio:16/9;
  background:var(--bg-panel);
}
.search-card-thumb{
  width:100%;height:100%;
  object-fit:cover;
}

.search-card-body{
  padding:1.1rem 1.1rem 1.3rem;
  display:flex;
  flex-direction:column;
  gap:0.6rem;
  flex:1;
}
.search-card-title{
  font-size:1.02rem;
  line-height:1.4;
  color:var(--ink-900);
}
.search-card-meta{
  font-size:0.85rem;
  color:var(--blue-600);
  font-weight:500;
}
.search-card-btn{
  margin-top:auto;
  align-self:flex-start;
}

@media (max-width:900px){
  .search-results-grid{grid-template-columns:repeat(2,1fr);}
}

@media (max-width:640px){
  .search-results-grid{grid-template-columns:1fr;}
  .search-hero{padding:4rem 1.4rem 3rem;}
}