/* ASTRA Forms 既定スタイル（テーマ側で上書き可能） */
.astra-forms { max-width: 640px; margin: 0 auto; }
.astra-forms__title { margin: 0 0 .5em; font-size: 1.4em; }
.astra-forms__desc { margin: 0 0 1.2em; color: #555; }

.astra-forms__field { margin-bottom: 1.1em; }
.astra-forms__label { display: block; margin-bottom: .35em; font-weight: 600; }
.astra-forms__req { color: #c0392b; }

.astra-forms__input {
  width: 100%;
  padding: .6em .7em;
  border: 1px solid #c9ced6;
  border-radius: 6px;
  font-size: 1em;
  box-sizing: border-box;
  background: #fff;
}
.astra-forms__input:focus { outline: 2px solid #2f6fed; border-color: #2f6fed; }

.astra-forms__choices { display: flex; flex-direction: column; gap: .4em; }
.astra-forms__choice { font-weight: 400; }

.astra-forms__actions { margin-top: 1.4em; }
.astra-forms__submit {
  display: inline-block;
  padding: .7em 1.8em;
  border: 0;
  border-radius: 6px;
  background: #2f6fed;
  color: #fff;
  font-size: 1em;
  cursor: pointer;
}
.astra-forms__submit:hover { background: #1f57c8; }

/* honeypot: 画面外に隠す（display:none だと一部 bot が検知して回避するため） */
.astra-forms__hp {
  position: absolute !important;
  left: -9999px !important;
  width: 1px; height: 1px; overflow: hidden;
}

.astra-forms__notice {
  margin-bottom: 1.2em;
  padding: .8em 1em;
  border-radius: 6px;
  font-size: .95em;
}
.astra-forms__notice--success { background: #e8f6ec; border: 1px solid #58b271; color: #1d6b34; }
.astra-forms__notice--error   { background: #fdecea; border: 1px solid #e08379; color: #a02c20; }

@media (max-width: 640px) {
  .astra-forms { padding: 0 1em; }
}
