body.product-lens-open .modal-backdrop { z-index: 2147483639 !important; background: #111; }
#productLensModal.modal {
    z-index: 2147483640 !important;
    position: fixed !important;
    inset: 0 !important;
    width: 100% !important;
    max-width: none !important;
    height: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    transform: none !important;
    overflow-x: hidden;
    overflow-y: auto;
    text-align: right;
}
#productLensModal .modal-dialog {
    width: calc(100% - 40px) !important;
    max-width: 1100px !important;
    margin: 24px auto !important;
    min-height: calc(100% - 48px);
}
#productLensModal .modal-content { border: 1px solid #e8e8e8; border-radius: 18px; background: #fff; box-shadow: 0 20px 70px #0003; overflow: hidden; max-height: calc(100vh - 48px); max-height: calc(100dvh - 48px); }
#productLensModal .modal-header { display: flex; align-items: center; justify-content: space-between; flex-shrink: 0; padding: 16px 22px; border-bottom: 1px solid #eee; }
#productLensModal .modal-title { margin: 0; font-size: 20px; font-weight: 700; line-height: 1.7; }
#productLensModal .product-lens-close { display: flex; align-items: center; justify-content: center; width: 46px; height: 46px; flex-shrink: 0; padding: 0; border: 1px solid #e8e8e8; border-radius: 50%; background: #f5f5f5; color: #222; font-size: 38px; font-weight: 700; line-height: 1; cursor: pointer;outline:none; }
#productLensModal .product-lens-close:focus-visible { outline: 2px solid #c00; outline-offset: 3px; }
#productLensModal .modal-body { padding: 22px 10px; overflow-y: auto; overscroll-behavior: contain; -webkit-overflow-scrolling: touch; min-height: 0; }
#productLensModal .ba-slider { border-radius: 12px; }
#productLensModal .handle { touch-action: none; }
@media (max-width: 767px) {
    #productLensModal .modal-dialog { width: calc(100% - 20px) !important; margin: 12px auto !important; min-height: calc(100% - 24px); }
    #productLensModal .modal-content { max-height: calc(100vh - 24px); max-height: calc(100dvh - 24px); border-radius: 14px; }
    #productLensModal .modal-header { padding: 12px 16px; }
    #productLensModal .modal-title { font-size: 17px; }
    #productLensModal .modal-body { padding: 16px 0; }
}
@media (prefers-reduced-motion: reduce) { #productLensModal, #productLensModal .modal-dialog { transition: none !important; } }

#productLensModal .product-lens-close > span { display: block; font-size: 38px !important; font-weight: 700; line-height: 1 !important; color: inherit; }
#productLensModal .product-lens-close:hover { background: #ffecec; border-color: #e5b5b5; color: #c00; }
