/* 岡本マサヨシ：個別記事ページ。styles.css トークン準拠。 */

.single-article {
  padding-top: clamp(7rem, 15vh, 10rem);
  padding-bottom: var(--sec-y);
  padding-inline: var(--pad-x);
  background: var(--paper);
}

.single-article__inner { max-width: 42rem; margin-inline: auto; }

/* アイキャッチ：記事上部に控えめなサイズ。切り取らず、高さを抑えて縮小表示。 */
.single-article__thumb {
  margin: 0 auto clamp(1.6rem, 3.5vh, 2.4rem);
  text-align: center;
}
.single-article__thumb img {
  max-width: 100%;
  max-height: 18rem;
  width: auto;
  height: auto;
  display: inline-block;
  border-radius: 6px;
}

.single-article__meta {
  display: flex; align-items: center; gap: 0.9em;
  font-family: var(--mono);
  font-size: 0.8rem;
  letter-spacing: 0.06em;
  color: var(--ink-faint);
}
.single-article__title {
  font-family: var(--jp);
  font-size: clamp(1.5rem, 3.4vw, 2.05rem);
  font-weight: 600;
  line-height: 1.55;
  letter-spacing: 0.02em;
  color: var(--sumi-deep);
  margin: 0.85rem 0 clamp(1.8rem, 4vh, 2.6rem);
}
/* タイトル右の薄灰マーク（クリックでURLコピー） */
.single-article__mark {
  position: relative;
  display: inline-flex; align-items: center; justify-content: center;
  margin-left: 0.4em; padding: 0.15em;
  border: none; background: none; cursor: pointer;
  color: var(--ink-faint); vertical-align: baseline;
  transition: color 0.2s var(--ease);
}
.single-article__mark:hover { color: var(--ink-2); }
.single-article__mark svg { width: 0.82em; height: 0.82em; display: block; }
.single-article__mark-copied {
  position: absolute; bottom: calc(100% + 0.4rem); left: 50%; transform: translateX(-50%);
  white-space: nowrap; font-family: var(--jp); font-size: 0.62rem; letter-spacing: 0.05em;
  padding: 0.25em 0.6em; background: var(--sumi-deep); color: var(--paper); border-radius: 4px;
  opacity: 0; pointer-events: none; transition: opacity 0.2s;
}
.single-article__mark.is-copied .single-article__mark-copied { opacity: 1; }

/* 本文 */
.single-article__body {
  font-family: var(--jp);
  font-size: clamp(0.98rem, 1.5vw, 1.06rem);
  line-height: 2.2;
  letter-spacing: 0.03em;
  color: var(--ink-2);
}
.single-article__body p { margin-bottom: 1.5em; }
.single-article__body p:last-child { margin-bottom: 0; }
.single-article__body a { color: var(--sage-deep); text-decoration: underline; text-underline-offset: 2px; }
.single-article__body a:hover { color: var(--sumi-deep); }
.single-article__body h2,
.single-article__body h3 {
  font-weight: 600; color: var(--sumi-deep);
  margin: 2em 0 0.8em; letter-spacing: 0.03em;
}
.single-article__body img { max-width: 100%; height: auto; border-radius: 4px; margin: 1em 0; }
.single-article__body strong { color: var(--sumi-deep); font-weight: 600; }

/* 記事末尾：シェア動線（控えめ） */
.single-share {
  margin-top: clamp(2.4rem, 5vh, 3.4rem);
  display: flex; align-items: center; justify-content: center; gap: 1rem; flex-wrap: wrap;
}
.single-share__label {
  font-family: var(--mono);
  font-size: 0.76rem; letter-spacing: 0.1em; color: var(--ink-faint);
}
.single-share__btns { display: flex; gap: 0.6rem; }
.single-share__btn {
  position: relative;
  display: inline-flex; align-items: center; justify-content: center;
  width: 2.4rem; height: 2.4rem; padding: 0;
  border: 1px solid var(--line-2); border-radius: 50%;
  color: var(--ink-2); background: none; cursor: pointer;
  transition: background 0.2s var(--ease), color 0.2s var(--ease), border-color 0.2s var(--ease);
}
.single-share__btn:hover { background: var(--sumi-deep); color: var(--paper); border-color: var(--sumi-deep); }
.single-share__btn svg { width: 0.95rem; height: 0.95rem; }
.single-share__copied {
  position: absolute; bottom: calc(100% + 0.5rem); left: 50%; transform: translateX(-50%);
  white-space: nowrap; font-size: 0.68rem; padding: 0.25em 0.6em;
  background: var(--sumi-deep); color: var(--paper); border-radius: 4px;
  opacity: 0; pointer-events: none; transition: opacity 0.2s;
}
.single-share__btn.is-copied .single-share__copied { opacity: 1; }

/* フッター：一覧へ戻る */
.single-article__foot {
  margin-top: clamp(2.6rem, 6vh, 4rem);
  padding-top: clamp(1.6rem, 3.5vh, 2.4rem);
  border-top: 1px solid var(--line);
  text-align: center;
}
.single-article__foot .arw { margin-right: 0.4em; }
