/* 商拓邦 移动端表单样式（对齐 H5 weui/luckform 视觉） */

/* ===== 按钮 ===== */
.luckbtn {
  width: 100%;
  border: 0;
  border-radius: var(--radius);
  text-align: center;
  display: block;
  padding: 12px 0;
  font-size: 15px;
  cursor: pointer;
}
.luckbtn-default { background-color: var(--brand); color: #fff; }
.luckbtn-default:active { background-color: #009a77; }
.luckbtn-payment { background-color: var(--gold); color: #fff; }
.luckbtn-weixin { background-color: #1AAD19; color: #fff; }
.luckbtn-secondary { background-color: #6c757d; color: #fff; }
.luckbtn-danger { background-color: #FF0000; color: #fff; }
.luckbtn[disabled] { opacity: .5; }
.luckbtn-sm { display: inline-block; width: auto; padding: 6px 16px; font-size: 13px; border-radius: 4px; }

/* ===== 表单卡片分组 ===== */
.luckform { padding-bottom: 20px; }
.luckform .items {
  background-color: #fff;
  overflow: hidden;
  font-size: 14px;
  border-radius: var(--radius);
  margin-top: 10px;
}
.luckform > .items:first-child { margin-top: 0; }
.luckform .items .top { padding: 14px 16px 4px; }
.luckform .items .top .title { font-weight: 400; color: var(--text); }
.luckform .span_required { color: #FF0000; margin-left: 3px; }
.luckform .span_remark { color: var(--text-3); margin-left: 4px; font-size: 12px; }
.luckform .btnbox { margin-top: 22px; padding: 0 2px; }

/* ===== weui 单元格 ===== */
.weui-cell {
  display: flex;
  align-items: center;
  padding: 13px 16px;
  position: relative;
}
.weui-cell::after {
  content: '';
  position: absolute;
  left: 16px;
  right: 16px;
  bottom: 0;
  height: 1px;
  background-color: #e5e5e5;
  transform: scaleY(.5);
  transform-origin: 0 100%;
}
.luckform .items .weui-cell:last-child::after { display: none; }
.weui-cell__hd { flex-shrink: 0; }
.weui-cell__bd { flex: 1; min-width: 0; }
.weui-cell__ft { flex-shrink: 0; color: var(--text-3); font-size: 13px; }
.weui-label { display: block; width: 78px; color: var(--text); font-size: 14px; }
.weui-input, .weui-textarea {
  width: 100%;
  border: 0;
  outline: none;
  background: transparent;
  font-size: 14px;
  color: var(--text);
  font-family: inherit;
}
.weui-input::placeholder, .weui-textarea::placeholder { color: #b5b9c2; }
.weui-textarea { min-height: 90px; line-height: 1.6; resize: none; }
.weui-select {
  width: 100%;
  border: 0;
  background: transparent;
  font-size: 14px;
  color: var(--text);
  appearance: none;
  -webkit-appearance: none;
  outline: none;
  text-align: right;
}
.weui-cell_select .weui-cell__ft::after {
  content: '\e62a';
  font-family: 'iconfont';
  color: var(--text-4);
  margin-left: 4px;
}

/* ===== 登录/注册 带边框输入框 ===== */
.luck-form2 .inputbox {
  border: 1px solid #eee;
  border-radius: var(--radius);
  padding: 11px 12px;
  margin-bottom: 14px;
  display: flex;
  align-items: center;
  background: #fff;
}
.luck-form2 .inputbox .weui-input { flex: 1; }
.luck-form2 .luck-vcode { display: flex; align-items: center; }
.luck-form2 .luck-vcode .inputbox { flex: 1; margin-bottom: 0; }
.luck-form2 .lbtn {
  flex-shrink: 0;
  margin-left: 10px;
  font-size: 13px;
  padding: 10px 12px;
  border-radius: 6px;
  color: var(--brand);
  background-color: #f2f2f2;
  border: 0;
  min-width: 96px;
}
.luck-form2 .lbtn[disabled] { color: #b5b9c2; }
.luck-form2 .other_way {
  display: flex;
  justify-content: space-between;
  margin-top: 16px;
  font-size: 13px;
}
.luck-form2 .other_way a { color: var(--brand); }
.luck-form2 .login { padding: 10px 0; }

/* ===== 协议提示行 ===== */
.luckform .remind, .login .remind {
  display: flex;
  align-items: flex-start;
  font-size: 12px;
  padding-left: 2px;
  color: var(--text-2);
  margin-top: 4px;
}
.remind input[type="radio"], .remind input[type="checkbox"] { margin: 1px 5px 0 0; flex-shrink: 0; width: 15px; height: 15px; accent-color: var(--brand); }
.remind .txt { line-height: 1.5; }
.remind .link { color: var(--brand); }

/* ===== 多选标签 / 单选 ===== */
.custom_checkbox .box { width: 100%; margin-bottom: -10px; overflow: hidden; }
.custom_checkbox .box span {
  background-color: #f2f3f5;
  color: var(--text-2);
  margin: 0 10px 10px 0;
  float: left;
  font-size: 13px;
  text-align: center;
  padding: 7px 14px;
  border-radius: var(--radius);
  cursor: pointer;
}
.custom_checkbox .box span.on { background-color: var(--brand); color: #fff; }
.radio-group { margin-left: -10px; margin-bottom: -10px; display: flex; flex-wrap: wrap; }
.radio-group .radio { margin: 0 0 10px 10px; display: inline-flex; align-items: center; font-size: 13px; color: var(--text-2); }
.radio-group .radio input { margin-right: 4px; accent-color: var(--brand); width: 15px; height: 15px; }

/* ===== 提交结果页 ===== */
.result { text-align: center; padding: 50px 20px; }
.result .txt { letter-spacing: 1px; font-size: 16px; color: var(--text); }
.result .txt .icon { color: var(--brand); margin-right: 6px; }
.result .description { margin-top: 10px; color: var(--text-3); font-size: 12px; }
.result .btns { margin-top: 20px; }

/* ===== 图片上传组件 ===== */
.m_uploader { display: flex; flex-wrap: wrap; }
.m_uploader .m_up_item {
  position: relative;
  width: 76px;
  height: 76px;
  margin: 0 10px 10px 0;
  border-radius: var(--radius);
  overflow: hidden;
  background: #f2f3f5;
}
.m_uploader .m_up_item img { width: 100%; height: 100%; object-fit: cover; }
.m_uploader .m_up_del {
  position: absolute;
  top: 0;
  right: 0;
  width: 20px;
  height: 20px;
  line-height: 18px;
  text-align: center;
  background: rgba(0,0,0,.55);
  color: #fff;
  font-size: 14px;
  border-bottom-left-radius: var(--radius);
}
.m_uploader .m_up_add {
  width: 76px;
  height: 76px;
  border: 1px dashed #d9d9d9;
  border-radius: var(--radius);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  color: var(--text-3);
  font-size: 12px;
  cursor: pointer;
  background: #fff;
}
.m_uploader .m_up_add .iconfont { font-size: 24px; margin-bottom: 2px; }
.m_uploader .m_up_item.uploading::after {
  content: '上传中';
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,.45);
  color: #fff;
  font-size: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* ===== 开关 ===== */
.m_switch { position: relative; width: 46px; height: 26px; display: inline-block; }
.m_switch input { opacity: 0; width: 100%; height: 100%; margin: 0; }
.m_switch i {
  position: absolute;
  inset: 0;
  background: #ddd;
  border-radius: 13px;
  transition: background .2s;
  pointer-events: none;
}
.m_switch i::after {
  content: '';
  position: absolute;
  top: 2px;
  left: 2px;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: #fff;
  transition: left .2s;
  box-shadow: 0 1px 2px rgba(0,0,0,.2);
}
.m_switch input:checked + i { background: var(--brand); }
.m_switch input:checked + i::after { left: 22px; }

/* ===== 分段 tab（账号类列表页通用） ===== */
.seg_tabs { display: flex; background: #fff; position: sticky; top: var(--header-h); z-index: 50; }
.seg_tabs .seg_item {
  flex: 1;
  text-align: center;
  padding: 13px 0;
  font-size: 14px;
  color: var(--text-2);
  position: relative;
}
.seg_tabs .seg_item.on { color: var(--brand); font-weight: 600; }
.seg_tabs .seg_item.on::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 24px;
  height: 3px;
  border-radius: 2px;
  background: var(--brand);
}

/* ===== 列表型设置行（个人中心/设置页菜单） ===== */
.menu_card { background: #fff; border-radius: var(--radius); overflow: hidden; margin-bottom: 10px; }
.menu_card .menu_item {
  display: flex;
  align-items: center;
  padding: 15px 16px;
  position: relative;
  min-height: 50px;
}
.menu_card .menu_item::after {
  content: '';
  position: absolute;
  left: 16px;
  right: 16px;
  bottom: 0;
  height: 1px;
  background: var(--line);
  transform: scaleY(.5);
}
.menu_card .menu_item:last-child::after { display: none; }
.menu_card .menu_item .iconfont { color: var(--brand); font-size: 17px; width: 22px; text-align: center; margin-right: 10px; }
.menu_card .menu_item .m_left { flex: 1; font-size: 14px; color: var(--text); }
.menu_card .menu_item .m_right { color: var(--text-3); font-size: 13px; display: flex; align-items: center; }
.menu_card .menu_item .m_right .iconfont { color: var(--text-4); margin-left: 2px; width: auto; }

/* ===== 支付方式选择行 ===== */
.payment .item {
  width: 100%;
  min-height: 54px;
  display: flex;
  align-items: center;
  border-bottom: 1px solid var(--line);
  font-size: 14px;
  padding: 8px 16px;
  cursor: pointer;
  background: #fff;
}
.payment .item .icon { width: 24px; height: 24px; vertical-align: middle; }
.payment .item .txt { margin-left: 8px; }
.payment .item i { margin-left: auto; font-size: 18px; color: #ddd; }
.payment .item.on i { color: var(--danger); }
.payment .item.on i::before { content: '\e649'; font-family: 'iconfont'; }
.payment_foot { margin-top: 16px; }
.payment_foot .description { color: var(--text-2); font-size: 13px; margin-bottom: 14px; }
.payment_foot .description .price_color { color: #FF0000; font-size: 20px; margin-right: 3px; }

/* ===== 信息展示行 ===== */
.info_rows .info_row { display: flex; padding: 11px 0; font-size: 14px; border-bottom: 1px solid var(--line); }
.info_rows .info_row:last-child { border-bottom: 0; }
.info_rows .info_row .first { color: var(--text-3); width: 84px; flex-shrink: 0; }
.info_rows .info_row .val { flex: 1; color: var(--text); word-break: break-all; }
.status_tag { display: inline-block; font-size: 12px; padding: 2px 8px; border-radius: 3px; }
.status_tag.s0 { background: #fff7e6; color: #d48806; }
.status_tag.s1 { background: var(--brand-light); color: var(--brand); }
.status_tag.s2 { background: #fdecea; color: #f4645f; }

/* ===== 图形验证码弹窗 ===== */
.cap_popup .cap_row { display: flex; align-items: center; gap: 10px; }
.cap_popup .cap_img { width: 120px; height: 40px; border-radius: 4px; background: #f0f0f0; flex-shrink: 0; cursor: pointer; }
.cap_popup .cap_input { flex: 1; border: 1px solid #eee; border-radius: 4px; padding: 10px; font-size: 14px; outline: none; min-width: 0; }

/* ===== 认证页 ===== */
.auth_page { background: #fff; min-height: 100vh; }
.auth_page .login { padding: 20px 12px 0; }
.auth_logo { text-align: center; padding: 24px 0 26px; }
.auth_logo img { height: 40px; }

/* ===== 我的发布卡片 ===== */
.mp_item { background: #fff; border-radius: var(--radius); padding: 13px 14px; margin-bottom: 10px; }
.mp_item .mp_title { font-size: 15px; font-weight: 600; color: var(--text); display: flex; justify-content: space-between; gap: 10px; }
.mp_item .mp_title .t { flex: 1; min-width: 0; }
.mp_item .mp_meta { margin-top: 7px; font-size: 12px; color: var(--text-3); display: flex; flex-wrap: wrap; gap: 10px; }
.mp_item .mp_fail { margin-top: 7px; font-size: 12px; color: #f4645f; }
.mp_item .mp_ops { margin-top: 11px; padding-top: 10px; border-top: 1px solid var(--line); display: flex; flex-wrap: wrap; gap: 8px; }
.mp_item .mp_ops a, .mp_item .mp_ops button {
  font-size: 12px;
  border: 1px solid #ddd;
  color: var(--text-2);
  background: #fff;
  border-radius: 4px;
  padding: 6px 12px;
}
.mp_item .mp_ops .op-danger { color: #f4645f; border-color: #f5c2c0; }

/* ===== 置顶档位 ===== */
.top_plan {
  border: 1px solid #eee;
  border-radius: var(--radius);
  padding: 14px;
  margin-bottom: 10px;
  display: flex;
  align-items: center;
  cursor: pointer;
  background: #fff;
}
.top_plan .tp_radio {
  width: 18px; height: 18px; border: 1px solid #ccc; border-radius: 50%;
  margin-right: 12px; flex-shrink: 0; position: relative;
}
.top_plan.on { border-color: var(--brand); background: var(--brand-light); }
.top_plan.on .tp_radio { border-color: var(--brand); }
.top_plan.on .tp_radio::after {
  content: ''; position: absolute; inset: 3px; border-radius: 50%; background: var(--brand);
}
.top_plan .tp_main { flex: 1; }
.top_plan .tp_day { font-size: 15px; font-weight: 600; }
.top_plan .tp_gold { font-size: 13px; color: var(--text-2); margin-top: 3px; }
.top_plan .tp_gold b { color: #f4645f; font-weight: 600; }

/* ===== 通用记录列表 ===== */
.log_list .log_item {
  background: #fff; border-radius: var(--radius); padding: 12px 14px; margin-bottom: 8px;
  display: flex; justify-content: space-between; font-size: 13px; color: var(--text-2);
}
.log_list .log_item .log_gold { color: #f4645f; }

/* ===== 资金余额卡 ===== */
.balance_card { border-radius: var(--radius); padding: 20px 18px; color: #fff; margin-bottom: 10px; }
.balance_card.gold { background: linear-gradient(135deg, #e8c77e, var(--gold)); }
.balance_card.wallet { background: linear-gradient(135deg, #33c09b, var(--brand)); }
.balance_card .bc_label { font-size: 12px; opacity: .85; }
.balance_card .bc_value { font-size: 30px; font-weight: 700; margin: 2px 0 14px; }
.balance_card .bc_btns { display: flex; gap: 10px; }
.balance_card .bc_btns a, .balance_card .bc_btns button {
  flex: 1; height: 38px; line-height: 38px; text-align: center;
  background: rgba(255,255,255,.22); color: #fff; border-radius: 19px; font-size: 14px; border: 0;
}
.balance_card .bc_btns .primary { background: #fff; color: #8a6d2c; }
.balance_card.wallet .bc_btns .primary { color: var(--brand); }

.ml_item { background: #fff; border-radius: var(--radius); padding: 12px 14px; margin-bottom: 8px; display: flex; justify-content: space-between; align-items: center; }
.ml_item .ml_desc { font-size: 14px; color: var(--text); }
.ml_item .ml_time { font-size: 12px; color: var(--text-3); margin-top: 3px; }
.ml_item .ml_price { font-weight: 600; font-size: 15px; }
.ml_price.inc { color: var(--brand); }
.ml_price.dec { color: #f4645f; }
.pay_price { color: #f4645f; }
.pay_tip { font-size: 12px; color: var(--text-3); margin: 10px 2px; line-height: 1.6; }
.withdraw_status { font-size: 12px; padding: 2px 8px; border-radius: 3px; background: #f2f3f5; color: var(--text-2); margin-left: 6px; }
