/* 商品画像の拡大 */
.ItemListPop .Thumb .item-zoom-trigger { position:relative; display:block; width:100%; padding:0; border:0; background:transparent; color:#222; cursor:zoom-in; font:inherit; }
.ItemListPop .Thumb .item-zoom-trigger img { display:block; width:100%; }
.item-zoom-trigger:focus-visible { outline:3px solid #1769aa; outline-offset:4px; }
.item-zoom-badge { position:absolute; right:10px; bottom:10px; display:grid; place-items:center; width:36px; height:36px; box-sizing:border-box; padding:0; border-radius:50%; background:rgba(255,255,255,.94); color:#222; line-height:1; box-shadow:0 1px 6px #0002; pointer-events:none; }
.item-zoom-badge svg { width:18px; height:18px; }
.item-zoom-dialog { box-sizing:border-box; width:100%; max-width:none; height:100dvh; max-height:none; margin:0; padding:0; border:0; background:transparent; color:#fff; overflow:hidden; }
.item-zoom-dialog::backdrop { background:rgba(0,0,0,.88); }
.item-zoom-dialog[open] { display:flex; flex-direction:column; }
.item-zoom-header { display:flex; align-items:center; gap:16px; padding:16px 20px; flex-shrink:0; background:#111; }
.item-zoom-title { flex:1; margin:0; font-size:16px; line-height:1.5; }
.item-zoom-dialog button { min-width:44px; min-height:44px; border:1px solid #888; border-radius:6px; background:#222; color:#fff; font:inherit; cursor:pointer; }
.item-zoom-dialog button:focus-visible { outline:3px solid #8ecbff; outline-offset:3px; }
.item-zoom-close { font-size:28px !important; }
.item-zoom-stage { position:relative; flex:1; min-height:0; overflow:hidden; touch-action:none; user-select:none; }
.item-zoom-image { position:absolute; top:50%; left:50%; max-width:none !important; max-height:none !important; margin:0 !important; transform-origin:center; pointer-events:none; }
.item-zoom-status { position:absolute; inset:0; display:grid; place-items:center; pointer-events:none; }
.item-zoom-status[hidden], .item-zoom-image[hidden] { display:none; }
@media (max-width:767px) { .item-zoom-header { padding:10px 12px max(10px,env(safe-area-inset-top)); } .item-zoom-title { font-size:14px; } }

/* タップ・クリック時はフォーカス枠を隠し、キーボード操作時は維持 */
.item-zoom-dialog[data-input="pointer"] .item-zoom-close:focus {
  outline:none !important;
  box-shadow:none !important;
}
.item-zoom-close { -webkit-tap-highlight-color:transparent; }
