/* 2026.11.03
 * Snow Monkey Forms の見た目を、旧フォーム（MW WP Form）に合わせる
 * 値は子テーマの assets/css/styles.css の .un_form 系から転記
 * 個人情報保護方針（.un_form_policy 系）は styles.css のスタイルがそのまま効くので、ここには書かない
 * 必須の項目は、項目ブロックの「追加 CSS クラス」に un_req を付けると「必須」マークが付く
 * @author 外部業者:memori
 */

/* フォーム全体 */
.snow-monkey-form {
  background-color: #f7f7f7;
  padding: 40px;
}

.snow-monkey-form .smf-form {
  display: grid;
  row-gap: 30px;
}

.snow-monkey-form .smf-form .smf-item {
  display: block;
  margin: 0;
  padding: 0;
  border: none;
}

.snow-monkey-form .smf-form .smf-item__col {
  display: block;
  width: 100%;
  padding: 0;
}

/* 見出し */
.snow-monkey-form .smf-form .smf-item__label {
  display: flex;
  align-items: center;
  column-gap: 5px;
  font-weight: 700;
  line-height: 1.4;
}

/* 必須マーク（見出しの後ろ） */
.snow-monkey-form .smf-form .smf-item.un_req .smf-item__label::after,
.snow-monkey-form .smf-form .smf-item.agreement.un_req .smf-item__controls::before {
  content: "必須";
  display: inline-block;
  color: #fff;
  background-color: var(--color-primary);
  font-size: 12px;
  font-weight: 700;
  line-height: 1.4;
  padding: .2em .7em .15em;
  border-radius: 10px;
}

/* 入力欄 */
.snow-monkey-form .smf-form .smf-item__controls {
  padding-left: 20px;
  margin-top: 10px;
}

.snow-monkey-form .smf-form .smf-text-control__control,
.snow-monkey-form .smf-form .smf-textarea-control__control {
  box-sizing: border-box;
  width: 100%;
  max-width: none;
  font-size: 16px;
  line-height: 1.5;
  padding: 12px 16px;
  background-color: #fff;
  border: none;
  border-radius: 5px;
  box-shadow: none;
  transition: box-shadow .3s;
}

.snow-monkey-form .smf-form .smf-text-control__control:focus,
.snow-monkey-form .smf-form .smf-textarea-control__control:focus {
  outline: none;
  box-shadow: 0 0 0 1px var(--color-primary);
}

/* ラジオボタン（縦並び） */
.snow-monkey-form .smf-form .smf-radio-buttons-control--vertical .smf-radio-buttons-control__control {
  display: grid;
  row-gap: 15px;
  margin-top: 20px;
}

.snow-monkey-form .smf-form .smf-label {
  margin: 0;
}

/* ファイル */
.snow-monkey-form .smf-form .smf-control-description {
  font-size: 14px;
  margin-top: 5px;
}

/* 同意のチェック（中央寄せ、必須マークを前に置く） */
.snow-monkey-form .smf-form .smf-item.agreement {
  margin-top: 0;
}

.snow-monkey-form .smf-form .smf-item.agreement .smf-item__controls {
  display: flex;
  align-items: center;
  justify-content: center;
  column-gap: 10px;
  padding-left: 0;
  margin-top: 0;
}

/* エラー */
.snow-monkey-form .smf-form .smf-error-messages {
  color: rgb(220, 50, 50);
}

/* Turnstile */
.snow-monkey-form .snow-monkey-forms-turnstile {
  display: flex;
  justify-content: center;
  margin-top: 30px;
}

/* ボタン */
.snow-monkey-form .smf-action {
  display: flex;
  align-items: center;
  justify-content: center;
  column-gap: 30px;
  margin: 0;
}

.snow-monkey-form .smf-action .smf-button-control__control {
  cursor: pointer;
  display: block;
  color: #fff;
  background-color: var(--color-primary);
  background-image: none;
  font-size: 18px;
  font-weight: 700;
  border: none;
  padding: 20px 50px;
  border-radius: 50px;
  box-shadow: none;
  margin-top: 40px;
}

.snow-monkey-form .smf-action .smf-button-control__control[data-action="back"] {
  background-color: #999;
}

@media (hover: hover) {
  .snow-monkey-form .smf-action .smf-button-control__control {
    transition: opacity .3s;
  }

  .snow-monkey-form .smf-action .smf-button-control__control:hover {
    opacity: .7;
  }
}

@media screen and (max-width: 750px) {
  .snow-monkey-form {
    padding: 20px;
  }

  .snow-monkey-form .smf-action .smf-button-control__control {
    padding: 10px 30px;
  }
}
