.mainForm form {
  position: relative;
  color: var(--text-primary);
  margin-block-start: -0.722rem;
}
.mainForm__hidden-field {
  position: absolute;
  inline-size: 0.056rem;
  block-size: 0.056rem;
  padding: 0;
  border: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  clip-path: inset(50%);
  white-space: nowrap;
}
.mainForm .input {
  position: relative;
  z-index: 1;
  display: block;
  inline-size: 100%;
  margin: 0;
}
.mainForm .input:not(:last-of-type) {
  margin-block-end: 1rem;
}
.mainForm .input--fumi {
  overflow: hidden;
  padding: 0 0 0.333rem;
  border: 0;
  border-block-end: 0.083rem solid var(--text-primary);
  border-radius: 0 !important;
  background: transparent;
}
.mainForm .input__field {
  position: relative;
  display: block;
  inline-size: 100%;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: var(--text-primary);
  -webkit-appearance: none;
  appearance: none;
}
.mainForm .input__field:focus {
  outline: none;
}
.mainForm .input__label {
  position: absolute;
  inset-inline-start: 0;
  inset-block-start: 0;
  inline-size: 100%;
  padding: 0;
  color: var(--text-primary);
  font-weight: normal;
  pointer-events: none;
  -webkit-font-smoothing: antialiased;
}
.mainForm .input__label-content {
  position: relative;
  display: inline-block;
  inline-size: 100%;
  padding: 1.2em 0;
  -webkit-transform-origin: 0 0;
  transform-origin: 0 0;
}
.mainForm .input__field--fumi {
  padding: 1.8em 0 0.25em;
}
.mainForm .input--textarea .input__field--fumi {
  min-block-size: 8.889rem;
  resize: vertical;
}
.mainForm
  .input__field--fumi:focus
  + .input__label--fumi
  .input__label-content--fumi,
.mainForm .input--filled .input__label-content--fumi {
  -webkit-animation: anim-fumi-1 0.3s forwards;
  animation: anim-fumi-1 0.3s forwards;
}
@-webkit-keyframes anim-fumi-1 {
  50% {
    -webkit-transform: translate3d(0, 3em, 0);
    transform: translate3d(0, 3em, 0);
  }
  51% {
    -webkit-transform: translate3d(0, -3em, 0) scale3d(0.85, 0.85, 1);
    transform: translate3d(0, -3em, 0) scale3d(0.85, 0.85, 1);
  }
  100% {
    color: var(--text-primary);
    -webkit-transform: translate3d(0, -1.1em, 0) scale3d(0.85, 0.85, 1);
    transform: translate3d(0, -1.1em, 0) scale3d(0.85, 0.85, 1);
  }
}
@keyframes anim-fumi-1 {
  50% {
    -webkit-transform: translate3d(0, 3em, 0);
    transform: translate3d(0, 3em, 0);
  }
  51% {
    -webkit-transform: translate3d(0, -3em, 0) scale3d(0.85, 0.85, 1);
    transform: translate3d(0, -3em, 0) scale3d(0.85, 0.85, 1);
  }
  100% {
    color: var(--text-primary);
    -webkit-transform: translate3d(0, -1.1em, 0) scale3d(0.85, 0.85, 1);
    transform: translate3d(0, -1.1em, 0) scale3d(0.85, 0.85, 1);
  }
}
.mainForm .form-check {
  display: flex;
  align-items: flex-start;
  font-size: 0.944rem;
  margin-block-end: 2rem !important;
}
.mainForm .form-check-input {
  position: relative;
  inline-size: 1.111rem;
  block-size: 1.111rem;
  flex: none;
  margin-block-start: 0.278rem;
  margin-inline-end: 0.5rem;
  background-color: var(--bg-black);
  border: 0.056rem solid var(--bg-black);
  border-radius: 0;
  outline: none;
  cursor: pointer;
  -webkit-appearance: none;
  appearance: none;
}
.mainForm .form-check-input:checked {
  background-color: var(--bg-accent-500);
  border-color: var(--bg-accent-500);
}
.mainForm .form-check-input:checked::after {
  content: "\f26b";
  position: absolute;
  inset-block-start: 50%;
  inset-inline-start: 50%;
  color: var(--text-white);
  font-family: Material-Design-Iconic-Font;
  font-size: 0.889rem;
  font-weight: bold;
  -webkit-transform: translate(-50%, -55%);
  transform: translate(-50%, -55%);
}
.mainForm .form-check-label {
  margin: 0;
  padding-inline-start: 0.278rem;
  line-height: 1.6;
}
.mainForm__bottom {
  margin-block-start: 1rem;
}
.product-contact-form__submit {
  inline-size: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
  padding-block: clamp(0.833rem, calc(0.767rem + 0.375vw), 1.167rem);
  padding-inline: clamp(1.25rem, calc(1.117rem + 0.75vw), 1.917rem);
  border: 0.083rem solid var(--text-primary);
  border-radius: 999rem;
  background-color: transparent;
  color: var(--text-primary);
  transition:
    border-color 220ms ease,
    color 220ms ease,
    background-color 220ms ease;
}
.product-contact-form__submit:hover {
  border-color: var(--bg-accent-500);
}
.product-contact-form__submit:focus-visible {
  outline: 0.125rem dashed var(--text-primary-hover);
  outline-offset: 0.25rem;
}
.product-contact-form__submit-text {
  font-size: clamp(1rem, calc(0.945rem + 0.312vw), 1.278rem);
  line-height: 1.2;
}
.product-contact-form__submit-icon i {
  font-size: 1.333rem;
  color: currentColor;
  -webkit-transform: scaleY(-1);
  transform: scaleY(-1);
}
.mainForm input:-webkit-autofill,
.mainForm input:-webkit-autofill:hover,
.mainForm input:-webkit-autofill:focus,
.mainForm input:-webkit-autofill:active,
.mainForm textarea:-webkit-autofill,
.mainForm textarea:-webkit-autofill:hover,
.mainForm textarea:-webkit-autofill:focus,
.mainForm textarea:-webkit-autofill:active {
  -webkit-transition-delay: 9999s;
  -webkit-transition:
    color 9999s ease-out,
    background-color 9999s ease-out;
}
@media screen and (max-width: 991px) {
  .mainForm form {
    margin-block-start: 0;
  }
}
