/* 门店详情：375×1395 长稿；手机壳 812 高，内容壳内滚动。 */
.mzh-store-detail { flex: 1; min-height: 0; height: 100%; }
.mzh-store-detail__scroll { height: 100%; overflow-y: auto; overflow-x: hidden; scrollbar-width: none; }
.mzh-store-detail__scroll::-webkit-scrollbar { display: none; }
.mzh-store-detail__canvas { position: relative; min-height: var(--store-detail-canvas-h); padding-top: var(--store-detail-mid-y); }
.mzh-store-detail__bg { position: absolute; left: 0; top: 0; width: var(--store-bg-w); height: var(--store-bg-h); display: block; }
.mzh-store-detail .mzh-nav { position: absolute; top: 0; left: 0; width: 100%; height: var(--store-detail-header-h); }
.mzh-store-detail .mzh-nav__title { left: var(--store-detail-header-title-x); }
.mzh-store-detail__banner { position: absolute; left: 0; right: 0; top: var(--store-detail-banner-y); height: var(--store-detail-banner-h); overflow: clip; }
.mzh-store-detail__banner img { position: absolute; left: var(--store-detail-banner-img-x); top: var(--store-detail-banner-img-y); width: var(--store-detail-banner-img-w); height: var(--store-detail-banner-img-h); display: block; object-fit: cover; }
.mzh-store-detail__mid { position: relative; width: 100%; min-height: var(--store-detail-mid-h); border-radius: var(--store-detail-mid-radius) var(--store-detail-mid-radius) 0 0; background: var(--color-bg-primary); overflow: clip; }
.mzh-store-detail__body { display: flex; flex-direction: column; align-items: flex-start; gap: var(--spacing-sm); padding: var(--store-detail-body-pad-t) var(--spacing-lg) var(--spacing-sm); }
.mzh-store-detail h1, .mzh-store-detail h2, .mzh-store-detail p { margin: 0; }
.mzh-store-detail__name { font-size: var(--typography-subtitle-font-size); line-height: var(--typography-subtitle-line-height); font-weight: var(--typography-weight-medium); }
.mzh-store-detail__rating { display: flex; align-items: center; gap: var(--spacing-xs); font-size: var(--typography-caption-font-size); line-height: var(--typography-caption-line-height); color: var(--color-text-tertiary); }
.mzh-store-detail__rating img { display: block; width: var(--store-detail-rating-w); height: var(--store-detail-rating-h); }
.mzh-store-detail__hours { width: 100%; font-size: var(--typography-caption-font-size); line-height: var(--typography-caption-line-height); font-weight: var(--typography-weight-medium); }
.mzh-store-detail__tags { display: flex; gap: var(--spacing-sm); }
.mzh-store-detail__line { position: relative; height: 0; width: 100%; }
.mzh-store-detail__line img { position: absolute; top: calc(-1 * var(--border-width-default)); left: 0; width: 100%; height: var(--border-width-default); display: block; }
.mzh-store-detail__address-row { display: flex; align-items: flex-start; gap: var(--store-detail-address-gap); width: 100%; height: var(--store-detail-address-h); padding: var(--spacing-xs) 0; }
.mzh-store-detail__address { flex: none; width: var(--store-detail-address-text-w); display: flex; flex-direction: column; gap: var(--spacing-xs); font-size: var(--typography-caption-font-size); line-height: var(--typography-caption-line-height); white-space: nowrap; }
.mzh-store-detail__address p { font-weight: var(--typography-weight-medium); }
.mzh-store-detail__address span { color: var(--color-text-tertiary); }
.mzh-store-detail__contact { display: flex; align-items: center; gap: var(--spacing-md); }
.mzh-store-detail__contact button { display: flex; flex-direction: column; align-items: center; gap: var(--spacing-xxs); font-size: var(--typography-small-font-size); line-height: var(--typography-small-line-height); color: var(--color-text-tertiary); }
.mzh-store-detail__contact img { display: block; width: var(--store-detail-contact-icon); height: var(--store-detail-contact-icon); }
.mzh-store-detail__comments { width: 100%; display: flex; flex-direction: column; gap: var(--spacing-lg); padding: var(--spacing-sm) 0; }
.mzh-store-detail__review-head { display: flex; align-items: center; justify-content: space-between; width: 100%; height: var(--typography-subtitle-line-height); }
.mzh-store-detail__all { display: flex; align-items: center; gap: var(--spacing-xxs); font-weight: var(--typography-weight-medium); font-size: var(--typography-body-font-size); line-height: var(--typography-body-line-height); }
.mzh-store-detail__all img { display: block; width: var(--store-back-box); height: var(--store-back-box); }
.mzh-store-detail__sort { display: flex; align-items: center; gap: var(--spacing-sm); font-size: var(--typography-caption-font-size); line-height: var(--store-detail-sort-line-h); white-space: nowrap; }
.mzh-store-detail__sort button { color: var(--color-text-tertiary); }
.mzh-store-detail__sort button[aria-pressed="true"] { color: var(--color-text-primary); }
.mzh-store-detail__sort i { width: var(--store-detail-sort-divider-w); height: var(--store-detail-sort-divider-h); background: var(--store-detail-sort-divider-color); }
.mzh-store-detail__cases { width: 100%; display: flex; flex-direction: column; gap: var(--spacing-sm); }
.mzh-store-detail__cases h2 { font-size: var(--typography-body-font-size); line-height: var(--typography-body-line-height); font-weight: var(--typography-weight-medium); }
.mzh-store-detail .mzh-case-list { position: relative; top: 0; left: 0; right: auto; height: var(--store-detail-cases-h); padding: 0; width: 100%; }
.mzh-store-detail .mzh-case-card__cover img { position: absolute; left: 0; top: 0; }
.mzh-store-detail .mzh-case-card:nth-child(2) .mzh-case-card__cover-overlay { width: var(--store-detail-case-overlay-w); left: var(--store-detail-case-overlay-x); top: var(--store-detail-case-overlay-y); }
.mzh-store-detail .mzh-case-card:nth-child(4) .mzh-case-card__cover-overlay { left: var(--store-detail-case-overlay-x); }
.mzh-store-detail__toast { position: absolute; left: var(--spacing-lg); right: var(--spacing-lg); bottom: var(--spacing-lg); z-index: var(--store-overlay-z); padding: var(--spacing-sm) var(--spacing-md); border-radius: var(--radius-sm); 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); text-align: center; }
