/* // Form Control Styles */
.rural-form-control-price-wrapper {
  background-color: var(--formBG);
  position: relative;
  font-size: 21px;
  font-weight: bold;
  line-height: 1.39;
  letter-spacing: 2.3px;
  text-align: left;
  margin: 5px 0;

  --formControlPriceBG: #e5e5e5;
  --formControlPriceTextColor: #333;
  --formControlPriceRadius: 0;
  --formControlPriceInputSize: 15px;
  --formControlPriceinputHeight: 40px;
  --formControlPricePrimary: #006d4c;
  --formControlPriceDanger: #dc3645;
}

.rural-form-control-price-wrapper.with-custom-input::before {
  display: none;
}

.rural-form-control-price-wrapper::before {
  content: attr(data-moneda);
  pointer-events: none;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: 5px;
  width: 4ch;
  overflow: hidden;
}

.rural-form-control-price-wrapper > .rural-custom-input-step > .rural-form-control-custom-value {
  background-color: var(--formControlPriceBG);
  padding: 0 10px;
  margin-bottom: 0;
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  grid-column: 1 / -1;
  font-size: var(--formControlPriceInputSize);
  border-radius: var(--formControlPriceRadius);
  color: var(--formControlPriceTextColor);
  margin: 0 auto;
  position: relative;
  padding: 0 15px;
}

.rural-form-control-price-wrapper .rural-custom-input-step > .rural-form-control-custom-value::before {
  content: attr(data-currency);
  pointer-events: none;
  overflow: hidden;
}

.rural-form-control-price-wrapper .rural-custom-input-step > .rural-form-control-custom-value > .form-control {
  font-size: var(--formControlPriceInputSize);
  padding: 0;
  text-align: center;
  border: 0;
  width: 100%;
  background-color: var(--formControlPriceBG);
  height: var(--formControlPriceinputHeight);
  height: var(--formControlPriceinputHeight);
  line-height: var(--formControlPriceinputHeight);
  color: var(--formControlPriceTextColor);
  border: 0;
  box-shadow: none;
}

.rural-form-control-price-wrapper .rural-custom-input-step > .rural-form-control-custom-value > .form-control:hover,
.rural-form-control-price-wrapper .rural-custom-input-step > .rural-form-control-custom-value > .form-control:focus {
  border: 0;
  box-shadow: none;
}

.ruralform-control-price-wrapper .rural-form-control-custom-value > .form-control-no-spin {
  -moz-appearance: textfield;
}

.rural-form-control-price-wrapper .rural-form-control-custom-value > .form-control-no-spin::-webkit-outer-spin-button,
.rural-form-control-price-wrapper .rural-form-control-custom-value > .form-control-no-spin::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

.rural-form-control-price-wrapper > .form-control-no-spin:hover,
.rural-form-control-price-wrapper > .form-control-no-spin:focus {
  border: 0;
}

/* // custom input number widget */
.rural-custom-input-step {
  display: grid;
  max-width: 100%;
  margin: auto;
  place-items: center;
  grid-gap: 6px;
  gap: 6px;
  grid-template-columns: 1fr 5fr 1fr;
  grid-template-areas: 'top top top'
                       'minus input plus'
}

.rural-custom-input-step > label {
  font-size: 14px;
  grid-area: top;
  letter-spacing: 0;
  font-weight: normal;
  margin: 0;
}

.rural-custom-input-step > button {
    width: calc(var(--formControlPriceinputHeight) * .8);
    height: calc(var(--formControlPriceinputHeight) * .8);
    font-size: calc(var(--formControlPriceinputHeight) * .5);
    line-height: 1.2;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 600;
    padding: 0;
    border-radius: 50%;
    border: 0;
    background-image: linear-gradient(
      45deg,
    #e9eaeb 0 57%,
    #fbfbfc 80%
    );
    box-shadow:
      -1px 2px 2px 0px rgba(0, 0, 0, 0.25),
      -2px 2px 4px rgba(0, 0, 0, 0.15),
      0px 0px 1px 0px rgba(0, 0, 0, 0.25);
    transition: box-shadow .3s;
}

.rural-custom-input-step > button:active {
  box-shadow: none;
}

.rural-custom-input-step > button.rural-custom-input-step-minus {
  color: var(--formControlPriceDanger);
}

.rural-custom-input-step > button.rural-custom-input-step-plus {
  color: var(--formControlPricePrimary);
}

.rural-custom-input-step > button[disabled] {
  opacity: .5;
  pointer-events: none;
}

.rural-custom-input-step > .rural-custom-input-step-minus {
  grid-area: minus;
}

.rural-custom-input-step > .rural-custom-input-step-plus {
  grid-area: plus;
}

.rural-custom-input-step > input[type="text"] {
  grid-area: input;
  display: none;
}

.rural-custom-input-step > .rural-custom-input-step-value {
  grid-area: input;
  background-color: var(--formControlPriceBG);
  padding: 0 10px;
  height: var(--formControlPriceinputHeight);
  color: var(--formControlPriceTextColor);
  width: 100%;
  border-radius: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: var(--formControlPriceInputSize);
  font-weight: bold;
  line-height: 1.33;
  letter-spacing: 1.5px;
}

.rural-custom-input-step > .rural-custom-input-step-value::before {
  content: attr(data-currency);
  margin-right: 3px;
}

.rural-custom-input-step > .rural-custom-input-step-value::after {
  content: attr(data-value);
  display: none;
}

.rural-custom-input-step > .rural-custom-input-step-value > .form-control {
  height: var(--formControlPriceinputHeight);
  line-height: var(--formControlPriceinputHeight);
  background-color: var(--formControlPriceBG);
  color: var(--formControlPriceTextColor);
  text-align: center;
  padding: 0;
  margin: 0;
  border: 0;
  font-size: var(--formControlPriceInputSize);
  font-weight: bold;
  border: 0;
  box-shadow: none;
  pointer-events: none;
}

.rural-custom-input-step > .rural-custom-input-step-value > .form-control:hover,
.rural-custom-input-step > .rural-custom-input-step-value > .form-control:focus {
  border: 0;
  box-shadow: none;
}


.rural-custom-input-step > .rural-custom-input-step-value > .form-control[maxlength="4"] {
  width: 4ch;
}
