/* ========================================================
   曲ページ（/song/曲名/）専用
   - 共通の style.css は触らず、曲ページだけで読み込む
   - * で font-size が要素ごとに 16px（スマホ 14px）に戻るため、
     文字の大きさは中身の要素ごとに指定する
   ======================================================== */

.songpage{
  margin: 0 0 60px 0; /* 横幅はトップと同じく .page-container に任せる */
}

/* ---------- 曲の情報カード ---------- */
.songpage-hero{
  margin: 10px 0 0 0;
  padding: 24px 28px;
  border-radius: 14px;
  background-color: rgba(255,255,255,1);
  box-shadow: 0 4px 16px rgba(0,0,0,0.14);
}
.songpage-eyebrow{
  font-size: 0.85em;
  color: #7a7566;
}
.songpage-title{
  margin: 2px 0 8px 0;
  font-size: 32px;
  line-height: 1.4em;
  color: #c70b00;
}
.songpage-meta a{
  font-size: 1em;
  color: #464036;
  text-decoration: underline;
}
.songpage-meta-sep{
  margin: 0 6px;
  color: #c82424;
}
.songpage-stats{
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin: 18px 0 0 0;
}
.songpage-stats div{
  padding: 10px 4px;
  border-radius: 10px;
  background-color: #fdeef0;
  text-align: center;
}
.songpage-stats dt{
  font-size: 0.8em;
  color: #7a7566;
}
.songpage-stats dd{
  font-size: 1.1em;
  font-weight: bold;
}
.songpage-stats .songpage-stats-count{
  font-size: 1.8em;
  line-height: 1.3em;
  color: #c70b00;
}
.songpage-stats-unit{
  font-size: 0.8em;
  font-weight: bold;
  color: #c70b00;
}
.songpage-lead{
  margin: 16px 0 0 0;
  font-size: 0.95em;
  line-height: 1.9em;
}

/* ---------- 見出し：左ボーダー＋下線（Heartravel と同じ形） ---------- */
.songpage-label{
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 44px 0 16px 0;
  padding: 8px 0 8px 12px;
  border-left: 4px solid #c82424;
  border-bottom: 1px solid #c82424;
  font-size: 1.25em;
  font-weight: bold;
  color: #c82424;
}
.songpage-label-count{
  font-size: 0.75em;
  font-weight: bold;
  color: #c82424;
}
.songpage-label-icon{
  margin-left: auto;
  font-size: 1em;
  color: #c82424;
}

/* 新しい順 / 古い順 */
.songpage-sort{
  display: flex;
  gap: 6px;
  margin-left: auto;
}
.songpage-sort button{
  padding: 2px 12px;
  border: 1px solid #c82424;
  border-radius: 999px;
  background: #fff;
  color: #c82424;
  font-size: 0.75em;
  font-weight: bold;
  cursor: pointer;
}
.songpage-sort button.is-active{
  background: #c82424;
  color: #fff;
}

/* ---------- 歌った歌枠のリスト ---------- */
/* カードはトップと同じ部品（.song-list / .song-item）。PC 4列・スマホ 1列も共通CSSのまま */
.songpage .song-list{
  margin: 0; /* 共通の上の余白（50px）は見出しがあるので不要 */
}
.songpage-perf{
  overflow: hidden; /* サムネイルの角をカードの角丸に合わせる */
}
.songpage-perf.is-hidden{
  display: none;
}
/* トップの8枚目だけに付く「はあとん」の飾りは、曲ページでは出さない */
.songpage .song-item:nth-of-type(8) .youtube-link::before{
  content: none;
}

/* サムネイル（押したらその場で動画に切り替わる） */
.songpage-thumb{
  position: relative;
  display: block;
  width: 100%;
  aspect-ratio: 16 / 9;
  overflow: hidden;
  background: #3a2a2a;
  cursor: pointer;
}
.songpage-thumb img{
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.songpage-thumb-play{
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 46px;
  height: 46px;
  border-radius: 50%;
  background: rgba(200,36,36,0.9);
  color: #fff;
  font-size: 18px;
  line-height: 46px;
  text-align: center;
}
.songpage-thumb-play i{
  font-size: 18px;
  color: #fff;
  line-height: 46px;
}
.songpage-thumb-time{
  position: absolute;
  right: 6px;
  bottom: 6px;
  padding: 0 6px;
  border-radius: 4px;
  background: rgba(0,0,0,0.75);
  color: #fff;
  font-size: 12px;
  line-height: 1.6em;
}
.songpage-player{
  display: block;
  width: 100%;
  aspect-ratio: 16 / 9;
}

/* トップの曲名の位置に配信タイトル。赤・太字・下線は付けず、普通の文字で左寄せ */
.songpage-perf-stream{
  padding: 0 0 4% 0;
  text-align: left;
  font-size: 0.95em;
  line-height: 1.6em;
}

.songpage-more{
  display: block;
  margin: 20px auto 0 auto; /* 中身の幅で中央に置く */
  padding: 10px 40px;
  border: 1px solid #ccc;
  border-radius: 10px;
  background: #fff;
  font-size: 0.95em;
  font-weight: bold;
  cursor: pointer;
}
.songpage-more[hidden]{
  display: none; /* 上の display: block が hidden 属性より強いので、隠す時はこっちで消す */
}
.songpage-more:hover{
  background: #fdeef0;
}

/* ---------- その歌枠で前後に歌った曲 ---------- */
.songpage-around{
  margin: 10px 0 0 0;
  padding: 8px 0 0 0;
  border-top: 1px dashed #eee;
  text-align: left;
}
.songpage-around a{
  display: flex;
  align-items: baseline;
  gap: 8px;
  padding: 2px 0;
  color: #c70b00;
  font-size: 0.9rem;
  line-height: 1.5;
}
.songpage-around a:hover .songpage-around-name{
  text-decoration: underline; /* 下線は曲名だけ（「前の曲」ラベルには付けない） */
}
.songpage-around .songpage-around-name{
  font-size: inherit;
  color: inherit;
}
.songpage-around .songpage-around-label{
  flex-shrink: 0;
  padding: 0 8px;
  border-radius: 999px;
  background: #fdeef0;
  color: #888;
  font-size: 0.75rem;
}

/* ---------- 関連する曲 ---------- */
.songpage-related{
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.songpage-related a{
  display: block;
  padding: 4px 14px;
  border: 1px solid #ccc;
  border-radius: 999px;
  background: #fff;
  color: #c70b00;
  font-size: 0.95em;
}
.songpage-related a:hover{
  border-color: #c82424;
}

/* ---------- ほかの曲を探す ---------- */
.songpage-search{
  margin: 40px 0 0 0;
  text-align: center;
}
.songpage-search a{
  display: inline-block;
  padding: 10px 28px;
  border-radius: 999px;
  background: linear-gradient(to bottom right, rgba(200,36,36,1), rgba(238,73,73,1));
  color: #fff;
  font-weight: bold;
}
.songpage-search a i{
  margin-right: 6px;
  color: #fff;
}

/* ---------- スマホ ---------- */
@media (max-width:768px) {
  .songpage-hero{
    padding: 18px 16px;
  }
  .songpage-title{
    font-size: 24px;
  }
  .songpage-stats .songpage-stats-count{
    font-size: 1.6em;
  }
  .songpage-label{
    flex-wrap: wrap;
  }
  .songpage-around a{
    font-size: 1.1em; /* 日付（.song-date）と同じ大きさ */
  }
}
