/* === fdbi 本文スキン（entry-content内だけに限定） === */
.entry-content .fdbi-entry{
  --fdbi-gap:24px;
  --fdbi-radius:10px;
  --fdbi-accent:#0d4de0;
  --fdbi-cta:#f24e4e;
  font-size:16px;
  line-height:1.8;
}

/* ヒーロー画像・タイトル */
.entry-content .fdbi-entry .fdbi-hero img{
  max-width:100%;
  height:auto;
  border-radius:var(--fdbi-radius);
}
.entry-content .fdbi-entry .fdbi-title{
  margin:0 0 6px;
  line-height:1.25;
}
.entry-content .fdbi-entry .fdbi-sub{
  margin:0;
  color:#666;
  font-size:.95em;
}

/* レビュー本文（voices）と、平均/件数のボックスに背景を付ける */
.entry-content .fdbi-entry .fdbi-venice-part,
.entry-content .fdbi-entry .fdbi-review-score{
  background:#fff5fa;                 /* ←好みの色に変更 */
  border:1px solid #ffd1e6;
  border-radius:12px;
  padding:16px 18px;
  box-shadow:0 8px 18px rgba(0,0,0,.04);
}

/* 中のリストや段落の余白を整える（任意） */
.entry-content .fdbi-entry .fdbi-venice-part p{ margin:.6em 0; }
.entry-content .fdbi-entry .fdbi-venice-part ul{ margin:.6em 0 0; padding-left:1.2em; }

/* 角にアクセント線（任意） */
.entry-content .fdbi-entry .fdbi-venice-part{
  background:
    linear-gradient(135deg,#ff81c0 0%,#ffb6d9 100%) 0 0/100% 4px no-repeat,
    #fff5fa;
}


/* ===== Lux Button ===== */
/* カラーは変数で簡単に変更可 */
.entry-content .fdbi-entry .btn--lux{
  --lux-bg: linear-gradient(135deg, #ff5858 0%, #f857a6 35%, #7b2cbf 65%, #3c1053 100%);
  --lux-border: rgba(255,255,255,.25);
  --lux-glow: rgba(255, 88, 120, .55);
  --lux-text: #fff;

  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;

  padding: 1.05em 2.1em;
  border-radius: 14px;
  background: var(--lux-bg);
  color: var(--lux-text);
  font-weight: 800;
  letter-spacing: .02em;
  text-decoration: none;
  line-height: 1;
  border: 1px solid var(--lux-border);
  box-shadow:
    0 14px 30px rgba(60,16,83,.28),
    0 4px 10px rgba(60,16,83,.18),
    inset 0 1px 0 rgba(255,255,255,.25);

  transform: translateZ(0); /* ぼかし最適化 */
  overflow: hidden;
  isolation: isolate;       /* ::before/::afterのブレンドを閉じ込める */
  transition: transform .08s ease, filter .2s ease, box-shadow .2s ease;
  font-size: clamp(1.05rem, 1.2vw + .9rem, 1.45rem);
}

/* ふわっと持ち上げ */
.entry-content .fdbi-entry .btn--lux:hover{
  transform: translateY(-2px);
  box-shadow:
    0 22px 40px rgba(60,16,83,.35),
    0 8px 18px rgba(60,16,83,.22),
    inset 0 1px 0 rgba(255,255,255,.25);
}

/* 発光の縁取り（外側グロー） */
.entry-content .fdbi-entry .btn--lux::after{
  content:"";
  position:absolute; inset:-8px;
  border-radius:16px;
  background: radial-gradient(60% 100% at 50% 0%, var(--lux-glow), transparent 70%);
  filter: blur(14px);
  opacity:.55;
  z-index:-1;
  transition: opacity .25s ease;
}
.entry-content .fdbi-entry .btn--lux:hover::after{ opacity:.75; }

/* ハイライトが斜めにスッと通る（ライトスイープ） */
.entry-content .fdbi-entry .btn--lux::before{
  content:"";
  position:absolute;
  top:-50%; bottom:-50%;
  left:-30%;
  width:35%;
  transform: skewX(-25deg);
  background:
    linear-gradient(90deg,
      rgba(255,255,255,0) 0%,
      rgba(255,255,255,.35) 47%,
      rgba(255,255,255,.85) 50%,
      rgba(255,255,255,.35) 53%,
      rgba(255,255,255,0) 100%);
  mix-blend-mode: screen;
  filter: blur(1px);
  opacity:.0;
  animation: luxSweep 2.6s linear infinite;
  animation-delay: .6s;
  pointer-events:none;
}
@keyframes luxSweep{
  0%   { transform: translateX(-140%) skewX(-25deg); opacity:0; }
  8%   { opacity:.9; }
  16%  { transform: translateX(240%) skewX(-25deg); opacity:0; }
  100% { transform: translateX(240%) skewX(-25deg); opacity:0; }
}

/* 押下表現 */
.entry-content .fdbi-entry .btn--lux:active{
  transform: translateY(0);
  filter: brightness(.98);
}

/* アクセシビリティ：フォーカスリング */
.entry-content .fdbi-entry .btn--lux:focus-visible{
  outline: 3px solid rgba(255,255,255,.9);
  outline-offset: 3px;
}

/* 動画CTAなどで中央に置くなら親にこれを */
.entry-content .fdbi-entry .fdbi-cta{ text-align:center; }

/* 低速端末・省モーション */
@media (prefers-reduced-motion: reduce){
  .entry-content .fdbi-entry .btn--lux{ transition: none; }
  .entry-content .fdbi-entry .btn--lux::before{ animation: none; opacity:.25; }
}

/* ===== カラーバリエ（必要に応じて上書き） ===== */

/* 赤?紫（既定）。サイトのヘッダーに合わせたいなら ↓ のAuroraを使う */
.entry-content .fdbi-entry .btn--lux.is-redpurple{
  --lux-bg: linear-gradient(135deg, #ff5858 0%, #f857a6 35%, #7b2cbf 65%, #3c1053 100%);
  --lux-glow: rgba(248, 87, 166, .55);
}

/* オーロラ（黄→レンガ→紫：添付のヘッダー色に寄せたトーン） */
.entry-content .fdbi-entry .btn--lux.is-aurora{
  --lux-bg: linear-gradient(135deg, #f6b462 0%, #cc9369 35%, #8a5069 70%, #4a1558 100%);
  --lux-glow: rgba(246,180,98,.52);
}


/* 表（概要・価格） */
.entry-content .fdbi-entry .fdbi-table{
  width:100%;
  border-collapse:collapse;
  overflow:hidden;
  border-radius:8px;
}
.entry-content .fdbi-entry .fdbi-table th{
  text-align:left;
  background:#f7f9ff;
  padding:.6em .7em;
  width:30%;
  font-weight:600;
}
.entry-content .fdbi-entry .fdbi-table td{
  padding:.6em .7em;
}
.entry-content .fdbi-entry .fdbi-table td,
.entry-content .fdbi-entry .fdbi-table th{
  border-bottom:1px solid #eef2f7;
}
.entry-content .fdbi-entry .fdbi-table tr:last-child td,
.entry-content .fdbi-entry .fdbi-table tr:last-child th{
  border-bottom:none;
}

/* サンプル動画枠（ショートコード出力に適用） */
.entry-content .fdbi-entry .fdbi-sample-movie{
  position:relative;
  width:100%;
  overflow:hidden;
  border-radius:8px;
  box-shadow:0 8px 24px rgba(13,77,224,.08);
}
.entry-content .fdbi-entry .fdbi-sample-movie iframe{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  border:0;
}


/* --- 大画像を1枚ずつ、横幅いっぱいに（インラインgridを上書き） --- */
.entry-content .fdbi-entry .fdbi-gallery--large { display:block !important; }

/* 内側に付くインラインgrid(style="display:grid; grid-template-columns:repeat(4,1fr)...")を解除 */
.entry-content .fdbi-entry .fdbi-gallery--large > .fdbi-gallery{
  display:block !important;
  grid-template-columns:unset !important;
  gap:0 !important;
}

/* 画像は100%で縦並び、間隔だけ少し */
.entry-content .fdbi-entry .fdbi-gallery--large figure{
  margin:0 0 16px !important;
  width:100% !important;
}
.entry-content .fdbi-entry .fdbi-gallery--large img{
  width:100% !important;
  height:auto !important;
  display:block !important;
  border-radius:12px;
  box-shadow:0 12px 24px rgba(0,0,0,.1);
}

/* 迫力重視：サムネ帯は隠す（要らなければ削除してOK） */
.entry-content .fdbi-entry .fdbi-gallery--thumbs{ display:none !important; }

/* レビュー各パート */
.entry-content .fdbi-entry .fdbi-venice-part{
  padding:12px 0;
  border-bottom:1px dashed #e9eef5;
}
.entry-content .fdbi-entry .fdbi-venice-part:last-child{
  border-bottom:none;
}
.entry-content .fdbi-entry .fdbi-review-score{
  color:#444; margin:0 0 12px;
}

/* FAQリストの整形（Q/Aの箇条書きを読みやすく） */
.entry-content .fdbi-entry .fdbi-venice-part ul{
  margin:.4em 0 0;
  padding-left:1.2em;
}
.entry-content .fdbi-entry .fdbi-venice-part li{
  margin:.45em 0;
}
.entry-content .fdbi-entry .fdbi-venice-part li::marker{
  color:var(--fdbi-accent);
}

/* TOC（目次）を記事幅に馴染ませる・Cocoonの上書き） */
.entry-content .fdbi-entry #toc{
  margin: 0 0 var(--fdbi-gap);
  border-radius:8px;
  border:1px solid #e5ecff;
}
.entry-content .fdbi-entry #toc .toc-title{
  background:#f0f5ff;
  padding:.5em .8em;
  font-weight:700;
  border-radius:8px 8px 0 0;
}
.entry-content .fdbi-entry #toc .toc-content{
  padding:.6em .8em .8em;
}

/* 末尾広告枠（必要なら） */
.entry-content .fdbi-entry .fdbi-ads > div{ margin:0 0 8px; }


/* Related Works */
.fdbi-related-container{ margin: var(--fdbi-gap,24px) 0; }
.fdbi-related-group{ margin: 0 0 clamp(16px,2vw,24px); }
.fdbi-related-title{
  margin: 0 0 .6em;
  padding: .25em .6em;
  border-left: 4px solid var(--fdbi-accent,#0d4de0);
  font-size: clamp(1.05rem, .7rem + 1vw, 1.35rem);
}

.fdbi-related-grid{
  display:grid;
  grid-template-columns: 1fr;
  gap: 12px;
}
@media (min-width: 640px){
  .fdbi-related-grid{ grid-template-columns: repeat(2, 1fr); }
}
@media (min-width: 1024px){
  .fdbi-related-grid{ grid-template-columns: repeat(3, 1fr); }
}
@media (min-width: 1280px){
  .fdbi-related-grid{ grid-template-columns: repeat(4, 1fr); }
}

.fdbi-related-card{
  background: #fff;
  border: 1px solid rgba(0,0,0,.06);
  border-radius: 10px;
  overflow: hidden;
  box-shadow: 0 8px 24px rgba(0,0,0,.06);
  transition: transform .15s ease, box-shadow .15s ease;
}
.fdbi-related-card:hover{
  transform: translateY(-2px);
  box-shadow: 0 14px 30px rgba(0,0,0,.10);
}
.fdbi-related-thumb{ display:block; aspect-ratio: 16/9; overflow:hidden; }
.fdbi-related-thumb img{ width:100%; height:100%; object-fit:cover; display:block; }
.fdbi-related-card-title{
  font-size: .98rem;
  line-height: 1.35;
  margin: .6em .75em .9em;
}
.fdbi-related-card-title a{ text-decoration:none; color:inherit; }

/* サイドバーメーカーランキング表示 */
.related-works-grid{
  display:grid;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
  gap:14px;
}
.related-work-item img{
  width:100%; height:auto; display:block; border-radius:8px;
}
.related-work-head{font-weight:700;margin:6px 0 4px;}
.related-work-title{margin:8px 0;}

/* この商品を見た人はこんな商品も見ています */
/* ===== fdbi linkcards ===== */
.fdbi-related-block{margin:0 0 var(--fdbi-gap,24px)}
.fdbi-related-block>h2{border-left:4px solid var(--fdbi-accent,#0d4de0);padding:.2em .6em;margin:0 0 .6em}

.fdbi-linkcards{display:grid;gap:12px}

.fdbi-linkcard{
  display:grid;
  grid-template-columns:180px 1fr;
  gap:16px;
  background:#fff;
  border:1px solid #e5e7eb;
  border-radius:8px;
  padding:12px;
  transition:box-shadow .15s ease, transform .15s ease;
}
.fdbi-linkcard:hover{box-shadow:0 6px 18px rgba(0,0,0,.06);transform:translateY(-1px)}

.fdbi-lc-thumb{display:block}
.fdbi-lc-thumb img{
  width:100%;height:auto;display:block;border-radius:6px;
  object-fit:cover;aspect-ratio:16/9
}

.fdbi-lc-title{margin:0 0 6px;font-size:1.15rem;line-height:1.35}
.fdbi-lc-title a{text-decoration:none;color:#111}
.fdbi-lc-title a:hover{opacity:.85}

.fdbi-lc-excerpt{
  margin:0 0 10px;color:#374151;line-height:1.7;
  display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden
}

.fdbi-lc-meta{display:flex;justify-content:space-between;align-items:center;color:#64748b;font-size:.95rem}
.fdbi-lc-domain{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:70%}

@media (max-width:640px){
  .fdbi-linkcard{grid-template-columns:1fr}
}

/* optional: ダークモード */
@media (prefers-color-scheme: dark){
  .fdbi-linkcard{background:#0b0b0c;border-color:#1f2937}
  .fdbi-lc-title a{color:#f3f4f6}
  .fdbi-lc-excerpt{color:#cbd5e1}
  .fdbi-lc-meta{color:#9ca3af}
}
