/* ============================================================
   中文站专属：全站搜索框 + 下载留资表单
   配色沿用 style.css 的 :root 变量
   ============================================================ */

/* SECTION: 搜索区 */
.search-sec{background:linear-gradient(135deg,var(--deep) 0%,var(--deep2) 52%,#12525c 100%);padding:2.2rem 0 2.4rem;position:relative;overflow:hidden}
.search-sec::before{content:"";position:absolute;inset:0;background:radial-gradient(46% 70% at 88% 12%,rgba(242,169,0,.16),transparent 68%),radial-gradient(40% 60% at 8% 90%,rgba(18,147,159,.28),transparent 70%);pointer-events:none}
.search-sec .wrap{position:relative}
.search-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:.5rem 1rem;margin-bottom:.9rem}
.search-head h2{color:#fff;font-size:clamp(1.15rem,2.2vw,1.5rem);margin:0}
.search-head p{color:#a9cfcd;font-size:.85rem}
.ss{position:relative;max-width:820px}
.ss-bar{display:flex;align-items:center;gap:.6rem;background:#fff;border-radius:14px;padding:.5rem .6rem .5rem 1rem;box-shadow:0 16px 40px rgba(0,0,0,.28);border:2px solid transparent;transition:border-color .2s,box-shadow .2s}
.ss-bar:focus-within{border-color:var(--amber);box-shadow:0 18px 46px rgba(0,0,0,.34)}
.ss-ico{flex:none;width:20px;height:20px;color:var(--teal)}
.ss-bar input{flex:1;min-width:0;border:none;outline:none;background:transparent;font-size:16px;font-family:inherit;color:var(--ink);padding:.55rem 0}
.ss-bar input::placeholder{color:#8fa3a8}
.ss-clear{flex:none;display:none;align-items:center;justify-content:center;width:30px;height:30px;border:none;border-radius:50%;background:var(--foam);color:var(--steel);font-size:.85rem;cursor:pointer}
.ss-clear:hover{background:#e2ecea;color:var(--red)}
.ss-btn{flex:none}
.ss-hot{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem;margin-top:.75rem;font-size:.78rem;color:#9fc6c4}
.ss-hot button{border:1px solid rgba(255,255,255,.26);background:rgba(255,255,255,.08);color:#dcecea;border-radius:999px;padding:.28rem .7rem;font-size:.76rem;font-weight:600;font-family:inherit;cursor:pointer;transition:all .18s;min-height:30px}
.ss-hot button:hover{background:var(--amber);border-color:var(--amber);color:var(--deep)}
.ss-panel{position:absolute;z-index:70;top:calc(100% + 8px);left:0;right:0;background:#fff;border-radius:14px;border:1.5px solid var(--teal);box-shadow:0 24px 60px rgba(4,26,33,.3);max-height:min(460px,60vh);overflow-y:auto;display:none;scrollbar-width:thin;scrollbar-color:var(--teal) #eef3f2}
.ss-panel.show{display:block;animation:ssIn .18s ease both}
@keyframes ssIn{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
.ss-panel::-webkit-scrollbar{width:10px}
.ss-panel::-webkit-scrollbar-track{background:#eef3f2}
.ss-panel::-webkit-scrollbar-thumb{background:var(--teal);border-radius:8px;border:2px solid #eef3f2}
.ss-panel::-webkit-scrollbar-thumb:hover{background:var(--red)}
.sp-count{font-size:.72rem;font-weight:800;letter-spacing:.1em;color:var(--steel);padding:.7rem 1rem .4rem}
.sp-hint,.sp-empty{padding:1rem 1.1rem;font-size:.86rem;color:var(--steel)}
.sp-empty b{display:block;color:var(--deep2);font-size:.95rem;margin-bottom:.35rem}
.sp-empty p{margin-bottom:.8rem}
.sp-item{display:flex;align-items:center;gap:.8rem;padding:.7rem 1rem;border-top:1px solid var(--line);transition:background .15s}
.sp-item:hover,.sp-item.on{background:#eef5f4}
.sp-cat{flex:none;font-size:.66rem;font-weight:800;color:#fff;background:var(--teal);border-radius:6px;padding:.22rem .5rem;white-space:nowrap}
.sp-main{flex:1;min-width:0}
.sp-main b{display:block;font-size:.92rem;color:var(--deep2);line-height:1.35}
.sp-main span{display:block;font-size:.78rem;color:var(--steel);margin-top:.15rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sp-main mark{background:rgba(242,169,0,.34);color:inherit;border-radius:3px;padding:0 2px}
.sp-go{flex:none;color:var(--teal);font-weight:800}
.sp-foot{padding:.75rem 1rem;border-top:1px solid var(--line);background:var(--foam);font-size:.78rem;color:var(--steel)}
.sp-foot a{color:var(--teal);font-weight:700}
.sp-foot a:hover{color:var(--red)}

/* SECTION: 下载留资 */
.dl-gate{background:#fff;border:1px solid var(--line);border-radius:18px;padding:clamp(1.2rem,3vw,1.9rem);box-shadow:0 10px 30px rgba(6,42,51,.08);position:relative;overflow:hidden;margin-top:1.6rem}
.dl-gate::before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--red),var(--amber) 48%,var(--teal-bright))}
.dl-gate h3{font-size:1.2rem;font-weight:800;margin-bottom:.35rem}
.dl-gate .dl-lead{font-size:.88rem;color:var(--steel);margin-bottom:1.1rem;max-width:70ch}
.dl-picked{display:flex;flex-wrap:wrap;gap:.45rem;align-items:center;padding:.8rem .9rem;background:var(--foam);border:1.5px dashed var(--line);border-radius:12px;margin-bottom:1.1rem;min-height:56px}
.dl-none{font-size:.83rem;color:var(--steel)}
.dl-chip{display:inline-flex;align-items:center;gap:.4rem;background:var(--deep2);color:#fff;border-radius:999px;padding:.32rem .5rem .32rem .8rem;font-size:.78rem;font-weight:700}
.dl-chip button{border:none;background:rgba(255,255,255,.2);color:#fff;width:20px;height:20px;border-radius:50%;font-size:.68rem;cursor:pointer;display:flex;align-items:center;justify-content:center}
.dl-chip button:hover{background:var(--red)}
.dl-pick-err{display:none;font-size:.78rem;color:var(--red);margin:-.6rem 0 .8rem}
.dl-fields .frow{display:grid;grid-template-columns:1fr 1fr;gap:.9rem}
.dl-consent{display:flex;gap:.55rem;align-items:flex-start;font-size:.78rem;color:var(--steel);margin:.2rem 0 1rem;line-height:1.55}
.dl-consent input{width:18px;height:18px;accent-color:var(--teal);margin-top:.1rem;flex:none}
.dl-submit-row{display:flex;flex-wrap:wrap;gap:.8rem;align-items:center}
.dl-submit-row .btn{min-width:190px}
.dl-submit-row .btn:disabled{opacity:.45;cursor:not-allowed;transform:none;box-shadow:none}
.dl-secure{font-size:.76rem;color:var(--steel);display:flex;align-items:center;gap:.4rem}
.dl-ok{display:none;margin-top:.4rem}
.dl-ok.show{display:block;animation:ssIn .3s ease both}
.dl-ok-inner{border:1.5px solid rgba(28,124,79,.4);background:linear-gradient(135deg,rgba(28,124,79,.09),#fff);border-radius:14px;padding:1.2rem 1.3rem}
.dl-ok-inner b{display:block;color:var(--ok);font-size:1.05rem;margin-bottom:.6rem}
.dl-ok-inner p{font-size:.87rem;color:#26424b;margin-bottom:.4rem}
.dl-tip{font-size:.8rem;color:var(--steel);margin-top:.7rem;padding-top:.7rem;border-top:1px dashed var(--line)}
.dl-tip a{color:var(--teal);font-weight:700}
.dl-ok-act{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:1rem}
.dl-card .btn[data-dl]{background:#fff;color:var(--teal);border:1.5px solid var(--teal);box-shadow:none}
.dl-card .btn[data-dl]:hover{background:var(--teal);color:#fff}
.dl-card .btn[data-dl].on{background:var(--red);border-color:var(--red);color:#fff}
.dl-note{margin-top:1.2rem;font-size:.8rem;color:var(--steel);background:var(--foam);border:1px solid var(--line);border-radius:12px;padding:.9rem 1rem}

/* SECTION: 资料卡纵向布局（覆盖基础样式的横向排列） */
#dlGrid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}
#dlGrid .dl-card{flex-direction:column;align-items:stretch;gap:.7rem;padding:1.1rem 1.15rem 1.15rem}
#dlGrid .dl-card>div{flex:1}
#dlGrid .dl-card b{font-size:1rem;line-height:1.4}
#dlGrid .dl-card span{font-size:.78rem;line-height:1.5;margin-top:.3rem}
#dlGrid .dl-card .dl-ico{display:flex;align-items:center;justify-content:center;width:46px;height:46px;margin:0;font-size:.74rem;line-height:1;letter-spacing:.04em;text-align:center;border-radius:12px;box-shadow:0 6px 16px rgba(200,16,46,.28)}
#dlGrid .dl-card .btn{width:100%;justify-content:center}

@media (max-width:640px){
  .ss-bar{flex-wrap:wrap;padding:.6rem}
  .ss-bar input{width:100%;flex:1 1 100%;order:2;padding:.4rem .2rem}
  .ss-ico{order:1}
  .ss-clear{order:1;margin-left:auto}
  .ss-btn{order:3;width:100%}
  .dl-fields .frow{grid-template-columns:1fr}
  .dl-submit-row .btn{width:100%}
  .sp-main span{white-space:normal}
}
/* SECTION: search panel always fits inside the viewport */
.ss-panel{max-height:min(420px,calc(100vh - 260px))}
@media (max-width:640px){.ss-panel{max-height:min(360px,calc(100vh - 220px))}}
