/* Reference fidelity layer. Load AFTER app.css.
 * Sources: downloaded p-index-Dr0JVdow.css, p-page1-lakiDPJa.css,
 * p-submit1-DN87iRdr.css and their original render chunks.
 * Only existing class mappings are used; no application behavior is changed.
 * Deliberately no guessed root rem scaling: app.js currently owns it.
 */

/* uni-view/text are content-box; uni-button alone opts into border-box. */
.home, .home *, .form-page, .form-page *, .pay-page, .pay-page * {
  box-sizing: content-box;
}
/* Browser-verified reference globals: Times New Roman, normal line height. */
.home, .form-page, .pay-page { font: 16px "Times New Roman"; color: #000; }
body.in-wechat .nav { display: none; }
.home button, .form-page button, .pay-page button { box-sizing: border-box; }

/* Original .head contains both .head-1 and the implicitly placed .body.
 * Flatten the extra local wrapper rather than changing the markup. */
.home {
  position: relative;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-template-rows: 1fr .3fr;
  column-gap: 4px;
  row-gap: 0;
  min-height: 0;
}
.home-head { display: contents; }
.home-banner-wrap { grid-area: 1 / 1 / 3 / 3; position: relative; }
.home-banner { display: inline-block; vertical-align: baseline; width: 100%; height: 240px; object-fit: fill; }
.home-title { line-height: normal; z-index: 2; }
.home-body { width: 100%; height: auto; margin-top: .3125rem; }
.product-card {
  grid-template-columns: repeat(2, 1fr);
  grid-template-rows: .5fr .8fr .5fr;
  column-gap: 1.25rem;
  row-gap: .46875rem;
  padding: 1.25rem;
  align-items: normal;
}
.product-name { font-size: inherit; color: inherit; }
.product-action { display: block; }
.product-pic { min-width: auto; }
.product-pic img { object-fit: fill; }
.btn-search, .btn-submit, .btn-reset {
  position: relative;
  display: block;
  margin-left: auto;
  margin-right: auto;
  padding: 0 14px;
  line-height: 2.55555556;
  text-align: center;
  overflow: hidden;
  background: linear-gradient(360deg, #eb4141 25%, #ec6a6a, #eb4141 75%);
}
.btn-search {
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 5px;
}
.btn-search::after, .btn-submit::after, .btn-reset::after, .pay-now::after {
  content: " ";
  width: 200%;
  height: 200%;
  position: absolute;
  top: 0;
  left: 0;
  border: 1px solid rgba(0, 0, 0, .2);
  transform: scale(.5);
  transform-origin: 0 0;
  box-sizing: border-box;
  border-radius: 10px;
  pointer-events: none;
}
.step-wrap { margin-top: 1.875rem; }
/* The original render chunk specifies 60rpx for both row separations. */
.step-row + .step-row { margin-top: 1.875rem !important; }
.step-card {
  min-height: 0;
  height: 8.125rem;
  padding: 0 .625rem;
  border: .03125rem solid #68500e5c;
  text-align: start;
}
.step-title { color: inherit; }
.step-desc { color: inherit; line-height: normal; word-break: normal; }
/* Emulate original padded .content2 wrapper around its 222rpx image.
 * The local image resource still must be checked against /static/aboutus.png. */
.about-banner {
  box-sizing: border-box;
  height: 9.4375rem;
  padding: 1.25rem .8125rem;
  object-fit: fill;
  overflow: hidden;
}
.about-grid { grid-template-rows: auto auto; row-gap: .375rem; align-items: stretch; }
.about-h { min-height: 1.75rem; height: auto; font-size: inherit; color: inherit; line-height: 1.5; align-self: stretch; }
.about-h img { margin-right: 0; flex: 0 0 1.75rem; }
.about-p { min-width: 0; align-self: stretch; }
.gray { max-width: none; margin: 1.03125rem auto; line-height: normal; }

/* A uni-image without a specified height is 240px, not intrinsic-ratio auto.
 * The form's head has no fixed height or overflow clipping in the reference. */
.form-head { height: auto; overflow: visible; font-size: 3.125rem; color: #68500e; }
.form-head img { display: inline-block; vertical-align: baseline; width: 100%; height: 240px; object-fit: fill; object-position: 50% 50%; }
.main-title { top: 3.125rem; }
.form-content { margin-top: -5.375rem; padding: 0 .625rem .625rem; height: 100%; }
.field-label { font-size: inherit; color: inherit; letter-spacing: normal; }
.required { margin-right: 0; font-style: normal; }
.field input[type="text"], .field input[type="tel"] { font-size: 16px; }
.radio-group { margin-top: .46875rem; min-height: 0; }
.radio-group label { margin-right: 1.25rem; font-size: inherit; }
.form-actions { margin-top: .3125rem; }
.tips { color: rgba(135, 206, 235, .43); }
.btn-row { gap: 0; }
.btn-submit, .btn-reset { height: auto; font-size: 18px; border-radius: .625rem; }

/* Submit page: preserve its explicit 15rem banner, unlike page1's default. */
.pay-page { padding-bottom: 0; }
.pay-page .form-head img { display: block; height: 15rem; }
.pay-content { margin-top: -4.375rem; padding: 0 .625rem .625rem; }
.card {
  display: grid;
  grid-template-columns: 1fr;
  grid-template-rows: auto auto;
  column-gap: 2.1875rem;
  row-gap: .46875rem;
  border-radius: .625rem;
  overflow: visible;
  margin-bottom: 0;
}
.card:first-child { margin-bottom: .625rem; }
.notice, .steps { padding-left: .625rem; font-size: 1rem; line-height: 2.25rem; border-radius: .625rem .625rem 0 0; }
.remark { margin: .625rem; color: inherit; font-size: inherit; line-height: normal; text-align: start; }
.steps-ui { margin: .625rem 0; align-items: center; width: 100%; overflow: hidden; }
/* Reference steps-image explicitly uses widthFix, so height remains intrinsic. */
/* Live reference currently renders this image component empty at its default240px height. */
.steps-ui {height:240px;}
.steps-ui img {height:240px;visibility:hidden;}
.xian { border: .0625rem solid #ddd; margin-top: .3125rem; }
/* Original fee label/price are separate children of the one-column grid. */
.fee-row { display: contents; font-size: .9375rem; }
.fee-row > span:first-child { width: 8.125rem; display: flex; justify-content: left; align-items: center; margin: 0 .625rem; }
.fee-row .red { margin: 0 .625rem; }
.pay-box { margin: .625rem; }
.pay-way { font-size: .9375rem; margin-bottom: 0; }
.wx-row { margin-top: 1.25rem; }
.wx-row img { width: 2.65625rem; height: 2.65625rem; }
.wx-name, .wx-desc { font-size: inherit; line-height: normal; }
.agree-row { margin: 1.5625rem .625rem 0 .3125rem; font-size: inherit; color: inherit; }
.check { width: 1.5rem; height: 1.5rem; margin-right: .46875rem; flex-shrink: 0; }
.check img { width: 1.5rem; height: 1.5rem; }
/* Footer originally sits outside padded .content; expand out of local wrapper. */
.pay-footer { height: 5rem; margin: .625rem -.625rem -.625rem; border-radius: 0; }
.pay-now {
  position: relative;
  display: block;
  height: auto;
  margin: 0 auto;
  padding: 0 14px;
  font-size: 18px;
  line-height: 2.55555556;
  border-radius: 1.40625rem;
  overflow: hidden;
}
.pay-now:disabled { opacity: 1; color: rgba(255, 255, 255, .6); background-color: #ec8b89; }

/* Measured component corrections. */
.about-banner-wrap {background:#fff;border-radius:.625rem;width:100%;box-sizing:border-box;margin:.875rem auto;padding:1.25rem .8125rem;overflow:hidden;}
.about-banner {display:inline-block;vertical-align:baseline;box-sizing:content-box;padding:0;margin:0;width:100%;height:6.9375rem;border-radius:0;}
.form-page .form-head {padding-bottom:2px;}
.field input[type="text"],.field input[type="tel"] {line-height:1.4;}
.field input::placeholder {color:#808080;opacity:1;}
.radio-group label {display:block;height:24.671875px;white-space:nowrap;}
.radio-group input {appearance:none;-webkit-appearance:none;box-sizing:content-box;width:22px;height:22px;border:1px solid #d1d1d1;border-radius:50%;margin:0 5px 0 0;transform:none;vertical-align:middle;background:#fff;}
.radio-group input:checked {background:#007aff;border-color:#007aff;position:relative;}
.radio-group input:checked::after {content:'✓';display:block;color:white;font:18px/22px Arial;text-align:center;}
/* Outstanding verification (not guessed here): native uni-radio appearance,
 * root rem breakpoint beyond the verified390px viewport, and modal DOM structure.
 * app.css's desktop 480px cap has no counterpart in these page chunks;
 * global reference behavior must be checked before changing it.
 */
