/*
 * 社會認同數字：有文字時桌機左文右數字（2×2），手機上下排；沒有文字時數字一列排開。
 * 標記順序是 dt（說明）→ dd（數字），讓螢幕報讀先唸說明；畫面用 column-reverse 讓數字在上。
 */
.lws-stats.has-text .lws-stats__inner {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: center;
  gap: var(--space-7);
}
.lws-stats .lws-stats__body {
  margin: var(--space-4) 0 0;
  color: var(--s-soft);
  font-size: var(--text-md);
}
.lws-stats .lws-stats__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-5);
  margin: 0;
}
.lws-stats .lws-stats__grid--1 {
  grid-template-columns: minmax(0, 1fr);
}
.lws-stats:not(.has-text) .lws-stats__grid--3 {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.lws-stats:not(.has-text) .lws-stats__grid--4 {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}
.lws-stats .lws-stat {
  display: flex;
  flex-direction: column-reverse;
  justify-content: flex-end;
  gap: var(--space-2);
  margin: 0;
  padding-top: var(--space-4);
  border-top: 1px solid var(--s-line);
}
.lws-stats .lws-stat__value {
  margin: 0;
  color: var(--s-fg);
  font-family: var(--font-display);
  font-size: var(--text-2xl);
  font-weight: 700;
  line-height: var(--leading-tight);
  letter-spacing: var(--tracking-tight);
  white-space: nowrap;
  /* 等寬數字：數字跑動時每一位寬度一致，不會左右抖 */
  font-variant-numeric: tabular-nums;
}
.lws-stats .lws-stat__label {
  color: var(--s-muted);
  font-size: var(--text-base);
}
@media (max-width: 1023px) {
  .lws-stats:not(.has-text) .lws-stats__grid--3,
  .lws-stats:not(.has-text) .lws-stats__grid--4 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 767px) {
  .lws-stats.has-text .lws-stats__inner {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-6);
  }
  .lws-stats .lws-stat__value {
    font-size: var(--text-xl);
  }
}
