/* ===================================================
   ⑨ お問い合わせページ CSS
   グループ別カラーに対応（--group-primary を使用）
   =================================================== */

.contact-wrap {
  max-width: 680px;
  margin: 0 auto;
  padding: 80px 24px;
}
.contact-intro {
  text-align: center;
  color: var(--group-text-light, #9E7AA5);
  margin-bottom: 48px;
  font-size: .95rem;
  line-height: 1.9;
}

/* CF7 フォームラッパー */
.wpcf7-form,
.wpcf7 form {
  background: var(--group-white, #fff);
  border: 2px solid var(--group-border, #F4C6DB);
  border-radius: 20px;
  padding: 40px 48px;
  box-shadow: 0 8px 32px rgba(0,0,0,.08);
}

/* ラベル */
.wpcf7-form label,
.wpcf7 form label {
  display: block;
  font-size: .85rem;
  font-weight: 700;
  color: var(--group-text, #3D2040);
  margin-bottom: 8px;
  letter-spacing: .05em;
}
.wpcf7-form .required-mark,
.wpcf7 form .wpcf7-validates-as-required + abbr {
  color: var(--group-primary, #FF6B9D);
}

/* 入力・テキストエリア */
.wpcf7-form input[type="text"],
.wpcf7-form input[type="email"],
.wpcf7-form input[type="tel"],
.wpcf7-form textarea,
.wpcf7 form input[type="text"],
.wpcf7 form input[type="email"],
.wpcf7 form input[type="tel"],
.wpcf7 form textarea {
  width: 100%;
  padding: 12px 16px;
  border: 2px solid var(--group-border, #F4C6DB);
  border-radius: 10px;
  font-family: inherit;
  font-size: .95rem;
  color: var(--group-text, #3D2040);
  background: var(--group-bg, #FFF0F5);
  transition: border-color .3s, background .3s;
  outline: none;
  box-sizing: border-box;
  margin-bottom: 20px;
}
.wpcf7-form input:focus,
.wpcf7-form textarea:focus,
.wpcf7 form input:focus,
.wpcf7 form textarea:focus {
  border-color: var(--group-primary, #FF6B9D);
  background: #fff;
}
.wpcf7-form textarea,
.wpcf7 form textarea {
  min-height: 160px;
  resize: vertical;
}

/* 送信ボタン */
.wpcf7-form input[type="submit"],
.wpcf7-form .wpcf7-submit,
.wpcf7 form input[type="submit"] {
  width: 100%;
  padding: 16px;
  background: linear-gradient(135deg,
    var(--group-primary, #FF6B9D),
    var(--group-secondary, #FFE066)
  );
  color: var(--group-white, #fff);
  border: none;
  border-radius: 9999px;
  font-size: 1rem;
  font-weight: 700;
  letter-spacing: .15em;
  cursor: pointer;
  transition: all .3s;
  box-shadow: 0 4px 16px rgba(0,0,0,.15);
  margin-top: 8px;
}
.wpcf7-form input[type="submit"]:hover,
.wpcf7 form input[type="submit"]:hover {
  transform: scale(0.96);
  box-shadow: 0 2px 8px rgba(0,0,0,.12);
}

/* バリデーションエラー */
.wpcf7-not-valid-tip {
  color: #e53e3e;
  font-size: .8rem;
  margin-top: -16px;
  margin-bottom: 12px;
  display: block;
}
.wpcf7-not-valid {
  border-color: #e53e3e !important;
}

/* 送信結果メッセージ */
.wpcf7-response-output {
  margin-top: 20px;
  padding: 14px 20px;
  border-radius: 10px;
  font-size: .9rem;
  text-align: center;
}
.wpcf7-mail-sent-ok {
  background: #f0fff4;
  border: 2px solid #68d391;
  color: #276749;
}
.wpcf7-mail-sent-ng,
.wpcf7-aborted {
  background: #fff5f5;
  border: 2px solid #fc8181;
  color: #c53030;
}
.wpcf7-spam-blocked {
  background: #fffbeb;
  border: 2px solid #f6e05e;
  color: #744210;
}

/* Corporate 用（濃い色に白文字） */
body.page-template-template-corporate .wpcf7-form input[type="submit"],
body.page-template-template-corporate .wpcf7 form input[type="submit"] {
  background: linear-gradient(135deg, #7e2bc9, #e94560);
  color: #fff;
}

/* パピプペポ用 */
body.page-template-template-papipupepo .wpcf7-form input[type="submit"],
body.page-template-template-papipupepo .wpcf7 form input[type="submit"] {
  background: linear-gradient(135deg, #e91e8c, #7c3aed);
  color: #fff;
}

/* SP */
@media (max-width: 600px) {
  .wpcf7-form,
  .wpcf7 form { padding: 28px 20px; }
}
