/* ==================================================================
   商铺街 /shops（独立板块，前缀 shp-，不挂靠商城页面）
   ================================================================== */

.shp-hero{background:linear-gradient(120deg,#fff4ea,#fff 62%);border-bottom:1px solid var(--line)}
.shp-hero-in{display:flex;align-items:center;gap:26px;flex-wrap:wrap;padding:34px 0 26px}
.shp-hero-txt h1{font-size:26px;letter-spacing:1px}
.shp-hero-txt p{margin-top:4px;color:#8a92a0;font-size:13px}
.shp-search{display:flex;max-width:400px;flex:1;min-width:230px}
.shp-search input{flex:1;border:2px solid var(--primary);border-right:0;border-radius:8px 0 0 8px;padding:9px 14px;font-size:14px;outline:0;background:#fff}
.shp-search button{border:0;background:var(--primary);color:#fff;padding:0 22px;border-radius:0 8px 8px 0;font-size:14px;cursor:pointer}
.shp-search button:hover{background:var(--primary-dark)}
.shp-apply{margin-left:auto;font-size:13px;color:var(--primary);border:1px dashed var(--primary);border-radius:18px;padding:8px 16px;white-space:nowrap;transition:.15s}
.shp-apply:hover{background:var(--primary-light)}

/* 优选店铺 */
.shp-featured-wrap{margin-top:22px}
.shp-sec-head{display:flex;align-items:baseline;gap:10px;margin-bottom:12px}
.shp-sec-head h2{font-size:17px}
.shp-sec-head span{font-size:12px;color:#9aa1ac}
.shp-featured{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.shp-feat{position:relative;display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:14px;padding:14px;text-decoration:none;color:inherit;transition:.18s;overflow:hidden}
.shp-feat:hover{box-shadow:0 10px 26px rgba(30,40,60,.10);transform:translateY(-2px)}
.shp-feat-banner{height:74px;border-radius:9px;background:linear-gradient(120deg,var(--primary-light),#fff);margin:-14px -14px 8px;overflow:hidden}
.shp-feat-banner img{width:100%;height:100%;object-fit:cover;display:block}
.shp-feat-logo{width:46px;height:46px;border-radius:11px;border:2px solid #fff;object-fit:cover;background:#fff;box-shadow:0 3px 10px rgba(30,40,60,.14);margin-top:-26px;position:relative}
.shp-feat-name{display:block;margin-top:8px;font-size:15px;color:#23282e;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.shp-feat-desc{margin-top:4px;font-size:12.5px;color:#8a92a0;line-height:1.6;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:20px}
.shp-feat-meta{margin-top:8px;font-size:12px;color:#9aa1ac}
.shp-feat-meta i{font-style:normal;color:var(--primary);font-weight:700}
.shp-feat-btn{margin-top:10px;text-align:center;border:1px solid var(--primary);color:var(--primary);border-radius:18px;font-size:12.5px;padding:6px 0;transition:.15s}
.shp-feat:hover .shp-feat-btn{background:var(--primary);color:#fff}

/* 全部店铺 */
.shp-main{margin-top:26px;padding-bottom:40px}
.shp-toolbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:14px}
.shp-toolbar h2{font-size:17px}
.shp-toolbar h2 i{font-style:normal;font-size:12px;color:#9aa1ac;font-weight:400;margin-left:6px}
.shp-sorts{margin-left:auto;display:flex;gap:8px}
.shp-sort{font-size:13px;color:#5a626b;background:#fff;border:1px solid var(--line);border-radius:16px;padding:6px 14px;text-decoration:none;transition:.15s}
.shp-sort:hover{color:var(--primary);border-color:var(--primary)}
.shp-sort.on{background:var(--primary);border-color:var(--primary);color:#fff;font-weight:600}

.shp-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.shp-card{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:14px;text-decoration:none;color:inherit;transition:.18s;overflow:hidden}
.shp-card:hover{box-shadow:0 10px 26px rgba(30,40,60,.10);transform:translateY(-2px)}
.shp-banner{height:96px;background:linear-gradient(120deg,var(--primary-light),#fff)}
.shp-banner img{width:100%;height:100%;object-fit:cover;display:block}
.shp-body{display:flex;flex-direction:column;flex:1;padding:12px 14px 14px}
.shp-logo{width:44px;height:44px;border-radius:11px;border:2px solid #fff;object-fit:cover;background:#fff;box-shadow:0 3px 10px rgba(30,40,60,.14);margin-top:-30px}
.shp-info{display:flex;flex-direction:column;gap:3px;margin-top:8px}
.shp-name{font-size:15px;color:#23282e;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.shp-meta{font-size:12px;color:#9aa1ac}
.shp-meta i{font-style:normal;color:var(--primary);font-weight:700}
.shp-desc{margin-top:7px;font-size:12.5px;color:#7c848f;line-height:1.65;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.shp-btn{margin-top:auto;padding-top:11px;text-align:center;border:1px solid var(--primary);color:var(--primary);border-radius:18px;font-size:12.5px;transition:.15s}
.shp-card:hover .shp-btn{background:var(--primary);color:#fff}
.shp-btn.plain{display:inline-block;padding:9px 26px;margin-top:12px}

.shp-empty{background:#fff;border:1px dashed var(--line);border-radius:14px;padding:52px 20px;text-align:center;color:#9aa1ac;font-size:14px}

/* 响应式 */
@media (max-width:1000px){
  .shp-featured{grid-template-columns:repeat(2,minmax(0,1fr))}
  .shp-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}
}
@media (max-width:720px){
  .shp-hero-in{padding:22px 0 18px;gap:14px}
  .shp-hero-txt h1{font-size:21px}
  .shp-apply{margin-left:0}
  .shp-featured-wrap{margin-top:16px}
  .shp-grid{gap:9px}
  .shp-banner{height:72px}
  .shp-body{padding:10px 11px 12px}
  .shp-name{font-size:13.5px}
  .shp-desc{font-size:11.5px;-webkit-line-clamp:1}
  .shp-meta{font-size:10.5px}
  .shp-btn{font-size:11.5px;padding-top:9px}
  .shp-sorts{width:100%;margin-left:0}
  .shp-sort{padding:5px 11px;font-size:12px}
}
