.bslg-360-viewer{width:100%;background:var(--bslg-360-bg);border-radius:10px;overflow:hidden;box-shadow:0 18px 46px rgba(0,0,0,.36);}
.bslg-360-title{padding:12px 16px;color:var(--bslg-360-control-text);background:var(--bslg-360-control-bg);font-weight:700;letter-spacing:.03em;}
.bslg-360-stage{position:relative;height:var(--bslg-360-height);background:radial-gradient(circle at 50% 40%,rgba(255,255,255,.2),transparent 48%),var(--bslg-360-bg);display:flex;align-items:center;justify-content:center;user-select:none;overflow:hidden;touch-action:none;}
.bslg-360-canvas{position:relative;width:100%;height:100%;display:flex;align-items:center;justify-content:center;cursor:grab;overflow:hidden;}
.bslg-360-canvas.is-dragging{cursor:grabbing;}
.bslg-360-image{max-width:100%;max-height:100%;object-fit:contain;display:block;transform-origin:center center;transition:opacity .12s ease;}
.bslg-360-panorama-canvas{position:absolute;inset:0;width:100%;height:100%;display:none;background:#111;}
.bslg-360-panorama-fallback{position:absolute;inset:0;background-repeat:no-repeat;background-size:cover;background-position:center center;display:none;transform-origin:center center;}
.bslg-360-viewer.is-panorama .bslg-360-image{display:none;}
.bslg-360-viewer.is-panorama .bslg-360-panorama-canvas{display:block;}
.bslg-360-viewer.is-panorama.is-fallback .bslg-360-panorama-canvas{display:none;}
.bslg-360-viewer.is-panorama.is-fallback .bslg-360-panorama-fallback{display:block;}
.bslg-360-viewer.is-panorama .bslg-360-nav{display:none;}
.bslg-360-viewer.is-panorama .bslg-360-hint{position:absolute;left:50%;bottom:18px;transform:translateX(-50%);background:rgba(0,0,0,.46);color:#fff;border-radius:999px;padding:6px 14px;font-size:12px;pointer-events:none;opacity:.8;}
.bslg-360-nav{position:absolute;top:50%;transform:translateY(-50%);z-index:3;width:44px;height:44px;border-radius:999px;border:1px solid rgba(255,255,255,.38);background:rgba(0,0,0,.36);color:#fff;font-size:34px;line-height:38px;cursor:pointer;}
.bslg-360-nav:hover{background:rgba(0,0,0,.56);}
.bslg-360-prev{left:16px;}
.bslg-360-next{right:16px;}
.bslg-360-controls{display:flex;align-items:center;justify-content:center;gap:14px;padding:10px 12px;background:var(--bslg-360-control-bg);color:var(--bslg-360-control-text);}
.bslg-360-btn{border:1px solid rgba(255,255,255,.28);border-radius:999px;background:rgba(255,255,255,.08);color:var(--bslg-360-control-text);padding:6px 18px;line-height:1.4;cursor:pointer;}
.bslg-360-counter{min-width:80px;text-align:center;font-weight:700;}
.bslg-360-note{font-size:12px;opacity:.78;}
.bslg-360-empty{min-height:120px;display:flex;align-items:center;justify-content:center;background:#f5f5f5;color:#666;border:1px dashed #aaa;border-radius:8px;padding:20px;}
@media (max-width:760px){.bslg-360-stage{height:min(var(--bslg-360-height),70vh);}.bslg-360-nav{width:38px;height:38px;font-size:30px;line-height:33px;}.bslg-360-prev{left:8px}.bslg-360-next{right:8px}.bslg-360-controls{gap:8px;flex-wrap:wrap}.bslg-360-note{width:100%;text-align:center;}}


/* 商品回転：画像1枚の場合は静止画像扱い */
.bslg-360-viewer.is-single-spin .bslg-360-nav,
.bslg-360-viewer.is-single-spin [data-bslg-360-play],
.bslg-360-viewer.is-single-spin [data-bslg-360-counter],
.bslg-360-viewer.is-single-spin .bslg-360-help {
    display: none !important;
}

.bslg-360-viewer.is-single-spin .bslg-360-toolbar {
    justify-content: center;
    min-height: 24px;
}

.bslg-360-viewer.is-single-spin .bslg-360-image {
    cursor: default;
}



/* 商品回転：複数画像の場合は前後ボタンを表示 */
.bslg-360-viewer.is-multi-spin .bslg-360-nav {
    display: flex !important;
}

.bslg-360-viewer.is-multi-spin [data-bslg-360-prev],
.bslg-360-viewer.is-multi-spin [data-bslg-360-next] {
    display: inline-flex !important;
}



/* 画像枚数による前後ボタン表示制御 */
.bslg-360-viewer.is-single-image .bslg-360-nav {
    display: none !important;
}

.bslg-360-viewer.has-multiple-images .bslg-360-nav {
    display: flex !important;
}

.bslg-360-viewer.has-multiple-images [data-bslg-360-prev],
.bslg-360-viewer.has-multiple-images [data-bslg-360-next] {
    display: inline-flex !important;
}

