.form-input-container {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 2rem;
}

.form-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1.5rem;

  padding: 1.2rem 2rem;

  border-radius: 0.8rem;
  border: 2px solid #d6d6d6;
}

.form-row.textarea-row {
  align-items: flex-start;
}

.form-row.col-1 {
  width: 100%;
}

.form-row.col-2 {
  width: calc(50% - 1rem);
}

.form-label {
  position: relative;

  flex-shrink: 0;

  font-size: 1.8rem;
  font-weight: 500;
  line-height: 1.6;
  color: #474747;
}

.form-label.required {
  padding-right: 0.7em;
}

.form-label.required::after {
  content: "*";
  display: block;

  position: absolute;
  top: 0.08em;
  right: 0;
  color: var(--color-primary);
}

.form-input {
  flex: 1;
  min-width: 0;

  font-size: 16px;
  letter-spacing: -0.04em;
  text-align: right;

  border: none;
  outline: none;
}

.form-textarea {
  flex: 1;

  font-size: 16px;
  letter-spacing: -0.04em;

  min-height: 15rem;
  resize: none;
  padding-top: 0.15em;
}

.form-input::placeholder,
.form-textarea::placeholder {
  font-size: 16px;
  color: #959595;
}

.form-btn-container {
  display: flex;
  flex-direction: column;
  gap: 2rem;

  margin-top: 4rem;
}

.agree-row {
  position: relative;

  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
}

.agree-row .custom-checkbox {
  display: inline-flex;
  align-items: center;
  gap: 1.2rem;

  color: #222;
  font-size: 1.8rem;
  font-weight: 600;
  letter-spacing: -0.04em;

  user-select: none;
  cursor: pointer;
}

.agree-row .custom-checkbox input[type="checkbox"] {
  display: none;
}

.agree-row .custom-checkbox .checkmark {
  position: relative;

  display: inline-block;

  width: 2rem;
  height: 2rem;

  border: 1px solid #303030;
  border-radius: 0.4rem;
  background-color: white;
}

.agree-row .custom-checkbox input:checked + .checkmark {
  background-color: var(--color-primary);
  border-color: var(--color-primary);
}

.agree-row .custom-checkbox input + .checkmark::after,
.agree-row .custom-checkbox input:checked + .checkmark::after {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -55%);
}

.agree-row .custom-checkbox input + .checkmark::after {
  content: url("/assets/img/common/icon/input-checkbox-bk.svg");
}

.agree-row .custom-checkbox input:checked + .checkmark::after {
  content: url("/assets/img/common/icon/input-checkbox-wh.svg");
}

.agree-row .policy-link {
  font-size: 1.6rem;
  font-weight: 700;
  color: var(--color-primary);
  letter-spacing: -0.04em;

  text-decoration: underline;

  margin-left: 6px;
}

.form-submit {
  font-size: 2.2rem;
  font-weight: 500;
  color: #fff;

  padding: 0.7em;

  border-radius: 1.2rem;
  background: var(--color-primary);

  transition: background 0.3s ease;
}

.form-submit:hover {
  background: #64a1c4;
}

input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus {
  box-shadow: none !important;
  -webkit-text-fill-color: inherit !important; /* 글자색도 재설정 */
  transition: background-color 5000s ease-in-out 0s; /* 깜빡임 방지 */
}

/* 반응형 */
@media (max-width: 1440px) {
  .form-textarea {
    padding-top: 0.01em;
  }
}

@media (max-width: 1024px) {
  .form-row.col-2 {
    width: 100%;
  }

  .form-textarea {
    padding-top: 0;
  }
}
