/* 线下门店 */

/* ---------- 品牌数据（PC：地图背景 + 一行数字；手机：标题 + 2×2 宫格） ---------- */
.stores-data-sec { padding-top: 1rem; }
.stores-data { position: relative; overflow: hidden; border-radius: var(--radius-lg); min-height: 4.6rem; display: flex; align-items: center; }
.stores-data.no-bg { background: var(--c-bg-gray); }
.stores-data-bg { position: absolute; inset: 0; }
.stores-data-bg img { width: 100%; height: 100%; object-fit: cover; }
.stores-data-bg::after { content: ""; position: absolute; inset: 0; background: rgba(255, 255, 255, .55); } /* 地图背景淡化，保证数字清晰 */
.stores-data-inner { position: relative; z-index: 1; width: 100%; padding: .7rem .4rem; }
.stores-data-title { font-size: .44rem; font-weight: 700; }
.stores-data-sub { margin-top: .16rem; color: var(--c-text-2); }
.stores-stats { display: grid; grid-template-columns: repeat(var(--n, 4), 1fr); row-gap: .5rem; }
.stores-stat { text-align: center; padding: 0 .2rem; }
.stores-stat + .stores-stat { border-left: 1px solid rgba(0, 0, 0, .1); }
.stores-stat-num { font-size: .72rem; font-weight: 700; line-height: 1.1; white-space: nowrap; font-variant-numeric: tabular-nums; }
.stores-stat-num em { font-style: normal; font-size: .26rem; font-weight: 600; margin-left: .04rem; }
.stores-stat-label { margin-top: .14rem; font-size: .18rem; color: var(--c-text-2); }

/* ---------- 门店说明 + 城市筛选 + 门店列表 ---------- */
.stores-head .sec-sub { max-width: 10.4rem; margin-left: auto; margin-right: auto; }
.stores-filter { display: flex; align-items: center; justify-content: center; gap: .24rem; margin-bottom: .5rem; }
.stores-filter-label { flex-shrink: 0; display: inline-flex; align-items: center; gap: .06rem; font-size: .16rem; color: var(--c-text-3); }
.stores-filter-label .ico { font-size: .2rem; }
.stores-cities { position: relative; display: flex; flex-wrap: wrap; gap: .12rem; }
.stores-city { display: inline-flex; align-items: center; gap: .06rem; height: .44rem; padding: 0 .22rem; border-radius: .44rem; border: 1px solid var(--c-line); background: #fff; font-size: .16rem; color: var(--c-text-2); white-space: nowrap; transition: all .3s; }
.stores-city i { font-style: normal; font-size: .13rem; color: var(--c-text-3); transition: color .3s; }
.stores-city:hover { border-color: var(--c-primary); color: var(--c-text); }
.stores-city.on { background: var(--c-primary); border-color: var(--c-primary); color: #fff; }
.stores-city.on i { color: rgba(255, 255, 255, .6); }

.stores-list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .3rem; }
.stores-card { height: 100%; padding: .4rem .44rem; border-radius: var(--radius-lg); background: var(--c-bg-gray); border: 1px solid transparent; transition: background .3s, border-color .3s, box-shadow .3s; }
.stores-card:hover { background: #fff; border-color: var(--c-line); box-shadow: 0 .16rem .4rem rgba(0, 0, 0, .06); }
.stores-card-city { font-size: .32rem; font-weight: 700; margin-bottom: .2rem; }
.stores-card-name, .stores-card-row { display: flex; align-items: flex-start; gap: .1rem; }
.stores-card-name { font-size: .2rem; font-weight: 600; line-height: 1.5; }
.stores-card-row { margin-top: .12rem; font-size: .17rem; color: var(--c-text-2); line-height: 1.6; }
.stores-card-name .ico, .stores-card-row .ico { margin-top: .03em; font-size: 1.15em; color: var(--c-text); }
.stores-card-row .ico { color: var(--c-text-3); }
.stores-card-meta { display: flex; flex-wrap: wrap; column-gap: .3rem; margin-top: .16rem; padding-top: .04rem; border-top: 1px solid #e6e6e6; }
.stores-card-meta .stores-card-row { margin-top: .12rem; }
a.stores-card-row:hover { color: var(--c-text); }
.stores-empty { grid-column: 1 / -1; padding: .8rem 0; text-align: center; color: var(--c-text-3); font-size: .18rem; }

@media (max-width: 1199px) and (min-width: 761px) {
  .stores-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .stores-filter { flex-direction: column; }
  .stores-cities { justify-content: center; }
}

@media (max-width: 760px) {
  .stores-data-sec { padding-top: .6rem; }
  .stores-data { min-height: 0; border-radius: .24rem; display: block; }
  .stores-data-inner { padding: .6rem .3rem .5rem; }
  .stores-data-head { text-align: center; margin-bottom: .5rem; }
  .stores-data-title { font-size: .44rem; }
  .stores-data-sub { font-size: .26rem; line-height: 1.7; }
  .stores-stats { grid-template-columns: repeat(2, 1fr); row-gap: 0; }
  .stores-stat { padding: .36rem .1rem; }
  .stores-stat + .stores-stat { border-left: 0; }
  .stores-stat:nth-child(odd) { border-right: 1px solid rgba(0, 0, 0, .1); }
  .stores-stat:nth-child(-n+2) { border-bottom: 1px solid rgba(0, 0, 0, .1); }
  .stores-stat-num { font-size: .64rem; }
  .stores-stat-num em { font-size: .26rem; }
  .stores-stat-label { font-size: .24rem; margin-top: .1rem; }

  .stores-head .sec-sub { text-align: left; }
  .stores-filter { display: block; margin: 0 -.3rem .36rem; }
  .stores-filter-label { display: flex; padding: 0 .3rem; margin-bottom: .2rem; font-size: .24rem; }
  .stores-filter-label .ico { font-size: .28rem; }
  .stores-cities { flex-wrap: nowrap; gap: .16rem; padding: 0 .3rem; overflow-x: auto; scrollbar-width: none; -webkit-overflow-scrolling: touch; }
  .stores-cities::-webkit-scrollbar { display: none; }
  .stores-city { flex-shrink: 0; height: .64rem; padding: 0 .3rem; font-size: .26rem; border-radius: .64rem; }
  .stores-city i { font-size: .2rem; }

  .stores-list { grid-template-columns: minmax(0, 1fr); gap: .24rem; }
  .stores-card { padding: .4rem .36rem; border-radius: .24rem; }
  .stores-card:hover { background: var(--c-bg-gray); border-color: transparent; box-shadow: none; }
  .stores-card-city { font-size: .4rem; margin-bottom: .2rem; }
  .stores-card-name { font-size: .3rem; gap: .12rem; }
  .stores-card-row { font-size: .26rem; gap: .12rem; }
  .stores-card-meta { column-gap: .4rem; }
  .stores-empty { font-size: .26rem; padding: .6rem 0; }
}
