.magnifier-lens {
    border-radius: 50% !important;
    width: 200px !important;
    height: 200px !important;
    border: 5px solid white !important;
    box-shadow: 0 0 5px rgba(0, 0, 0, 0.2) !important;
    opacity: 0;
    transform: scale(0.9);
    transition: opacity 0.25s ease-in-out, transform 0.25s ease-in-out !important;
}

.magnifier-lens.mag-visible {
    opacity: 1 !important;
    transform: scale(1) !important;
}

#magnifier-position-indicator {
    opacity: 0;
    transform: scale(0);
    transition: opacity 0.3s ease, transform 0.2s ease;
}

#magnifier-position-indicator.indicator-visible {
    opacity: 0.7;
    transform: scale(1);
}

/* Style the slider to match site aesthetics */
.zoom-slider {
    -webkit-appearance: none;
    height: 4px;
    background: #e2e8f0;
    border-radius: 2px;
    outline: none;
}

.zoom-slider::-webkit-slider-thumb {
    -webkit-appearance: none;
    appearance: none;
    width: 16px;
    height: 16px;
    border-radius: 50%;
    background: var(--color-coral, #e86b67);
    cursor: pointer;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
    transition: background 0.2s ease;
}

.zoom-slider::-moz-range-thumb {
    width: 16px;
    height: 16px;
    border-radius: 50%;
    background: var(--color-coral, #e86b67);
    cursor: pointer;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
    transition: background 0.2s ease;
    border: none;
}

.zoom-slider::-webkit-slider-thumb:hover {
    background: var(--color-forest, #015c1f);
}

.zoom-slider::-moz-range-thumb:hover {
    background: var(--color-forest, #015c1f);
}

.zoom-controls {
    border-top: 1px solid #f1f1f1;
    padding-top: 10px;
}

.zoom-label {
    font-family: serif;
    color: #4b5563;
}

#current-zoom-value {
    font-weight: bold;
    color: var(--color-coral, #e86b67);
}
