/* 作品画像＋購入ボタン（左に画像・右にボタン）
   色は下の変数で調整できます */
.wcb {
  --wcb-line:   #e3e6eb;
  --wcb-bg:     #f7f8fa;
  --wcb-text:   #2b2f36;
  --wcb-sub:    #6b7280;
  --wcb-dlsite: #1e63c8;
  --wcb-fanza:  #d92b3a;
  --wcb-steam:  #1b2838;

  display: flex;
  align-items: center;
  gap: 14px;
  max-width: 620px;
  margin: 1.6em auto;
  padding: 12px;
  border: 1px solid var(--wcb-line);
  border-radius: 12px;
  background: var(--wcb-bg);
  color: var(--wcb-text);
}

/* 左：作品画像 */
.wcb-cover {
  flex: 0 0 46%;
  max-width: 280px;
  line-height: 0;
}
.wcb-cover a { display: block; }
.wcb-cover img {
  display: block;
  width: 100%;
  height: auto;
  margin: 0 !important;
  border-radius: 8px;
  box-shadow: 0 1px 6px rgba(0,0,0,.10);
  transition: opacity .15s;
}
.wcb-cover a:hover img { opacity: .9; }

/* 右：ひとこと・ボタン */
.wcb-side {
  flex: 1 1 auto;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.wcb-lead {
  margin: 0 !important;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.55;
}
.wcb-buy {
  display: flex;
  flex-direction: column;
  gap: 7px;
}
.wcb-btn {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 7px 10px;
  border-radius: 8px;
  color: #fff !important;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.3;
  text-align: center;
  text-decoration: none !important;
  box-shadow: 0 2px 0 rgba(0,0,0,.15);
  transition: transform .15s, box-shadow .15s, opacity .15s;
}
a.wcb-btn:hover { transform: translateY(1px); box-shadow: 0 1px 0 rgba(0,0,0,.15); opacity: .92; }
a.wcb-btn::after { content: "›"; margin-left: 6px; font-size: 17px; line-height: 1; }
.wcb-btn.is-dlsite { background: var(--wcb-dlsite); }
.wcb-btn.is-fanza  { background: var(--wcb-fanza); }
.wcb-btn.is-steam  { background: var(--wcb-steam); }
.wcb-btn.is-disabled {
  background: #dfe2e6 !important;
  color: #a0a6ae !important;
  box-shadow: none;
  cursor: not-allowed;
  pointer-events: none;
}
.wcb-badge {
  position: absolute;
  top: -8px;
  right: 6px;
  padding: 0 7px;
  border-radius: 999px;
  background: #ffd43b;
  color: #5a3d00;
  font-size: 10.5px;
  font-weight: 800;
  line-height: 1.6;
  box-shadow: 0 1px 3px rgba(0,0,0,.2);
}
.wcb-pr {
  margin: 0 !important;
  color: var(--wcb-sub);
  font-size: 10.5px;
  text-align: right;
}

/* 画像なし（ボタンだけ）：横に並べる */
.wcb.no-img { max-width: 520px; }
.wcb.no-img .wcb-buy { flex-direction: row; }
.wcb.no-img .wcb-btn { flex: 1; }

.wcb-empty {
  display: block;
  padding: 12px;
  border-style: dashed;
  background: #fff;
  color: var(--wcb-sub);
  font-size: 13px;
  text-align: center;
}

/* スマホ：横並びのまま、少しだけ詰める */
@media (max-width: 600px) {
  .wcb { gap: 10px; padding: 10px; }
  .wcb-cover { flex-basis: 44%; }
  .wcb-btn { min-height: 38px; padding: 6px 6px; font-size: 13px; }
  a.wcb-btn::after { margin-left: 4px; }
  .wcb-lead { font-size: 12px; }
}
/* かなり狭い画面だけ縦並び */
@media (max-width: 340px) {
  .wcb { flex-direction: column; align-items: stretch; }
  .wcb-cover { max-width: none; }
}
