/* =========================================================
   知音·乐谱网 —— 全站搜索样式  zysearch.css
   加载位置：
     1) /search/                全站搜索页（表单态 + 结果态，.zy-sch-* / .zy-res-*）
     2) /e/search/result/       帝国搜索结果页兜底（.zy-res-page 里的 <b>/<a title>）
   约定：
     · 独立文件，不并入 zhiyin.css —— 新文件=新 URL，不受浏览器强缓存影响，
       也因此免掉了全站 ?v= 版本号升级链。
     · 所有选择器统一加 .zy-site 前缀（specificity ≥ 0,3,x）。
       zhiyin.css 对 .zy-site 内的表单元素做了全局接管（0,2,x）：
         :575  input/textarea/select { background/color/padding/border-radius … }
         :591  input[type=submit]/input[type=button]/button { background:--brand-grad;color:#fff!important … }
         :588  textarea{min-height:100px}
       单类选择器（0,1,0）必输，所以本文件全部两层前缀起步。
     · zhiyin.css 用 !important 抢过的属性（按钮/输入框的 background、color），
       这里必须同样带 !important —— 双方都带时由 specificity 决胜。
     · 列表卡片直接复用 zhiyin.css 的 .zy-list-item / .zy-li-pic / .zy-li-body /
       .zy-li-title / .zy-li-desc / .zy-li-meta，只在 .zy-res-item 下做微调，
       保证与乐谱列表页、下载列表页视觉一致。
   ========================================================= */

/* =========================================================
   1. 全站搜索页 —— 顶部横幅 + 条件面板  /search/
   ========================================================= */
.zy-site .zy-sch{max-width:980px;margin:26px auto 10px;padding:0 16px;}

.zy-site .zy-sch-hero{
  background:linear-gradient(135deg,#221815 0%,#8a1520 52%,#C30E23 100%);
  border-radius:var(--radius);padding:36px 40px 34px;color:#fff !important;
  position:relative;overflow:hidden;box-shadow:var(--shadow-lg);
  animation:zyRise .7s var(--ease) both;
}
.zy-site .zy-sch-hero::after{
  content:'';position:absolute;right:-80px;top:-100px;width:300px;height:300px;border-radius:50%;
  background:radial-gradient(circle,rgba(255,255,255,.16),transparent 68%);pointer-events:none;
}
.zy-site .zy-sch-hero::before{
  content:'';position:absolute;left:-60px;bottom:-120px;width:240px;height:240px;border-radius:50%;
  background:radial-gradient(circle,rgba(255,255,255,.10),transparent 70%);pointer-events:none;
}
.zy-site .zy-sch-hero h1{
  margin:0 0 10px;font-size:28px;font-weight:800;color:#fff !important;
  letter-spacing:-.01em;position:relative;z-index:1;
}
.zy-site .zy-sch-hero p{
  margin:0 0 22px;font-size:14px;line-height:1.7;
  color:rgba(255,255,255,.8) !important;position:relative;z-index:1;max-width:760px;
}
.zy-site .zy-sch-hero p b{color:#fff !important;font-weight:700;}

/* 关键字输入行 */
.zy-site .zy-sch-kw{display:flex;gap:12px;position:relative;z-index:1;flex-wrap:wrap;}
.zy-site .zy-sch-kw input[type=text]{
  flex:1 1 260px;min-width:0;height:52px;
  background:rgba(255,255,255,.96) !important;color:var(--ink) !important;
  border:0 !important;border-radius:14px !important;
  padding:0 20px !important;font-size:16px !important;
  box-shadow:0 8px 22px rgba(0,0,0,.16);
}
.zy-site .zy-sch-kw input[type=text]::placeholder{color:#9a9aa0;}
.zy-site .zy-sch-kw button{
  flex:0 0 auto;height:52px;padding:0 42px !important;
  background:#fff !important;color:var(--brand) !important;
  border:0 !important;border-radius:14px !important;
  font-size:16px !important;font-weight:800 !important;letter-spacing:.06em;
  cursor:pointer;box-shadow:0 8px 22px rgba(0,0,0,.16);
  transition:transform .25s var(--ease-pop),box-shadow .25s;
}
.zy-site .zy-sch-kw button:hover{transform:translateY(-2px) scale(1.02);box-shadow:0 14px 30px rgba(0,0,0,.22);}

/* 条件面板 */
.zy-site .zy-sch-body{
  background:var(--glass);-webkit-backdrop-filter:saturate(180%) blur(18px);
  backdrop-filter:saturate(180%) blur(18px);
  border:1px solid var(--glass-bd);border-radius:var(--radius);
  padding:30px 34px;margin-top:20px;box-shadow:var(--shadow);
  animation:zyRise .7s .08s var(--ease) both;
}
.zy-site .zy-sch-sec{margin-bottom:26px;}
.zy-site .zy-sch-sec:last-of-type{margin-bottom:0;}
.zy-site .zy-sch-h{
  display:flex;align-items:center;gap:9px;margin:0 0 14px;
  font-size:15px;font-weight:700;color:var(--ink) !important;
}
.zy-site .zy-sch-h::before{
  content:'';flex:0 0 auto;width:4px;height:15px;border-radius:2px;background:var(--brand-grad);
}
.zy-site .zy-sch-h em{font-style:normal;font-size:12px;color:var(--ink-3);font-weight:400;}

/* 单选 chip */
.zy-site .zy-sch-chips{display:flex;flex-wrap:wrap;gap:10px;}
.zy-site .zy-sch-chip{position:relative;display:inline-block;margin:0;}
.zy-site .zy-sch-chip input{position:absolute;left:0;top:0;width:100%;height:100%;opacity:0;margin:0;cursor:pointer;}
.zy-site .zy-sch-chip span{
  display:inline-block;padding:9px 22px;border-radius:999px;
  border:1px solid rgba(31,38,60,.16);background:rgba(255,255,255,.66);
  font-size:14px;color:var(--ink-2);cursor:pointer;user-select:none;
  transition:all .22s var(--ease);
}
.zy-site .zy-sch-chip span:hover{border-color:var(--brand);color:var(--brand);}
.zy-site .zy-sch-chip input:checked+span{
  background:var(--brand-grad) !important;border-color:transparent !important;
  color:#fff !important;font-weight:700;box-shadow:0 6px 16px rgba(195,14,35,.26);
}
.zy-site .zy-sch-chip input:focus+span{box-shadow:0 0 0 3px rgba(195,14,35,.2);}

/* 下拉 / 日期 */
.zy-site .zy-sch-inline{display:flex;align-items:center;gap:12px;flex-wrap:wrap;font-size:14px;color:var(--ink-2);}
.zy-site .zy-sch-inline select{min-width:240px;height:42px;}
.zy-site .zy-sch-inline select.zy-sch-mini{min-width:130px;}
.zy-site .zy-sch-inline input[type=text]{width:158px;height:42px;text-align:center;}
.zy-site .zy-sch-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px 30px;}

/* 底部按钮行 */
.zy-site .zy-sch-foot{
  display:flex;gap:14px;align-items:center;flex-wrap:wrap;
  margin-top:30px;padding-top:22px;border-top:1px solid rgba(31,38,60,.1);
}
.zy-site .zy-sch-foot button{min-width:150px;}
.zy-site .zy-sch-foot button[type=reset]{
  background:rgba(255,255,255,.7) !important;color:var(--ink-2) !important;
  border:1px solid rgba(31,38,60,.16) !important;box-shadow:none;
}
.zy-site .zy-sch-foot button[type=reset]:hover{color:var(--brand) !important;border-color:var(--brand) !important;transform:none;}
.zy-site .zy-sch-tip{margin-left:auto;font-size:12px;color:var(--ink-3);}

/* 热门搜索 */
.zy-site .zy-sch-hot{
  display:flex;align-items:center;gap:10px;flex-wrap:wrap;
  margin-top:18px;padding:0 4px;font-size:13px;color:var(--ink-2);
}
.zy-site .zy-sch-hot-l{font-weight:700;color:var(--ink);}
.zy-site .zy-sch-hot a{
  display:inline-block;padding:4px 14px;border-radius:999px;
  background:rgba(255,255,255,.7);border:1px solid rgba(31,38,60,.14);
  color:var(--ink-2);text-decoration:none;transition:all .2s var(--ease);
}
.zy-site .zy-sch-hot a:hover{background:var(--brand-grad);border-color:transparent;color:#fff;}

/* 搜索说明（表单页底部） */
.zy-site .zy-sch-note{
  margin-top:20px;padding:22px 26px;
  background:var(--glass);border:1px solid var(--glass-bd);border-radius:var(--radius-md);
  box-shadow:var(--shadow);animation:zyRise .7s .16s var(--ease) both;
}
.zy-site .zy-sch-note h3{
  margin:0 0 12px;font-size:15px;color:var(--ink);
  border-bottom:1px dashed rgba(31,38,60,.16);padding-bottom:10px;
}
.zy-site .zy-sch-note ul{margin:0;padding:0;list-style:none;}
.zy-site .zy-sch-note li{
  position:relative;padding-left:18px;margin-bottom:8px;
  font-size:13px;color:var(--ink-2);line-height:1.8;
}
.zy-site .zy-sch-note li::before{
  content:'';position:absolute;left:2px;top:9px;width:6px;height:6px;
  border-radius:50%;background:var(--brand-grad);
}
.zy-site .zy-sch-note li b{color:var(--ink);}
.zy-site .zy-sch-note li a{color:var(--brand);}

/* =========================================================
   2. 搜索结果页 —— 搜索栏 + 统计 + 卡片列表
   ========================================================= */
.zy-site .zy-res-panel{
  background:var(--glass);-webkit-backdrop-filter:saturate(180%) blur(18px);
  backdrop-filter:saturate(180%) blur(18px);
  border:1px solid var(--glass-bd);border-radius:var(--radius);
  padding:22px 26px;margin:22px 0 0;box-shadow:var(--shadow);
  animation:zyRise .7s var(--ease) both;
}
.zy-site .zy-res-form{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin:0;}
.zy-site .zy-res-input{
  flex:1 1 240px;min-width:0;height:46px;
  font-size:15px !important;border-radius:12px !important;
}
.zy-site .zy-res-sel{flex:0 0 auto;height:46px;border-radius:12px !important;min-width:150px;}
.zy-site .zy-res-go{
  flex:0 0 auto;height:46px;padding:0 34px !important;border-radius:12px !important;
}
.zy-site .zy-res-adv{
  flex:0 0 auto;font-size:13px;color:var(--brand) !important;
  text-decoration:none;white-space:nowrap;padding:0 4px;
}
.zy-site .zy-res-adv:hover{text-decoration:underline;}
.zy-site .zy-res-stat{
  margin-top:16px;padding-top:14px;border-top:1px dashed rgba(31,38,60,.16);
  font-size:14px;color:var(--ink-2);line-height:1.8;
}
.zy-site .zy-res-stat strong{color:var(--brand);font-size:18px;margin:0 4px;font-weight:800;}
.zy-site .zy-res-stat em{font-style:normal;color:var(--ink);font-weight:700;}
.zy-site .zy-res-stat .zy-res-split{color:rgba(31,38,60,.28);margin:0 8px;}

/* 结果列表（复用全站列表卡片） */
.zy-site .zy-res-list{margin-top:18px;}
.zy-site .zy-res-item{align-items:flex-start;cursor:default;}
.zy-site .zy-res-item .zy-li-title{margin:0 0 7px;font-size:17px;line-height:1.5;}
.zy-site .zy-res-item .zy-li-desc{margin:0 0 8px;}
.zy-site .zy-res-item .zy-li-desc:empty{display:none;}
.zy-site .zy-res-item .zy-li-meta{display:flex;flex-wrap:wrap;gap:4px 0;align-items:center;}
.zy-site .zy-res-item .zy-li-pic{flex:0 0 128px;width:128px;height:92px;font-size:30px;}

/* 序号徽标 */
.zy-site .zy-res-idx{
  flex:0 0 40px;width:40px;height:40px;border-radius:13px;
  display:flex;align-items:center;justify-content:center;
  background:linear-gradient(135deg,#fdf2f3,#fbe4e7);
  color:var(--brand) !important;font-size:15px;font-weight:800;
  border:1px solid rgba(195,14,35,.14);
}

/* 关键字高亮 */
.zy-site .zy-res-hl{font-style:normal;font-weight:700;color:var(--brand);background:rgba(195,14,35,.08);border-radius:4px;padding:0 2px;}

/* 栏目胶囊 */
.zy-site .zy-res-cat a{
  display:inline-block;padding:2px 10px;border-radius:999px;
  background:#fdf2f3;border:1px solid rgba(195,14,35,.16);
  color:var(--brand) !important;font-size:12px;font-weight:700;
  text-decoration:none;transition:all .2s;
}
.zy-site .zy-res-cat a:hover{background:var(--brand);color:#fff !important;}
.zy-site .zy-res-meta-b{color:var(--brand);font-weight:700;}

/* 空结果 */
.zy-site .zy-res-empty{
  text-align:center;padding:56px 30px;margin-top:18px;
  background:var(--glass);border:2px dashed rgba(31,38,60,.18);
  border-radius:var(--radius);color:var(--ink-2);font-size:15px;line-height:2;
  animation:zyRise .7s var(--ease) both;
}
.zy-site .zy-res-empty b{color:var(--ink);}
.zy-site .zy-res-empty .zy-res-empty-t{font-size:17px;font-weight:700;color:var(--ink);display:block;margin-bottom:6px;}
.zy-site .zy-res-empty a{color:var(--brand);}
/* 提示列表左对齐、整体居中，避免逐行居中产生锯齿感 */
.zy-site .zy-res-empty-tips{max-width:440px;margin:16px auto 0;text-align:left;font-size:14px;color:var(--ink-2);}
.zy-site .zy-res-empty-tips p{margin:0 0 8px;}
.zy-site .zy-res-empty-tips ul{margin:0;padding:0;list-style:none;}
.zy-site .zy-res-empty-tips li{position:relative;padding-left:16px;line-height:2;}
.zy-site .zy-res-empty-tips li::before{
  content:'';position:absolute;left:2px;top:13px;width:5px;height:5px;
  border-radius:50%;background:var(--brand-grad);
}

/* 结果页分页（自渲染） */
.zy-site .zy-res-pager{padding:24px 0 6px;text-align:center;font-size:14px;}
.zy-site .zy-res-pager a,.zy-site .zy-res-pager b,.zy-site .zy-res-pager span{
  display:inline-block;padding:6px 14px;margin:0 3px;border-radius:10px;
  font-size:14px;text-decoration:none;
}
.zy-site .zy-res-pager a{background:var(--glass);border:1px solid var(--glass-bd);color:var(--ink);}
.zy-site .zy-res-pager a:hover{background:#eef1f7;border-color:var(--brand);color:var(--brand);}
.zy-site .zy-res-pager b{background:var(--brand-grad);color:#fff;border:0;font-weight:700;}
.zy-site .zy-res-pager span{color:var(--ink-3);padding:6px 4px;}

/* 帝国 page1() 兜底分页（<a title="记录数"><b>N</b></a> …） */
.zy-site .zy-res-page{padding:24px 0 6px;text-align:center;font-size:14px;}
.zy-site .zy-res-page a{
  display:inline-block;padding:6px 14px;margin:0 3px;border-radius:10px;
  background:var(--glass);border:1px solid var(--glass-bd);color:var(--ink);text-decoration:none;
}
.zy-site .zy-res-page a:hover{border-color:var(--brand);color:var(--brand);}
.zy-site .zy-res-page b{
  display:inline-block;padding:6px 14px;margin:0 3px;border-radius:10px;
  background:var(--brand-grad);color:#fff;font-weight:700;
}
.zy-site .zy-res-page a[title]{background:none !important;border:0 !important;padding:0 8px 0 0;color:var(--ink-3) !important;font-size:13px;}
.zy-site .zy-res-page a[title] b{background:none !important;color:var(--brand) !important;padding:0;font-size:13px;}

/* =========================================================
   3. 小屏适配
   ========================================================= */
@media (max-width:820px){
  .zy-site .zy-sch{padding:0 12px;}
  .zy-site .zy-sch-hero{padding:26px 22px 24px;}
  .zy-site .zy-sch-hero h1{font-size:22px;}
  .zy-site .zy-sch-kw button{width:100%;padding:0 !important;}
  .zy-site .zy-sch-body{padding:22px 20px;}
  .zy-site .zy-sch-grid{grid-template-columns:1fr;}
  .zy-site .zy-sch-inline select{min-width:0;width:100%;}
  .zy-site .zy-sch-inline input[type=text]{width:calc(50% - 34px);}
  .zy-site .zy-sch-foot button{flex:1 1 auto;min-width:0;}
  .zy-site .zy-sch-tip{margin-left:0;width:100%;}
  .zy-site .zy-sch-note{padding:18px 20px;}
  .zy-site .zy-res-panel{padding:18px 16px;}
  .zy-site .zy-res-input{flex:1 1 100%;}
  .zy-site .zy-res-sel,.zy-site .zy-res-go{flex:1 1 auto;min-width:0;}
  .zy-site .zy-res-adv{flex:1 1 100%;text-align:right;}
  .zy-site .zy-res-idx{display:none;}
  .zy-site .zy-res-item .zy-li-pic{display:none;}
}
