/* =====================================================
   message-form.css
   Dedicated styles for /message-form page
   Audee風のフラット寄せ調整版
   ===================================================== */

/* ================= HEADER ================= */

.message-form-page .radio-form-header{
  padding: 32px 16px 20px;
}

.message-form-page .radio-form-header__inner{
  display:flex;
  flex-direction:row;
  align-items:center;
  justify-content:center;
  flex-wrap:nowrap;
  gap:32px;
}

.message-form-page .radio-form-header__left,
.message-form-page .radio-form-header__right{
  flex:0 0 auto;
}

.message-form-page .radio-form-header__center{
  flex:0 0 auto;
  text-align:center;
}

.message-form-page .radio-form-header__logo{
  display:block;
  height:42px;
  width:auto;
}

.message-form-page .radio-form-header__title{
  font-family: system-ui, -apple-system, "Segoe UI", "Hiragino Sans",
               "Noto Sans JP", sans-serif;
  font-size:20px;
  font-weight:500;
  color:#666;
  letter-spacing:.05em;
  line-height:1.35;
  white-space:nowrap;
}

/* ================= FORM AREA ================= */

.message-form-page .cf7-wrap{
  max-width:720px;
  margin:32px auto 56px;
  padding:0 16px;
}

/* カード感を消してフラット化 */
.message-form-page .cf7-wrap form.wpcf7-form{
  background:transparent;
  border:0;
  border-radius:0;
  box-shadow:none;
  padding:0;
}

/* 項目間の縦余白 */
.message-form-page .cf7-wrap .wpcf7-form p{
  margin:0 0 18px;
  overflow:visible;
}

/* ラベル */
.message-form-page .cf7-wrap label{
  display:block;
  font-size:14px;
  font-weight:500;
  color:#555;
  letter-spacing:.02em;
  line-height:1.7;
  margin-bottom:4px;
}

/* 入力欄 */
.message-form-page .cf7-wrap input[type="text"],
.message-form-page .cf7-wrap input[type="email"],
.message-form-page .cf7-wrap input[type="tel"],
.message-form-page .cf7-wrap input[type="url"],
.message-form-page .cf7-wrap input[type="number"],
.message-form-page .cf7-wrap select,
.message-form-page .cf7-wrap textarea{
  width:100%;
  box-sizing:border-box;
  font:inherit;
  font-size:16px; /* iPhone拡大防止 */
  color:#333;
  padding:8px 12px;
  border:1px solid rgba(0,0,0,.14);
  border-radius:6px;
  background:#fff;
  box-shadow:none;
  appearance:none;
  -webkit-appearance:none;
  transition:border-color .2s ease, box-shadow .2s ease;
}

.message-form-page .cf7-wrap input[type="text"]:focus,
.message-form-page .cf7-wrap input[type="email"]:focus,
.message-form-page .cf7-wrap input[type="tel"]:focus,
.message-form-page .cf7-wrap input[type="url"]:focus,
.message-form-page .cf7-wrap input[type="number"]:focus,
.message-form-page .cf7-wrap select:focus,
.message-form-page .cf7-wrap textarea:focus{
  outline:none;
  border-color:rgba(0,0,0,.28);
  box-shadow:0 0 0 2px rgba(0,0,0,.04);
}

.message-form-page .cf7-wrap textarea{
  min-height:140px;
  resize:vertical;
}

/* placeholder を少し薄めに */
.message-form-page .cf7-wrap input::placeholder,
.message-form-page .cf7-wrap textarea::placeholder{
  color:#999;
}

/* select の詰まり感軽減 */
.message-form-page .cf7-wrap select{
  padding-right:36px;
}

/* ================= SUBMIT ================= */

.message-form-page .cf7-wrap input.wpcf7-submit{
  background:#1FA67A;
  color:#fff;
  border:0;
  border-radius:8px;
  padding:13px 26px;
  font-size:14px;
  font-weight:600;
  letter-spacing:.04em;
  line-height:1.2;
  cursor:pointer;
  transition:opacity .2s ease, transform .2s ease;
  float:right !important;
  width:auto !important;
  display:inline-block !important;
  margin:6px 0 0 !important;
}

.message-form-page .cf7-wrap input.wpcf7-submit:hover{
  opacity:.92;
  transform:translateY(-1px);
}

.message-form-page .cf7-wrap input.wpcf7-submit:active{
  transform:translateY(0);
}

/* submit行だけ崩れ防止 */
.message-form-page .cf7-wrap form.wpcf7-form p:last-of-type{
  overflow:auto;
  margin-bottom:0;
  text-align:right;
}

/* ================= ERRORS / MESSAGES ================= */

.message-form-page .cf7-wrap .wpcf7-not-valid-tip{
  font-size:12px;
  margin-top:6px;
}

.message-form-page .cf7-wrap .wpcf7-response-output{
  margin:20px 0 0;
  padding:12px 14px;
  border-radius:8px;
}

/* ================= FOOTER ================= */

.message-form-page .radio-form-footer{
  text-align:center;
  padding:24px 16px;
  opacity:.7;
  font-size:13px;
}

/* ================= RESPONSIVE ================= */

@media (max-width:600px){
  .message-form-page .radio-form-header__inner{
    flex-direction:column;
    gap:18px;
  }

  .message-form-page .radio-form-header__title{
    white-space:normal;
    font-size:20px;
    letter-spacing:.04em;
  }

  .message-form-page .radio-form-header__logo{
    height:42px;
  }

  .message-form-page .cf7-wrap{
    margin:24px auto 44px;
    padding:0 14px;
  }

  .message-form-page .cf7-wrap .wpcf7-form p{
    margin-bottom:16px;
  }

  .message-form-page .cf7-wrap label{
    font-size:13px;
    margin-bottom:4px;
  }

  .message-form-page .cf7-wrap textarea{
    min-height:140px;
  }

  .message-form-page .cf7-wrap input.wpcf7-submit{
    padding:12px 22px;
  }

  .message-form-page .cf7-wrap .wpcf7-form-control-wrap{
  margin-top:-4px;
  }
  
}
