/* ============================================================
   Contact Form 7 連携用スタイル
   （既存フォームデザイン .cf__ / .kform 等に CF7 の生成マークアップを馴染ませる）
   common.css の再同期で消えないよう独立ファイルにしている。
   ============================================================ */

/* CF7 は <input> を <span class="wpcf7-form-control-wrap"> で包むため、
   width:100% を効かせるにはラッパーをブロック化する必要がある。 */
.cf__control .wpcf7-form-control-wrap,
.kfield .wpcf7-form-control-wrap { display: block; }

/* CF7 が form を出力する際の余白リセット（.cf__form ラッパー側で余白を持たせる） */
.cf__form .wpcf7,
.cf__form .wpcf7-form { margin: 0; }

/* 入力エラー時のフィールド枠 */
.wpcf7-not-valid { border-color: #e0004d !important; }

/* フィールド直下のエラーメッセージ */
.wpcf7-not-valid-tip {
  display: block;
  margin-top: 6px;
  color: #e0004d;
  font-size: 13px;
  font-weight: 700;
}

/* 送信結果メッセージ（成功/失敗の帯） */
.wpcf7-response-output {
  margin: 24px 0 0 !important;
  padding: 14px 18px !important;
  border-radius: 8px;
  border-width: 1px !important;
  font-size: 14px;
  line-height: 1.6;
}
.wpcf7 form.sent .wpcf7-response-output { border-color: var(--primary); background: #eafaf8; color: #0c6b64; }
.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.failed .wpcf7-response-output { border-color: #e0004d; background: #fdecf1; color: #b00038; }

/* 送信中スピナー */
.wpcf7-spinner { margin: 0 0 0 12px; }

/* チェックボックス（acceptance）を .cf__inline-check の見た目に寄せる */
.cf__inline-check .wpcf7-form-control-wrap { display: inline-block; }
.cf__inline-check .wpcf7-list-item { margin: 0; }
.cf__inline-check .wpcf7-list-item-label { font-size: 15px; }

/* [select] の生成する <select> を .cf__control input と同じ見た目に
   （common.css 側の .cf__control select が本体。ここはラッパー幅の調整のみ） */
.cf__control .wpcf7-form-control-wrap select { width: 100%; }

/* dexweb「きっかけ」チェックボックス群（[checkbox source ...]）を
   既存 .cf__checks / .cf__inline-check デザインに合わせる */
.cf__checks .wpcf7-checkbox,
.cf__checks .wpcf7-radio { display: flex; flex-wrap: wrap; gap: 12px 24px; }
.cf__checks .wpcf7-list-item { margin: 0; }
.cf__checks .wpcf7-list-item label { display: inline-flex; align-items: center; gap: 12px; font-size: 15px; cursor: pointer; user-select: none; }
.cf__checks .wpcf7-list-item-label { font-size: 15px; }
.cf__checks .wpcf7-list-item input[type="checkbox"] {
  appearance: none; -webkit-appearance: none;
  width: 24px; height: 24px; flex-shrink: 0;
  background: #f2f4f6; border: 1px solid #d6dbe0; border-radius: 4px;
  cursor: pointer; position: relative; transition: background .2s, border-color .2s;
}
.cf__checks .wpcf7-list-item input[type="checkbox"]:checked { background: var(--primary); border-color: var(--primary); }
.cf__checks .wpcf7-list-item input[type="checkbox"]:checked::after {
  content: ""; position: absolute; left: 8px; top: 4px;
  width: 6px; height: 11px; border: solid #fff; border-width: 0 2px 2px 0; transform: rotate(45deg);
}
