/* 記事の読後導線。フォームのDOMや計測用クラスは変更せず、native detailsで畳む。 */
.reading-offer {
  margin: 48px 0 0;
  border: 1px solid var(--border-solid);
  border-radius: var(--radius-md);
  background: var(--bg);
  overflow: hidden;
}

.reading-offer > summary {
  display: flex;
  align-items: center;
  gap: 12px;
  min-height: 58px;
  padding: 16px 22px;
  cursor: pointer;
  color: var(--text);
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.7;
  list-style: none;
}

.reading-offer > summary::-webkit-details-marker { display: none; }
.reading-offer > summary::before {
  content: '＋';
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 26px;
  height: 26px;
  flex: 0 0 26px;
  border-radius: 50%;
  background: var(--orange);
  color: var(--dark);
  font-size: 1.2rem;
  line-height: 1;
}
.reading-offer[open] > summary {
  border-bottom: 1px solid var(--border-solid);
}
.reading-offer[open] > summary::before { content: '−'; }

/* 固定ヘッダーにフォーム見出し・既存のhash到達点が隠れないようにする。 */
.reading-offer [id] { scroll-margin-top: 96px; }

/* 外側のCTAクラス・IDを保持したまま、開いた案内内では余白を一体化する。 */
.reading-offer .article-cta-form-wrap {
  margin: 0;
  border-radius: 0;
  box-shadow: none;
}
.reading-offer .article-cta-form-wrap + .article-cta-form-wrap {
  border-top: 1px solid rgba(255,255,255,0.18);
}

@media (max-width: 720px) {
  .reading-offer { margin-top: 40px; }
  .reading-offer > summary { padding: 14px 18px; font-size: 0.97rem; }
}
