/* tabgal 1.1 — product image gallery (Tab, 25 Oct 2026). Undo: TABWA_GALLERY=0 */
.tg-on>.product__carousel,.tg-on>.product__thumbnails{display:none!important}
.tg{position:relative;display:flex;gap:12px;align-items:flex-start;max-width:100%;-webkit-user-select:none;user-select:none}
.tg *{box-sizing:border-box}
.tg-thumbs{display:flex;flex-direction:column;gap:8px;flex:0 0 66px;overflow-y:auto;overflow-x:hidden;scrollbar-width:thin;padding:2px}
.tg-th{display:block;width:60px;height:60px;padding:2px;margin:0;border:1px solid #c9c9c9;border-radius:6px;background:#fff;cursor:pointer;flex:0 0 auto}
.tg-th:hover{border-color:#777}
.tg-th.on{border-color:var(--bs-primary,#0d6efd);box-shadow:0 0 0 2px var(--bs-primary,#0d6efd)}
.tg-th picture,.tg-th img{display:block;width:100%;height:100%;object-fit:contain;border:0!important;border-radius:4px}
.tg-stage{position:relative;flex:1 1 auto;min-width:0}
.tg-main{position:relative;overflow:hidden;background:#fff;border-radius:8px}
.tg-d .tg-main{cursor:crosshair}
.tg-track{display:flex;overflow:hidden;scrollbar-width:none}
.tg-track::-webkit-scrollbar{display:none}
.tg-sl{flex:0 0 100%;width:100%;aspect-ratio:1/1;display:flex;align-items:center;justify-content:center;overflow:hidden}
.tg-sl picture{display:block;width:100%;height:100%}
.tg-sl img{display:block;width:100%!important;height:100%!important;object-fit:contain}
.tg-lens{position:absolute;display:none;pointer-events:none;border:1px solid rgba(0,0,0,.45);background:rgba(255,255,255,.4);background-image:linear-gradient(rgba(0,0,0,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(0,0,0,.08) 1px,transparent 1px);background-size:8px 8px;z-index:3}
.tg-zoom{position:absolute;top:0;display:none;z-index:1050;background:#fff no-repeat;border:1px solid #d5d5d5;border-radius:6px;box-shadow:0 6px 24px rgba(0,0,0,.2);pointer-events:none}
.tg-hint{font-size:13px;color:#666;text-align:center;margin:8px 0 0}
.tg-cnt{position:absolute;top:10px;right:10px;z-index:4;background:rgba(0,0,0,.55);color:#fff;font:600 13px/1 Arial,sans-serif;padding:6px 9px;border-radius:12px;display:none}
.tg-fs{position:absolute;bottom:10px;right:10px;z-index:4;width:38px;height:38px;border-radius:50%;border:0;background:rgba(255,255,255,.92);box-shadow:0 1px 5px rgba(0,0,0,.25);display:flex;align-items:center;justify-content:center;cursor:pointer;padding:0}
.tg-dots{display:none;justify-content:center;gap:7px;margin:10px 0 0}
.tg-dots i{width:8px;height:8px;border-radius:50%;background:#c4c4c4;display:block}
.tg-dots i.on{background:var(--bs-primary,#0d6efd);transform:scale(1.25)}
.tg-m{display:block}
.tg-m .tg-thumbs,.tg-m .tg-zoom,.tg-m .tg-lens{display:none!important}
.tg-m .tg-track{overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;touch-action:pan-x pan-y}
.tg-m .tg-sl{scroll-snap-align:center;scroll-snap-stop:always}
.tg-m .tg-cnt{display:block}
.tg-m .tg-dots{display:flex}
/* full-screen viewer */
.tgv{position:fixed;inset:0;z-index:2147483000;background:#fff;display:flex;flex-direction:column;overscroll-behavior:contain}
.tgv *{box-sizing:border-box}
.tgv-top{display:flex;align-items:center;justify-content:space-between;padding:8px 10px 8px 16px;flex:0 0 auto;border-bottom:1px solid #eee}
.tgv-cnt{font:600 15px/1 Arial,sans-serif;color:#333}
.tgv-x{width:44px;height:44px;border:0;background:#f1f1f1;border-radius:50%;font:400 30px/44px Arial,sans-serif;color:#222;cursor:pointer;padding:0}
.tgv-track{flex:1 1 auto;display:flex;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scrollbar-width:none;touch-action:pan-x;overscroll-behavior:contain;min-height:0}
.tgv-track::-webkit-scrollbar{display:none}
.tgv-z .tgv-track{overflow-x:hidden;touch-action:none}
.tgv-sl{flex:0 0 100%;width:100%;height:100%;scroll-snap-align:center;scroll-snap-stop:always;overflow:hidden;position:relative}
.tgv-img{position:absolute;left:0;top:0;width:100%;height:100%;object-fit:contain;transform-origin:0 0;will-change:transform;cursor:zoom-in;-webkit-user-drag:none}
.tgv-z .tgv-img{cursor:move}
.tgv-bar{flex:0 0 auto;display:flex;gap:8px;overflow-x:auto;padding:8px 10px calc(8px + env(safe-area-inset-bottom));justify-content:safe center;border-top:1px solid #eee;scrollbar-width:none}
.tgv-bar .tg-th{width:54px;height:54px}
.tgv-help{position:absolute;left:50%;bottom:82px;transform:translateX(-50%);background:rgba(0,0,0,.6);color:#fff;font:13px/1.2 Arial,sans-serif;padding:7px 12px;border-radius:14px;pointer-events:none;transition:opacity .6s;white-space:nowrap}
.tgv-nav{position:absolute;top:50%;margin-top:-24px;width:48px;height:48px;border-radius:50%;border:1px solid #ddd;background:rgba(255,255,255,.95);font:400 28px/44px Arial,sans-serif;color:#333;cursor:pointer;z-index:2;padding:0}
.tgv-prev{left:14px}.tgv-next{right:14px}
@media (hover:none),(max-width:767px){.tgv-nav{display:none}}
html.tgv-open,html.tgv-open body{overflow:hidden!important}
/* 1.1 */
.tg-d .tg-cnt{display:block;top:8px;right:8px;font-size:12px;padding:5px 8px;background:rgba(0,0,0,.45)}
.tg-main:focus-visible{outline:2px solid var(--bs-primary,#0d6efd);outline-offset:2px}
