@charset "utf-8";
/* ===== 定字起名古典自适应样式（R-DZ v3）===== */
/* 修复：label对齐、hint错位、radio溢出、底部宣传区 */

.dz-wrap{
  max-width:1200px;
  width:100%;
  margin:0 auto;
  padding:18px 20px 40px;
}
.dz-wrap, .dz-wrap * { box-sizing: border-box; }

/* ---- Banner ---- */
.dz-banner{
  text-align:center;
  padding:28px 16px 24px;
  margin-bottom:18px;
  border-radius:10px;
  background:
    radial-gradient(120% 120% at 50% 0%, rgba(255,250,240,.92), rgba(250,244,232,.98)),
    linear-gradient(180deg,#fff8ec,#f6ead2);
  border:1px solid #e7d4ad;
  box-shadow:0 6px 22px rgba(120,80,20,.10);
  position:relative;
  overflow:hidden;
}
.dz-banner::before{
  content:"";
  position:absolute;
  inset:0;
  background:repeating-linear-gradient(0deg,rgba(150,110,40,.04) 0 2px,transparent 2px 26px);
  pointer-events:none;
}
.dz-seal{
  display:inline-block;
  width:46px;height:46px;line-height:46px;
  border-radius:8px;
  background:#9e2b25;
  color:#fff6e8;
  font-family:"KaiTi","STKaiti","Songti SC",SimSun,serif;
  font-size:13px;
  letter-spacing:1px;
  margin-bottom:10px;
  box-shadow:0 3px 10px rgba(158,43,37,.35);
}
.dz-banner h1{
  margin:6px 0 8px;
  font-size:28px;
  letter-spacing:6px;
  color:#7a241c;
  font-family:"KaiTi","STKaiti","Songti SC",SimSun,serif;
  font-weight:700;
}
.dz-banner p{
  margin:0;
  font-size:14px;
  color:#8a6a3a;
  letter-spacing:1px;
}

/* ---- Panel ---- */
.dz-panel{
  background:#fffdf8;
  border:1px solid #ead9b8;
  border-radius:10px;
  box-shadow:0 4px 16px rgba(120,80,20,.08);
  overflow:hidden;
}
.dz-panel-hd{
  background:linear-gradient(180deg,#f3e4c6,#ecd9b2);
  color:#6f3b16;
  font-size:17px;
  font-weight:700;
  letter-spacing:3px;
  padding:12px 18px;
  border-bottom:1px solid #e2cd9f;
  font-family:"KaiTi","STKaiti","Songti SC",SimSun,serif;
}
.dz-panel-bd{
  padding:18px;
}

/* ---- Form Row ---- */
.dz-form-row{
  display:flex;
  align-items:flex-start;
  padding:14px 0;
  border-bottom:1px dashed #efe2c6;
  clear:both;
}
.dz-form-row:last-of-type{
  border-bottom:none;
}

/* ---- Label ---- */
.dz-label{
  flex:0 0 100px;
  color:#6f3b16;
  font-size:15px;
  font-weight:600;
  letter-spacing:1px;
  text-align:right;
  padding-right:12px;
  padding-top:9px;
  line-height:22px;
  white-space:nowrap;
}
.dz-label .dz-req{
  color:#c0392b;
  margin-right:2px;
  font-weight:700;
}

/* ---- Field Wrap：控件 + tip 垂直堆叠 ---- */
.dz-field-wrap{
  flex:1;
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:4px;
}

/* ---- Field ---- */
.dz-field{
  flex:1;
  display:flex;
  flex-wrap:nowrap;
  gap:8px;
  align-items:center;
  min-width:0;
}

/* ---- Input & Select ---- */
.dz-input,.dz-select{
  height:40px;
  border:1px solid #d8c39a;
  border-radius:7px;
  padding:0 12px;
  font-size:15px;
  color:#4a3a22;
  background:#fffdf8;
  outline:none;
  transition:border-color .15s,box-shadow .15s;
  font-family:inherit;
}
.dz-input:focus,.dz-select:focus{
  border-color:#9e2b25;
  box-shadow:0 0 0 3px rgba(158,43,37,.12);
}
.dz-input{
  width:200px;
  min-width:120px;
  flex:0 1 auto;
}
.dz-fix-input{
  width:72px;
  text-align:center;
  font-size:22px;
  font-family:"KaiTi","STKaiti","Songti SC",SimSun,serif;
  letter-spacing:4px;
  flex:0 0 auto;
}
.dz-select{
  min-width:80px;
  flex:0 1 auto;
}
.dz-select.dz-date-sel{
  width:90px;
  flex:0 0 auto;
}

/* ---- Radio ---- */
.dz-radio{
  display:inline-flex;
  align-items:center;
  cursor:pointer;
  margin-right:20px;
  font-size:15px;
  color:#4a3a22;
  user-select:none;
  white-space:nowrap;
}
.dz-radio input{
  display:none;
}
.dz-radio .radio-icon{
  width:18px;height:18px;
  border:1px solid #c9ad77;
  border-radius:50%;
  margin-right:6px;
  position:relative;
  background:#fffdf8;
  transition:.15s;
  flex-shrink:0;
}
.dz-radio input:checked + .radio-icon{
  border-color:#9e2b25;
  background:#9e2b25;
}
.dz-radio input:checked + .radio-icon::after{
  content:"";
  position:absolute;
  inset:4px;
  border-radius:50%;
  background:#fff6e8;
}
.dz-radio.fix input:checked + .radio-icon{
  background:#9e2b25;
}

/* ---- Hint / Tip ---- */
.dz-tip{
  font-size:12px;
  color:#a98a55;
  line-height:1.6;
  padding-left:4px;
  white-space:normal;
}

/* ---- Submit ---- */
.dz-submit{
  display:block;
  width:100%;
  height:50px;
  margin-top:18px;
  border:none;
  border-radius:8px;
  cursor:pointer;
  background:linear-gradient(180deg,#b1332b,#9e2b25);
  color:#fff6e8;
  font-size:18px;
  letter-spacing:6px;
  font-weight:700;
  font-family:"KaiTi","STKaiti","Songti SC",SimSun,serif;
  box-shadow:0 6px 16px rgba(158,43,37,.3);
  transition:.15s;
}
.dz-submit:hover{
  background:linear-gradient(180deg,#9e2b25,#861f1a);
}
.dz-note{
  margin-top:12px;
  text-align:center;
  font-size:12px;
  color:#a98a55;
  letter-spacing:1px;
}

/* ==================== 底部宣传区 ==================== */
.dz-feature{
  margin-top:28px;
  display:flex;
  gap:16px;
  flex-wrap:wrap;
}
.dz-feat-card{
  flex:1;
  min-width:200px;
  background:#fffdf8;
  border:1px solid #ead9b8;
  border-radius:10px;
  padding:20px 18px;
  text-align:center;
  box-shadow:0 2px 10px rgba(120,80,20,.06);
  transition:box-shadow .2s,transform .2s;
}
.dz-feat-card:hover{
  box-shadow:0 6px 20px rgba(120,80,20,.13);
  transform:translateY(-2px);
}
.dz-feat-icon{
  width:52px;height:52px;
  margin:0 auto 12px;
  border-radius:50%;
  background:linear-gradient(135deg,#f6ead2,#e8d4aa);
  border:1px solid #d8c39a;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:24px;
  color:#7a241c;
  font-family:"KaiTi","STKaiti","Songti SC",SimSun,serif;
}
.dz-feat-title{
  font-size:15px;
  font-weight:700;
  color:#6f3b16;
  margin-bottom:6px;
  letter-spacing:1px;
  font-family:"KaiTi","STKaiti","Songti SC",SimSun,serif;
}
.dz-feat-desc{
  font-size:13px;
  color:#8a7050;
  line-height:1.7;
}

.dz-intro{
  margin-top:28px;
  background:#fffdf8;
  border:1px solid #ead9b8;
  border-radius:10px;
  padding:20px 22px;
  box-shadow:0 2px 10px rgba(120,80,20,.06);
}
.dz-intro h3{
  margin:0 0 12px;
  font-size:17px;
  color:#7a241c;
  letter-spacing:2px;
  font-family:"KaiTi","STKaiti","Songti SC",SimSun,serif;
  border-bottom:1px solid #e8d4aa;
  padding-bottom:8px;
}
.dz-intro ol{
  margin:0;
  padding:0 0 0 20px;
  font-size:14px;
  color:#6f5a3a;
  line-height:2;
}
.dz-intro ol li{
  margin-bottom:4px;
}

.dz-advantage{
  margin-top:16px;
  display:flex;
  gap:12px;
  flex-wrap:wrap;
}
.dz-adv-item{
  flex:1;
  min-width:140px;
  background:linear-gradient(135deg,#fdf8ee,#f9f0dc);
  border:1px solid #e8d8b8;
  border-radius:8px;
  padding:14px 14px;
  text-align:center;
}
.dz-adv-item strong{
  display:block;
  font-size:16px;
  color:#7a241c;
  font-family:"KaiTi","STKaiti","Songti SC",SimSun,serif;
  margin-bottom:4px;
}
.dz-adv-item span{
  font-size:12px;
  color:#8a7050;
  line-height:1.5;
}

/* ==================== 响应式 ==================== */
@media screen and (max-width:900px){
  .dz-label{
    flex:0 0 80px;
    padding-right:8px;
    font-size:14px;
  }
  .dz-input{
    width:160px;
    min-width:100px;
  }
  .dz-tip{
    padding-left:88px;
  }
}

@media screen and (max-width:768px){
  .dz-wrap{
    padding:12px 10px 30px;
  }
  .dz-banner h1{
    font-size:22px;
    letter-spacing:3px;
  }
  .dz-banner p{
    font-size:12px;
  }
  .dz-panel-bd{
    padding:12px;
  }
  .dz-form-row{
    flex-direction:column;
    align-items:stretch;
    padding:10px 0;
  }
  .dz-label{
    flex:none;
    padding-top:0;
    padding-bottom:6px;
    text-align:left;
    line-height:1.4;
    font-size:14px;
    white-space:normal;
  }
  .dz-field{
    flex-wrap:wrap;
    gap:6px;
  }
  .dz-input{
    width:100%;
    min-width:auto;
    flex:1 1 auto;
  }
  .dz-fix-input{
    width:100%;
    max-width:120px;
  }
  .dz-select.dz-date-sel{
    width:80px;
  }
  .dz-select{
    flex:1 1 auto;
    min-width:0;
  }
  .dz-radio{
    margin-right:14px;
    font-size:14px;
  }
  .dz-tip{
    padding-left:0;
    font-size:11px;
  }
  .dz-pos-hint{
    white-space:normal;
    margin-top:4px;
    margin-left:0;
  }
  .dz-feature{
    flex-direction:column;
  }
  .dz-feat-card{
    min-width:auto;
  }
  .dz-advantage{
    flex-direction:column;
  }
  .dz-adv-item{
    min-width:auto;
  }
}

@media screen and (max-width:480px){
  .dz-banner{
    padding:18px 12px 16px;
  }
  .dz-banner h1{
    font-size:18px;
    letter-spacing:2px;
  }
  .dz-seal{
    width:38px;height:38px;line-height:38px;
    font-size:11px;
  }
  .dz-panel-hd{
    font-size:15px;
    padding:10px 12px;
  }
  .dz-panel-bd{
    padding:10px;
  }
  .dz-submit{
    height:46px;
    font-size:16px;
  }
}
