/* Service request form: keep each control within a predictable grid. */
.gf-detail-refined .gf-service-configurator {
  display: grid !important;
  grid-template-columns: minmax(0, 1.08fr) minmax(0, .92fr) !important;
  align-items: start !important;
  min-width: 0;
}

.gf-detail-refined .gf-service-configurator.is-simple {
  grid-template-columns: minmax(0, 1fr) !important;
}

.gf-detail-refined .gf-config-fields {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  align-items: start !important;
  gap: 16px !important;
  min-width: 0;
}

.gf-detail-refined .gf-config-fields > label,
.gf-detail-refined .gf-config-custom-size > label {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 6px !important;
  min-width: 0 !important;
  margin: 0 !important;
}

.gf-detail-refined .gf-config-fields input,
.gf-detail-refined .gf-config-fields select,
.gf-detail-refined .gf-config-fields textarea {
  box-sizing: border-box !important;
  width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  min-height: 52px !important;
  padding: 0 15px !important;
  border: 1px solid #cbddec !important;
  border-radius: 10px !important;
  background: #ffffff !important;
  color: #183654 !important;
  box-shadow: none !important;
  font: 500 15px/1.35 Poppins, sans-serif !important;
  outline: none !important;
  transition: border-color .18s ease, box-shadow .18s ease, background-color .18s ease;
}

.gf-detail-refined .gf-config-fields select {
  appearance: auto !important;
  -webkit-appearance: auto !important;
  padding-right: 38px !important;
}

.gf-detail-refined .gf-config-fields textarea {
  min-height: 104px !important;
  padding-top: 13px !important;
  padding-bottom: 13px !important;
  resize: vertical;
}

.gf-detail-refined .gf-config-fields input::placeholder,
.gf-detail-refined .gf-config-fields textarea::placeholder {
  color: #7c8da0 !important;
  opacity: 1;
}

.gf-detail-refined .gf-config-fields input:focus,
.gf-detail-refined .gf-config-fields select:focus,
.gf-detail-refined .gf-config-fields textarea:focus {
  border-color: #1677ca !important;
  background: #ffffff !important;
  box-shadow: 0 0 0 3px rgba(22, 119, 202, .12) !important;
}

.gf-detail-refined .gf-config-wide,
.gf-detail-refined .gf-config-fields > .button,
.gf-detail-refined .gf-config-fields > .gf-config-feedback {
  grid-column: 1 / -1 !important;
}

.gf-detail-refined .gf-config-custom-size {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  grid-column: 1 / -1 !important;
  gap: 14px !important;
  min-width: 0 !important;
  padding: 0 !important;
  background: transparent !important;
}

@media (max-width: 1000px) {
  .gf-detail-refined .gf-service-configurator {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  .gf-detail-refined .gf-dimension-preview {
    width: 100% !important;
    max-width: 650px;
    margin: 0 auto !important;
  }
}

@media (max-width: 680px) {
  .gf-detail-refined .gf-service-configurator {
    grid-template-columns: minmax(0, 1fr) !important;
    padding: 18px !important;
    gap: 24px !important;
  }

  .gf-detail-refined .gf-config-fields,
  .gf-detail-refined .gf-config-custom-size {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  .gf-detail-refined .gf-config-fields > * {
    grid-column: 1 / -1 !important;
  }

  .gf-detail-refined .gf-config-fields input,
  .gf-detail-refined .gf-config-fields select {
    min-height: 48px !important;
  }

  .gf-detail-refined .gf-config-fields textarea {
    min-height: 94px !important;
  }

  .gf-detail-refined .gf-config-fields > .button {
    width: 100% !important;
  }
}

/* Native-looking selects that match the request fields on desktop and mobile. */
.gf-detail-refined .gf-config-fields select {
  appearance: none !important;
  -webkit-appearance: none !important;
  padding: 0 46px 0 15px !important;
  background-color: #fff !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%231c5b8d' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 16px center !important;
  background-size: 18px !important;
  text-overflow: ellipsis;
}
.gf-detail-refined .gf-config-fields select:focus { background-color:#fff !important; }
@media (max-width:680px) {
  .gf-detail-refined .gf-config-fields select { min-height:52px !important; font-size:16px !important; }
}
