/* dyoo search page */
.search-shell{
  margin-top:20px;
  padding:18px !important;
}
.search-heading{
  align-items:flex-end;
  display:flex;
  gap:12px;
  justify-content:space-between;
  flex-wrap:wrap;
}
.search-shell .section-title h1{
  font-size:clamp(28px,6vw,54px);
  letter-spacing:-.06em;
  line-height:1.05;
  margin:4px 0 0;
  color:var(--text);
  word-break:break-word;
}
.search-shell .pill-button{
  background:transparent;
  border:1px solid var(--border);
  border-radius:999px;
  color:var(--text-soft)!important;
  min-height:36px;
  padding:0 12px;
  text-decoration:none!important;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font:inherit;
  cursor:pointer;
  white-space:nowrap;
  flex:0 0 auto;
}
.search-shell .pill-button.active,
.search-shell .mode-tabs .active{
  background:var(--accent);
  border-color:transparent;
  color:var(--text-contrast)!important;
}
.group-tabs,
.mode-tabs{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}
.group-button{font-size:13px}
.topic-intro h2,
.topic-intro p{margin:0}
.topic-intro h2{
  font-size:22px;
  margin-top:6px;
  color:var(--text);
}
.topic-intro p{
  line-height:1.75;
  margin-top:10px;
  max-width:820px;
  margin-bottom:0;
  color:var(--text-soft);
}
.topic-stats{
  display:flex;
  flex-wrap:wrap;
  font-size:13px;
  gap:16px;
  margin-top:14px;
}
.search-results{
  display:grid;
  gap:14px;
  margin-top:18px;
}
.search-result{
  border-radius:var(--radius-xl);
  display:grid !important;
  gap:18px;
  grid-template-columns:180px minmax(0,1fr);
  padding:16px !important;
  color:inherit;
  text-decoration:none!important;
  width:100%;
  box-sizing:border-box;
  align-items:start;
}
.search-result:hover{border-color:var(--border-strong)}
.search-result img,
.search-result .search-cover{
  border-radius:var(--radius-xl);
  height:240px;
  width:180px;
  max-width:100%;
  object-fit:cover;
  background:var(--surface-soft);
  display:block;
}
.search-result h3,
.search-result p{margin:0}
.search-result h3{
  color:var(--text);
  font-size:clamp(17px,2.4vw,24px);
  letter-spacing:-.03em;
  line-height:1.35;
}
.search-result p{
  line-height:1.7;
  color:var(--text-soft);
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:4;
  overflow:hidden;
}
.search-result .muted{color:var(--text-muted)!important}
.search-result .stack{min-width:0;gap:10px}
.search-pager{margin:20px 0 40px}

@media (max-width:980px){
  .search-shell{margin-top:14px;padding:14px !important}
  .search-heading{align-items:flex-start;gap:10px}
  .mode-tabs{width:100%}
  .group-tabs{
    flex-wrap:nowrap;
    overflow-x:auto;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
    padding-bottom:2px;
    margin:0 -2px;
  }
  .group-tabs::-webkit-scrollbar{display:none}
  .search-results{margin-top:14px;gap:12px}
}

/* phone: keep poster+copy side by side (usable), closer to denser mobile apps */
@media (max-width:760px){
  .search-shell .section-title h1{font-size:28px}
  .topic-intro h2{font-size:18px}
  .topic-intro p{font-size:13px;line-height:1.65;margin-top:8px}
  .topic-stats{gap:12px;margin-top:10px;font-size:12px}
  .search-result{
    grid-template-columns:92px minmax(0,1fr) !important;
    gap:12px !important;
    padding:12px !important;
    border-radius:var(--radius-lg);
  }
  .search-result img,
  .search-result .search-cover{
    width:92px !important;
    height:130px !important;
    border-radius:12px;
  }
  .search-result h3{font-size:16px !important;line-height:1.35}
  .search-result p{
    font-size:13px;
    -webkit-line-clamp:3;
  }
  .search-result .muted{font-size:12px}
  .search-pager{margin:16px 0 88px}
  .page-shell-main .search-shell,
  .page-shell-main .search-results{
    width:100%;
    max-width:100%;
  }
}

@media (max-width:420px){
  .search-shell{padding:12px !important}
  .search-result{
    grid-template-columns:78px minmax(0,1fr) !important;
    gap:10px !important;
    padding:10px !important;
  }
  .search-result img,
  .search-result .search-cover{
    width:78px !important;
    height:110px !important;
  }
}
