/*
* name: service order form layout
* desc: 服务预约表单一行三列布局，不修改原 style.css / responsive.css
*/

.service_order01 .content #serForm {
  overflow: visible;
}

.service_order01 .content .form_grid {
  display: flex;
  flex-wrap: wrap;
  margin: 0 -0.08rem;
}

.service_order01 .content .form_grid > .item {
  width: 33.333333%;
  box-sizing: border-box;
  padding-left: 0.18rem;
  padding-right: 0.08rem;
  margin-bottom: 0.18rem;
}

.service_order01 .content .form_grid > .item.item_full {
  width: 100%;
  align-items: flex-start;
}

.service_order01 .content .form_grid > .item label {
  width: 1.28rem;
  min-width: 1.28rem;
  flex: 0 0 1.28rem;
  padding-right: 0.08rem;
  white-space: nowrap;
  box-sizing: border-box;
}

.service_order01 .content .form_grid > .item input,
.service_order01 .content .form_grid > .item select,
.service_order01 .content .form_grid > .item textarea,
.service_order01 .content .form_grid > .item .item_span {
  flex: 1 1 auto;
  width: auto;
  min-width: 0;
}

.service_order01 .content .form_grid > .item select {
  border: none;
  background-color: #f1f1f1;
  background-image: url(../img/news_list01_ico_arrow.png);
  background-repeat: no-repeat;
  background-position: right 0.15rem center;
  background-size: 18px 11px;
  height: 0.56rem;
  line-height: 0.56rem;
  padding: 0 0.4rem 0 0.15rem;
  color: #000;
  font-size: 0.16rem;
  box-sizing: border-box;
  outline: none;
  cursor: pointer;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

.service_order01 .content .form_grid > .item select:has(option[value=""]:checked) {
  color: #999;
}

.service_order01 .content .form_grid > .item select option {
  color: #000;
}

.service_order01 .content .form_grid > .item .item_down {
  width: auto;
  left: auto;
  right: 0.08rem;
  margin-left: 0;
  min-width: calc(100% - 1.54rem);
}

.service_order01 .content .form_grid > .item.cur {
  z-index: 6;
}

.service_order01 .content .form_grid > .item.item_full .tag {
  top: 0.2rem;
  transform: none;
}

.service_order01 .content .form_grid > .item.item_full textarea {
  height: 1.38rem;
}

.service_order01 .content .item_yzm {
  margin-top: 0.06rem;
  padding-left: 0.1rem;
}

@media only screen and (max-width: 1240px) {
  .service_order01 .content .form_grid > .item label {
    font-size: 0.15rem;
  }
}

@media only screen and (max-width: 992px) {
  .service_order01 .content .form_grid > .item {
    width: 50%;
  }

  .service_order01 .content .form_grid > .item.item_full {
    width: 100%;
  }
}

@media only screen and (max-width: 780px) {
  .service_order01 .content .form_grid {
    margin: 0;
  }

  .service_order01 .content .form_grid > .item,
  .service_order01 .content .form_grid > .item.item_full {
    width: 100%;
    padding-left: 0.18rem;
    padding-right: 0;
    margin-bottom: 0.16rem;
  }

  .service_order01 .content .form_grid > .item input,
  .service_order01 .content .form_grid > .item select,
  .service_order01 .content .form_grid > .item textarea,
  .service_order01 .content .form_grid > .item .item_span {
    width: auto;
    flex: 1 1 auto;
  }

  .service_order01 .content .form_grid > .item select {
    height: 0.48rem;
    line-height: 0.48rem;
    font-size: 0.16rem;
    background-size: 13px 8px;
  }

  .service_order01 .content .form_grid > .item .item_down {
    width: auto;
    left: auto;
    right: 0;
    min-width: calc(100% - 1.46rem);
  }

  .service_order01 .content .item_yzm {
    padding-left: 0.18rem;
    justify-content: flex-start;
  }
}
