/* Transparent hat gallery. Layout belongs to the product page, interaction styles stay here. */
.ih-product-gallery { position:relative; }
.ih-product-gallery button { min-height:44px; min-width:44px; }
.ih-product-stage[data-ih-product-next] { align-items:center; background:transparent; border:0; cursor:grab; display:flex; justify-content:center; min-height:44px; padding:0; touch-action:pan-y; width:100%; }
.ih-product-stage[data-ih-product-next].is-dragging { cursor:grabbing; }
.ih-product-stage[data-ih-product-next] img { display:block; height:auto; max-width:100%; opacity:1; transform:scale(1); transition:filter 220ms ease,opacity 220ms ease,transform 220ms ease; width:100%; }
.ih-product-gallery.is-swapping .ih-product-stage img { filter:blur(5px); opacity:0; transform:scale(.985); }
.ih-product-gallery-controls { align-items:center; display:flex; gap:12px; justify-content:center; margin-top:12px; }
.ih-product-views { align-items:center; display:flex; flex-wrap:wrap; justify-content:center; gap:8px; }
.ih-product-views > [data-ih-product-view] { align-items:center; background:transparent; border:1px solid var(--k-rule-strong); border-radius:0; color:inherit; display:inline-flex; font-size:14px; justify-content:center; min-height:48px; padding:12px 20px; line-height:1.4; transition:background-color .25s ease,color .25s ease; }
.ih-product-views > [data-ih-product-view][aria-pressed='true'] { background:var(--k-ink); border-color:var(--k-ink); color:var(--k-paper); }
.ih-product-views > [data-ih-product-view]:hover { border-color:currentColor; }
.ih-product-gallery button:focus-visible { outline:2px solid currentColor; outline-offset:3px; }
@media (prefers-reduced-motion: reduce) { .ih-product-stage[data-ih-product-next] img, .ih-product-views > [data-ih-product-view] { transition:none; } }
/* arrows on the photo's sides; the photo keeps its size */
.ih-gallery-arrow { position:absolute; top:50%; transform:translateY(-50%); display:inline-flex; align-items:center; justify-content:center; width:48px; height:48px; padding:0; border:1px solid var(--k-rule-strong); border-radius:50%; background:rgba(245,240,228,.85); color:var(--k-ink); cursor:pointer; z-index:2; transition:background-color .2s ease,border-color .2s ease; }
.ih-gallery-arrow.-prev { left:0; }
.ih-gallery-arrow.-next { right:0; }
.ih-gallery-arrow:hover { background:var(--k-paper); border-color:var(--k-ink); }
.ih-gallery-arrow svg,.ih-gallery-arrow svg path { fill:none; }
