/* FormRow —— 表单行。
   功能来源：Demo「免费预约」留资表单（字段见 docs/页面与组件清单.md P03）
     称呼* / 手机号*+短信验证 / 所在地区*+定位获取 / 详细地址* / 服务场景 / 需求描述
   注意：只承载结构与交互（标签、必填标记、右侧操作、占位文案），样式全部走 token。 */

.mzh-form-row {
  display: flex;
  align-items: center;
  gap: var(--spacing-sm);
  min-height: var(--control-height-md);
  padding: var(--spacing-sm) var(--spacing-md);
  background: var(--color-bg-primary);
  border-radius: var(--radius-md);
}

.mzh-form-row + .mzh-form-row {
  margin-top: var(--spacing-sm);
}

.mzh-form-row--stacked {
  align-items: flex-start;
  flex-direction: column;
}

.mzh-form-row__label {
  flex: 0 0 auto;
  color: var(--color-text-primary);
  font-size: var(--typography-body-font-size);
  line-height: var(--typography-body-line-height);   /* 行高 = 字号 + 8 */
}

.mzh-form-row__required {
  color: var(--color-feedback-error);
  margin-left: var(--spacing-xs);
}

/* 右侧操作按钮（短信验证 / 定位获取） */
.mzh-form-row__action {
  flex: 0 0 auto;
  border: 0;
  background: transparent;
  color: var(--color-text-brand);
  font-size: var(--typography-caption-font-size);
  line-height: var(--typography-caption-line-height);   /* 行高 = 字号 + 8 */
  font-family: inherit;
  padding: var(--spacing-xs) 0;
  cursor: pointer;
}

.mzh-form-row__action:disabled {
  color: var(--color-text-secondary);
  cursor: not-allowed;
}

/* 输入区：占位态与已填值靠 value 属性切换，样式同一套 token */
.mzh-form-row__control {
  flex: 1 1 auto;
  min-width: 0;
  border: 0;
  background: transparent;
  color: var(--color-text-primary);
  font-size: var(--typography-body-font-size);
  line-height: var(--typography-body-line-height);   /* 行高 = 字号 + 8 */
  font-family: inherit;
  text-align: right;
  padding: 0;
}

.mzh-form-row--stacked .mzh-form-row__control {
  text-align: left;
  width: 100%;
}

.mzh-form-row__control::placeholder {
  color: var(--color-text-secondary);
}

.mzh-form-row__control:focus {
  outline: none;
}

/* 只读回显（服务场景自动带出） */
.mzh-form-row__value {
  flex: 1 1 auto;
  text-align: right;
  color: var(--color-text-primary);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* compact：资料编辑、设置与简短信息行共用。 */
.mzh-form-row--compact { min-height: var(--typography-body-line-height); padding: 0; border-radius: 0; }
.mzh-form-row--compact .mzh-form-row__label { color: var(--color-text-tertiary); }
.mzh-form-row--compact .mzh-form-row__control::placeholder { color: var(--color-action-disabled); }
.mzh-form-row--compact .mzh-form-row__action { padding: 0; font-size: var(--typography-body-font-size); line-height: var(--typography-body-line-height); }
.mzh-form-row--compact .mzh-form-row__control:focus-visible { outline: none; }
