/* StoreCardList —— 「附近门店」页门店卡列表（Figma 1868:12148）。
   5 张 343×114 白卡，x16 y156，行距 12（步进 126）。

   ★ 每张卡：内距 12 + 「90 缩略图 + gap 8 + 221 文字列」= 319 内容宽。
     缩略图内图是 500×400 的图，按设计稿定位 -10.75/0、尺寸 111.663×89.33
     （图比框宽 21.66，左右各溢出 10.83 —— 设计稿就是这么裁的）。 */

.mzh-store-list {
  position: absolute;
  left: var(--store-list-x);
  top: var(--store-list-y);
  width: var(--store-card-w);
  height: var(--store-list-h);
  display: flex;
  flex-direction: column;
  gap: var(--store-card-gap-y);
  z-index: var(--store-overlay-z);
}

.mzh-store-card { display: block; flex: none; width: var(--store-card-w); height: var(--store-card-h); }

.mzh-store-card__control {
  flex: none;
  width: var(--store-card-w);
  height: var(--store-card-h);
  display: flex;
  align-items: center;
  gap: var(--store-row-gap);          /* 缩略图与文字列 8（实例内 gap-[8px]） */
  padding: var(--store-card-pad);
  border: 0;
  border-radius: var(--store-card-radius);
  background: var(--color-bg-primary);
  font-family: inherit;
  text-align: left;
  cursor: pointer;
}

.mzh-store-card__thumb {
  position: relative;
  flex: none;
  width: var(--store-thumb-size);
  height: var(--store-thumb-size);
  border-radius: var(--store-thumb-radius);
  background: var(--store-thumb-bg);
  overflow: clip;
}

.mzh-store-card__img {
  position: absolute;
  left: var(--store-thumb-img-x);
  top: var(--store-thumb-img-y);
  width: var(--store-thumb-img-w);
  height: var(--store-thumb-img-h);
  display: block;
  object-fit: cover;
}

.mzh-store-card__body {
  flex: none;
  width: var(--store-body-w);
  display: flex;
  flex-direction: column;
  /* ★ 1868:12150 G1 是 items-start：90 高的行里，80 高的文字列**贴顶**，
     不是垂直居中（居中会把三行整体下移 5px）。 */
  align-self: flex-start;
  align-items: flex-start;
  gap: var(--store-row-gap);          /* 店名/地址/标签三行 gap 8 */
  min-width: 0;
}

.mzh-store-card__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
}

.mzh-store-card__name {
  font-size: var(--typography-body-font-size);
  line-height: var(--typography-body-line-height);
  font-weight: var(--typography-weight-medium);
  color: var(--color-text-primary);
  white-space: nowrap;
}

.mzh-store-card__rating {
  display: flex;
  align-items: center;
  gap: var(--store-rating-gap);
}

.mzh-store-card__star {
  display: block;
  width: var(--store-star-size);
  height: var(--store-star-size);
}

.mzh-store-card__score {
  font-size: var(--typography-caption-font-size);
  line-height: var(--typography-caption-line-height);
  font-weight: var(--typography-weight-regular);
  color: var(--color-text-tertiary);
  white-space: nowrap;
}

.mzh-store-card__addr {
  font-size: var(--typography-caption-font-size);
  line-height: var(--typography-caption-line-height);
  font-weight: var(--typography-weight-regular);
  color: var(--color-text-tertiary);
  white-space: nowrap;
}

.mzh-store-card__tags {
  display: flex;
  align-items: flex-start;
  gap: var(--store-tag-gap);
}

.mzh-store-card__tag {
  height: var(--store-tag-h);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: var(--store-tag-pad-y) var(--store-tag-pad-x);
  border-radius: var(--store-tag-radius);
  background: var(--store-tag-bg);
  color: var(--color-text-brand);
  font-size: var(--typography-small-font-size);
  line-height: var(--typography-small-line-height);
  font-weight: var(--typography-weight-regular);
  white-space: nowrap;
}

/* 轻提示：门店详情页还没做时给反馈（同 TabBar 的做法） */
.mzh-store-list__toast {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  width: fit-content;
  margin: 0 auto;
  padding: var(--store-tag-pad-y) var(--store-card-pad);
  border-radius: var(--store-tag-radius);
  background: var(--tab-bar-toast-bg);
  color: var(--tab-bar-toast-fg);
  font-size: var(--typography-caption-font-size);
  line-height: var(--typography-caption-line-height);
  white-space: nowrap;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.2s ease;
}

.mzh-store-list__toast--show {
  opacity: 1;
}

/* 公共组件的长内容/空图边界；原设计稿短文案的几何保持不变。 */
.mzh-store-card__control:disabled { opacity: var(--opacity-disabled); cursor: not-allowed; }
.mzh-store-card__control:focus-visible { outline: var(--border-width-strong) solid var(--color-border-brand); outline-offset: var(--spacing-xxs); }
.mzh-store-card__name { min-width: 0; overflow: hidden; text-overflow: ellipsis; }
.mzh-store-card__rating { flex: none; }
.mzh-store-card__addr { max-width: 100%; overflow: hidden; text-overflow: ellipsis; }
.mzh-store-card__tags { max-width: 100%; overflow: hidden; }
.mzh-store-card__missing, .mzh-store-card__thumb--missing::after { content: '暂无图片'; font-size: var(--typography-caption-font-size); color: var(--color-text-tertiary); }
