/* catalog/static/css/product_gallery.css */

.thumbnail-item { 
    cursor: pointer; 
    transition: transform 0.2s ease, border-color 0.2s ease, outline 0.2s ease;
    box-sizing: border-box;
    border: 2px solid transparent;
    outline: none;
}
.thumbnail-item:hover {
    transform: scale(1.05);
}
.thumbnail-item.active { 
    border-color: var(--bs-primary) !important; 
    border-width: 2px !important; 
    transform: scale(1.1);
    box-sizing: border-box;
    position: relative;
    z-index: 1;
}
.thumbnail-strip { 
    overflow-x: auto; 
    overflow-y: visible;
    scrollbar-width: thin; 
    scrollbar-color: rgba(0,0,0,0.2) transparent;
    -ms-overflow-style: none; 
    user-select: none; 
    cursor: grab; 
    scroll-behavior: smooth;
    padding: 4px 4px;
    margin: -4px -4px;
}
.thumbnail-strip.active, .thumbnail-strip.active .thumbnail-item { 
    cursor: grabbing; 
}
.thumbnail-strip::-webkit-scrollbar { 
    height: 6px;
}
.thumbnail-strip::-webkit-scrollbar-track {
    background: transparent;
}
.thumbnail-strip::-webkit-scrollbar-thumb {
    background: rgba(0,0,0,0.2);
    border-radius: 3px;
}
.thumbnail-strip::-webkit-scrollbar-thumb:hover {
    background: rgba(0,0,0,0.3);
}
.thumbnail-dots .dot { 
    height: 10px; 
    width: 10px; 
    background-color: #ccc; 
    border-radius: 50%; 
    display: inline-block; 
    transition: background-color 0.3s ease, transform 0.2s ease;
    cursor: pointer;
}
.thumbnail-dots .dot:hover {
    transform: scale(1.2);
}
.thumbnail-dots .dot.active { 
    background-color: var(--bs-primary); 
    transform: scale(1.3);
}
.zoom-container {
    position: relative;
    overflow: hidden;
}
.zoom-container img {
    will-change: transform;
    transition: transform 0.1s ease-out;
}
.zoom-container.zoom-mode-active img { 
    cursor: crosshair; 
}
.zoom-container.zoomed-in img { 
    cursor: grab; 
}
.zoom-container.zoomed-in.panning img { 
    cursor: grabbing; 
    transition: none;
}