#simple-lightbox {
    position: fixed; top: 0; left: 0; width: 100%; height: 100%;
    background: rgba(0,0,0,0.9); z-index: 99999; display: none;
    align-items: center; justify-content: center; opacity: 0;
    transition: opacity 0.3s ease; flex-direction: column;
}
#simple-lightbox.active { display: flex; opacity: 1; }

.sl-wrapper {
    position: relative;
    display: flex; justify-content: center; align-items: center;
}

#simple-lightbox img {
	width: calc(100% - 40px); max-height: 82vh;
    object-fit: contain; box-shadow: 0 0 20px rgba(0,0,0,0.5); 
	user-select: none; opacity: 0; transition: opacity 0.3s ease;
}
#simple-lightbox img.loaded { opacity: 1; }

.sl-spinner {
    position: absolute;
    width: 40px; height: 40px;
    border: 4px solid rgba(255,255,255,0.3);
    border-top: 4px solid #fff;
    border-radius: 50%;
    animation: spin 1s linear infinite;
    z-index: -1;
}
@keyframes spin { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } }

.sl-btn {
    position: absolute; top: 50%; transform: translateY(-50%);
    background: none; border: none; color: white; font-size: 3rem;
    cursor: pointer; transition: opacity 0.2s;
    user-select: none; -webkit-tap-highlight-color: transparent;
    z-index: 20; text-shadow: 0 0 5px rgba(0,0,0,0.8); padding: 0;
}
.sl-btn:hover { opacity: 0.7; }
.sl-prev { left: 20px; }
.sl-next { right: 20px; }

.sl-close {
    position: absolute; top: 0; right: 20px; font-size: 4rem;
    cursor: pointer; color: #fff; z-index: 21; line-height: 1.2;
    text-shadow: 0 0 5px rgba(0,0,0,0.8);
}

.sl-bottom-info {
    position: absolute; bottom: 20px; left: 0; width: 100%;
    text-align: center; color: #fff; pointer-events: none;
    display: flex; flex-direction: column; gap: 10px;
	padding: 0 20px; box-sizing: border-box;
}