/* ===== FAQ styles ===== */
#faq-hero {
  background: linear-gradient(135deg, rgba(118,74,241,0.06), rgba(0,199,190,0.06));
}

#faq-search-wrap .form-control {
  border-left: 1px solid #ced4da; /* アイコン削除に伴う通常枠線 */
}

#faq-result-meta { line-height: 1.8; }

/* 一括操作ボタン */
#faq-expand-all, #faq-collapse-all { min-width: 7.5rem; }

/* カード */
.faq-card {
  border: 0;
  border-radius: 0.85rem;
  overflow: hidden;
  box-shadow: 0 0.7rem 1.6rem rgba(0,0,0,0.06);
  margin-bottom: 1rem;
}
.faq-card .card-header {
  background: #fff;
  border-bottom: 1px dashed #eee;
  padding: 0.75rem 1rem;
}

/* 見出しボタン */
.faq-toggle {
  width: 100%;
  text-align: left;
  font-weight: 600;
  color: #343a40;
  text-decoration: none;
  position: relative;
  padding-right: 2.25rem; /* 右の矢印スペース */
}
.faq-toggle:hover,
.faq-toggle:focus {
  text-decoration: none;
  color: #764af1;
}

/* Q. ラベルとテキスト */
.faq-q-label { display: inline-block; color: #764af1; margin-right: .5rem; }
.faq-q-text { flex: 1; }

/* ▼ 右側のシェブロン：閉＝下向き、開＝上向き */
.faq-chevron {
  width: 0.55rem;
  height: 0.55rem;
  border-right: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  transform: rotate(45deg);         /* 閉時：下向き */
  transition: transform .18s ease;
  opacity: .9;
  margin-left: .75rem;
}
.faq-toggle.is-open .faq-chevron {
  transform: rotate(-135deg);       /* 開時：上向き */
}

/* 説明文で表示する矢印（下向きに統一） */
.chev-demo {
  display: inline-block;
  width: 0.55rem;
  height: 0.55rem;
  border-right: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  transform: rotate(45deg);
  opacity: .7;
  margin: 0 .15rem;
}

/* 本文 */
.faq-card .card-body { background: #fff; }

/* 空状態 */
#faq-empty-state .emoji-bubble {
  width: 52px; height: 52px; border-radius: 14px; background: #fff;
  display: inline-flex; align-items: center; justify-content: center;
  box-shadow: 0 10px 18px rgba(0,0,0,0.08); font-size: 26px;
}

/* ハイライト */
mark[data-faq-mark] {
  padding: .1em .25em;
  border-radius: .25rem;
  background: #ffe08a;
}

/* レスポンシブ微調整 */
@media (min-width: 992px) {
  #faq-search-wrap .card-body { padding: 2rem 2.5rem; }
}
