.player-wrapper {
  width: 700px;
  background: #222;
  padding: 20px;
  border-radius: 10px;
  margin: 0 auto; /* ← これで中央寄せ */
}


.player-top {
  display: flex;
  gap: 20px;
  margin-bottom: 20px;
}

.jacket img {
  width: 300px;   /* ← 好きな大きさに調整 */
  height: 300px;
  object-fit: cover;
  border-radius: 8px;
}

.description {
  flex: 1; /* ← 右側を広く使う */
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
}


.seekbar-wrapper {
  margin: 10px 0;
}

.seekbar-wrapper input[type="range"] {
  width: 100%;
}

.controls {
  display: flex;
  justify-content: center;
  gap: 20px;
  margin-bottom: 20px;
}

.controls button {
  font-size: 20px;
  padding: 8px 16px;
}

.buy-button {
  width: 100%;
  padding: 12px;
  font-size: 16px;
  background: #635bff;
  border: none;
  color: #fff;
  border-radius: 6px;
  cursor: pointer;
}

.buy-button:hover {
  background: #5047ff;
}

.player-container {
  display: flex;
  gap: 40px;
  align-items: center; /* ← これが重要！ */
  margin: 40px auto;
  width: 900px;
}


/* 左カラム：画像 */
.player-left img {
  width: 500px;
  height: 500px;
  object-fit: cover;
}

/* 右カラム：説明・シークバー・ボタン */
.player-right {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.controls button {
  width: 60px;
  height: 60px;
  border-radius: 50%; /* 丸 */
  border: none;
  background: rgba(255, 255, 255, 0.3); /* 白 + 透明 */
  color: #fff;
  font-size: 24px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  backdrop-filter: blur(4px); /* 透明感を強調（対応ブラウザのみ） */
  transition: background 0.2s, transform 0.2s;
}

.controls button:hover {
  background: rgba(255, 255, 255, 0.5);
  transform: scale(1.05);
}

.controls {
  display: flex;
  gap: 20px;
  justify-content: center;
  margin-bottom: 20px;
}

.circle-btn {
  width: 60px;
  height: 60px;
  border-radius: 50%;
  border: none;
  background: rgba(255, 255, 255, 0.25);
  backdrop-filter: blur(6px);
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: 0.2s;
}

.circle-btn:hover {
  background: rgba(255, 255, 255, 0.4);
  transform: scale(1.05);
}

.circle-btn svg {
  width: 28px;
  height: 28px;
}

/* シークバー全体 */
.seekbar-wrapper input[type="range"] {
  -webkit-appearance: none;
  width: 100%;
  height: 6px;
  background: transparent;
  cursor: pointer;
}

/* 横棒（未再生部分） */
.seekbar-wrapper input[type="range"]::-webkit-slider-runnable-track {
  height: 6px;
  background: rgba(255, 255, 255, 0.3); /* 薄い白 */
  border-radius: 3px;
}

/* 再生済み部分（濃い白） */
.seekbar-wrapper input[type="range"]::-webkit-slider-runnable-track {
  background: linear-gradient(
    to right,
    #ffffff var(--seekbar-progress, 0%),
    rgba(255, 255, 255, 0.3) var(--seekbar-progress, 0%)
  );
}

/* つまみ（完全に消す） */
.seekbar-wrapper input[type="range"]::-webkit-slider-thumb {
  -webkit-appearance: none;
  width: 0;
  height: 0;
  opacity: 0;
}

/* Firefox */
.seekbar-wrapper input[type="range"]::-moz-range-thumb {
  width: 0;
  height: 0;
  opacity: 0;
}

.seekbar-wrapper input[type="range"]::-moz-range-track {
  height: 6px;
  background: rgba(255, 255, 255, 0.3);
  border-radius: 3px;
}

.time-display {
  display: flex;
  justify-content: space-between;
  color: rgba(255, 255, 255, 0.7);
  font-size: 13px;
  margin-top: 4px;   /* ← シークバーとの距離を縮める */
  margin-bottom: 0;  /* ← 下の余白をなくす */
  padding: 0;
}

.seekbar-wrapper {
  margin-bottom: 0px; /* ← ここを小さくすると密着感UP */
}


/*-----------------------------
スマートフォン
-----------------------------*/

@media (max-width: 767px) {

   /* プレイヤー全体を縦並びに */
  .player-container {
    flex-direction: column !important;
    align-items: center !important;
    gap: 15px !important;
    width: 95% !important;
    margin: 20px auto !important;
  }

  /* 左右カラムを画面幅いっぱいに */
  .player-left,
  .player-right {
    width: 100% !important;
  }

  /* 左カラムの画像をスマホ向けに縮小 */
  .player-left img {
    width: 100% !important;
    height: auto !important;
    max-width: 100% !important;
    border-radius: 6px;
  }

  /* 右カラムの説明やボタンを中央寄せ */
  .player-right {
    text-align: center !important;
    gap: 15px !important;
  }

  /* 購入ボタン */
  .buy-button {
    font-size: 14px !important;
    padding: 10px !important;
  }

  /* 再生ボタン */
  .circle-btn {
    width: 50px !important;
    height: 50px !important;
  }

  .circle-btn svg {
    width: 24px !important;
    height: 24px !important;
  }

  /* シークバーの高さ調整 */
  .seekbar-wrapper input[type="range"] {
    height: 4px !important;
  }

  /* 時間表示 */
  .time-display {
    font-size: 12px !important;
  }

}




