html.ts-viewer-open,
html.ts-viewer-open body {
    overflow: hidden !important;
}

#ts-product-viewer[hidden] {
    display: none !important;
}

#ts-product-viewer {
    position: fixed;
    inset: 0;
    z-index: 2147483000;
    overflow: hidden;
    background: rgba(14, 15, 17, 0.94);
    color: #fff;
    font-family: Arial, sans-serif;
}

#ts-product-viewer .tsv-stage {
    position: absolute;
    inset: 0;
    overflow: hidden;
    touch-action: none;
}

#ts-product-viewer .tsv-image {
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    max-width: none !important;
    max-height: none !important;
    width: auto;
    height: auto;
    margin: 0;
    padding: 0;
    border: 0;
    transform-origin: 0 0;
    user-select: none;
    -webkit-user-drag: none;
    will-change: transform;
    cursor: zoom-in;
}

#ts-product-viewer.tsv-zoomed .tsv-image {
    cursor: grab;
}

#ts-product-viewer.tsv-dragging .tsv-image {
    cursor: grabbing;
}

#ts-product-viewer .tsv-toolbar {
    position: absolute;
    top: 14px;
    right: 14px;
    z-index: 30;
    display: flex;
    align-items: center;
    gap: 3px;
    padding: 4px;
    border: 1px solid rgba(255,255,255,0.12);
    border-radius: 8px;
    background: rgba(24, 25, 28, 0.86);
    box-shadow: 0 5px 20px rgba(0,0,0,0.25);
}

#ts-product-viewer button {
    box-sizing: border-box;
    border: 0;
    outline: 0;
    color: #fff;
    background: transparent;
    cursor: pointer;
}

#ts-product-viewer .tsv-toolbar button {
    min-width: 34px;
    height: 34px;
    padding: 0 8px;
    border-radius: 5px;
    font: 18px/34px Arial, sans-serif;
}

#ts-product-viewer .tsv-toolbar button:hover,
#ts-product-viewer .tsv-toolbar button:focus-visible {
    background: rgba(255,255,255,0.14);
}

#ts-product-viewer .tsv-scale {
    min-width: 58px !important;
    font-size: 12px !important;
}

#ts-product-viewer .tsv-close {
    font-size: 23px !important;
}

#ts-product-viewer .tsv-arrow {
    position: absolute;
    top: 50%;
    z-index: 25;
    width: 42px;
    height: 42px;
    padding: 0;
    transform: translateY(-50%);
    border-radius: 50%;
    background: rgba(24, 25, 28, 0.72);
    font: 31px/40px Arial, sans-serif;
    box-shadow: 0 3px 14px rgba(0,0,0,0.25);
}

#ts-product-viewer .tsv-arrow:hover,
#ts-product-viewer .tsv-arrow:focus-visible {
    background: rgba(24, 25, 28, 0.94);
}

#ts-product-viewer .tsv-prev {
    left: 16px;
}

#ts-product-viewer .tsv-next {
    right: 16px;
}

#ts-product-viewer .tsv-counter {
    position: absolute;
    bottom: 14px;
    left: 50%;
    z-index: 25;
    min-width: 54px;
    padding: 6px 10px;
    transform: translateX(-50%);
    border-radius: 20px;
    background: rgba(24, 25, 28, 0.76);
    color: rgba(255,255,255,0.9);
    font-size: 12px;
    line-height: 16px;
    text-align: center;
}

@media (max-width: 700px) {
    #ts-product-viewer .tsv-toolbar {
        top: 8px;
        right: 8px;
    }

    #ts-product-viewer .tsv-arrow {
        width: 38px;
        height: 38px;
        font-size: 28px;
        line-height: 36px;
    }

    #ts-product-viewer .tsv-prev {
        left: 8px;
    }

    #ts-product-viewer .tsv-next {
        right: 8px;
    }
}


/* TS_VIEWER_CRISP_RENDERING */
#ts-product-viewer .tsv-image {
    transform: none !important;
    transform-origin: initial !important;
    will-change: auto !important;
    image-rendering: auto !important;
}