.lpm-overlay[hidden] { display: none !important; }
.lpm-overlay { position: fixed; inset: 0; z-index: 2147483000; display: flex; align-items: center; justify-content: center; padding: 28px; background: rgba(0, 0, 0, .76); box-sizing: border-box; }
.lpm-dialog { position: relative; width: max-content; max-width: min(760px, 94vw); max-height: 88vh; }
.lpm-picture-link { display: block; line-height: 0; border-radius: 8px; overflow: hidden; box-shadow: 0 12px 50px rgba(0, 0, 0, .35); }
.lpm-picture-link picture { display: block; }
.lpm-picture-link img { display: block; max-width: 100%; max-height: 88vh; width: auto; height: auto; object-fit: contain; }
.lpm-close { position: absolute; z-index: 1; top: -17px; right: -17px; width: 36px; height: 36px; padding: 0; border: 0; border-radius: 50%; background: #fff; color: #222; font: 28px/36px Arial, sans-serif; text-align: center; cursor: pointer; box-shadow: 0 3px 12px rgba(0, 0, 0, .32); }
.lpm-close:hover, .lpm-close:focus-visible { background: #eee; color: #111; }
body.lpm-open { overflow: hidden; }
@media (max-width: 767px) {
	.lpm-overlay { padding: 20px; }
	.lpm-dialog { max-width: 92vw; }
	.lpm-picture-link img { max-height: 85vh; }
	.lpm-close { top: -14px; right: -14px; }
}
