/*
Theme Name: 結い言 LP Theme
Version: 1.1.5
*/

:root { --yuigon-gold:#C0A062; --yuigon-navy:#2c3e50; --bg:#FDFBF8; }
body { background:var(--bg); }
.navy-text { color:var(--yuigon-navy); }
.gold-text { color:var(--yuigon-gold); }
.bg-gold { background-color:var(--yuigon-gold); }
.cta-button { transition:all .3s ease; }
.cta-button:hover { transform:translateY(-2px); box-shadow:0 4px 10px rgba(0,0,0,.1); }
.navy-bg { background-color: #2c3e50; }


/* 幅の上限（Tailwind未使用環境向けフォールバック） */
.container.max-w-6xl { max-width:72rem; }

/* ===== CF7 基本スタイル ===== */
.yuigon-form label {
  display:block; font-weight:600; color:var(--yuigon-navy);
}
.yuigon-form input,
.yuigon-form textarea,
.yuigon-form select {
  width:100%;
  border:1px solid #E5E7EB;
  border-radius:.75rem;
  padding:.75rem 1rem;
  background:#fff;
}
.yuigon-form input:focus,
.yuigon-form textarea:focus,
.yuigon-form select:focus {
  outline:none;
  box-shadow:0 0 0 3px rgba(192,160,98,.25);
  border-color:var(--yuigon-gold);
}
.yuigon-form input[type=radio],
.yuigon-form input[type=checkbox] { width:auto; margin-right:.4em; }

.wpcf7 form .wpcf7-response-output { border-color:var(--yuigon-gold); }
.wpcf7-not-valid-tip { color:#b91c1c; font-size:.85rem; margin-top:.25rem; }

/* 送信ボタン（ベース） */
.yuigon-submit {
  display:inline-block;
  background:var(--yuigon-gold);
  color:#fff;
  padding:.9rem 2.5rem;
  border-radius:9999px;
  font-weight:700;
  border:none;
  cursor:pointer;
  line-height:1;
}
.yuigon-submit:hover { opacity:.92; }

/* ===== FAQ: 安定版（高さはJSで制御） ===== */
/* Grid版は削除。下記を最終ルールとして使用 */
.faq-item { position:relative; border-radius:.75rem; }
.faq-item + .faq-item { margin-top:1rem; }
.faq-question { width:100%; display:flex; align-items:center; justify-content:space-between; line-height:1.4; }
.faq-question .chev { transition:transform .3s ease; will-change:transform; }
.faq-item.is-open .faq-question .chev { transform:rotate(180deg); }



/* ===== CF7 submit & response hardening（競合に勝つための最終ルール） ===== */
.wpcf7 form .yuigon-submit,
.yuigon-form input[type=submit],
.wpcf7 form input[type=submit].yuigon-submit {
  background:#C0A062 !important;
  color:#fff !important;
  border:none !important;
  border-radius:9999px !important;
  padding:.9rem 2.5rem !important;
  font-weight:700 !important;
  line-height:1 !important;
  display:inline-block !important;
  cursor:pointer !important;
  box-shadow:none !important;
}
.wpcf7 form .yuigon-submit:hover { opacity:.92 !important; }

.wpcf7 form .wpcf7-response-output {
  margin-top:1rem;
  border-color:#C0A062;
}

/* ===== v1.1.5 FAQ 最終安定版 ===== */
.faq-answer {
  overflow: hidden;
  max-height: 0;
  transition: max-height 0.35s ease;
}

.faq-item.is-open .faq-answer {
  max-height: 500px; /* 回答文の最大高さを十分に取る */
}

.faq-answer > * {
  padding: 0.75rem 1rem;
}

/* 矢印の回転 */
.faq-question .chev {
  transition: transform 0.3s ease;
}
.faq-item.is-open .faq-question .chev {
  transform: rotate(180deg);
}
