/* OCCO — product image carousel */
.occo-gal{min-width:0}
.occo-gal .gc-view{position:relative;background:var(--sand)}
.occo-gal .gc-track{display:flex;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;overscroll-behavior-x:contain;outline:none}
.occo-gal .gc-track::-webkit-scrollbar{display:none}
.occo-gal .gc-track:focus-visible{outline:1px solid var(--ink);outline-offset:-1px}
.occo-gal .gc-slide{position:relative;flex:0 0 100%;min-width:0;aspect-ratio:1;overflow:hidden;scroll-snap-align:start;scroll-snap-stop:always;background:var(--sand)}
.occo-gal .gc-slide img,.occo-gal .gc-slide svg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
@media (max-width:600px){.occo-gal .gc-slide{aspect-ratio:4/5}}
.occo-gal .gc-nav{position:absolute;top:50%;transform:translateY(-50%);width:44px;height:44px;border-radius:50%;background:rgba(255,255,255,.88);border:1px solid var(--line);color:var(--ink);display:flex;align-items:center;justify-content:center;cursor:pointer;padding:0;transition:opacity .2s,background .2s}
.occo-gal .gc-nav svg{width:18px;height:18px;stroke:currentColor;stroke-width:1.4;fill:none;stroke-linecap:round;stroke-linejoin:round}
.occo-gal .gc-nav:hover{background:#fff}
.occo-gal .gc-nav[disabled]{opacity:0;pointer-events:none}
.occo-gal .gc-prev{left:14px}
.occo-gal .gc-next{right:14px}
.occo-gal .gc-count{position:absolute;right:14px;bottom:14px;padding:6px 10px;font-size:10.5px;letter-spacing:.2em;background:rgba(255,255,255,.88);color:var(--ink);font-variant-numeric:tabular-nums;pointer-events:none}
.occo-gal .gc-thumbs{position:relative;display:flex;gap:10px;margin-top:12px;overflow-x:auto;scrollbar-width:thin;padding-bottom:4px}
.occo-gal .gc-th{flex:0 0 76px;aspect-ratio:4/5;position:relative;overflow:hidden;background:var(--sand);border:1px solid transparent;padding:0;cursor:pointer;opacity:.6;transition:opacity .2s,border-color .2s}
.occo-gal .gc-th img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.occo-gal .gc-th:hover{opacity:1}
.occo-gal .gc-th.on{opacity:1;border-color:var(--ink)}
@media (max-width:600px){.occo-gal .gc-th{flex-basis:60px}.occo-gal .gc-nav{width:38px;height:38px}.occo-gal .gc-prev{left:8px}.occo-gal .gc-next{right:8px}}
