/* ===== zetap : BACKGROUND section ===== */
.background-section{padding:108px 0;position:relative;border-top:1px solid #ffe25c33}
.background-group+.background-group{margin-top:50px}
.group-label{display:flex;align-items:center;gap:15px;margin:0 0 18px;
  font:700 10px/1 var(--mono);letter-spacing:.18em;color:var(--mut)}
.group-label:before{content:"◆";color:var(--hot);font-size:8px}
.group-label:after{content:"";height:1px;background:var(--line);flex:1}
.background-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.background-card{display:grid;grid-template-columns:52% 48%;min-height:272px;
  background:linear-gradient(165deg,#1a1226,#120b1d);border:1px solid var(--line);
  overflow:hidden;transition:transform .25s,border-color .25s,box-shadow .25s}
.background-card:hover{transform:translateY(-5px);border-color:#ffe25c77;box-shadow:0 20px 44px -26px var(--hot)}
.background-card figure{margin:0;overflow:hidden;position:relative}
.background-card figure:after{content:"";position:absolute;inset:0;
  background:linear-gradient(90deg,transparent 62%,#16101f)}
.background-card img{width:100%;height:100%;object-fit:cover;transition:transform .4s}
.background-card:hover img{transform:scale(1.045)}
.background-copy{padding:25px 24px 22px 12px;display:flex;flex-direction:column}
.background-copy small{font:700 9px/1.5 var(--mono);color:var(--accent);letter-spacing:.1em}
.background-copy h3{font:600 17px/1.55 var(--serif);margin:15px 0 10px}
.background-copy p{font-size:11px;line-height:1.7;color:var(--mut);margin:0}
.background-buy{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);
  padding-top:14px;margin-top:auto;font:700 19px/1 var(--mono)}
.background-buy span{font:700 9px/1 var(--mono);color:var(--hot);transition:.2s}
.background-card:hover .background-buy span{color:var(--accent);transform:translateX(3px)}
.style-badge{position:absolute;right:10px;top:10px;background:#0b0612dd;border:1px solid var(--accent);
  color:var(--accent);padding:5px 8px;font:700 8px/1 var(--mono);letter-spacing:.12em;z-index:2}
.style-badge.r18{left:10px;right:auto;background:#2a0409ee;border-color:#ff3b53;color:#ff6b7d}
.age-note{display:block;margin-top:6px;font:700 9px/1.3 var(--mono);color:#ff6b7d;letter-spacing:.04em}
/* ---- 2経路アクション（BOOTH購入 / 収録シーン） ---- */
.background-actions{display:flex;gap:8px;border-top:1px solid var(--line);padding-top:14px;margin-top:auto;flex-wrap:wrap}
.bg-btn{flex:1 1 42%;text-align:center;cursor:pointer;font:700 11px/1.2 var(--mono);letter-spacing:.03em;
  padding:11px 8px;border-radius:2px;text-decoration:none;transition:transform .2s,background .2s,color .2s,filter .2s}
.bg-btn.booth{background:var(--hot);color:#fff;border:1px solid var(--hot)}
.bg-btn.booth b{font-weight:700;margin-left:2px}
.bg-btn.booth:hover{filter:brightness(1.13);transform:translateY(-1px)}
.bg-btn.thumbs{background:transparent;color:var(--accent);border:1px solid var(--accent)}
.bg-btn.thumbs:hover{background:var(--accent);color:#0b0612;transform:translateY(-1px)}

/* ---- 収録シーン ライトボックス ---- */
.bg-lb{position:fixed;inset:0;z-index:9999;background:rgba(6,3,12,.92);backdrop-filter:blur(4px);
  display:flex;align-items:center;justify-content:center;padding:24px}
.bg-lb[hidden]{display:none}
.bg-lb-bd{background:linear-gradient(165deg,#1a1226,#120b1d);border:1px solid #ffe25c55;
  width:min(1100px,96vw);max-height:92vh;display:flex;flex-direction:column;border-radius:6px;overflow:hidden;
  box-shadow:0 30px 80px -30px #000}
.bg-lb-hd{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 20px;border-bottom:1px solid var(--line)}
.bg-lb-hdt{flex:1;min-width:0}
.bg-lb-back{background:transparent;border:1px solid var(--line);color:#cfc4dd;height:34px;padding:0 14px;flex:0 0 auto;
  cursor:pointer;font:700 12px/1 var(--mono);letter-spacing:.06em;border-radius:3px;transition:.2s;
  display:inline-flex;align-items:center;white-space:nowrap}
.bg-lb-back:hover{border-color:var(--hot);color:var(--hot)}
.bg-lb-ttl{margin:0;font:600 15px/1.4 var(--serif);color:var(--accent)}
.bg-lb-sub{font:700 9px/1 var(--mono);color:var(--mut);letter-spacing:.1em}
.bg-lb-x{background:transparent;border:1px solid var(--line);color:#cfc4dd;width:34px;height:34px;flex:0 0 auto;
  cursor:pointer;font-size:20px;line-height:1;border-radius:3px;transition:.2s}
.bg-lb-x:hover{border-color:var(--hot);color:var(--hot)}
.bg-lb-body{overflow-y:auto;padding:14px 20px 22px}
.bg-lb-sec{margin:20px 0 10px;font:700 10px/1.3 var(--mono);letter-spacing:.14em;color:var(--accent);
  display:flex;align-items:center;gap:12px}
.bg-lb-sec:first-child{margin-top:2px}
.bg-lb-sec:after{content:"";height:1px;flex:1;background:var(--line)}
.bg-lb-sec.diff{color:#ff9ecb}
.bg-lb-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:8px}
.bg-lb-grid img{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:2px;background:#0b0612;display:block}
.bg-lb-foot{padding:14px 20px;border-top:1px solid var(--line);text-align:center}
.bg-lb-buy{display:inline-block;background:var(--hot);color:#fff;text-decoration:none;padding:11px 28px;
  font:700 11px/1 var(--mono);letter-spacing:.05em;border-radius:2px;transition:filter .2s}
.bg-lb-buy:hover{filter:brightness(1.13)}

@media(max-width:900px){.background-grid{grid-template-columns:1fr}}
@media(max-width:560px){
  .background-card{grid-template-columns:1fr;min-height:0}
  .background-card figure{height:220px}
  .background-card figure:after{background:linear-gradient(0deg,#16101f,transparent 35%)}
  .background-copy{padding:20px}
  .bg-lb-grid{grid-template-columns:repeat(auto-fill,minmax(88px,1fr))}
  /* 差分は狭幅では横スクロール（1行維持） */
  .bg-lb-grid.diff{grid-template-columns:none!important;grid-auto-flow:column;grid-auto-columns:31%;
    overflow-x:auto;overflow-y:hidden;padding-bottom:6px;scroll-snap-type:x proximity}
  .bg-lb-grid.diff img{scroll-snap-align:start}
}
